rollup-plugin-banner2
Introduction
Rollup plugin to prepend content before bundled js code.
Why
rollup itself contains output.banner option.
The difference between this plugin and the output.banner parameter provided by the rollup is that the banner will not be cleaned up - for example by rollup-plugin-uglify plugin, the output file will not contain the output.banner parameter you set. rollup-plugin-banner2 solves this problem.
There is another banner plugin: https://github.com/yingye/rollup-plugin-banner . Unfortunately, it looks NOT MAINTAINED for quite some time now. The main differences are described below.
Usage
Install the plugin with NPM:
npm install --save-dev rollup-plugin-banner2
Add it to your rollup configuration:
import banner2 from 'rollup-plugin-banner2'
export default {
plugins: [
banner2(() => `
/**
* rollup-plugin-banner2
*/
`)
]
}
Comparison with rollup-plugin-banner
banner2supports sourcemapsbanner2supports adding different banner to different chunks based onChunkInfo(for more info see https://rollupjs.org/ )banner2does not support file path option that loads a file content and uses that as a banner. It should be easy enough to callfs.readFileSyncyourselfbanner2does not support injecting values frompackage.jsonto banner via<%= pkg.author %>etc.banner2does not add JS comments as a wrapper to every banner
The missing features could be added if someone actually needs them.
API
banner2(resolveBanner, options)
The resolveBanner function returns a banner as string,
or possibly a Promise resolving a string
For more details see the typescript definition