2023-03-28 16:33:37 +08:00

37 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 replaceAll = require('string.prototype.replaceall');
replaceAll.shim()
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: {} latest: {}",[currentVersion,newVersion])
//if(!semver.gt(newVersion,currentVersion)){
banner.add("Run <{#yellow}> to upgrade","npm upgrade -g @voerkai18n/cli")
//}
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);