nx 21.6.4 → 21.6.6

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.
Files changed (74) hide show
  1. package/bin/nx.js +3 -0
  2. package/migrations.json +37 -0
  3. package/package.json +11 -11
  4. package/release/changelog-renderer/index.d.ts +1 -0
  5. package/release/changelog-renderer/index.d.ts.map +1 -1
  6. package/release/changelog-renderer/index.js +46 -15
  7. package/schemas/nx-schema.json +79 -0
  8. package/src/command-line/nx-cloud/complete-run/command-object.d.ts +3 -0
  9. package/src/command-line/nx-cloud/complete-run/command-object.d.ts.map +1 -0
  10. package/src/command-line/nx-cloud/complete-run/command-object.js +16 -0
  11. package/src/command-line/nx-cloud/complete-run/stop-all-agents.d.ts +5 -0
  12. package/src/command-line/nx-cloud/complete-run/stop-all-agents.d.ts.map +1 -0
  13. package/src/command-line/nx-cloud/complete-run/stop-all-agents.js +7 -0
  14. package/src/command-line/nx-cloud/start-agent/command-object.d.ts +3 -0
  15. package/src/command-line/nx-cloud/start-agent/command-object.d.ts.map +1 -0
  16. package/src/command-line/nx-cloud/start-agent/command-object.js +15 -0
  17. package/src/command-line/nx-cloud/start-agent/start-agent.d.ts +5 -0
  18. package/src/command-line/nx-cloud/start-agent/start-agent.d.ts.map +1 -0
  19. package/src/command-line/nx-cloud/start-agent/start-agent.js +7 -0
  20. package/src/command-line/nx-cloud/start-ci-run/command-object.js +1 -1
  21. package/src/command-line/nx-commands.d.ts.map +1 -1
  22. package/src/command-line/nx-commands.js +12 -8
  23. package/src/core/graph/main.js +1 -1
  24. package/src/daemon/client/client.d.ts +4 -0
  25. package/src/daemon/client/client.d.ts.map +1 -1
  26. package/src/daemon/client/client.js +23 -0
  27. package/src/daemon/message-types/register-project-graph-listener.d.ts +6 -0
  28. package/src/daemon/message-types/register-project-graph-listener.d.ts.map +1 -0
  29. package/src/daemon/message-types/register-project-graph-listener.js +11 -0
  30. package/src/daemon/server/project-graph-incremental-recomputation.d.ts +3 -1
  31. package/src/daemon/server/project-graph-incremental-recomputation.d.ts.map +1 -1
  32. package/src/daemon/server/project-graph-incremental-recomputation.js +13 -5
  33. package/src/daemon/server/project-graph-listener-sockets.d.ts +8 -0
  34. package/src/daemon/server/project-graph-listener-sockets.d.ts.map +1 -0
  35. package/src/daemon/server/project-graph-listener-sockets.js +24 -0
  36. package/src/daemon/server/server.d.ts.map +1 -1
  37. package/src/daemon/server/server.js +9 -2
  38. package/src/generators/utils/project-configuration.js +13 -1
  39. package/src/migrations/update-15-0-0/prefix-outputs.d.ts +3 -0
  40. package/src/migrations/update-15-0-0/prefix-outputs.d.ts.map +1 -0
  41. package/src/migrations/update-15-0-0/prefix-outputs.js +49 -0
  42. package/src/migrations/update-16-0-0/remove-nrwl-cli.d.ts +3 -0
  43. package/src/migrations/update-16-0-0/remove-nrwl-cli.d.ts.map +1 -0
  44. package/src/migrations/update-16-0-0/remove-nrwl-cli.js +16 -0
  45. package/src/migrations/update-16-0-0/update-depends-on-to-tokens.d.ts +3 -0
  46. package/src/migrations/update-16-0-0/update-depends-on-to-tokens.d.ts.map +1 -0
  47. package/src/migrations/update-16-0-0/update-depends-on-to-tokens.js +97 -0
  48. package/src/migrations/update-16-0-0/update-nx-cloud-runner.d.ts +3 -0
  49. package/src/migrations/update-16-0-0/update-nx-cloud-runner.d.ts.map +1 -0
  50. package/src/migrations/update-16-0-0/update-nx-cloud-runner.js +29 -0
  51. package/src/migrations/update-16-2-0/remove-run-commands-output-path.d.ts +3 -0
  52. package/src/migrations/update-16-2-0/remove-run-commands-output-path.d.ts.map +1 -0
  53. package/src/migrations/update-16-2-0/remove-run-commands-output-path.js +45 -0
  54. package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.d.ts +13 -0
  55. package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.d.ts.map +1 -0
  56. package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.js +67 -0
  57. package/src/native/nx.wasm32-wasi.wasm +0 -0
  58. package/src/plugins/package-json/create-nodes.js +1 -1
  59. package/src/plugins/project-json/build-nodes/project-json.d.ts +0 -1
  60. package/src/plugins/project-json/build-nodes/project-json.d.ts.map +1 -1
  61. package/src/plugins/project-json/build-nodes/project-json.js +1 -13
  62. package/src/project-graph/utils/project-configuration-utils.d.ts.map +1 -1
  63. package/src/project-graph/utils/project-configuration-utils.js +9 -0
  64. package/src/tasks-runner/is-tui-enabled.d.ts.map +1 -1
  65. package/src/tasks-runner/is-tui-enabled.js +0 -1
  66. package/src/tasks-runner/life-cycles/task-history-life-cycle-old.d.ts.map +1 -1
  67. package/src/tasks-runner/life-cycles/task-history-life-cycle-old.js +8 -2
  68. package/src/tasks-runner/life-cycles/task-history-life-cycle.d.ts.map +1 -1
  69. package/src/tasks-runner/life-cycles/task-history-life-cycle.js +8 -2
  70. package/src/tasks-runner/life-cycles/tui-summary-life-cycle.d.ts +1 -1
  71. package/src/tasks-runner/life-cycles/tui-summary-life-cycle.d.ts.map +1 -1
  72. package/src/tasks-runner/life-cycles/tui-summary-life-cycle.js +83 -55
  73. package/src/tasks-runner/run-command.d.ts.map +1 -1
  74. package/src/tasks-runner/run-command.js +3 -0
package/bin/nx.js CHANGED
@@ -141,6 +141,9 @@ function resolveNx(workspace) {
141
141
  function isNxCloudCommand(command) {
142
142
  const nxCloudCommands = [
143
143
  'start-ci-run',
144
+ 'start-agent',
145
+ 'stop-all-agents',
146
+ 'complete-ci-run',
144
147
  'login',
145
148
  'logout',
146
149
  'connect',
package/migrations.json CHANGED
@@ -1,5 +1,42 @@
1
1
  {
2
2
  "generators": {
3
+ "16.0.0-remove-nrwl-cli": {
4
+ "cli": "nx",
5
+ "version": "16.0.0-beta.0",
6
+ "description": "Remove @nrwl/cli.",
7
+ "implementation": "./src/migrations/update-16-0-0/remove-nrwl-cli"
8
+ },
9
+ "16.0.0-tokens-for-depends-on": {
10
+ "cli": "nx",
11
+ "version": "16.0.0-beta.9",
12
+ "description": "Replace `dependsOn.projects` and `inputs` definitions with new configuration format.",
13
+ "implementation": "./src/migrations/update-16-0-0/update-depends-on-to-tokens"
14
+ },
15
+ "16.0.0-update-nx-cloud-runner": {
16
+ "cli": "nx",
17
+ "version": "16.0.0-beta.0",
18
+ "description": "Replace @nrwl/nx-cloud with nx-cloud",
19
+ "implementation": "./src/migrations/update-16-0-0/update-nx-cloud-runner"
20
+ },
21
+ "16.2.0-remove-output-path-from-run-commands": {
22
+ "cli": "nx",
23
+ "version": "16.2.0-beta.0",
24
+ "description": "Remove outputPath from run commands",
25
+ "implementation": "./src/migrations/update-16-2-0/remove-run-commands-output-path"
26
+ },
27
+ "16.6.0-prefix-outputs": {
28
+ "cli": "nx",
29
+ "version": "16.6.0-beta.6",
30
+ "description": "Prefix outputs with {workspaceRoot}/{projectRoot} if needed",
31
+ "implementation": "./src/migrations/update-15-0-0/prefix-outputs"
32
+ },
33
+ "16.8.0-escape-dollar-sign-env": {
34
+ "cli": "nx",
35
+ "version": "16.8.0-beta.3",
36
+ "description": "Escape $ in env variables",
37
+ "implementation": "./src/migrations/update-16-8-0/escape-dollar-sign-env-variables",
38
+ "x-repair-skip": true
39
+ },
3
40
  "17.0.0-move-cache-directory": {
4
41
  "cli": "nx",
5
42
  "version": "17.0.0-beta.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx",
3
- "version": "21.6.4",
3
+ "version": "21.6.6",
4
4
  "private": false,
5
5
  "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
6
6
  "repository": {
@@ -83,16 +83,16 @@
83
83
  }
84
84
  },
85
85
  "optionalDependencies": {
86
- "@nx/nx-darwin-arm64": "21.6.4",
87
- "@nx/nx-darwin-x64": "21.6.4",
88
- "@nx/nx-freebsd-x64": "21.6.4",
89
- "@nx/nx-linux-arm-gnueabihf": "21.6.4",
90
- "@nx/nx-linux-arm64-gnu": "21.6.4",
91
- "@nx/nx-linux-arm64-musl": "21.6.4",
92
- "@nx/nx-linux-x64-gnu": "21.6.4",
93
- "@nx/nx-linux-x64-musl": "21.6.4",
94
- "@nx/nx-win32-arm64-msvc": "21.6.4",
95
- "@nx/nx-win32-x64-msvc": "21.6.4"
86
+ "@nx/nx-darwin-arm64": "21.6.6",
87
+ "@nx/nx-darwin-x64": "21.6.6",
88
+ "@nx/nx-freebsd-x64": "21.6.6",
89
+ "@nx/nx-linux-arm-gnueabihf": "21.6.6",
90
+ "@nx/nx-linux-arm64-gnu": "21.6.6",
91
+ "@nx/nx-linux-arm64-musl": "21.6.6",
92
+ "@nx/nx-linux-x64-gnu": "21.6.6",
93
+ "@nx/nx-linux-x64-musl": "21.6.6",
94
+ "@nx/nx-win32-arm64-msvc": "21.6.6",
95
+ "@nx/nx-win32-x64-msvc": "21.6.6"
96
96
  },
97
97
  "nx-migrations": {
98
98
  "migrations": "./migrations.json",
@@ -95,6 +95,7 @@ export default class DefaultChangelogRenderer {
95
95
  protected shouldRenderAuthors(): boolean;
96
96
  protected renderAuthors(): Promise<string[]>;
97
97
  protected formatChange(change: ChangelogChange): string;
98
+ protected formatBreakingChange(change: ChangelogChange): string;
98
99
  protected groupChangesByType(): Record<string, ChangelogChange[]>;
99
100
  protected groupChangesByScope(changes: ChangelogChange[]): Record<string, ChangelogChange[]>;
100
101
  protected extractBreakingChangeExplanation(message: string): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/release/changelog-renderer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/release/changelog-renderer/index.ts"],"names":[],"mappings":"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"}
@@ -105,10 +105,7 @@ class DefaultChangelogRenderer {
105
105
  else {
106
106
  for (const change of this.relevantChanges) {
107
107
  if (change.isBreaking) {
108
- const breakingChangeExplanation = this.extractBreakingChangeExplanation(change.body);
109
- this.breakingChanges.push(breakingChangeExplanation
110
- ? `- ${change.scope ? `**${change.scope.trim()}:** ` : ''}${breakingChangeExplanation}`
111
- : this.formatChange(change));
108
+ this.breakingChanges.push(this.formatBreakingChange(change));
112
109
  }
113
110
  }
114
111
  }
@@ -170,10 +167,7 @@ class DefaultChangelogRenderer {
170
167
  const line = this.formatChange(change);
171
168
  markdownLines.push(line);
172
169
  if (change.isBreaking && !this.isVersionPlans) {
173
- const breakingChangeExplanation = this.extractBreakingChangeExplanation(change.body);
174
- this.breakingChanges.push(breakingChangeExplanation
175
- ? `- ${change.scope ? `**${change.scope.trim()}:** ` : ''}${breakingChangeExplanation}`
176
- : line);
170
+ this.breakingChanges.push(this.formatBreakingChange(change));
177
171
  }
178
172
  }
179
173
  }
@@ -184,10 +178,7 @@ class DefaultChangelogRenderer {
184
178
  const line = this.formatChange(change);
185
179
  markdownLines.push(line);
186
180
  if (change.isBreaking && !this.isVersionPlans) {
187
- const breakingChangeExplanation = this.extractBreakingChangeExplanation(change.body);
188
- this.breakingChanges.push(breakingChangeExplanation
189
- ? `- ${change.scope ? `**${change.scope.trim()}:** ` : ''}${breakingChangeExplanation}`
190
- : line);
181
+ this.breakingChanges.push(this.formatBreakingChange(change));
191
182
  }
192
183
  }
193
184
  }
@@ -285,6 +276,43 @@ class DefaultChangelogRenderer {
285
276
  }
286
277
  return changeLine;
287
278
  }
279
+ formatBreakingChange(change) {
280
+ const explanation = this.extractBreakingChangeExplanation(change.body);
281
+ if (!explanation) {
282
+ // No explanation found, use the regular formatChange which includes references
283
+ return this.formatChange(change);
284
+ }
285
+ // Build the breaking change line with scope, explanation, and references
286
+ let breakingLine = '- ';
287
+ if (change.scope) {
288
+ breakingLine += `**${change.scope.trim()}:** `;
289
+ }
290
+ // Handle multi-line explanations
291
+ let explanationText = explanation;
292
+ let extraLines = [];
293
+ if (explanation.includes('\n')) {
294
+ [explanationText, ...extraLines] = explanation.split('\n');
295
+ }
296
+ breakingLine += explanationText;
297
+ // Add PR/commit references
298
+ if (this.remoteReleaseClient.getRemoteRepoData() &&
299
+ this.changelogRenderOptions.commitReferences &&
300
+ change.githubReferences) {
301
+ breakingLine += this.remoteReleaseClient.formatReferences(change.githubReferences);
302
+ }
303
+ // Add extra lines with indentation (matching formatChange behavior)
304
+ if (extraLines.length > 0) {
305
+ const indentation = ' ';
306
+ const extraLinesStr = extraLines
307
+ .filter((l) => l.trim().length > 0)
308
+ .map((l) => `${indentation}${l}`)
309
+ .join('\n');
310
+ if (extraLinesStr) {
311
+ breakingLine += '\n\n' + extraLinesStr;
312
+ }
313
+ }
314
+ return breakingLine;
315
+ }
288
316
  groupChangesByType() {
289
317
  const typeGroups = {};
290
318
  for (const change of this.relevantChanges) {
@@ -312,9 +340,12 @@ class DefaultChangelogRenderer {
312
340
  return null;
313
341
  }
314
342
  const startOfBreakingChange = startIndex + breakingChangeIdentifier.length;
315
- const endOfBreakingChange = message.indexOf('\n', startOfBreakingChange);
316
- if (endOfBreakingChange === -1) {
317
- return message.substring(startOfBreakingChange).trim();
343
+ // Extract all text after BREAKING CHANGE: until we hit git metadata
344
+ let endOfBreakingChange = message.length;
345
+ // Look for the git metadata delimiter (a line with just ")
346
+ const gitMetadataMarker = message.indexOf('\n"', startOfBreakingChange);
347
+ if (gitMetadataMarker !== -1) {
348
+ endOfBreakingChange = gitMetadataMarker;
318
349
  }
319
350
  return message.substring(startOfBreakingChange, endOfBreakingChange).trim();
320
351
  }
@@ -367,6 +367,85 @@
367
367
  }
368
368
  },
369
369
  "additionalProperties": false
370
+ },
371
+ "conformance": {
372
+ "type": "object",
373
+ "description": "Configuration for Nx Conformance",
374
+ "properties": {
375
+ "outputPath": {
376
+ "oneOf": [
377
+ {
378
+ "type": "string",
379
+ "description": "Path to write the conformance results to"
380
+ },
381
+ {
382
+ "type": "boolean",
383
+ "enum": [false],
384
+ "description": "Disable writing the conformance results to a file"
385
+ }
386
+ ],
387
+ "description": "Optional path to write the conformance results to, defaults to 'dist/conformance-result.json'. Set to false to disable writing the conformance results to a file."
388
+ },
389
+ "rules": {
390
+ "type": "array",
391
+ "description": "List of conformance rules to apply",
392
+ "items": {
393
+ "type": "object",
394
+ "properties": {
395
+ "rule": {
396
+ "type": "string",
397
+ "description": "Relative path to a local rule implementation, node_module path or nx-cloud rule ID for Nx Cloud Enterprise."
398
+ },
399
+ "options": {
400
+ "type": "object",
401
+ "description": "Rule specific configuration options.",
402
+ "additionalProperties": true
403
+ },
404
+ "projects": {
405
+ "type": "array",
406
+ "description": "The projects to apply this rule to. This property accepts an array of strings which can be project names, glob patterns, directories, tag references or anything else that is supported by the `--projects` filter. By default, the implied value is ['*'] (all projects). You can also use objects with 'matcher' and 'explanation' properties to document why specific projects are included or excluded.",
407
+ "items": {
408
+ "oneOf": [
409
+ {
410
+ "type": "string",
411
+ "description": "A project name, glob pattern, directory, tag reference, or any other valid project filter"
412
+ },
413
+ {
414
+ "type": "object",
415
+ "properties": {
416
+ "matcher": {
417
+ "type": "string",
418
+ "description": "A project name, glob pattern, directory, tag reference, or any other valid project filter"
419
+ },
420
+ "explanation": {
421
+ "type": "string",
422
+ "description": "An explanation to communicate to colleagues why this particular project or projects were included or excluded from the rule"
423
+ }
424
+ },
425
+ "required": ["matcher", "explanation"],
426
+ "additionalProperties": false
427
+ }
428
+ ]
429
+ }
430
+ },
431
+ "explanation": {
432
+ "type": "string",
433
+ "description": "Optional explanation field for users to be able to communicate to their colleagues why a particular rule is enabled and important to the workspace in question."
434
+ },
435
+ "status": {
436
+ "type": "string",
437
+ "enum": ["enforced", "evaluated", "disabled"],
438
+ "description": "Override the default status of the rule, which is 'enforced'. If set to 'evaluated', the rule will be reported as normal, but not enforced (will exit with code 0). If set to 'disabled', the rule will not be evaluated at all.",
439
+ "default": "enforced"
440
+ }
441
+ },
442
+ "required": ["rule"],
443
+ "additionalProperties": false
444
+ }
445
+ }
446
+ },
447
+ "required": ["rules"],
448
+ "additionalProperties": false
370
449
  }
371
450
  },
372
451
  "definitions": {
@@ -0,0 +1,3 @@
1
+ import { CommandModule } from 'yargs';
2
+ export declare const yargsStopAllAgentsCommand: CommandModule;
3
+ //# sourceMappingURL=command-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-object.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/nx-cloud/complete-run/command-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,eAAO,MAAM,yBAAyB,EAAE,aAevC,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.yargsStopAllAgentsCommand = void 0;
4
+ const shared_options_1 = require("../../yargs-utils/shared-options");
5
+ exports.yargsStopAllAgentsCommand = {
6
+ command: 'stop-all-agents [options]',
7
+ aliases: ['complete-ci-run'],
8
+ describe: 'Terminates all dedicated agents associated with this CI pipeline execution. This command is an alias for [`nx-cloud stop-all-agents`](/docs/reference/nx-cloud-cli#nx-cloud-stop-all-agents).',
9
+ builder: (yargs) => (0, shared_options_1.withVerbose)(yargs)
10
+ .help(false)
11
+ .showHelpOnFail(false)
12
+ .option('help', { describe: 'Show help.', type: 'boolean' }),
13
+ handler: async (args) => {
14
+ process.exit(await (await Promise.resolve().then(() => require('./stop-all-agents'))).stopAllAgentsHandler(args));
15
+ },
16
+ };
@@ -0,0 +1,5 @@
1
+ export interface StopAllAgentsArgs {
2
+ verbose?: boolean;
3
+ }
4
+ export declare function stopAllAgentsHandler(args: StopAllAgentsArgs): Promise<number>;
5
+ //# sourceMappingURL=stop-all-agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop-all-agents.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/nx-cloud/complete-run/stop-all-agents.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stopAllAgentsHandler = stopAllAgentsHandler;
4
+ const utils_1 = require("../utils");
5
+ function stopAllAgentsHandler(args) {
6
+ return (0, utils_1.executeNxCloudCommand)('stop-all-agents', args.verbose);
7
+ }
@@ -0,0 +1,3 @@
1
+ import { CommandModule } from 'yargs';
2
+ export declare const yargsStartAgentCommand: CommandModule;
3
+ //# sourceMappingURL=command-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-object.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/nx-cloud/start-agent/command-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,eAAO,MAAM,sBAAsB,EAAE,aAYpC,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.yargsStartAgentCommand = void 0;
4
+ const shared_options_1 = require("../../yargs-utils/shared-options");
5
+ exports.yargsStartAgentCommand = {
6
+ command: 'start-agent [options]',
7
+ describe: 'Starts a new agent for distributed task execution. This command is an alias for [`nx-cloud start-agent`](/docs/reference/nx-cloud-cli).',
8
+ builder: (yargs) => (0, shared_options_1.withVerbose)(yargs)
9
+ .help(false)
10
+ .showHelpOnFail(false)
11
+ .option('help', { describe: 'Show help.', type: 'boolean' }),
12
+ handler: async (args) => {
13
+ process.exit(await (await Promise.resolve().then(() => require('./start-agent'))).startAgentHandler(args));
14
+ },
15
+ };
@@ -0,0 +1,5 @@
1
+ export interface StartAgentArgs {
2
+ verbose?: boolean;
3
+ }
4
+ export declare function startAgentHandler(args: StartAgentArgs): Promise<number>;
5
+ //# sourceMappingURL=start-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-agent.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/nx-cloud/start-agent/start-agent.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAEvE"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.startAgentHandler = startAgentHandler;
4
+ const utils_1 = require("../utils");
5
+ function startAgentHandler(args) {
6
+ return (0, utils_1.executeNxCloudCommand)('start-agent', args.verbose);
7
+ }
@@ -4,7 +4,7 @@ exports.yargsStartCiRunCommand = void 0;
4
4
  const shared_options_1 = require("../../yargs-utils/shared-options");
5
5
  exports.yargsStartCiRunCommand = {
6
6
  command: 'start-ci-run [options]',
7
- describe: 'Starts a new CI run for distributed task execution. This command is an alias for [`nx-cloud start-ci-run`](/ci/reference/nx-cloud-cli#npx-nxcloud-start-ci-run).',
7
+ describe: 'Starts a new CI run for distributed task execution. This command is an alias for [`nx-cloud start-ci-run`](/docs/reference/nx-cloud-cli#npx-nxcloud-start-ci-run).',
8
8
  builder: (yargs) => (0, shared_options_1.withVerbose)(yargs)
9
9
  .help(false)
10
10
  .showHelpOnFail(false)
@@ -1 +1 @@
1
- {"version":3,"file":"nx-commands.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/command-line/nx-commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwD/B,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAEzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,qBAoDf,CAAC"}
1
+ {"version":3,"file":"nx-commands.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/command-line/nx-commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA0D/B,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAEzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,qBAsDf,CAAC"}
@@ -30,11 +30,13 @@ const command_object_24 = require("./nx-cloud/login/command-object");
30
30
  const command_object_25 = require("./nx-cloud/logout/command-object");
31
31
  const command_object_26 = require("./nx-cloud/record/command-object");
32
32
  const command_object_27 = require("./nx-cloud/start-ci-run/command-object");
33
- const command_object_28 = require("./nx-cloud/fix-ci/command-object");
33
+ const command_object_28 = require("./nx-cloud/start-agent/command-object");
34
+ const command_object_29 = require("./nx-cloud/complete-run/command-object");
35
+ const command_object_30 = require("./nx-cloud/fix-ci/command-object");
34
36
  const command_objects_1 = require("./deprecated/command-objects");
35
- const command_object_29 = require("./sync/command-object");
37
+ const command_object_31 = require("./sync/command-object");
36
38
  const output_1 = require("../utils/output");
37
- const command_object_30 = require("./mcp/command-object");
39
+ const command_object_32 = require("./mcp/command-object");
38
40
  // Ensure that the output takes up the available width of the terminal.
39
41
  yargs.wrap(yargs.terminalWidth());
40
42
  exports.parserConfiguration = {
@@ -81,8 +83,8 @@ exports.commandsObject = yargs
81
83
  .command(command_object_16.yargsRunCommand)
82
84
  .command(command_object_17.yargsRunManyCommand)
83
85
  .command(command_object_18.yargsShowCommand)
84
- .command(command_object_29.yargsSyncCommand)
85
- .command(command_object_29.yargsSyncCheckCommand)
86
+ .command(command_object_31.yargsSyncCommand)
87
+ .command(command_object_31.yargsSyncCheckCommand)
86
88
  .command(command_object_3.yargsViewLogsCommand)
87
89
  .command(command_object_19.yargsWatchCommand)
88
90
  .command(command_object_16.yargsNxInfixCommand)
@@ -90,12 +92,14 @@ exports.commandsObject = yargs
90
92
  .command(command_object_25.yargsLogoutCommand)
91
93
  .command(command_object_26.yargsRecordCommand)
92
94
  .command(command_object_27.yargsStartCiRunCommand)
93
- .command(command_object_28.yargsFixCiCommand)
94
- .command(command_object_30.yargsMcpCommand)
95
+ .command(command_object_28.yargsStartAgentCommand)
96
+ .command(command_object_29.yargsStopAllAgentsCommand)
97
+ .command(command_object_30.yargsFixCiCommand)
98
+ .command(command_object_32.yargsMcpCommand)
95
99
  .command(resolveConformanceCommandObject())
96
100
  .command(resolveConformanceCheckCommandObject())
97
101
  .scriptName('nx')
98
- .help()
102
+ .help(false)
99
103
  // NOTE: we handle --version in nx.ts, this just tells yargs that the option exists
100
104
  // so that it shows up in help. The default yargs implementation of --version is not
101
105
  // hit, as the implementation in nx.ts is hit first and calls process.exit(0).