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.
- package/migrations.json +5 -0
- package/package.json +11 -11
- package/schemas/nx-schema.json +34 -38
- package/schemas/project-schema.json +5 -0
- package/src/command-line/release/command-object.d.ts +6 -0
- package/src/command-line/release/config/config.js +15 -8
- package/src/command-line/release/config/use-legacy-versioning.js +4 -4
- package/src/command-line/release/version/release-group-processor.d.ts +10 -9
- package/src/command-line/release/version/release-group-processor.js +17 -8
- package/src/command-line/release/version/test-utils.d.ts +2 -4
- package/src/command-line/release/version/test-utils.js +13 -14
- package/src/command-line/release/version/version-actions.d.ts +9 -8
- package/src/command-line/release/version/version-actions.js +21 -9
- package/src/command-line/release/version.js +6 -2
- package/src/command-line/run/executor-utils.d.ts +6 -1
- package/src/command-line/run/executor-utils.js +10 -1
- package/src/command-line/run/run.js +1 -1
- package/src/config/misc-interfaces.d.ts +1 -0
- package/src/config/nx-json.d.ts +15 -9
- package/src/config/workspace-json-project-json.d.ts +2 -2
- package/src/core/graph/main.js +1 -1
- package/src/core/graph/styles.css +1 -1
- package/src/devkit-internals.d.ts +1 -1
- package/src/devkit-internals.js +2 -1
- package/src/migrations/update-21-0-0/release-version-config-changes.d.ts +2 -0
- package/src/migrations/update-21-0-0/release-version-config-changes.js +111 -0
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/plugins/package-json/create-nodes.js +1 -1
- package/src/project-graph/plugins/public-api.d.ts +1 -1
- package/src/project-graph/utils/project-configuration-utils.d.ts +2 -2
- package/src/project-graph/utils/project-configuration-utils.js +29 -10
- package/src/tasks-runner/batch/run-batch.js +1 -1
- package/src/tasks-runner/create-task-graph.d.ts +0 -1
- package/src/tasks-runner/create-task-graph.js +0 -1
- package/src/tasks-runner/init-tasks-runner.d.ts +1 -1
- package/src/tasks-runner/init-tasks-runner.js +8 -2
- package/src/tasks-runner/life-cycles/task-history-life-cycle-old.d.ts +2 -0
- package/src/tasks-runner/life-cycles/task-history-life-cycle-old.js +8 -5
- package/src/tasks-runner/life-cycles/task-history-life-cycle.d.ts +5 -0
- package/src/tasks-runner/life-cycles/task-history-life-cycle.js +29 -4
- package/src/tasks-runner/life-cycles/tui-summary-life-cycle.js +2 -0
- package/src/tasks-runner/run-command.d.ts +1 -0
- package/src/tasks-runner/run-command.js +4 -6
- package/src/tasks-runner/task-orchestrator.d.ts +2 -1
- package/src/tasks-runner/task-orchestrator.js +9 -6
- package/src/tasks-runner/utils.js +1 -1
- package/src/utils/package-json.d.ts +1 -1
- package/src/utils/package-json.js +16 -2
package/src/config/nx-json.d.ts
CHANGED
@@ -37,12 +37,12 @@ interface NxInstallationConfiguration {
|
|
37
37
|
plugins?: Record<string, string>;
|
38
38
|
}
|
39
39
|
/**
|
40
|
-
* This named configuration interface
|
41
|
-
* under LegacyNxReleaseVersionConfiguration
|
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
|
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
|
61
|
-
|
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
|
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?:
|
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 |
|
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 |
|
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
|
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<
|
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
|