spaceout/site/frontend/node_modules/@webpack-cli/serve/lib/createConfig.js

40 lines
1.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const webpack_cli_1 = require("webpack-cli");
const { logger } = webpack_cli_1.utils;
/**
*
* Creates a devServer config from CLI args
*
* @param {Object} args - devServer args
*
* @returns {Object} valid devServer options object
*/
function createConfig(args) {
const options = Object.assign({}, args);
let isDevServer4 = false, devServerVersion;
try {
// eslint-disable-next-line node/no-extraneous-require
devServerVersion = require('webpack-dev-server/package.json').version;
}
catch (err) {
logger.error(`You need to install 'webpack-dev-server' for running 'webpack serve'.\n${err}`);
process.exit(2);
}
isDevServer4 = devServerVersion.startsWith('4');
if (options.clientLogging) {
options.client = {
logging: options.clientLogging,
};
// clientLogging is not a valid devServer option
delete options.clientLogging;
}
if (isDevServer4 && options.hotOnly) {
options.hot = 'only';
// hotOnly is not a valid devServer option
delete options.hotOnly;
}
return options;
}
exports.default = createConfig;