WebIMGo - CLI for Batch Processing Images
Webimgo is a CLI tool for batch processing JPGs as well as PNGs for web designers/developers. It produces compressed images at its best possible. It also support batch width resizing that gives a real comfort and easiness to compress and resize images in bulk. I built this as a part of the requirement for a development agency wanting a quick and easy solution to optimise images in builk when client provides theme to update on the website. Using this package one can easily optimize & resize images for web with a single command.
Prerequisites
You should have Nodejs v7.6 or greater running on your system. Install if you already haven't.
Use a Node Version Manager to install Nodejs and NPM on your system. - (Recommended)
OR
You can use Nodejs installer
Installing
Installing this CLI tool simple and straightforward using NPM. Install it as global.
npm i webimgo -g
Enter system password if prompted
If any permission issues on global install, you may try the below code
sudo npm i webimgo -g --unsafe-perm flag
Usage
To optimise all images in a folder, simply point your terminal to that folder and type command webimgo
then press 'Enter' key.
This will compress all JPG/PNG images within that folder as well as its sub folders.
webimgo
To resize width along with optimising images in a folder and its subfolder, simply type below command passing <width>
parameter.
webimgo -w <width>
Replace <width>
width with the amount of maximum width in pixels allowed.
Examples
E.g. To resize images width to 1200 pixels for all images with width more than 1200 pixels and to compress all images, use:
webimgo -w 1200
This will resize images width to 1200 pixels for all images with width more than 1200 pixels and compress all images.
Updating
To update this NPM package, run below command.
npm update -g webimgo
Built Using
- Nodejs - Javascript runtime
- Sharp - Used to resize images
- imagemin - Used to compress images
- imagemin-mozjpeg - Used for compressing JPGs
- imagemin-pngquant - Used for compressing PNGs
- Yargs - Used as command line parser
- image-size - Used for reading image dimensions
- Chalk - stylising the terminal