1 | #!/usr/bin/env node
|
2 |
|
3 | var program = require('commander');
|
4 | var mason = require('../');
|
5 | var pkg = require('../package.json');
|
6 |
|
7 | program.name = 'mason';
|
8 |
|
9 | program
|
10 | .version(pkg.version);
|
11 |
|
12 | program
|
13 | .command('build')
|
14 | .description('build assets')
|
15 | .option('-f, --file [assets]', 'JSON file with asset descriptions [mason.json]', 'mason.json')
|
16 | .option('-j, --javascript [renderer]', 'specify the renderer for JS [uglify]', 'uglify')
|
17 | .action(runBuild);
|
18 |
|
19 | program
|
20 | .command('watch')
|
21 | .description('build and watch mason.json targets')
|
22 | .option('-f, --file [configFile]', 'JSON file with asset descriptions')
|
23 | .option('-j, --javascript [renderer]', 'specify the renderer for JS [uglify]', 'uglify')
|
24 | .action(runWatch);
|
25 |
|
26 | if (process.argv.length < 3) {
|
27 | runHelp();
|
28 | }
|
29 | else {
|
30 | program.parse(process.argv);
|
31 | }
|
32 |
|
33 | function runBuild(options) {
|
34 | mason({
|
35 | file: options.file
|
36 | }).build();
|
37 | }
|
38 |
|
39 | function runWatch(options) {
|
40 | mason.watch(process.cwd(), {
|
41 | 'javascript': options.javascript
|
42 | });
|
43 | }
|
44 |
|
45 | function runHelp(options) {
|
46 | console.log(program.helpInformation());
|
47 | } |
\ | No newline at end of file |