cc-zos
Version:
Command-line interface for the ZeppelinOS smart contract platform
31 lines (20 loc) • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _push = require('./push');
var _push2 = _interopRequireDefault(_push);
var _init = require('../scripts/init');
var _init2 = _interopRequireDefault(_init);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const name = 'init';
const signature = `${name} <project-name> [version]`;
const description = `initialize your ZeppelinOS project. Provide a <project-name> and optionally an initial [version] name`;
const register = program => program.command(signature, { noHelp: true }).usage('<project-name> [version]').description(description).option('--publish', 'automatically publishes your project upon pushing it to a network').option('--force', 'overwrite existing project if there is one').option('--link <dependency>', 'link to a dependency').option('--no-install', 'skip installing packages dependencies locally').withPushOptions().action(action);
async function action(name, version, options) {
const { publish, force, link, install: installLibs } = options;
const libs = link ? link.split(',') : [];
await (0, _init2.default)({ name, version, libs, installLibs, force, publish });
await _push2.default.tryAction(options);
}
exports.default = { name, signature, description, register, action };