@selfage/bundler_cli
Version:
CLI for bundling and running bundled frontend or backend TypeScript files.
18 lines • 2.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.runInNode = runInNode;
const bundler_1 = require("./bundler");
const file_extension_stripper_1 = require("./file_extension_stripper");
const child_process_1 = require("child_process");
async function runInNode(sourceFile, options, args = new Array()) {
let binFile = (0, file_extension_stripper_1.stripFileExtension)(sourceFile) + "_bin.js";
await (0, bundler_1.bundleForNode)(sourceFile, binFile, undefined, undefined, options);
let childProcess = (0, child_process_1.spawn)("node", [binFile, ...args], { stdio: "inherit" });
return new Promise((resolve) => {
childProcess.on("exit", (code) => {
process.exitCode = code;
resolve();
});
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmVyX2luX25vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJydW5uZXJfaW5fbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLDhCQWNDO0FBbEJELHVDQUErRDtBQUMvRCx1RUFBK0Q7QUFDL0QsaURBQXNDO0FBRS9CLEtBQUssVUFBVSxTQUFTLENBQzdCLFVBQWtCLEVBQ2xCLE9BQTZCLEVBQzdCLE9BQU8sSUFBSSxLQUFLLEVBQVU7SUFFMUIsSUFBSSxPQUFPLEdBQUcsSUFBQSw0Q0FBa0IsRUFBQyxVQUFVLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDekQsTUFBTSxJQUFBLHVCQUFhLEVBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLElBQUksWUFBWSxHQUFHLElBQUEscUJBQUssRUFBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNuQyxZQUFZLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQy9CLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25CdW5kbGVPcHRpb25zLCBidW5kbGVGb3JOb2RlIH0gZnJvbSBcIi4vYnVuZGxlclwiO1xuaW1wb3J0IHsgc3RyaXBGaWxlRXh0ZW5zaW9uIH0gZnJvbSBcIi4vZmlsZV9leHRlbnNpb25fc3RyaXBwZXJcIjtcbmltcG9ydCB7IHNwYXduIH0gZnJvbSBcImNoaWxkX3Byb2Nlc3NcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bkluTm9kZShcbiAgc291cmNlRmlsZTogc3RyaW5nLFxuICBvcHRpb25zPzogQ29tbW9uQnVuZGxlT3B0aW9ucyxcbiAgYXJncyA9IG5ldyBBcnJheTxzdHJpbmc+KCksXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgbGV0IGJpbkZpbGUgPSBzdHJpcEZpbGVFeHRlbnNpb24oc291cmNlRmlsZSkgKyBcIl9iaW4uanNcIjtcbiAgYXdhaXQgYnVuZGxlRm9yTm9kZShzb3VyY2VGaWxlLCBiaW5GaWxlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgb3B0aW9ucyk7XG4gIGxldCBjaGlsZFByb2Nlc3MgPSBzcGF3bihcIm5vZGVcIiwgW2JpbkZpbGUsIC4uLmFyZ3NdLCB7IHN0ZGlvOiBcImluaGVyaXRcIiB9KTtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgY2hpbGRQcm9jZXNzLm9uKFwiZXhpdFwiLCAoY29kZSkgPT4ge1xuICAgICAgcHJvY2Vzcy5leGl0Q29kZSA9IGNvZGU7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfSk7XG4gIH0pO1xufVxuIl19