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.
- package/migrations.json +5 -0
- package/package.json +12 -12
- package/project.json +2 -1
- package/schemas/nx-schema.json +268 -162
- package/schemas/project-schema.json +72 -12
- package/src/adapter/angular-json.d.ts.map +1 -1
- package/src/adapter/angular-json.js +13 -17
- package/src/command-line/configure-ai-agents/command-object.d.ts +1 -1
- package/src/command-line/configure-ai-agents/command-object.d.ts.map +1 -1
- package/src/command-line/configure-ai-agents/command-object.js +18 -4
- package/src/command-line/configure-ai-agents/configure-ai-agents.d.ts.map +1 -1
- package/src/command-line/configure-ai-agents/configure-ai-agents.js +58 -31
- package/src/command-line/init/init-v2.js +1 -1
- package/src/command-line/nx-cloud/login/command-object.d.ts.map +1 -1
- package/src/command-line/nx-cloud/login/command-object.js +2 -2
- package/src/command-line/nx-cloud/logout/command-object.js +1 -1
- package/src/command-line/release/changelog.d.ts.map +1 -1
- package/src/command-line/release/changelog.js +41 -32
- package/src/command-line/release/command-object.d.ts +7 -9
- package/src/command-line/release/command-object.d.ts.map +1 -1
- package/src/command-line/release/config/config.d.ts +1 -1
- package/src/command-line/release/config/config.d.ts.map +1 -1
- package/src/command-line/release/config/config.js +55 -133
- package/src/command-line/release/config/version-plans.d.ts.map +1 -1
- package/src/command-line/release/config/version-plans.js +4 -1
- package/src/command-line/release/plan-check.d.ts.map +1 -1
- package/src/command-line/release/plan-check.js +1 -3
- package/src/command-line/release/plan.d.ts.map +1 -1
- package/src/command-line/release/plan.js +1 -3
- package/src/command-line/release/publish.d.ts.map +1 -1
- package/src/command-line/release/publish.js +36 -14
- package/src/command-line/release/release.d.ts.map +1 -1
- package/src/command-line/release/release.js +32 -33
- package/src/command-line/release/utils/git.d.ts.map +1 -1
- package/src/command-line/release/utils/git.js +3 -1
- package/src/command-line/release/utils/release-graph.d.ts +219 -0
- package/src/command-line/release/utils/release-graph.d.ts.map +1 -0
- package/src/command-line/release/utils/release-graph.js +658 -0
- package/src/command-line/release/utils/resolve-semver-specifier.d.ts +2 -1
- package/src/command-line/release/utils/resolve-semver-specifier.d.ts.map +1 -1
- package/src/command-line/release/utils/semver.d.ts +14 -9
- package/src/command-line/release/utils/semver.d.ts.map +1 -1
- package/src/command-line/release/utils/semver.js +29 -25
- package/src/command-line/release/utils/shared.d.ts +5 -2
- package/src/command-line/release/utils/shared.d.ts.map +1 -1
- package/src/command-line/release/utils/shared.js +82 -26
- package/src/command-line/release/utils/test/test-utils.d.ts +20 -0
- package/src/command-line/release/utils/test/test-utils.d.ts.map +1 -0
- package/src/command-line/release/utils/test/test-utils.js +24 -0
- package/src/command-line/release/version/derive-specifier-from-conventional-commits.d.ts.map +1 -1
- package/src/command-line/release/version/derive-specifier-from-conventional-commits.js +10 -1
- package/src/command-line/release/version/release-group-processor.d.ts +3 -152
- package/src/command-line/release/version/release-group-processor.d.ts.map +1 -1
- package/src/command-line/release/version/release-group-processor.js +50 -570
- package/src/command-line/release/version/resolve-current-version.d.ts +1 -1
- package/src/command-line/release/version/resolve-current-version.d.ts.map +1 -1
- package/src/command-line/release/version/resolve-current-version.js +1 -1
- package/src/command-line/release/version/test-utils.d.ts +13 -4
- package/src/command-line/release/version/test-utils.d.ts.map +1 -1
- package/src/command-line/release/version/test-utils.js +26 -15
- package/src/command-line/release/version/version-actions.d.ts +12 -5
- package/src/command-line/release/version/version-actions.d.ts.map +1 -1
- package/src/command-line/release/version/version-actions.js +36 -19
- package/src/command-line/release/version.d.ts +6 -1
- package/src/command-line/release/version.d.ts.map +1 -1
- package/src/command-line/release/version.js +58 -36
- package/src/config/nx-json.d.ts +28 -35
- package/src/config/nx-json.d.ts.map +1 -1
- package/src/config/nx-json.js +8 -8
- package/src/config/workspace-json-project-json.d.ts +2 -2
- package/src/config/workspace-json-project-json.d.ts.map +1 -1
- package/src/core/graph/main.js +1 -1
- package/src/devkit-exports.d.ts +1 -1
- package/src/devkit-exports.d.ts.map +1 -1
- package/src/migrations/update-21-0-0/release-changelog-config-changes.d.ts.map +1 -1
- package/src/migrations/update-21-0-0/release-version-config-changes.d.ts.map +1 -1
- package/src/migrations/update-21-0-0/release-version-config-changes.js +5 -15
- package/src/migrations/update-22-0-0/release-version-config-changes.d.ts +3 -0
- package/src/migrations/update-22-0-0/release-version-config-changes.d.ts.map +1 -0
- package/src/migrations/update-22-0-0/release-version-config-changes.js +101 -0
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/plugins/js/index.d.ts +1 -2
- package/src/plugins/js/index.d.ts.map +1 -1
- package/src/plugins/js/index.js +28 -32
- package/src/plugins/js/lock-file/lock-file.d.ts +2 -2
- package/src/plugins/js/lock-file/lock-file.d.ts.map +1 -1
- package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +1 -1
- package/src/project-graph/plugins/loaded-nx-plugin.d.ts.map +1 -1
- package/src/project-graph/plugins/loaded-nx-plugin.js +8 -6
- package/src/project-graph/plugins/public-api.d.ts +1 -36
- package/src/project-graph/plugins/public-api.d.ts.map +1 -1
- package/src/project-graph/plugins/utils.d.ts +4 -2
- package/src/project-graph/plugins/utils.d.ts.map +1 -1
- package/src/tasks-runner/run-command.js +2 -2
- package/src/command-line/release/config/use-legacy-versioning.d.ts +0 -3
- package/src/command-line/release/config/use-legacy-versioning.d.ts.map +0 -1
- package/src/command-line/release/config/use-legacy-versioning.js +0 -9
- package/src/command-line/release/utils/batch-projects-by-generator-config.d.ts +0 -8
- package/src/command-line/release/utils/batch-projects-by-generator-config.d.ts.map +0 -1
- package/src/command-line/release/utils/batch-projects-by-generator-config.js +0 -39
- package/src/command-line/release/version-legacy.d.ts +0 -47
- package/src/command-line/release/version-legacy.d.ts.map +0 -1
- 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":"AAeA,OAAO,
|
|
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
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
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:
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
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
|
-
|
|
365
|
-
|
|
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.
|
|
378
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
549
|
-
|
|
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
|
-
|
|
563
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
947
|
-
|
|
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
|
-
|
|
962
|
-
|
|
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,
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
|
84
|
-
const
|
|
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
|
|
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;
|
|
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"}
|