refactor: consume external road compiler

This commit is contained in:
2026-08-26 09:23:46 +08:00
parent b78cb6e990
commit 5cde08090e
48 changed files with 257 additions and 15626 deletions

View File

@@ -0,0 +1,16 @@
#!/usr/bin/env node
"use strict";
const assert = require("assert/strict");
const { parseCompletionMarker } = require("./lib/road-compiler-cli");
const input = { areaId: "fixture", outDir: "/tmp/fixture/native-road" };
const marker = `NATIVE_ROAD_COMPILE_DONE ${JSON.stringify({ areaId: input.areaId, output: input.outDir, roads: 1, endpoints: 2, diagnostics: 0 })}`;
assert.equal(parseCompletionMarker(marker, input).areaId, input.areaId);
assert.throws(() => parseCompletionMarker("compiler output", input), /exactly one/);
assert.throws(() => parseCompletionMarker(`${marker}\n${marker}`, input), /exactly one/);
assert.throws(() => parseCompletionMarker("NATIVE_ROAD_COMPILE_DONE {", input), /Invalid/);
assert.throws(() => parseCompletionMarker("NATIVE_ROAD_COMPILE_DONE {\"areaId\":\"other\",\"output\":\"/tmp/fixture/native-road\"}", input), /areaId mismatch/);
assert.throws(() => parseCompletionMarker("NATIVE_ROAD_COMPILE_DONE {\"areaId\":\"fixture\",\"output\":\"/tmp/other\"}", input), /output mismatch/);
console.log("road compiler CLI tests passed");