mirror of https://github.com/webpack/webpack.git
prepend plugins instead of append when defined through CLI
closes #4260
This commit is contained in:
parent
e72a88af7a
commit
2fdd833519
|
|
@ -283,6 +283,10 @@ module.exports = function(yargs, argv, convertOptions) {
|
|||
}
|
||||
}
|
||||
|
||||
function addPlugin(options, plugin) {
|
||||
options.plugins.unshift(plugin);
|
||||
}
|
||||
|
||||
ifArgPair("entry", function(name, entry) {
|
||||
if(typeof options.entry[name] !== "undefined" && options.entry[name] !== null) {
|
||||
options.entry[name] = [].concat(options.entry[name]).concat(entry);
|
||||
|
|
@ -330,7 +334,7 @@ module.exports = function(yargs, argv, convertOptions) {
|
|||
}, function() {
|
||||
ensureArray(options, "plugins");
|
||||
var DefinePlugin = require("../lib/DefinePlugin");
|
||||
options.plugins.push(new DefinePlugin(defineObject));
|
||||
addPlugin(options, new DefinePlugin(defineObject));
|
||||
});
|
||||
|
||||
ifArg("output-path", function(value) {
|
||||
|
|
@ -400,13 +404,13 @@ module.exports = function(yargs, argv, convertOptions) {
|
|||
ifBooleanArg("hot", function() {
|
||||
ensureArray(options, "plugins");
|
||||
var HotModuleReplacementPlugin = require("../lib/HotModuleReplacementPlugin");
|
||||
options.plugins.push(new HotModuleReplacementPlugin());
|
||||
addPlugin(options, new HotModuleReplacementPlugin());
|
||||
});
|
||||
|
||||
ifBooleanArg("debug", function() {
|
||||
ensureArray(options, "plugins");
|
||||
var LoaderOptionsPlugin = require("../lib/LoaderOptionsPlugin");
|
||||
options.plugins.push(new LoaderOptionsPlugin({
|
||||
addPlugin(options, new LoaderOptionsPlugin({
|
||||
debug: true
|
||||
}));
|
||||
});
|
||||
|
|
@ -440,7 +444,7 @@ module.exports = function(yargs, argv, convertOptions) {
|
|||
ifArg("optimize-max-chunks", function(value) {
|
||||
ensureArray(options, "plugins");
|
||||
var LimitChunkCountPlugin = require("../lib/optimize/LimitChunkCountPlugin");
|
||||
options.plugins.push(new LimitChunkCountPlugin({
|
||||
addPlugin(options, new LimitChunkCountPlugin({
|
||||
maxChunks: parseInt(value, 10)
|
||||
}));
|
||||
});
|
||||
|
|
@ -448,7 +452,7 @@ module.exports = function(yargs, argv, convertOptions) {
|
|||
ifArg("optimize-min-chunk-size", function(value) {
|
||||
ensureArray(options, "plugins");
|
||||
var MinChunkSizePlugin = require("../lib/optimize/MinChunkSizePlugin");
|
||||
options.plugins.push(new MinChunkSizePlugin({
|
||||
addPlugin(options, new MinChunkSizePlugin({
|
||||
minChunkSize: parseInt(value, 10)
|
||||
}));
|
||||
});
|
||||
|
|
@ -457,10 +461,10 @@ module.exports = function(yargs, argv, convertOptions) {
|
|||
ensureArray(options, "plugins");
|
||||
var UglifyJsPlugin = require("../lib/optimize/UglifyJsPlugin");
|
||||
var LoaderOptionsPlugin = require("../lib/LoaderOptionsPlugin");
|
||||
options.plugins.push(new UglifyJsPlugin({
|
||||
addPlugin(options, new UglifyJsPlugin({
|
||||
sourceMap: options.devtool && (options.devtool.indexOf("sourcemap") >= 0 || options.devtool.indexOf("source-map") >= 0)
|
||||
}));
|
||||
options.plugins.push(new LoaderOptionsPlugin({
|
||||
addPlugin(options, new LoaderOptionsPlugin({
|
||||
minimize: true
|
||||
}));
|
||||
});
|
||||
|
|
@ -468,7 +472,7 @@ module.exports = function(yargs, argv, convertOptions) {
|
|||
ifArg("prefetch", function(request) {
|
||||
ensureArray(options, "plugins");
|
||||
var PrefetchPlugin = require("../lib/PrefetchPlugin");
|
||||
options.plugins.push(new PrefetchPlugin(request));
|
||||
addPlugin(options, new PrefetchPlugin(request));
|
||||
});
|
||||
|
||||
ifArg("provide", function(value) {
|
||||
|
|
@ -482,12 +486,12 @@ module.exports = function(yargs, argv, convertOptions) {
|
|||
name = value;
|
||||
}
|
||||
var ProvidePlugin = require("../lib/ProvidePlugin");
|
||||
options.plugins.push(new ProvidePlugin(name, value));
|
||||
addPlugin(options, new ProvidePlugin(name, value));
|
||||
});
|
||||
|
||||
ifArg("plugin", function(value) {
|
||||
ensureArray(options, "plugins");
|
||||
options.plugins.push(loadPlugin(value));
|
||||
addPlugin(options, loadPlugin(value));
|
||||
});
|
||||
|
||||
mapArgToBoolean("bail");
|
||||
|
|
|
|||
Loading…
Reference in New Issue