@yolkai/nx-workspace
Version:
58 lines (57 loc) • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const yargsParser = require("yargs-parser");
/**
* These options are only for getting an array with properties of AffectedOptions.
*
* @remark They are not defaults or useful for anything else
*/
const dummyOptions = {
target: '',
configuration: '',
runner: '',
parallel: false,
maxParallel: 0,
'max-parallel': 0,
untracked: false,
uncommitted: false,
all: false,
base: 'base',
head: 'head',
exclude: ['exclude'],
files: [''],
onlyFailed: false,
'only-failed': false,
verbose: false,
help: false,
version: false,
quiet: false,
plain: false,
withDeps: false,
'with-deps': false,
projects: [],
select: ''
};
const nxSpecific = Object.keys(dummyOptions);
const ignoreArgs = ['$0', '_'];
function splitArgsIntoNxArgsAndOverrides(args) {
const nxArgs = {};
const overrides = yargsParser(args._);
delete overrides._;
Object.entries(args).forEach(([key, value]) => {
if (nxSpecific.includes(key)) {
nxArgs[key] = value;
}
else if (!ignoreArgs.includes(key)) {
overrides[key] = value;
}
});
if (!nxArgs.projects) {
nxArgs.projects = [];
}
else {
nxArgs.projects = args.projects.split(',').map((p) => p.trim());
}
return { nxArgs, overrides };
}
exports.splitArgsIntoNxArgsAndOverrides = splitArgsIntoNxArgsAndOverrides;