Skip to content

Commit 5b763c6

Browse files
committed
build: release script
1 parent c5d1ca0 commit 5b763c6

File tree

1 file changed

+31
-12
lines changed

1 file changed

+31
-12
lines changed

scripts/release.mjs

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import minimist from 'minimist'
2-
import { promises as fs } from 'fs'
3-
import { join, resolve, dirname } from 'path'
4-
import { fileURLToPath } from 'url'
2+
import fs from 'node:fs/promises'
3+
import { join, resolve, dirname } from 'node:path'
4+
import { fileURLToPath } from 'node:url'
55
import chalk from 'chalk'
66
import semver from 'semver'
77
import enquirer from 'enquirer'
88
import { execa } from 'execa'
99
import pSeries from 'p-series'
10+
import { globby } from 'globby'
1011

1112
const { prompt } = enquirer
1213

@@ -179,13 +180,23 @@ async function main() {
179180
step('\nUpdating versions in package.json files...')
180181
await updateVersions(pkgWithVersions)
181182

183+
step('\nUpdating lock...')
184+
await runIfNotDry(`pnpm`, ['install'])
185+
182186
step('\nGenerating changelogs...')
183187
for (const pkg of pkgWithVersions) {
184188
step(` -> ${pkg.name} (${pkg.path})`)
189+
step('\n Generating Changelog...')
185190
await runIfNotDry(`pnpm`, ['run', 'changelog'], { cwd: pkg.path })
191+
step('\n Formatting Changelog...')
186192
await runIfNotDry(`pnpm`, ['exec', 'prettier', '--write', 'CHANGELOG.md'], {
187193
cwd: pkg.path,
188194
})
195+
step('\n Copying License...')
196+
await fs.copyFile(
197+
resolve(__dirname, '../LICENSE'),
198+
resolve(pkg.path, 'LICENSE')
199+
)
189200
}
190201

191202
const { yes: isChangelogCorrect } = await prompt({
@@ -208,7 +219,14 @@ async function main() {
208219
const { stdout } = await run('git', ['diff'], { stdio: 'pipe' })
209220
if (stdout) {
210221
step('\nCommitting changes...')
211-
await runIfNotDry('git', ['add', 'CHANGELOG.md', 'package.json'])
222+
await runIfNotDry('git', [
223+
'add',
224+
'package.json',
225+
'CHANGELOG.md',
226+
'packages/*/CHANGELOG.md',
227+
'packages/*/package.json',
228+
'pnpm-lock.yaml',
229+
])
212230
await runIfNotDry('git', [
213231
'commit',
214232
'-m',
@@ -226,7 +244,7 @@ async function main() {
226244
const tagName =
227245
pkg.name === 'vuefire' ? `v${pkg.version}` : `${pkg.name}@${pkg.version}`
228246
versionsToPush.push(`refs/tags/${tagName}`)
229-
await runIfNotDry('git', ['tag', `${tagName}`])
247+
await runIfNotDry('git', ['tag', tagName])
230248
}
231249

232250
step('\nPublishing packages...')
@@ -287,11 +305,11 @@ async function publishPackage(pkg) {
287305
[
288306
'publish',
289307
...(optionTag ? ['--tag', optionTag] : []),
308+
...(skipCleanGitCheck ? ['--no-git-checks'] : []),
290309
'--access',
291310
'public',
292311
'--publish-branch',
293312
EXPECTED_BRANCH,
294-
...(skipCleanGitCheck ? ['--no-git-checks'] : []),
295313
],
296314
{
297315
cwd: pkg.path,
@@ -333,10 +351,11 @@ async function getChangedPackages() {
333351
)
334352
lastTag = stdout
335353
}
336-
// const folders = await globby(join(__dirname, '../packages/*'), {
337-
// onlyFiles: false,
338-
// })
339-
const folders = ['./']
354+
const folders = await globby(join(__dirname, '../packages/*'), {
355+
onlyFiles: false,
356+
})
357+
// add the root package
358+
folders.push('./')
340359

341360
const pkgs = await Promise.all(
342361
folders.map(async (folder) => {
@@ -351,10 +370,10 @@ async function getChangedPackages() {
351370
lastTag,
352371
'--',
353372
// apparently {src,package.json} doesn't work
354-
join(folder, 'client.d.ts'),
355-
join(folder, 'client.d.ts'),
356373
join(folder, 'src'),
357374
join(folder, 'package.json'),
375+
// nuxt
376+
join(folder, 'templates'),
358377
],
359378
{ stdio: 'pipe' }
360379
)

0 commit comments

Comments
 (0)