@nifrajs/web 5.1.0 → 5.2.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 (95) hide show
  1. package/CHANGELOG.md +2970 -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 +12 -1
  11. package/dist/build.d.ts.map +1 -1
  12. package/dist/build.js +43 -6
  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/index.d.ts +2 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/internal/codegen.d.ts +6 -0
  23. package/dist/internal/codegen.d.ts.map +1 -1
  24. package/dist/internal/codegen.js +23 -5
  25. package/dist/internal/codegen.js.map +1 -1
  26. package/dist/internal/copy-split.d.ts +27 -0
  27. package/dist/internal/copy-split.d.ts.map +1 -0
  28. package/dist/internal/copy-split.js +173 -0
  29. package/dist/internal/copy-split.js.map +1 -0
  30. package/dist/internal/page-execution.d.ts +19 -1
  31. package/dist/internal/page-execution.d.ts.map +1 -1
  32. package/dist/internal/page-execution.js +63 -8
  33. package/dist/internal/page-execution.js.map +1 -1
  34. package/dist/internal/render-document.d.ts +11 -2
  35. package/dist/internal/render-document.d.ts.map +1 -1
  36. package/dist/internal/render-document.js +38 -6
  37. package/dist/internal/render-document.js.map +1 -1
  38. package/dist/internal/typescript-api.d.ts +4 -0
  39. package/dist/internal/typescript-api.d.ts.map +1 -0
  40. package/dist/internal/typescript-api.js +8 -0
  41. package/dist/internal/typescript-api.js.map +1 -0
  42. package/dist/internal/vite-plugin-compat.d.ts +28 -0
  43. package/dist/internal/vite-plugin-compat.d.ts.map +1 -0
  44. package/dist/internal/vite-plugin-compat.js +82 -0
  45. package/dist/internal/vite-plugin-compat.js.map +1 -0
  46. package/dist/internal/web-app.d.ts +34 -0
  47. package/dist/internal/web-app.d.ts.map +1 -1
  48. package/dist/internal/web-app.js +22 -0
  49. package/dist/internal/web-app.js.map +1 -1
  50. package/dist/plugins/import-glob.d.ts +20 -0
  51. package/dist/plugins/import-glob.d.ts.map +1 -0
  52. package/dist/plugins/import-glob.js +401 -0
  53. package/dist/plugins/import-glob.js.map +1 -0
  54. package/dist/plugins/kit.d.ts +11 -0
  55. package/dist/plugins/kit.d.ts.map +1 -1
  56. package/dist/plugins/kit.js +32 -0
  57. package/dist/plugins/kit.js.map +1 -1
  58. package/dist/plugins/stylex.d.ts.map +1 -1
  59. package/dist/plugins/stylex.js +2 -2
  60. package/dist/plugins/stylex.js.map +1 -1
  61. package/dist/render-seam.d.ts +37 -0
  62. package/dist/render-seam.d.ts.map +1 -1
  63. package/dist/render-seam.js +33 -0
  64. package/dist/render-seam.js.map +1 -1
  65. package/dist/router.d.ts +3 -2
  66. package/dist/router.d.ts.map +1 -1
  67. package/dist/router.js +4 -4
  68. package/dist/router.js.map +1 -1
  69. package/dist/server-components/typescript.d.ts.map +1 -1
  70. package/dist/server-components/typescript.js +2 -7
  71. package/dist/server-components/typescript.js.map +1 -1
  72. package/dist/vite.d.ts +1 -28
  73. package/dist/vite.d.ts.map +1 -1
  74. package/dist/vite.js +3 -69
  75. package/dist/vite.js.map +1 -1
  76. package/package.json +5 -4
  77. package/src/build-plan.ts +21 -0
  78. package/src/build-vite.ts +60 -3
  79. package/src/build.ts +57 -4
  80. package/src/client.ts +15 -7
  81. package/src/index.ts +6 -0
  82. package/src/internal/codegen.ts +32 -3
  83. package/src/internal/copy-split.ts +220 -0
  84. package/src/internal/page-execution.ts +83 -7
  85. package/src/internal/render-document.ts +63 -6
  86. package/src/internal/typescript-api.ts +11 -0
  87. package/src/internal/vite-plugin-compat.ts +81 -0
  88. package/src/internal/web-app.ts +61 -1
  89. package/src/plugins/import-glob.ts +392 -0
  90. package/src/plugins/kit.ts +36 -0
  91. package/src/plugins/stylex.ts +2 -1
  92. package/src/render-seam.ts +60 -0
  93. package/src/router.ts +7 -6
  94. package/src/server-components/typescript.ts +2 -10
  95. package/src/vite.ts +3 -81
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.2.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.2.0",
324
+ "@nifrajs/island-trigger": "5.2.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 } : {}),
package/src/build.ts CHANGED
@@ -39,6 +39,7 @@ import {
39
39
  formatServerOnlyLeak,
40
40
  parseBuildTarget,
41
41
  parseManifestClientEntry,
42
+ parseManifestCopyChunks,
42
43
  parseManifestCssLoading,
43
44
  parseManifestRouteStyles,
44
45
  parseManifestStyles,
@@ -50,6 +51,7 @@ import { sanitizeOutputNames } from "./chunk-names.ts"
50
51
  import { type CssLoadingMode, normalizeCssCodeSplit, normalizeCssLoading } from "./css-contract.ts"
51
52
  import { discoverRoutes } from "./fs.ts"
52
53
  import { generateClientEntry, generateServerManifest } from "./index.ts"
54
+ import { loadCopySplit } from "./internal/copy-split.ts"
53
55
  import { assertDisposableDir } from "./internal/disposable-dir.ts"
54
56
  import { entryChunks } from "./internal/entry-chunks.ts"
55
57
  import { dedupePolicyFor } from "./internal/identity-policy.ts"
@@ -89,6 +91,7 @@ import {
89
91
  verifyServerGraph,
90
92
  } from "./internal/zone-graph.ts"
91
93
  import { type ClientModuleGraph, fromBunMetafile } from "./module-graph.ts"
94
+ import { assertNoImportGlob, importGlobPlugin } from "./plugins/import-glob.ts"
92
95
  import { zoneGuardPlugin } from "./plugins/zone-guard.ts"
93
96
  // `buildTarget(static)` drives the SSG prerender engine directly (it's also re-exported below).
94
97
  import { prerenderRoutes } from "./prerender.ts"
@@ -186,6 +189,12 @@ export interface BuildClientOptions {
186
189
  * variable. Each names its rule, its file (or, for an environment value, its variable) and a reason.
187
190
  */
188
191
  readonly secretExemptions?: readonly SecretExemption[]
192
+ /**
193
+ * Move copy tables (`@nifrajs/i18n/copy`) into one chunk per locale, so a page's JavaScript carries
194
+ * only the copy of the locale it renders in (default: on when minifying). The server bundle keeps
195
+ * every table whole; the server entry passes the manifest's `copyChunks` to `createWebApp`.
196
+ */
197
+ readonly copySplit?: boolean
189
198
  }
190
199
 
191
200
  /**
@@ -374,12 +383,14 @@ export function resyncServerManifestSource(
374
383
  routesPrefix: string,
375
384
  ): string {
376
385
  const cssLoading = parseManifestCssLoading(source)
386
+ const copyChunks = parseManifestCopyChunks(source)
377
387
  return generateServerManifest(manifest, {
378
388
  resolve: (file) => `${routesPrefix}${file}`,
379
389
  clientEntry: parseManifestClientEntry(source) ?? "",
380
390
  styles: parseManifestStyles(source),
381
391
  routeStyles: parseManifestRouteStyles(source),
382
392
  ...(cssLoading !== undefined ? { cssLoading } : {}),
393
+ ...(copyChunks !== undefined ? { copyChunks } : {}),
383
394
  lazy: MANIFEST_IS_LAZY.test(source),
384
395
  })
385
396
  }
@@ -426,6 +437,10 @@ export async function buildClient(options: BuildClientOptions): Promise<BuildMan
426
437
  // The bootstrap's filename is `_nifra`-namespaced (not `entry.ts`) so its `[name]` can't collide with
427
438
  // a user route named `entry.tsx` when the CSS mapping below excludes the bootstrap's aggregate CSS.
428
439
  const mode = options.minify === false ? "development" : "production"
440
+ const copySplit =
441
+ (options.copySplit ?? mode === "production")
442
+ ? await loadCopySplit(root, { skip: [outDir] })
443
+ : undefined
429
444
  // PUBLIC_*-prefixed env → client define (Vite/Next convention). Sourced from the build env (`Bun.env`,
430
445
  // falling back to `process.env`). Only prefixed vars are baked in; unprefixed secrets stay undefined
431
446
  // in the client via the bare `process.env` → `({})` define below. Caller's `options.define` wins (it's
@@ -442,7 +457,11 @@ export async function buildClient(options: BuildClientOptions): Promise<BuildMan
442
457
  // an app module doesn't crash hydration (`process.env.*` reads are handled at compile time by `define`).
443
458
  writeFileSync(
444
459
  entryFile,
445
- `globalThis.process ??= { env: {} };\n${generateClientEntry(routeManifest, { clientModule, resolve })}`,
460
+ `globalThis.process ??= { env: {} };\n${generateClientEntry(routeManifest, {
461
+ clientModule,
462
+ resolve,
463
+ copyChunks: copySplit !== undefined,
464
+ })}`,
446
465
  )
447
466
 
448
467
  // Every unique route/layout/`_404` file (sorted, stable), as ADDITIONAL entrypoints - Bun emits a
@@ -496,6 +515,10 @@ export async function buildClient(options: BuildClientOptions): Promise<BuildMan
496
515
  svelteDedupePlugin(routesDir),
497
516
  serverFnStubPlugin(),
498
517
  ...(options.plugins ?? []),
518
+ // Before the copy split: it claims a module that calls the glob and reads it through the split.
519
+ importGlobPlugin({ root }),
520
+ // Last: it rewrites a module no other plugin claims, and the ones that do read through it.
521
+ ...(copySplit === undefined ? [] : [copySplit.plugin]),
499
522
  ],
500
523
  ...(options.conditions ? { conditions: [...options.conditions] } : {}),
501
524
  // Replace `process.env.*` at compile time so an app module reading config off `process.env` doesn't
@@ -550,6 +573,11 @@ export async function buildClient(options: BuildClientOptions): Promise<BuildMan
550
573
  return { name: out.path, kind: "code", text: await out.text() }
551
574
  }),
552
575
  )
576
+ assertNoImportGlob(
577
+ emitted.flatMap((file) =>
578
+ file.kind === "code" ? [[relative(cwd, file.name), file.text ?? ""] as const] : [],
579
+ ),
580
+ )
553
581
  const clientGraph = withEmittedImports(fromBunMetafile(clientMeta), emitted, publicPath)
554
582
  const verdict = verifyClientGraph(clientGraph, {
555
583
  classifier,
@@ -596,6 +624,7 @@ export async function buildClient(options: BuildClientOptions): Promise<BuildMan
596
624
  if (unaccounted !== undefined) throw new Error(unaccounted)
597
625
 
598
626
  const publicDir = options.publicDir === false ? undefined : (options.publicDir ?? "public")
627
+ const copy = copySplit?.chunks(publicPath)
599
628
  const { sources, originsOf } = graphScanInput(clientGraph, bunModuleSource(cwd), classifier)
600
629
  const secrets = formatSecretFindings(
601
630
  scanForSecrets({
@@ -606,6 +635,7 @@ export async function buildClient(options: BuildClientOptions): Promise<BuildMan
606
635
  const name = file.name.replace(/^\.\//, "")
607
636
  return emittedScanFiles(name, file.text, originsOf(name))
608
637
  }),
638
+ ...(copy?.files ?? []).flatMap((file) => emittedScanFiles(file.name, file.text)),
609
639
  ...(publicDir !== undefined && existsSync(publicDir)
610
640
  ? publicScanFiles(publicDir, originName(root, resolvePath(publicDir)))
611
641
  : []),
@@ -624,6 +654,7 @@ export async function buildClient(options: BuildClientOptions): Promise<BuildMan
624
654
  return { kind: out.kind, path }
625
655
  }),
626
656
  )
657
+ for (const file of copy?.files ?? []) writeFileSync(join(outDir, file.name), file.text)
627
658
 
628
659
  // Rename any chunk whose basename isn't URL-safe (dynamic-route files become `[slug]-hash.js`) and
629
660
  // rewrite the references - otherwise the lazy import 404s and the route silently never hydrates.
@@ -750,13 +781,15 @@ export async function buildClient(options: BuildClientOptions): Promise<BuildMan
750
781
  const publicFiles =
751
782
  publicDir !== undefined && existsSync(publicDir) ? await copyPublicDir(publicDir, outDir) : []
752
783
 
784
+ const copyChunks = copy?.urls ?? {}
753
785
  const manifest: BuildManifest = {
754
786
  entry: entryUrl,
755
- assets: outputs.map((o) => toUrl(o.path)),
787
+ assets: [...outputs.map((o) => toUrl(o.path)), ...Object.values(copyChunks)],
756
788
  routes,
757
789
  ...(publicFiles.length > 0 ? { publicFiles } : {}),
758
790
  ...(css.length > 0 ? { css } : {}),
759
791
  ...(Object.keys(routeStyles).length > 0 ? { routeStyles } : {}),
792
+ ...(Object.keys(copyChunks).length > 0 ? { copyChunks } : {}),
760
793
  }
761
794
  assertDevelopmentProductionParity(collectDevelopmentParityInput(routesDir, publicDir), manifest)
762
795
  writeFileSync(`${outDir}/manifest.json`, JSON.stringify(manifest, null, 2))
@@ -780,6 +813,8 @@ export interface BuildServerOptions {
780
813
  readonly styles?: readonly string[] | undefined
781
814
  /** Per-route stylesheet URLs (`buildClient`'s `BuildManifest.routeStyles`) - baked alongside `styles`. */
782
815
  readonly routeStyles?: Readonly<Record<string, readonly string[]>> | undefined
816
+ /** Copy chunk URLs by locale (`buildClient`'s `BuildManifest.copyChunks`) - baked as `copyChunks`. */
817
+ readonly copyChunks?: Readonly<Record<string, string>> | undefined
783
818
  /** How framework-owned stylesheet links should activate before hydration (default `"blocking"`). */
784
819
  readonly cssLoading?: CssLoadingMode
785
820
  /** Route/layout file → import specifier in the generated manifest (default: a relative path from the
@@ -1051,6 +1086,7 @@ function formatRefusedFiles(refused: ReadonlyMap<string, string>, root: string):
1051
1086
  return `[nifra/web] the browser build reached code that may not ship to a browser:\n${lines.join("\n")}`
1052
1087
  }
1053
1088
 
1089
+ export { importGlobPlugin } from "./plugins/import-glob.ts"
1054
1090
  export { zoneGuardPlugin } from "./plugins/zone-guard.ts"
1055
1091
 
1056
1092
  /**
@@ -1130,6 +1166,7 @@ export async function buildServer(options: BuildServerOptions): Promise<ServerBu
1130
1166
  styles,
1131
1167
  routeStyles,
1132
1168
  ...(cssLoading !== undefined ? { cssLoading } : {}),
1169
+ ...(options.copyChunks !== undefined ? { copyChunks: options.copyChunks } : {}),
1133
1170
  lazy,
1134
1171
  }),
1135
1172
  )
@@ -1161,6 +1198,7 @@ export async function buildServer(options: BuildServerOptions): Promise<ServerBu
1161
1198
  reactDedupePlugin(entryDir),
1162
1199
  preactDedupePlugin(entryDir),
1163
1200
  ...(options.plugins ?? []),
1201
+ importGlobPlugin({ root: resolvePath(options.root ?? dirname(routesDir)) }),
1164
1202
  ],
1165
1203
  })
1166
1204
  if (!result.success) {
@@ -1227,7 +1265,14 @@ export async function buildServer(options: BuildServerOptions): Promise<ServerBu
1227
1265
  // ===================================================================================================
1228
1266
 
1229
1267
  /** The `createWebApp` options a generated server entry can import from the app's framework module. */
1230
- export const SERVER_ENTRY_OPTIONS = ["apiPrefix", "apiStrip", "mounts", "csp", "nonce"] as const
1268
+ export const SERVER_ENTRY_OPTIONS = [
1269
+ "apiPrefix",
1270
+ "apiStrip",
1271
+ "mounts",
1272
+ "csp",
1273
+ "nonce",
1274
+ "i18n",
1275
+ ] as const
1231
1276
  export type ServerEntryOption = (typeof SERVER_ENTRY_OPTIONS)[number]
1232
1277
  /** Each importable option mapped to the specifier of the module that exports it. */
1233
1278
  export type ServerEntryOptionImports = Readonly<Partial<Record<ServerEntryOption, string>>>
@@ -1285,6 +1330,8 @@ export function generateServerEntry(options: {
1285
1330
  readonly hashedFiles?: readonly string[]
1286
1331
  /** Trust the edge platform's client-address header for `c.clientIp`. See {@link ServerEntryClientIp}. */
1287
1332
  readonly clientIp?: ServerEntryClientIp
1333
+ /** The server manifest exports `copyChunks` (the client build split copy tables by locale). */
1334
+ readonly copyChunks?: boolean
1288
1335
  }): string {
1289
1336
  const {
1290
1337
  target,
@@ -1327,7 +1374,9 @@ export function generateServerEntry(options: {
1327
1374
  lines.push(`import { backend } from ${JSON.stringify(backendImport)}`)
1328
1375
  }
1329
1376
  lines.push(
1330
- 'import { clientEntry, cssLoading, manifest, styles, routeStyles } from "./server-manifest"',
1377
+ options.copyChunks === true
1378
+ ? 'import { clientEntry, copyChunks, cssLoading, manifest, styles, routeStyles } from "./server-manifest"'
1379
+ : 'import { clientEntry, cssLoading, manifest, styles, routeStyles } from "./server-manifest"',
1331
1380
  )
1332
1381
  // Cloudflare needs the fetch-handler shape; the others call app.fetch directly.
1333
1382
  if (target === "cloudflare") lines.push('import { toFetchHandler } from "@nifrajs/core/server"')
@@ -1343,6 +1392,7 @@ export function generateServerEntry(options: {
1343
1392
  " styles,",
1344
1393
  " routeStyles,",
1345
1394
  " cssLoading,",
1395
+ ...(options.copyChunks === true ? [" copyChunks,"] : []),
1346
1396
  ...(backendImport !== undefined ? [" api: inProcessClient(backend),"] : []),
1347
1397
  ` title: ${JSON.stringify(title)},`,
1348
1398
  // Core's own `{ header }` trust, so the mounted backend and every loader see the derived caller.
@@ -1630,6 +1680,7 @@ export const bunBundler: Bundler = {
1630
1680
  target: input.target,
1631
1681
  ...(input.styles !== undefined ? { styles: input.styles } : {}),
1632
1682
  ...(input.routeStyles !== undefined ? { routeStyles: input.routeStyles } : {}),
1683
+ ...(input.copyChunks !== undefined ? { copyChunks: input.copyChunks } : {}),
1633
1684
  ...(input.plugins ? { plugins: input.plugins as BunPlugin[] } : {}),
1634
1685
  ...(input.define ? { define: input.define } : {}),
1635
1686
  ...(input.cssLoading !== undefined ? { cssLoading: input.cssLoading } : {}),
@@ -1813,6 +1864,7 @@ export async function buildTargetWith(
1813
1864
  ...(publicFiles.length > 0 ? { publicFiles } : {}),
1814
1865
  hashedFiles: client.assets,
1815
1866
  ...(options.clientIp !== undefined ? { clientIp: options.clientIp } : {}),
1867
+ ...(client.copyChunks !== undefined ? { copyChunks: true } : {}),
1816
1868
  }),
1817
1869
  )
1818
1870
  const { worker } = await bundler.buildServer({
@@ -1823,6 +1875,7 @@ export async function buildTargetWith(
1823
1875
  target: targetPlan.serverTarget,
1824
1876
  ...(client.css !== undefined ? { styles: client.css } : {}),
1825
1877
  ...(client.routeStyles !== undefined ? { routeStyles: client.routeStyles } : {}),
1878
+ ...(client.copyChunks !== undefined ? { copyChunks: client.copyChunks } : {}),
1826
1879
  ...(options.serverPlugins ? { plugins: options.serverPlugins } : {}),
1827
1880
  define: { "process.env.NODE_ENV": '"production"', ...(options.define ?? {}) },
1828
1881
  ...(client.cssLoading !== undefined
package/src/client.ts CHANGED
@@ -19,6 +19,7 @@ import {
19
19
  setBlockerController,
20
20
  setBrowserNavigate,
21
21
  } from "./navigation.ts"
22
+ import { handoverLocale } from "./render-seam.ts"
22
23
  import { type ClientRouter, redirectOf } from "./router.ts"
23
24
 
24
25
  /** Read the nonce carried by the current server-rendered document, if any. */
@@ -49,6 +50,7 @@ export {
49
50
  resolveNavigate,
50
51
  } from "./navigation.ts"
51
52
  export { createMutation, createQueryClient } from "./query.ts"
53
+ export { localeOfProps } from "./render-seam.ts"
52
54
  export { createClientRouter, createMatcher } from "./router.ts"
53
55
  // Same reason, for the ADAPTER packages (`@nifrajs/web-react` and friends). Every one of them reaches
54
56
  // for these from the root - `searchOfChain` in its `/client` entry, the navigation and query values in
@@ -617,17 +619,23 @@ export function installHistory(
617
619
  * content (charset, hand-written tags) is never touched. SSR injects the same `data-nifra` tags, so
618
620
  * the first navigation cleanly takes over from the server-rendered head.
619
621
  */
620
- export function applyHead(head: Meta): void {
622
+ export function applyHead(head: Meta, path?: string): void {
621
623
  const documentNonce = currentDocumentNonce()
622
624
  if (head.title !== undefined) document.title = head.title
623
625
  // `<html lang>`/`<html dir>` - applied AUTHORITATIVELY (unlike `title`, which is left alone when the
624
- // route omits it), mirroring the SSR shell's defaulting exactly: `lang` falls back to `"en"`, `dir` is
625
- // removed when unset. Anything laxer drifts on a multilingual site - navigating /ur → /en would leave
626
- // `dir="rtl"` behind and lay the English page out right-to-left, a bug a hard reload would not show.
626
+ // route omits it), mirroring the SSR shell's defaulting exactly: a meta `lang` wins, then the page's
627
+ // registered locale, then `"en"`; `dir` is removed when unset. Anything laxer drifts on a
628
+ // multilingual site - navigating /ur → /en would leave `dir="rtl"` behind and lay the English page
629
+ // out right-to-left, a bug a hard reload would not show.
630
+ const locale =
631
+ head.lang === undefined
632
+ ? handoverLocale(path ?? (typeof location === "undefined" ? "" : location.pathname))
633
+ : undefined
634
+ const dir = head.dir ?? locale?.dir
627
635
  const root = document.documentElement
628
- root.setAttribute("lang", head.lang ?? "en")
629
- if (head.dir === undefined) root.removeAttribute("dir")
630
- else root.setAttribute("dir", head.dir)
636
+ root.setAttribute("lang", head.lang ?? locale?.lang ?? "en")
637
+ if (dir === undefined) root.removeAttribute("dir")
638
+ else root.setAttribute("dir", dir)
631
639
  for (const el of document.head.querySelectorAll("[data-nifra]")) el.remove()
632
640
  // Values follow the same HTML attribute conventions as the SSR `tagAttrs`: a string sets the value,
633
641
  // `true` sets the bare boolean attribute, `false`/`undefined` skip it - so a soft-nav head matches
package/src/index.ts CHANGED
@@ -121,6 +121,7 @@ export {
121
121
  type CreateWebAppOptions,
122
122
  createWebApp,
123
123
  type NonceResolver,
124
+ type WebAppI18n,
124
125
  webProjectEvidence,
125
126
  } from "./internal/web-app.ts"
126
127
  // ISR (incremental static regeneration): a pluggable cache store + the `withISR` stale-while-revalidate
@@ -256,7 +257,12 @@ export {
256
257
  type DocumentParts,
257
258
  HANDOVER_ID,
258
259
  LAYOUT_DATA_GLOBAL,
260
+ LOCALES_GLOBAL,
261
+ localeOfProps,
259
262
  type MatchChain,
263
+ type PageLocale,
264
+ type PageLocales,
265
+ pageLocaleIn,
260
266
  type RenderAdapter,
261
267
  type RenderProps,
262
268
  type RenderStreamOptions,