chore(script): use semver to validate and show next version

This commit is contained in:
Elliot DeNolf
2023-10-16 12:10:30 -04:00
parent 7da5f6e92a
commit 1fdff92525
3 changed files with 18 additions and 1 deletions

View File

@@ -47,6 +47,7 @@
"@types/prompts": "^2.4.5",
"@types/qs": "6.9.7",
"@types/react": "18.2.15",
"@types/semver": "^7.5.3",
"@types/shelljs": "0.8.12",
"@types/testing-library__jest-dom": "5.14.8",
"chalk": "^5.3.0",
@@ -74,6 +75,7 @@
"prompts": "2.4.2",
"qs": "6.11.2",
"rimraf": "3.0.2",
"semver": "^7.5.4",
"shelljs": "0.8.5",
"simple-git": "^3.20.0",
"slash": "3.0.0",

10
pnpm-lock.yaml generated
View File

@@ -60,6 +60,9 @@ importers:
'@types/react':
specifier: 18.2.15
version: 18.2.15
'@types/semver':
specifier: ^7.5.3
version: 7.5.3
'@types/shelljs':
specifier: 0.8.12
version: 0.8.12
@@ -141,6 +144,9 @@ importers:
rimraf:
specifier: 3.0.2
version: 3.0.2
semver:
specifier: ^7.5.4
version: 7.5.4
shelljs:
specifier: 0.8.5
version: 0.8.5
@@ -5795,6 +5801,10 @@ packages:
resolution: {integrity: sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==}
dev: false
/@types/semver@7.5.3:
resolution: {integrity: sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==}
dev: true
/@types/send@0.17.1:
resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==}
dependencies:

View File

@@ -5,6 +5,7 @@ import prompts from 'prompts'
import minimist from 'minimist'
import chalkTemplate from 'chalk-template'
import { PackageDetails, getPackageDetails, showPackageDetails } from './lib/getPackageDetails'
import semver from 'semver'
const execOpts: ExecSyncOptions = { stdio: 'inherit' }
const args = minimist(process.argv.slice(2))
@@ -12,6 +13,10 @@ const args = minimist(process.argv.slice(2))
async function main() {
const { tag = 'latest', bump = 'patch' } = args
if (!semver.RELEASE_TYPES.includes(bump)) {
abort(`Invalid bump type: ${bump}.\n\nMust be one of: ${semver.RELEASE_TYPES.join(', ')}`)
}
const packageDetails = await getPackageDetails()
showPackageDetails(packageDetails)
@@ -58,7 +63,7 @@ async function main() {
${packagesToRelease
.map((p) => {
const { shortName, version } = packageMap[p]
return ` ${shortName.padEnd(24)} ${version}`
return ` ${shortName.padEnd(24)} ${version} -> ${semver.inc(version, bump)}`
})
.join('\n')}
`)