36 lines
1.6 KiB
JavaScript
36 lines
1.6 KiB
JavaScript
#!/usr/bin/env node
|
|
const { Command } = require('commander');
|
|
const createLogger = require("logsets")
|
|
const semver = require('semver')
|
|
const logger = createLogger()
|
|
const { t } = require("./i18nProxy")
|
|
const { getPackageReleaseInfo } = require("@voerkai18n/utils");
|
|
|
|
|
|
const program = new Command();
|
|
program
|
|
.name("voerkai18n")
|
|
.option("-v, --version", "当前版本号")
|
|
.helpOption('-h, --help', '显示帮助')
|
|
.action(async (options) => {
|
|
const currentVersion = require("./package.json").version
|
|
const newVersion = (await getPackageReleaseInfo("@voerkai18n/cli")).latestVersion
|
|
const banner = logger.banner()
|
|
banner.add("VoerkaI18n")
|
|
banner.add("VoerkaI18n command line interactive tools",{style:"darkGray"})
|
|
banner.add()
|
|
banner.add("installed: ",currentVersion," latest: ",newVersion,{style:["","yellow","","yellow"]})
|
|
if(semver.gt(newVersion,currentVersion)){
|
|
banner.add("Run ","npm upgrade @voerkai18n/cli"," to upgrade!",{style:["","yellow",""]})
|
|
}
|
|
banner.render()
|
|
})
|
|
|
|
program
|
|
.command('init',t('初始化项目国际化配置'),{executableFile:"./init.command.js"})
|
|
.command('extract',t('扫描并提取待翻译的文本到<languages/translates>'),{executableFile:"./extract.command.js"})
|
|
.command('compile',t('编译指定项目的语言包'),{executableFile:"./compile.command.js"})
|
|
.command('translate',t('在线翻译语言包,如使用百度云翻译服务'),{executableFile:"./translate.command.js"})
|
|
|
|
program.parseAsync(process.argv);
|
|
|