@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.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, 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';
@@ -958,10 +958,10 @@ async function lint(message, config5) {
958
958
  throw new Error(`Could not find rule implementation for ${name}`);
959
959
  }
960
960
  const executableRule = rule;
961
- const [valid2, message2] = await executableRule(parsed, when, value);
961
+ const [valid3, message2] = await executableRule(parsed, when, value);
962
962
  return {
963
963
  level,
964
- valid: valid2,
964
+ valid: valid3,
965
965
  name,
966
966
  message: message2
967
967
  };
@@ -975,9 +975,9 @@ async function lint(message, config5) {
975
975
  const warnings = results.filter(
976
976
  (result) => result.level === 1 /* Warning */ && !result.valid
977
977
  );
978
- const valid = errors.length === 0;
978
+ const valid2 = errors.length === 0;
979
979
  return {
980
- valid,
980
+ valid: valid2,
981
981
  errors,
982
982
  warnings,
983
983
  input: buildCommitMessage(parsed)
@@ -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})`,
@@ -2889,7 +2918,20 @@ async function getLatestGitTagForPattern(workspaceConfig, releaseTagPattern, add
2889
2918
  `Using latest preid tag for release tag pattern "${releaseTagPattern}" (Interpolated tag pattern: ${interpolatedTagPattern})`,
2890
2919
  workspaceConfig
2891
2920
  );
2892
- return extractTagAndVersion(preidReleaseTags[0], tagRegexp, options);
2921
+ return preidReleaseTags.reduce(
2922
+ (ret, releaseTag) => {
2923
+ const result = extractTagAndVersion(releaseTag, tagRegexp, options);
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
+ }))) {
2929
+ return result;
2930
+ }
2931
+ return ret;
2932
+ },
2933
+ extractTagAndVersion(preidReleaseTags[0], tagRegexp, options)
2934
+ );
2893
2935
  }
2894
2936
  }
2895
2937
  if (stableReleaseTags.length > 0) {
@@ -2897,7 +2939,18 @@ async function getLatestGitTagForPattern(workspaceConfig, releaseTagPattern, add
2897
2939
  `Using latest stable tag for release tag pattern "${releaseTagPattern}" (Interpolated tag pattern: ${interpolatedTagPattern})`,
2898
2940
  workspaceConfig
2899
2941
  );
2900
- return extractTagAndVersion(stableReleaseTags[0], tagRegexp, options);
2942
+ return stableReleaseTags.reduce(
2943
+ (ret, releaseTag) => {
2944
+ const result = extractTagAndVersion(releaseTag, tagRegexp, options);
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 }))) {
2948
+ return result;
2949
+ }
2950
+ return ret;
2951
+ },
2952
+ extractTagAndVersion(stableReleaseTags[0], tagRegexp, options)
2953
+ );
2901
2954
  }
2902
2955
  return null;
2903
2956
  } catch {
@@ -3414,7 +3467,7 @@ var DEFAULT_CONVENTIONAL_COMMITS_CONFIG2 = {
3414
3467
  };
3415
3468
  var DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN = "{projectName}@{version}";
3416
3469
  var DEFAULT_FIXED_RELEASE_TAG_PATTERN = "{releaseGroupName}@{version}";
3417
- var DEFAULT_COMMIT_MESSAGE = "release(monorepo): Publish v{version} release updates";
3470
+ var DEFAULT_COMMIT_MESSAGE = "release(monorepo): Publish release updates";
3418
3471
  var DEFAULT_RELEASE_GROUP_GIT_CONFIG = {
3419
3472
  commit: false,
3420
3473
  commitMessage: DEFAULT_COMMIT_MESSAGE,
@@ -3460,11 +3513,6 @@ var DEFAULT_RELEASE_GROUP_CONFIG = {
3460
3513
  version: {
3461
3514
  ...DEFAULT_VERSION_RELEASE_CONFIG
3462
3515
  },
3463
- releaseTag: {
3464
- checkAllBranchesWhen: true,
3465
- preferDockerVersion: false,
3466
- strictPreid: true
3467
- },
3468
3516
  versionPlans: false
3469
3517
  };
3470
3518
  var DEFAULT_INDEPENDENT_RELEASE_GROUP_CONFIG = {
@@ -3532,8 +3580,7 @@ var DEFAULT_RELEASE_CONFIG = {
3532
3580
  projectChangelogs: true
3533
3581
  },
3534
3582
  releaseTag: {
3535
- pattern: DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN,
3536
- preferDockerVersion: false
3583
+ pattern: DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN
3537
3584
  },
3538
3585
  version: {
3539
3586
  ...DEFAULT_VERSION_RELEASE_CONFIG
@@ -4123,8 +4170,8 @@ Project release tag: ${projectReleaseTag?.tag}`,
4123
4170
  options
4124
4171
  );
4125
4172
  }
4126
- writeDebug(
4127
- `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})`,
4128
4175
  this.workspaceConfig
4129
4176
  );
4130
4177
  this.cachedLatestMatchingGitTag.set(