easy-website-generator/easy-website-generator

View on GitHub
bin/ewg

Summary

Maintainability
Test Coverage
#!/usr/bin/env node

require('coffee-script/register');

var spawn = require('child_process').spawn;

var log  = require('ewg-logging');

var argv = require('yargs')
    .usage('Usage: $0 [command] [options]')
    .help('help')
    .version(function() {
      return require('../package').version;
    })
    .demand(1)
    .command('init',     'initialises a ewg repo')
    .command('serve',    'starts a webserver on ewg repo and watches for changes')
    .command('generate', 'generates the dist folder from your ewg repo')
    .command('tasks',    'show registered tasks')
    .option('theme',{
      describe: 'installs a zipped theme from url when running ewg "init"',
      default: 'simple'
    })
    .option('production',{
      describe: 'loads production settings when running ewg "serve" or "generate", default: development'
    })
    .option('test',{
      describe: 'load test settings when running ewg "serve" or "generate", default: development'
    })
    .argv;


if(argv._[0] == 'init'){
  log.green("installing theme: " + argv.theme)

  require(__dirname + "/../lib/ewg/installer").init(argv.theme);
}
else{
  if(argv._[0] == 'tasks'){
    process.argv = ['', '', '-T']
  }

  //directly pass ewg args to gulp
  cmd = spawn('gulp', process.argv.slice(2), { stdio: 'inherit' })

  cmd.on('data', function (data) {
    log.log(data.toString());
  });

  cmd.on('error', function (data) {
    log.error(data.toString());
  });
}