GitHub - Liber-UFPE/esbuild-plugin-compress: esbuild plugin to compress output using gzip, brotli, and deflate. (original) (raw)

esbuild-plugin-compress

Build CodeQL NPM Version

An esbuild plugin to compress output using gzip, brotli, and deflate. Based on Node's zlib API.

Install

npm install @liber-ufpe/esbuild-plugin-compress --save-dev

Usage

import esbuild from "esbuild"; import compressPlugin from "@liber-ufpe/esbuild-plugin-compress";

const compress = compressPlugin();

esbuild.build({ entryPoints: ["src/index.js"], bundle: true, metafile: true, outfile: "dist/index.js", plugins: [compress], }).catch(() => process.exit(1));

Or when customizing the compression options:

import esbuild from "esbuild"; import compressPlugin from "@liber-ufpe/esbuild-plugin-compress";

const compress = compressPlugin({ gzip: true, brotli: false, gzipOptions: { level: constants.Z_BEST_SPEED }, deflateOptions: { level: constants.Z_DEFAULT_COMPRESSION }, excludes: ["**/*.{webp,avif,jpg,png}"] });

esbuild.build({ entryPoints: ["src/index.js"], bundle: true, metafile: true, outfile: "dist/index.js", plugins: [compress], }).catch(() => process.exit(1));

Options