@storm-software/git-tools 2.131.27 → 2.131.28

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/bin/git.js CHANGED
@@ -54,7 +54,7 @@ import { interpolate as interpolate$1 } from 'nx/src/tasks-runner/utils';
54
54
  import { execCommand } from 'nx/src/command-line/release/utils/exec-command.js';
55
55
  import { getCommitHash, getFirstGitCommit, gitPush, gitAdd, extractTagAndVersion, getGitDiff, parseCommits, sanitizeProjectNameForGitTag } from 'nx/src/command-line/release/utils/git';
56
56
  import { interpolate } from 'nx/src/tasks-runner/utils.js';
57
- import semver, { prerelease, coerce, gte, valid, gt, major } from 'semver';
57
+ import semver, { prerelease, coerce, valid, gt, gte, major } from 'semver';
58
58
  import { ReleaseClient } from 'nx/release';
59
59
  import { readRawVersionPlans, setResolvedVersionPlansOnGroups } from 'nx/src/command-line/release/config/version-plans';
60
60
  import { printAndFlushChanges } from 'nx/src/command-line/release/utils/print-changes.js';
@@ -2835,7 +2835,18 @@ async function getLatestGitTagForPattern(workspaceConfig, releaseTagPattern, add
2835
2835
  `Not using strict preid, will use the first matching tag ${matchingTags[0]} for release tag pattern "${releaseTagPattern}" (Interpolated tag pattern: ${interpolatedTagPattern})`,
2836
2836
  workspaceConfig
2837
2837
  );
2838
- return extractTagAndVersion(matchingTags[0], tagRegexp, options);
2838
+ return matchingTags.reduce(
2839
+ (ret, releaseTag) => {
2840
+ const result = extractTagAndVersion(releaseTag, tagRegexp, options);
2841
+ const version = coerce(result.extractedVersion)?.version;
2842
+ const current = coerce(ret.extractedVersion)?.version;
2843
+ if (version && valid(version) && (!current || !valid(current) || gt(version, current, { loose: true }))) {
2844
+ return result;
2845
+ }
2846
+ return ret;
2847
+ },
2848
+ extractTagAndVersion(matchingTags[0], tagRegexp, options)
2849
+ );
2839
2850
  }
2840
2851
  const stableReleaseTags = matchingTags.filter((tag) => {
2841
2852
  const matches = tag.match(tagRegexp);
@@ -2859,22 +2870,40 @@ async function getLatestGitTagForPattern(workspaceConfig, releaseTagPattern, add
2859
2870
  workspaceConfig
2860
2871
  );
2861
2872
  if (preidReleaseTags.length > 0 && stableReleaseTags.length > 0) {
2862
- const preidResult = extractTagAndVersion(
2863
- preidReleaseTags[0],
2864
- tagRegexp,
2865
- options
2873
+ const preidResult = preidReleaseTags.reduce(
2874
+ (ret, releaseTag) => {
2875
+ const result = extractTagAndVersion(releaseTag, tagRegexp, options);
2876
+ const version = coerce(result.extractedVersion)?.version;
2877
+ const current = coerce(ret.extractedVersion)?.version;
2878
+ if (version && valid(version) && (!current || !valid(current) || gt(version, current, {
2879
+ loose: true
2880
+ }))) {
2881
+ return result;
2882
+ }
2883
+ return ret;
2884
+ },
2885
+ extractTagAndVersion(preidReleaseTags[0], tagRegexp, options)
2866
2886
  );
2867
- const stableResult = extractTagAndVersion(
2868
- stableReleaseTags[0],
2869
- tagRegexp,
2870
- options
2887
+ const stableResult = stableReleaseTags.reduce(
2888
+ (ret, releaseTag) => {
2889
+ const result = extractTagAndVersion(releaseTag, tagRegexp, options);
2890
+ const version = coerce(result.extractedVersion)?.version;
2891
+ const current = coerce(ret.extractedVersion)?.version;
2892
+ if (version && valid(version) && (!current || !valid(current) || gt(version, current, {
2893
+ loose: true
2894
+ }))) {
2895
+ return result;
2896
+ }
2897
+ return ret;
2898
+ },
2899
+ extractTagAndVersion(stableReleaseTags[0], tagRegexp, options)
2871
2900
  );
2901
+ const preidBaseVersion = coerce(preidResult.extractedVersion)?.version;
2902
+ const stableVersion = coerce(stableResult.extractedVersion)?.version;
2872
2903
  writeDebug(
2873
- `Extracted preid version: ${preidResult.extractedVersion} and stable version: ${stableResult.extractedVersion} for release tag pattern "${releaseTagPattern}" (Interpolated tag pattern: ${interpolatedTagPattern})`,
2904
+ `Extracted preid version: ${preidBaseVersion} and stable version: ${stableVersion} for release tag pattern "${releaseTagPattern}" (Interpolated tag pattern: ${interpolatedTagPattern})`,
2874
2905
  workspaceConfig
2875
2906
  );
2876
- const preidBaseVersion = coerce(preidResult.extractedVersion)?.version;
2877
- const stableVersion = stableResult.extractedVersion;
2878
2907
  if (preidBaseVersion && stableVersion && gte(stableVersion, preidBaseVersion)) {
2879
2908
  writeDebug(
2880
2909
  `Using latest stable tag for release tag pattern "${releaseTagPattern}" (Interpolated tag pattern: ${interpolatedTagPattern}) because its version (${stableVersion}) is greater than or equal to the base version of the latest preid tag (${preidBaseVersion})`,
@@ -2892,7 +2921,11 @@ async function getLatestGitTagForPattern(workspaceConfig, releaseTagPattern, add
2892
2921
  return preidReleaseTags.reduce(
2893
2922
  (ret, releaseTag) => {
2894
2923
  const result = extractTagAndVersion(releaseTag, tagRegexp, options);
2895
- if (valid(result.extractedVersion) && gt(result.extractedVersion, ret.extractedVersion)) {
2924
+ const version = coerce(result.extractedVersion)?.version;
2925
+ const current = coerce(ret.extractedVersion)?.version;
2926
+ if (version && valid(version) && (!current || !valid(current) || gt(version, current, {
2927
+ loose: true
2928
+ }))) {
2896
2929
  return result;
2897
2930
  }
2898
2931
  return ret;
@@ -2909,7 +2942,9 @@ async function getLatestGitTagForPattern(workspaceConfig, releaseTagPattern, add
2909
2942
  return stableReleaseTags.reduce(
2910
2943
  (ret, releaseTag) => {
2911
2944
  const result = extractTagAndVersion(releaseTag, tagRegexp, options);
2912
- if (valid(result.extractedVersion) && gt(result.extractedVersion, ret.extractedVersion)) {
2945
+ const version = coerce(result.extractedVersion)?.version;
2946
+ const current = coerce(ret.extractedVersion)?.version;
2947
+ if (version && valid(version) && (!current || !valid(current) || gt(version, current, { loose: true }))) {
2913
2948
  return result;
2914
2949
  }
2915
2950
  return ret;
@@ -3432,7 +3467,7 @@ var DEFAULT_CONVENTIONAL_COMMITS_CONFIG2 = {
3432
3467
  };
3433
3468
  var DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN = "{projectName}@{version}";
3434
3469
  var DEFAULT_FIXED_RELEASE_TAG_PATTERN = "{releaseGroupName}@{version}";
3435
- var DEFAULT_COMMIT_MESSAGE = "release(monorepo): Publish v{version} release updates";
3470
+ var DEFAULT_COMMIT_MESSAGE = "release(monorepo): Publish release updates";
3436
3471
  var DEFAULT_RELEASE_GROUP_GIT_CONFIG = {
3437
3472
  commit: false,
3438
3473
  commitMessage: DEFAULT_COMMIT_MESSAGE,
@@ -3478,11 +3513,6 @@ var DEFAULT_RELEASE_GROUP_CONFIG = {
3478
3513
  version: {
3479
3514
  ...DEFAULT_VERSION_RELEASE_CONFIG
3480
3515
  },
3481
- releaseTag: {
3482
- checkAllBranchesWhen: true,
3483
- preferDockerVersion: false,
3484
- strictPreid: true
3485
- },
3486
3516
  versionPlans: false
3487
3517
  };
3488
3518
  var DEFAULT_INDEPENDENT_RELEASE_GROUP_CONFIG = {
@@ -3550,8 +3580,7 @@ var DEFAULT_RELEASE_CONFIG = {
3550
3580
  projectChangelogs: true
3551
3581
  },
3552
3582
  releaseTag: {
3553
- pattern: DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN,
3554
- preferDockerVersion: false
3583
+ pattern: DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN
3555
3584
  },
3556
3585
  version: {
3557
3586
  ...DEFAULT_VERSION_RELEASE_CONFIG
@@ -4141,8 +4170,8 @@ Project release tag: ${projectReleaseTag?.tag}`,
4141
4170
  options
4142
4171
  );
4143
4172
  }
4144
- writeDebug(
4145
- `Resolved latest matching git tag ${latestMatchingGitTag?.tag} (version: ${latestMatchingGitTag?.extractedVersion}) for project "${projectName}"`,
4173
+ writeInfo(
4174
+ `Resolved latest matching git tag for "${projectName}": ${latestMatchingGitTag?.tag} (version: ${latestMatchingGitTag?.extractedVersion})`,
4146
4175
  this.workspaceConfig
4147
4176
  );
4148
4177
  this.cachedLatestMatchingGitTag.set(