nx 22.0.0-beta.2 → 22.0.0-beta.4

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 (103) hide show
  1. package/migrations.json +5 -0
  2. package/package.json +12 -12
  3. package/project.json +2 -1
  4. package/schemas/nx-schema.json +268 -162
  5. package/schemas/project-schema.json +72 -12
  6. package/src/adapter/angular-json.d.ts.map +1 -1
  7. package/src/adapter/angular-json.js +13 -17
  8. package/src/command-line/configure-ai-agents/command-object.d.ts +1 -1
  9. package/src/command-line/configure-ai-agents/command-object.d.ts.map +1 -1
  10. package/src/command-line/configure-ai-agents/command-object.js +18 -4
  11. package/src/command-line/configure-ai-agents/configure-ai-agents.d.ts.map +1 -1
  12. package/src/command-line/configure-ai-agents/configure-ai-agents.js +58 -31
  13. package/src/command-line/init/init-v2.js +1 -1
  14. package/src/command-line/nx-cloud/login/command-object.d.ts.map +1 -1
  15. package/src/command-line/nx-cloud/login/command-object.js +2 -2
  16. package/src/command-line/nx-cloud/logout/command-object.js +1 -1
  17. package/src/command-line/release/changelog.d.ts.map +1 -1
  18. package/src/command-line/release/changelog.js +41 -32
  19. package/src/command-line/release/command-object.d.ts +7 -9
  20. package/src/command-line/release/command-object.d.ts.map +1 -1
  21. package/src/command-line/release/config/config.d.ts +1 -1
  22. package/src/command-line/release/config/config.d.ts.map +1 -1
  23. package/src/command-line/release/config/config.js +55 -133
  24. package/src/command-line/release/config/version-plans.d.ts.map +1 -1
  25. package/src/command-line/release/config/version-plans.js +4 -1
  26. package/src/command-line/release/plan-check.d.ts.map +1 -1
  27. package/src/command-line/release/plan-check.js +1 -3
  28. package/src/command-line/release/plan.d.ts.map +1 -1
  29. package/src/command-line/release/plan.js +1 -3
  30. package/src/command-line/release/publish.d.ts.map +1 -1
  31. package/src/command-line/release/publish.js +36 -14
  32. package/src/command-line/release/release.d.ts.map +1 -1
  33. package/src/command-line/release/release.js +32 -33
  34. package/src/command-line/release/utils/git.d.ts.map +1 -1
  35. package/src/command-line/release/utils/git.js +3 -1
  36. package/src/command-line/release/utils/release-graph.d.ts +219 -0
  37. package/src/command-line/release/utils/release-graph.d.ts.map +1 -0
  38. package/src/command-line/release/utils/release-graph.js +658 -0
  39. package/src/command-line/release/utils/resolve-semver-specifier.d.ts +2 -1
  40. package/src/command-line/release/utils/resolve-semver-specifier.d.ts.map +1 -1
  41. package/src/command-line/release/utils/semver.d.ts +14 -9
  42. package/src/command-line/release/utils/semver.d.ts.map +1 -1
  43. package/src/command-line/release/utils/semver.js +29 -25
  44. package/src/command-line/release/utils/shared.d.ts +5 -2
  45. package/src/command-line/release/utils/shared.d.ts.map +1 -1
  46. package/src/command-line/release/utils/shared.js +82 -26
  47. package/src/command-line/release/utils/test/test-utils.d.ts +20 -0
  48. package/src/command-line/release/utils/test/test-utils.d.ts.map +1 -0
  49. package/src/command-line/release/utils/test/test-utils.js +24 -0
  50. package/src/command-line/release/version/derive-specifier-from-conventional-commits.d.ts.map +1 -1
  51. package/src/command-line/release/version/derive-specifier-from-conventional-commits.js +10 -1
  52. package/src/command-line/release/version/release-group-processor.d.ts +3 -152
  53. package/src/command-line/release/version/release-group-processor.d.ts.map +1 -1
  54. package/src/command-line/release/version/release-group-processor.js +50 -570
  55. package/src/command-line/release/version/resolve-current-version.d.ts +1 -1
  56. package/src/command-line/release/version/resolve-current-version.d.ts.map +1 -1
  57. package/src/command-line/release/version/resolve-current-version.js +1 -1
  58. package/src/command-line/release/version/test-utils.d.ts +13 -4
  59. package/src/command-line/release/version/test-utils.d.ts.map +1 -1
  60. package/src/command-line/release/version/test-utils.js +26 -15
  61. package/src/command-line/release/version/version-actions.d.ts +12 -5
  62. package/src/command-line/release/version/version-actions.d.ts.map +1 -1
  63. package/src/command-line/release/version/version-actions.js +36 -19
  64. package/src/command-line/release/version.d.ts +6 -1
  65. package/src/command-line/release/version.d.ts.map +1 -1
  66. package/src/command-line/release/version.js +58 -36
  67. package/src/config/nx-json.d.ts +28 -35
  68. package/src/config/nx-json.d.ts.map +1 -1
  69. package/src/config/nx-json.js +8 -8
  70. package/src/config/workspace-json-project-json.d.ts +2 -2
  71. package/src/config/workspace-json-project-json.d.ts.map +1 -1
  72. package/src/core/graph/main.js +1 -1
  73. package/src/devkit-exports.d.ts +1 -1
  74. package/src/devkit-exports.d.ts.map +1 -1
  75. package/src/migrations/update-21-0-0/release-changelog-config-changes.d.ts.map +1 -1
  76. package/src/migrations/update-21-0-0/release-version-config-changes.d.ts.map +1 -1
  77. package/src/migrations/update-21-0-0/release-version-config-changes.js +5 -15
  78. package/src/migrations/update-22-0-0/release-version-config-changes.d.ts +3 -0
  79. package/src/migrations/update-22-0-0/release-version-config-changes.d.ts.map +1 -0
  80. package/src/migrations/update-22-0-0/release-version-config-changes.js +101 -0
  81. package/src/native/nx.wasm32-wasi.wasm +0 -0
  82. package/src/plugins/js/index.d.ts +1 -2
  83. package/src/plugins/js/index.d.ts.map +1 -1
  84. package/src/plugins/js/index.js +28 -32
  85. package/src/plugins/js/lock-file/lock-file.d.ts +2 -2
  86. package/src/plugins/js/lock-file/lock-file.d.ts.map +1 -1
  87. package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +1 -1
  88. package/src/project-graph/plugins/loaded-nx-plugin.d.ts.map +1 -1
  89. package/src/project-graph/plugins/loaded-nx-plugin.js +8 -6
  90. package/src/project-graph/plugins/public-api.d.ts +1 -36
  91. package/src/project-graph/plugins/public-api.d.ts.map +1 -1
  92. package/src/project-graph/plugins/utils.d.ts +4 -2
  93. package/src/project-graph/plugins/utils.d.ts.map +1 -1
  94. package/src/tasks-runner/run-command.js +2 -2
  95. package/src/command-line/release/config/use-legacy-versioning.d.ts +0 -3
  96. package/src/command-line/release/config/use-legacy-versioning.d.ts.map +0 -1
  97. package/src/command-line/release/config/use-legacy-versioning.js +0 -9
  98. package/src/command-line/release/utils/batch-projects-by-generator-config.d.ts +0 -8
  99. package/src/command-line/release/utils/batch-projects-by-generator-config.d.ts.map +0 -1
  100. package/src/command-line/release/utils/batch-projects-by-generator-config.js +0 -39
  101. package/src/command-line/release/version-legacy.d.ts +0 -47
  102. package/src/command-line/release/version-legacy.d.ts.map +0 -1
  103. package/src/command-line/release/version-legacy.js +0 -453
@@ -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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"}
@@ -28,7 +28,6 @@ const gitlab_1 = require("../utils/remote-release-clients/gitlab");
28
28
  const resolve_changelog_renderer_1 = require("../utils/resolve-changelog-renderer");
29
29
  const resolve_nx_json_error_message_1 = require("../utils/resolve-nx-json-error-message");
30
30
  const conventional_commits_1 = require("./conventional-commits");
31
- const use_legacy_versioning_1 = require("./use-legacy-versioning");
32
31
  exports.IMPLICIT_DEFAULT_RELEASE_GROUP = '__default__';
33
32
  exports.DEFAULT_VERSION_ACTIONS_PATH = '@nx/js/src/release/version-actions';
34
33
  // Apply default configuration to any optional user configuration and handle known errors
@@ -60,7 +59,6 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
60
59
  nxReleaseConfig: null,
61
60
  };
62
61
  }
63
- const USE_LEGACY_VERSIONING = (0, use_legacy_versioning_1.shouldUseLegacyVersioning)(userConfig);
64
62
  const gitDefaults = {
65
63
  commit: false,
66
64
  commitMessage: 'chore(release): publish {version}',
@@ -113,16 +111,10 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
113
111
  : false,
114
112
  };
115
113
  const defaultFixedReleaseTagPattern = 'v{version}';
116
- /**
117
- * TODO(v22): in v22, make it so that this pattern is used by default when any custom groups are used
118
- */
119
114
  const defaultFixedGroupReleaseTagPattern = '{releaseGroupName}-v{version}';
120
115
  const defaultIndependentReleaseTagPattern = '{projectName}@{version}';
121
116
  const defaultReleaseTagPatternRequireSemver = true;
122
- /**
123
- * TODO(v22): in v22, set this to true by default
124
- */
125
- const defaultReleaseTagPatternStrictPreid = false;
117
+ const defaultReleaseTagPatternStrictPreid = true;
126
118
  const workspaceProjectsRelationship = userConfig.projectsRelationship || 'fixed';
127
119
  const defaultGeneratorOptions = {};
128
120
  if (userConfig.version?.conventionalCommits) {
@@ -191,30 +183,17 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
191
183
  : undefined,
192
184
  git: gitDefaults,
193
185
  version: {
194
- useLegacyVersioning: USE_LEGACY_VERSIONING,
195
186
  git: versionGitDefaults,
196
187
  conventionalCommits: userConfig.version?.conventionalCommits || false,
197
188
  preVersionCommand: userConfig.version?.preVersionCommand || '',
198
- ...(USE_LEGACY_VERSIONING
199
- ? {
200
- generator: '@nx/js:release-version',
201
- generatorOptions: defaultGeneratorOptions,
202
- }
203
- : {
204
- versionActions: exports.DEFAULT_VERSION_ACTIONS_PATH,
205
- versionActionsOptions: {},
206
- currentVersionResolver: defaultGeneratorOptions.currentVersionResolver,
207
- specifierSource: defaultGeneratorOptions.specifierSource,
208
- preserveLocalDependencyProtocols: userConfig.version
209
- ?.preserveLocalDependencyProtocols ?? true,
210
- // TODO(v22): flip default to true
211
- preserveMatchingDependencyRanges: userConfig.version
212
- ?.preserveMatchingDependencyRanges ?? false,
213
- logUnchangedProjects: userConfig.version
214
- ?.logUnchangedProjects ?? true,
215
- updateDependents: userConfig.version
216
- ?.updateDependents ?? 'auto',
217
- }),
189
+ versionActions: exports.DEFAULT_VERSION_ACTIONS_PATH,
190
+ versionActionsOptions: {},
191
+ currentVersionResolver: defaultGeneratorOptions.currentVersionResolver,
192
+ specifierSource: defaultGeneratorOptions.specifierSource,
193
+ preserveLocalDependencyProtocols: userConfig.version?.preserveLocalDependencyProtocols ?? true,
194
+ preserveMatchingDependencyRanges: userConfig.version?.preserveMatchingDependencyRanges ?? true,
195
+ logUnchangedProjects: userConfig.version?.logUnchangedProjects ?? true,
196
+ updateDependents: userConfig.version?.updateDependents ?? 'auto',
218
197
  },
219
198
  changelog: {
220
199
  git: changelogGitDefaults,
@@ -257,6 +236,7 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
257
236
  releaseTagPatternCheckAllBranchesWhen: userConfig.releaseTagPatternCheckAllBranchesWhen ?? undefined,
258
237
  releaseTagPatternRequireSemver: userConfig.releaseTagPatternRequireSemver ??
259
238
  defaultReleaseTagPatternRequireSemver,
239
+ releaseTagPatternPreferDockerVersion: userConfig.releaseTagPatternPreferDockerVersion ?? false,
260
240
  releaseTagPatternStrictPreid: userConfig.releaseTagPatternStrictPreid ??
261
241
  defaultReleaseTagPatternStrictPreid,
262
242
  conventionalCommits: conventional_commits_1.DEFAULT_CONVENTIONAL_COMMITS_CONFIG,
@@ -278,19 +258,12 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
278
258
  groupPreVersionCommand: '',
279
259
  }
280
260
  : undefined,
281
- version: USE_LEGACY_VERSIONING
282
- ? {
283
- conventionalCommits: false,
284
- generator: '@nx/js:release-version',
285
- generatorOptions: {},
286
- groupPreVersionCommand: '',
287
- }
288
- : {
289
- conventionalCommits: false,
290
- versionActions: exports.DEFAULT_VERSION_ACTIONS_PATH,
291
- versionActionsOptions: {},
292
- groupPreVersionCommand: '',
293
- },
261
+ version: {
262
+ conventionalCommits: false,
263
+ versionActions: exports.DEFAULT_VERSION_ACTIONS_PATH,
264
+ versionActionsOptions: {},
265
+ groupPreVersionCommand: '',
266
+ },
294
267
  changelog: {
295
268
  createRelease: false,
296
269
  entryWhenNoChanges: 'This was a version bump only for {projectName} to align it with other projects, there were no code changes.',
@@ -314,6 +287,7 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
314
287
  : WORKSPACE_DEFAULTS.releaseTagPattern,
315
288
  releaseTagPatternCheckAllBranchesWhen: userConfig.releaseTagPatternCheckAllBranchesWhen ?? undefined,
316
289
  releaseTagPatternRequireSemver: groupReleaseTagPatternRequireSemver,
290
+ releaseTagPatternPreferDockerVersion: false,
317
291
  releaseTagPatternStrictPreid: groupReleaseTagPatternStrictPreid,
318
292
  versionPlans: false,
319
293
  };
@@ -361,43 +335,19 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
361
335
  delete rootVersionWithoutGlobalOptions.preVersionCommand;
362
336
  // Apply conventionalCommits shorthand to the final group defaults if explicitly configured in the original user config
363
337
  if (userConfig.version?.conventionalCommits === true) {
364
- if (USE_LEGACY_VERSIONING) {
365
- rootVersionWithoutGlobalOptions.generatorOptions = {
366
- ...rootVersionWithoutGlobalOptions.generatorOptions,
367
- currentVersionResolver: 'git-tag',
368
- specifierSource: 'conventional-commits',
369
- };
370
- }
371
- else {
372
- rootVersionWithoutGlobalOptions.currentVersionResolver = 'git-tag';
373
- rootVersionWithoutGlobalOptions.specifierSource = 'conventional-commits';
374
- }
338
+ rootVersionWithoutGlobalOptions.currentVersionResolver = 'git-tag';
339
+ rootVersionWithoutGlobalOptions.specifierSource = 'conventional-commits';
375
340
  }
376
341
  if (userConfig.version?.conventionalCommits === false) {
377
- delete rootVersionWithoutGlobalOptions.generatorOptions
378
- ?.currentVersionResolver;
379
- delete rootVersionWithoutGlobalOptions.generatorOptions?.specifierSource;
380
- delete rootVersionWithoutGlobalOptions
381
- .currentVersionResolver;
382
- delete rootVersionWithoutGlobalOptions
383
- .specifierSource;
342
+ delete rootVersionWithoutGlobalOptions.currentVersionResolver;
343
+ delete rootVersionWithoutGlobalOptions.specifierSource;
384
344
  }
385
345
  // Apply versionPlans shorthand to the final group defaults if explicitly configured in the original user config
386
346
  if (userConfig.versionPlans) {
387
- if (USE_LEGACY_VERSIONING) {
388
- rootVersionWithoutGlobalOptions.generatorOptions = {
389
- ...rootVersionWithoutGlobalOptions.generatorOptions,
390
- specifierSource: 'version-plans',
391
- };
392
- }
393
- else {
394
- rootVersionWithoutGlobalOptions.specifierSource = 'version-plans';
395
- }
347
+ rootVersionWithoutGlobalOptions.specifierSource = 'version-plans';
396
348
  }
397
349
  if (userConfig.versionPlans === false) {
398
- delete rootVersionWithoutGlobalOptions.generatorOptions.specifierSource;
399
- delete rootVersionWithoutGlobalOptions
400
- .specifierSource;
350
+ delete rootVersionWithoutGlobalOptions.specifierSource;
401
351
  }
402
352
  const rootDockerWithoutGlobalOptions = { ...rootDockerConfig };
403
353
  delete rootDockerWithoutGlobalOptions.preVersionCommand;
@@ -463,6 +413,14 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
463
413
  };
464
414
  }
465
415
  }
416
+ else {
417
+ releaseGroup.releaseTagPattern =
418
+ releaseGroup.projectsRelationship === 'independent'
419
+ ? WORKSPACE_DEFAULTS.releaseTagPattern?.includes('{projectName}')
420
+ ? WORKSPACE_DEFAULTS.releaseTagPattern
421
+ : defaultIndependentReleaseTagPattern
422
+ : userConfig?.releaseTagPattern ?? defaultFixedGroupReleaseTagPattern;
423
+ }
466
424
  for (const project of matchingProjects) {
467
425
  if (alreadyMatchedProjects.has(project)) {
468
426
  return {
@@ -527,6 +485,9 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
527
485
  releaseTagPatternRequireSemver: releaseGroup.releaseTagPatternRequireSemver ??
528
486
  userConfig.releaseTagPatternRequireSemver ??
529
487
  defaultReleaseTagPatternRequireSemver,
488
+ releaseTagPatternPreferDockerVersion: releaseGroup.releaseTagPatternPreferDockerVersion ??
489
+ userConfig.releaseTagPatternPreferDockerVersion ??
490
+ false,
530
491
  releaseTagPatternStrictPreid: releaseGroup.releaseTagPatternStrictPreid ??
531
492
  userConfig.releaseTagPatternStrictPreid ??
532
493
  defaultReleaseTagPatternStrictPreid,
@@ -545,52 +506,21 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
545
506
  }
546
507
  // Apply conventionalCommits shorthand to the final group if explicitly configured in the original group
547
508
  if (releaseGroup.version?.conventionalCommits === true) {
548
- if (USE_LEGACY_VERSIONING) {
549
- finalReleaseGroup.version.generatorOptions = {
550
- ...finalReleaseGroup.version.generatorOptions,
551
- currentVersionResolver: 'git-tag',
552
- specifierSource: 'conventional-commits',
553
- };
554
- }
555
- else {
556
- finalReleaseGroup.version.currentVersionResolver = 'git-tag';
557
- finalReleaseGroup.version.specifierSource = 'conventional-commits';
558
- }
509
+ finalReleaseGroup.version.currentVersionResolver = 'git-tag';
510
+ finalReleaseGroup.version.specifierSource = 'conventional-commits';
559
511
  }
560
512
  if (releaseGroup.version?.conventionalCommits === false &&
561
513
  releaseGroupName !== exports.IMPLICIT_DEFAULT_RELEASE_GROUP) {
562
- if (USE_LEGACY_VERSIONING) {
563
- delete finalReleaseGroup.version.generatorOptions
564
- ?.currentVersionResolver;
565
- delete finalReleaseGroup.version.generatorOptions?.specifierSource;
566
- }
567
- delete finalReleaseGroup.version
568
- .currentVersionResolver;
569
- delete finalReleaseGroup.version
570
- .specifierSource;
514
+ delete finalReleaseGroup.version.currentVersionResolver;
515
+ delete finalReleaseGroup.version.specifierSource;
571
516
  }
572
517
  // Apply versionPlans shorthand to the final group if explicitly configured in the original group
573
518
  if (releaseGroup.versionPlans) {
574
- if (USE_LEGACY_VERSIONING) {
575
- finalReleaseGroup.version = {
576
- ...finalReleaseGroup.version,
577
- generatorOptions: {
578
- ...finalReleaseGroup.version?.generatorOptions,
579
- specifierSource: 'version-plans',
580
- },
581
- };
582
- }
583
- else {
584
- finalReleaseGroup.version.specifierSource = 'version-plans';
585
- }
519
+ finalReleaseGroup.version.specifierSource = 'version-plans';
586
520
  }
587
521
  if (releaseGroup.versionPlans === false &&
588
522
  releaseGroupName !== exports.IMPLICIT_DEFAULT_RELEASE_GROUP) {
589
- if (USE_LEGACY_VERSIONING) {
590
- delete finalReleaseGroup.version.generatorOptions?.specifierSource;
591
- }
592
- delete finalReleaseGroup.version
593
- .specifierSource;
523
+ delete finalReleaseGroup.version.specifierSource;
594
524
  }
595
525
  releaseGroups[releaseGroupName] = finalReleaseGroup;
596
526
  }
@@ -608,6 +538,14 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
608
538
  if (hasDockerProjects) {
609
539
  // If any project in the group has docker configuration, disable semver requirement
610
540
  releaseGroup.releaseTagPatternRequireSemver = false;
541
+ // Set releaseTagPatternPreferDockerVersion to true by default when docker projects exist,
542
+ // unless user has explicitly configured it
543
+ if (releaseGroup.releaseTagPatternPreferDockerVersion === false &&
544
+ userConfig.groups?.[releaseGroupName]
545
+ ?.releaseTagPatternPreferDockerVersion === undefined &&
546
+ userConfig.releaseTagPatternPreferDockerVersion === undefined) {
547
+ releaseGroup.releaseTagPatternPreferDockerVersion = true;
548
+ }
611
549
  }
612
550
  }
613
551
  const configError = validateChangelogConfig(releaseGroups, rootChangelogConfig);
@@ -629,6 +567,7 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
629
567
  releaseTagPatternCheckAllBranchesWhen: WORKSPACE_DEFAULTS.releaseTagPatternCheckAllBranchesWhen,
630
568
  releaseTagPatternRequireSemver: WORKSPACE_DEFAULTS.releaseTagPatternRequireSemver,
631
569
  releaseTagPatternStrictPreid: WORKSPACE_DEFAULTS.releaseTagPatternStrictPreid,
570
+ releaseTagPatternPreferDockerVersion: WORKSPACE_DEFAULTS.releaseTagPatternPreferDockerVersion,
632
571
  git: rootGitConfig,
633
572
  docker: rootDockerConfig,
634
573
  version: rootVersionConfig,
@@ -728,7 +667,7 @@ function fillUnspecifiedConventionalCommitsProperties(config) {
728
667
  types,
729
668
  };
730
669
  }
731
- async function handleNxReleaseConfigError(error, useLegacyVersioning) {
670
+ async function handleNxReleaseConfigError(error) {
732
671
  const linkMessage = `\nRead more about Nx Release at https://nx.dev/features/manage-releases.`;
733
672
  switch (error.code) {
734
673
  case 'PROJECTS_AND_GROUPS_DEFINED':
@@ -786,11 +725,8 @@ async function handleNxReleaseConfigError(error, useLegacyVersioning) {
786
725
  const nxJsonMessage = await (0, resolve_nx_json_error_message_1.resolveNxJsonConfigErrorMessage)([
787
726
  'release',
788
727
  ]);
789
- const text = useLegacyVersioning
790
- ? '"version.generatorOptions"'
791
- : 'configuration options';
792
728
  output_1.output.error({
793
- 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:`,
729
+ title: `You have configured both the shorthand "version.conventionalCommits" and one or more of the related configuration options that it sets for you. Please use one or the other:`,
794
730
  bodyLines: [nxJsonMessage, linkMessage],
795
731
  });
796
732
  }
@@ -943,30 +879,16 @@ function deepMergeDefaults(defaultConfigs, userConfig) {
943
879
  function hasInvalidConventionalCommitsConfig(userConfig) {
944
880
  // at the root
945
881
  if (userConfig.version?.conventionalCommits === true &&
946
- // v2 config - directly on version config
947
- (userConfig.version
948
- ?.currentVersionResolver ||
949
- userConfig.version?.specifierSource ||
950
- // Legacy config - on generatorOptions
951
- userConfig.version
952
- ?.generatorOptions?.currentVersionResolver ||
953
- userConfig.version
954
- ?.generatorOptions?.specifierSource)) {
882
+ (userConfig.version?.currentVersionResolver ||
883
+ userConfig.version?.specifierSource)) {
955
884
  return true;
956
885
  }
957
886
  // within any groups
958
887
  if (userConfig.groups) {
959
888
  for (const group of Object.values(userConfig.groups)) {
960
889
  if (group.version?.conventionalCommits === true &&
961
- // v2 config - directly on version config
962
- (group.version
963
- ?.currentVersionResolver ||
964
- group.version?.specifierSource ||
965
- // Legacy config - on generatorOptions
966
- group.version
967
- ?.generatorOptions?.currentVersionResolver ||
968
- group.version
969
- ?.generatorOptions?.specifierSource)) {
890
+ (group.version?.currentVersionResolver ||
891
+ group.version?.specifierSource)) {
970
892
  return true;
971
893
  }
972
894
  }
@@ -1 +1 @@
1
- {"version":3,"file":"version-plans.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/config/version-plans.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,gBAAgB,EAAE,WAAW,CAAC;IAC9B;;;;OAIG;IACH,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAClD;AAID,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CA0BrE;AAED,wBAAsB,+BAA+B,CACnD,eAAe,EAAE,cAAc,EAAE,EACjC,aAAa,EAAE,oBAAoB,EAAE,EACrC,0BAA0B,EAAE,MAAM,EAAE,EACpC,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAqNjC;AASD,wBAAgB,2BAA2B,WAE1C"}
1
+ {"version":3,"file":"version-plans.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/config/version-plans.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,gBAAgB,EAAE,WAAW,CAAC;IAC9B;;;;OAIG;IACH,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAClD;AAID,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CA0BrE;AAED,wBAAsB,+BAA+B,CACnD,eAAe,EAAE,cAAc,EAAE,EACjC,aAAa,EAAE,oBAAoB,EAAE,EACrC,0BAA0B,EAAE,MAAM,EAAE,EACpC,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAwNjC;AASD,wBAAgB,2BAA2B,WAE1C"}
@@ -149,7 +149,10 @@ async function setResolvedVersionPlansOnGroups(rawVersionPlans, releaseGroups, a
149
149
  }
150
150
  }
151
151
  else {
152
- existingPlan.triggeredByProjects.push(key);
152
+ // Avoid duplicates when releaseGraph is reused and version plans are resolved multiple times
153
+ if (!existingPlan.triggeredByProjects.includes(key)) {
154
+ existingPlan.triggeredByProjects.push(key);
155
+ }
153
156
  }
154
157
  }
155
158
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"plan-check.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/plan-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAC;AAU1E,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAgBjE,eAAO,MAAM,0BAA0B,GAAI,MAAM,gBAAgB,oBACV,CAAC;AAExD,wBAAgB,SAAS,CAAC,qBAAqB,EAAE,sBAAsB,IAC9B,MAAM,WAAW,KAAG,OAAO,CAAC,MAAM,CAAC,CA+N3E"}
1
+ {"version":3,"file":"plan-check.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/plan-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAC;AAU1E,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAejE,eAAO,MAAM,0BAA0B,GAAI,MAAM,gBAAgB,oBACV,CAAC;AAExD,wBAAgB,SAAS,CAAC,qBAAqB,EAAE,sBAAsB,IAC9B,MAAM,WAAW,KAAG,OAAO,CAAC,MAAM,CAAC,CAyN3E"}
@@ -12,7 +12,6 @@ const output_1 = require("../../utils/output");
12
12
  const config_1 = require("./config/config");
13
13
  const deep_merge_json_1 = require("./config/deep-merge-json");
14
14
  const filter_release_groups_1 = require("./config/filter-release-groups");
15
- const use_legacy_versioning_1 = require("./config/use-legacy-versioning");
16
15
  const version_plans_1 = require("./config/version-plans");
17
16
  const get_touched_projects_for_group_1 = require("./utils/get-touched-projects-for-group");
18
17
  const print_config_1 = require("./utils/print-config");
@@ -26,8 +25,7 @@ function createAPI(overrideReleaseConfig) {
26
25
  // Apply default configuration to any optional user configuration
27
26
  const { error: configError, nxReleaseConfig } = await (0, config_1.createNxReleaseConfig)(projectGraph, await (0, file_map_utils_1.createProjectFileMapUsingProjectGraph)(projectGraph), userProvidedReleaseConfig);
28
27
  if (configError) {
29
- const USE_LEGACY_VERSIONING = (0, use_legacy_versioning_1.shouldUseLegacyVersioning)(userProvidedReleaseConfig);
30
- return await (0, config_1.handleNxReleaseConfigError)(configError, USE_LEGACY_VERSIONING);
28
+ return await (0, config_1.handleNxReleaseConfigError)(configError);
31
29
  }
32
30
  // --print-config exits directly as it is not designed to be combined with any other programmatic operations
33
31
  if (args.printConfig) {
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/plan.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAC;AAU1E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAgB/C,eAAO,MAAM,qBAAqB,GAAI,MAAM,WAAW,oBACA,CAAC;AAExD,wBAAgB,SAAS,CAAC,qBAAqB,EAAE,sBAAsB,IAEnE,MAAM,WAAW,KAChB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAqO5B"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/plan.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAC;AAU1E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAe/C,eAAO,MAAM,qBAAqB,GAAI,MAAM,WAAW,oBACA,CAAC;AAExD,wBAAgB,SAAS,CAAC,qBAAqB,EAAE,sBAAsB,IAEnE,MAAM,WAAW,KAChB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CA+N5B"}
@@ -18,7 +18,6 @@ const output_1 = require("../../utils/output");
18
18
  const config_1 = require("./config/config");
19
19
  const deep_merge_json_1 = require("./config/deep-merge-json");
20
20
  const filter_release_groups_1 = require("./config/filter-release-groups");
21
- const use_legacy_versioning_1 = require("./config/use-legacy-versioning");
22
21
  const version_plans_1 = require("./config/version-plans");
23
22
  const generate_version_plan_content_1 = require("./utils/generate-version-plan-content");
24
23
  const get_touched_projects_for_group_1 = require("./utils/get-touched-projects-for-group");
@@ -35,8 +34,7 @@ function createAPI(overrideReleaseConfig) {
35
34
  // Apply default configuration to any optional user configuration
36
35
  const { error: configError, nxReleaseConfig } = await (0, config_1.createNxReleaseConfig)(projectGraph, await (0, file_map_utils_1.createProjectFileMapUsingProjectGraph)(projectGraph), userProvidedReleaseConfig);
37
36
  if (configError) {
38
- const USE_LEGACY_VERSIONING = (0, use_legacy_versioning_1.shouldUseLegacyVersioning)(userProvidedReleaseConfig);
39
- return await (0, config_1.handleNxReleaseConfigError)(configError, USE_LEGACY_VERSIONING);
37
+ return await (0, config_1.handleNxReleaseConfigError)(configError);
40
38
  }
41
39
  // --print-config exits directly as it is not designed to be combined with any other programmatic operations
42
40
  if (args.printConfig) {
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAEvB,MAAM,sBAAsB,CAAC;AAsB9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUlD,MAAM,WAAW,qBAAqB;IACpC,CAAC,WAAW,EAAE,MAAM,GAAG;QACrB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,eAAO,MAAM,wBAAwB,GAAI,MAAM,cAAc,oBAWzD,CAAC;AAEL,wBAAgB,SAAS,CAAC,qBAAqB,EAAE,sBAAsB,IAOnE,MAAM,cAAc,KACnB,OAAO,CAAC,qBAAqB,CAAC,CAwHlC"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/command-line/release/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAEvB,MAAM,sBAAsB,CAAC;AAuB9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AASlD,MAAM,WAAW,qBAAqB;IACpC,CAAC,WAAW,EAAE,MAAM,GAAG;QACrB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,eAAO,MAAM,wBAAwB,GAAI,MAAM,cAAc,oBAWzD,CAAC;AAEL,wBAAgB,SAAS,CAAC,qBAAqB,EAAE,sBAAsB,IAOnE,MAAM,cAAc,KACnB,OAAO,CAAC,qBAAqB,CAAC,CAuIlC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.releasePublishCLIHandler = void 0;
4
4
  exports.createAPI = createAPI;
5
5
  const nx_json_1 = require("../../config/nx-json");
6
+ const tree_1 = require("../../generators/tree");
6
7
  const native_1 = require("../../native");
7
8
  const file_map_utils_1 = require("../../project-graph/file-map-utils");
8
9
  const tasks_execution_hooks_1 = require("../../project-graph/plugins/tasks-execution-hooks");
@@ -16,9 +17,8 @@ const workspace_root_1 = require("../../utils/workspace-root");
16
17
  const graph_1 = require("../graph/graph");
17
18
  const config_1 = require("./config/config");
18
19
  const deep_merge_json_1 = require("./config/deep-merge-json");
19
- const filter_release_groups_1 = require("./config/filter-release-groups");
20
- const use_legacy_versioning_1 = require("./config/use-legacy-versioning");
21
20
  const print_config_1 = require("./utils/print-config");
21
+ const release_graph_1 = require("./utils/release-graph");
22
22
  const releasePublishCLIHandler = (args) => (0, handle_errors_1.handleErrors)(args.verbose, async () => {
23
23
  const publishProjectsResult = await createAPI({})(args);
24
24
  // If all projects are published successfully, return 0, otherwise return 1
@@ -48,8 +48,7 @@ function createAPI(overrideReleaseConfig) {
48
48
  // Apply default configuration to any optional user configuration
49
49
  const { error: configError, nxReleaseConfig } = await (0, config_1.createNxReleaseConfig)(projectGraph, await (0, file_map_utils_1.createProjectFileMapUsingProjectGraph)(projectGraph), userProvidedReleaseConfig);
50
50
  if (configError) {
51
- const USE_LEGACY_VERSIONING = (0, use_legacy_versioning_1.shouldUseLegacyVersioning)(userProvidedReleaseConfig);
52
- return await (0, config_1.handleNxReleaseConfigError)(configError, USE_LEGACY_VERSIONING);
51
+ return await (0, config_1.handleNxReleaseConfigError)(configError);
53
52
  }
54
53
  // --print-config exits directly as it is not designed to be combined with any other programmatic operations
55
54
  if (args.printConfig) {
@@ -59,14 +58,26 @@ function createAPI(overrideReleaseConfig) {
59
58
  isDebug: args.printConfig === 'debug',
60
59
  });
61
60
  }
62
- const { error: filterError, filterLog, releaseGroups, releaseGroupToFilteredProjects, } = (0, filter_release_groups_1.filterReleaseGroups)(projectGraph, nxReleaseConfig, _args.projects, _args.groups);
63
- if (filterError) {
64
- output_1.output.error(filterError);
65
- process.exit(1);
66
- }
67
- if (filterLog &&
61
+ // Use pre-built release graph if provided, otherwise create a new one
62
+ const releaseGraph = args.releaseGraph ||
63
+ (await (0, release_graph_1.createReleaseGraph)({
64
+ // Only build the tree if no existing graph, it's only needed for this
65
+ tree: new tree_1.FsTree(workspace_root_1.workspaceRoot, args.verbose),
66
+ projectGraph,
67
+ nxReleaseConfig,
68
+ filters: {
69
+ projects: _args.projects,
70
+ groups: _args.groups,
71
+ },
72
+ firstRelease: args.firstRelease,
73
+ verbose: args.verbose,
74
+ // Publish doesn't need to resolve current versions during graph construction
75
+ skipVersionResolution: true,
76
+ }));
77
+ // Display filter log if filters were applied
78
+ if (releaseGraph.filterLog &&
68
79
  process.env.NX_RELEASE_INTERNAL_SUPPRESS_FILTER_LOG !== 'true') {
69
- output_1.output.note(filterLog);
80
+ output_1.output.note(releaseGraph.filterLog);
70
81
  }
71
82
  /**
72
83
  * If the user is filtering to a subset of projects or groups, we should not run the publish task
@@ -79,9 +90,15 @@ function createAPI(overrideReleaseConfig) {
79
90
  if (args.projects?.length) {
80
91
  /**
81
92
  * Run publishing for all remaining release groups and filtered projects within them
93
+ * in topological order
82
94
  */
83
- for (const releaseGroup of releaseGroups) {
84
- const publishProjectsResult = await runPublishOnProjects(_args, projectGraph, nxJson, Array.from(releaseGroupToFilteredProjects.get(releaseGroup)), {
95
+ for (const releaseGroupName of releaseGraph.sortedReleaseGroups) {
96
+ const releaseGroup = releaseGraph.releaseGroups.find((g) => g.name === releaseGroupName);
97
+ if (!releaseGroup) {
98
+ // Release group was filtered out, skip
99
+ continue;
100
+ }
101
+ const publishProjectsResult = await runPublishOnProjects(_args, projectGraph, nxJson, Array.from(releaseGraph.releaseGroupToFilteredProjects.get(releaseGroup)), {
85
102
  excludeTaskDependencies: shouldExcludeTaskDependencies,
86
103
  loadDotEnvFiles: process.env.NX_LOAD_DOT_ENV_FILES !== 'false',
87
104
  });
@@ -95,7 +112,12 @@ function createAPI(overrideReleaseConfig) {
95
112
  /**
96
113
  * Run publishing for all remaining release groups
97
114
  */
98
- for (const releaseGroup of releaseGroups) {
115
+ for (const releaseGroupName of releaseGraph.sortedReleaseGroups) {
116
+ const releaseGroup = releaseGraph.releaseGroups.find((g) => g.name === releaseGroupName);
117
+ if (!releaseGroup) {
118
+ // Release group was filtered out, skip
119
+ continue;
120
+ }
99
121
  const publishProjectsResult = await runPublishOnProjects(_args, projectGraph, nxJson, releaseGroup.projects, {
100
122
  excludeTaskDependencies: shouldExcludeTaskDependencies,
101
123
  loadDotEnvFiles: process.env.NX_LOAD_DOT_ENV_FILES !== 'false',
@@ -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;AA6BlE,OAAO,EACL,sBAAsB,EAEvB,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,iBAAiB,GAAI,MAAM,cAAc,oBACC,CAAC;AAExD,wBAAgB,SAAS,CAAC,qBAAqB,EAAE,sBAAsB,IAMnE,MAAM,cAAc,KACnB,OAAO,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAkX5C"}
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,oBACC,CAAC;AAExD,wBAAgB,SAAS,CAAC,qBAAqB,EAAE,sBAAsB,IAMnE,MAAM,cAAc,KACnB,OAAO,CAAC,sBAAsB,GAAG,MAAM,CAAC,CA4W5C"}