Rollup plugin for optimizing images powered by @napi-rs/image, without involving node-gyp.
see example
npm install rollup-plugin-napi-image --save-dev
# or you use pnpm
pnpm add rollup-plugin-napi-image -D
2. add plugin to your config file
- if you are using
rollup, import this plugin and add to plugins field like following:
import { defineConfig } from 'rollup'
import { napiImage } from 'rollup-plugin-napi-image'
// ... other lines
export default defineConfig({
plugins: [
/* other plugins */
napiImage({
mode: 'lossy',
quality: 75,
}),
],
})
- if you are using
vite , just replace the first line of above with import { defineConfig } from 'vite'
| name |
type |
default |
description |
include |
RegExp | string | Array<string | RegExp> |
null |
A picomatch pattern, or array of patterns, which specifies the files in the build the plugin should operate on. By default all supported images are targeted. |
exclude |
RegExp | string | Array<string | RegExp> |
null |
A picomatch pattern, or array of patterns, which specifies the files in the build the plugin should ignore. By default no images are ignored. |
mode |
'lossy' | 'lossless' |
|
The optimization mode applied to images, when mode is lossy , you can specify quality for the process. |
quality |
number |
75 |
Only works when mode is lossy. |
toModernExt |
(ext: SupportedExt) => ModernExt |
ext => ext |
A conversion function that converts the specified image format to a modern image format. |
jpg/jpeg
png
webp
avif
MIT © nemurubaka