nx 22.5.0-beta.2 → 22.5.0-beta.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 (42) hide show
  1. package/README.md +3 -3
  2. package/package.json +13 -13
  3. package/src/command-line/nx-commands.js +1 -1
  4. package/src/command-line/release/changelog/version-plan-filtering.d.ts +6 -3
  5. package/src/command-line/release/changelog/version-plan-filtering.d.ts.map +1 -1
  6. package/src/command-line/release/changelog/version-plan-filtering.js +4 -3
  7. package/src/command-line/release/changelog.d.ts.map +1 -1
  8. package/src/command-line/release/changelog.js +11 -9
  9. package/src/command-line/release/utils/git.d.ts +3 -2
  10. package/src/command-line/release/utils/git.d.ts.map +1 -1
  11. package/src/command-line/release/utils/git.js +3 -69
  12. package/src/command-line/release/utils/release-graph.d.ts +10 -0
  13. package/src/command-line/release/utils/release-graph.d.ts.map +1 -1
  14. package/src/command-line/release/utils/release-graph.js +32 -1
  15. package/src/command-line/release/utils/repository-git-tags.d.ts +26 -0
  16. package/src/command-line/release/utils/repository-git-tags.d.ts.map +1 -0
  17. package/src/command-line/release/utils/repository-git-tags.js +125 -0
  18. package/src/command-line/release/utils/resolve-semver-specifier.d.ts +2 -1
  19. package/src/command-line/release/utils/resolve-semver-specifier.d.ts.map +1 -1
  20. package/src/command-line/release/utils/resolve-semver-specifier.js +2 -2
  21. package/src/command-line/release/utils/shared.d.ts +3 -2
  22. package/src/command-line/release/utils/shared.d.ts.map +1 -1
  23. package/src/command-line/release/utils/shared.js +4 -10
  24. package/src/command-line/release/version/derive-specifier-from-conventional-commits.d.ts +2 -1
  25. package/src/command-line/release/version/derive-specifier-from-conventional-commits.d.ts.map +1 -1
  26. package/src/command-line/release/version/derive-specifier-from-conventional-commits.js +2 -2
  27. package/src/command-line/release/version/release-group-processor.d.ts.map +1 -1
  28. package/src/command-line/release/version/release-group-processor.js +1 -1
  29. package/src/core/graph/main.js +1 -1
  30. package/src/daemon/client/client.js +4 -4
  31. package/src/native/nx.wasm32-wasi.wasm +0 -0
  32. package/src/project-graph/plugins/get-plugins.d.ts.map +1 -1
  33. package/src/project-graph/plugins/get-plugins.js +81 -11
  34. package/src/project-graph/plugins/isolation/plugin-pool.d.ts.map +1 -1
  35. package/src/project-graph/plugins/isolation/plugin-pool.js +78 -27
  36. package/src/project-graph/plugins/isolation/plugin-worker.js +33 -17
  37. package/src/project-graph/project-graph.js +1 -1
  38. package/src/utils/consume-messages-from-socket.d.ts.map +1 -1
  39. package/src/utils/consume-messages-from-socket.js +3 -1
  40. package/src/utils/promised-based-queue.d.ts +0 -7
  41. package/src/utils/promised-based-queue.d.ts.map +1 -1
  42. package/src/utils/promised-based-queue.js +0 -9
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <p style="text-align: center;">
2
2
  <picture>
3
3
  <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-dark.svg">
4
- <img alt="Nx - Smart Repos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
4
+ <img alt="Nx - Smart Monorepos · Fast Builds" src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-light.svg" width="100%">
5
5
  </picture>
6
6
  </p>
7
7
 
@@ -20,7 +20,7 @@
20
20
 
21
21
  <hr>
22
22
 
23
- # Nx: Smart Repos · Fast Builds
23
+ # Nx: Smart Monorepos · Fast Builds
24
24
 
25
25
  Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.
26
26
 
@@ -62,5 +62,5 @@ npx nx@latest init
62
62
  - [Blog Posts About Nx](https://nx.dev/blog)
63
63
 
64
64
  <p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg"
65
- width="100%" alt="Nx - Smart Repos · Fast Builds"></a></p>
65
+ width="100%" alt="Nx - Smart Monorepos · Fast Builds"></a></p>
66
66
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nx",
3
- "version": "22.5.0-beta.2",
3
+ "version": "22.5.0-beta.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": {
@@ -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.5"
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.0-beta.2",
88
- "@nx/nx-darwin-x64": "22.5.0-beta.2",
89
- "@nx/nx-freebsd-x64": "22.5.0-beta.2",
90
- "@nx/nx-linux-arm-gnueabihf": "22.5.0-beta.2",
91
- "@nx/nx-linux-arm64-gnu": "22.5.0-beta.2",
92
- "@nx/nx-linux-arm64-musl": "22.5.0-beta.2",
93
- "@nx/nx-linux-x64-gnu": "22.5.0-beta.2",
94
- "@nx/nx-linux-x64-musl": "22.5.0-beta.2",
95
- "@nx/nx-win32-arm64-msvc": "22.5.0-beta.2",
96
- "@nx/nx-win32-x64-msvc": "22.5.0-beta.2"
87
+ "@nx/nx-darwin-arm64": "22.5.0-beta.3",
88
+ "@nx/nx-darwin-x64": "22.5.0-beta.3",
89
+ "@nx/nx-freebsd-x64": "22.5.0-beta.3",
90
+ "@nx/nx-linux-arm-gnueabihf": "22.5.0-beta.3",
91
+ "@nx/nx-linux-arm64-gnu": "22.5.0-beta.3",
92
+ "@nx/nx-linux-arm64-musl": "22.5.0-beta.3",
93
+ "@nx/nx-linux-x64-gnu": "22.5.0-beta.3",
94
+ "@nx/nx-linux-x64-musl": "22.5.0-beta.3",
95
+ "@nx/nx-win32-arm64-msvc": "22.5.0-beta.3",
96
+ "@nx/nx-win32-x64-msvc": "22.5.0-beta.3"
97
97
  },
98
98
  "nx-migrations": {
99
99
  "migrations": "./migrations.json",
@@ -51,7 +51,7 @@ exports.parserConfiguration = {
51
51
  */
52
52
  exports.commandsObject = yargs
53
53
  .parserConfiguration(exports.parserConfiguration)
54
- .usage(chalk.bold('Smart Repos · Fast Builds'))
54
+ .usage(chalk.bold('Smart Monorepos · Fast Builds'))
55
55
  .demandCommand(1, '')
56
56
  .command(command_object_1.yargsRegisterCommand)
57
57
  .command(command_object_22.yargsAddCommand)
@@ -2,6 +2,7 @@ import type { ChangelogOptions } from '../command-object';
2
2
  import type { NxReleaseConfig } from '../config/config';
3
3
  import { RawVersionPlan } from '../config/version-plans';
4
4
  import type { VersionData } from '../utils/shared';
5
+ import type { CheckAllBranchesWhen, RepoGitTags } from '../utils/repository-git-tags';
5
6
  /**
6
7
  * Filters version plans to only include those that were committed between the specified SHAs
7
8
  * @param versionPlans The raw version plans to filter
@@ -15,24 +16,26 @@ export declare function filterVersionPlansByCommitRange(versionPlans: RawVersion
15
16
  * Resolves the "from SHA" for changelog purposes.
16
17
  * This determines the starting point for changelog generation and optional version plan filtering.
17
18
  */
18
- export declare function resolveChangelogFromSHA({ fromRef, tagPattern, tagPatternValues, checkAllBranchesWhen, preid, requireSemver, strictPreid, useAutomaticFromRef, }: {
19
+ export declare function resolveChangelogFromSHA({ fromRef, tagPattern, tagPatternValues, checkAllBranchesWhen, preid, requireSemver, strictPreid, useAutomaticFromRef, resolveRepositoryTags, }: {
19
20
  fromRef?: string;
20
21
  tagPattern: string;
21
22
  tagPatternValues: Record<string, string>;
22
- checkAllBranchesWhen: boolean | string[];
23
+ checkAllBranchesWhen: CheckAllBranchesWhen;
23
24
  preid?: string;
24
25
  requireSemver: boolean;
25
26
  strictPreid: boolean;
26
27
  useAutomaticFromRef: boolean;
28
+ resolveRepositoryTags: RepoGitTags['resolveTags'];
27
29
  }): Promise<string | null>;
28
30
  /**
29
31
  * Helper function for workspace-level "from SHA" resolution.
30
32
  * Extracts preids and calls the generic resolver.
31
33
  */
32
- export declare function resolveWorkspaceChangelogFromSHA({ args, nxReleaseConfig, useAutomaticFromRef, }: {
34
+ export declare function resolveWorkspaceChangelogFromSHA({ args, nxReleaseConfig, useAutomaticFromRef, resolveRepositoryTags, }: {
33
35
  args: ChangelogOptions;
34
36
  nxReleaseConfig: NxReleaseConfig;
35
37
  useAutomaticFromRef: boolean;
38
+ resolveRepositoryTags: RepoGitTags['resolveTags'];
36
39
  }): Promise<string | null>;
37
40
  export declare function extractPreidFromVersion(version: string | null | undefined): string | undefined;
38
41
  export declare function extractProjectsPreidFromVersionData(versionData: VersionData | undefined): Record<string, string | undefined> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"version-plan-filtering.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/changelog/version-plan-filtering.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAOzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;;;GAOG;AACH,wBAAsB,+BAA+B,CACnD,YAAY,EAAE,cAAc,EAAE,EAC9B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,cAAc,EAAE,CAAC,CAgC3B;AA0DD;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,EAC5C,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,EACL,aAAa,EACb,WAAW,EACX,mBAAmB,GACpB,EAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,oBAAoB,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyBzB;AAED;;;GAGG;AACH,wBAAsB,gCAAgC,CAAC,EACrD,IAAI,EACJ,eAAe,EACf,mBAAmB,GACpB,EAAE;IACD,IAAI,EAAE,gBAAgB,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;CAC9B,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAczB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,MAAM,GAAG,SAAS,CAOpB;AAED,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,WAAW,GAAG,SAAS,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAYhD"}
1
+ {"version":3,"file":"version-plan-filtering.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/changelog/version-plan-filtering.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAOzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;GAOG;AACH,wBAAsB,+BAA+B,CACnD,YAAY,EAAE,cAAc,EAAE,EAC9B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,cAAc,EAAE,CAAC,CAgC3B;AA0DD;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,EAC5C,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,EACL,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,qBAAqB,GACtB,EAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,qBAAqB,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;CACnD,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BzB;AAED;;;GAGG;AACH,wBAAsB,gCAAgC,CAAC,EACrD,IAAI,EACJ,eAAe,EACf,mBAAmB,EACnB,qBAAqB,GACtB,EAAE;IACD,IAAI,EAAE,gBAAgB,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,qBAAqB,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;CACnD,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAezB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,MAAM,GAAG,SAAS,CAOpB;AAED,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,WAAW,GAAG,SAAS,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAYhD"}
@@ -89,13 +89,13 @@ async function getFilesAddedInCommitRange(fromSHA, toSHA, isVerbose) {
89
89
  * Resolves the "from SHA" for changelog purposes.
90
90
  * This determines the starting point for changelog generation and optional version plan filtering.
91
91
  */
92
- async function resolveChangelogFromSHA({ fromRef, tagPattern, tagPatternValues, checkAllBranchesWhen, preid, requireSemver, strictPreid, useAutomaticFromRef, }) {
92
+ async function resolveChangelogFromSHA({ fromRef, tagPattern, tagPatternValues, checkAllBranchesWhen, preid, requireSemver, strictPreid, useAutomaticFromRef, resolveRepositoryTags, }) {
93
93
  // If user provided a from ref, resolve it to a SHA
94
94
  if (fromRef) {
95
95
  return await (0, git_1.getCommitHash)(fromRef);
96
96
  }
97
97
  // Otherwise, try to resolve it from the latest tag
98
- const latestTag = await (0, git_1.getLatestGitTagForPattern)(tagPattern, tagPatternValues, {
98
+ const latestTag = await (0, git_1.getLatestGitTagForPattern)(tagPattern, tagPatternValues, resolveRepositoryTags, {
99
99
  checkAllBranchesWhen,
100
100
  preid,
101
101
  requireSemver,
@@ -114,7 +114,7 @@ async function resolveChangelogFromSHA({ fromRef, tagPattern, tagPatternValues,
114
114
  * Helper function for workspace-level "from SHA" resolution.
115
115
  * Extracts preids and calls the generic resolver.
116
116
  */
117
- async function resolveWorkspaceChangelogFromSHA({ args, nxReleaseConfig, useAutomaticFromRef, }) {
117
+ async function resolveWorkspaceChangelogFromSHA({ args, nxReleaseConfig, useAutomaticFromRef, resolveRepositoryTags, }) {
118
118
  const workspacePreid = extractPreidFromVersion(args.version);
119
119
  const projectsPreid = extractProjectsPreidFromVersionData(args.versionData);
120
120
  return resolveChangelogFromSHA({
@@ -126,6 +126,7 @@ async function resolveWorkspaceChangelogFromSHA({ args, nxReleaseConfig, useAuto
126
126
  requireSemver: nxReleaseConfig.releaseTag.requireSemver,
127
127
  strictPreid: nxReleaseConfig.releaseTag.strictPreid,
128
128
  useAutomaticFromRef,
129
+ resolveRepositoryTags,
129
130
  });
130
131
  }
131
132
  function extractPreidFromVersion(version) {
@@ -1 +1 @@
1
- {"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/changelog.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAC;AAkB1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAmCpD,OAAO,EACL,cAAc,EASf,MAAM,gBAAgB,CAAC;AAsBxB,MAAM,WAAW,wBAAwB;IACvC,kBAAkB,CAAC,EAAE;QACnB,cAAc,EAAE,cAAc,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;KACjC,CAAC;IACF,iBAAiB,CAAC,EAAE;QAClB,CAAC,WAAW,EAAE,MAAM,GAAG;YACrB,cAAc,EAAE,cAAc,CAAC;YAC/B,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;SACjC,CAAC;KACH,CAAC;CACH;AAGD,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,MAAM,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B,GAAI,MAAM,gBAAgB,oBACH,CAAC;AAE/D,wBAAgB,SAAS,CACvB,qBAAqB,EAAE,sBAAsB,EAC7C,kBAAkB,EAAE,OAAO,IAQzB,MAAM,gBAAgB,KACrB,OAAO,CAAC,wBAAwB,CAAC,CAghBrC"}
1
+ {"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/changelog.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAC;AA8B1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAiCpD,OAAO,EACL,cAAc,EASf,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,wBAAwB;IACvC,kBAAkB,CAAC,EAAE;QACnB,cAAc,EAAE,cAAc,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;KACjC,CAAC;IACF,iBAAiB,CAAC,EAAE;QAClB,CAAC,WAAW,EAAE,MAAM,GAAG;YACrB,cAAc,EAAE,cAAc,CAAC;YAC/B,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;SACjC,CAAC;KACH,CAAC;CACH;AAGD,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,MAAM,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B,GAAI,MAAM,gBAAgB,oBACH,CAAC;AAE/D,wBAAgB,SAAS,CACvB,qBAAqB,EAAE,sBAAsB,EAC7C,kBAAkB,EAAE,OAAO,IAQzB,MAAM,gBAAgB,KACrB,OAAO,CAAC,wBAAwB,CAAC,CAohBrC"}
@@ -17,6 +17,9 @@ const is_ci_1 = require("../../utils/is-ci");
17
17
  const output_1 = require("../../utils/output");
18
18
  const path_1 = require("../../utils/path");
19
19
  const workspace_root_1 = require("../../utils/workspace-root");
20
+ const commit_utils_1 = require("./changelog/commit-utils");
21
+ const version_plan_filtering_1 = require("./changelog/version-plan-filtering");
22
+ const version_plan_utils_1 = require("./changelog/version-plan-utils");
20
23
  const config_1 = require("./config/config");
21
24
  const deep_merge_json_1 = require("./config/deep-merge-json");
22
25
  const version_plans_1 = require("./config/version-plans");
@@ -30,10 +33,7 @@ const remote_release_client_1 = require("./utils/remote-release-clients/remote-r
30
33
  const resolve_changelog_renderer_1 = require("./utils/resolve-changelog-renderer");
31
34
  const resolve_nx_json_error_message_1 = require("./utils/resolve-nx-json-error-message");
32
35
  const shared_1 = require("./utils/shared");
33
- const version_plan_utils_1 = require("./utils/version-plan-utils");
34
- const version_plan_utils_2 = require("./changelog/version-plan-utils");
35
- const commit_utils_1 = require("./changelog/commit-utils");
36
- const version_plan_filtering_1 = require("./changelog/version-plan-filtering");
36
+ const version_plan_utils_2 = require("./utils/version-plan-utils");
37
37
  const releaseChangelogCLIHandler = (args) => (0, handle_errors_1.handleErrors)(args.verbose, () => createAPI({}, false)(args));
38
38
  exports.releaseChangelogCLIHandler = releaseChangelogCLIHandler;
39
39
  function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
@@ -139,6 +139,7 @@ function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
139
139
  args,
140
140
  nxReleaseConfig,
141
141
  useAutomaticFromRef,
142
+ resolveRepositoryTags: releaseGraph.resolveRepositoryTags.bind(releaseGraph),
142
143
  });
143
144
  // Filter version plans based on resolveVersionPlans option
144
145
  const shouldFilterVersionPlans = args.resolveVersionPlans === 'using-from-and-to';
@@ -151,7 +152,7 @@ function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
151
152
  // Set resolved version plans on groups
152
153
  await (0, version_plans_1.setResolvedVersionPlansOnGroups)(rawVersionPlans, releaseGraph.releaseGroups, Object.keys(projectGraph.nodes), args.verbose);
153
154
  // Validate version plans against the filter after resolution
154
- const versionPlanValidationError = (0, version_plan_utils_1.validateResolvedVersionPlansAgainstFilter)(releaseGraph.releaseGroups, releaseGraph.releaseGroupToFilteredProjects);
155
+ const versionPlanValidationError = (0, version_plan_utils_2.validateResolvedVersionPlansAgainstFilter)(releaseGraph.releaseGroups, releaseGraph.releaseGroupToFilteredProjects);
155
156
  if (versionPlanValidationError) {
156
157
  output_1.output.error(versionPlanValidationError);
157
158
  process.exit(1);
@@ -220,6 +221,7 @@ function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
220
221
  fromRef: args.from,
221
222
  tagPattern: pattern,
222
223
  tagPatternValues: templateValues,
224
+ resolveRepositoryTags: releaseGraph.resolveRepositoryTags.bind(releaseGraph),
223
225
  checkAllBranchesWhen,
224
226
  preid,
225
227
  requireSemver,
@@ -286,7 +288,7 @@ function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
286
288
  for (const project of projectNodes) {
287
289
  let changes = null;
288
290
  if (releaseGroup.resolvedVersionPlans) {
289
- changes = (0, version_plan_utils_2.createChangesFromProjectsVersionPlans)(releaseGroup.resolvedVersionPlans, project.name);
291
+ changes = (0, version_plan_utils_1.createChangesFromProjectsVersionPlans)(releaseGroup.resolvedVersionPlans, project.name);
290
292
  }
291
293
  else {
292
294
  const projectCacheKey = `${releaseGroup.name}:${project.name}`;
@@ -350,7 +352,7 @@ function createAPI(overrideReleaseConfig, ignoreNxJsonConfig) {
350
352
  let changes = [];
351
353
  if (releaseGroup.resolvedVersionPlans) {
352
354
  // This is identical to workspace changelog for fixed groups
353
- changes = (0, version_plan_utils_2.createChangesFromGroupVersionPlans)(releaseGroup.resolvedVersionPlans);
355
+ changes = (0, version_plan_utils_1.createChangesFromGroupVersionPlans)(releaseGroup.resolvedVersionPlans);
354
356
  }
355
357
  else {
356
358
  const groupCacheKey = `${releaseGroup.name}:fixed`;
@@ -488,7 +490,7 @@ async function applyChangesAndExit(args, nxReleaseConfig, tree, toSHA, postGitTa
488
490
  const plansToDelete = [];
489
491
  for (const plan of group.resolvedVersionPlans) {
490
492
  // Only delete if ALL projects in the version plan are being filtered/released
491
- if ((0, version_plan_utils_1.areAllVersionPlanProjectsFiltered)(plan, group, filteredProjects)) {
493
+ if ((0, version_plan_utils_2.areAllVersionPlanProjectsFiltered)(plan, group, filteredProjects)) {
492
494
  plansToDelete.push(plan);
493
495
  }
494
496
  }
@@ -860,7 +862,7 @@ function resolveWorkspaceChangelogFromVersionPlans(releaseGraph) {
860
862
  return [];
861
863
  }
862
864
  const versionPlans = firstReleaseGroup.resolvedVersionPlans;
863
- return (0, version_plan_utils_2.createChangesFromGroupVersionPlans)(versionPlans);
865
+ return (0, version_plan_utils_1.createChangesFromGroupVersionPlans)(versionPlans);
864
866
  }
865
867
  async function resolveWorkspaceChangelogFromCommits({ nxReleaseConfig, args, workspacePreid, projectsPreid, useAutomaticFromRef, toSHA, fromSHA, }) {
866
868
  // Use the cached fromSHA if available, otherwise throw an error
@@ -1,3 +1,4 @@
1
+ import type { CheckAllBranchesWhen, RepoGitTags } from './repository-git-tags';
1
2
  export interface GitCommitAuthor {
2
3
  name: string;
3
4
  email: string;
@@ -27,7 +28,7 @@ export interface GitCommit extends RawGitCommit {
27
28
  revertedHashes: string[];
28
29
  }
29
30
  export interface GetLatestGitTagForPatternOptions {
30
- checkAllBranchesWhen?: boolean | string[];
31
+ checkAllBranchesWhen?: CheckAllBranchesWhen;
31
32
  preid?: string;
32
33
  requireSemver: boolean;
33
34
  strictPreid: boolean;
@@ -71,7 +72,7 @@ export declare function extractTagAndVersion(tag: string, tagRegexp: string, opt
71
72
  *
72
73
  * @returns The tag and version
73
74
  */
74
- export declare function getLatestGitTagForPattern(releaseTagPattern: string, additionalInterpolationData: {}, options: GetLatestGitTagForPatternOptions): Promise<GitTagAndVersion | null>;
75
+ export declare function getLatestGitTagForPattern(releaseTagPattern: string, additionalInterpolationData: {}, resolveTags: RepoGitTags['resolveTags'], options: GetLatestGitTagForPatternOptions): Promise<GitTagAndVersion | null>;
75
76
  export declare function getGitDiff(from: string | undefined, to?: string): Promise<RawGitCommit[]>;
76
77
  export declare function gitAdd({ changedFiles, deletedFiles, dryRun, verbose, logFn, cwd, }: {
77
78
  changedFiles?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/git.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,6 @@ exports.getFirstGitCommit = getFirstGitCommit;
20
20
  * https://github.com/unjs/changelogen
21
21
  */
22
22
  const node_path_1 = require("node:path");
23
- const minimatch_1 = require("minimatch");
24
23
  const semver_1 = require("semver");
25
24
  const utils_1 = require("../../../tasks-runner/utils");
26
25
  const workspace_root_1 = require("../../../utils/workspace-root");
@@ -101,75 +100,10 @@ function extractTagAndVersion(tag, tagRegexp, options) {
101
100
  *
102
101
  * @returns The tag and version
103
102
  */
104
- async function getLatestGitTagForPattern(releaseTagPattern, additionalInterpolationData = {}, options) {
105
- const { checkAllBranchesWhen, requireSemver, strictPreid, preid } = options;
106
- /**
107
- * By default, we will try and resolve the latest match for the releaseTagPattern from the current branch,
108
- * falling back to all branches if no match is found on the current branch.
109
- *
110
- * - If checkAllBranchesWhen is true it will cause us to ALWAYS check all branches for the latest match.
111
- * - If checkAllBranchesWhen is explicitly set to false it will cause us to ONLY check the current branch for the latest match.
112
- * - If checkAllBranchesWhen is an array of strings it will cause us to check all branches WHEN the current branch is one of the strings in the array.
113
- */
114
- let alwaysCheckAllBranches = false;
115
- if (typeof checkAllBranchesWhen !== 'undefined') {
116
- if (typeof checkAllBranchesWhen === 'boolean') {
117
- alwaysCheckAllBranches = checkAllBranchesWhen;
118
- }
119
- else if (Array.isArray(checkAllBranchesWhen)) {
120
- /**
121
- * Get the current git branch and determine whether to check all branches based on the checkAllBranchesWhen parameter
122
- */
123
- const currentBranch = await (0, exec_command_1.execCommand)('git', [
124
- 'rev-parse',
125
- '--abbrev-ref',
126
- 'HEAD',
127
- ]).then((r) => r.trim());
128
- // Check exact match first
129
- alwaysCheckAllBranches = checkAllBranchesWhen.includes(currentBranch);
130
- // Check if any glob pattern matches next
131
- if (!alwaysCheckAllBranches) {
132
- alwaysCheckAllBranches = checkAllBranchesWhen.some((pattern) => {
133
- const r = minimatch_1.minimatch.makeRe(pattern, { dot: true });
134
- if (!r) {
135
- return false;
136
- }
137
- return r.test(currentBranch);
138
- });
139
- }
140
- }
141
- }
142
- const defaultGitArgs = [
143
- // Apply git config to take version suffixes into account when sorting, e.g. 1.0.0 is newer than 1.0.0-beta.1
144
- '-c',
145
- 'versionsort.suffix=-',
146
- 'tag',
147
- '--sort',
148
- '-v:refname',
149
- ];
103
+ async function getLatestGitTagForPattern(releaseTagPattern, additionalInterpolationData = {}, resolveTags, options) {
104
+ const { requireSemver, strictPreid, preid, checkAllBranchesWhen } = options;
150
105
  try {
151
- let tags;
152
- tags = await (0, exec_command_1.execCommand)('git', [
153
- ...defaultGitArgs,
154
- ...(alwaysCheckAllBranches ? [] : ['--merged']),
155
- ]).then((r) => r
156
- .trim()
157
- .split('\n')
158
- .map((t) => t.trim())
159
- .filter(Boolean));
160
- if (
161
- // Do not run this fallback if the user explicitly set checkAllBranchesWhen to false
162
- checkAllBranchesWhen !== false &&
163
- !tags.length &&
164
- // There is no point in running this fallback if we already checked against all branches
165
- !alwaysCheckAllBranches) {
166
- // try again, but include all tags on the repo instead of just --merged ones
167
- tags = await (0, exec_command_1.execCommand)('git', defaultGitArgs).then((r) => r
168
- .trim()
169
- .split('\n')
170
- .map((t) => t.trim())
171
- .filter(Boolean));
172
- }
106
+ let tags = await resolveTags(checkAllBranchesWhen);
173
107
  if (!tags.length) {
174
108
  return null;
175
109
  }
@@ -5,6 +5,7 @@ import { type NxReleaseConfig } from '../config/config';
5
5
  import type { ReleaseGroupWithName } from '../config/filter-release-groups';
6
6
  import { ProjectLogger } from '../version/project-logger';
7
7
  import { type AfterAllProjectsVersioned, type VersionActions } from '../version/version-actions';
8
+ import { GetLatestGitTagForPatternOptions, GitCommit } from './git';
8
9
  /**
9
10
  * Final configuration for a project after applying release group and project level overrides
10
11
  */
@@ -89,6 +90,13 @@ export declare class ReleaseGraph {
89
90
  }[]>;
90
91
  readonly releaseGroupToFilteredProjects: Map<ReleaseGroupWithName, Set<string>>;
91
92
  private originalFilteredProjects;
93
+ /**
94
+ * Store the affected graph per commit per project
95
+ * to avoid recomputation of the graph on workspace
96
+ * with multiple projects
97
+ */
98
+ private affectedGraphPerCommit;
99
+ private repositoryGitTags;
92
100
  /**
93
101
  * User-friendly log describing what the filter matched.
94
102
  * Null if no filters were applied.
@@ -201,6 +209,8 @@ export declare class ReleaseGraph {
201
209
  * Check if a project will be processed
202
210
  */
203
211
  isProjectToProcess(projectName: string): boolean;
212
+ resolveAffectedFilesPerCommitInProjectGraph(commit: GitCommit, projectGraph: ProjectGraph): Promise<ProjectGraph>;
213
+ resolveRepositoryTags(resolveTagsWhen: GetLatestGitTagForPatternOptions['checkAllBranchesWhen']): Promise<string[]>;
204
214
  /**
205
215
  * Runs validation on resolved VersionActions instances. E.g. check that manifest files exist for all projects that will be processed.
206
216
  * This should be called after preVersionCommand has run, as those commands may create manifest files that are needed for versioning.
@@ -1 +1 @@
1
- {"version":3,"file":"release-graph.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/release-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release-graph.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/release-graph.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ReleaseGraph = exports.validReleaseVersionPrefixes = void 0;
4
4
  exports.createReleaseGraph = createReleaseGraph;
5
+ const affected_project_graph_1 = require("../../../project-graph/affected/affected-project-graph");
6
+ const file_utils_1 = require("../../../project-graph/file-utils");
5
7
  const config_1 = require("../config/config");
6
8
  const project_logger_1 = require("../version/project-logger");
7
9
  const resolve_current_version_1 = require("../version/resolve-current-version");
8
10
  const topological_sort_1 = require("../version/topological-sort");
9
11
  const version_actions_1 = require("../version/version-actions");
10
12
  const git_1 = require("./git");
13
+ const repository_git_tags_1 = require("./repository-git-tags");
11
14
  const shared_1 = require("./shared");
12
15
  exports.validReleaseVersionPrefixes = ['auto', '', '~', '^', '='];
13
16
  /**
@@ -40,6 +43,13 @@ class ReleaseGraph {
40
43
  this.originalDependentProjectsPerProject = new Map();
41
44
  this.releaseGroupToFilteredProjects = new Map();
42
45
  this.originalFilteredProjects = new Set();
46
+ /**
47
+ * Store the affected graph per commit per project
48
+ * to avoid recomputation of the graph on workspace
49
+ * with multiple projects
50
+ */
51
+ this.affectedGraphPerCommit = new Map();
52
+ this.repositoryGitTags = repository_git_tags_1.RepoGitTags.create();
43
53
  /**
44
54
  * User-friendly log describing what the filter matched.
45
55
  * Null if no filters were applied.
@@ -375,7 +385,7 @@ class ReleaseGraph {
375
385
  latestMatchingGitTag = await (0, git_1.getLatestGitTagForPattern)(releaseTagPattern, {
376
386
  projectName: (0, git_1.sanitizeProjectNameForGitTag)(projectGraphNode.name),
377
387
  releaseGroupName: releaseGroupNode.group.name,
378
- }, {
388
+ }, this.resolveRepositoryTags.bind(this), {
379
389
  checkAllBranchesWhen: releaseGroupNode.group.releaseTag.checkAllBranchesWhen,
380
390
  preid: preid,
381
391
  requireSemver: releaseGroupNode.group.releaseTag.requireSemver,
@@ -629,6 +639,27 @@ Valid values are: ${exports.validReleaseVersionPrefixes
629
639
  isProjectToProcess(projectName) {
630
640
  return this.allProjectsToProcess.has(projectName);
631
641
  }
642
+ async resolveAffectedFilesPerCommitInProjectGraph(commit, projectGraph) {
643
+ // Try to get the graph associated with the commit shortHash
644
+ // if not available, calculate it and store it in the cache
645
+ const { shortHash } = commit;
646
+ let affectedGraph = this.affectedGraphPerCommit.get(shortHash);
647
+ if (affectedGraph) {
648
+ return affectedGraph;
649
+ }
650
+ // Convert affectedFiles to FileChange[] format with proper diff computation
651
+ const touchedFiles = (0, file_utils_1.calculateFileChanges)(commit.affectedFiles, {
652
+ base: `${commit.shortHash}^`,
653
+ head: commit.shortHash,
654
+ });
655
+ // Use the same affected detection logic as `nx affected`
656
+ affectedGraph = await (0, affected_project_graph_1.filterAffected)(projectGraph, touchedFiles);
657
+ this.affectedGraphPerCommit.set(shortHash, affectedGraph);
658
+ return affectedGraph;
659
+ }
660
+ async resolveRepositoryTags(resolveTagsWhen) {
661
+ return this.repositoryGitTags.resolveTags(resolveTagsWhen);
662
+ }
632
663
  /**
633
664
  * Runs validation on resolved VersionActions instances. E.g. check that manifest files exist for all projects that will be processed.
634
665
  * This should be called after preVersionCommand has run, as those commands may create manifest files that are needed for versioning.
@@ -0,0 +1,26 @@
1
+ /**
2
+ * When to check all branches for git tags instead of just merged branches.
3
+ * - `boolean`: true = all branches, false = merged only
4
+ * - `string[]`: Check all branches if current branch matches any pattern
5
+ */
6
+ export type CheckAllBranchesWhen = boolean | string[];
7
+ /**
8
+ * Caches git tags to avoid redundant git operations during release workflows.
9
+ * Tags are cached per branch strategy ('single-branch' vs 'all-branches').
10
+ */
11
+ export declare class RepoGitTags {
12
+ #private;
13
+ /** Creates a new RepoGitTags instance with an empty cache. */
14
+ static create(): RepoGitTags;
15
+ /**
16
+ * Resolves git tags with caching. Fetches from git on cache miss, returns cached tags on hit.
17
+ * Cache key is determined by whether to check all branches or only merged branches.
18
+ *
19
+ * @param checkAllBranchesWhen - Strategy for checking branches (boolean, array of patterns, or undefined)
20
+ * @returns Promise resolving to array of git tags
21
+ */
22
+ resolveTags(checkAllBranchesWhen?: CheckAllBranchesWhen): Promise<string[]>;
23
+ /** Clears the tag cache. Useful for testing or forcing a fresh fetch. */
24
+ clean(): void;
25
+ }
26
+ //# sourceMappingURL=repository-git-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-git-tags.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/repository-git-tags.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;AAEtD;;;GAGG;AACH,qBAAa,WAAW;;IAGtB,8DAA8D;WAChD,MAAM,IAAI,WAAW;IAInC;;;;;;OAMG;IACG,WAAW,CACf,oBAAoB,CAAC,EAAE,oBAAoB,GAC1C,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBpB,yEAAyE;IACzE,KAAK,IAAI,IAAI;CAuGd"}