import { describe, expect, it } from "vitest"; import { classifyViteJavascript } from "../../scripts/lib/classify-vite-bundle.mjs"; describe("Vite bundle classification", () => { it("counts transitive static imports as initial and keeps dynamic chunks lazy", () => { expect( classifyViteJavascript({ "index.html": { file: "assets/entry.js", isEntry: true, imports: ["_shared.js"], }, "_shared.js": { file: "assets/shared.js", imports: ["_runtime.js"] }, "_runtime.js": { file: "assets/runtime.js" }, "src/lazy.js": { file: "assets/lazy.js" }, }), ).toEqual({ initialFiles: [ "assets/entry.js", "assets/runtime.js", "assets/shared.js", ], lazyFiles: ["assets/lazy.js"], missingImports: [], }); }); it("reports a manifest import that cannot be resolved", () => { expect( classifyViteJavascript({ "index.html": { file: "assets/entry.js", isEntry: true, imports: ["_missing.js"], }, }).missingImports, ).toEqual(["_missing.js"]); }); });