meteor-azure
Version:
Automate Meteor deployments on Azure App Service
112 lines (78 loc) • 3.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _commander = require('commander');
var _commander2 = _interopRequireDefault(_commander);
var _shelljs = require('shelljs');
var _shelljs2 = _interopRequireDefault(_shelljs);
var _updateNotifier = require('update-notifier');
var _updateNotifier2 = _interopRequireDefault(_updateNotifier);
var _winston = require('winston');
var _winston2 = _interopRequireDefault(_winston);
var _package = require('../../package.json');
var _package2 = _interopRequireDefault(_package);
var _validation = require('./validation');
var _bundle = require('./bundle');
var _bundle2 = _interopRequireDefault(_bundle);
var _azure = require('./azure');
var _azure2 = _interopRequireDefault(_azure);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } // CLI setup
(0, _updateNotifier2.default)({ pkg: _package2.default }).notify();
_commander2.default.description(_package2.default.description).version(`v${_package2.default.version}`, '-v, --version').option('-s, --settings <path>', 'path to settings file [settings.json]', 'settings.json').option('-w, --web-config <path>', 'path to custom web.config file').option('-d, --debug', 'enable debug mode').option('-q, --quiet', 'enable quite mode').parse(process.argv);
// Pretty print logs
_winston2.default.cli();
// Terminate on shell error
_shelljs2.default.config.fatal = true;
// Quiet mode
if (_commander2.default.quiet === true) {
_winston2.default.level = 'error';
_shelljs2.default.config.silent = true;
}
// Debug mode
if (_commander2.default.debug === true) {
_winston2.default.level = 'debug';
}
exports.default = function () {
var _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee() {
var settingsFile, azureMethods;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.prev = 0;
(0, _validation.validateMeteor)();
settingsFile = (0, _validation.validateSettings)(_commander2.default.settings);
azureMethods = new _azure2.default(settingsFile);
_context.next = 6;
return azureMethods.authenticate();
case 6:
_context.next = 8;
return azureMethods.updateApplicationSettings();
case 8:
_context.next = 10;
return azureMethods.deployBundle({
bundleFile: (0, _bundle2.default)({ customWebConfig: _commander2.default.webConfig }),
isDebug: _commander2.default.debug
});
case 10:
_context.next = 16;
break;
case 12:
_context.prev = 12;
_context.t0 = _context['catch'](0);
_winston2.default.error(_context.t0.message);
process.exit(1);
case 16:
case 'end':
return _context.stop();
}
}
}, _callee, this, [[0, 12]]);
}));
function startup() {
return _ref.apply(this, arguments);
}
return startup;
}();