@sdc-monitor/demo
Version:
<div align="center"> <a href="#" target="_blank"> <img src="https://i.loli.net/2021/07/28/EvPwd4NjVH3tBfO.jpg" alt="mito-logo" height="90"> </a> <p>A Lightweight SDK For Monitor Web</p>
51 lines (45 loc) • 1.4 kB
JavaScript
const chalk = require('chalk')
const consola = require('consola')
const { getArgv, targets: allTargets, binRun, getPkgRoot, step } = require('./utils')
const path = require('path')
const fs = require('fs')
let beReleasedPackages = []
run()
async function run() {
const argv = getArgv()
beReleasedPackages = argv._
release()
}
async function release() {
step('\ncollect be released packages...')
if (beReleasedPackages.length === 0) {
beReleasedPackages = allTargets
}
step(`\nbeReleasedPackages:\n ${beReleasedPackages.join('\n')}`)
beReleasedPackages.forEach((target) => {
publicPackage(target)
})
}
async function publicPackage(pkgName) {
const pkgRoot = getPkgRoot(pkgName)
const pkgPath = path.resolve(pkgRoot, 'package.json')
const pkg = require(pkgPath)
const version = pkg.version
if (pkg.private) return
fs.access(`${pkgRoot}/dist`, fs.constants.F_OK, async (err) => {
if (err) {
consola.error(chalk.red(`${pkgName} don't have dist folder`))
return
}
step(`Publishing ${pkgName}...`)
try {
await binRun('yarn', ['publish', '--new-version', version, '--access', 'public'], {
cwd: pkgRoot,
stdio: 'pipe'
})
consola.success(chalk.green(`Successfully published ${pkgName}@${version}`))
} catch (error) {
consola.error(`failed publish ${pkgName}@${version}`, error)
}
})
}