added BannerPlugin
This commit is contained in:
parent
72f29bf81c
commit
96275187cc
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
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();
|
||||
});
|
||||
});
|
||||
};
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "webpack",
|
||||
"version": "0.10.0-beta9",
|
||||
"version": "0.10.0-beta10",
|
||||
"author": "Tobias Koppers @sokra",
|
||||
"description": "Packs CommonJs/AMD/Labeled Modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jade, coffee, css, less, ... and your custom stuff.",
|
||||
"dependencies": {
|
||||
|
|
Loading…
Reference in New Issue