/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ var ConcatSource = require("webpack-core/lib/ConcatSource"); function wrapComment(str) { if(str.indexOf("\n") < 0) return "/*! " + str + " */"; return "/*!\n * " + str.split("\n").join("\n * ") + "\n */"; } function BannerPlugin(banner, options) { if(!options) options = {}; this.banner = options.raw ? banner : wrapComment(banner); this.entryOnly = options.entryOnly; } module.exports = BannerPlugin; BannerPlugin.prototype.apply = function(compiler) { var banner = this.banner; var entryOnly = this.entryOnly; compiler.plugin("compilation", function(compilation) { compilation.plugin("optimize-chunk-assets", function(chunks, callback) { chunks.forEach(function(chunk) { if(entryOnly && !chunk.entry) return; chunk.files.forEach(function(file) { compilation.assets[file] = new ConcatSource(banner, "\n", compilation.assets[file]); }); }); callback(); }); }); };