-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrunner.js
More file actions
47 lines (43 loc) · 1.74 KB
/
runner.js
File metadata and controls
47 lines (43 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
const INITIALIZE = require('./src/initialize')
const { LOCALE } = require('./src/actions/utils/locale')
const LOGO = require('./src/logo')
const { ASK_COMMON_CREATE_PROJECT } = require('./src/createProject')
const UPDATE = require('./src/update')
const chalk = require('chalk')
const commander = require('commander');
const path = require('path')
const PACKAGE_INFORMATION = require(path.join(__dirname, 'package.json'))
exports.NEW_COMMAND_ACTION = async (processArgv) => {
const cogen = await INITIALIZE()
const program = commander.program
program
.name(`${PACKAGE_INFORMATION.name} new`)
.arguments('[project_name]')
.option('-t, --template', 'Create project using template')
.action(async (project_name, cmdObj) => {
cogen.projectName = project_name
cogen.projectPath = path.join(cogen.cwd, project_name)
if (await cogen.actions.execute.directory.existsDir(cogen.projectPath)) {
console.log(chalk.redBright(`${cogen.projectName} ${LOCALE('error.common.directory_exists')}`))
} else {
ASK_COMMON_CREATE_PROJECT(cmdObj, cogen)
}
})
program.parseAsync(processArgv)
}
exports.GATE = async (processArgv) => {
const [NODE_PATH, EXECUTE_PATH, ...COMMAND_ARG ] = processArgv
await LOGO()
const program = commander.program
program
.version(PACKAGE_INFORMATION.version, '-v, --version', LOCALE('program.options.version.description'))
.command('new <project_name>', LOCALE('program.command.new.description'))
.addHelpCommand(false)
.helpOption('-h, --help', LOCALE('program.options.help.description'))
.on('--help', () => {
console.log('');
console.log('Example call2:');
console.log(' $ custom-help --help');
})
await program.parseAsync(processArgv)
}