UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

48 lines (47 loc) 1.59 kB
import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { dirname, join } from "node:path"; import { afterEach, describe, expect, it } from "vitest"; import { getManifest } from "./getManifest.mjs"; let testDir; function writeRoute(relativePath) { if (!testDir) { testDir = mkdtempSync(join(tmpdir(), "one-get-manifest-")); } const filePath = join(testDir, "app", relativePath); mkdirSync(dirname(filePath), { recursive: true }); writeFileSync(filePath, "export default function Route() { return null }"); } afterEach(() => { if (testDir) { rmSync(testDir, { recursive: true, force: true }); testDir = void 0; } }); describe("getManifest", () => { it("filters ignoredRouteFiles from server route manifests", () => { writeRoute("index.tsx"); writeRoute("about.tsx"); writeRoute("contact.test.tsx"); writeRoute("admin/dashboard.tsx"); writeRoute("admin/types.ts"); writeRoute("api/users+api.ts"); const manifest = getManifest({ routerRoot: join(testDir, "app"), ignoredRouteFiles: ["**/*.test.*", "**/types.ts"] }); const files = manifest?.allRoutes.map(route => route.file) ?? []; expect(files).toContain("./index.tsx"); expect(files).toContain("./about.tsx"); expect(files).toContain("./admin/dashboard.tsx"); expect(files).toContain("./api/users+api.ts"); expect(files).not.toContain("./contact.test.tsx"); expect(files).not.toContain("./admin/types.ts"); }); }); //# sourceMappingURL=getManifest.test.mjs.map