From 7a080e6f24086cfa39fbd436f0d48d3da15b1bb9 Mon Sep 17 00:00:00 2001 From: Kenny Tran Date: Wed, 27 May 2015 09:46:47 -0700 Subject: [PATCH] Add argument error handling in optimization plugins --- lib/optimize/AggressiveMergingPlugin.js | 3 +++ lib/optimize/LimitChunkCountPlugin.js | 3 +++ lib/optimize/MinChunkSizePlugin.js | 3 +++ lib/optimize/OccurrenceOrderPlugin.js | 3 +++ 4 files changed, 12 insertions(+) diff --git a/lib/optimize/AggressiveMergingPlugin.js b/lib/optimize/AggressiveMergingPlugin.js index ff49258c8..de2a7ffb1 100644 --- a/lib/optimize/AggressiveMergingPlugin.js +++ b/lib/optimize/AggressiveMergingPlugin.js @@ -3,6 +3,9 @@ Author Tobias Koppers @sokra */ function AggressiveMergingPlugin(options) { + if(options !== undefined && typeof options !== "object" || Array.isArray(options)) { + throw new Error("Argument should be an options object. To use defaults, pass in nothing.\nFor more info on options, see http://webpack.github.io/docs/list-of-plugins.html"); + } this.options = options || {}; } module.exports = AggressiveMergingPlugin; diff --git a/lib/optimize/LimitChunkCountPlugin.js b/lib/optimize/LimitChunkCountPlugin.js index 03aac82b2..e6265c04d 100644 --- a/lib/optimize/LimitChunkCountPlugin.js +++ b/lib/optimize/LimitChunkCountPlugin.js @@ -3,6 +3,9 @@ Author Tobias Koppers @sokra */ function LimitChunkCountPlugin(options) { + if(options !== undefined && typeof options !== "object" || Array.isArray(options)) { + throw new Error("Argument should be an options object.\nFor more info on options, see http://webpack.github.io/docs/list-of-plugins.html"); + } this.options = options || {}; } module.exports = LimitChunkCountPlugin; diff --git a/lib/optimize/MinChunkSizePlugin.js b/lib/optimize/MinChunkSizePlugin.js index 03764cb68..6df8ffa85 100644 --- a/lib/optimize/MinChunkSizePlugin.js +++ b/lib/optimize/MinChunkSizePlugin.js @@ -3,6 +3,9 @@ Author Tobias Koppers @sokra */ function MinChunkSizePlugin(options) { + if(options !== undefined && typeof options !== "object" || Array.isArray(options)) { + throw new Error("Argument should be an options object.\nFor more info on options, see http://webpack.github.io/docs/list-of-plugins.html"); + } this.options = options; } module.exports = MinChunkSizePlugin; diff --git a/lib/optimize/OccurrenceOrderPlugin.js b/lib/optimize/OccurrenceOrderPlugin.js index ee32104c1..c24c49f68 100644 --- a/lib/optimize/OccurrenceOrderPlugin.js +++ b/lib/optimize/OccurrenceOrderPlugin.js @@ -3,6 +3,9 @@ Author Tobias Koppers @sokra */ function OccurrenceOrderPlugin(preferEntry) { + if(preferEntry !== undefined && typeof preferEntry !== "boolean") { + throw new Error("Argument should be a boolean.\nFor more info on this plugin, see http://webpack.github.io/docs/list-of-plugins.html"); + } this.preferEntry = preferEntry; } module.exports = OccurrenceOrderPlugin;