nx 22.2.0 → 22.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"pnpm-parser.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/plugins/js/lock-file/pnpm-parser.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,yBAAyB,EAE1B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAEL,YAAY,EACZ,wBAAwB,EACzB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAuB3E,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,GACnB;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;CACpD,CASA;AAED,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,yBAAyB,EAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,CAAC,CAAC,+BAUnD;AAqUD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EACnB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,qBAAqB,EAClC,aAAa,EAAE,MAAM,GACpB,MAAM,CAuCR"}
1
+ {"version":3,"file":"pnpm-parser.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/plugins/js/lock-file/pnpm-parser.ts"],"names":[],"mappings":"AAYA,OAAO,EAGL,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,yBAAyB,EAE1B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAEL,YAAY,EACZ,wBAAwB,EACzB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAuB3E,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,GACnB;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;CACpD,CASA;AAED,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,yBAAyB,EAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,wBAAwB,CAAC,CAAC,+BAUnD;AAiXD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EACnB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,qBAAqB,EAClC,aAAa,EAAE,MAAM,GACpB,MAAM,CAuCR"}
@@ -40,13 +40,17 @@ function getPnpmLockfileDependencies(lockFileContent, lockFileHash, ctx, keyMap)
40
40
  const isV5 = (0, pnpm_normalizer_1.isV5Syntax)(data);
41
41
  return getDependencies(data, keyMap, isV5, ctx);
42
42
  }
43
- function matchPropValue(record, key, originalPackageName) {
43
+ const cachedInvertedRecords = new Map();
44
+ function matchPropValue(record, key, originalPackageName, recordName) {
44
45
  if (!record) {
45
46
  return undefined;
46
47
  }
47
- const index = Object.values(record).findIndex((version) => version === key);
48
- if (index > -1) {
49
- return Object.keys(record)[index];
48
+ if (!cachedInvertedRecords.has(recordName)) {
49
+ cachedInvertedRecords.set(recordName, (0, package_json_1.invertObject)(record));
50
+ }
51
+ const packageName = cachedInvertedRecords.get(recordName)[key];
52
+ if (packageName) {
53
+ return packageName;
50
54
  }
51
55
  // check if non-aliased name is found
52
56
  if (record[originalPackageName] &&
@@ -55,9 +59,9 @@ function matchPropValue(record, key, originalPackageName) {
55
59
  }
56
60
  }
57
61
  function matchedDependencyName(importer, key, originalPackageName) {
58
- return (matchPropValue(importer.dependencies, key, originalPackageName) ||
59
- matchPropValue(importer.optionalDependencies, key, originalPackageName) ||
60
- matchPropValue(importer.peerDependencies, key, originalPackageName));
62
+ return (matchPropValue(importer.dependencies, key, originalPackageName, 'dependencies') ||
63
+ matchPropValue(importer.optionalDependencies, key, originalPackageName, 'optionalDependencies') ||
64
+ matchPropValue(importer.peerDependencies, key, originalPackageName, 'peerDependencies'));
61
65
  }
62
66
  function createHashFromSnapshot(snapshot) {
63
67
  return (snapshot.resolution?.['integrity'] ||
@@ -112,8 +116,8 @@ function getNodes(data, isV5) {
112
116
  const rootDependencyName = matchedDependencyName(data.importers['.'], key, originalPackageName) ||
113
117
  matchedDependencyName(data.importers['.'], `/${key}`, originalPackageName) ||
114
118
  // only root importers have devDependencies
115
- matchPropValue(data.importers['.'].devDependencies, key, originalPackageName) ||
116
- matchPropValue(data.importers['.'].devDependencies, `/${key}`, originalPackageName);
119
+ matchPropValue(data.importers['.'].devDependencies, key, originalPackageName, 'devDependencies') ||
120
+ matchPropValue(data.importers['.'].devDependencies, `/${key}`, originalPackageName, 'devDependencies');
117
121
  if (rootDependencyName) {
118
122
  packageNameObj = {
119
123
  key,
@@ -213,6 +217,23 @@ function getNodes(data, isV5) {
213
217
  }
214
218
  }
215
219
  const hoistedDeps = (0, pnpm_normalizer_1.loadPnpmHoistedDepsDefinition)();
220
+ // Pre-build packageName -> key index for O(1) lookup instead of O(n) find() per package
221
+ const hoistedKeysByPackage = new Map();
222
+ for (const key of Object.keys(hoistedDeps)) {
223
+ if (key.startsWith('/')) {
224
+ // Extract package name from key format: /{packageName}/{version}... or /@scope/name/{version}...
225
+ const withoutSlash = key.slice(1);
226
+ const slashIndex = withoutSlash.startsWith('@')
227
+ ? withoutSlash.indexOf('/', withoutSlash.indexOf('/') + 1)
228
+ : withoutSlash.indexOf('/');
229
+ if (slashIndex > 0) {
230
+ const pkgName = withoutSlash.slice(0, slashIndex);
231
+ if (!hoistedKeysByPackage.has(pkgName)) {
232
+ hoistedKeysByPackage.set(pkgName, key);
233
+ }
234
+ }
235
+ }
236
+ }
216
237
  const results = {};
217
238
  for (const [packageName, versionMap] of nodes.entries()) {
218
239
  let hoistedNode;
@@ -220,7 +241,7 @@ function getNodes(data, isV5) {
220
241
  hoistedNode = versionMap.values().next().value;
221
242
  }
222
243
  else {
223
- const hoistedVersion = getHoistedVersion(hoistedDeps, packageName, isV5);
244
+ const hoistedVersion = getHoistedVersion(packageName, isV5, hoistedKeysByPackage);
224
245
  hoistedNode = versionMap.get(hoistedVersion);
225
246
  }
226
247
  if (hoistedNode) {
@@ -232,10 +253,11 @@ function getNodes(data, isV5) {
232
253
  }
233
254
  return { nodes: results, keyMap };
234
255
  }
235
- function getHoistedVersion(hoistedDependencies, packageName, isV5) {
256
+ function getHoistedVersion(packageName, isV5, hoistedKeysByPackage) {
236
257
  let version = (0, package_json_1.getHoistedPackageVersion)(packageName);
237
258
  if (!version) {
238
- const key = Object.keys(hoistedDependencies).find((k) => k.startsWith(`/${packageName}/`));
259
+ // Use pre-built index for O(1) lookup
260
+ const key = hoistedKeysByPackage.get(packageName);
239
261
  if (key) {
240
262
  version = parseBaseVersion(getVersion(key.slice(1), packageName), isV5);
241
263
  }
@@ -8,4 +8,5 @@ export type NormalizedPackageJson = Pick<PackageJson, 'name' | 'version' | 'lice
8
8
  * Strip off non-pruning related fields from package.json
9
9
  */
10
10
  export declare function normalizePackageJson(packageJson: PackageJson): NormalizedPackageJson;
11
+ export declare function invertObject(record: Record<string, string>): Record<string, string>;
11
12
  //# sourceMappingURL=package-json.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/nx/src/plugins/js/lock-file/utils/package-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAQpE;AAED,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,WAAW,EACT,MAAM,GACN,SAAS,GACT,SAAS,GACT,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,sBAAsB,GACtB,sBAAsB,GACtB,gBAAgB,GAChB,aAAa,CAChB,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,GACvB,qBAAqB,CA0BvB"}
1
+ {"version":3,"file":"package-json.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/nx/src/plugins/js/lock-file/utils/package-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAQpE;AAED,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,WAAW,EACT,MAAM,GACN,SAAS,GACT,SAAS,GACT,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,sBAAsB,GACtB,sBAAsB,GACtB,gBAAgB,GAChB,aAAa,CAChB,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,GACvB,qBAAqB,CA0BvB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getHoistedPackageVersion = getHoistedPackageVersion;
4
4
  exports.normalizePackageJson = normalizePackageJson;
5
+ exports.invertObject = invertObject;
5
6
  const workspace_root_1 = require("../../../../utils/workspace-root");
6
7
  const fileutils_1 = require("../../../../utils/fileutils");
7
8
  /**
@@ -34,3 +35,10 @@ function normalizePackageJson(packageJson) {
34
35
  resolutions,
35
36
  };
36
37
  }
38
+ function invertObject(record) {
39
+ const result = {};
40
+ Object.keys(record).forEach((key) => {
41
+ result[record[key]] = key;
42
+ });
43
+ return result;
44
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"explicit-package-json-dependencies.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/nx/src/plugins/js/project-graph/build-dependencies/explicit-package-json-dependencies.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,iDAAiD,CAAC;AAIzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,yBAAyB,EAC9B,oBAAoB,EAAE,oBAAoB,GACzC,yBAAyB,EAAE,CAW7B"}
1
+ {"version":3,"file":"explicit-package-json-dependencies.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/nx/src/plugins/js/project-graph/build-dependencies/explicit-package-json-dependencies.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,iDAAiD,CAAC;AAIzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,yBAAyB,EAC9B,oBAAoB,EAAE,oBAAoB,GACzC,yBAAyB,EAAE,CAkB7B"}
@@ -8,20 +8,18 @@ const json_1 = require("../../../../utils/json");
8
8
  const path_1 = require("../../../../utils/path");
9
9
  function buildExplicitPackageJsonDependencies(ctx, targetProjectLocator) {
10
10
  const res = [];
11
- const nodes = Object.values(ctx.projects);
12
- Object.keys(ctx.filesToProcess.projectFileMap).forEach((source) => {
13
- Object.values(ctx.filesToProcess.projectFileMap[source]).forEach((f) => {
14
- if (isPackageJsonAtProjectRoot(nodes, f.file)) {
11
+ // Build Set of valid package.json paths once for O(1) lookup
12
+ // instead of O(n) find() per file
13
+ const projectPackageJsonPaths = new Set(Object.values(ctx.projects).map((project) => (0, path_1.joinPathFragments)(project.root, 'package.json')));
14
+ for (const source in ctx.filesToProcess.projectFileMap) {
15
+ for (const f of Object.values(ctx.filesToProcess.projectFileMap[source])) {
16
+ if (projectPackageJsonPaths.has(f.file)) {
15
17
  processPackageJson(source, f.file, ctx, targetProjectLocator, res);
16
18
  }
17
- });
18
- });
19
+ }
20
+ }
19
21
  return res;
20
22
  }
21
- function isPackageJsonAtProjectRoot(nodes, fileName) {
22
- return (fileName.endsWith('package.json') &&
23
- nodes.find((projectNode) => (0, path_1.joinPathFragments)(projectNode.root, 'package.json') === fileName));
24
- }
25
23
  function processPackageJson(sourceProject, packageJsonPath, ctx, targetProjectLocator, collectedDeps) {
26
24
  try {
27
25
  const deps = readDeps((0, json_1.parseJson)((0, file_utils_1.defaultFileRead)(packageJsonPath)));
@@ -37,12 +37,17 @@ function filterAffectedProjects(graph, ctx) {
37
37
  dependencies: {},
38
38
  };
39
39
  const reversed = (0, operators_1.reverse)(graph);
40
- ctx.touchedProjects.forEach((p) => {
41
- addAffectedNodes(p, reversed, result, new Set());
42
- });
43
- ctx.touchedProjects.forEach((p) => {
44
- addAffectedDependencies(p, reversed, result, new Set());
45
- });
40
+ // Share visited Sets across all touched projects to avoid redundant traversal
41
+ // Previously, each touched project got its own Set, causing shared dependencies
42
+ // to be visited multiple times (O(touchedProjects × sharedDeps) → O(nodes))
43
+ const visitedNodes = new Set();
44
+ const visitedDeps = new Set();
45
+ for (const p of ctx.touchedProjects) {
46
+ addAffectedNodes(p, reversed, result, visitedNodes);
47
+ }
48
+ for (const p of ctx.touchedProjects) {
49
+ addAffectedDependencies(p, reversed, result, visitedDeps);
50
+ }
46
51
  return result;
47
52
  }
48
53
  function addAffectedNodes(startingProject, reversed, result, visited) {
@@ -1 +1 @@
1
- {"version":3,"file":"task-orchestrator.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/task-orchestrator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAQnD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAMrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM3D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAiB,MAAM,kBAAkB,CAAC;AAUxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,qBAAa,gBAAgB;IA8CzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAvDtC,OAAO,CAAC,WAAW,CAAwC;IAC3D,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,uBAAuB,CAG7B;IAEF,OAAO,CAAC,mBAAmB,CAElB;IACT,OAAO,CAAC,aAAa,CAInB;IAGF,OAAO,CAAC,QAAQ,CAGd;IACF,OAAO,CAAC,eAAe,CAAwC;IAE/D,OAAO,CAAC,mBAAmB,CAAkD;IAE7E,OAAO,CAAC,cAAc,CAAiD;IACvE,OAAO,CAAC,gBAAgB,CAAmC;IAE3D,OAAO,CAAC,cAAc,CAEf;IACP,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO,CAAC,MAAM,CAAM;IAEpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,sBAAsB,CAAkC;IAChE,OAAO,CAAC,uBAAuB,CAAkC;gBAK9C,MAAM,EAAE,UAAU,EAClB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,eAAe,EAAE,IAAI,EAAE,EACvB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,MAAM,GAAG,yBAAyB,EAC3C,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,EACnB,mBAAmB,GAAE,SAAqB;IAGvD,IAAI;IAiBJ,GAAG;;;IA4CF,SAAS;YAIF,wCAAwC;IA2CtD,OAAO,CAAC,YAAY;YAUN,WAAW;YAoBX,qBAAqB;IAgB5B,wBAAwB;YAajB,kBAAkB;YAUlB,iBAAiB;IAuClB,wBAAwB,CACnC,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;YAmEV,QAAQ;IA6ChB,uBAAuB,CAC3B,cAAc,EAAE,OAAO,EACvB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC;YAkER,OAAO;YAqKP,sBAAsB;IA2C9B,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM;YAoIvC,WAAW;YAQX,YAAY;YAmFZ,kCAAkC;IAQhD,OAAO,CAAC,QAAQ;YA0CF,iBAAiB;IAiB/B,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,SAAS;YAIH,0BAA0B;YAQ1B,iBAAiB;YAQjB,OAAO;IA6BrB,OAAO,CAAC,8BAA8B;CA6BvC;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,GAAG,yBAAyB,EAC3C,SAAS,EAAE,SAAS,UAqBrB"}
1
+ {"version":3,"file":"task-orchestrator.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/task-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,7 @@ class TaskOrchestrator {
80
80
  const threads = [];
81
81
  process.stdout.setMaxListeners(threadCount + events_1.defaultMaxListeners);
82
82
  process.stderr.setMaxListeners(threadCount + events_1.defaultMaxListeners);
83
+ process.setMaxListeners(threadCount + events_1.defaultMaxListeners);
83
84
  // initial seeding of the queue
84
85
  for (let i = 0; i < threadCount; ++i) {
85
86
  threads.push(this.executeNextBatchOfTasksUsingTaskSchedule());
@@ -258,6 +259,7 @@ class TaskOrchestrator {
258
259
  task: this.taskGraph.tasks[rootTaskId],
259
260
  code: 1,
260
261
  status: 'failure',
262
+ terminalOutput: e.stack ?? e.message ?? '',
261
263
  }));
262
264
  }
263
265
  finally {
@@ -446,7 +448,7 @@ class TaskOrchestrator {
446
448
  }
447
449
  return new noop_child_process_1.NoopChildProcess({
448
450
  code: 1,
449
- terminalOutput: undefined,
451
+ terminalOutput: e.stack ?? e.message ?? '',
450
452
  });
451
453
  }
452
454
  }
@@ -623,7 +623,7 @@ async function promptForValues(opts, schema, projectsConfigurations) {
623
623
  .then((values) => ({ ...opts, ...values }))
624
624
  .catch((e) => {
625
625
  console.error(e);
626
- process.exit(0);
626
+ process.exit(1);
627
627
  });
628
628
  }
629
629
  function findSchemaForProperty(propName, schema) {