/rollup-plugin-esbuild-minify

Rollup plugin to minify or clean up generated bundles using esbuild.

Primary LanguageJavaScriptMIT LicenseMIT

rollup-plugin-esbuild-minify

Latest version Dependency status Coverage

Rollup plugin to minify or clean up generated bundles using esbuild.

Simpler than rollup-plugin-esbuild and rollup-plugin-esbuild-transform, focusing only on minification of the bundled JavaScript output. Faster than @rollup/plugin-terser. See also benchmark results of various minifiers.

Synopsis

import { minify } from 'rollup-plugin-esbuild-minify'

export default {
  plugins: [minify()]
  // the rest of the configuration
}

Installation

Make sure that you use Node.js 14 or newer and Rollup 2 or newer. Use your favourite package manager - NPM, PNPM or Yarn:

npm i -D rollup-plugin-esbuild-minify
pnpm i -D rollup-plugin-esbuild-minify
yarn add -D rollup-plugin-esbuild-minify

Usage

Create a rollup.config.js configuration file and import the plugin:

import { minify } from 'rollup-plugin-esbuild-minify'

export default {
  input: 'src/index.js',
  output: { file: 'dist/main.js', format: 'iife', sourcemap: true },
  plugins: [
    minify({ logLevel: 'debug', logLimit: 100 })
  ]
}

Then call rollup either via the command-line or programmatically.

Options

The following options can be passed in an object to the plugin function to change the default values.

logLevel

Type: 'silent' | 'error' | 'warning' | 'info' | 'debug' | 'verbose'
Default: 'warning'

Controls the number and detail of progress messages logged on the console.

See also the original documentation.

logLimit

Type: Integer
Default: 10

Maximum number of logged messages. If zero (0) is provided, all messages will be logged.

See also the original documentation.

legalComments

Type: 'none' | 'inline' | 'eof' | 'linked' | 'external'
Default: 'none'

Allows including or extracting legal comments. A "legal comment" is considered to be any statement-level comment that contains @license or @preserve or that starts with //! or /*!.

See also the original documentation.

minify

Type: Boolean
Default: true

Allows disabling the minification. The code will be pretty-printed instead. It can be used to clean up the code.

See also the original documentation.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Lint and test your code.

License

Copyright (C) 2022-2024 Ferdinand Prantl

Licensed under the MIT License.