summaryrefslogtreecommitdiffstats
path: root/node_modules/webpack-cli/bin/utils/prepareOptions.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack-cli/bin/utils/prepareOptions.js')
-rw-r--r--node_modules/webpack-cli/bin/utils/prepareOptions.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/node_modules/webpack-cli/bin/utils/prepareOptions.js b/node_modules/webpack-cli/bin/utils/prepareOptions.js
new file mode 100644
index 0000000..97d3085
--- /dev/null
+++ b/node_modules/webpack-cli/bin/utils/prepareOptions.js
@@ -0,0 +1,24 @@
+"use strict";
+
+module.exports = function prepareOptions(options, argv) {
+ argv = argv || {};
+ options = handleExport(options);
+
+ return Array.isArray(options)
+ ? options.map(_options => handleFunction(_options, argv))
+ : handleFunction(options, argv);
+};
+
+function handleExport(options) {
+ const isES6DefaultExported =
+ typeof options === "object" && options !== null && typeof options.default !== "undefined";
+
+ return isES6DefaultExported ? options.default : options;
+}
+
+function handleFunction(options, argv) {
+ if (typeof options === "function") {
+ options = options(argv.env, argv);
+ }
+ return options;
+}