UNPKG

one

Version:

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

42 lines 1.9 kB
var import_node_fs = require("node:fs"); var import_node_os = require("node:os"); var import_node_path = require("node:path"); var import_vitest = require("vitest"); var import_workerdDevPlugin = require("./workerdDevPlugin.cjs"); let testDir; (0, import_vitest.afterEach)(() => { if (testDir) { (0, import_node_fs.rmSync)(testDir, { recursive: true, force: true }); testDir = void 0; } }); (0, import_vitest.describe)("generateWorkerdDevEntryModule", () => { (0, import_vitest.it)("emits createWorkerHandler wiring and lazy imports for pages and api routes", () => { testDir = (0, import_node_fs.mkdtempSync)((0, import_node_path.join)((0, import_node_os.tmpdir)(), "one-workerd-entry-")); const appDir = (0, import_node_path.join)(testDir, "app"); (0, import_node_fs.mkdirSync)((0, import_node_path.join)(appDir, "api"), { recursive: true }); (0, import_node_fs.writeFileSync)((0, import_node_path.join)(appDir, "ssr-page+ssr.tsx"), "export default function Page() { return null }\n"); (0, import_node_fs.writeFileSync)((0, import_node_path.join)(appDir, "api", "hello+api.ts"), 'export function GET() { return new Response("ok") }\n'); const code = (0, import_workerdDevPlugin.generateWorkerdDevEntryModule)({ root: testDir, options: { web: { defaultRenderMode: "ssr" } }, routerRoot: "app", routePaths: ["./ssr-page+ssr.tsx", "./api/hello+api.ts"], preloads: ["/@vite/client"] }); (0, import_vitest.expect)(code).toContain("from 'one/serve-worker'"); (0, import_vitest.expect)(code).toContain("disableModuleCache: true"); (0, import_vitest.expect)(code).toContain('serverEntry: () => import("virtual:one-entry")'); (0, import_vitest.expect)(code).toContain("/api/hello"); (0, import_vitest.expect)(code).toContain("ssr-page+ssr.tsx"); }); });