scan-image-geom
v1.0.0
Published
Scans directories or files for both raster and SVG images — merging geometric metadata such as width, height, aspect ratio, orientation, format, and filesize.
Maintainers
Readme
scan-image-geom
Canonical URL:
https://alexstevovich.com/a/scan-image-geom-nodejs
Software URL:
https://midnightcitylights.com/software/scan-image-geom-nodejs
A high-level image geometry scanner that combines bothscan-raster-geom and scan-svg-geom.
Scans directories or single files for raster and SVG assets, returning a unified array of geometric metadata —
including width, height, aspect ratio, orientation, format, and filesize.
Installation
npm install scan-image-geomExample
import scanImageGeom from 'scan-image-geom';
// Scan all images in a directory (raster + SVG)
const results = await scanImageGeom('./assets/images', {
recursive: true,
log: true,
});
console.log(results);
/*
[
{
"path": "hero.jpg",
"width": 1920,
"height": 1080,
"aspectRatio": "1920/1080",
"orientation": "landscape",
"format": "jpg",
"filesize": 204857
},
{
"path": "logo.svg",
"width": 512,
"height": 512,
"aspectRatio": "512/512",
"orientation": "square",
"format": "svg",
"filesize": 1342
}
]
*/Output Structure
[
{
"path": "icons/sample.svg",
"width": 128,
"height": 256,
"aspectRatio": "128/256",
"orientation": "portrait",
"format": "svg",
"filesize": 1042
},
{
"path": "images/photo.jpg",
"width": 1920,
"height": 1080,
"aspectRatio": "1920/1080",
"orientation": "landscape",
"format": "jpg",
"filesize": 204857
}
]Methods
scanImageGeom(targetPath, options?)
Scans a directory or single file for both raster and SVG images, returning unified geometric metadata.
Parameters
| Name | Type | Default | Description |
| ----------------------- | --------- | ------- | ----------------------------------------------------------------- |
| targetPath | string | — | Path to a file or directory to scan. |
| options.recursive | boolean | false | Whether to recursively scan subdirectories. |
| options.log | boolean | false | Enables console output for each processed image. |
| options.includeRaster | boolean | true | Whether to include raster images (.jpg, .png, .webp, etc.). |
| options.includeSvg | boolean | true | Whether to include SVG images. |
Returns
An array of geometry metadata objects sorted by relative path.
Notes
- Internally merges results from both scan-raster-geom and scan-svg-geom.
- Handles single-file or multi-file input seamlessly.
- Supports recursive scanning and custom logging.
- Ideal for asset metadata pipelines, static-site generators, or build tools.
License
Licensed under the MIT License.
