1 | #!/usr/bin/env node
|
2 |
|
3 | var path = require('path');
|
4 | var cjson = require('cjson');
|
5 | var Config = require('../lib/config');
|
6 | var ActionsRegistry = require('../lib/actions');
|
7 | var helpers = require('../lib/helpers');
|
8 | var cliOptions = require('minimist')(process.argv.slice(2));
|
9 | var configFileName = cliOptions.config || 'mup.json';
|
10 | var settingsFileName = cliOptions.settings || 'settings.json';
|
11 |
|
12 | require('colors');
|
13 | require('../lib/update_notifier.js');
|
14 |
|
15 | console.log('\nMeteor Up: Production Quality Meteor Deployments'.bold.blue);
|
16 | console.log('------------------------------------------------'.bold.blue);
|
17 |
|
18 | if (configFileName !== 'mup.json' || settingsFileName !== 'settings.json') {
|
19 | console.log('Using custom configuration/settings file'.bold.green);
|
20 | }
|
21 | console.log('Configuration file : ' + configFileName);
|
22 | console.log('Settings file : ' + settingsFileName);
|
23 | console.log('');
|
24 |
|
25 | var action = cliOptions._[0];
|
26 | if (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 |
|
41 | function 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 |