Settled messages no longer rebuild on every token, Inter is actually requested, and admin routes drop the 33 KB chat stylesheet. Root force-dynamic is gone so public shells can prerender without changing the no-store Cache-Control contract. Co-authored-by: Cursor <cursoragent@cursor.com>
41 lines
2.0 KiB
TypeScript
41 lines
2.0 KiB
TypeScript
import assert from "node:assert/strict";
|
|
import { readFileSync } from "node:fs";
|
|
import test from "node:test";
|
|
|
|
const layout = readFileSync(new URL("../src/app/layout.tsx", import.meta.url), "utf8");
|
|
const siteStyles = readFileSync(new URL("../src/app/site-styles.ts", import.meta.url), "utf8");
|
|
const adminLayout = readFileSync(new URL("../src/app/admin/layout.tsx", import.meta.url), "utf8");
|
|
const adminCss = readFileSync(new URL("../src/app/admin/admin.css", import.meta.url), "utf8");
|
|
const homePage = readFileSync(new URL("../src/app/page.tsx", import.meta.url), "utf8");
|
|
const loginPage = readFileSync(new URL("../src/app/login/page.tsx", import.meta.url), "utf8");
|
|
|
|
test("Inter is loaded through next/font and applied as a CSS variable", () => {
|
|
assert.match(layout, /import \{ Inter \} from "next\/font\/google"/);
|
|
assert.match(layout, /display: "swap"/);
|
|
assert.match(layout, /variable: "--font-inter"/);
|
|
assert.match(layout, /className=\{inter\.variable\}/);
|
|
assert.match(readFileSync(new URL("../src/app/globals.css", import.meta.url), "utf8"), /var\(--font-inter, Inter\)/);
|
|
assert.match(
|
|
readFileSync(new URL("../src/components/admin/admin-app.tsx", import.meta.url), "utf8"),
|
|
/var\(--font-inter, Inter\)/,
|
|
);
|
|
});
|
|
|
|
test("site chrome owns globals.css; admin does not import it", () => {
|
|
assert.match(siteStyles, /import "\.\/globals\.css"/);
|
|
assert.match(siteStyles, /import "\.\/birth-time-choice\.css"/);
|
|
assert.doesNotMatch(layout, /globals\.css|birth-time-choice\.css|site-styles/);
|
|
assert.match(homePage, /import "@\/app\/site-styles"/);
|
|
assert.match(loginPage, /import "\.\.\/site-styles"/);
|
|
assert.doesNotMatch(adminLayout, /globals\.css|site-styles/);
|
|
assert.doesNotMatch(
|
|
readFileSync(new URL("../src/app/error.tsx", import.meta.url), "utf8"),
|
|
/site-styles|globals\.css/,
|
|
);
|
|
assert.doesNotMatch(
|
|
readFileSync(new URL("../src/app/not-found.tsx", import.meta.url), "utf8"),
|
|
/site-styles|globals\.css/,
|
|
);
|
|
assert.match(adminCss, /--font-body: StyreneB, var\(--font-inter, Inter\)/);
|
|
});
|