@storm-software/git-tools 2.131.26 → 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.cjs CHANGED
@@ -983,10 +983,10 @@ async function lint(message, config5) {
983
983
  throw new Error(`Could not find rule implementation for ${name}`);
984
984
  }
985
985
  const executableRule = rule;
986
- const [valid2, message2] = await executableRule(parsed, when, value);
986
+ const [valid3, message2] = await executableRule(parsed, when, value);
987
987
  return {
988
988
  level,
989
- valid: valid2,
989
+ valid: valid3,
990
990
  name,
991
991
  message: message2
992
992
  };
@@ -1000,9 +1000,9 @@ async function lint(message, config5) {
1000
1000
  const warnings = results.filter(
1001
1001
  (result) => result.level === 1 /* Warning */ && !result.valid
1002
1002
  );
1003
- const valid = errors.length === 0;
1003
+ const valid2 = errors.length === 0;
1004
1004
  return {
1005
- valid,
1005
+ valid: valid2,
1006
1006
  errors,
1007
1007
  warnings,
1008
1008
  input: buildCommitMessage(parsed)
@@ -2860,7 +2860,18 @@ async function getLatestGitTagForPattern(workspaceConfig, releaseTagPattern, add
2860
2860
  `Not using strict preid, will use the first matching tag ${matchingTags[0]} for release tag pattern "${releaseTagPattern}" (Interpolated tag pattern: ${interpolatedTagPattern})`,
2861
2861
  workspaceConfig
2862
2862
  );
2863
- return git.extractTagAndVersion(matchingTags[0], tagRegexp, options);
2863
+ return matchingTags.reduce(
2864
+ (ret, releaseTag) => {
2865
+ const result = git.extractTagAndVersion(releaseTag, tagRegexp, options);
2866
+ const version = semver.coerce(result.extractedVersion)?.version;
2867
+ const current = semver.coerce(ret.extractedVersion)?.version;
2868
+ if (version && semver.valid(version) && (!current || !semver.valid(current) || semver.gt(version, current, { loose: true }))) {
2869
+ return result;
2870
+ }
2871
+ return ret;
2872
+ },
2873
+ git.extractTagAndVersion(matchingTags[0], tagRegexp, options)
2874
+ );
2864
2875
  }
2865
2876
  const stableReleaseTags = matchingTags.filter((tag) => {
2866
2877
  const matches = tag.match(tagRegexp);
@@ -2884,22 +2895,40 @@ async function getLatestGitTagForPattern(workspaceConfig, releaseTagPattern, add
2884
2895
  workspaceConfig
2885
2896
  );
2886
2897
  if (preidReleaseTags.length > 0 && stableReleaseTags.length > 0) {
2887
- const preidResult = git.extractTagAndVersion(
2888
- preidReleaseTags[0],
2889
- tagRegexp,
2890
- options
2898
+ const preidResult = preidReleaseTags.reduce(
2899
+ (ret, releaseTag) => {
2900
+ const result = git.extractTagAndVersion(releaseTag, tagRegexp, options);
2901
+ const version = semver.coerce(result.extractedVersion)?.version;
2902
+ const current = semver.coerce(ret.extractedVersion)?.version;
2903
+ if (version && semver.valid(version) && (!current || !semver.valid(current) || semver.gt(version, current, {
2904
+ loose: true
2905
+ }))) {
2906
+ return result;
2907
+ }
2908
+ return ret;
2909
+ },
2910
+ git.extractTagAndVersion(preidReleaseTags[0], tagRegexp, options)
2891
2911
  );
2892
- const stableResult = git.extractTagAndVersion(
2893
- stableReleaseTags[0],
2894
- tagRegexp,
2895
- options
2912
+ const stableResult = stableReleaseTags.reduce(
2913
+ (ret, releaseTag) => {
2914
+ const result = git.extractTagAndVersion(releaseTag, tagRegexp, options);
2915
+ const version = semver.coerce(result.extractedVersion)?.version;
2916
+ const current = semver.coerce(ret.extractedVersion)?.version;
2917
+ if (version && semver.valid(version) && (!current || !semver.valid(current) || semver.gt(version, current, {
2918
+ loose: true
2919
+ }))) {
2920
+ return result;
2921
+ }
2922
+ return ret;
2923
+ },
2924
+ git.extractTagAndVersion(stableReleaseTags[0], tagRegexp, options)
2896
2925
  );
2926
+ const preidBaseVersion = semver.coerce(preidResult.extractedVersion)?.version;
2927
+ const stableVersion = semver.coerce(stableResult.extractedVersion)?.version;
2897
2928
  chunkQOOEK76B_cjs.writeDebug(
2898
- `Extracted preid version: ${preidResult.extractedVersion} and stable version: ${stableResult.extractedVersion} for release tag pattern "${releaseTagPattern}" (Interpolated tag pattern: ${interpolatedTagPattern})`,
2929
+ `Extracted preid version: ${preidBaseVersion} and stable version: ${stableVersion} for release tag pattern "${releaseTagPattern}" (Interpolated tag pattern: ${interpolatedTagPattern})`,
2899
2930
  workspaceConfig
2900
2931
  );
2901
- const preidBaseVersion = semver.coerce(preidResult.extractedVersion)?.version;
2902
- const stableVersion = stableResult.extractedVersion;
2903
2932
  if (preidBaseVersion && stableVersion && semver.gte(stableVersion, preidBaseVersion)) {
2904
2933
  chunkQOOEK76B_cjs.writeDebug(
2905
2934
  `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})`,
@@ -2914,7 +2943,20 @@ async function getLatestGitTagForPattern(workspaceConfig, releaseTagPattern, add
2914
2943
  `Using latest preid tag for release tag pattern "${releaseTagPattern}" (Interpolated tag pattern: ${interpolatedTagPattern})`,
2915
2944
  workspaceConfig
2916
2945
  );
2917
- return git.extractTagAndVersion(preidReleaseTags[0], tagRegexp, options);
2946
+ return preidReleaseTags.reduce(
2947
+ (ret, releaseTag) => {
2948
+ const result = git.extractTagAndVersion(releaseTag, tagRegexp, options);
2949
+ const version = semver.coerce(result.extractedVersion)?.version;
2950
+ const current = semver.coerce(ret.extractedVersion)?.version;
2951
+ if (version && semver.valid(version) && (!current || !semver.valid(current) || semver.gt(version, current, {
2952
+ loose: true
2953
+ }))) {
2954
+ return result;
2955
+ }
2956
+ return ret;
2957
+ },
2958
+ git.extractTagAndVersion(preidReleaseTags[0], tagRegexp, options)
2959
+ );
2918
2960
  }
2919
2961
  }
2920
2962
  if (stableReleaseTags.length > 0) {
@@ -2922,7 +2964,18 @@ async function getLatestGitTagForPattern(workspaceConfig, releaseTagPattern, add
2922
2964
  `Using latest stable tag for release tag pattern "${releaseTagPattern}" (Interpolated tag pattern: ${interpolatedTagPattern})`,
2923
2965
  workspaceConfig
2924
2966
  );
2925
- return git.extractTagAndVersion(stableReleaseTags[0], tagRegexp, options);
2967
+ return stableReleaseTags.reduce(
2968
+ (ret, releaseTag) => {
2969
+ const result = git.extractTagAndVersion(releaseTag, tagRegexp, options);
2970
+ const version = semver.coerce(result.extractedVersion)?.version;
2971
+ const current = semver.coerce(ret.extractedVersion)?.version;
2972
+ if (version && semver.valid(version) && (!current || !semver.valid(current) || semver.gt(version, current, { loose: true }))) {
2973
+ return result;
2974
+ }
2975
+ return ret;
2976
+ },
2977
+ git.extractTagAndVersion(stableReleaseTags[0], tagRegexp, options)
2978
+ );
2926
2979
  }
2927
2980
  return null;
2928
2981
  } catch {
@@ -3439,7 +3492,7 @@ var DEFAULT_CONVENTIONAL_COMMITS_CONFIG2 = {
3439
3492
  };
3440
3493
  var DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN = "{projectName}@{version}";
3441
3494
  var DEFAULT_FIXED_RELEASE_TAG_PATTERN = "{releaseGroupName}@{version}";
3442
- var DEFAULT_COMMIT_MESSAGE = "release(monorepo): Publish v{version} release updates";
3495
+ var DEFAULT_COMMIT_MESSAGE = "release(monorepo): Publish release updates";
3443
3496
  var DEFAULT_RELEASE_GROUP_GIT_CONFIG = {
3444
3497
  commit: false,
3445
3498
  commitMessage: DEFAULT_COMMIT_MESSAGE,
@@ -3485,11 +3538,6 @@ var DEFAULT_RELEASE_GROUP_CONFIG = {
3485
3538
  version: {
3486
3539
  ...DEFAULT_VERSION_RELEASE_CONFIG
3487
3540
  },
3488
- releaseTag: {
3489
- checkAllBranchesWhen: true,
3490
- preferDockerVersion: false,
3491
- strictPreid: true
3492
- },
3493
3541
  versionPlans: false
3494
3542
  };
3495
3543
  var DEFAULT_INDEPENDENT_RELEASE_GROUP_CONFIG = {
@@ -3557,8 +3605,7 @@ var DEFAULT_RELEASE_CONFIG = {
3557
3605
  projectChangelogs: true
3558
3606
  },
3559
3607
  releaseTag: {
3560
- pattern: DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN,
3561
- preferDockerVersion: false
3608
+ pattern: DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN
3562
3609
  },
3563
3610
  version: {
3564
3611
  ...DEFAULT_VERSION_RELEASE_CONFIG
@@ -4148,8 +4195,8 @@ Project release tag: ${projectReleaseTag?.tag}`,
4148
4195
  options
4149
4196
  );
4150
4197
  }
4151
- chunkQOOEK76B_cjs.writeDebug(
4152
- `Resolved latest matching git tag ${latestMatchingGitTag?.tag} (version: ${latestMatchingGitTag?.extractedVersion}) for project "${projectName}"`,
4198
+ chunkQOOEK76B_cjs.writeInfo(
4199
+ `Resolved latest matching git tag for "${projectName}": ${latestMatchingGitTag?.tag} (version: ${latestMatchingGitTag?.extractedVersion})`,
4153
4200
  this.workspaceConfig
4154
4201
  );
4155
4202
  this.cachedLatestMatchingGitTag.set(