mirror of
https://github.com/vitest-dev/vitest.git
synced 2025-12-08 18:26:03 +00:00
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
#!/usr/bin/env zx
|
|
|
|
import { readFileSync } from 'node:fs'
|
|
import { fileURLToPath } from 'node:url'
|
|
import { $ } from 'zx'
|
|
|
|
if (process.env.VITEST_GENERATE_UI_TOKEN !== 'true' || process.env.VITE_TEST_WATCHER_DEBUG !== 'false') {
|
|
throw new Error(`Cannot release Vitest without VITEST_GENERATE_UI_TOKEN=${process.env.VITEST_GENERATE_UI_TOKEN} and VITE_TEST_WATCHER_DEBUG=${process.env.VITE_TEST_WATCHER_DEBUG} environment variable. `)
|
|
}
|
|
|
|
let version = process.argv[2]
|
|
|
|
if (!version) {
|
|
throw new Error('No tag specified')
|
|
}
|
|
|
|
if (version.startsWith('v')) {
|
|
version = version.slice(1)
|
|
}
|
|
|
|
const pkgPath = fileURLToPath(new URL('../package.json', import.meta.url))
|
|
const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'))
|
|
|
|
if (pkg.version !== version) {
|
|
throw new Error(
|
|
`Package version from tag "${version}" mismatches with the current version "${pkg.version}"`,
|
|
)
|
|
}
|
|
|
|
const releaseTag = version.includes('beta')
|
|
? 'beta'
|
|
: version.includes('alpha')
|
|
? 'alpha'
|
|
: undefined
|
|
|
|
console.log('Publishing version', version, 'with tag', releaseTag || 'latest')
|
|
|
|
if (releaseTag) {
|
|
await $`pnpm -r publish --access public --no-git-checks --tag ${releaseTag}`
|
|
}
|
|
else {
|
|
await $`pnpm -r publish --access public --no-git-checks`
|
|
}
|