nx 22.0.0-beta.4 → 22.0.0-beta.5
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/release/changelog-renderer/index.d.ts +1 -0
- package/release/changelog-renderer/index.d.ts.map +1 -1
- package/release/changelog-renderer/index.js +46 -15
- package/schemas/nx-schema.json +165 -10
- package/src/command-line/migrate/migrate.d.ts.map +1 -1
- package/src/command-line/migrate/migrate.js +0 -4
- package/src/command-line/nx-commands.js +1 -1
- package/src/command-line/release/changelog.d.ts.map +1 -1
- package/src/command-line/release/changelog.js +18 -18
- package/src/command-line/release/config/config.d.ts +6 -2
- package/src/command-line/release/config/config.d.ts.map +1 -1
- package/src/command-line/release/config/config.js +119 -70
- package/src/command-line/release/utils/git.d.ts +2 -2
- package/src/command-line/release/utils/git.d.ts.map +1 -1
- package/src/command-line/release/utils/git.js +5 -5
- package/src/command-line/release/utils/release-graph.d.ts +1 -1
- package/src/command-line/release/utils/release-graph.d.ts.map +1 -1
- package/src/command-line/release/utils/release-graph.js +6 -6
- package/src/command-line/release/utils/shared.js +11 -11
- package/src/command-line/release/version/release-group-processor.d.ts.map +1 -1
- package/src/command-line/release/version/release-group-processor.js +9 -1
- package/src/config/nx-json.d.ts +129 -70
- package/src/config/nx-json.d.ts.map +1 -1
- package/src/core/graph/main.js +1 -1
- package/src/daemon/client/client.d.ts +4 -0
- package/src/daemon/client/client.d.ts.map +1 -1
- package/src/daemon/client/client.js +23 -0
- package/src/daemon/message-types/register-project-graph-listener.d.ts +6 -0
- package/src/daemon/message-types/register-project-graph-listener.d.ts.map +1 -0
- package/src/daemon/message-types/register-project-graph-listener.js +11 -0
- package/src/daemon/server/project-graph-incremental-recomputation.d.ts +3 -1
- package/src/daemon/server/project-graph-incremental-recomputation.d.ts.map +1 -1
- package/src/daemon/server/project-graph-incremental-recomputation.js +13 -5
- package/src/daemon/server/project-graph-listener-sockets.d.ts +8 -0
- package/src/daemon/server/project-graph-listener-sockets.d.ts.map +1 -0
- package/src/daemon/server/project-graph-listener-sockets.js +24 -0
- package/src/daemon/server/server.d.ts.map +1 -1
- package/src/daemon/server/server.js +9 -2
- package/src/migrations/update-22-0-0/consolidate-release-tag-config.d.ts +3 -0
- package/src/migrations/update-22-0-0/consolidate-release-tag-config.d.ts.map +1 -0
- package/src/migrations/update-22-0-0/consolidate-release-tag-config.js +100 -0
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/tasks-runner/is-tui-enabled.d.ts.map +1 -1
- package/src/tasks-runner/is-tui-enabled.js +0 -1
- package/src/tasks-runner/run-command.d.ts.map +1 -1
- package/src/tasks-runner/run-command.js +3 -0
- package/src/utils/package-manager.d.ts.map +1 -1
- package/src/utils/package-manager.js +1 -3
|
@@ -193,7 +193,7 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
|
|
|
193
193
|
preserveLocalDependencyProtocols: userConfig.version?.preserveLocalDependencyProtocols ?? true,
|
|
194
194
|
preserveMatchingDependencyRanges: userConfig.version?.preserveMatchingDependencyRanges ?? true,
|
|
195
195
|
logUnchangedProjects: userConfig.version?.logUnchangedProjects ?? true,
|
|
196
|
-
updateDependents: userConfig.version?.updateDependents ?? '
|
|
196
|
+
updateDependents: userConfig.version?.updateDependents ?? 'always',
|
|
197
197
|
},
|
|
198
198
|
changelog: {
|
|
199
199
|
git: changelogGitDefaults,
|
|
@@ -228,25 +228,36 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
|
|
|
228
228
|
: false,
|
|
229
229
|
automaticFromRef: false,
|
|
230
230
|
},
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
231
|
+
releaseTag: {
|
|
232
|
+
pattern: userConfig.releaseTag?.pattern ||
|
|
233
|
+
userConfig.releaseTagPattern ||
|
|
234
|
+
// The appropriate default pattern is dependent upon the projectRelationships
|
|
235
|
+
(workspaceProjectsRelationship === 'independent'
|
|
236
|
+
? defaultIndependentReleaseTagPattern
|
|
237
|
+
: defaultFixedReleaseTagPattern),
|
|
238
|
+
checkAllBranchesWhen: userConfig.releaseTag?.checkAllBranchesWhen ??
|
|
239
|
+
userConfig.releaseTagPatternCheckAllBranchesWhen ??
|
|
240
|
+
undefined,
|
|
241
|
+
requireSemver: userConfig.releaseTag?.requireSemver ??
|
|
242
|
+
userConfig.releaseTagPatternRequireSemver ??
|
|
243
|
+
defaultReleaseTagPatternRequireSemver,
|
|
244
|
+
preferDockerVersion: userConfig.releaseTag?.preferDockerVersion ??
|
|
245
|
+
userConfig.releaseTagPatternPreferDockerVersion ??
|
|
246
|
+
false,
|
|
247
|
+
strictPreid: userConfig.releaseTag?.strictPreid ??
|
|
248
|
+
userConfig.releaseTagPatternStrictPreid ??
|
|
249
|
+
defaultReleaseTagPatternStrictPreid,
|
|
250
|
+
},
|
|
242
251
|
conventionalCommits: conventional_commits_1.DEFAULT_CONVENTIONAL_COMMITS_CONFIG,
|
|
243
252
|
versionPlans: (userConfig.versionPlans ||
|
|
244
253
|
false),
|
|
245
254
|
};
|
|
246
255
|
const groupProjectsRelationship = userConfig.projectsRelationship || WORKSPACE_DEFAULTS.projectsRelationship;
|
|
247
|
-
const
|
|
248
|
-
|
|
249
|
-
|
|
256
|
+
const groupReleaseTagRequireSemver = userConfig.releaseTag?.requireSemver ??
|
|
257
|
+
userConfig.releaseTagPatternRequireSemver ??
|
|
258
|
+
WORKSPACE_DEFAULTS.releaseTag.requireSemver;
|
|
259
|
+
const groupReleaseTagStrictPreid = userConfig.releaseTag?.strictPreid ??
|
|
260
|
+
userConfig.releaseTagPatternStrictPreid ??
|
|
250
261
|
defaultReleaseTagPatternStrictPreid;
|
|
251
262
|
const groupDocker = normalizeDockerConfig(userConfig.docker ?? WORKSPACE_DEFAULTS.docker);
|
|
252
263
|
const GROUP_DEFAULTS = {
|
|
@@ -276,19 +287,23 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
|
|
|
276
287
|
versionTitleDate: true,
|
|
277
288
|
},
|
|
278
289
|
},
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
//
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
290
|
+
releaseTag: {
|
|
291
|
+
pattern:
|
|
292
|
+
// The appropriate group default pattern is dependent upon the projectRelationships
|
|
293
|
+
groupProjectsRelationship === 'independent'
|
|
294
|
+
? // If the default pattern contains {projectName} then it will create unique release tags for each project.
|
|
295
|
+
// Otherwise, use the default value to guarantee unique tags
|
|
296
|
+
WORKSPACE_DEFAULTS.releaseTag.pattern?.includes('{projectName}')
|
|
297
|
+
? WORKSPACE_DEFAULTS.releaseTag.pattern
|
|
298
|
+
: defaultIndependentReleaseTagPattern
|
|
299
|
+
: WORKSPACE_DEFAULTS.releaseTag.pattern,
|
|
300
|
+
checkAllBranchesWhen: userConfig.releaseTag?.checkAllBranchesWhen ??
|
|
301
|
+
userConfig.releaseTagPatternCheckAllBranchesWhen ??
|
|
302
|
+
undefined,
|
|
303
|
+
requireSemver: groupReleaseTagRequireSemver,
|
|
304
|
+
preferDockerVersion: false,
|
|
305
|
+
strictPreid: groupReleaseTagStrictPreid,
|
|
306
|
+
},
|
|
292
307
|
versionPlans: false,
|
|
293
308
|
};
|
|
294
309
|
/**
|
|
@@ -374,10 +389,24 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
|
|
|
374
389
|
* be the valid source of truth for that type of config.
|
|
375
390
|
*/
|
|
376
391
|
version: deepMergeDefaults([GROUP_DEFAULTS.version], rootVersionWithoutGlobalOptions),
|
|
377
|
-
// If the user has set something custom for
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
392
|
+
// If the user has set something custom for releaseTag at the top level, respect it for the implicit default group
|
|
393
|
+
releaseTag: {
|
|
394
|
+
pattern: userConfig.releaseTag?.pattern ||
|
|
395
|
+
userConfig.releaseTagPattern ||
|
|
396
|
+
GROUP_DEFAULTS.releaseTag.pattern,
|
|
397
|
+
checkAllBranchesWhen: userConfig.releaseTag?.checkAllBranchesWhen ??
|
|
398
|
+
userConfig.releaseTagPatternCheckAllBranchesWhen ??
|
|
399
|
+
GROUP_DEFAULTS.releaseTag.checkAllBranchesWhen,
|
|
400
|
+
requireSemver: userConfig.releaseTag?.requireSemver ??
|
|
401
|
+
userConfig.releaseTagPatternRequireSemver ??
|
|
402
|
+
GROUP_DEFAULTS.releaseTag.requireSemver,
|
|
403
|
+
preferDockerVersion: userConfig.releaseTag?.preferDockerVersion ??
|
|
404
|
+
userConfig.releaseTagPatternPreferDockerVersion ??
|
|
405
|
+
GROUP_DEFAULTS.releaseTag.preferDockerVersion,
|
|
406
|
+
strictPreid: userConfig.releaseTag?.strictPreid ??
|
|
407
|
+
userConfig.releaseTagPatternStrictPreid ??
|
|
408
|
+
GROUP_DEFAULTS.releaseTag.strictPreid,
|
|
409
|
+
},
|
|
381
410
|
// Directly inherit the root level config for projectChangelogs, if set
|
|
382
411
|
changelog: rootChangelogConfig.projectChangelogs || false,
|
|
383
412
|
versionPlans: rootVersionPlansConfig || GROUP_DEFAULTS.versionPlans,
|
|
@@ -404,8 +433,9 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
|
|
|
404
433
|
};
|
|
405
434
|
}
|
|
406
435
|
// If provided, ensure release tag pattern is valid
|
|
407
|
-
|
|
408
|
-
|
|
436
|
+
const releaseTagPattern = releaseGroup.releaseTag?.pattern || releaseGroup.releaseTagPattern;
|
|
437
|
+
if (releaseTagPattern) {
|
|
438
|
+
const error = ensureReleaseGroupReleaseTagPatternIsValid(releaseTagPattern, releaseGroupName);
|
|
409
439
|
if (error) {
|
|
410
440
|
return {
|
|
411
441
|
error,
|
|
@@ -414,12 +444,19 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
|
|
|
414
444
|
}
|
|
415
445
|
}
|
|
416
446
|
else {
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
447
|
+
// Set default pattern if not provided
|
|
448
|
+
const defaultPattern = releaseGroup.projectsRelationship === 'independent'
|
|
449
|
+
? WORKSPACE_DEFAULTS.releaseTag.pattern?.includes('{projectName}')
|
|
450
|
+
? WORKSPACE_DEFAULTS.releaseTag.pattern
|
|
451
|
+
: defaultIndependentReleaseTagPattern
|
|
452
|
+
: userConfig?.releaseTag?.pattern ??
|
|
453
|
+
userConfig?.releaseTagPattern ??
|
|
454
|
+
defaultFixedGroupReleaseTagPattern;
|
|
455
|
+
// Initialize releaseTag object if it doesn't exist
|
|
456
|
+
if (!releaseGroup.releaseTag) {
|
|
457
|
+
releaseGroup.releaseTag = {};
|
|
458
|
+
}
|
|
459
|
+
releaseGroup.releaseTag.pattern = defaultPattern;
|
|
423
460
|
}
|
|
424
461
|
for (const project of matchingProjects) {
|
|
425
462
|
if (alreadyMatchedProjects.has(project)) {
|
|
@@ -470,27 +507,40 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
|
|
|
470
507
|
changelog: releaseGroup.changelog || rootChangelogConfig.projectChangelogs
|
|
471
508
|
? deepMergeDefaults(groupChangelogDefaults, releaseGroup.changelog || {})
|
|
472
509
|
: false,
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
510
|
+
releaseTag: {
|
|
511
|
+
pattern: releaseGroup.releaseTag?.pattern ||
|
|
512
|
+
releaseGroup.releaseTagPattern ||
|
|
513
|
+
// The appropriate group default pattern is dependent upon the projectRelationships
|
|
514
|
+
(projectsRelationship === 'independent'
|
|
515
|
+
? // If the default pattern contains {projectName} then it will create unique release tags for each project.
|
|
516
|
+
// Otherwise, use the default value to guarantee unique tags
|
|
517
|
+
(userConfig.releaseTag?.pattern || userConfig.releaseTagPattern)?.includes('{projectName}')
|
|
518
|
+
? userConfig.releaseTag?.pattern || userConfig.releaseTagPattern
|
|
519
|
+
: defaultIndependentReleaseTagPattern
|
|
520
|
+
: userConfig.releaseTag?.pattern ||
|
|
521
|
+
userConfig.releaseTagPattern ||
|
|
522
|
+
defaultFixedReleaseTagPattern),
|
|
523
|
+
checkAllBranchesWhen: releaseGroup.releaseTag?.checkAllBranchesWhen ??
|
|
524
|
+
releaseGroup.releaseTagPatternCheckAllBranchesWhen ??
|
|
525
|
+
userConfig.releaseTag?.checkAllBranchesWhen ??
|
|
526
|
+
userConfig.releaseTagPatternCheckAllBranchesWhen ??
|
|
527
|
+
undefined,
|
|
528
|
+
requireSemver: releaseGroup.releaseTag?.requireSemver ??
|
|
529
|
+
releaseGroup.releaseTagPatternRequireSemver ??
|
|
530
|
+
userConfig.releaseTag?.requireSemver ??
|
|
531
|
+
userConfig.releaseTagPatternRequireSemver ??
|
|
532
|
+
defaultReleaseTagPatternRequireSemver,
|
|
533
|
+
preferDockerVersion: releaseGroup.releaseTag?.preferDockerVersion ??
|
|
534
|
+
releaseGroup.releaseTagPatternPreferDockerVersion ??
|
|
535
|
+
userConfig.releaseTag?.preferDockerVersion ??
|
|
536
|
+
userConfig.releaseTagPatternPreferDockerVersion ??
|
|
537
|
+
false,
|
|
538
|
+
strictPreid: releaseGroup.releaseTag?.strictPreid ??
|
|
539
|
+
releaseGroup.releaseTagPatternStrictPreid ??
|
|
540
|
+
userConfig.releaseTag?.strictPreid ??
|
|
541
|
+
userConfig.releaseTagPatternStrictPreid ??
|
|
542
|
+
defaultReleaseTagPatternStrictPreid,
|
|
543
|
+
},
|
|
494
544
|
versionPlans: releaseGroup.versionPlans ?? rootVersionPlansConfig,
|
|
495
545
|
};
|
|
496
546
|
const finalReleaseGroup = deepMergeDefaults([groupDefaults], {
|
|
@@ -537,14 +587,17 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
|
|
|
537
587
|
});
|
|
538
588
|
if (hasDockerProjects) {
|
|
539
589
|
// If any project in the group has docker configuration, disable semver requirement
|
|
540
|
-
releaseGroup.
|
|
541
|
-
// Set
|
|
590
|
+
releaseGroup.releaseTag.requireSemver = false;
|
|
591
|
+
// Set preferDockerVersion to true by default when docker projects exist,
|
|
542
592
|
// unless user has explicitly configured it
|
|
543
|
-
if (releaseGroup.
|
|
593
|
+
if (releaseGroup.releaseTag.preferDockerVersion === false &&
|
|
594
|
+
userConfig.groups?.[releaseGroupName]?.releaseTag
|
|
595
|
+
?.preferDockerVersion === undefined &&
|
|
544
596
|
userConfig.groups?.[releaseGroupName]
|
|
545
597
|
?.releaseTagPatternPreferDockerVersion === undefined &&
|
|
598
|
+
userConfig.releaseTag?.preferDockerVersion === undefined &&
|
|
546
599
|
userConfig.releaseTagPatternPreferDockerVersion === undefined) {
|
|
547
|
-
releaseGroup.
|
|
600
|
+
releaseGroup.releaseTag.preferDockerVersion = true;
|
|
548
601
|
}
|
|
549
602
|
}
|
|
550
603
|
}
|
|
@@ -563,11 +616,7 @@ async function createNxReleaseConfig(projectGraph, projectFileMap, userConfig =
|
|
|
563
616
|
...(WORKSPACE_DEFAULTS.docker
|
|
564
617
|
? { docker: WORKSPACE_DEFAULTS.docker }
|
|
565
618
|
: {}),
|
|
566
|
-
|
|
567
|
-
releaseTagPatternCheckAllBranchesWhen: WORKSPACE_DEFAULTS.releaseTagPatternCheckAllBranchesWhen,
|
|
568
|
-
releaseTagPatternRequireSemver: WORKSPACE_DEFAULTS.releaseTagPatternRequireSemver,
|
|
569
|
-
releaseTagPatternStrictPreid: WORKSPACE_DEFAULTS.releaseTagPatternStrictPreid,
|
|
570
|
-
releaseTagPatternPreferDockerVersion: WORKSPACE_DEFAULTS.releaseTagPatternPreferDockerVersion,
|
|
619
|
+
releaseTag: WORKSPACE_DEFAULTS.releaseTag,
|
|
571
620
|
git: rootGitConfig,
|
|
572
621
|
docker: rootDockerConfig,
|
|
573
622
|
version: rootVersionConfig,
|
|
@@ -29,8 +29,8 @@ export interface GitCommit extends RawGitCommit {
|
|
|
29
29
|
export interface GetLatestGitTagForPatternOptions {
|
|
30
30
|
checkAllBranchesWhen?: boolean | string[];
|
|
31
31
|
preid?: string;
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
requireSemver: boolean;
|
|
33
|
+
strictPreid: boolean;
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* Extract the tag and version from a tag string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/git.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gCAAgC;IAC/C,oBAAoB,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,9 +38,9 @@ const SEMVER_REGEX = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d
|
|
|
38
38
|
* @returns The tag and version
|
|
39
39
|
*/
|
|
40
40
|
function extractTagAndVersion(tag, tagRegexp, options) {
|
|
41
|
-
const {
|
|
41
|
+
const { requireSemver } = options;
|
|
42
42
|
const [latestMatchingTag, ...rest] = tag.match(tagRegexp);
|
|
43
|
-
let version =
|
|
43
|
+
let version = requireSemver
|
|
44
44
|
? rest.filter((r) => {
|
|
45
45
|
return r.match(SEMVER_REGEX);
|
|
46
46
|
})[0]
|
|
@@ -66,7 +66,7 @@ function extractTagAndVersion(tag, tagRegexp, options) {
|
|
|
66
66
|
* @returns The tag and version
|
|
67
67
|
*/
|
|
68
68
|
async function getLatestGitTagForPattern(releaseTagPattern, additionalInterpolationData = {}, options) {
|
|
69
|
-
const { checkAllBranchesWhen,
|
|
69
|
+
const { checkAllBranchesWhen, requireSemver, strictPreid, preid } = options;
|
|
70
70
|
/**
|
|
71
71
|
* By default, we will try and resolve the latest match for the releaseTagPattern from the current branch,
|
|
72
72
|
* falling back to all branches if no match is found on the current branch.
|
|
@@ -148,7 +148,7 @@ async function getLatestGitTagForPattern(releaseTagPattern, additionalInterpolat
|
|
|
148
148
|
.replace('%p%', '(.+)')
|
|
149
149
|
.replace('%rg%', '(.+)')}`;
|
|
150
150
|
const matchingTags = tags.filter((tag) => {
|
|
151
|
-
if (
|
|
151
|
+
if (requireSemver) {
|
|
152
152
|
// Match against Semver Regex when using semverVersioning to ensure only valid semver tags are matched
|
|
153
153
|
return (!!tag.match(tagRegexp) &&
|
|
154
154
|
tag.match(tagRegexp).some((r) => r.match(SEMVER_REGEX)));
|
|
@@ -160,7 +160,7 @@ async function getLatestGitTagForPattern(releaseTagPattern, additionalInterpolat
|
|
|
160
160
|
if (!matchingTags.length) {
|
|
161
161
|
return null;
|
|
162
162
|
}
|
|
163
|
-
if (!
|
|
163
|
+
if (!strictPreid) {
|
|
164
164
|
// If not using strict preid, we can just return the first matching tag
|
|
165
165
|
return extractTagAndVersion(matchingTags[0], tagRegexp, options);
|
|
166
166
|
}
|
|
@@ -128,7 +128,7 @@ export declare class ReleaseGraph {
|
|
|
128
128
|
private precomputeDependencyRelationships;
|
|
129
129
|
/**
|
|
130
130
|
* Apply dependency-aware filtering that considers updateDependents configuration.
|
|
131
|
-
* This includes transitive dependents
|
|
131
|
+
* This includes transitive dependents based on updateDependents setting ('always' by default, or 'auto').
|
|
132
132
|
*/
|
|
133
133
|
private applyDependencyAwareFiltering;
|
|
134
134
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-graph.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/release-graph.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"release-graph.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/utils/release-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,7 +85,7 @@ class ReleaseGraph {
|
|
|
85
85
|
for (const project of group.projects) {
|
|
86
86
|
this.projectToReleaseGroup.set(project, group);
|
|
87
87
|
const updateDependents = group.version?.updateDependents ||
|
|
88
|
-
'
|
|
88
|
+
'always';
|
|
89
89
|
this.projectToUpdateDependentsSetting.set(project, updateDependents);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
@@ -208,7 +208,7 @@ class ReleaseGraph {
|
|
|
208
208
|
}
|
|
209
209
|
/**
|
|
210
210
|
* Apply dependency-aware filtering that considers updateDependents configuration.
|
|
211
|
-
* This includes transitive dependents
|
|
211
|
+
* This includes transitive dependents based on updateDependents setting ('always' by default, or 'auto').
|
|
212
212
|
*/
|
|
213
213
|
applyDependencyAwareFiltering() {
|
|
214
214
|
// Track the original filtered projects before adding dependents
|
|
@@ -370,15 +370,15 @@ class ReleaseGraph {
|
|
|
370
370
|
const versionActions = this.projectsToVersionActions.get(projectName);
|
|
371
371
|
const finalConfigForProject = this.finalConfigsByProject.get(projectName);
|
|
372
372
|
let latestMatchingGitTag;
|
|
373
|
-
const releaseTagPattern = releaseGroupNode.group.
|
|
373
|
+
const releaseTagPattern = releaseGroupNode.group.releaseTag.pattern;
|
|
374
374
|
if (finalConfigForProject.currentVersionResolver === 'git-tag') {
|
|
375
375
|
latestMatchingGitTag = await (0, git_1.getLatestGitTagForPattern)(releaseTagPattern, {
|
|
376
376
|
projectName: projectGraphNode.name,
|
|
377
377
|
}, {
|
|
378
|
-
checkAllBranchesWhen: releaseGroupNode.group.
|
|
378
|
+
checkAllBranchesWhen: releaseGroupNode.group.releaseTag.checkAllBranchesWhen,
|
|
379
379
|
preid: preid,
|
|
380
|
-
|
|
381
|
-
|
|
380
|
+
requireSemver: releaseGroupNode.group.releaseTag.requireSemver,
|
|
381
|
+
strictPreid: releaseGroupNode.group.releaseTag.strictPreid,
|
|
382
382
|
});
|
|
383
383
|
this.cachedLatestMatchingGitTag.set(projectName, latestMatchingGitTag);
|
|
384
384
|
}
|
|
@@ -76,7 +76,7 @@ function createCommitMessageValues(releaseGroups, releaseGroupToFilteredProjects
|
|
|
76
76
|
const projectVersionData = versionData[releaseGroupProjectNames[0]]; // all at the same version, so we can just pick the first one
|
|
77
77
|
const releaseVersion = new ReleaseVersion({
|
|
78
78
|
version: projectVersionData.newVersion,
|
|
79
|
-
releaseTagPattern: releaseGroup.
|
|
79
|
+
releaseTagPattern: releaseGroup.releaseTag.pattern,
|
|
80
80
|
});
|
|
81
81
|
commitMessageValues[0] = (0, utils_1.interpolate)(commitMessageValues[0], {
|
|
82
82
|
version: releaseVersion.rawVersion,
|
|
@@ -97,7 +97,7 @@ function createCommitMessageValues(releaseGroups, releaseGroupToFilteredProjects
|
|
|
97
97
|
const projectVersionData = versionData[releaseGroupProjectNames[0]];
|
|
98
98
|
const releaseVersion = new ReleaseVersion({
|
|
99
99
|
version: projectVersionData.newVersion,
|
|
100
|
-
releaseTagPattern: releaseGroup.
|
|
100
|
+
releaseTagPattern: releaseGroup.releaseTag.pattern,
|
|
101
101
|
projectName: releaseGroupProjectNames[0],
|
|
102
102
|
});
|
|
103
103
|
commitMessageValues[0] = (0, utils_1.interpolate)(commitMessageValues[0], {
|
|
@@ -128,7 +128,7 @@ function createCommitMessageValues(releaseGroups, releaseGroupToFilteredProjects
|
|
|
128
128
|
if (projectVersionData.newVersion !== null) {
|
|
129
129
|
const releaseVersion = new ReleaseVersion({
|
|
130
130
|
version: projectVersionData.newVersion,
|
|
131
|
-
releaseTagPattern: releaseGroup.
|
|
131
|
+
releaseTagPattern: releaseGroup.releaseTag.pattern,
|
|
132
132
|
projectName: project,
|
|
133
133
|
});
|
|
134
134
|
commitMessageValues.push(`- project: ${project} ${releaseVersion.rawVersion}`);
|
|
@@ -141,7 +141,7 @@ function createCommitMessageValues(releaseGroups, releaseGroupToFilteredProjects
|
|
|
141
141
|
if (projectVersionData.newVersion !== null) {
|
|
142
142
|
const releaseVersion = new ReleaseVersion({
|
|
143
143
|
version: projectVersionData.newVersion,
|
|
144
|
-
releaseTagPattern: releaseGroup.
|
|
144
|
+
releaseTagPattern: releaseGroup.releaseTag.pattern,
|
|
145
145
|
});
|
|
146
146
|
commitMessageValues.push(`- release-group: ${releaseGroup.name} ${releaseVersion.rawVersion}`);
|
|
147
147
|
}
|
|
@@ -160,7 +160,7 @@ function stripPlaceholders(str, placeholders) {
|
|
|
160
160
|
return str;
|
|
161
161
|
}
|
|
162
162
|
function shouldPreferDockerVersionForReleaseGroup(releaseGroup) {
|
|
163
|
-
return releaseGroup.
|
|
163
|
+
return releaseGroup.releaseTag.preferDockerVersion;
|
|
164
164
|
}
|
|
165
165
|
function shouldSkipVersionActions(dockerOptions, projectName) {
|
|
166
166
|
return (dockerOptions.skipVersionActions === true ||
|
|
@@ -182,13 +182,13 @@ function createGitTagValues(releaseGroups, releaseGroupToFilteredProjects, versi
|
|
|
182
182
|
if (preferDockerVersion === 'both') {
|
|
183
183
|
// Create tags for both docker and semver versions
|
|
184
184
|
if (projectVersionData.dockerVersion) {
|
|
185
|
-
tags.push((0, utils_1.interpolate)(releaseGroup.
|
|
185
|
+
tags.push((0, utils_1.interpolate)(releaseGroup.releaseTag.pattern, {
|
|
186
186
|
version: projectVersionData.dockerVersion,
|
|
187
187
|
projectName: project,
|
|
188
188
|
}));
|
|
189
189
|
}
|
|
190
190
|
if (projectVersionData.newVersion) {
|
|
191
|
-
tags.push((0, utils_1.interpolate)(releaseGroup.
|
|
191
|
+
tags.push((0, utils_1.interpolate)(releaseGroup.releaseTag.pattern, {
|
|
192
192
|
version: projectVersionData.newVersion,
|
|
193
193
|
projectName: project,
|
|
194
194
|
}));
|
|
@@ -196,7 +196,7 @@ function createGitTagValues(releaseGroups, releaseGroupToFilteredProjects, versi
|
|
|
196
196
|
}
|
|
197
197
|
else {
|
|
198
198
|
// Use either docker version or semver version based on preference
|
|
199
|
-
tags.push((0, utils_1.interpolate)(releaseGroup.
|
|
199
|
+
tags.push((0, utils_1.interpolate)(releaseGroup.releaseTag.pattern, {
|
|
200
200
|
version: preferDockerVersion
|
|
201
201
|
? projectVersionData.dockerVersion
|
|
202
202
|
: projectVersionData.newVersion,
|
|
@@ -215,13 +215,13 @@ function createGitTagValues(releaseGroups, releaseGroupToFilteredProjects, versi
|
|
|
215
215
|
if (preferDockerVersion === 'both') {
|
|
216
216
|
// Create tags for both docker and semver versions
|
|
217
217
|
if (projectVersionData.dockerVersion) {
|
|
218
|
-
tags.push((0, utils_1.interpolate)(releaseGroup.
|
|
218
|
+
tags.push((0, utils_1.interpolate)(releaseGroup.releaseTag.pattern, {
|
|
219
219
|
version: projectVersionData.dockerVersion,
|
|
220
220
|
releaseGroupName: releaseGroup.name,
|
|
221
221
|
}));
|
|
222
222
|
}
|
|
223
223
|
if (projectVersionData.newVersion) {
|
|
224
|
-
tags.push((0, utils_1.interpolate)(releaseGroup.
|
|
224
|
+
tags.push((0, utils_1.interpolate)(releaseGroup.releaseTag.pattern, {
|
|
225
225
|
version: projectVersionData.newVersion,
|
|
226
226
|
releaseGroupName: releaseGroup.name,
|
|
227
227
|
}));
|
|
@@ -229,7 +229,7 @@ function createGitTagValues(releaseGroups, releaseGroupToFilteredProjects, versi
|
|
|
229
229
|
}
|
|
230
230
|
else {
|
|
231
231
|
// Use either docker version or semver version based on preference
|
|
232
|
-
tags.push((0, utils_1.interpolate)(releaseGroup.
|
|
232
|
+
tags.push((0, utils_1.interpolate)(releaseGroup.releaseTag.pattern, {
|
|
233
233
|
version: preferDockerVersion
|
|
234
234
|
? projectVersionData.dockerVersion
|
|
235
235
|
: projectVersionData.newVersion,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-group-processor.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/version/release-group-processor.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAEb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAyB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,iBAAiB,CAAC;AAarE,eAAO,MAAM,qBAAqB;;;;;;;;;CAYxB,CAAC;AAEX,UAAU,4BAA4B;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IAEd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;OAIG;IACH,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IAEF,8BAA8B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1D;AAED,qBAAa,qBAAqB;IAmC9B,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,OAAO;IAtCjB;;;OAGG;IACH,OAAO,CAAC,eAAe,CAA0B;IAEjD;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAA0B;IAEhD;;OAEG;IACH,OAAO,CAAC,WAAW,CAGL;IAEd;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAAqB;IAE/C;;;OAGG;IACH,OAAO,CAAC,yBAAyB,CAAqB;gBAG5C,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,4BAA4B;IA+B/C,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKjE,YAAY,IAAI,MAAM,GAAG,IAAI;IAcvB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"release-group-processor.d.ts","sourceRoot":"","sources":["../../../../../../../packages/nx/src/command-line/release/version/release-group-processor.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAEb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAyB,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,iBAAiB,CAAC;AAarE,eAAO,MAAM,qBAAqB;;;;;;;;;CAYxB,CAAC;AAEX,UAAU,4BAA4B;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IAEd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;OAIG;IACH,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IAEF,8BAA8B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1D;AAED,qBAAa,qBAAqB;IAmC9B,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,OAAO;IAtCjB;;;OAGG;IACH,OAAO,CAAC,eAAe,CAA0B;IAEjD;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAA0B;IAEhD;;OAEG;IACH,OAAO,CAAC,WAAW,CAGL;IAEd;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAAqB;IAE/C;;;OAGG;IACH,OAAO,CAAC,yBAAyB,CAAqB;gBAG5C,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,4BAA4B;IA+B/C,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKjE,YAAY,IAAI,MAAM,GAAG,IAAI;IAcvB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IA4CxC,sBAAsB;IAMtB,+BAA+B,IAAI,IAAI;IAMvC,cAAc,IAAI,WAAW;IAI7B;;;;;;;;;;OAUG;IACG,yBAAyB,CAC7B,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjD,OAAO,CAAC;QACT,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IA6BI,qBAAqB,CACzB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,aAAa,CAAC,EAAE,MAAM;YAyDV,YAAY;YAWZ,YAAY;YAUZ,qBAAqB;YAgKrB,2BAA2B;YA4E3B,8BAA8B;IAqH5C,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,iCAAiC;IAMzC,OAAO,CAAC,8BAA8B;YAaxB,mBAAmB;YAoBnB,4BAA4B;YA+D5B,qBAAqB;YAgGrB,+BAA+B;IAa7C,OAAO,CAAC,4BAA4B;YAQtB,4BAA4B;IAwB1C,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,kCAAkC;CAI3C"}
|
|
@@ -93,6 +93,10 @@ class ReleaseGroupProcessor {
|
|
|
93
93
|
if (this.processedGroups.has(nextGroup)) {
|
|
94
94
|
continue;
|
|
95
95
|
}
|
|
96
|
+
// The next group might not present in the groupGraph if it has been filtered out
|
|
97
|
+
if (!this.releaseGraph.groupGraph.has(nextGroup)) {
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
96
100
|
const allDependenciesProcessed = Array.from(this.releaseGraph.groupGraph.get(nextGroup).dependencies).every((dep) => this.processedGroups.has(dep));
|
|
97
101
|
if (!allDependenciesProcessed) {
|
|
98
102
|
// If we encounter a group whose dependencies aren't all processed,
|
|
@@ -101,6 +105,10 @@ class ReleaseGroupProcessor {
|
|
|
101
105
|
for (const dep of this.releaseGraph.groupGraph.get(nextGroup)
|
|
102
106
|
.dependencies) {
|
|
103
107
|
if (!this.processedGroups.has(dep)) {
|
|
108
|
+
// The next group might not present in the groupGraph if it has been filtered out
|
|
109
|
+
if (!this.releaseGraph.groupGraph.has(dep)) {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
104
112
|
await this.processGroup(dep);
|
|
105
113
|
this.processedGroups.add(dep);
|
|
106
114
|
processOrder.push(dep);
|
|
@@ -528,7 +536,7 @@ class ReleaseGroupProcessor {
|
|
|
528
536
|
const releaseGroup = this.releaseGraph.groupGraph.get(releaseGroupName).group;
|
|
529
537
|
const releaseGroupVersionConfig = releaseGroup.version;
|
|
530
538
|
// Get updateDependents from the release group level config
|
|
531
|
-
const updateDependents = releaseGroupVersionConfig?.updateDependents || '
|
|
539
|
+
const updateDependents = releaseGroupVersionConfig?.updateDependents || 'always';
|
|
532
540
|
// Only update dependencies for dependents if the group's updateDependents is 'auto' or 'always'
|
|
533
541
|
if (updateDependents === 'auto' || updateDependents === 'always') {
|
|
534
542
|
const dependents = this.getNonImplicitDependentsForProject(projectName);
|