修复voerkai18n init时生成Voerkai18nScope的命名错误
This commit is contained in:
parent
9efffdf201
commit
7e9e4b7ed8
@ -22,14 +22,12 @@ program
|
|||||||
banner.add("版本号:",`${require("./package.json").version}`,{style:["","yellow"]})
|
banner.add("版本号:",`${require("./package.json").version}`,{style:["","yellow"]})
|
||||||
banner.render()
|
banner.render()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
program
|
program
|
||||||
.command('init')
|
.command('init')
|
||||||
.argument('[location]', t('工程项目所在目录'))
|
.argument('[location]', t('工程项目所在目录'))
|
||||||
.description(t('初始化项目国际化配置'))
|
.description(t('初始化项目国际化配置'))
|
||||||
.option('-D, --debug', t('输出调试信息'))
|
.option('-D, --debug', t('输出调试信息'))
|
||||||
.option('-m, --moduleType [types]', t('输出模块类型,取值auto,esm,cjs'), 'esm')
|
.option('-m, --moduleType [types]', t('输出模块类型,取值auto,esm,cjs'), 'auto')
|
||||||
.option('-r, --reset', t('重新生成当前项目的语言配置'))
|
.option('-r, --reset', t('重新生成当前项目的语言配置'))
|
||||||
.option('-lngs, --languages <languages...>', t('支持的语言列表'), ['zh','en'])
|
.option('-lngs, --languages <languages...>', t('支持的语言列表'), ['zh','en'])
|
||||||
.option('-d, --defaultLanguage <name>', t('默认语言'), 'zh')
|
.option('-d, --defaultLanguage <name>', t('默认语言'), 'zh')
|
||||||
|
@ -9,7 +9,7 @@ const fs = require("fs")
|
|||||||
const { t } = require("./i18nProxy")
|
const { t } = require("./i18nProxy")
|
||||||
const createLogger = require("logsets")
|
const createLogger = require("logsets")
|
||||||
const logger = createLogger()
|
const logger = createLogger()
|
||||||
const { installPackage } = require("@voerkai18n/utils")
|
const { installPackage,getCurrentPackageJson } = require("@voerkai18n/utils")
|
||||||
const artTemplate = require("art-template")
|
const artTemplate = require("art-template")
|
||||||
|
|
||||||
function getLanguageList(langs,defaultLanguage){
|
function getLanguageList(langs,defaultLanguage){
|
||||||
@ -38,9 +38,51 @@ function getLanguageList(langs,defaultLanguage){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前项目的模块类型
|
||||||
|
*
|
||||||
|
* 1. <package.json>.type="module"
|
||||||
|
* 2. 当前工程的index.(js|ts)是否包含了import xx from
|
||||||
|
* 3. 检查是否是typescript工程
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
module.exports = function(srcPath,{moduleType='cjs',isTypeScript,debug = true,languages=["zh","en"],defaultLanguage="zh",activeLanguage="zh",reset=false}={}){
|
function getProjectModuleType(srcPath,isTypeScript){
|
||||||
|
|
||||||
|
// <package.json>.type="module"
|
||||||
|
try{
|
||||||
|
let packageJson = getCurrentPackageJson(srcPath)
|
||||||
|
if(packageJson.type=="module") return "esm"
|
||||||
|
}catch{}
|
||||||
|
|
||||||
|
// 检查入口文件
|
||||||
|
const importRegex = /import\s*.*\s*from\s*(["']).*\1/gm
|
||||||
|
const extryFiels = [
|
||||||
|
path.join(srcPath,"index.js"),
|
||||||
|
path.join(srcPath,"src","index.js"),
|
||||||
|
path.join(srcPath,"main.js"),
|
||||||
|
path.join(srcPath,"src","main.js"),
|
||||||
|
]
|
||||||
|
|
||||||
|
for(let file of extryFiels){
|
||||||
|
try{
|
||||||
|
const source = fs.readFileSync(file)
|
||||||
|
if(importRegex.test(source)){
|
||||||
|
return 'esm'
|
||||||
|
}
|
||||||
|
}catch{}
|
||||||
|
}
|
||||||
|
return isTypeScript ? 'esm' : 'cjs'
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = function(srcPath,{moduleType,isTypeScript,debug = true,languages=["zh","en"],defaultLanguage="zh",activeLanguage="zh",reset=false}={}){
|
||||||
let settings = {}
|
let settings = {}
|
||||||
|
// 检查当前项目的模块类型
|
||||||
|
if(!['esm',"cjs"].includes(moduleType)){
|
||||||
|
moduleType = getProjectModuleType(srcPath)
|
||||||
|
}
|
||||||
|
|
||||||
let tasks = logger.tasklist("初始化VoerkaI18n工程")
|
let tasks = logger.tasklist("初始化VoerkaI18n工程")
|
||||||
const langFolderName = "languages"
|
const langFolderName = "languages"
|
||||||
// 查找当前项目的语言包类型路径
|
// 查找当前项目的语言包类型路径
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
import runtime from "@voerkai18n/runtime"
|
import runtime from "@voerkai18n/runtime"
|
||||||
const { translate,VoerkaI18nScope } = runtime
|
const { translate,VoerkaI18nScope } = runtime
|
||||||
{{else}}
|
{{else}}
|
||||||
const { translate,i18nScope } = require("@voerkai18n/runtime")
|
const { translate,VoerkaI18nScope } = require("@voerkai18n/runtime")
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user