@nifrajs/web 5.1.0 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/CHANGELOG.md +3042 -0
  2. package/dist/build-plan.d.ts +7 -0
  3. package/dist/build-plan.d.ts.map +1 -1
  4. package/dist/build-plan.js +19 -0
  5. package/dist/build-plan.js.map +1 -1
  6. package/dist/build-vite.d.ts +1 -0
  7. package/dist/build-vite.d.ts.map +1 -1
  8. package/dist/build-vite.js +51 -3
  9. package/dist/build-vite.js.map +1 -1
  10. package/dist/build.d.ts +23 -3
  11. package/dist/build.d.ts.map +1 -1
  12. package/dist/build.js +224 -16
  13. package/dist/build.js.map +1 -1
  14. package/dist/client.d.ts +2 -1
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +14 -7
  17. package/dist/client.js.map +1 -1
  18. package/dist/csp.d.ts +2 -0
  19. package/dist/csp.d.ts.map +1 -1
  20. package/dist/csp.js +2 -0
  21. package/dist/csp.js.map +1 -1
  22. package/dist/deferred.d.ts.map +1 -1
  23. package/dist/deferred.js +23 -3
  24. package/dist/deferred.js.map +1 -1
  25. package/dist/index.d.ts +4 -3
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +2 -2
  28. package/dist/index.js.map +1 -1
  29. package/dist/internal/codegen.d.ts +6 -0
  30. package/dist/internal/codegen.d.ts.map +1 -1
  31. package/dist/internal/codegen.js +23 -5
  32. package/dist/internal/codegen.js.map +1 -1
  33. package/dist/internal/copy-split.d.ts +27 -0
  34. package/dist/internal/copy-split.d.ts.map +1 -0
  35. package/dist/internal/copy-split.js +173 -0
  36. package/dist/internal/copy-split.js.map +1 -0
  37. package/dist/internal/deferred-free.d.ts +3 -0
  38. package/dist/internal/deferred-free.d.ts.map +1 -0
  39. package/dist/internal/deferred-free.js +15 -0
  40. package/dist/internal/deferred-free.js.map +1 -0
  41. package/dist/internal/module-preparation.d.ts +7 -0
  42. package/dist/internal/module-preparation.d.ts.map +1 -0
  43. package/dist/internal/module-preparation.js +24 -0
  44. package/dist/internal/module-preparation.js.map +1 -0
  45. package/dist/internal/output-guard.d.ts +2 -0
  46. package/dist/internal/output-guard.d.ts.map +1 -1
  47. package/dist/internal/output-guard.js +51 -9
  48. package/dist/internal/output-guard.js.map +1 -1
  49. package/dist/internal/page-execution.d.ts +20 -1
  50. package/dist/internal/page-execution.d.ts.map +1 -1
  51. package/dist/internal/page-execution.js +115 -50
  52. package/dist/internal/page-execution.js.map +1 -1
  53. package/dist/internal/parity.d.ts.map +1 -1
  54. package/dist/internal/parity.js +3 -1
  55. package/dist/internal/parity.js.map +1 -1
  56. package/dist/internal/prerendered-pages.d.ts +42 -0
  57. package/dist/internal/prerendered-pages.d.ts.map +1 -0
  58. package/dist/internal/prerendered-pages.js +92 -0
  59. package/dist/internal/prerendered-pages.js.map +1 -0
  60. package/dist/internal/public-url.d.ts +7 -0
  61. package/dist/internal/public-url.d.ts.map +1 -1
  62. package/dist/internal/public-url.js +13 -0
  63. package/dist/internal/public-url.js.map +1 -1
  64. package/dist/internal/render-document.d.ts +11 -2
  65. package/dist/internal/render-document.d.ts.map +1 -1
  66. package/dist/internal/render-document.js +131 -41
  67. package/dist/internal/render-document.js.map +1 -1
  68. package/dist/internal/request-url.d.ts +4 -0
  69. package/dist/internal/request-url.d.ts.map +1 -1
  70. package/dist/internal/request-url.js +24 -0
  71. package/dist/internal/request-url.js.map +1 -1
  72. package/dist/internal/secret-scan.d.ts +4 -0
  73. package/dist/internal/secret-scan.d.ts.map +1 -1
  74. package/dist/internal/secret-scan.js +8 -1
  75. package/dist/internal/secret-scan.js.map +1 -1
  76. package/dist/internal/typescript-api.d.ts +4 -0
  77. package/dist/internal/typescript-api.d.ts.map +1 -0
  78. package/dist/internal/typescript-api.js +8 -0
  79. package/dist/internal/typescript-api.js.map +1 -0
  80. package/dist/internal/vite-plugin-compat.d.ts +28 -0
  81. package/dist/internal/vite-plugin-compat.d.ts.map +1 -0
  82. package/dist/internal/vite-plugin-compat.js +82 -0
  83. package/dist/internal/vite-plugin-compat.js.map +1 -0
  84. package/dist/internal/web-app.d.ts +45 -0
  85. package/dist/internal/web-app.d.ts.map +1 -1
  86. package/dist/internal/web-app.js +32 -1
  87. package/dist/internal/web-app.js.map +1 -1
  88. package/dist/isr.d.ts +1 -0
  89. package/dist/isr.d.ts.map +1 -1
  90. package/dist/isr.js +7 -4
  91. package/dist/isr.js.map +1 -1
  92. package/dist/plugins/import-glob.d.ts +20 -0
  93. package/dist/plugins/import-glob.d.ts.map +1 -0
  94. package/dist/plugins/import-glob.js +401 -0
  95. package/dist/plugins/import-glob.js.map +1 -0
  96. package/dist/plugins/kit.d.ts +11 -0
  97. package/dist/plugins/kit.d.ts.map +1 -1
  98. package/dist/plugins/kit.js +32 -0
  99. package/dist/plugins/kit.js.map +1 -1
  100. package/dist/plugins/stylex.d.ts.map +1 -1
  101. package/dist/plugins/stylex.js +2 -2
  102. package/dist/plugins/stylex.js.map +1 -1
  103. package/dist/prerender.d.ts +4 -0
  104. package/dist/prerender.d.ts.map +1 -1
  105. package/dist/prerender.js +9 -1
  106. package/dist/prerender.js.map +1 -1
  107. package/dist/public-dir.d.ts +15 -0
  108. package/dist/public-dir.d.ts.map +1 -1
  109. package/dist/public-dir.js +91 -12
  110. package/dist/public-dir.js.map +1 -1
  111. package/dist/render-seam.d.ts +42 -2
  112. package/dist/render-seam.d.ts.map +1 -1
  113. package/dist/render-seam.js +33 -0
  114. package/dist/render-seam.js.map +1 -1
  115. package/dist/router.d.ts +3 -2
  116. package/dist/router.d.ts.map +1 -1
  117. package/dist/router.js +4 -4
  118. package/dist/router.js.map +1 -1
  119. package/dist/search.d.ts.map +1 -1
  120. package/dist/search.js +2 -0
  121. package/dist/search.js.map +1 -1
  122. package/dist/server-components/typescript.d.ts.map +1 -1
  123. package/dist/server-components/typescript.js +2 -7
  124. package/dist/server-components/typescript.js.map +1 -1
  125. package/dist/vite.d.ts +7 -28
  126. package/dist/vite.d.ts.map +1 -1
  127. package/dist/vite.js +130 -123
  128. package/dist/vite.js.map +1 -1
  129. package/package.json +5 -4
  130. package/src/build-plan.ts +21 -0
  131. package/src/build-vite.ts +60 -3
  132. package/src/build.ts +283 -39
  133. package/src/client.ts +15 -7
  134. package/src/csp.ts +4 -0
  135. package/src/deferred.ts +20 -3
  136. package/src/index.ts +9 -0
  137. package/src/internal/codegen.ts +32 -3
  138. package/src/internal/copy-split.ts +220 -0
  139. package/src/internal/deferred-free.ts +15 -0
  140. package/src/internal/module-preparation.ts +30 -0
  141. package/src/internal/output-guard.ts +51 -9
  142. package/src/internal/page-execution.ts +137 -53
  143. package/src/internal/parity.ts +2 -1
  144. package/src/internal/prerendered-pages.ts +124 -0
  145. package/src/internal/public-url.ts +13 -0
  146. package/src/internal/render-document.ts +179 -58
  147. package/src/internal/request-url.ts +24 -0
  148. package/src/internal/secret-scan.ts +9 -1
  149. package/src/internal/typescript-api.ts +11 -0
  150. package/src/internal/vite-plugin-compat.ts +81 -0
  151. package/src/internal/web-app.ts +82 -2
  152. package/src/isr.ts +7 -4
  153. package/src/plugins/import-glob.ts +392 -0
  154. package/src/plugins/kit.ts +36 -0
  155. package/src/plugins/stylex.ts +2 -1
  156. package/src/prerender.ts +13 -1
  157. package/src/public-dir.ts +107 -12
  158. package/src/render-seam.ts +65 -2
  159. package/src/router.ts +7 -6
  160. package/src/search.ts +1 -0
  161. package/src/server-components/typescript.ts +2 -10
  162. package/src/vite.ts +133 -135
package/dist/vite.js CHANGED
@@ -10,7 +10,7 @@
10
10
  * injects its HMR client + the framework's refresh preamble. Node `http` (not `Bun.serve`) because
11
11
  * Vite's `middlewares` are Connect-style - it runs fine under Bun.
12
12
  */
13
- import { readdirSync, writeFileSync } from "node:fs";
13
+ import { existsSync, readdirSync, realpathSync, writeFileSync } from "node:fs";
14
14
  import { createServer as createHttpServer, } from "node:http";
15
15
  import { dirname, isAbsolute, join, relative, resolve as resolvePath, sep } from "node:path";
16
16
  import { singleCopyPackageNames } from "@nifrajs/core/single-copy";
@@ -23,13 +23,16 @@ import { DEFAULT_DEV_PORT, generateClientEntry, setSsrModuleLoader } from "./ind
23
23
  import { admitViteTags } from "./internal/dev-csp.js";
24
24
  import { viteDedupePackages } from "./internal/identity-policy.js";
25
25
  import { assertIdentityParity, collectIdentityParity, formatIdentityParityFindings, identityParityHeadline, } from "./internal/parity.js";
26
+ import { isHiddenPublicPath } from "./internal/public-url.js";
26
27
  import { vitePublicEnvPrefix } from "./internal/server-boundary.js";
27
28
  import { importVite } from "./internal/vite-import.js";
29
+ import { normalizeRolldownPlugins } from "./internal/vite-plugin-compat.js";
28
30
  import { scopedName } from "./plugins/css-modules.js";
29
31
  import { DEV_ROOT_ENV, DEV_ROUTES_ENV, normalizeFilePath, portablePath, reproduciblePath, } from "./plugins/kit.js";
30
32
  import { viteServerFnStub } from "./plugins/vite-server-fn.js";
31
33
  import { viteZoneGuard } from "./plugins/vite-zone-guard.js";
32
34
  export { LAST_ERROR_PATH } from "./diagnostic.js";
35
+ export { normalizeRolldownPlugins } from "./internal/vite-plugin-compat.js";
33
36
  // The codegen'd client entry is written here (at the Vite root) so Vite serves + HMRs it.
34
37
  const DEV_ENTRY = ".nifra-vite-entry.tsx";
35
38
  const VITE_CLOSE_BOUND_MS = 2000;
@@ -134,95 +137,62 @@ export function applyResponseHeaders(headers, res) {
134
137
  * `arrayBuffer()`) waits for the stream to END - which an open-ended SSE (`text/event-stream`) body never
135
138
  * does, so it hung `nifra dev` (the Bun production server streamed it fine). This flushes each chunk as it
136
139
  * arrives and cancels the reader if the client disconnects; a finite body just streams its chunk(s) + ends.
140
+ * A write the socket can't take yet is waited out (`drain`) before the next read, so a slow client
141
+ * holds one chunk rather than the whole body.
137
142
  */
138
143
  export async function pipeWebBodyToNode(body, res) {
139
144
  if (!body) {
140
145
  res.end();
141
146
  return;
142
147
  }
148
+ // A call, so the check after an await is not narrowed by the one before it.
149
+ const destroyed = () => res.destroyed === true;
150
+ // The client left while the app ran: `close` fired before anyone listened, and no `drain` comes.
151
+ if (destroyed()) {
152
+ await body.cancel().catch(() => { });
153
+ return;
154
+ }
143
155
  const reader = body.getReader();
144
156
  res.flushHeaders?.();
145
- res.on("close", () => void reader.cancel().catch(() => { }));
157
+ let closed = false;
158
+ let wake;
159
+ const onClose = () => {
160
+ closed = true;
161
+ void reader.cancel().catch(() => { });
162
+ wake?.();
163
+ };
164
+ res.on("close", onClose);
146
165
  try {
147
166
  for (;;) {
148
167
  const { done, value } = await reader.read();
149
168
  if (done)
150
169
  break;
151
- res.write(value);
170
+ if (!res.write(value) && !closed && res.once !== undefined) {
171
+ if (destroyed()) {
172
+ onClose();
173
+ break;
174
+ }
175
+ let drain;
176
+ const drained = new Promise((resolve) => {
177
+ drain = resolve;
178
+ });
179
+ wake = drain;
180
+ res.once("drain", drain);
181
+ await drained;
182
+ res.off?.("drain", drain);
183
+ wake = undefined;
184
+ }
152
185
  }
153
186
  }
154
187
  catch {
155
188
  // client disconnected mid-stream - the `close` handler already cancelled the reader
156
189
  }
190
+ finally {
191
+ res.off?.("close", onClose);
192
+ reader.releaseLock();
193
+ }
157
194
  res.end();
158
195
  }
159
- /**
160
- * Strip `optimizeDeps.rollupOptions.jsx` from a plugin's `config` hook output when running under
161
- * rolldown-vite - the source of the scary, harmless `Warning: Invalid input options … "jsx" Invalid
162
- * key: Expected never but received "jsx"` on `nifra dev`.
163
- *
164
- * Why it happens: `@vitejs/plugin-react@4.x` (and peers) target an *older* rolldown-vite optimizeDeps
165
- * API - they inject `optimizeDeps.rollupOptions.jsx` to tell the dep pre-bundler to transform JSX. Vite
166
- * 8's rolldown dep-optimizer renamed that surface to `optimizeDeps.rolldownOptions` (and moved jsx under
167
- * `transform.jsx`), so the stale `rollupOptions.jsx` is an unrecognized input option → the warning. It's
168
- * a version-skew artifact, not a real misconfig: the route source JSX transform runs through the
169
- * plugin's own `transform` hook (untouched here), and node_modules deps that get pre-bundled almost
170
- * never contain raw JSX - so dropping the dead key changes no behavior and keeps HMR/Fast Refresh
171
- * intact. We *strip* (rather than translate to `rolldownOptions`) so the fix is version-agnostic: a
172
- * plugin already emitting the correct `rolldownOptions` is left untouched, and a future plugin bump that
173
- * stops emitting `rollupOptions.jsx` makes this a no-op.
174
- *
175
- * Scoped narrowly: only the `optimizeDeps.rollupOptions.jsx` key is removed, only under rolldown-vite,
176
- * and only from the value a plugin's `config` hook returns. Non-rolldown Vite is passed through verbatim.
177
- *
178
- * FLATTEN FIRST: a Vite plugin factory may return an ARRAY of plugins - `@vitejs/plugin-react`'s `react()`
179
- * returns `[vite:react-babel, vite:react-refresh]`, and it's `react:react-babel`'s `config` hook that emits
180
- * the offending `optimizeDeps.rollupOptions.jsx`. `nifra.config.ts` writes `vitePlugins = [react()]`, so the
181
- * plugin list arrives NESTED (`[[babel, refresh]]`). Without flattening, `.map` sees the inner array (which
182
- * has no `config`), leaves it untouched, and Vite - which flattens plugin arrays itself before running them
183
- * - then executes the un-stripped babel hook, so the warning survives. Flattening here (Vite accepts a flat
184
- * list identically) is what lets the strip reach every real plugin.
185
- */
186
- export function normalizeRolldownPlugins(plugins, isRolldown) {
187
- if (!isRolldown)
188
- return plugins;
189
- const stripJsxKey = (returned) => {
190
- // Only touch a plain-object config carrying optimizeDeps.rollupOptions.jsx; leave anything else as-is.
191
- if (returned === null || typeof returned !== "object")
192
- return returned;
193
- const cfg = returned;
194
- const rollupOptions = cfg.optimizeDeps?.rollupOptions;
195
- if (rollupOptions === undefined || !("jsx" in rollupOptions))
196
- return returned;
197
- // Clone the affected branch (never mutate the plugin's own return value) and drop the dead key.
198
- const { jsx: _dropped, ...restRollup } = rollupOptions;
199
- return {
200
- ...cfg,
201
- optimizeDeps: { ...cfg.optimizeDeps, rollupOptions: restRollup },
202
- };
203
- };
204
- return plugins.flat(Number.POSITIVE_INFINITY).map((plugin) => {
205
- if (plugin === null || typeof plugin !== "object")
206
- return plugin;
207
- const p = plugin;
208
- // `config` may be a plain function or the object form `{ handler, order }`. Wrap the handler either way.
209
- const hook = p.config;
210
- const handler = typeof hook === "function" ? hook : hook?.handler;
211
- if (typeof handler !== "function")
212
- return plugin;
213
- const wrappedHandler = (config, env) => {
214
- const returned = handler(config, env);
215
- // The hook may return a promise - normalize both shapes.
216
- return returned instanceof Promise ? returned.then(stripJsxKey) : stripJsxKey(returned);
217
- };
218
- // Preserve the ORIGINAL shape: a function stays a function; the object form keeps its `order`
219
- // (collapsing `{ handler, order }` to a bare function would silently drop the hook ordering).
220
- return {
221
- ...p,
222
- config: typeof hook === "function" ? wrappedHandler : { ...hook, handler: wrappedHandler },
223
- };
224
- });
225
- }
226
196
  /**
227
197
  * The npm package a bare module specifier belongs to (`@nifrajs/web-react/client` →
228
198
  * `@nifrajs/web-react`, `some-adapter/client` → `some-adapter`), or `undefined` for a path-shaped
@@ -324,7 +294,42 @@ export async function createViteDevServer(options) {
324
294
  }
325
295
  handleWithVite(req, res);
326
296
  });
297
+ // Vite's public middleware serves every file under the public directory, dotfiles included. A
298
+ // build ships no hidden file and the Bun pipeline's `servePublicDir` refuses one, so a request for
299
+ // `/.env` or `/.git/config` goes to the app here too, as it does in production.
300
+ function isHiddenPublicFile(url) {
301
+ const configured = vite.config?.publicDir;
302
+ if (configured === undefined || configured === "")
303
+ return false;
304
+ // Vite writes the path with `/`; resolved, it uses the platform's separator like `file`.
305
+ const publicDir = resolvePath(configured);
306
+ let rel;
307
+ try {
308
+ rel = decodeURIComponent(new URL(url, "http://localhost").pathname).slice(1);
309
+ }
310
+ catch {
311
+ return false;
312
+ }
313
+ const file = resolvePath(publicDir, rel);
314
+ if (!file.startsWith(publicDir + sep) || !existsSync(file))
315
+ return false;
316
+ if (isHiddenPublicPath(rel))
317
+ return true;
318
+ // A visible name linking to a hidden file is refused too, as `servePublicDir` refuses it.
319
+ try {
320
+ const real = realpathSync(file);
321
+ const realRoot = realpathSync(publicDir);
322
+ return real.startsWith(realRoot + sep) && isHiddenPublicPath(real.slice(realRoot.length + 1));
323
+ }
324
+ catch {
325
+ return false;
326
+ }
327
+ }
327
328
  function handleWithVite(req, res) {
329
+ if (isHiddenPublicFile(req.url ?? "/")) {
330
+ handleWithApp(req, res);
331
+ return;
332
+ }
328
333
  vite.middlewares(req, res, (error) => {
329
334
  // In middleware mode Vite reports a module's transform error to the overlay and passes the
330
335
  // request on. A request naming a source file was for a module, never a page: it gets the error,
@@ -344,62 +349,65 @@ export async function createViteDevServer(options) {
344
349
  return;
345
350
  }
346
351
  // Not a Vite asset → nifra SSR. (`next` runs after Vite declines, so the body is still readable.)
347
- void (async () => {
348
- try {
349
- const body = await readNodeBody(req);
350
- const webRequest = toWebRequest(req, body);
351
- let overlay = false;
352
- const nifraRes = await session.track(webRequest, async () => {
353
- try {
354
- return await app.fetch(webRequest);
355
- }
356
- catch (err) {
357
- // Source-map the stack first (Vite maps the bundled frames back to your `.ts`), then render
358
- // the readable dev overlay instead of a bare text dump. Dev-only - production maps to `_error`.
359
- if (err instanceof Error)
360
- vite.ssrFixStacktrace(err);
361
- overlay = true;
362
- return new Response(session.failure(err, { method: req.method ?? "GET", url: req.url ?? "/" }), { status: 500, headers: { "content-type": "text/html; charset=utf-8" } });
363
- }
364
- });
365
- const contentType = nifraRes.headers.get("content-type") ?? "";
366
- res.statusCode = nifraRes.status;
367
- const requestId = nifraRes.headers.get(DEV_REQUEST_ID_HEADER);
368
- if (requestId !== null)
369
- res.setHeader(DEV_REQUEST_ID_HEADER, requestId);
370
- if (overlay || session.isOverlay(nifraRes)) {
371
- res.setHeader("content-type", "text/html; charset=utf-8");
372
- res.end(await nifraRes.text());
373
- return;
352
+ handleWithApp(req, res);
353
+ });
354
+ }
355
+ function handleWithApp(req, res) {
356
+ void (async () => {
357
+ try {
358
+ const body = await readNodeBody(req);
359
+ const webRequest = toWebRequest(req, body);
360
+ let overlay = false;
361
+ const nifraRes = await session.track(webRequest, async () => {
362
+ try {
363
+ return await app.fetch(webRequest);
374
364
  }
375
- if (!contentType.includes("text/html")) {
376
- // Data / redirect / asset response - pass through untouched, streamed (SSE-safe). Set-Cookie is
377
- // emitted per-header so multi-cookie responses (e.g. better-auth sessions) aren't collapsed.
378
- applyResponseHeaders(nifraRes.headers, res);
379
- await pipeWebBodyToNode(nifraRes.body, res);
380
- return;
365
+ catch (err) {
366
+ // Source-map the stack first (Vite maps the bundled frames back to your `.ts`), then render
367
+ // the readable dev overlay instead of a bare text dump. Dev-only - production maps to `_error`.
368
+ if (err instanceof Error)
369
+ vite.ssrFixStacktrace(err);
370
+ overlay = true;
371
+ return new Response(session.failure(err, { method: req.method ?? "GET", url: req.url ?? "/" }), { status: 500, headers: { "content-type": "text/html; charset=utf-8" } });
381
372
  }
382
- // Inject Vite's HMR client + the framework's refresh preamble into the SSR'd HTML, keeping the
383
- // app's headers (cookies, CSP, cache-control) as the Bun pipeline does.
384
- const headers = new Headers(nifraRes.headers);
385
- headers.delete("content-length"); // the body grows with Vite's tags
386
- const page = session.decorateHtml(webRequest, await nifraRes.text(), headers, requestId);
387
- const html = admitViteTags(await vite.transformIndexHtml(req.url ?? "/", page), headers);
388
- applyResponseHeaders(headers, res);
373
+ });
374
+ const contentType = nifraRes.headers.get("content-type") ?? "";
375
+ res.statusCode = nifraRes.status;
376
+ const requestId = nifraRes.headers.get(DEV_REQUEST_ID_HEADER);
377
+ if (requestId !== null)
378
+ res.setHeader(DEV_REQUEST_ID_HEADER, requestId);
379
+ if (overlay || session.isOverlay(nifraRes)) {
389
380
  res.setHeader("content-type", "text/html; charset=utf-8");
390
- res.end(html);
381
+ res.end(await nifraRes.text());
382
+ return;
391
383
  }
392
- catch (err) {
393
- // A failure past the app (reading the body, Vite's HTML transform): same overlay, same feed.
394
- if (err instanceof Error)
395
- vite.ssrFixStacktrace(err);
396
- const html = session.failure(err, { method: req.method ?? "GET", url: req.url ?? "/" });
397
- res.statusCode = 500;
398
- res.setHeader("content-type", "text/html; charset=utf-8");
399
- res.end(html);
384
+ if (!contentType.includes("text/html")) {
385
+ // Data / redirect / asset response - pass through untouched, streamed (SSE-safe). Set-Cookie is
386
+ // emitted per-header so multi-cookie responses (e.g. better-auth sessions) aren't collapsed.
387
+ applyResponseHeaders(nifraRes.headers, res);
388
+ await pipeWebBodyToNode(nifraRes.body, res);
389
+ return;
400
390
  }
401
- })();
402
- });
391
+ // Inject Vite's HMR client + the framework's refresh preamble into the SSR'd HTML, keeping the
392
+ // app's headers (cookies, CSP, cache-control) as the Bun pipeline does.
393
+ const headers = new Headers(nifraRes.headers);
394
+ headers.delete("content-length"); // the body grows with Vite's tags
395
+ const page = session.decorateHtml(webRequest, await nifraRes.text(), headers, requestId);
396
+ const html = admitViteTags(await vite.transformIndexHtml(req.url ?? "/", page), headers);
397
+ applyResponseHeaders(headers, res);
398
+ res.setHeader("content-type", "text/html; charset=utf-8");
399
+ res.end(html);
400
+ }
401
+ catch (err) {
402
+ // A failure past the app (reading the body, Vite's HTML transform): same overlay, same feed.
403
+ if (err instanceof Error)
404
+ vite.ssrFixStacktrace(err);
405
+ const html = session.failure(err, { method: req.method ?? "GET", url: req.url ?? "/" });
406
+ res.statusCode = 500;
407
+ res.setHeader("content-type", "text/html; charset=utf-8");
408
+ res.end(html);
409
+ }
410
+ })();
403
411
  }
404
412
  // `conditions: ["bun"]` makes Vite resolve nifra's workspace packages (`@nifrajs/web-react/client`, …) to
405
413
  // their TS **source** - so the dev server needs no prior `dist` build of the adapter packages.
@@ -445,8 +453,7 @@ export async function createViteDevServer(options) {
445
453
  // server importing vite unguarded is precisely what poisoned the module for the whole process.
446
454
  const viteModule = await importVite();
447
455
  const { createServer } = viteModule;
448
- // Under rolldown-vite (Vite 8+), strip the stale `optimizeDeps.rollupOptions.jsx` some framework
449
- // plugins still emit - it triggers a noisy "Invalid key … jsx" warning but does nothing useful here.
456
+ // Under rolldown-vite (Vite 8+), framework plugins' stale `optimizeDeps.rollupOptions` warns on every start.
450
457
  const plugins = normalizeRolldownPlugins(options.plugins ?? [], viteModule.rolldownVersion !== undefined);
451
458
  vite = await createServer({
452
459
  root,
package/dist/vite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nifrajs/web",
3
- "version": "5.1.0",
3
+ "version": "5.3.0",
4
4
  "description": "Framework-agnostic SSR core for nifra - the render seam + HTML document orchestration.",
5
5
  "keywords": [
6
6
  "bun",
@@ -308,7 +308,8 @@
308
308
  "dist",
309
309
  "src",
310
310
  "css-modules.d.ts",
311
- "server-manifest.d.ts"
311
+ "server-manifest.d.ts",
312
+ "CHANGELOG.md"
312
313
  ],
313
314
  "sideEffects": false,
314
315
  "scripts": {
@@ -319,8 +320,8 @@
319
320
  "access": "public"
320
321
  },
321
322
  "dependencies": {
322
- "@nifrajs/core": "5.1.0",
323
- "@nifrajs/island-trigger": "5.1.0",
323
+ "@nifrajs/core": "5.3.0",
324
+ "@nifrajs/island-trigger": "5.3.0",
324
325
  "parse5": "8.0.1"
325
326
  },
326
327
  "peerDependencies": {
package/src/build-plan.ts CHANGED
@@ -34,6 +34,9 @@ export interface BuildManifest {
34
34
  * route's basename (ambiguous CSS↔route) or the build emitted orphan shared-chunk CSS - correctness
35
35
  * over minimality. Absent entirely when the app imports no CSS. */
36
36
  readonly routeStyles?: Readonly<Record<string, readonly string[]>>
37
+ /** Locale key -> URL of the chunk holding that locale's copy (`@nifrajs/i18n/copy`), when the build
38
+ * moved copy tables out of the bundle. The server entry passes it to `createWebApp`. */
39
+ readonly copyChunks?: Readonly<Record<string, string>>
37
40
  }
38
41
 
39
42
  /** The built worker bundle - point your `wrangler.toml`'s `main` at `worker`. */
@@ -196,6 +199,8 @@ export interface Bundler {
196
199
  readonly styles?: readonly string[]
197
200
  /** The client build's per-route stylesheet map to bake into the server manifest. */
198
201
  readonly routeStyles?: Readonly<Record<string, readonly string[]>>
202
+ /** The client build's copy chunk URLs by locale to bake into the server manifest. */
203
+ readonly copyChunks?: Readonly<Record<string, string>>
199
204
  readonly plugins?: readonly unknown[]
200
205
  readonly define?: Readonly<Record<string, string>>
201
206
  /** CSS activation policy to bake into the generated server manifest. */
@@ -766,6 +771,22 @@ export function parseManifestRouteStyles(source: string): Record<string, string[
766
771
  }
767
772
  }
768
773
 
774
+ /** The baked `copyChunks` map in a committed server-manifest, or `undefined` when it has none. Pure. */
775
+ export function parseManifestCopyChunks(source: string): Record<string, string> | undefined {
776
+ const raw = bakedManifestLiteral(source, "copyChunks")
777
+ if (raw === undefined) return undefined
778
+ try {
779
+ const value: unknown = parseManifestLiteral(raw)
780
+ if (value === null || typeof value !== "object" || Array.isArray(value)) return undefined
781
+ const urls: Record<string, string> = {}
782
+ for (const [locale, url] of Object.entries(value))
783
+ if (typeof url === "string") urls[locale] = url
784
+ return urls
785
+ } catch {
786
+ return undefined
787
+ }
788
+ }
789
+
769
790
  /**
770
791
  * Diff the route files a committed server-manifest imports against the files freshly discovered in
771
792
  * `routes/`. Returns the `missing` (in routes/, not in manifest - stale manifest) and `extra` (in
package/src/build-vite.ts CHANGED
@@ -39,15 +39,18 @@ import {
39
39
  } from "./css-contract.ts"
40
40
  import { discoverRoutes } from "./fs.ts"
41
41
  import { generateClientEntry, generateServerManifest } from "./index.ts"
42
+ import { loadCopySplit } from "./internal/copy-split.ts"
42
43
  import { viteDedupePackages } from "./internal/identity-policy.ts"
43
44
  import {
44
45
  assertDevelopmentProductionParity,
45
46
  assertIdentityParity,
46
47
  collectDevelopmentParityInput,
47
48
  } from "./internal/parity.ts"
49
+ import { emittedScanFiles, formatSecretFindings, scanForSecrets } from "./internal/secret-scan.ts"
48
50
  import { vitePublicEnvPrefix } from "./internal/server-boundary.ts"
49
51
  import { unsupportedBuiltin } from "./internal/target-compat.ts"
50
52
  import { importVite, isViteUnresolved } from "./internal/vite-import.ts"
53
+ import { normalizeRolldownPlugins } from "./internal/vite-plugin-compat.ts"
51
54
  import { scopedName } from "./plugins/css-modules.ts"
52
55
  import { reproduciblePath } from "./plugins/kit.ts"
53
56
  import {
@@ -73,6 +76,7 @@ interface ViteManifestEntry {
73
76
  type ViteBuildManifest = Readonly<Record<string, ViteManifestEntry>>
74
77
 
75
78
  interface ViteModule {
79
+ readonly rolldownVersion?: string
76
80
  build(config: Record<string, unknown>): Promise<unknown>
77
81
  loadEnv(mode: string, envDir: string, prefixes: string): Record<string, string>
78
82
  }
@@ -166,13 +170,21 @@ export async function buildClientVite(options: BuildClientViteOptions): Promise<
166
170
  mkdirSync(outDir, { recursive: true })
167
171
 
168
172
  const routeManifest = discoverRoutes(routesDir)
173
+ const copySplit =
174
+ (options.copySplit ?? options.minify !== false)
175
+ ? await loadCopySplit(root, { skip: [outDir] })
176
+ : undefined
169
177
  // The generated bootstrap, written beside the project so its imports resolve the app's deps (same
170
178
  // reasoning as buildClient). A unique dir avoids clobbering a user file / colliding with parallel builds.
171
179
  const entryDir = mkdtempSync(resolvePath(dirname(routesDir), ".nifra-vite-client-"))
172
180
  const entryFile = `${entryDir}/_nifra-entry.ts`
173
181
  writeFileSync(
174
182
  entryFile,
175
- `globalThis.process ??= { env: {} };\n${generateClientEntry(routeManifest, { clientModule, resolve })}`,
183
+ `globalThis.process ??= { env: {} };\n${generateClientEntry(routeManifest, {
184
+ clientModule,
185
+ resolve,
186
+ copyChunks: copySplit !== undefined,
187
+ })}`,
176
188
  )
177
189
 
178
190
  // Every unique route/layout/_404 file - each an additional entry so Vite emits a named chunk per file
@@ -274,7 +286,28 @@ export async function buildClientVite(options: BuildClientViteOptions): Promise<
274
286
  },
275
287
  // First, so a bare built-in is named before Vite turns it into an anonymous stub.
276
288
  // The asset URL guard last, so it reads each module after any framework plugin made it JavaScript.
277
- plugins: [viteBareBuiltinExternal(), ...(options.vitePlugins ?? []), assetUrlGuard],
289
+ plugins: [
290
+ viteBareBuiltinExternal(),
291
+ ...(copySplit === undefined
292
+ ? []
293
+ : [
294
+ {
295
+ name: "nifra-copy-split",
296
+ // Before a framework plugin compiles the module: the tables are read from its source.
297
+ enforce: "pre" as const,
298
+ transform(code: string, id: string) {
299
+ const out = copySplit.rewrite(id, code)
300
+ // Lines do not move, so the module's map stays the source's.
301
+ return out === undefined ? undefined : { code: out, map: null }
302
+ },
303
+ },
304
+ ]),
305
+ ...normalizeRolldownPlugins(
306
+ options.vitePlugins ?? [],
307
+ vite.rolldownVersion !== undefined,
308
+ ),
309
+ assetUrlGuard,
310
+ ],
278
311
  worker: {
279
312
  plugins: () => {
280
313
  const guard = viteLeakGuard(guardOptions)
@@ -416,6 +449,23 @@ export async function buildClientVite(options: BuildClientViteOptions): Promise<
416
449
  for (const asset of entry.assets ?? []) assets.add(url(asset))
417
450
  }
418
451
 
452
+ // The leak guard scanned the bundle; the copy it no longer holds is scanned here.
453
+ const copy = copySplit?.chunks(publicPath)
454
+ if (copy !== undefined && copy.files.length > 0) {
455
+ const secrets = formatSecretFindings(
456
+ scanForSecrets({
457
+ artifacts: copy.files.flatMap((file) => emittedScanFiles(file.name, file.text)),
458
+ env: guardOptions.secrets.env,
459
+ publicEnvPrefix: options.publicEnvPrefix ?? "PUBLIC_",
460
+ exemptions: exemptions ?? [],
461
+ }),
462
+ )
463
+ if (secrets !== undefined) throw new Error(secrets)
464
+ for (const file of copy.files) writeFileSync(join(outDir, file.name), file.text)
465
+ }
466
+ const copyChunks = copy?.urls ?? {}
467
+ for (const chunk of Object.values(copyChunks)) assets.add(chunk)
468
+
419
469
  const publicFiles =
420
470
  publicDir !== undefined && existsSync(publicDir) ? await copyPublicDir(publicDir, outDir) : []
421
471
 
@@ -428,6 +478,7 @@ export async function buildClientVite(options: BuildClientViteOptions): Promise<
428
478
  ...(publicFiles.length > 0 ? { publicFiles } : {}),
429
479
  ...(css.length > 0 ? { css } : {}),
430
480
  ...(Object.keys(routeStyles).length > 0 ? { routeStyles } : {}),
481
+ ...(Object.keys(copyChunks).length > 0 ? { copyChunks } : {}),
431
482
  }
432
483
  assertDevelopmentProductionParity(collectDevelopmentParityInput(routesDir, publicDir), manifest)
433
484
  writeFileSync(`${outDir}/manifest.json`, JSON.stringify(manifest, null, 2))
@@ -442,6 +493,7 @@ export interface BuildServerViteOptions {
442
493
  readonly clientEntry: string
443
494
  readonly styles?: readonly string[] | undefined
444
495
  readonly routeStyles?: Readonly<Record<string, readonly string[]>> | undefined
496
+ readonly copyChunks?: Readonly<Record<string, string>> | undefined
445
497
  /** How framework-owned stylesheet links should activate before hydration (default `"blocking"`). */
446
498
  readonly cssLoading?: CssLoadingMode
447
499
  readonly resolve?: (file: string) => string
@@ -563,6 +615,7 @@ export async function buildServerVite(options: BuildServerViteOptions): Promise<
563
615
  styles,
564
616
  routeStyles,
565
617
  ...(cssLoading !== undefined ? { cssLoading } : {}),
618
+ ...(options.copyChunks !== undefined ? { copyChunks: options.copyChunks } : {}),
566
619
  }),
567
620
  )
568
621
 
@@ -599,7 +652,10 @@ export async function buildServerVite(options: BuildServerViteOptions): Promise<
599
652
  dedupe: ["react", "react-dom", ...singleCopyPackageNames(root)],
600
653
  conditions: [...conditions],
601
654
  },
602
- plugins: [...(options.vitePlugins ?? [])],
655
+ plugins: normalizeRolldownPlugins(
656
+ options.vitePlugins ?? [],
657
+ vite.rolldownVersion !== undefined,
658
+ ),
603
659
  build: {
604
660
  outDir,
605
661
  emptyOutDir: false,
@@ -675,6 +731,7 @@ export const viteBundler: Bundler = {
675
731
  target: input.target,
676
732
  ...(input.styles !== undefined ? { styles: input.styles } : {}),
677
733
  ...(input.routeStyles !== undefined ? { routeStyles: input.routeStyles } : {}),
734
+ ...(input.copyChunks !== undefined ? { copyChunks: input.copyChunks } : {}),
678
735
  ...(input.plugins ? { vitePlugins: input.plugins } : {}),
679
736
  ...(input.define ? { define: input.define } : {}),
680
737
  ...(input.cssLoading !== undefined ? { cssLoading: input.cssLoading } : {}),