UNPKG

1.08 kBJavaScriptView Raw
1#! /usr/bin/env node
2
3const program = require('commander')
4
5const registerLogger = require('../lib/register-logger')
6const checkHasInited = require('../lib/check-init')
7const checkVersion = require('../lib/check-version')
8const { resolveCwd } = require('../lib/utils')
9
10main()
11
12async function main () {
13 if (process.argv[2] !== 'lint') await beforeInit()
14
15 program.version(require('../package').version)
16 .usage('<command> [options]')
17 .command('init', '创建一个基于tofu的项目')
18 .command('server', '运行开发服务')
19 .command('build', '打包项目')
20 .command('update', '更新框架以及命令行工具至最新版本')
21 .command('lint', '校验 JS 代码')
22 .parse(process.argv)
23
24 registerLogger('', process)
25}
26
27async function beforeInit () {
28 if (process.argv[2] !== 'init') {
29 checkHasInited()
30
31 const packageJson = require(resolveCwd('package.json'))
32 if (packageJson.dependencies && packageJson.dependencies['i-tofu'])
33 await checkVersion('i-tofu')()
34 }
35 await checkVersion('tofu-cli')()
36}