From 9f5a86bc7d0afe8d5395e2e87b4b006ac1c8fae4 Mon Sep 17 00:00:00 2001 From: Alexander Reece Date: Tue, 9 Oct 2018 15:29:14 -0400 Subject: [PATCH] Create an options object for each plugin instance --- lib/index.js | 11 +++++++---- src/webpack-shell-plugin.js | 13 ++++++++----- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/lib/index.js b/lib/index.js index d6c468e..e93f3f2 100644 --- a/lib/index.js +++ b/lib/index.js @@ -220,13 +220,16 @@ var WebpackShellPlugin = function () { } }, { key: 'mergeOptions', - value: function mergeOptions(options, defaults) { + value: function mergeOptions(provided, defaults) { + var options = {}; for (var key in defaults) { - if (options.hasOwnProperty(key)) { - defaults[key] = options[key]; + if (provided.hasOwnProperty(key)) { + options[key] = provided[key]; + } else { + options[key] = defaults[key]; } } - return defaults; + return options; } }, { key: 'apply', diff --git a/src/webpack-shell-plugin.js b/src/webpack-shell-plugin.js index b287508..765cf97 100644 --- a/src/webpack-shell-plugin.js +++ b/src/webpack-shell-plugin.js @@ -59,13 +59,16 @@ export default class WebpackShellPlugin { return options; } - mergeOptions(options, defaults) { - for (const key in defaults) { - if (options.hasOwnProperty(key)) { - defaults[key] = options[key]; + mergeOptions(provided, defaults) { + const options = {}; + for (var key in defaults) { + if (provided.hasOwnProperty(key)) { + options[key] = provided[key]; + } else { + options[key] = defaults[key]; } } - return defaults; + return options; } apply(compiler) {