@selfage/cli
Version:
Basic CLI to buid, run and format TypeScript code.
18 lines • 2.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.run = run;
const compiler_1 = require("../build/compiler");
const io_helper_1 = require("../io_helper");
const child_process_1 = require("child_process");
async function run(file, tsconfigFile, args = new Array()) {
await (0, compiler_1.compile)(file, tsconfigFile);
let jsFile = (0, io_helper_1.stripFileExtension)(file) + ".js";
let childProcess = (0, child_process_1.spawn)("node", [jsFile, ...args], { stdio: "inherit" });
return new Promise((resolve) => {
childProcess.on("exit", (code) => {
process.exitCode = code;
resolve();
});
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicnVubmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsa0JBY0M7QUFsQkQsZ0RBQTRDO0FBQzVDLDRDQUFrRDtBQUNsRCxpREFBc0M7QUFFL0IsS0FBSyxVQUFVLEdBQUcsQ0FDdkIsSUFBWSxFQUNaLFlBQXFCLEVBQ3JCLE9BQU8sSUFBSSxLQUFLLEVBQVU7SUFFMUIsTUFBTSxJQUFBLGtCQUFPLEVBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ2xDLElBQUksTUFBTSxHQUFHLElBQUEsOEJBQWtCLEVBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzlDLElBQUksWUFBWSxHQUFHLElBQUEscUJBQUssRUFBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNuQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQy9CLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21waWxlIH0gZnJvbSBcIi4uL2J1aWxkL2NvbXBpbGVyXCI7XG5pbXBvcnQgeyBzdHJpcEZpbGVFeHRlbnNpb24gfSBmcm9tIFwiLi4vaW9faGVscGVyXCI7XG5pbXBvcnQgeyBzcGF3biB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW4oXG4gIGZpbGU6IHN0cmluZyxcbiAgdHNjb25maWdGaWxlPzogc3RyaW5nLFxuICBhcmdzID0gbmV3IEFycmF5PHN0cmluZz4oKVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGNvbXBpbGUoZmlsZSwgdHNjb25maWdGaWxlKTtcbiAgbGV0IGpzRmlsZSA9IHN0cmlwRmlsZUV4dGVuc2lvbihmaWxlKSArIFwiLmpzXCI7XG4gIGxldCBjaGlsZFByb2Nlc3MgPSBzcGF3bihcIm5vZGVcIiwgW2pzRmlsZSwgLi4uYXJnc10sIHsgc3RkaW86IFwiaW5oZXJpdFwiIH0pO1xuICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICBjaGlsZFByb2Nlc3Mub24oXCJleGl0XCIsIChjb2RlKSA9PiB7XG4gICAgICBwcm9jZXNzLmV4aXRDb2RlID0gY29kZTtcbiAgICAgIHJlc29sdmUoKTtcbiAgICB9KTtcbiAgfSk7XG59XG4iXX0=