|
|
|
@ -283,6 +283,11 @@ module.exports = function(yargs, argv, convertOptions) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function addPlugin(options, plugin) {
|
|
|
|
|
|
|
|
ensureArray(options, "plugins");
|
|
|
|
|
|
|
|
options.plugins.unshift(plugin);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ifArgPair("entry", function(name, entry) {
|
|
|
|
ifArgPair("entry", function(name, entry) {
|
|
|
|
if(typeof options.entry[name] !== "undefined" && options.entry[name] !== null) {
|
|
|
|
if(typeof options.entry[name] !== "undefined" && options.entry[name] !== null) {
|
|
|
|
options.entry[name] = [].concat(options.entry[name]).concat(entry);
|
|
|
|
options.entry[name] = [].concat(options.entry[name]).concat(entry);
|
|
|
|
@ -328,9 +333,8 @@ module.exports = function(yargs, argv, convertOptions) {
|
|
|
|
}, function() {
|
|
|
|
}, function() {
|
|
|
|
defineObject = {};
|
|
|
|
defineObject = {};
|
|
|
|
}, function() {
|
|
|
|
}, function() {
|
|
|
|
ensureArray(options, "plugins");
|
|
|
|
|
|
|
|
var DefinePlugin = require("../lib/DefinePlugin");
|
|
|
|
var DefinePlugin = require("../lib/DefinePlugin");
|
|
|
|
options.plugins.push(new DefinePlugin(defineObject));
|
|
|
|
addPlugin(options, new DefinePlugin(defineObject));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
ifArg("output-path", function(value) {
|
|
|
|
ifArg("output-path", function(value) {
|
|
|
|
@ -398,15 +402,13 @@ module.exports = function(yargs, argv, convertOptions) {
|
|
|
|
mapArgToBoolean("cache");
|
|
|
|
mapArgToBoolean("cache");
|
|
|
|
|
|
|
|
|
|
|
|
ifBooleanArg("hot", function() {
|
|
|
|
ifBooleanArg("hot", function() {
|
|
|
|
ensureArray(options, "plugins");
|
|
|
|
|
|
|
|
var HotModuleReplacementPlugin = require("../lib/HotModuleReplacementPlugin");
|
|
|
|
var HotModuleReplacementPlugin = require("../lib/HotModuleReplacementPlugin");
|
|
|
|
options.plugins.push(new HotModuleReplacementPlugin());
|
|
|
|
addPlugin(options, new HotModuleReplacementPlugin());
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
ifBooleanArg("debug", function() {
|
|
|
|
ifBooleanArg("debug", function() {
|
|
|
|
ensureArray(options, "plugins");
|
|
|
|
|
|
|
|
var LoaderOptionsPlugin = require("../lib/LoaderOptionsPlugin");
|
|
|
|
var LoaderOptionsPlugin = require("../lib/LoaderOptionsPlugin");
|
|
|
|
options.plugins.push(new LoaderOptionsPlugin({
|
|
|
|
addPlugin(options, new LoaderOptionsPlugin({
|
|
|
|
debug: true
|
|
|
|
debug: true
|
|
|
|
}));
|
|
|
|
}));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
@ -438,41 +440,36 @@ module.exports = function(yargs, argv, convertOptions) {
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
ifArg("optimize-max-chunks", function(value) {
|
|
|
|
ifArg("optimize-max-chunks", function(value) {
|
|
|
|
ensureArray(options, "plugins");
|
|
|
|
|
|
|
|
var LimitChunkCountPlugin = require("../lib/optimize/LimitChunkCountPlugin");
|
|
|
|
var LimitChunkCountPlugin = require("../lib/optimize/LimitChunkCountPlugin");
|
|
|
|
options.plugins.push(new LimitChunkCountPlugin({
|
|
|
|
addPlugin(options, new LimitChunkCountPlugin({
|
|
|
|
maxChunks: parseInt(value, 10)
|
|
|
|
maxChunks: parseInt(value, 10)
|
|
|
|
}));
|
|
|
|
}));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
ifArg("optimize-min-chunk-size", function(value) {
|
|
|
|
ifArg("optimize-min-chunk-size", function(value) {
|
|
|
|
ensureArray(options, "plugins");
|
|
|
|
|
|
|
|
var MinChunkSizePlugin = require("../lib/optimize/MinChunkSizePlugin");
|
|
|
|
var MinChunkSizePlugin = require("../lib/optimize/MinChunkSizePlugin");
|
|
|
|
options.plugins.push(new MinChunkSizePlugin({
|
|
|
|
addPlugin(options, new MinChunkSizePlugin({
|
|
|
|
minChunkSize: parseInt(value, 10)
|
|
|
|
minChunkSize: parseInt(value, 10)
|
|
|
|
}));
|
|
|
|
}));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
ifBooleanArg("optimize-minimize", function() {
|
|
|
|
ifBooleanArg("optimize-minimize", function() {
|
|
|
|
ensureArray(options, "plugins");
|
|
|
|
|
|
|
|
var UglifyJsPlugin = require("../lib/optimize/UglifyJsPlugin");
|
|
|
|
var UglifyJsPlugin = require("../lib/optimize/UglifyJsPlugin");
|
|
|
|
var LoaderOptionsPlugin = require("../lib/LoaderOptionsPlugin");
|
|
|
|
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)
|
|
|
|
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
|
|
|
|
minimize: true
|
|
|
|
}));
|
|
|
|
}));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
ifArg("prefetch", function(request) {
|
|
|
|
ifArg("prefetch", function(request) {
|
|
|
|
ensureArray(options, "plugins");
|
|
|
|
|
|
|
|
var PrefetchPlugin = require("../lib/PrefetchPlugin");
|
|
|
|
var PrefetchPlugin = require("../lib/PrefetchPlugin");
|
|
|
|
options.plugins.push(new PrefetchPlugin(request));
|
|
|
|
addPlugin(options, new PrefetchPlugin(request));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
ifArg("provide", function(value) {
|
|
|
|
ifArg("provide", function(value) {
|
|
|
|
ensureArray(options, "plugins");
|
|
|
|
|
|
|
|
var idx = value.indexOf("=");
|
|
|
|
var idx = value.indexOf("=");
|
|
|
|
var name;
|
|
|
|
var name;
|
|
|
|
if(idx >= 0) {
|
|
|
|
if(idx >= 0) {
|
|
|
|
@ -482,12 +479,11 @@ module.exports = function(yargs, argv, convertOptions) {
|
|
|
|
name = value;
|
|
|
|
name = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var ProvidePlugin = require("../lib/ProvidePlugin");
|
|
|
|
var ProvidePlugin = require("../lib/ProvidePlugin");
|
|
|
|
options.plugins.push(new ProvidePlugin(name, value));
|
|
|
|
addPlugin(options, new ProvidePlugin(name, value));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
ifArg("plugin", function(value) {
|
|
|
|
ifArg("plugin", function(value) {
|
|
|
|
ensureArray(options, "plugins");
|
|
|
|
addPlugin(options, loadPlugin(value));
|
|
|
|
options.plugins.push(loadPlugin(value));
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
mapArgToBoolean("bail");
|
|
|
|
mapArgToBoolean("bail");
|
|
|
|
|