1 | #!/usr/bin/env node
|
2 |
|
3 | const chalk = require('chalk');
|
4 | const program = require('commander');
|
5 | const logger = require('../core/util/logger');
|
6 |
|
7 |
|
8 | program
|
9 | .version(require('../package.json').version, '-v, --version')
|
10 | .option('-l, --log <level>', 'change the log level')
|
11 | .usage('<command> [options]');
|
12 |
|
13 | program
|
14 | .command('init <template-name> [project-name]')
|
15 | .description('generate a new project from a template')
|
16 | .action(require('./wepy-init'))
|
17 | .usage('<template-name> [project-name]')
|
18 | .option('-c --clone', 'use git clone')
|
19 | .option('--offline', 'use cached template')
|
20 | .on('--help', () => {
|
21 | console.log();
|
22 | console.log(' Example:');
|
23 | console.log();
|
24 | console.log(chalk.gray(' # create a new project with an official template'));
|
25 | console.log(' $ wepy init standard my-project');
|
26 | console.log();
|
27 | console.log(chalk.gray(' # create a new project straight from a github template'));
|
28 | console.log(' $ wepy init username/repo my-project');
|
29 | console.log();
|
30 | });
|
31 |
|
32 | program
|
33 | .command('build')
|
34 | .description('build your project')
|
35 | .action(require('./wepy-build'))
|
36 |
|
37 | .option('-f, --file <file>', '待编译wpy文件')
|
38 | .option('-s, --source <source>', '源码目录')
|
39 | .option('-t, --target <target>', '生成代码目录')
|
40 | .option('-o, --output <type>', '编译类型:web,weapp。默认为weapp')
|
41 | .option('-p, --platform <type>', '编译平台:browser, wechat,qq。默认为browser')
|
42 | .option('-w, --watch', '监听文件改动')
|
43 | .option('--no-cache', '对于引用到的文件,即使无改动也会再次编译');
|
44 |
|
45 | program
|
46 | .command('list')
|
47 | .description('list available official templates')
|
48 | .action(require('./wepy-list'))
|
49 |
|
50 | .option('-g, --github', 'list all registered github projects');
|
51 |
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 | program
|
62 | .command('new')
|
63 | .description('deprecated command, use "wepy init <template-name> <project-name>" instead')
|
64 | .action(require('./wepy-new'));
|
65 |
|
66 | program.parse(process.argv);
|
67 |
|
68 | if (program.log) {
|
69 | logger.level(program.log);
|
70 | }
|