cc-zos
Version:
Command-line interface for the ZeppelinOS smart contract platform
42 lines (28 loc) • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _push = require('../scripts/push');
var _push2 = _interopRequireDefault(_push);
var _runWithTruffle = require('../utils/runWithTruffle');
var _runWithTruffle2 = _interopRequireDefault(_runWithTruffle);
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const name = 'push';
const signature = name;
const description = 'deploys your project to the specified <network>';
const register = program => program.command(signature, { noHelp: true }).description(description).usage('--network <network> [options]').option('--skip-compile', 'skips contract compilation').option('-d, --deploy-dependencies', 'deploys dependencies to the network if there is no existing deployment').option('--reset', 'redeploys all contracts (not only the ones that changed)').option('-f, --force', 'ignores validation errors and deploys contracts').withNetworkOptions().action(action);
async function action(options) {
const { skipCompile, deployDependencies: deployLibs, force, reset: reupload } = options;
await (0, _runWithTruffle2.default)(async opts => await (0, _push2.default)(_extends({ force, deployLibs, reupload }, opts)), _extends({ compile: !skipCompile }, options));
}
async function tryAction(externalOptions) {
if (!externalOptions.push) return;
const options = _lodash2.default.omit(externalOptions, 'push');
const network = _lodash2.default.isString(externalOptions.push) ? externalOptions.push : undefined;
if (network) options.network = network;
return action(options);
}
exports.default = { name, signature, description, register, action, tryAction };