UNPKG

@yolkai/nx-workspace

Version:

Extensible Dev Tools for Monorepos

58 lines (57 loc) 1.5 kB
"use strict"; 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;