license-info-webpack-plugin

Making a list of package's LICENSE information for webpack

Stats

StarsIssuesVersionUpdatedCreatedSize
license-info-webpack-plugin
20173.0.0a year ago4 years agoMinified + gzip package size for license-info-webpack-plugin in KB

Readme

license-info-webpack-plugin

npm version

license-info-webpack-plugin is a webpack plugin for making a list of package's LICENSE information, inspired by licensify.

$ npm install --save-dev license-info-webpack-plugin
$ yarn add --dev license-info-webpack-plugin

Usage

webpack v4

If you use webpack < 4.2 that has dependency on uglifyjs-webpack-plugin < 1.2.4, you need to set optimization to set uglifyOptions.

const path = require('path');
const LicenseInfoWebpackPlugin = require('license-info-webpack-plugin').default;
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");

module.exports = {
  mode: 'production',
  entry: './src/js/index.js',
  output: {
    path: path.join(__dirname, 'dist/js'),
    filename: '[name].js'
  },
  plugins: [
    new LicenseInfoWebpackPlugin({
      glob: '{LICENSE,license,License}*'
    })
  ]
};

webpack v3

const path = require('path');
const LicenseInfoWebpackPlugin = require('license-info-webpack-plugin').default;
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");

module.exports = {
  entry: './src/js/index.js',
  output: {
    path: path.join(__dirname, 'dist/js'),
    filename: '[name].js'
  },
  plugins: [
    new LicenseInfoWebpackPlugin({
      glob: '{LICENSE,license,License}*'
    }),
    new UglifyJsPlugin({
      uglifyOptions: {
        output: {
          comments: /^\**!|@preserve|@license|@cc_on/
        }
      }
    })
  ]
};

Note

If you use uglifyjs-webpack-plugin@^1.2.4 or webpack has dependency on uglifyjs-webpack-plugin@^1.2.4, you don't need to set uglifyOptions for preserve license comments.
Related: https://github.com/webpack-contrib/uglifyjs-webpack-plugin/pull/250

If you use uglifyjs-webpack-plugin@~1.1, you need to set uglifyOptions for preserve license comments.
Related: https://github.com/webpack-contrib/uglifyjs-webpack-plugin/pull/174

license-info-webpack-plugin needs webpack v3.0 or above

Options

  • glob
    • Glob pattern for LICENSE file
    • Default: '{LICENSE,license,License}*'
  • outputType
    • Output type: 'banner' or 'html'
      • 'banner': Append comment to top of bundled code
      • 'html': Generate html (e.g. license.[name].html)
    • Default: 'banner'
  • includeLicenseFile
    • Include and put LICENSE file
    • Default: true

LICENSE

MIT

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.