56 lines
1.5 KiB
TypeScript
56 lines
1.5 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { findViteDynamicRouteChunk } from "../../scripts/lib/vite-route-chunks.ts";
|
|
|
|
describe("Vite route chunk identity", () => {
|
|
it("recognizes a governed manual chunk referenced by an entry dynamic import", () => {
|
|
const manifest = {
|
|
"_route-tech-log-home-abc.js": {
|
|
file: "assets/route-tech-log-home-abc.js",
|
|
name: "route-tech-log-home",
|
|
},
|
|
"index.html": {
|
|
file: "assets/index.js",
|
|
name: "index",
|
|
isEntry: true,
|
|
dynamicImports: ["_route-tech-log-home-abc.js"],
|
|
},
|
|
};
|
|
|
|
expect(findViteDynamicRouteChunk(manifest, "route-tech-log-home")).toEqual({
|
|
file: "assets/route-tech-log-home-abc.js",
|
|
name: "route-tech-log-home",
|
|
});
|
|
});
|
|
|
|
it("retains Vite native dynamic-entry support", () => {
|
|
const manifest = {
|
|
"src/page.tsx": {
|
|
file: "assets/page.js",
|
|
name: "route-page",
|
|
isDynamicEntry: true,
|
|
},
|
|
};
|
|
|
|
expect(findViteDynamicRouteChunk(manifest, "route-page")?.file).toBe(
|
|
"assets/page.js",
|
|
);
|
|
});
|
|
|
|
it("rejects a named chunk that is not dynamically reachable", () => {
|
|
const manifest = {
|
|
"_route-tech-log-home-abc.js": {
|
|
file: "assets/route-tech-log-home-abc.js",
|
|
name: "route-tech-log-home",
|
|
},
|
|
"index.html": {
|
|
file: "assets/index.js",
|
|
name: "index",
|
|
isEntry: true,
|
|
},
|
|
};
|
|
|
|
expect(findViteDynamicRouteChunk(manifest, "route-tech-log-home")).toBeUndefined();
|
|
});
|
|
});
|