rollup-plugin-napi-image
Rollup plugin for optimizing images powered by @napi-rs/image, without involving node-gyp
.
see example
Usage
1. install
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 toplugins
field like following:
import { defineConfig } from 'rollup'
import { napiImage } from 'rollup-plugin-napi-image'
// ... other lines
export default defineConfig({
plugins: [
/* other plugins */
napiImage({
type: 'lossy',
quality: 75,
}),
],
})
- if you are using
vite
, just replace the first line of above withimport { defineConfig } from 'vite'
3. options
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. |
type |
'lossy' | 'lossless' |
The optimization type applied to images, when type is lossy , you can specify quality for the process. |
|
quality |
number |
75 | Only works when type is lossy . |
toModernExt |
(ext: SupportedExt) => ModernExt |
ext => ext |
A conversion function that converts the specified image format to a modern image format. |
4. supported formats
jpg/jpeg
png
webp
avif
License
MIT © nemurubaka