Files
cloudflare__vinext/tests/cjs.test.ts
T
Stephen Zhou c17d6941be chore: migrate to vite plus (#535)
* chore: migrate to vite plus

* Disable typeAware and typeCheck

* Update CI

* Fix CI

* Fix test

* Clean

* Run test with vp

* Try revert

* react: false In test

* Fix test

* Revert "Try revert"

This reverts commit 009da10473.

* Update

* Update

* Try revert ci changes

* revert

* Run vp migrate

* Disable typeAware and typeCheck for now

* Better resolve for test

* Use vp dev instead of vite

* Update expect

* Fix NormalizeManifestModuleId

* Try increase timeout

* Update to use vp

* Try new check

* Bring back npx vp

* Migrate CI

* Make next-intl resolvable

* Update

* Update

* Update
2026-03-15 10:50:13 +00:00

55 lines
1.8 KiB
TypeScript

import { describe, it, expect, beforeAll, afterAll } from "vite-plus/test";
import type { ViteDevServer } from "vite-plus";
import { APP_FIXTURE_DIR, PAGES_FIXTURE_DIR, startFixtureServer, fetchHtml } from "./helpers.js";
describe("CJS interop (App Router)", () => {
let server: ViteDevServer;
let baseUrl: string;
beforeAll(async () => {
({ server, baseUrl } = await startFixtureServer(APP_FIXTURE_DIR, { appRouter: true }));
}, 30000);
afterAll(async () => {
await server?.close();
});
it("renders page that uses CJS require() and module.exports", async () => {
const { res, html } = await fetchHtml(baseUrl, "/cjs/basic");
expect(res.status).toBe(200);
expect(html).toContain("cjs-basic");
// React SSR may insert comment nodes between text and expressions
// (e.g. "Random: <!-- -->4"), so use a regex.
expect(html).toMatch(/Random:.*4/);
});
it("renders page that uses CJS require('server-only')", async () => {
const { res, html } = await fetchHtml(baseUrl, "/cjs/server-only");
expect(res.status).toBe(200);
expect(html).toContain("cjs-server-only");
expect(html).toContain("This page uses CJS require");
});
});
describe("CJS interop (Pages Router)", () => {
let server: ViteDevServer;
let baseUrl: string;
beforeAll(async () => {
({ server, baseUrl } = await startFixtureServer(PAGES_FIXTURE_DIR));
}, 30000);
afterAll(async () => {
await server?.close();
});
it("renders page that uses CJS require() and module.exports", async () => {
const { res, html } = await fetchHtml(baseUrl, "/cjs/basic");
expect(res.status).toBe(200);
expect(html).toContain("cjs-basic");
// Pages Router SSR inserts React comment nodes between text and
// expressions (e.g. "Random: <!-- -->4"), so use a regex.
expect(html).toMatch(/Random:.*4/);
});
});