testSplittingAcrossFilesKeepsHashes
Splitting code across files and re-exporting through barrels does not change hashes.
import { hashes, project } from "#codebase/tcmts/core/test/hash"; import assert from "node:assert/strict"; export const testSplittingAcrossFilesKeepsHashes = () => { const one = hashes(`const double = (x: number) => x * 2; const quad = (x: number) => double(double(x))`); const split = project({ "math/double.ts": `export const double = (x: number) => x * 2;`, "math/index.ts": `export * from "./double.ts";`, "quad.ts": `import { double as twice } from "./math/index.ts";\nexport const quad = (x: number) => twice(twice(x));`, }); assert.equal(split.double!.hash, one.double); assert.equal(split.quad!.hash, one.quad); }