browser-bundle.test.ts

674 B · raw

1import { readFileSync } from "node:fs";2import { describe, expect, it } from "vitest";34describe("Codex browser bundle hygiene", () => {5  it("keeps direct Node built-in imports out of browser-loaded Codex modules", () => {6    const browserLoadedFiles = [7      "src/popup/codex/rs-loader.ts",8      "src/popup/codex/erasure.ts",9    ];1011    for (const file of browserLoadedFiles) {12      const source = readFileSync(file, "utf8");13      expect(source, file).not.toContain(14        "@subspace/reed-solomon-erasure.wasm",15      );16      expect(source, file).not.toMatch(/import\s*\(\s*["']node:/);17      expect(source, file).not.toMatch(/from\s+["']node:/);18    }19  });20});