33 lines
914 B
JavaScript
Executable file
33 lines
914 B
JavaScript
Executable file
#!/usr/bin/env node
|
|
'use strict'
|
|
|
|
const path = require('path')
|
|
const { bumpVersion } = require('yarn-version-bump/src/bump-version')
|
|
const { processJsonFile } = require('yarn-version-bump/src/util/json')
|
|
const Workspace = require('yarn-version-bump/src/workspace')
|
|
const rootPkg = require('../package.json')
|
|
|
|
|
|
async function workspacePackages () {
|
|
return Object.keys((await new Workspace('.').workspaceSnapshot).packages)
|
|
}
|
|
|
|
async function bumpAllPackages (newVersion) {
|
|
processJsonFile('package.json', pkg => {
|
|
pkg.version = newVersion
|
|
return pkg
|
|
})
|
|
for (const pkgname of await workspacePackages()) {
|
|
console.log(`bumping ${pkgname} to ${newVersion}`)
|
|
await bumpVersion(pkgname, newVersion, '.')
|
|
}
|
|
}
|
|
|
|
const newVersion = process.argv[2] || rootPkg.version
|
|
|
|
process.chdir(path.resolve(__dirname, '..'))
|
|
|
|
bumpAllPackages(newVersion).catch(err => {
|
|
console.error(err)
|
|
process.exit(1)
|
|
})
|