rivet
Version:
Suite of utilities for working with the Rivet consumer-driven API contacts testing model.
107 lines (106 loc) • 3.13 kB
JavaScript
;
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;