(pkgName: string, currentVersion: string)
| 267 | } |
| 268 | |
| 269 | export async function releaseVersionPrompt(pkgName: string, currentVersion: string) { |
| 270 | const answers = await prompts({ |
| 271 | type: 'select', |
| 272 | name: 'version', |
| 273 | message: `Select ${pkgName} version`, |
| 274 | validate: async (version: string) => { |
| 275 | const validVersion = semver.valid(version)!; |
| 276 | if (!validVersion) { |
| 277 | panic(`Invalid semver version "${version}" for ${pkgName}`); |
| 278 | } |
| 279 | await checkExistingNpmVersion(pkgName, version); |
| 280 | return true; |
| 281 | }, |
| 282 | choices: SEMVER_RELEASE_TYPES.map((v) => { |
| 283 | return { |
| 284 | title: `${v} ${semver.inc(currentVersion, v)}`, |
| 285 | value: semver.inc(currentVersion, v)!, |
| 286 | }; |
| 287 | }), |
| 288 | }); |
| 289 | return answers; |
| 290 | } |
| 291 | |
| 292 | const SEMVER_RELEASE_TYPES: semver.ReleaseType[] = [ |
| 293 | 'prerelease', |
no test coverage detected
searching dependent graphs…