@libotony/sharp-cli
Version:
Sharp command line helper
112 lines • 8.33 kB
JavaScript
#!/usr/bin/env node
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const yargs = require("yargs");
const test_runner_1 = require("./test-runner");
const compile_options_1 = require("./compile-options");
const compile_flow_1 = require("./compile-flow");
const exec_script_1 = require("./exec-script");
const utils_1 = require("./utils");
const debug = require('debug')('sharp:cli');
const args = yargs
.scriptName('sharp-cli')
.pkgConf('sharp')
.command({
command: 'compile',
describe: 'compile contracts',
builder: (thisYargs) => thisYargs,
handler: (argv) => {
(() => __awaiter(this, void 0, void 0, function* () {
const options = compile_options_1.normalizeOptions(argv);
yield compile_flow_1.compileFlow(options);
}))().catch(e => {
debug('compile flow failed', e);
const head = utils_1.colors.error('\n===============ERROR===================\n\n');
const tail = utils_1.colors.error('\n\n=======================================\n');
process.stderr.write(head + e.message + tail);
yargs.exit(-1, new Error('Compile failed'));
});
}
})
.command({
command: 'test [task]',
describe: 'run test task',
builder: (thisYargs) => {
return thisYargs
.option({
task: {
type: 'string',
describe: 'npm script to run for the test',
default: 'sharp'
}
})
.option({
port: {
type: 'number',
describe: 'port of solo node\'s api',
default: 8669
}
});
},
handler: (argv) => {
test_runner_1.startTest(argv.task, argv.port).then((code) => {
yargs.exit(code, null);
}).catch(e => {
debug('running test failed', e);
const head = utils_1.colors.error('\n===============ERROR===================\n\n');
const tail = utils_1.colors.error('\n\n=======================================\n');
process.stderr.write(head + e.message + tail);
yargs.exit(-1, new Error('Test failed'));
});
}
})
.command({
command: 'exec [file]',
describe: 'execute a connex script',
builder: (thisYargs) => {
return thisYargs
.demandOption('file')
.option({
endpoint: {
type: 'string',
describe: 'thor node\'s api endpoint',
default: 'http://localhost:8669'
},
require: {
type: 'string',
describe: 'required modules',
array: true,
alias: 'r',
default: []
}
});
},
handler: (argv) => {
exec_script_1.execScript(argv.file, argv.endpoint, argv.require)
.then(() => {
// just want to do a successfully exit
yargs.exit(0, null);
})
.catch(e => {
debug('execute script failed', e);
const head = utils_1.colors.error('\n===============ERROR===================\n\n');
const tail = utils_1.colors.error('\n\n=======================================\n');
process.stderr.write(head + e.message + tail);
yargs.exit(-1, new Error('Execute script failed'));
});
}
})
.demandCommand(1, 'You need at least one command before moving on')
.help()
.alias('h', 'help')
.alias('v', 'version')
.argv;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQSwrQkFBOEI7QUFFOUIsK0NBQXlDO0FBQ3pDLHVEQUFvRDtBQUNwRCxpREFBNEM7QUFDNUMsK0NBQTBDO0FBQzFDLG1DQUFnQztBQUNoQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUE7QUFFM0MsTUFBTSxJQUFJLEdBQUcsS0FBSztLQUNiLFVBQVUsQ0FBQyxXQUFXLENBQUM7S0FDdkIsT0FBTyxDQUFDLE9BQU8sQ0FBQztLQUNoQixPQUFPLENBQUM7SUFDTCxPQUFPLEVBQUUsU0FBUztJQUNsQixRQUFRLEVBQUUsbUJBQW1CO0lBQzdCLE9BQU8sRUFBRSxDQUFDLFNBQWMsRUFBRSxFQUFFLENBQUMsU0FBUztJQUN0QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNkLENBQUMsR0FBUyxFQUFFO1lBQ1IsTUFBTSxPQUFPLEdBQUcsa0NBQWdCLENBQUMsSUFBVyxDQUFDLENBQUE7WUFDN0MsTUFBTSwwQkFBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzlCLENBQUMsQ0FBQSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWCxLQUFLLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDL0IsTUFBTSxJQUFJLEdBQUcsY0FBTSxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFBO1lBQzFFLE1BQU0sSUFBSSxHQUFHLGNBQU0sQ0FBQyxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQTtZQUMxRSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQTtZQUM3QyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FB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