@omnia/tooling-vue
Version:
Used to bundle and serve manifests web component that build on Vue framework.
43 lines (42 loc) • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createWebpackConfig = void 0;
const tslib_1 = require("tslib");
const envUtils = tslib_1.__importStar(require("./env"));
const bundler = tslib_1.__importStar(require("../../../tasks/bundle"));
const $ = tslib_1.__importStar(require("../../../variables"));
function createWebpackConfig(entries, option) {
let configs = [];
let bundleOptions = bundler.getBuildOption().bundleOptions;
let outputDir = envUtils.getBundleOutputDirPath().replace(envUtils.getRootDirPath(), '');
if (bundleOptions && bundleOptions.commonsChunk) {
let config = bundler.createVueWebpackConfig(null, entries, outputDir, false, option);
config.stats = {
entrypoints: false,
chunks: false,
modules: true,
children: true
};
config.watchOptions = {
aggregateTimeout: 200
};
configs.push(config);
}
else {
configs = Object.keys(entries).map(key => {
var entry = {};
entry[key] = entries[key];
let config = bundler.createVueWebpackConfig(entry, entries, outputDir, false, option);
config.stats = 'errors-only';
config.watchOptions = {
aggregateTimeout: 200
};
return config;
});
}
configs.forEach(config => {
config.output.path = $.tooling.utils.root(outputDir);
});
return configs;
}
exports.createWebpackConfig = createWebpackConfig;