nx 21.0.0-canary.20250424-e23b25f → 21.0.0-canary.20250425-ee097a8

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 (48) hide show
  1. package/migrations.json +5 -0
  2. package/package.json +11 -11
  3. package/schemas/nx-schema.json +34 -38
  4. package/schemas/project-schema.json +5 -0
  5. package/src/command-line/release/command-object.d.ts +6 -0
  6. package/src/command-line/release/config/config.js +15 -8
  7. package/src/command-line/release/config/use-legacy-versioning.js +4 -4
  8. package/src/command-line/release/version/release-group-processor.d.ts +10 -9
  9. package/src/command-line/release/version/release-group-processor.js +17 -8
  10. package/src/command-line/release/version/test-utils.d.ts +2 -4
  11. package/src/command-line/release/version/test-utils.js +13 -14
  12. package/src/command-line/release/version/version-actions.d.ts +9 -8
  13. package/src/command-line/release/version/version-actions.js +21 -9
  14. package/src/command-line/release/version.js +6 -2
  15. package/src/command-line/run/executor-utils.d.ts +6 -1
  16. package/src/command-line/run/executor-utils.js +10 -1
  17. package/src/command-line/run/run.js +1 -1
  18. package/src/config/misc-interfaces.d.ts +1 -0
  19. package/src/config/nx-json.d.ts +15 -9
  20. package/src/config/workspace-json-project-json.d.ts +2 -2
  21. package/src/core/graph/main.js +1 -1
  22. package/src/core/graph/styles.css +1 -1
  23. package/src/devkit-internals.d.ts +1 -1
  24. package/src/devkit-internals.js +2 -1
  25. package/src/migrations/update-21-0-0/release-version-config-changes.d.ts +2 -0
  26. package/src/migrations/update-21-0-0/release-version-config-changes.js +111 -0
  27. package/src/native/nx.wasm32-wasi.wasm +0 -0
  28. package/src/plugins/package-json/create-nodes.js +1 -1
  29. package/src/project-graph/plugins/public-api.d.ts +1 -1
  30. package/src/project-graph/utils/project-configuration-utils.d.ts +2 -2
  31. package/src/project-graph/utils/project-configuration-utils.js +29 -10
  32. package/src/tasks-runner/batch/run-batch.js +1 -1
  33. package/src/tasks-runner/create-task-graph.d.ts +0 -1
  34. package/src/tasks-runner/create-task-graph.js +0 -1
  35. package/src/tasks-runner/init-tasks-runner.d.ts +1 -1
  36. package/src/tasks-runner/init-tasks-runner.js +8 -2
  37. package/src/tasks-runner/life-cycles/task-history-life-cycle-old.d.ts +2 -0
  38. package/src/tasks-runner/life-cycles/task-history-life-cycle-old.js +8 -5
  39. package/src/tasks-runner/life-cycles/task-history-life-cycle.d.ts +5 -0
  40. package/src/tasks-runner/life-cycles/task-history-life-cycle.js +29 -4
  41. package/src/tasks-runner/life-cycles/tui-summary-life-cycle.js +2 -0
  42. package/src/tasks-runner/run-command.d.ts +1 -0
  43. package/src/tasks-runner/run-command.js +4 -6
  44. package/src/tasks-runner/task-orchestrator.d.ts +2 -1
  45. package/src/tasks-runner/task-orchestrator.js +9 -6
  46. package/src/tasks-runner/utils.js +1 -1
  47. package/src/utils/package-json.d.ts +1 -1
  48. package/src/utils/package-json.js +16 -2
@@ -37,12 +37,12 @@ interface NxInstallationConfiguration {
37
37
  plugins?: Record<string, string>;
38
38
  }
39
39
  /**
40
- * This named configuration interface will be changing in Nx v21. This interface will be made available
41
- * under LegacyNxReleaseVersionConfiguration, which is already available as an alias.
40
+ * This named configuration interface represents the options prior to Nx v21. This interface will be made available
41
+ * under LegacyNxReleaseVersionConfiguration throughout the lifetime of Nx v21.
42
42
  *
43
43
  * In Nx v22, this configuration interface will no longer be valid.
44
44
  */
45
- export interface NxReleaseVersionConfiguration {
45
+ export interface LegacyNxReleaseVersionConfiguration {
46
46
  generator?: string;
47
47
  generatorOptions?: Record<string, unknown>;
48
48
  /**
@@ -57,10 +57,13 @@ export interface NxReleaseVersionConfiguration {
57
57
  */
58
58
  conventionalCommits?: boolean;
59
59
  }
60
- export type LegacyNxReleaseVersionConfiguration = NxReleaseVersionConfiguration;
61
- export interface NxReleaseVersionV2Configuration {
60
+ export type ManifestRootToUpdate = string | {
61
+ path: string;
62
+ preserveLocalDependencyProtocols: boolean;
63
+ };
64
+ export interface NxReleaseVersionConfiguration {
62
65
  /**
63
- * Whether to use the legacy versioning strategy. This value will be true in Nx v20 and false in Nx v21.
66
+ * Whether to use the legacy versioning strategy. This value was true in Nx v20 and became false in Nx v21.
64
67
  * The legacy versioning implementation will be removed in Nx v22, as will this flag.
65
68
  */
66
69
  useLegacyVersioning?: boolean;
@@ -88,8 +91,11 @@ export interface NxReleaseVersionV2Configuration {
88
91
  *
89
92
  * By default, only the project root will be used, but you could customize this to only version a manifest in a
90
93
  * dist directory, or even version multiple manifests in different directories, such as both source and dist.
94
+ *
95
+ * For more advanced scenarios, the preserveLocalDependencyProtocols can be overridden per manifest by providing
96
+ * and object instead of a string.
91
97
  */
92
- manifestRootsToUpdate?: string[];
98
+ manifestRootsToUpdate?: ManifestRootToUpdate[];
93
99
  /**
94
100
  * The resolver to use for determining the current version of a project during versioning.
95
101
  * This is needed for versioning approaches which involve relatively modifying a current version
@@ -295,7 +301,7 @@ export interface NxReleaseConfiguration {
295
301
  *
296
302
  * NOTE: git configuration is not supported at the group level, only the root/command level
297
303
  */
298
- version?: (LegacyNxReleaseVersionConfiguration | NxReleaseVersionV2Configuration) & {
304
+ version?: (LegacyNxReleaseVersionConfiguration | NxReleaseVersionConfiguration) & {
299
305
  /**
300
306
  * A command to run after validation of nx release configuration, but before versioning begins.
301
307
  * Used for preparing build artifacts. If --dry-run is passed, the command is still executed, but
@@ -372,7 +378,7 @@ export interface NxReleaseConfiguration {
372
378
  * If no version configuration is provided, we will assume that TypeScript/JavaScript experience is what is desired,
373
379
  * allowing for terser release configuration for the common case.
374
380
  */
375
- version?: (LegacyNxReleaseVersionConfiguration | NxReleaseVersionV2Configuration) & {
381
+ version?: (LegacyNxReleaseVersionConfiguration | NxReleaseVersionConfiguration) & {
376
382
  useLegacyVersioning?: boolean;
377
383
  git?: NxReleaseGitConfiguration;
378
384
  preVersionCommand?: string;
@@ -1,5 +1,5 @@
1
1
  import type { PackageJson } from '../utils/package-json';
2
- import type { NxJsonConfiguration, NxReleaseVersionConfiguration, NxReleaseVersionV2Configuration } from './nx-json';
2
+ import type { LegacyNxReleaseVersionConfiguration, NxJsonConfiguration, NxReleaseVersionConfiguration } from './nx-json';
3
3
  /**
4
4
  * @deprecated use ProjectsConfigurations or NxJsonConfiguration
5
5
  */
@@ -98,7 +98,7 @@ export interface ProjectConfiguration {
98
98
  * Project specific configuration for `nx release`
99
99
  */
100
100
  release?: {
101
- version?: Pick<NxReleaseVersionConfiguration, 'generator' | 'generatorOptions'> | Pick<NxReleaseVersionV2Configuration, 'versionActions' | 'versionActionsOptions' | 'manifestRootsToUpdate' | 'currentVersionResolver' | 'currentVersionResolverMetadata' | 'fallbackCurrentVersionResolver' | 'versionPrefix' | 'preserveLocalDependencyProtocols'>;
101
+ version?: Pick<LegacyNxReleaseVersionConfiguration, 'generator' | 'generatorOptions'> | Pick<NxReleaseVersionConfiguration, 'versionActions' | 'versionActionsOptions' | 'manifestRootsToUpdate' | 'currentVersionResolver' | 'currentVersionResolverMetadata' | 'fallbackCurrentVersionResolver' | 'versionPrefix' | 'preserveLocalDependencyProtocols'>;
102
102
  };
103
103
  /**
104
104
  * Metadata about the project