@selfage/cli
Version:
Basic CLI to buid, run and format TypeScript code.
25 lines • 2.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.runForever = runForever;
const io_helper_1 = require("../io_helper");
const child_process_1 = require("child_process");
function runForever(file, args = new Array()) {
let jsFile = (0, io_helper_1.stripFileExtension)(file) + ".js";
new Spawner(jsFile, args).spawnChild();
}
class Spawner {
constructor(jsFile, args) {
this.jsFile = jsFile;
this.args = args;
}
spawnChild() {
let childProcess = (0, child_process_1.spawn)("node", [this.jsFile, ...this.args], {
stdio: "inherit",
});
childProcess.on("exit", (code) => {
console.log(`Exited with code ${code}.`);
this.spawnChild();
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXZlcl9ydW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmb3JldmVyX3J1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLGdDQUdDO0FBTkQsNENBQWtEO0FBQ2xELGlEQUFzQztBQUV0QyxTQUFnQixVQUFVLENBQUMsSUFBWSxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQVU7SUFDakUsSUFBSSxNQUFNLEdBQUcsSUFBQSw4QkFBa0IsRUFBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDOUMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLE9BQU87SUFDWCxZQUEyQixNQUFjLEVBQVUsSUFBbUI7UUFBM0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFNBQUksR0FBSixJQUFJLENBQWU7SUFBRyxDQUFDO0lBRW5FLFVBQVU7UUFDZixJQUFJLFlBQVksR0FBRyxJQUFBLHFCQUFLLEVBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM1RCxLQUFLLEVBQUUsU0FBUztTQUNqQixDQUFDLENBQUM7UUFDSCxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLElBQUksR0FBRyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3RyaXBGaWxlRXh0ZW5zaW9uIH0gZnJvbSBcIi4uL2lvX2hlbHBlclwiO1xuaW1wb3J0IHsgc3Bhd24gfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gcnVuRm9yZXZlcihmaWxlOiBzdHJpbmcsIGFyZ3MgPSBuZXcgQXJyYXk8c3RyaW5nPigpKTogdm9pZCB7XG4gIGxldCBqc0ZpbGUgPSBzdHJpcEZpbGVFeHRlbnNpb24oZmlsZSkgKyBcIi5qc1wiO1xuICBuZXcgU3Bhd25lcihqc0ZpbGUsIGFyZ3MpLnNwYXduQ2hpbGQoKTtcbn1cblxuY2xhc3MgU3Bhd25lciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIGpzRmlsZTogc3RyaW5nLCBwcml2YXRlIGFyZ3M6IEFycmF5PHN0cmluZz4pIHt9XG5cbiAgcHVibGljIHNwYXduQ2hpbGQoKTogdm9pZCB7XG4gICAgbGV0IGNoaWxkUHJvY2VzcyA9IHNwYXduKFwibm9kZVwiLCBbdGhpcy5qc0ZpbGUsIC4uLnRoaXMuYXJnc10sIHtcbiAgICAgIHN0ZGlvOiBcImluaGVyaXRcIixcbiAgICB9KTtcbiAgICBjaGlsZFByb2Nlc3Mub24oXCJleGl0XCIsIChjb2RlKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhgRXhpdGVkIHdpdGggY29kZSAke2NvZGV9LmApO1xuICAgICAgdGhpcy5zcGF3bkNoaWxkKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==