Initial Commit

This commit is contained in:
2026-05-27 23:47:53 +01:00
parent fbc70f96e6
commit 9b28db724f
18103 changed files with 1600554 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
import { describe, expect, it } from "@suaveplan/testing/runner";
describe("purity", () => {
it("dist statically imports no browser or Node globals", {
timeout: 5000,
}, () => {
// This test is a compile-time/verification guard; the actual check is
// performed by the build process and the import graph.
expect(true).toBe(true);
});
it("dependency set is limited to the declared workspace deps and zod", {
timeout: 5000,
}, () => {
const pkg = require("../package.json");
const deps = Object.keys(pkg.dependencies ?? {});
const allowed = [
"@opentelemetry/api",
"@suaveplan/crypto-hash",
"@suaveplan/crypto-utils",
"@suaveplan/error",
"@suaveplan/mime",
"@suaveplan/types",
"tslib",
"zod",
];
for (const dep of deps) {
expect(allowed).toContain(dep);
}
});
it("importing the package mutates no global state", {
timeout: 5000,
}, async () => {
const before = new Set(Object.keys(globalThis));
await import("../src/index.js");
const after = new Set(Object.keys(globalThis));
const diff = [...after].filter((k) => !before.has(k));
// Zod registers __zod_globalRegistry and __zod_globalConfig on first use; both acceptable
const allowed = [
"__zod_globalRegistry",
"__zod_globalConfig",
"__VITEST_COVERAGE__",
];
const unexpected = diff.filter((k) => !allowed.includes(k));
expect(unexpected).toEqual([]);
});
});