mirror of
https://github.com/Rushilwiz/spaceout.git
synced 2025-04-22 12:29:50 -04:00
40 lines
1.2 KiB
JavaScript
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;
|