添加自动升级runtime逻辑
This commit is contained in:
parent
ff45b9a028
commit
5e4dbf21f0
@ -25,12 +25,13 @@
|
||||
const glob = require("glob")
|
||||
const createLogger = require("logsets")
|
||||
const path = require("path")
|
||||
const { findModuleType,getCurrentPackageJson} = require("@voerkai18n/utils")
|
||||
const { findModuleType,getCurrentPackageJson, getInstalledPackageInfo, getPackageReleaseInfo} = require("@voerkai18n/utils")
|
||||
const { t } = require("./i18nProxy")
|
||||
const fs = require("fs-extra")
|
||||
const logger = createLogger()
|
||||
const artTemplate = require("art-template")
|
||||
|
||||
const semver = require("semver")
|
||||
|
||||
function normalizeCompileOptions(opts={}) {
|
||||
let options = Object.assign({
|
||||
moduleType:"auto", // 指定编译后的语言文件的模块类型,取值common,cjs,esm,es
|
||||
@ -63,6 +64,17 @@ function generateFormatterFile(langName,{isTypeScript,formattersFolder,templateC
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 将@voerkai18n/runtime更新到最新版本
|
||||
*/
|
||||
async function updateRuntime(){
|
||||
const curVersion = getInstalledPackageInfo("@voerkai18n/runtime").version
|
||||
const latestVersion = (await getPackageReleaseInfo("@voerkai18n/runtime")).lastVersion
|
||||
if(semver.gt(latestVersion, curVersion)){
|
||||
await upgradePackage("@voerkai18n/runtime")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module.exports =async function compile(langFolder,opts={}){
|
||||
const options = normalizeCompileOptions(opts);
|
||||
|
@ -535,6 +535,20 @@ function installPackage(packageName){
|
||||
shelljs.exec(`npm install ${packageName}`)
|
||||
}
|
||||
}
|
||||
function upgradePackage(packageName){
|
||||
const packageTool = getPackageTool()
|
||||
try{
|
||||
if(packageTool=='pnpm'){
|
||||
shelljs.exec(`pnpm update ${packageName}`)
|
||||
}else if(packageTool=='yarn'){
|
||||
shelljs.exec(`yarn upgrade ${packageName}`)
|
||||
}else{
|
||||
shelljs.exec(`npm upgrade ${packageName}`)
|
||||
}
|
||||
}catch{
|
||||
shelljs.exec(`npm upgrade ${packageName}`)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@ -716,5 +730,6 @@ module.exports = {
|
||||
importTranslateFunction, // 在代码中导入t函数
|
||||
asyncExecShellScript, // 异步执行一段脚本并返回结果
|
||||
getPackageReleaseInfo, // 从npm上读取指定包的信息
|
||||
getInstalledPackageInfo // 返回当前工程已安装的包信息,主要是版本号
|
||||
getInstalledPackageInfo, // 返回当前工程已安装的包信息,主要是版本号
|
||||
upgradePackage // 升级包
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user