redhot
Version:
TypeScript Monorepo Management
25 lines (20 loc) • 791 B
JavaScript
const shell = require('shelljs')
const { join } = require('path')
const { exec, logSeparator } = require('../../util')
const versions = {
1: 'patch',
2: 'minor',
3: 'major'
}
exports.performRelease = performRelease
function performRelease (workingDir, packageName, increment) {
const packageDir = join(workingDir, packageName)
shell.cd(packageDir)
logSeparator(packageName)
console.log('Running tests for', packageName, '...')
return exec('npm test')
.then(() => console.log('Running npm version', versions[increment] + '...') || exec('npm version ' + versions[increment]))
.then(() => console.log('Running npm publish...') || exec('npm publish --access=public'))
.then(() => logSeparator() || shell.cd(workingDir))
.catch(err => logSeparator() || err)
}