Naughty Platypus Memorabilia
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    compression-webpack-pluginpublic

    npm node deps test coverage chat

    Compression Plugin

    Prepare compressed versions of assets to serve them with Content-Encoding

    Install

    npm i -D compression-webpack-plugin

    Usage

    webpack.config.js

    const CompressionPlugin = require("compression-webpack-plugin")
     
    module.exports = {
      plugins: [
        new CompressionPlugin(...options)
      ]
    }

    Options

    Name Type Default Description
    test {RegExp\|Array<RegExp>} . All assets matching this {RegExp\|Array<RegExp>} are processed
    include {RegExp\|Array<RegExp>} undefined Files to include
    exclude {RegExp\|Array<RegExp>} undefined Files to exclude
    cache {Boolean\|String} false Enable file caching
    asset {String} [path].gz[query] The target asset name. [file] is replaced with the original asset. [path] is replaced with the path of the original asset and [query] with the query
    filename {Function} false A {Function} (asset) => asset which receives the asset name (after processing asset option) and returns the new asset name
    algorithm {String\|Function} gzip Can be (buffer, cb) => cb(buffer) or if a {String} is used the algorithm is taken from zlib
    threshold {Number} 0 Only assets bigger than this size are processed. In bytes.
    minRatio {Number} 0.8 Only assets that compress better than this ratio are processed
    deleteOriginalAssets {Boolean} false Whether to delete the original assets or not

    test

    webpack.config.js

    [
      new CompressionPlugin({
        test: /\.js/
      })
    ]

    include

    webpack.config.js

    [
      new CompressionPlugin({
        include: /\/includes/
      })
    ]

    exclude

    webpack.config.js

    [
      new CompressionPlugin({
        exclude: /\/excludes/
      })
    ]

    cache

    webpack.config.js

    [
      new CompressionPlugin({
        cache: true
      })
    ]

    asset

    webpack.config.js

    [
      new CompressionPlugin({
        asset: '[path].gz[query]'
      })
    ]

    filename

    webpack.config.js

    [
      new CompressionPlugin({
        filename (asset) {
          asset = 'rename'
          return asset
        }
      })
    ]

    algorithm

    webpack.config.js

    [
      new CompressionPlugin({
        algorithm: 'gzip'
      })
    ]

    threshold

    webpack.config.js

    [
      new CompressionPlugin({
        threshold: 0
      })
    ]

    minRatio

    webpack.config.js

    [
      new CompressionPlugin({
        minRatio: 0.8
      })
    ]

    deleteOriginalAssets

    webpack.config.js

    [
      new CompressionPlugin({
        deleteOriginalAssets: true
      })
    ]

    Maintainers


    Joshua Wiens

    Juho Vepsäläinen

    Michael Ciniawsky

    Alexander Krasnoyarov

    Keywords

    none

    install

    npm i compression-webpack-plugin

    Downloadsweekly downloads

    308,582

    version

    1.1.11

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar