@libotony/sharp-cli
Version:
Sharp command line helper
57 lines • 4.85 kB
JavaScript
;
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 child_process_1 = require("child_process");
const path = require("path");
const debug = require('debug')('sharp:runner:task');
const solo_runner_1 = require("./solo-runner");
const getSolo = () => {
const getPlatform = () => {
switch (process.platform) {
case 'darwin':
case 'linux':
return process.platform;
case 'win32':
return 'windows';
default:
throw new Error(`unsupported platform ${process.platform}!`);
}
};
const getArch = () => {
switch (process.arch) {
case 'x64':
return 'amd64';
default:
throw new Error(`unsupported arch ${process.arch}!`);
}
};
const suffix = process.platform === 'win32' ? '.exe' : '';
const fName = `thor-${getPlatform()}-${getArch()}${suffix}`;
return fName;
};
exports.startTest = (taskName, soloPort) => __awaiter(this, void 0, void 0, function* () {
const fName = getSolo();
const solo = new solo_runner_1.SoloRunner(path.join(__dirname, '../thor-bin/', fName), soloPort);
yield solo.start();
debug('running task:', taskName);
const child = child_process_1.spawn(/^win/.test(process.platform) ? 'npm.cmd' : 'npm', ['run', taskName], {
cwd: process.cwd(),
stdio: 'inherit',
env: Object.assign({}, process.env, { THOR_REST: 'http://127.0.0.1:' + soloPort })
});
return yield new Promise((resolve) => {
child.on('exit', (code, signal) => {
debug(`child exited with code: ${code}, signal: ${signal}`);
solo.close();
resolve(code === null ? 0 : code);
});
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1ydW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVzdC1ydW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLGlEQUFxQztBQUNyQyw2QkFBNEI7QUFDNUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUE7QUFDbkQsK0NBQTBDO0FBRTFDLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRTtJQUNqQixNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUU7UUFDckIsUUFBUSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3RCLEtBQUssUUFBUSxDQUFDO1lBQ2QsS0FBSyxPQUFPO2dCQUNSLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQTtZQUMzQixLQUFLLE9BQU87Z0JBQ1IsT0FBTyxTQUFTLENBQUE7WUFDcEI7Z0JBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUE7U0FDbkU7SUFDTCxDQUFDLENBQUE7SUFFRCxNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUU7UUFDakIsUUFBUSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2xCLEtBQUssS0FBSztnQkFDTixPQUFPLE9BQU8sQ0FBQTtZQUNsQjtnQkFDSSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQTtTQUMzRDtJQUNMLENBQUMsQ0FBQTtJQUVELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUN6RCxNQUFNLEtBQUssR0FBRyxRQUFRLFdBQVcsRUFBRSxJQUFJLE9BQU8sRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFBO0lBRTNELE9BQU8sS0FBSyxDQUFBO0FBQ2hCLENBQUMsQ0FBQTtBQUVZLFFBQUEsU0FBUyxHQUFHLENBQU8sUUFBZ0IsRUFBRSxRQUFnQixFQUFFLEVBQUU7SUFDbEUsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLENBQUE7SUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSx3QkFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUVsRixNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUVsQixLQUFLLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ2hDLE1BQU0sS0FBSyxHQUFHLHFCQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFO1FBQ3RGLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFO1FBQ2xCLEtBQUssRUFBRSxTQUFTO1FBQ2hCLEdBQUcsb0JBQ0ksT0FBTyxDQUFDLEdBQUcsSUFDZCxTQUFTLEVBQUUsbUJBQW1CLEdBQUcsUUFBUSxHQUM1QztLQUNKLENBQUMsQ0FBQTtJQUVGLE9BQU8sTUFBTSxJQUFJLE9BQU8sQ0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ3pDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzlCLEtBQUssQ0FBQywyQkFBMkIsSUFBSSxhQUFhLE1BQU0sRUFBRSxDQUFDLENBQUE7WUFDM0QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQ1osT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFFLENBQUE7UUFDdEMsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQSxDQUFBIn0=