UNPKG

1.13 kBJavaScriptView Raw
1"use strict";
2
3var program = require('commander');
4var path = require('path');
5var os = require('os');
6
7var newCommand = require('./commands/new');
8var pkg = require(path.resolve(__dirname, '..', 'package.json'));
9
10/**
11 * Get the ball-rolling for the whole program
12 */
13module.exports = function() {
14 setProgramBaseSettings();
15 setNewCommand();
16 initProgram();
17}
18
19/**
20 * Setup the 'new' command
21 */
22function setNewCommand() {
23 program
24 .command('new')
25 .description('Create a new project (on-screen wizard)')
26 .action(function() {
27 newCommand.init(getProgramOptions());
28 });
29}
30
31/**
32 * Initialise program
33 */
34function initProgram() {
35 program.parse(process.argv);
36
37 if (!process.argv.slice(2).length) {
38 program.outputHelp();
39 }
40}
41
42/**
43 * Get program option flags
44 */
45function getProgramOptions() {
46 return {
47 silent: program.silent,
48 verbose: program.verbose
49 }
50}
51
52/**
53 * Set program base settings: version, option flags
54 */
55function setProgramBaseSettings() {
56 program
57 .version(pkg.version)
58 .option('-s, --silent', 'Surpress all on-screen messages')
59 .option('-v, --verbose', 'Show all on-screen messages');
60}