test.scripts/core/analyzers/closure.fixture.ts
test.scripts/core/analyzers/closure.fixture.ts is a file in Codebase Testing. 29 lines of code and 6 definitions.
import { mkdirSync, mkdtempSync } from "node:fs";
import { join } from "node:path";
import { tmpdir } from "node:os";
import { writeVerbatim } from "@govlab/canonical-write";
export const ZONE = "zone";
const MANIFEST = { exports: { "./*": "./*" }, imports: { [`#${ZONE}/*`]: `./${ZONE}/*.ts` }, name: "@fixture/member" };
const CALLER = [
`import { A_ID } from "#${ZONE}/a.ids";`,
"registerThing({ id: A_ID });",
"getThing(A_ID);",
"emitEvent(A_ID);",
"subscribeEvent({ event: A_ID });",
"export interface Shape { name: string; age?: number }",
"export function run(): void {}",
`const label = (await import("#${ZONE}/b.strings")).LABEL;`,
"",
].join("\n");
export const memberFixture = function memberFixture(): string {
const root = mkdtempSync(join(tmpdir(), "closure-member-"));
const zone = join(root, ZONE);
mkdirSync(zone);
writeVerbatim(join(root, "package.json"), JSON.stringify(MANIFEST));
writeVerbatim(join(zone, "a.ids.ts"), 'export const A_ID = "a";\n');
writeVerbatim(join(zone, "b.strings.ts"), 'export const LABEL = "label";\n');
writeVerbatim(join(zone, "c.ts"), CALLER);
writeVerbatim(join(zone, "index.ts"), 'export default import.meta.glob("./*.ids.ts");\n');
writeVerbatim(join(zone, "c.test.ts"), "export const skipped = 1;\n");
return root;
};