-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathargsParser.js
More file actions
35 lines (28 loc) · 1.04 KB
/
argsParser.js
File metadata and controls
35 lines (28 loc) · 1.04 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
const commander = require('commander')
const chalk = require('chalk')
const packageJson = require('./package.json')
let projectName
const programArgs = new commander.Command(packageJson.name)
.version(packageJson.version)
.arguments('<project-directory>')
.usage(`${chalk.green('<project-directory>')} [options]`)
.action(name => {
projectName = name
})
.option('--node', 'Create a LightScript skeleton for the server')
.option('--nodeandweb', 'Create a LightScript skeleton for an app that has both server js and web js')
.option('--webpack', 'Use Webpack instead of Rollup')
.parse(process.argv)
if(typeof projectName === 'undefined') {
console.error('Please specify the project directory:')
console.log(` ${chalk.cyan(programArgs.name())} ${chalk.green('<project-directory>')}\n`)
console.log('For example:')
console.log(` ${chalk.cyan(programArgs.name())} ${chalk.green('my-lightscript-app')}`)
process.exit(1)
}
function getProgramArgs() {
return [projectName, programArgs]
}
module.exports = {
getProgramArgs
}