https://github.com/runnerty/executor-image
Runnerty module: Image executor
https://github.com/runnerty/executor-image
Last synced: over 1 year ago
JSON representation
Runnerty module: Image executor
- Host: GitHub
- URL: https://github.com/runnerty/executor-image
- Owner: runnerty
- License: mit
- Created: 2020-07-13T20:12:16.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2022-04-14T17:21:48.000Z (about 4 years ago)
- Last Synced: 2025-01-24T20:15:53.950Z (over 1 year ago)
- Language: JavaScript
- Size: 753 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Smart Processes Management
[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url]
# Executor for [Runnerty]: Image
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`.
### Installation:
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
```
### Configuration:
Add in [config.json]:
```json
{
"id": "image_default",
"type": "@runnerty-executor-image"
}
```
### Plan sample:
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 }
}
```
### Output (Process values):
- `PROCESS_EXEC_MSG_OUTPUT`: Log operations message.
- `PROCESS_EXEC_ERR_OUTPUT`: Error output message.
### Other considerations
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/