stratumn-cli
Version:
CLI tools for Stratumn
74 lines (51 loc) • 1.99 kB
JavaScript
;
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _commander = require('commander');
var _commander2 = _interopRequireDefault(_commander);
var _readPackageSync = require('../utils/readPackageSync');
var _readPackageSync2 = _interopRequireDefault(_readPackageSync);
var _post = require('../utils/post');
var _post2 = _interopRequireDefault(_post);
var _poll = require('../utils/poll');
var _poll2 = _interopRequireDefault(_poll);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
_commander2.default.usage('<app-name> [script-path]').version((0, _readPackageSync2.default)('version')).option('-p, --plan <name>', 'change the plan').option('-n, --agent-count <int>', 'change the number of agents').parse(process.argv);
if (_commander2.default.args.length < 1 || _commander2.default.args.length > 2) {
_commander2.default.help();
}
function handleError(err) {
process.stderr.write(err.message + '\n', function () {
return process.exit(1);
});
}
var payload = {};
if (_commander2.default.plan) {
payload.plan = _commander2.default.plan;
}
if (_commander2.default.agentCount) {
payload.agentCount = _commander2.default.agentCount;
}
if (_commander2.default.args.length === 2) {
var scriptPath = _path2.default.join(process.cwd(), _commander2.default.args[1]);
try {
payload.script = _fs2.default.readFileSync(scriptPath, 'utf8');
} catch (err) {
handleError(err);
}
}
(0, _post2.default)('/applications/' + _commander2.default.args[0] + '/deploy', payload, true).then(function (app) {
return (0, _poll2.default)(app.name);
}).then(function () {
process.stdout.write('\n', process.exit);
}).catch(function (err) {
if (err.code === 'ENOENT') {
process.stdout.write('You must login first\n', function () {
return process.exit(1);
});
return;
}
handleError(err);
});