Runnerty module: Image
npm install @runnerty/executor-imageSmart Processes Management
[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url]
Module for image processing, conversion and optimization.
It makes use of the [sharp] and [imagemin] (image optimization) modules.
It supports JPG, PNG, WEBP, SVG, HEIF, TIFF and RAW formats and allows the optimization of JPG (mozjpeg), PNG (pngquant), WEBP and SVG.
Through NPM
``bash`
npm i @runnerty/executor-image
You can also add modules to your project with [runnerty]
`bash`
npx runnerty add @runnerty/executor-image
This command installs the module in your project, adds example configuration in your [config.json] and creates an example plan of use.
If you have installed [runnerty] globally you can include the module with this command:
`bash`
runnerty add @runnerty/executor-image
Add in [config.json]:
`json`
{
"id": "image_default",
"type": "@runnerty-executor-image"
}
Add in [plan.json]:
`json`
{
"id": "image_default",
"input": ["/workspace/*.png"],
"destination": "/workspace/resized",
"resize": { "width": 1500 }
}
`json`
{
"id": "image_default",
"input": ["/workspace/*.{jpg,jpeg}"],
"destination": "/workspace/optimized",
"optimized": true,
"quality": 75
}
`json`
{
"id": "image_default",
"input": ["workspace/the_image.png"],
"destination": "/workspace/transformed",
"resize": { "height": 800 },
"rotate": 90,
"flip": true,
"flop": true,
"negate": false,
"greyscale": false,
"sharpen": true,
"toFormat": "jpg",
"optimized": true,
"quality": 80,
"flatten": { "background": "#2abb81" },
"tint": "#2abb81",
"failOnError": true
}
`json`
{
"id": "image_default",
"input": ["workspace/*.png"],
"destination": "/workspace/watermark",
"overrideDestinationFilename": "customname",
"destinationPrefixFilename": "pre_",
"destinationSuffixFilename": "_sub",
"toFormat": "webp",
"optimized": true,
"composite": [{ "input": "/workspace/runnerty.png", "gravity": "center", "blend": "soft-light" }]
}
Use parameters in [toFormat]:
`json`
{
"id": "image_default",
"input": ["workspace/*.png"],
"destination": "/workspace/watermark",
"toFormat": { "toFormat": "webp", "quality": 80, "alphaQuality": 90, "lossless": false }
}
- PROCESS_EXEC_MSG_OUTPUT: Log operations message.PROCESS_EXEC_ERR_OUTPUT
- : Error output message.
For more information see [sharp]'s documentation.
If you enable the failOnError` parameter, the process will stop when any error occurs transforming or optimizing an image.
This may be recommended if you are only going to work on a single image at a time.
By default its value is false.
[runnerty]: https://www.runnerty.io
[downloads-image]: https://img.shields.io/npm/dm/@runnerty/executor-image.svg
[npm-url]: https://www.npmjs.com/package/@runnerty/executor-image
[npm-image]: https://img.shields.io/npm/v/@runnerty/executor-image.svg
[sharp]: https://sharp.pixelplumbing.com
[imagemin]: https://github.com/imagemin/imagemin
[toformat]: https://sharp.pixelplumbing.com/api-output#toformat
[config.json]: http://docs.runnerty.io/config/
[plan.json]: http://docs.runnerty.io/plan/