nx 22.5.1 → 22.5.3

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 (79) hide show
  1. package/LICENSE +1 -1
  2. package/bin/init-local.d.ts.map +1 -1
  3. package/bin/init-local.js +1 -0
  4. package/bin/nx.js +6 -0
  5. package/package.json +14 -14
  6. package/src/ai/set-up-ai-agents/set-up-ai-agents.d.ts.map +1 -1
  7. package/src/ai/set-up-ai-agents/set-up-ai-agents.js +1 -0
  8. package/src/command-line/configure-ai-agents/configure-ai-agents.d.ts.map +1 -1
  9. package/src/command-line/configure-ai-agents/configure-ai-agents.js +22 -0
  10. package/src/command-line/list/command-object.d.ts.map +1 -1
  11. package/src/command-line/list/command-object.js +6 -1
  12. package/src/command-line/list/list.d.ts +2 -0
  13. package/src/command-line/list/list.d.ts.map +1 -1
  14. package/src/command-line/list/list.js +5 -1
  15. package/src/command-line/nx-cloud/apply-locally/apply-locally.d.ts +5 -0
  16. package/src/command-line/nx-cloud/apply-locally/apply-locally.d.ts.map +1 -0
  17. package/src/command-line/nx-cloud/apply-locally/apply-locally.js +13 -0
  18. package/src/command-line/nx-cloud/apply-locally/command-object.d.ts +3 -0
  19. package/src/command-line/nx-cloud/apply-locally/command-object.d.ts.map +1 -0
  20. package/src/command-line/nx-cloud/apply-locally/command-object.js +15 -0
  21. package/src/command-line/nx-commands.d.ts.map +1 -1
  22. package/src/command-line/nx-commands.js +9 -7
  23. package/src/command-line/release/config/config.d.ts.map +1 -1
  24. package/src/command-line/release/config/config.js +11 -2
  25. package/src/command-line/release/index.d.ts +1 -1
  26. package/src/command-line/release/index.d.ts.map +1 -1
  27. package/src/command-line/release/release.d.ts +1 -1
  28. package/src/command-line/release/release.d.ts.map +1 -1
  29. package/src/command-line/release/utils/shared.d.ts +1 -1
  30. package/src/command-line/release/utils/shared.d.ts.map +1 -1
  31. package/src/command-line/release/utils/shared.js +23 -15
  32. package/src/command-line/watch/watch.js +4 -4
  33. package/src/core/graph/main.js +1 -1
  34. package/src/daemon/client/client.d.ts.map +1 -1
  35. package/src/daemon/client/client.js +6 -1
  36. package/src/daemon/server/project-graph-incremental-recomputation.d.ts.map +1 -1
  37. package/src/daemon/server/project-graph-incremental-recomputation.js +38 -10
  38. package/src/executors/run-commands/running-tasks.d.ts +1 -1
  39. package/src/executors/run-commands/running-tasks.d.ts.map +1 -1
  40. package/src/executors/run-commands/running-tasks.js +23 -17
  41. package/src/native/nx.wasm32-wasi.wasm +0 -0
  42. package/src/plugins/js/lock-file/project-graph-pruning.d.ts.map +1 -1
  43. package/src/plugins/js/lock-file/project-graph-pruning.js +3 -1
  44. package/src/plugins/js/project-graph/build-dependencies/target-project-locator.d.ts.map +1 -1
  45. package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +6 -3
  46. package/src/plugins/js/utils/register.d.ts.map +1 -1
  47. package/src/plugins/js/utils/register.js +14 -0
  48. package/src/project-graph/plugins/isolation/isolated-plugin.d.ts.map +1 -1
  49. package/src/project-graph/plugins/isolation/isolated-plugin.js +42 -35
  50. package/src/tasks-runner/forked-process-task-runner.d.ts.map +1 -1
  51. package/src/tasks-runner/forked-process-task-runner.js +1 -5
  52. package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.d.ts.map +1 -1
  53. package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.js +1 -0
  54. package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.d.ts.map +1 -1
  55. package/src/tasks-runner/life-cycles/dynamic-run-one-terminal-output-life-cycle.js +1 -0
  56. package/src/tasks-runner/life-cycles/tui-summary-life-cycle.d.ts.map +1 -1
  57. package/src/tasks-runner/life-cycles/tui-summary-life-cycle.js +15 -5
  58. package/src/tasks-runner/pseudo-terminal.d.ts +2 -2
  59. package/src/tasks-runner/pseudo-terminal.d.ts.map +1 -1
  60. package/src/tasks-runner/pseudo-terminal.js +7 -5
  61. package/src/tasks-runner/run-command.d.ts.map +1 -1
  62. package/src/tasks-runner/run-command.js +3 -1
  63. package/src/tasks-runner/running-tasks/batch-process.d.ts +0 -2
  64. package/src/tasks-runner/running-tasks/batch-process.d.ts.map +1 -1
  65. package/src/tasks-runner/running-tasks/batch-process.js +0 -6
  66. package/src/tasks-runner/running-tasks/node-child-process.d.ts +2 -1
  67. package/src/tasks-runner/running-tasks/node-child-process.d.ts.map +1 -1
  68. package/src/tasks-runner/running-tasks/node-child-process.js +8 -5
  69. package/src/tasks-runner/task-orchestrator.d.ts.map +1 -1
  70. package/src/tasks-runner/task-orchestrator.js +5 -17
  71. package/src/utils/output.d.ts.map +1 -1
  72. package/src/utils/output.js +6 -1
  73. package/src/utils/plugins/output.d.ts +29 -1
  74. package/src/utils/plugins/output.d.ts.map +1 -1
  75. package/src/utils/plugins/output.js +90 -1
  76. package/src/utils/plugins/plugin-capabilities.d.ts +1 -0
  77. package/src/utils/plugins/plugin-capabilities.d.ts.map +1 -1
  78. package/src/utils/plugins/plugin-capabilities.js +2 -0
  79. package/src/native/index.d.ts +0 -553
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2017-2025 Narwhal Technologies Inc.
3
+ Copyright (c) 2017-2026 Narwhal Technologies Inc.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the
@@ -1 +1 @@
1
- {"version":3,"file":"init-local.d.ts","sourceRoot":"","sources":["../../../../packages/nx/bin/init-local.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAMxE;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,oBAAoB,iBA6C9D;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,YA6BvD"}
1
+ {"version":3,"file":"init-local.d.ts","sourceRoot":"","sources":["../../../../packages/nx/bin/init-local.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAMxE;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,oBAAoB,iBA8C9D;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,YA6BvD"}
package/bin/init-local.js CHANGED
@@ -44,6 +44,7 @@ async function initLocal(workspace) {
44
44
  const split = newArgs.indexOf('--');
45
45
  if (help > -1 && (split === -1 || split > help)) {
46
46
  nx_commands_1.commandsObject.showHelp();
47
+ process.exit(0);
47
48
  }
48
49
  else {
49
50
  nx_commands_1.commandsObject.parse(newArgs);
package/bin/nx.js CHANGED
@@ -1,6 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ // TODO: Remove this workaround once picocolors handles FORCE_COLOR=0 correctly
5
+ // See: https://github.com/alexeyraspopov/picocolors/issues/100
6
+ if (process.env.FORCE_COLOR === '0') {
7
+ process.env.NO_COLOR = '1';
8
+ delete process.env.FORCE_COLOR;
9
+ }
4
10
  const find_workspace_root_1 = require("../src/utils/find-workspace-root");
5
11
  const pc = require("picocolors");
6
12
  const dotenv_1 = require("../src/utils/dotenv");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx",
3
- "version": "22.5.1",
3
+ "version": "22.5.3",
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": {
@@ -54,7 +54,7 @@
54
54
  "jest-diff": "^30.0.2",
55
55
  "jsonc-parser": "3.2.0",
56
56
  "lines-and-columns": "2.0.3",
57
- "minimatch": "10.1.1",
57
+ "minimatch": "10.2.1",
58
58
  "node-machine-id": "1.1.12",
59
59
  "npm-run-path": "^4.0.1",
60
60
  "open": "^8.4.0",
@@ -72,8 +72,8 @@
72
72
  "yargs-parser": "21.1.1"
73
73
  },
74
74
  "peerDependencies": {
75
- "@swc-node/register": "1.11.1",
76
- "@swc/core": "1.15.8"
75
+ "@swc-node/register": "^1.11.1",
76
+ "@swc/core": "^1.15.8"
77
77
  },
78
78
  "peerDependenciesMeta": {
79
79
  "@swc-node/register": {
@@ -84,16 +84,16 @@
84
84
  }
85
85
  },
86
86
  "optionalDependencies": {
87
- "@nx/nx-darwin-arm64": "22.5.1",
88
- "@nx/nx-darwin-x64": "22.5.1",
89
- "@nx/nx-freebsd-x64": "22.5.1",
90
- "@nx/nx-linux-arm-gnueabihf": "22.5.1",
91
- "@nx/nx-linux-arm64-gnu": "22.5.1",
92
- "@nx/nx-linux-arm64-musl": "22.5.1",
93
- "@nx/nx-linux-x64-gnu": "22.5.1",
94
- "@nx/nx-linux-x64-musl": "22.5.1",
95
- "@nx/nx-win32-arm64-msvc": "22.5.1",
96
- "@nx/nx-win32-x64-msvc": "22.5.1"
87
+ "@nx/nx-darwin-arm64": "22.5.3",
88
+ "@nx/nx-darwin-x64": "22.5.3",
89
+ "@nx/nx-freebsd-x64": "22.5.3",
90
+ "@nx/nx-linux-arm-gnueabihf": "22.5.3",
91
+ "@nx/nx-linux-arm64-gnu": "22.5.3",
92
+ "@nx/nx-linux-arm64-musl": "22.5.3",
93
+ "@nx/nx-linux-x64-gnu": "22.5.3",
94
+ "@nx/nx-linux-x64-musl": "22.5.3",
95
+ "@nx/nx-win32-arm64-msvc": "22.5.3",
96
+ "@nx/nx-win32-x64-msvc": "22.5.3"
97
97
  },
98
98
  "nx-migrations": {
99
99
  "migrations": "./migrations.json",
@@ -1 +1 @@
1
- {"version":3,"file":"set-up-ai-agents.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/ai/set-up-ai-agents/set-up-ai-agents.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAS7C,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAyB5B,OAAO,EACL,sCAAsC,EACtC,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,MAAM,EAAE,qBAAqB,EAAE,CAAC;CACjC,CAAC;AAmCF,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,4BAA4B,EACrC,KAAK,UAAQ,GACZ,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAmC5D;AAaD,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC,CA4O7C;AAqJD,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"set-up-ai-agents.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/ai/set-up-ai-agents/set-up-ai-agents.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAS7C,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAyB5B,OAAO,EACL,sCAAsC,EACtC,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,MAAM,EAAE,qBAAqB,EAAE,CAAC;CACjC,CAAC;AAmCF,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,4BAA4B,EACrC,KAAK,UAAQ,GACZ,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAmC5D;AAaD,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC,CA6O7C;AAqJD,eAAe,sBAAsB,CAAC"}
@@ -98,6 +98,7 @@ async function setupAiAgentsGeneratorImpl(tree, options) {
98
98
  ...json.extraKnownMarketplaces,
99
99
  'nx-claude-plugins': {
100
100
  source: {
101
+ ...json.extraKnownMarketplaces?.['nx-claude-plugins']?.source,
101
102
  source: 'github',
102
103
  repo: 'nrwl/nx-ai-agents-config',
103
104
  },
@@ -1 +1 @@
1
- {"version":3,"file":"configure-ai-agents.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/configure-ai-agents/configure-ai-agents.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,wBAAwB,EAC9B,KAAK,UAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CA4Nf"}
1
+ {"version":3,"file":"configure-ai-agents.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/configure-ai-agents/configure-ai-agents.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAG5D,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,wBAAwB,EAC9B,KAAK,UAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAgDf;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAyOf"}
@@ -10,7 +10,9 @@ const constants_1 = require("../../ai/constants");
10
10
  const utils_1 = require("../../ai/utils");
11
11
  const devkit_internals_1 = require("../../devkit-internals");
12
12
  const output_1 = require("../../utils/output");
13
+ const package_manager_1 = require("../../utils/package-manager");
13
14
  const provenance_1 = require("../../utils/provenance");
15
+ const versions_1 = require("../../utils/versions");
14
16
  const workspace_root_1 = require("../../utils/workspace-root");
15
17
  const ora = require("ora");
16
18
  async function configureAiAgentsHandler(args, inner = false) {
@@ -20,6 +22,16 @@ async function configureAiAgentsHandler(args, inner = false) {
20
22
  inner) {
21
23
  return await configureAiAgentsHandlerImpl(args);
22
24
  }
25
+ // Skip downloading latest if the current version is already the latest
26
+ try {
27
+ const latestVersion = await (0, package_manager_1.resolvePackageVersionUsingRegistry)('nx', 'latest');
28
+ if (latestVersion === versions_1.nxVersion) {
29
+ return await configureAiAgentsHandlerImpl(args);
30
+ }
31
+ }
32
+ catch {
33
+ // If we can't check, proceed with download
34
+ }
23
35
  let cleanup;
24
36
  try {
25
37
  await (0, provenance_1.ensurePackageHasProvenance)('nx', 'latest');
@@ -40,6 +52,16 @@ async function configureAiAgentsHandler(args, inner = false) {
40
52
  }
41
53
  }
42
54
  async function configureAiAgentsHandlerImpl(options) {
55
+ // Node 24 has stricter readline behavior, and enquirer is not checking for closed state
56
+ // when invoking operations, thus you get an ERR_USE_AFTER_CLOSE error.
57
+ process.on('uncaughtException', (error) => {
58
+ if (error &&
59
+ typeof error === 'object' &&
60
+ 'code' in error &&
61
+ error['code'] === 'ERR_USE_AFTER_CLOSE')
62
+ return;
63
+ throw error;
64
+ });
43
65
  const normalizedOptions = normalizeOptions(options);
44
66
  const { nonConfiguredAgents, partiallyConfiguredAgents, fullyConfiguredAgents, disabledAgents, } = await (0, utils_1.getAgentConfigurations)(normalizedOptions.agents, workspace_root_1.workspaceRoot);
45
67
  if (disabledAgents.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"command-object.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/list/command-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,eAAO,MAAM,gBAAgB,EAAE,aAa9B,CAAC"}
1
+ {"version":3,"file":"command-object.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/list/command-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,eAAO,MAAM,gBAAgB,EAAE,aAkB9B,CAAC"}
@@ -4,9 +4,14 @@ exports.yargsListCommand = void 0;
4
4
  exports.yargsListCommand = {
5
5
  command: 'list [plugin]',
6
6
  describe: 'Lists installed plugins, capabilities of installed plugins and other available plugins.',
7
- builder: (yargs) => yargs.positional('plugin', {
7
+ builder: (yargs) => yargs
8
+ .positional('plugin', {
8
9
  type: 'string',
9
10
  description: 'The name of an installed plugin to query.',
11
+ })
12
+ .option('json', {
13
+ type: 'boolean',
14
+ description: 'Output JSON.',
10
15
  }),
11
16
  handler: async (args) => {
12
17
  await (await Promise.resolve().then(() => require('./list'))).listHandler(args);
@@ -1,6 +1,8 @@
1
1
  export interface ListArgs {
2
2
  /** The name of an installed plugin to query */
3
3
  plugin?: string | undefined;
4
+ /** Output as JSON */
5
+ json?: boolean;
4
6
  }
5
7
  /**
6
8
  * List available plugins or capabilities within a specific plugin
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/list/list.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,QAAQ;IACvB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC/D"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/list/list.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,QAAQ;IACvB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C/D"}
@@ -19,12 +19,16 @@ async function listHandler(args) {
19
19
  const projectGraph = await (0, project_graph_1.createProjectGraphAsync)({ exitOnError: true });
20
20
  const projects = (0, project_graph_1.readProjectsConfigurationFromProjectGraph)(projectGraph);
21
21
  if (args.plugin) {
22
- await (0, plugins_1.listPluginCapabilities)(args.plugin, projects.projects);
22
+ await (0, plugins_1.listPluginCapabilities)(args.plugin, projects.projects, args.json);
23
23
  }
24
24
  else {
25
25
  const nxJson = (0, nx_json_1.readNxJson)();
26
26
  const localPlugins = await (0, plugins_1.getLocalWorkspacePlugins)(projects, nxJson);
27
27
  const installedPlugins = await (0, plugins_1.getInstalledPluginsAndCapabilities)(workspace_root_1.workspaceRoot, projects.projects);
28
+ if (args.json) {
29
+ console.log(JSON.stringify((0, output_2.formatPluginsAsJson)(localPlugins, installedPlugins), null, 2));
30
+ return;
31
+ }
28
32
  if (localPlugins.size) {
29
33
  (0, plugins_1.listPlugins)(localPlugins, 'Local workspace plugins:');
30
34
  }
@@ -0,0 +1,5 @@
1
+ export interface ApplyLocallyArgs {
2
+ verbose?: boolean;
3
+ }
4
+ export declare function applyLocallyHandler(args: ApplyLocallyArgs): Promise<number>;
5
+ //# sourceMappingURL=apply-locally.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-locally.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/nx-cloud/apply-locally/apply-locally.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAM3E"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyLocallyHandler = applyLocallyHandler;
4
+ const nx_json_1 = require("../../../config/nx-json");
5
+ const nx_cloud_utils_1 = require("../../../utils/nx-cloud-utils");
6
+ const utils_1 = require("../utils");
7
+ function applyLocallyHandler(args) {
8
+ if (!(0, nx_cloud_utils_1.isNxCloudUsed)((0, nx_json_1.readNxJson)())) {
9
+ (0, utils_1.warnNotConnectedToCloud)();
10
+ return Promise.resolve(0);
11
+ }
12
+ return (0, utils_1.executeNxCloudCommand)('apply-locally', args.verbose);
13
+ }
@@ -0,0 +1,3 @@
1
+ import { CommandModule } from 'yargs';
2
+ export declare const yargsApplyLocallyCommand: 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/apply-locally/command-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,eAAO,MAAM,wBAAwB,EAAE,aActC,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.yargsApplyLocallyCommand = void 0;
4
+ const shared_options_1 = require("../../yargs-utils/shared-options");
5
+ exports.yargsApplyLocallyCommand = {
6
+ command: 'apply-locally [options]',
7
+ describe: 'Applies a self-healing CI fix locally. This command is an alias for `nx-cloud apply-locally`.',
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('./apply-locally'))).applyLocallyHandler(args));
14
+ },
15
+ };
@@ -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;AA2D/B,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAEzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,qBAuDf,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;AA4D/B,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAEzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,qBAwDf,CAAC"}
@@ -33,11 +33,12 @@ const command_object_27 = require("./nx-cloud/start-ci-run/command-object");
33
33
  const command_object_28 = require("./nx-cloud/start-agent/command-object");
34
34
  const command_object_29 = require("./nx-cloud/complete-run/command-object");
35
35
  const command_object_30 = require("./nx-cloud/fix-ci/command-object");
36
- const command_object_31 = require("./nx-cloud/download-cloud-client/command-object");
36
+ const command_object_31 = require("./nx-cloud/apply-locally/command-object");
37
+ const command_object_32 = require("./nx-cloud/download-cloud-client/command-object");
37
38
  const command_objects_1 = require("./deprecated/command-objects");
38
- const command_object_32 = require("./sync/command-object");
39
+ const command_object_33 = require("./sync/command-object");
39
40
  const output_1 = require("../utils/output");
40
- const command_object_33 = require("./mcp/command-object");
41
+ const command_object_34 = require("./mcp/command-object");
41
42
  // Ensure that the output takes up the available width of the terminal.
42
43
  yargs.wrap(yargs.terminalWidth());
43
44
  exports.parserConfiguration = {
@@ -84,8 +85,8 @@ exports.commandsObject = yargs
84
85
  .command(command_object_16.yargsRunCommand)
85
86
  .command(command_object_17.yargsRunManyCommand)
86
87
  .command(command_object_18.yargsShowCommand)
87
- .command(command_object_32.yargsSyncCommand)
88
- .command(command_object_32.yargsSyncCheckCommand)
88
+ .command(command_object_33.yargsSyncCommand)
89
+ .command(command_object_33.yargsSyncCheckCommand)
89
90
  .command(command_object_3.yargsViewLogsCommand)
90
91
  .command(command_object_19.yargsWatchCommand)
91
92
  .command(command_object_16.yargsNxInfixCommand)
@@ -96,8 +97,9 @@ exports.commandsObject = yargs
96
97
  .command(command_object_28.yargsStartAgentCommand)
97
98
  .command(command_object_29.yargsStopAllAgentsCommand)
98
99
  .command(command_object_30.yargsFixCiCommand)
99
- .command(command_object_31.yargsDownloadCloudClientCommand)
100
- .command(command_object_33.yargsMcpCommand)
100
+ .command(command_object_31.yargsApplyLocallyCommand)
101
+ .command(command_object_32.yargsDownloadCloudClientCommand)
102
+ .command(command_object_34.yargsMcpCommand)
101
103
  .command(resolveConformanceCommandObject())
102
104
  .command(resolveConformanceCheckCommandObject())
103
105
  .scriptName('nx')
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/config/config.ts"],"names":[],"mappings":"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"}
@@ -593,7 +593,7 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
593
593
  return { error, nxReleaseConfig: null };
594
594
  // If any project in the group has docker configuration, disable semver requirement
595
595
  releaseGroup.releaseTag.requireSemver = false;
596
- // Set preferDockerVersion to true by default when docker projects exist,
596
+ // Set preferDockerVersion by default when docker projects exist,
597
597
  // unless user has explicitly configured it
598
598
  if (releaseGroup.releaseTag.preferDockerVersion === false &&
599
599
  userConfig.groups?.[releaseGroupName]?.releaseTag
@@ -602,7 +602,16 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
602
602
  ?.releaseTagPatternPreferDockerVersion === undefined &&
603
603
  userConfig.releaseTag?.preferDockerVersion === undefined &&
604
604
  userConfig.releaseTagPatternPreferDockerVersion === undefined) {
605
- releaseGroup.releaseTag.preferDockerVersion = true;
605
+ // Check if ALL projects have docker config, or just some
606
+ const allProjectsHaveDocker = releaseGroup.projects.every((projectName) => {
607
+ const projectNode = projectGraph.nodes[projectName];
608
+ const projectDockerConfig = projectNode?.data.release?.docker;
609
+ return projectDockerConfig !== undefined || !!releaseGroup.docker;
610
+ });
611
+ // Use 'both' for mixed groups so non-docker projects fall back correctly
612
+ releaseGroup.releaseTag.preferDockerVersion = allProjectsHaveDocker
613
+ ? true
614
+ : 'both';
606
615
  }
607
616
  }
608
617
  }
@@ -13,7 +13,7 @@ export declare class ReleaseClient {
13
13
  releaseChangelog: (args: import("./command-object").ChangelogOptions) => Promise<import("./changelog").NxReleaseChangelogResult>;
14
14
  releasePublish: (args: import("./command-object").PublishOptions) => Promise<import("./publish").PublishProjectsResult>;
15
15
  releaseVersion: (args: import("./command-object").VersionOptions) => Promise<import("./version").NxReleaseVersionResult>;
16
- release: (args: import("./command-object").ReleaseOptions) => Promise<import("./version").NxReleaseVersionResult | number>;
16
+ release: (args: import("./command-object").ReleaseOptions) => Promise<import("./version").NxReleaseVersionResult>;
17
17
  constructor(
18
18
  /**
19
19
  * Nx release configuration to use for the current release client. By default, it will be combined with any
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAMnE;;GAEG;AACH,qBAAa,aAAa;IAgBtB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,kBAAkB;IArB5B,gBAAgB,iHAGd;IACF,cAAc,0GAGZ;IACF,cAAc,2GAGZ;IACF,OAAO,oHAAmE;;IAGxE;;;;OAIG;IACK,eAAe,EAAE,sBAAsB,EACvC,kBAAkB,GAAE,OAAe;CAE9C;AAED,QAAA,MAAM,aAAa,eAAkD,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAExB,OAAO,aAAa,CAAC,gBAAgB,CAAC;AAE3C;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD;;GAEG;AACH,eAAO,MAAM,cAAc,EAEtB,OAAO,aAAa,CAAC,cAAc,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,cAAc,EAEtB,OAAO,aAAa,CAAC,cAAc,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,OAAO,EAEf,OAAO,aAAa,CAAC,OAAO,CAAC;AAElC;;GAEG;AACH,OAAO,EACL,yBAAyB,EACzB,cAAc,GACf,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAMnE;;GAEG;AACH,qBAAa,aAAa;IAgBtB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,kBAAkB;IArB5B,gBAAgB,iHAGd;IACF,cAAc,0GAGZ;IACF,cAAc,2GAGZ;IACF,OAAO,2GAAmE;;IAGxE;;;;OAIG;IACK,eAAe,EAAE,sBAAsB,EACvC,kBAAkB,GAAE,OAAe;CAE9C;AAED,QAAA,MAAM,aAAa,eAAkD,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAExB,OAAO,aAAa,CAAC,gBAAgB,CAAC;AAE3C;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD;;GAEG;AACH,eAAO,MAAM,cAAc,EAEtB,OAAO,aAAa,CAAC,cAAc,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,cAAc,EAEtB,OAAO,aAAa,CAAC,cAAc,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,OAAO,EAEf,OAAO,aAAa,CAAC,OAAO,CAAC;AAElC;;GAEG;AACH,OAAO,EACL,yBAAyB,EACzB,cAAc,GACf,MAAM,2BAA2B,CAAC"}
@@ -2,5 +2,5 @@ import { NxReleaseConfiguration } from '../../config/nx-json';
2
2
  import { ReleaseOptions, VersionOptions } from './command-object';
3
3
  import { NxReleaseVersionResult } from './version';
4
4
  export declare const releaseCLIHandler: (args: VersionOptions) => Promise<number>;
5
- export declare function createAPI(overrideReleaseConfig: NxReleaseConfiguration, ignoreNxJsonConfig: boolean): (args: ReleaseOptions) => Promise<NxReleaseVersionResult | number>;
5
+ export declare function createAPI(overrideReleaseConfig: NxReleaseConfiguration, ignoreNxJsonConfig: boolean): (args: ReleaseOptions) => Promise<NxReleaseVersionResult>;
6
6
  //# sourceMappingURL=release.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/release.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAC;AAM1E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA2BlE,OAAO,EACL,sBAAsB,EAEvB,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,iBAAiB,GAAI,MAAM,cAAc,oBACQ,CAAC;AAE/D,wBAAgB,SAAS,CACvB,qBAAqB,EAAE,sBAAsB,EAC7C,kBAAkB,EAAE,OAAO,IAgBzB,MAAM,cAAc,KACnB,OAAO,CAAC,sBAAsB,GAAG,MAAM,CAAC,CA0W5C"}
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/release.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAC;AAM1E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA2BlE,OAAO,EACL,sBAAsB,EAEvB,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,iBAAiB,GAAI,MAAM,cAAc,oBACQ,CAAC;AAE/D,wBAAgB,SAAS,CACvB,qBAAqB,EAAE,sBAAsB,EAC7C,kBAAkB,EAAE,OAAO,IAgBzB,MAAM,cAAc,KACnB,OAAO,CAAC,sBAAsB,CAAC,CA0WnC"}
@@ -16,7 +16,7 @@ export interface VersionDataEntry {
16
16
  * dockerVersion will be populated if the project is a docker project and has been
17
17
  * included within this release.
18
18
  */
19
- dockerVersion?: string;
19
+ dockerVersion?: string | null;
20
20
  /**
21
21
  * The list of projects which depend upon the current project.
22
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/shared.ts"],"names":[],"mappings":"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"}
@@ -203,14 +203,19 @@ function createGitTagValues(releaseGroups, releaseGroupToFilteredProjects, versi
203
203
  }
204
204
  }
205
205
  else {
206
- // Use either docker version or semver version based on preference
207
- tags.push((0, utils_1.interpolate)(releaseGroup.releaseTag.pattern, {
208
- version: preferDockerVersion
209
- ? projectVersionData.dockerVersion
210
- : projectVersionData.newVersion,
211
- projectName: (0, git_1.sanitizeProjectNameForGitTag)(project),
212
- releaseGroupName: releaseGroup.name,
213
- }));
206
+ // Use either docker version or semver version based on preference, with null fallback
207
+ const version = preferDockerVersion
208
+ ? (projectVersionData.dockerVersion ??
209
+ projectVersionData.newVersion)
210
+ : (projectVersionData.newVersion ??
211
+ projectVersionData.dockerVersion);
212
+ if (version) {
213
+ tags.push((0, utils_1.interpolate)(releaseGroup.releaseTag.pattern, {
214
+ version,
215
+ projectName: (0, git_1.sanitizeProjectNameForGitTag)(project),
216
+ releaseGroupName: releaseGroup.name,
217
+ }));
218
+ }
214
219
  }
215
220
  }
216
221
  }
@@ -237,13 +242,16 @@ function createGitTagValues(releaseGroups, releaseGroupToFilteredProjects, versi
237
242
  }
238
243
  }
239
244
  else {
240
- // Use either docker version or semver version based on preference
241
- tags.push((0, utils_1.interpolate)(releaseGroup.releaseTag.pattern, {
242
- version: preferDockerVersion
243
- ? projectVersionData.dockerVersion
244
- : projectVersionData.newVersion,
245
- releaseGroupName: releaseGroup.name,
246
- }));
245
+ // Use either docker version or semver version based on preference, with null fallback
246
+ const version = preferDockerVersion
247
+ ? (projectVersionData.dockerVersion ?? projectVersionData.newVersion)
248
+ : (projectVersionData.newVersion ?? projectVersionData.dockerVersion);
249
+ if (version) {
250
+ tags.push((0, utils_1.interpolate)(releaseGroup.releaseTag.pattern, {
251
+ version,
252
+ releaseGroupName: releaseGroup.name,
253
+ }));
254
+ }
247
255
  }
248
256
  }
249
257
  }
@@ -28,10 +28,10 @@ class BatchFunctionRunner {
28
28
  fileChanges.forEach((fileChange) => {
29
29
  this.pendingFiles.add(fileChange.path);
30
30
  });
31
- return this.process();
31
+ return this.process(true);
32
32
  }
33
- async process() {
34
- if (!this.running && this.hasPending) {
33
+ async process(runAnyway) {
34
+ if (!this.running && (this.hasPending || runAnyway)) {
35
35
  this.running = true;
36
36
  // Clone the pending projects and files before clearing
37
37
  const projects = new Set(this.pendingProjects);
@@ -41,7 +41,7 @@ class BatchFunctionRunner {
41
41
  this.pendingFiles.clear();
42
42
  return this.callback(projects, files).then(() => {
43
43
  this.running = false;
44
- this.process();
44
+ this.process(false);
45
45
  });
46
46
  }
47
47
  else {