nx 21.4.0-canary.20250729-c2d0ecf → 21.4.0-canary.20250731-b9bfeeb

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx",
3
- "version": "21.4.0-canary.20250729-c2d0ecf",
3
+ "version": "21.4.0-canary.20250731-b9bfeeb",
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.4.0-canary.20250729-c2d0ecf",
87
- "@nx/nx-darwin-x64": "21.4.0-canary.20250729-c2d0ecf",
88
- "@nx/nx-freebsd-x64": "21.4.0-canary.20250729-c2d0ecf",
89
- "@nx/nx-linux-arm-gnueabihf": "21.4.0-canary.20250729-c2d0ecf",
90
- "@nx/nx-linux-arm64-gnu": "21.4.0-canary.20250729-c2d0ecf",
91
- "@nx/nx-linux-arm64-musl": "21.4.0-canary.20250729-c2d0ecf",
92
- "@nx/nx-linux-x64-gnu": "21.4.0-canary.20250729-c2d0ecf",
93
- "@nx/nx-linux-x64-musl": "21.4.0-canary.20250729-c2d0ecf",
94
- "@nx/nx-win32-arm64-msvc": "21.4.0-canary.20250729-c2d0ecf",
95
- "@nx/nx-win32-x64-msvc": "21.4.0-canary.20250729-c2d0ecf"
86
+ "@nx/nx-darwin-arm64": "21.4.0-canary.20250731-b9bfeeb",
87
+ "@nx/nx-darwin-x64": "21.4.0-canary.20250731-b9bfeeb",
88
+ "@nx/nx-freebsd-x64": "21.4.0-canary.20250731-b9bfeeb",
89
+ "@nx/nx-linux-arm-gnueabihf": "21.4.0-canary.20250731-b9bfeeb",
90
+ "@nx/nx-linux-arm64-gnu": "21.4.0-canary.20250731-b9bfeeb",
91
+ "@nx/nx-linux-arm64-musl": "21.4.0-canary.20250731-b9bfeeb",
92
+ "@nx/nx-linux-x64-gnu": "21.4.0-canary.20250731-b9bfeeb",
93
+ "@nx/nx-linux-x64-musl": "21.4.0-canary.20250731-b9bfeeb",
94
+ "@nx/nx-win32-arm64-msvc": "21.4.0-canary.20250731-b9bfeeb",
95
+ "@nx/nx-win32-x64-msvc": "21.4.0-canary.20250731-b9bfeeb"
96
96
  },
97
97
  "nx-migrations": {
98
98
  "migrations": "./migrations.json",
@@ -0,0 +1,3 @@
1
+ import { CommandModule } from 'yargs';
2
+ export declare const yargsMcpCommand: 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/mcp/command-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,eAAO,MAAM,eAAe,EAAE,aAqB7B,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.yargsMcpCommand = void 0;
4
+ exports.yargsMcpCommand = {
5
+ command: 'mcp',
6
+ describe: 'Starts the Nx MCP server.',
7
+ builder: (y) => y
8
+ .version(false)
9
+ .strict(false)
10
+ .parserConfiguration({
11
+ 'unknown-options-as-args': true,
12
+ 'populate--': true,
13
+ })
14
+ .usage('')
15
+ .help(false)
16
+ .showHelp(async () => {
17
+ await (await Promise.resolve().then(() => require('./mcp'))).showHelp();
18
+ process.exit(0);
19
+ }),
20
+ handler: async (args) => {
21
+ await (await Promise.resolve().then(() => require('./mcp'))).mcpHandler(args);
22
+ process.exit(0);
23
+ },
24
+ };
@@ -0,0 +1,3 @@
1
+ export declare function mcpHandler(args: any): Promise<void>;
2
+ export declare function showHelp(): Promise<void>;
3
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/mcp/mcp.ts"],"names":[],"mappings":"AAIA,wBAAsB,UAAU,CAAC,IAAI,EAAE,GAAG,iBAOzC;AAED,wBAAsB,QAAQ,kBAa7B"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mcpHandler = mcpHandler;
4
+ exports.showHelp = showHelp;
5
+ const child_process_1 = require("child_process");
6
+ const package_manager_1 = require("../../utils/package-manager");
7
+ const workspace_root_1 = require("../../utils/workspace-root");
8
+ async function mcpHandler(args) {
9
+ const packageManagerCommands = (0, package_manager_1.getPackageManagerCommand)();
10
+ (0, child_process_1.spawnSync)(packageManagerCommands.dlx, ['-y', 'nx-mcp@latest', ...args['_']], {
11
+ stdio: 'inherit',
12
+ cwd: workspace_root_1.workspaceRoot,
13
+ });
14
+ }
15
+ async function showHelp() {
16
+ const packageManagerCommands = (0, package_manager_1.getPackageManagerCommand)();
17
+ const helpOutput = (0, child_process_1.spawnSync)(packageManagerCommands.dlx, ['-y', 'nx-mcp@latest', '--help'], {
18
+ cwd: workspace_root_1.workspaceRoot,
19
+ encoding: 'utf-8',
20
+ });
21
+ console.log(helpOutput.stdout?.toString().replaceAll('nx-mcp', 'nx mcp'));
22
+ }
@@ -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;AAsD/B,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAEzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,qBAkDf,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;AAuD/B,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAEzE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,qBAmDf,CAAC"}
@@ -33,6 +33,7 @@ const command_object_27 = require("./nx-cloud/fix-ci/command-object");
33
33
  const command_objects_1 = require("./deprecated/command-objects");
34
34
  const command_object_28 = require("./sync/command-object");
35
35
  const output_1 = require("../utils/output");
36
+ const command_object_29 = require("./mcp/command-object");
36
37
  // Ensure that the output takes up the available width of the terminal.
37
38
  yargs.wrap(yargs.terminalWidth());
38
39
  exports.parserConfiguration = {
@@ -88,6 +89,7 @@ exports.commandsObject = yargs
88
89
  .command(command_object_25.yargsRecordCommand)
89
90
  .command(command_object_26.yargsStartCiRunCommand)
90
91
  .command(command_object_27.yargsFixCiCommand)
92
+ .command(command_object_29.yargsMcpCommand)
91
93
  .command(resolveConformanceCommandObject())
92
94
  .command(resolveConformanceCheckCommandObject())
93
95
  .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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"}
@@ -303,7 +303,11 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
303
303
  releaseTagPattern:
304
304
  // The appropriate group default releaseTagPattern is dependent upon the projectRelationships
305
305
  groupProjectsRelationship === 'independent'
306
- ? defaultIndependentReleaseTagPattern
306
+ ? // If the default pattern contains {projectName} then it will create unique release tags for each project.
307
+ // Otherwise, use the default value to guarantee unique tags
308
+ WORKSPACE_DEFAULTS.releaseTagPattern?.includes('{projectName}')
309
+ ? WORKSPACE_DEFAULTS.releaseTagPattern
310
+ : defaultIndependentReleaseTagPattern
307
311
  : WORKSPACE_DEFAULTS.releaseTagPattern,
308
312
  releaseTagPatternCheckAllBranchesWhen: userConfig.releaseTagPatternCheckAllBranchesWhen ?? undefined,
309
313
  releaseTagPatternRequireSemver: groupReleaseTagPatternRequireSemver,
@@ -508,7 +512,11 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
508
512
  releaseTagPattern: releaseGroup.releaseTagPattern ||
509
513
  // The appropriate group default releaseTagPattern is dependent upon the projectRelationships
510
514
  (projectsRelationship === 'independent'
511
- ? defaultIndependentReleaseTagPattern
515
+ ? // If the default pattern contains {projectName} then it will create unique release tags for each project.
516
+ // Otherwise, use the default value to guarantee unique tags
517
+ userConfig.releaseTagPattern?.includes('{projectName}')
518
+ ? userConfig.releaseTagPattern
519
+ : defaultIndependentReleaseTagPattern
512
520
  : userConfig.releaseTagPattern || defaultFixedReleaseTagPattern),
513
521
  releaseTagPatternCheckAllBranchesWhen: releaseGroup.releaseTagPatternCheckAllBranchesWhen ??
514
522
  userConfig.releaseTagPatternCheckAllBranchesWhen ??
@@ -718,6 +726,7 @@ function fillUnspecifiedConventionalCommitsProperties(config) {
718
726
  };
719
727
  }
720
728
  async function handleNxReleaseConfigError(error, useLegacyVersioning) {
729
+ const linkMessage = `\nRead more about Nx Release at https://nx.dev/features/manage-releases.`;
721
730
  switch (error.code) {
722
731
  case 'PROJECTS_AND_GROUPS_DEFINED':
723
732
  {
@@ -727,7 +736,7 @@ async function handleNxReleaseConfigError(error, useLegacyVersioning) {
727
736
  ]);
728
737
  output_1.output.error({
729
738
  title: `"projects" is not valid when explicitly defining release groups, and everything should be expressed within "groups" in that case. If you are using "groups" then you should remove the "projects" property`,
730
- bodyLines: [nxJsonMessage],
739
+ bodyLines: [nxJsonMessage, linkMessage],
731
740
  });
732
741
  }
733
742
  break;
@@ -739,7 +748,7 @@ async function handleNxReleaseConfigError(error, useLegacyVersioning) {
739
748
  ]);
740
749
  output_1.output.error({
741
750
  title: `Release group "${error.data.releaseGroupName}" matches no projects. Please ensure all release groups match at least one project:`,
742
- bodyLines: [nxJsonMessage],
751
+ bodyLines: [nxJsonMessage, linkMessage],
743
752
  });
744
753
  }
745
754
  break;
@@ -751,7 +760,7 @@ async function handleNxReleaseConfigError(error, useLegacyVersioning) {
751
760
  ]);
752
761
  output_1.output.error({
753
762
  title: `Project "${error.data.project}" matches multiple release groups. Please ensure all projects are part of only one release group:`,
754
- bodyLines: [nxJsonMessage],
763
+ bodyLines: [nxJsonMessage, linkMessage],
755
764
  });
756
765
  }
757
766
  break;
@@ -765,7 +774,7 @@ async function handleNxReleaseConfigError(error, useLegacyVersioning) {
765
774
  ]);
766
775
  output_1.output.error({
767
776
  title: `Release group "${error.data.releaseGroupName}" has an invalid releaseTagPattern. Please ensure the pattern contains exactly one instance of the "{version}" placeholder`,
768
- bodyLines: [nxJsonMessage],
777
+ bodyLines: [nxJsonMessage, linkMessage],
769
778
  });
770
779
  }
771
780
  break;
@@ -779,7 +788,7 @@ async function handleNxReleaseConfigError(error, useLegacyVersioning) {
779
788
  : 'configuration options';
780
789
  output_1.output.error({
781
790
  title: `You have configured both the shorthand "version.conventionalCommits" and one or more of the related ${text} that it sets for you. Please use one or the other:`,
782
- bodyLines: [nxJsonMessage],
791
+ bodyLines: [nxJsonMessage, linkMessage],
783
792
  });
784
793
  }
785
794
  break;
@@ -791,7 +800,7 @@ async function handleNxReleaseConfigError(error, useLegacyVersioning) {
791
800
  ]);
792
801
  output_1.output.error({
793
802
  title: `You have duplicate conflicting git configurations. If you are using the top level 'nx release' command, then remove the 'release.version.git' and 'release.changelog.git' properties in favor of 'release.git'. If you are using the subcommands or the programmatic API, then remove the 'release.git' property in favor of 'release.version.git' and 'release.changelog.git':`,
794
- bodyLines: [nxJsonMessage],
803
+ bodyLines: [nxJsonMessage, linkMessage],
795
804
  });
796
805
  }
797
806
  break;
@@ -799,7 +808,7 @@ async function handleNxReleaseConfigError(error, useLegacyVersioning) {
799
808
  const nxJsonMessage = await (0, resolve_nx_json_error_message_1.resolveNxJsonConfigErrorMessage)(['release']);
800
809
  output_1.output.error({
801
810
  title: `There was an error when resolving the configured changelog renderer at path: ${error.data.workspaceRelativePath}`,
802
- bodyLines: [nxJsonMessage],
811
+ bodyLines: [nxJsonMessage, linkMessage],
803
812
  });
804
813
  break;
805
814
  }
@@ -812,7 +821,7 @@ async function handleNxReleaseConfigError(error, useLegacyVersioning) {
812
821
  title: `Your "changelog.createRelease" config specifies an unsupported provider "${error.data.provider}". The supported providers are ${error.data.supportedProviders
813
822
  .map((p) => `"${p}"`)
814
823
  .join(', ')}`,
815
- bodyLines: [nxJsonMessage],
824
+ bodyLines: [nxJsonMessage, linkMessage],
816
825
  });
817
826
  }
818
827
  break;
@@ -823,7 +832,7 @@ async function handleNxReleaseConfigError(error, useLegacyVersioning) {
823
832
  ]);
824
833
  output_1.output.error({
825
834
  title: `Your "changelog.createRelease" config specifies an invalid hostname "${error.data.hostname}". Please ensure you provide a valid hostname value, such as "example.com"`,
826
- bodyLines: [nxJsonMessage],
835
+ bodyLines: [nxJsonMessage, linkMessage],
827
836
  });
828
837
  }
829
838
  break;
@@ -834,7 +843,7 @@ async function handleNxReleaseConfigError(error, useLegacyVersioning) {
834
843
  ]);
835
844
  output_1.output.error({
836
845
  title: `Your "changelog.createRelease" config specifies an invalid apiBaseUrl "${error.data.apiBaseUrl}". Please ensure you provide a valid URL value, such as "https://example.com"`,
837
- bodyLines: [nxJsonMessage],
846
+ bodyLines: [nxJsonMessage, linkMessage],
838
847
  });
839
848
  }
840
849
  break;
@@ -845,7 +854,7 @@ async function handleNxReleaseConfigError(error, useLegacyVersioning) {
845
854
  ]);
846
855
  output_1.output.error({
847
856
  title: `The createRelease option for changelogs cannot be enabled when git push is explicitly disabled because the commit needs to be pushed to the remote in order to tie the release to it`,
848
- bodyLines: [nxJsonMessage],
857
+ bodyLines: [nxJsonMessage, linkMessage],
849
858
  });
850
859
  }
851
860
  break;
@@ -14,7 +14,7 @@ async function resolveNxJsonConfigErrorMessage(propPath) {
14
14
  ? `, line ${errorLines.startLine}`
15
15
  : `, lines ${errorLines.startLine}-${errorLines.endLine}`;
16
16
  }
17
- return nxJsonMessage;
17
+ return nxJsonMessage + '.';
18
18
  }
19
19
  async function getJsonConfigLinesForErrorMessage(rawConfig, jsonPath) {
20
20
  try {