mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-19 05:29:46 +08:00
24 lines
897 B
TypeScript
24 lines
897 B
TypeScript
// A separate process lets the runner bound compiler hangs and crashes as well
|
|
// as program execution. It imports the current compiler source, like Vitest.
|
|
import { readFileSync, writeFileSync } from "node:fs";
|
|
import { compile } from "../../packages/compiler/src/index.js";
|
|
|
|
async function main(): Promise<void> {
|
|
const request = JSON.parse(readFileSync(process.argv[2]!, "utf8"));
|
|
const result = await compile(request.entry, {
|
|
outDir: request.workDir,
|
|
outPath: request.binary,
|
|
dynamic: false,
|
|
sanitize: request.sanitize,
|
|
...(request.backend === "default" ? {} : { backend: request.backend }),
|
|
});
|
|
writeFileSync(request.result, JSON.stringify(result.ok
|
|
? { ok: true, backend: result.backend, llvmRefusal: result.llvmRefusal }
|
|
: { ok: false, diagnostics: result.diagnostics }));
|
|
}
|
|
|
|
main().catch((error) => {
|
|
console.error(error);
|
|
process.exitCode = 1;
|
|
});
|