update build script to select release type

This commit is contained in:
geekgeekrun
2024-10-26 14:56:43 +08:00
parent fa45d4ec35
commit 95e6842995
4 changed files with 267 additions and 26 deletions

View File

@@ -1,10 +1,25 @@
import increasePackageVersion from './steps/increase-package-version.mjs'
import releaseVersion from './steps/release-version.mjs'
import prompt from 'prompt-sync'
import { select } from '@inquirer/prompts'
const releaseTypeList = [
'prerelease',
'prepatch',
'patch',
'preminor',
'minor',
'premajor',
'major'
]
;(async () => {
const releaseType = prompt()(
'Enter the release type (default: prerelease, available: prerelease / prepatch / patch / preminor / minor / premajor / major): '
)
await increasePackageVersion(releaseType || 'prerelease')
const releaseType = await select({
message: 'Select the release type',
default: releaseTypeList[0],
choices: releaseTypeList.map((value) => ({
name: value,
value
}))
})
await increasePackageVersion(releaseType || releaseTypeList[0])
await releaseVersion()
})()

View File

@@ -15,7 +15,7 @@ export const getRuntimeConfig = () => fs.readFileSync(PATH_TO_BUILD_INFO_JSON)
/**
* @param {semver.ReleaseType} releaseType
*/
export default async function increasePackageVersion(releaseType = 'patch') {
export default async function increasePackageVersion(releaseType = 'prerelease') {
const runtimeConfig = JSON.parse(getRuntimeConfig().toString('utf-8'))
const packageInfo = JSON.parse(getPackageInfo().toString('utf-8'))
packageInfo.version = semver.inc(packageInfo.version, releaseType)