@ucdjs/release-scripts 0.1.0-beta.47 → 0.1.0-beta.49

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.
Files changed (2) hide show
  1. package/dist/index.mjs +100 -74
  2. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -1068,105 +1068,131 @@ async function selectVersionPrompt(workspaceRoot, pkg, currentVersion, suggested
1068
1068
  const prePatchAlpha = getNextPrereleaseVersion(currentVersion, "prepatch", "alpha");
1069
1069
  const preMinorAlpha = getNextPrereleaseVersion(currentVersion, "preminor", "alpha");
1070
1070
  const preMajorAlpha = getNextPrereleaseVersion(currentVersion, "premajor", "alpha");
1071
- const initial = defaultChoice === "skip" ? 0 : defaultChoice === "suggested" ? 4 : defaultChoice === "as-is" ? 5 : suggestedVersion === currentVersion ? 0 : 4;
1072
- const answers = await prompts([{
1071
+ const choices = [
1072
+ {
1073
+ value: "skip",
1074
+ title: `skip ${farver.dim("(no change)")}`
1075
+ },
1076
+ {
1077
+ value: "suggested",
1078
+ title: `suggested ${farver.bold(suggestedVersion)}${suggestedSuffix}`
1079
+ },
1080
+ {
1081
+ value: "as-is",
1082
+ title: `as-is ${farver.dim("(keep current version)")}`
1083
+ },
1084
+ {
1085
+ value: "patch",
1086
+ title: `patch ${farver.bold(getNextVersion(pkg.version, "patch"))}`
1087
+ },
1088
+ {
1089
+ value: "minor",
1090
+ title: `minor ${farver.bold(getNextVersion(pkg.version, "minor"))}`
1091
+ },
1092
+ {
1093
+ value: "major",
1094
+ title: `major ${farver.bold(getNextVersion(pkg.version, "major"))}`
1095
+ },
1096
+ {
1097
+ value: "prerelease",
1098
+ title: `prerelease ${farver.dim("(choose strategy)")}`
1099
+ },
1100
+ {
1101
+ value: "custom",
1102
+ title: "custom"
1103
+ }
1104
+ ];
1105
+ const initialValue = defaultChoice === "auto" ? suggestedVersion === currentVersion ? "skip" : "suggested" : defaultChoice;
1106
+ const initial = Math.max(0, choices.findIndex((choice) => choice.value === initialValue));
1107
+ const prereleaseVersionByChoice = {
1108
+ "next": nextDefaultPrerelease,
1109
+ "next-beta": nextBeta,
1110
+ "next-alpha": nextAlpha,
1111
+ "prepatch-beta": prePatchBeta,
1112
+ "preminor-beta": preMinorBeta,
1113
+ "premajor-beta": preMajorBeta,
1114
+ "prepatch-alpha": prePatchAlpha,
1115
+ "preminor-alpha": preMinorAlpha,
1116
+ "premajor-alpha": preMajorAlpha
1117
+ };
1118
+ const answers = await prompts({
1073
1119
  type: "autocomplete",
1074
1120
  name: "version",
1075
1121
  message: `${pkg.name}: ${farver.green(pkg.version)}`,
1076
- choices: [
1077
- {
1078
- value: "skip",
1079
- title: `skip ${farver.dim("(no change)")}`
1080
- },
1081
- {
1082
- value: "major",
1083
- title: `major ${farver.bold(getNextVersion(pkg.version, "major"))}`
1084
- },
1085
- {
1086
- value: "minor",
1087
- title: `minor ${farver.bold(getNextVersion(pkg.version, "minor"))}`
1088
- },
1089
- {
1090
- value: "patch",
1091
- title: `patch ${farver.bold(getNextVersion(pkg.version, "patch"))}`
1092
- },
1122
+ choices,
1123
+ limit: choices.length,
1124
+ initial
1125
+ });
1126
+ if (!answers.version) return null;
1127
+ if (answers.version === "skip") return null;
1128
+ else if (answers.version === "suggested") return suggestedVersion;
1129
+ else if (answers.version === "custom") {
1130
+ const customAnswer = await prompts({
1131
+ type: "text",
1132
+ name: "custom",
1133
+ message: "Enter the new version number:",
1134
+ initial: suggestedVersion,
1135
+ validate: (custom) => {
1136
+ if (isValidSemver(custom)) return true;
1137
+ return "That's not a valid version number";
1138
+ }
1139
+ });
1140
+ if (!customAnswer.custom) return null;
1141
+ return customAnswer.custom;
1142
+ } else if (answers.version === "as-is") return currentVersion;
1143
+ else if (answers.version === "prerelease") {
1144
+ const prereleaseChoices = [
1093
1145
  {
1094
1146
  value: "next",
1095
1147
  title: `next ${farver.bold(nextDefaultPrerelease)}`
1096
1148
  },
1097
1149
  {
1098
- value: "prepatch-beta",
1099
- title: `pre-patch (beta) ${farver.bold(prePatchBeta)}`
1150
+ value: "next-beta",
1151
+ title: `next beta ${farver.bold(nextBeta)}`
1100
1152
  },
1101
1153
  {
1102
- value: "preminor-beta",
1103
- title: `pre-minor (beta) ${farver.bold(preMinorBeta)}`
1154
+ value: "next-alpha",
1155
+ title: `next alpha ${farver.bold(nextAlpha)}`
1104
1156
  },
1105
1157
  {
1106
- value: "premajor-beta",
1107
- title: `pre-major (beta) ${farver.bold(preMajorBeta)}`
1158
+ value: "prepatch-beta",
1159
+ title: `pre-patch (beta) ${farver.bold(prePatchBeta)}`
1108
1160
  },
1109
1161
  {
1110
1162
  value: "prepatch-alpha",
1111
1163
  title: `pre-patch (alpha) ${farver.bold(prePatchAlpha)}`
1112
1164
  },
1113
1165
  {
1114
- value: "preminor-alpha",
1115
- title: `pre-minor (alpha) ${farver.bold(preMinorAlpha)}`
1116
- },
1117
- {
1118
- value: "premajor-alpha",
1119
- title: `pre-major (alpha) ${farver.bold(preMajorAlpha)}`
1120
- },
1121
- {
1122
- value: "next-beta",
1123
- title: `next beta ${farver.bold(nextBeta)}`
1124
- },
1125
- {
1126
- value: "next-alpha",
1127
- title: `next alpha ${farver.bold(nextAlpha)}`
1166
+ value: "preminor-beta",
1167
+ title: `pre-minor (beta) ${farver.bold(preMinorBeta)}`
1128
1168
  },
1129
1169
  {
1130
- value: "suggested",
1131
- title: `suggested ${farver.bold(suggestedVersion)}${suggestedSuffix}`
1170
+ value: "preminor-alpha",
1171
+ title: `pre-minor (alpha) ${farver.bold(preMinorAlpha)}`
1132
1172
  },
1133
1173
  {
1134
- value: "as-is",
1135
- title: `as-is ${farver.dim("(keep current version)")}`
1174
+ value: "premajor-beta",
1175
+ title: `pre-major (beta) ${farver.bold(preMajorBeta)}`
1136
1176
  },
1137
1177
  {
1138
- value: "custom",
1139
- title: "custom"
1178
+ value: "premajor-alpha",
1179
+ title: `pre-major (alpha) ${farver.bold(preMajorAlpha)}`
1140
1180
  }
1141
- ],
1142
- initial
1143
- }, {
1144
- type: (prev) => prev === "custom" ? "text" : null,
1145
- name: "custom",
1146
- message: "Enter the new version number:",
1147
- initial: suggestedVersion,
1148
- validate: (custom) => {
1149
- if (isValidSemver(custom)) return true;
1150
- return "That's not a valid version number";
1151
- }
1152
- }]);
1153
- if (!answers.version) return null;
1154
- if (answers.version === "skip") return null;
1155
- else if (answers.version === "suggested") return suggestedVersion;
1156
- else if (answers.version === "custom") {
1157
- if (!answers.custom) return null;
1158
- return answers.custom;
1159
- } else if (answers.version === "as-is") return currentVersion;
1160
- else if (answers.version === "next") return nextDefaultPrerelease;
1161
- else if (answers.version === "next-beta") return nextBeta;
1162
- else if (answers.version === "next-alpha") return nextAlpha;
1163
- else if (answers.version === "prepatch-beta") return prePatchBeta;
1164
- else if (answers.version === "preminor-beta") return preMinorBeta;
1165
- else if (answers.version === "premajor-beta") return preMajorBeta;
1166
- else if (answers.version === "prepatch-alpha") return prePatchAlpha;
1167
- else if (answers.version === "preminor-alpha") return preMinorAlpha;
1168
- else if (answers.version === "premajor-alpha") return preMajorAlpha;
1169
- else return getNextVersion(pkg.version, answers.version);
1181
+ ];
1182
+ const prereleaseAnswer = await prompts({
1183
+ type: "autocomplete",
1184
+ name: "prerelease",
1185
+ message: `${pkg.name}: select prerelease strategy`,
1186
+ choices: prereleaseChoices,
1187
+ limit: prereleaseChoices.length,
1188
+ initial: 0
1189
+ });
1190
+ if (!prereleaseAnswer.prerelease) return null;
1191
+ return prereleaseVersionByChoice[prereleaseAnswer.prerelease];
1192
+ }
1193
+ const prereleaseVersion = prereleaseVersionByChoice[answers.version];
1194
+ if (prereleaseVersion) return prereleaseVersion;
1195
+ return getNextVersion(pkg.version, answers.version);
1170
1196
  }
1171
1197
 
1172
1198
  //#endregion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ucdjs/release-scripts",
3
- "version": "0.1.0-beta.47",
3
+ "version": "0.1.0-beta.49",
4
4
  "description": "@ucdjs release scripts",
5
5
  "type": "module",
6
6
  "license": "MIT",