chore: initialize from frontend template 4dc033c
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import { spawnSync } from "node:child_process";
|
||||
|
||||
const checker = "scripts/check-realtime-boundaries.ts";
|
||||
const allowed = run(
|
||||
"tests/fixtures/realtime-boundaries/allowed",
|
||||
".tmp/realtime-boundaries-allowed.json",
|
||||
);
|
||||
const forbidden = run(
|
||||
"tests/fixtures/realtime-boundaries/forbidden",
|
||||
".tmp/realtime-boundaries-forbidden.json",
|
||||
);
|
||||
const forbiddenOutput = `${forbidden.stdout}${forbidden.stderr}`;
|
||||
const expectedRules = [
|
||||
"NATIVE_REALTIME_API_OUTSIDE_ADAPTER",
|
||||
"PRESENTATION_INTERVAL_OWNER",
|
||||
"UNSELECTED_REALTIME_RUNTIME_COMPOSED",
|
||||
] as const;
|
||||
|
||||
if (
|
||||
allowed.status !== 0 ||
|
||||
forbidden.status === 0 ||
|
||||
!expectedRules.every((rule) => forbiddenOutput.includes(rule))
|
||||
) {
|
||||
process.stderr.write(allowed.stdout);
|
||||
process.stderr.write(allowed.stderr);
|
||||
process.stderr.write(forbidden.stdout);
|
||||
process.stderr.write(forbidden.stderr);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
process.stdout.write(
|
||||
`Realtime boundary fixtures: PASS (${expectedRules.length} forbidden rules rejected)\n`,
|
||||
);
|
||||
|
||||
function run(sourceRoot: string, artifact: string) {
|
||||
return spawnSync(
|
||||
process.execPath,
|
||||
[
|
||||
checker,
|
||||
"--source-root",
|
||||
sourceRoot,
|
||||
"--artifact",
|
||||
artifact,
|
||||
],
|
||||
{ encoding: "utf8" },
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user