tools/core/generators/fixture.generator.ts
tools/core/generators/fixture.generator.ts is a file in Coordination Surface. 20 lines of code and 3 definitions.
import { dirname, resolve } from "node:path";
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
import type { FixtureTree } from "../types/fixture.types.ts";
import { tmpdir } from "node:os";
export const growFixtureTree = function growFixtureTree(
samples: readonly { path: string; text: string }[],
): FixtureTree {
const root = mkdtempSync(resolve(tmpdir(), "govern-fixture-"));
for (const sample of samples) {
const target = resolve(root, sample.path);
mkdirSync(dirname(target), { recursive: true });
writeFileSync(target, sample.text, "utf8");
}
return {
release: (): void => {
rmSync(root, { force: true, recursive: true });
},
root,
};
};