1 | #!/usr/bin/env node
|
2 |
|
3 | require('coffee-script/register');
|
4 |
|
5 | var spawn = require('child_process').spawn;
|
6 |
|
7 | var log = require('ewg-logging');
|
8 |
|
9 | var argv = require('yargs')
|
10 | .usage('Usage: $0 [command] [options]')
|
11 | .help('help')
|
12 | .version(function() {
|
13 | return require('../package').version;
|
14 | })
|
15 | .demand(1)
|
16 | .command('init', 'initialises a ewg repo')
|
17 | .command('serve', 'starts a webserver on ewg repo and watches for changes')
|
18 | .command('generate', 'generates the dist folder from your ewg repo')
|
19 | .command('tasks', 'show registered tasks')
|
20 | .option('theme',{
|
21 | describe: 'installs a zipped theme from url when running ewg "init"',
|
22 | default: 'simple'
|
23 | })
|
24 | .option('production',{
|
25 | describe: 'loads production settings when running ewg "serve" or "generate", default: development'
|
26 | })
|
27 | .option('test',{
|
28 | describe: 'load test settings when running ewg "serve" or "generate", default: development'
|
29 | })
|
30 | .argv;
|
31 |
|
32 |
|
33 | if(argv._[0] == 'init'){
|
34 | log.green("installing theme: " + argv.theme)
|
35 |
|
36 | require(__dirname + "/../lib/ewg/installer").init(argv.theme);
|
37 | }
|
38 | else{
|
39 | if(argv._[0] == 'tasks'){
|
40 | process.argv = ['', '', '-T']
|
41 | }
|
42 |
|
43 | //directly pass ewg args to gulp
|
44 | cmd = spawn('gulp', process.argv.slice(2), { stdio: 'inherit' })
|
45 |
|
46 | cmd.on('data', function (data) {
|
47 | log.log(data.toString());
|
48 | });
|
49 |
|
50 | cmd.on('error', function (data) {
|
51 | log.error(data.toString());
|
52 | });
|
53 | }
|