r3-v2/node_modules/webpack-cli/bin/utils/prepareOptions.js

25 lines
614 B
JavaScript
Raw Normal View History

2020-02-27 15:24:35 +01:00
"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;
}