UNPKG

just-scripts

Version:
42 lines 1.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.webpackCliTask = void 0; const just_task_1 = require("just-task"); const utils_1 = require("../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 = (0, 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 = (0, findWebpackConfig_1.findWebpackConfig)('webpack.config.js'); if (configPath) { options.env = { ...options.env, ...(configPath.endsWith('.ts') && (0, 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 (0, utils_1.spawn)(process.execPath, args, { stdio: 'inherit', env: options.env }); }; } exports.webpackCliTask = webpackCliTask; //# sourceMappingURL=webpackCliTask.js.map