rollup-plugin-imagetools
TypeScript icon, indicating that this package has built-in type declarations

3.0.18 • Public • Published

rollup-plugin-imagetools

npm (latest) standard-readme compliant codecov

A toolbox of import directives for rollup that import and transform your image at compile-time. All of the image transformations are powered by sharp.

Deprecated

This plugin has been deprecated in favor of vite-imagetools and will no longer be updated. vite-imagetools had 1000x as much usage as this library, so we will be focusing all of our efforts there. While Rollup is great for bundling libraries, Vite is a better choice for building web applications, and so we recommend that users of this library migrate to Vite.

Features

  • 🚀 Output modern formats
  • 🖼 Resize Images
  • 🔗 Easy Srcset generation
  • ⚡️ Fast in development mode
  • 🔒 Remove Image Metadata
  • 🧩 Extensible

Read the docs to learn more!

Table of Contents

Install

npm install --save-dev rollup-plugin-imagetools
yarn add -D rollup-plugin-imagetools

Usage

import { imagetools } from 'rollup-plugin-imagetools'

export default {
  plugins: [imagetools()]
}
import Image from 'example.jpg?w=400&h=300&webp'

Options

defaultDirectives

Optional defaultDirectives: URLSearchParams | (url: URL) => URLSearchParams

This option allows you to specify directives that should be applied by default to every image. You can also provide a function, in which case the function gets passed the asset ID and should return an object of directives. This can be used to define all sorts of shorthands or presets.

example

import { imagetools } from 'vite-imagetools'

export default {
  plugins: [
    imagetools({
      defaultDirectives: (url) => {
        if (url.searchParams.has('spotify')) {
          return new URLSearchParams({
            tint: 'ffaa22'
          })
        }
        return new URLSearchParams()
      }
    })
  ]
}

exclude

exclude: string | RegExp | (string | RegExp)[]

What paths to exclude when processing images.

default ''


include

include: string | RegExp | (string | RegExp)[]

Which paths to include when processing images.

default ['**\/*.{heic,heif,avif,jpeg,jpg,png,tiff,webp,gif}', '**\/*.{heic,heif,avif,jpeg,jpg,png,tiff,webp,gif}?*']


removeMetadata

removeMetadata: boolean

Wether to remove potentially private metadata from the image, such as exif tags etc.

default true


extendOutputFormats

Optional extendOutputFormats(builtins): Record<string, OutputFormat>

You can use this option to extend the builtin list of output formats. This list will be merged with the builtin output formats before determining the format to use.

default []

Parameters

Name Type
builtins Record<string, OutputFormat>

Returns

Record<string, OutputFormat>


extendTransforms

Optional extendTransforms(builtins): TransformFactory<Record<string, unknown>>[]

You can use this option to extend the builtin list of import transforms. This list will be merged with the builtin transforms before applying them to the input image.

default []

Parameters

Name Type
builtins TransformFactory<Record<string, unknown>>[]

Returns

TransformFactory<Record<string, unknown>>[]


resolveConfigs

Optional resolveConfigs: (entries: [string, string[]][], outputFormats: Record<string, OutputFormat>) => Record<string, string | string[]>[]

Type declaration

▸ (entries, outputFormats): Record<string, string | string[]>[]

This function builds up all possible combinations the given entries can be combined an returns it as an array of objects that can be given to a the transforms.

Parameters
Name Type Description
entries [string, string[]][] The url parameter entries
outputFormats Record<string, OutputFormat> -
Returns

Record<string, string | string[]>[]

An array of directive options

Contributing

Feel free to dive in! Open an issue or submit PRs! All information to get you started hacking on imagetools is in CONTRIBUTING.md!

License

MIT © Jonas Kruckenberg.

Package Sidebar

Install

npm i rollup-plugin-imagetools

Weekly Downloads

34

Version

3.0.18

License

MIT

Unpacked Size

37.9 kB

Total Files

9

Last publish

Collaborators

  • jkruckenberg