UNPKG

just-scripts

Version:
42 lines 1.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.webpackCliTask = void 0; const just_task_1 = require("just-task"); const just_scripts_utils_1 = require("just-scripts-utils"); const getTsNodeEnv_1 = require("../typescript/getTsNodeEnv"); const findWebpackConfig_1 = require("../webpack/findWebpackConfig"); /** * webpackCliTask - task for running webpack as a cli command */ function webpackCliTask(options = {}) { const webpackCliCmd = just_task_1.resolve('webpack-cli/bin/cli.js'); if (!webpackCliCmd) { throw new Error('cannot find webpack-cli, please install it'); } return function webpackCli() { just_task_1.logger.info(`Running webpack-cli as a node process`); const args = [ ...(options && options.nodeArgs ? options.nodeArgs : []), webpackCliCmd, ...(options && options.webpackCliArgs ? options.webpackCliArgs : []), ]; let configPath = findWebpackConfig_1.findWebpackConfig('webpack.config.js'); if (configPath) { options.env = { ...options.env, ...(configPath.endsWith('.ts') && getTsNodeEnv_1.getTsNodeEnv(options.tsconfig, options.transpileOnly)), }; } if (options.webpackCliArgs) { const configIndex = options.webpackCliArgs.indexOf('--config'); const configPathAvailable = configIndex > -1 && options.webpackCliArgs.length > configIndex + 2; if (configPathAvailable) { configPath = options.webpackCliArgs[configIndex + 1]; } } just_task_1.logger.info(`webpack-cli arguments: ${process.execPath} ${args.join(' ')}`); return just_scripts_utils_1.spawn(process.execPath, args, { stdio: 'inherit', env: options.env }); }; } exports.webpackCliTask = webpackCliTask; //# sourceMappingURL=webpackCliTask.js.map