UNPKG

rivet

Version:

Suite of utilities for working with the Rivet consumer-driven API contacts testing model.

107 lines (106 loc) 3.13 kB
#!/usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var yargs = require("yargs"); var log_1 = require("../lib/log"); var config_1 = require("../lib/config"); var handlers_1 = require("./handlers"); var initOptions = { command: 'init [name]', describe: 'Scaffolds basic rivet configuration, files, and directories', aliases: ['init'], handler: handlers_1.initHandler, }; var versionOptions = { command: 'version <version|major|minor|patch>', aliases: ['version', 'v'], describe: 'Bump the package version', handler: handlers_1.versionHandler, }; var publishOptions = { command: 'publish [version|major|minor|patch]', aliases: ['publish', 'pub', 'p'], describe: 'Publish the package with an optional version bump', handler: handlers_1.publishHandler, }; var linkOptions = { command: 'link [pkg]', aliases: ['link', 'l'], describe: 'Link the package in the global node_modules', handler: handlers_1.linkHandler, }; var compileOptions = { command: 'compile [src]', aliases: ['compile', 'c'], describe: 'Compile contracts from the [src] to JSON', builder: { clean: { default: false }, src: { default: false, aliases: ['input', 'inputDir', 'in'], }, cwd: { default: config_1.default.contractsRoot, }, ignore: { default: false, type: 'array' }, out: { aliases: ['outputDir', 'output'], default: config_1.default.compiledContractsRoot, } }, handler: handlers_1.compileHandler, }; var watchOptions = { command: 'watch', aliases: ['w'], builder: { src: { default: config_1.default.contractsPath, aliases: ['input', 'inputDir', 'in'], }, cwd: { default: config_1.default.contractsRoot, }, ignore: { default: false, type: 'array' }, out: { aliases: ['outputDir', 'output'], default: config_1.default.compiledContractsRoot, } }, describe: 'Watch and compile changes to contracts', handler: handlers_1.watchHandler, }; // tslint:disable-next-line: no-var-requires var pkgVersion = require('../../package.json').version; // tslint:disable-next-line: no-unused-expression yargs .command(compileOptions) .command({ command: 'config', describe: 'Displays current configuration options', handler: function (argv) { process.stdout.write(require('util').inspect(config_1.default, false, null)); } }) .command(initOptions) .command(linkOptions) .command(publishOptions) .command(versionOptions) .command(watchOptions) .help() .check(function (argv) { if (argv._.length === 0) { yargs.showHelp(); } return true; }) .usage("Usage:\n " + log_1.textHelpers.pkg + " <publish|version> [version|major|minor|patch]") .epilogue("Version: v" + pkgVersion) .version(function () { return pkgVersion; }) .argv;