2.2.0 • Published 7 years ago
license-banner-webpack-plugin v2.2.0
license-banner-webpack-plugin
Insert the license text of the module used for each bundled file at the beginning of each.
Install
$ yarn add license-banner-webpack-plugin --dev
# or
$ npm install license-banner-webpack-plugin --save-devUsage
Import the plugin module into webpack configuration.
const LicenseBannerPlugin = require('license-banner-webpack-plugin');Then use this plugin with some options.
new LicenseBannerPlugin({
licenseTemplate: function(pkg) {
return `${pkg.name}, ${pkg.version}, ${pkg.author}, ${pkg.license}, ${pkg.repository}`;
},
licenseDirectories: [
path.join('/path/to/node_modules')
]
});Then output file has license banner like this.
/*
webpack@2.2.1
license: MIT
author: Tobias Koppers @sokra
repository: https://github.com/webpack/webpack.git:
(...and any other modules you use in your code)
*/options
new LicenseBannerPlugin(options);| name | type | description |
|---|---|---|
licenseTemplate(pkg) | Function | license template pattern. argument pkg is each packages information object. you can use pkg.name pkg.version pkg.author pkg.license pkg.repository. |
licenseDirectories | Array | package modules directories. The default is node_modules directory. |
Removing all other comments
If you want to remove all other comments, use uglifyjs-webpack-plugin instead of plugins in webpack.
$ npm install uglifyjs-webpack-plugin --save-devconst UglifyJSPlugin = require('uglifyjs-webpack-plugin');and also you must be set behind UglifyJSPlugin.
// ...
plugins: [
new UglifyJSPlugin(),
new LicenseBannerPlugin()
]
// ...production mode (at webpack v4)
mode option has added from webpack v4.
If you use production mode and also want to use license-banner-webpack-plugin, you must set optimization.minimize option to false.
// ...
mode: 'production',
optimization: {
minimize: false
}
// ...