regit-cli
Version:
git helper cli
38 lines (34 loc) • 1.1 kB
text/typescript
import { Command } from 'commander'
import {
assertCurrentBranchIsClean,
getOpenReleaseBranch,
startOrCheckoutBranch,
warmupGitRepo,
} from '../../services/gitHelpers.js'
import { logger } from '../../services/logger.js'
import {
promptSelectNextVersionWithConfirmation,
startRelease,
validateVersion,
} from '../../services/releaseHelpers.js'
const action = async (version: string) => {
await warmupGitRepo()
await assertCurrentBranchIsClean()
const openRelease = await getOpenReleaseBranch()
if (openRelease) {
await startOrCheckoutBranch(openRelease.name)
logger.warn(`Release already exists ${openRelease.name}`)
} else {
let versionToUse = version
if (version) {
await validateVersion(version)
versionToUse = version
} else {
versionToUse = await promptSelectNextVersionWithConfirmation()
}
await startRelease(versionToUse.trim())
}
}
export default (program: Command) => {
program.command('start').argument('[version]', 'Version').action(action)
}