UNPKG

1.58 kBPlain TextView Raw
1#!/usr/bin/env node
2
3var path = require('path');
4var cjson = require('cjson');
5var Config = require('../lib/config');
6var ActionsRegistry = require('../lib/actions');
7var helpers = require('../lib/helpers');
8var cliOptions = require('minimist')(process.argv.slice(2));
9var configFileName = cliOptions.config || 'mup.json';
10var settingsFileName = cliOptions.settings || 'settings.json';
11
12require('colors');
13require('../lib/update_notifier.js');
14
15console.log('\nMeteor Up: Production Quality Meteor Deployments'.bold.blue);
16console.log('------------------------------------------------'.bold.blue);
17
18if (configFileName !== 'mup.json' || settingsFileName !== 'settings.json') {
19 console.log('Using custom configuration/settings file'.bold.green);
20}
21console.log('Configuration file : ' + configFileName);
22console.log('Settings file : ' + settingsFileName);
23console.log('');
24
25var action = cliOptions._[0];
26if (action == 'init') {
27 //special setup for init
28 ActionsRegistry.init();
29} else {
30 var cwd = path.resolve('.');
31 //read config and validate it
32 var config = Config.read(configFileName);
33 var runOptions = {
34 settingsFileName: settingsFileName,
35 configFileName: configFileName
36 };
37
38 runActions(config, cwd, runOptions);
39}
40
41function runActions(config, cwd, options) {
42 var actionsRegistry = new ActionsRegistry(config, cwd, options);
43 if (actionsRegistry[action]) {
44 actionsRegistry[action]();
45 } else {
46 if (typeof action !== "undefined") {
47 var errorMessage = 'No Such Action Exists: ' + action;
48 console.error(errorMessage.bold.red);
49 }
50 helpers.printHelp();
51 }
52}
\No newline at end of file