UNPKG

@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>

54 lines (48 loc) 1.86 kB
const fs = require('fs') const path = require('path') const { getArgv, targets: allTargets, binRun, getPkgRoot, step, errLog } = require('./utils') const MITO_PREFIX = '@sdc-monitor' let beModifiedPackages = [] run() function run() { const argv = getArgv()._ let targetVersion = null if (argv.length === 0) { return errLog('npm/yarn run version 没有带版本号,请到CONTRIBUTING中查看开发指南') } else { targetVersion = argv.shift() } const masterVersion = require('../package.json').version if (masterVersion !== targetVersion) { return errLog('传入的版本号与根路径的package.json不符合,请检查package.json的version') // return errLog('') } beModifiedPackages = argv.length === 0 ? allTargets : argv modify(targetVersion) } async function modify(targetVersion) { step(`start modify packages version: ${targetVersion}`) for (const target of beModifiedPackages) { await modifyMitoVersion(target, targetVersion) } } async function modifyMitoVersion(pkgName, version) { const pkgRoot = getPkgRoot(pkgName) const pkgPath = path.resolve(pkgRoot, 'package.json') const pkg = require(pkgPath) const oldVersion = pkg.version if (pkg.name.startsWith(MITO_PREFIX)) { pkg.version = version } const dependencies = pkg.dependencies || {} Object.entries(dependencies).forEach(([dependent, dependentVersion]) => { // 拼接:前缀 + 当前包名: @sdc-monitor/web 如果当前依赖中有被改的包,也把version修改 const isExist = beModifiedPackages.some((pkg) => `${MITO_PREFIX}/${pkg}` === dependent) if (isExist) { dependencies[dependent] = version } }) fs.writeFileSync(pkgPath, JSON.stringify(pkg)) await binRun('prettier', ['--write', pkgPath]) step(`${pkgName} package version from ${oldVersion} to ${version} success`) }