feat(generators): byte-identical snapshot machinery + realtime snapshot

This commit is contained in:
2026-05-09 13:30:08 +02:00
parent a7f0a13d34
commit af062480b5
3 changed files with 166 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
import { describe, it, expect } from "vitest";
import { mkdtempSync, mkdirSync, writeFileSync } from "node:fs";
import { tmpdir } from "node:os";
import { join } from "node:path";
import { computeSnapshot } from "./snapshot";
describe("computeSnapshot", () => {
it("returns sorted file paths + sha256 hashes", () => {
const tmp = mkdtempSync(join(tmpdir(), "snapshot-"));
mkdirSync(join(tmp, "src"));
writeFileSync(join(tmp, "package.json"), `{ "name": "x" }\n`);
writeFileSync(join(tmp, "src", "index.ts"), `export {};\n`);
const snap = computeSnapshot(tmp);
expect(snap).toEqual([
{ path: "package.json", sha256: expect.any(String) },
{ path: "src/index.ts", sha256: expect.any(String) },
]);
});
});