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
$ npm install license-banner-webpack-plugin --save-dev
Usage
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.
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. |
If you want to remove all other comments, use uglifyjs-webpack-plugin
instead of plugins in webpack.
$ npm install uglifyjs-webpack-plugin --save-dev
const 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
}
License
MIT
Author
RyotaSugawara