UNPKG

create-nx-workspace

Version:

Smart Repos · Fast Builds

44 lines (43 loc) 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPreset = createPreset; const error_utils_1 = require("./utils/error-utils"); const package_manager_1 = require("./utils/package-manager"); const child_process_utils_1 = require("./utils/child-process-utils"); const unparse_1 = require("./utils/unparse"); async function createPreset(preset, parsedArgs, packageManager, directory) { const { skipGit, commit, nxCloud, ...restArgs } = parsedArgs; // Delete verbose because it will conflict with the --quiet flag if (!restArgs.verbose) { delete restArgs.verbose; } let args = (0, unparse_1.unparse)({ interactive: true, ...restArgs, }).join(' '); const pmc = (0, package_manager_1.getPackageManagerCommand)(packageManager); const workingDir = process.cwd().replace(/\\/g, '/'); let nxWorkspaceRoot = `"${workingDir}"`; // If path contains spaces there is a problem in Windows for npm@6. // In this case we have to escape the wrapping quotes. if (process.platform === 'win32' && /\s/.test(nxWorkspaceRoot) && packageManager === 'npm') { const pmVersion = +(0, package_manager_1.getPackageManagerVersion)(packageManager, workingDir).split('.')[0]; if (pmVersion < 7) { nxWorkspaceRoot = `\\"${nxWorkspaceRoot.slice(1, -1)}\\"`; } } if (!(process.env.NX_VERBOSE_LOGGING === 'true' || args.includes('--verbose'))) { args = '--quiet ' + args; } const command = `g ${preset}:preset ${args}`; try { const [exec, ...args] = pmc.exec.split(' '); args.push('nx', `--nxWorkspaceRoot=${nxWorkspaceRoot}`, ...command.split(' ')); await (0, child_process_utils_1.spawnAndWait)(exec, args, directory); } catch (e) { throw new error_utils_1.CnwError('PRESET_FAILED', `Failed to apply preset: ${preset}`); } }