@nifrajs/web 2.13.0 → 2.14.1
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.
- package/dist/build.d.ts +9 -6
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +26 -18
- package/dist/build.js.map +1 -1
- package/dist/fn.d.ts +2 -2
- package/dist/fn.d.ts.map +1 -1
- package/dist/fn.js +2 -2
- package/dist/fn.js.map +1 -1
- package/dist/index.d.ts +0 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -5
- package/dist/index.js.map +1 -1
- package/dist/internal/parity.d.ts +9 -0
- package/dist/internal/parity.d.ts.map +1 -1
- package/dist/internal/parity.js +28 -15
- package/dist/internal/parity.js.map +1 -1
- package/dist/vite.d.ts +8 -0
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +43 -7
- package/dist/vite.js.map +1 -1
- package/package.json +2 -2
- package/src/build.ts +25 -17
- package/src/fn.ts +6 -6
- package/src/index.ts +20 -5
- package/src/internal/parity.ts +43 -18
- package/src/vite.ts +67 -7
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": "2.
|
|
3
|
+
"version": "2.14.1",
|
|
4
4
|
"description": "Framework-agnostic SSR core for nifra - the render seam + HTML document orchestration.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bun",
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
"access": "public"
|
|
177
177
|
},
|
|
178
178
|
"dependencies": {
|
|
179
|
-
"@nifrajs/core": "2.
|
|
179
|
+
"@nifrajs/core": "2.14.1"
|
|
180
180
|
},
|
|
181
181
|
"peerDependencies": {
|
|
182
182
|
"sass": "^1.0.0",
|
package/src/build.ts
CHANGED
|
@@ -789,28 +789,36 @@ export interface ManifestDrift {
|
|
|
789
789
|
readonly extra: readonly string[]
|
|
790
790
|
}
|
|
791
791
|
|
|
792
|
-
// The route-relative
|
|
793
|
-
//
|
|
794
|
-
//
|
|
795
|
-
//
|
|
796
|
-
//
|
|
797
|
-
|
|
792
|
+
// The route-relative file keys the generated manifest's route map declares. Both shapes are matched by
|
|
793
|
+
// their VALUE: eager ` "routes/x.tsx": m0,` and lazy ` "routes/x.tsx": () => import("./routes/x"),`.
|
|
794
|
+
// The KEY (not the import specifier) is the route identity `discoverRoutes` produces, extension and all;
|
|
795
|
+
// the import specifier is emitted extensionless (so a bare `tsc` compiles the manifest) and could not be
|
|
796
|
+
// mapped back to the exact `.tsx`/`.ts` key. The baked `routeStyles` JSON is a single line, so its keys
|
|
797
|
+
// are never at an indented line start and never match. `[ \t]+` (not `\s+`) so the `m` anchor stays on
|
|
798
|
+
// the same line and one route-map entry cannot span two lines of source.
|
|
799
|
+
const MANIFEST_ROUTE_ENTRY = /^[ \t]+(["'])([^"'\n]+)\1\s*:\s*(?:m\d+\b|\(\s*\)\s*=>\s*import\b)/gm
|
|
800
|
+
// The lazy shape declares `const loaders`, the eager shape `const modules`. Anchored at a line start,
|
|
801
|
+
// NOT `.includes("const loaders =")`: the real emit is `const loaders: Record<...> = {`, whose `:` type
|
|
802
|
+
// annotation sits between the name and the `=`, so the ` =` substring never matched and every lazy
|
|
803
|
+
// manifest was re-synced as eager (silently converting `import()` splitting into a single eager bundle).
|
|
804
|
+
const MANIFEST_IS_LAZY = /^const loaders\b/m
|
|
798
805
|
// The baked client-entry line: `export const clientEntry = "…"`.
|
|
799
806
|
const MANIFEST_CLIENT_ENTRY = /export\s+const\s+clientEntry\s*=\s*["']([^"']+)["']/
|
|
800
807
|
|
|
801
808
|
/**
|
|
802
|
-
* Extract the route-relative file list
|
|
803
|
-
* `routes/`-relative keys `discoverRoutes` produces (e.g. `docs/index.tsx`).
|
|
804
|
-
*
|
|
805
|
-
*
|
|
806
|
-
*
|
|
809
|
+
* Extract the route-relative file list a committed server-manifest declares, as the same
|
|
810
|
+
* `routes/`-relative keys `discoverRoutes` produces (e.g. `docs/index.tsx`). Reads the route map's KEYS,
|
|
811
|
+
* which carry the file extension and no directory prefix - exactly discovery's shape - so the result is
|
|
812
|
+
* independent of the specifier prefix the manifest happened to import with. The `@nifrajs/web` import and
|
|
813
|
+
* the baked `clientEntry`/`styles`/`routeStyles` lines carry no route-map entry and are ignored.
|
|
814
|
+
*
|
|
815
|
+
* `_routesPrefix` is accepted for call-site compatibility but no longer needed: the keys are already
|
|
816
|
+
* prefix-free. Pure - operates on source text.
|
|
807
817
|
*/
|
|
808
|
-
export function parseManifestRouteFiles(source: string,
|
|
818
|
+
export function parseManifestRouteFiles(source: string, _routesPrefix?: string): string[] {
|
|
809
819
|
const files = new Set<string>()
|
|
810
|
-
for (const match of source.matchAll(
|
|
811
|
-
|
|
812
|
-
if (spec === undefined || !spec.startsWith(routesPrefix)) continue
|
|
813
|
-
files.add(spec.slice(routesPrefix.length))
|
|
820
|
+
for (const match of source.matchAll(MANIFEST_ROUTE_ENTRY)) {
|
|
821
|
+
if (match[2] !== undefined) files.add(match[2])
|
|
814
822
|
}
|
|
815
823
|
return [...files].sort()
|
|
816
824
|
}
|
|
@@ -885,7 +893,7 @@ export function resyncServerManifestSource(
|
|
|
885
893
|
clientEntry: parseManifestClientEntry(source) ?? "",
|
|
886
894
|
styles: parseManifestStyles(source),
|
|
887
895
|
routeStyles: parseManifestRouteStyles(source),
|
|
888
|
-
lazy:
|
|
896
|
+
lazy: MANIFEST_IS_LAZY.test(source),
|
|
889
897
|
})
|
|
890
898
|
}
|
|
891
899
|
|
package/src/fn.ts
CHANGED
|
@@ -45,7 +45,10 @@
|
|
|
45
45
|
* bespoke dispatcher.
|
|
46
46
|
*/
|
|
47
47
|
import {
|
|
48
|
+
type AnyServer,
|
|
48
49
|
type Context,
|
|
50
|
+
defineIdentityPlugin,
|
|
51
|
+
type IdentityPlugin,
|
|
49
52
|
isSameOriginRequest,
|
|
50
53
|
type RouteSchema,
|
|
51
54
|
type StandardSchemaV1,
|
|
@@ -151,10 +154,7 @@ export type ServerFnModule = Readonly<Record<string, unknown>>
|
|
|
151
154
|
*
|
|
152
155
|
* Exports that are not server functions are ignored, so `export type` and helpers can live alongside.
|
|
153
156
|
*/
|
|
154
|
-
export function serverFunctions
|
|
155
|
-
namespace: string,
|
|
156
|
-
module: ServerFnModule,
|
|
157
|
-
): (app: S) => S {
|
|
157
|
+
export function serverFunctions(namespace: string, module: ServerFnModule): IdentityPlugin {
|
|
158
158
|
if (!NAMESPACE.test(namespace)) {
|
|
159
159
|
throw new Error(
|
|
160
160
|
`[nifra/fn] invalid server-function namespace ${JSON.stringify(namespace)} - use lowercase dot/dash segments (it becomes a URL path).`,
|
|
@@ -164,7 +164,7 @@ export function serverFunctions<S extends ServerFnHost>(
|
|
|
164
164
|
(entry): entry is [string, ServerFn<unknown, unknown>] => isServerFn(entry[1]),
|
|
165
165
|
)
|
|
166
166
|
|
|
167
|
-
const apply = (app: S): S => {
|
|
167
|
+
const apply = <S extends AnyServer>(app: S): S => {
|
|
168
168
|
for (const [name, fn] of mounted) {
|
|
169
169
|
if (!EXPORT_NAME.test(name)) {
|
|
170
170
|
throw new Error(
|
|
@@ -197,5 +197,5 @@ export function serverFunctions<S extends ServerFnHost>(
|
|
|
197
197
|
}
|
|
198
198
|
return app
|
|
199
199
|
}
|
|
200
|
-
return
|
|
200
|
+
return defineIdentityPlugin(`nifra:server-fn:${namespace}`, apply)
|
|
201
201
|
}
|
package/src/index.ts
CHANGED
|
@@ -2617,6 +2617,18 @@ export interface GenerateServerManifestOptions {
|
|
|
2617
2617
|
* `createWebApp`, unchanged) + `clientEntry` (baked). Write it to a file and bundle it into the worker
|
|
2618
2618
|
* entry (see `buildServer` in `@nifrajs/web/build`).
|
|
2619
2619
|
*/
|
|
2620
|
+
// Route source files are emitted as EXTENSIONLESS import specifiers. An explicit `.tsx`/`.ts` in an
|
|
2621
|
+
// import is a hard error under a plain `tsc` (TS5097) unless `allowImportingTsExtensions` is set - which
|
|
2622
|
+
// only the nifra template tsconfig does - so the generated manifest failed a bare `tsc` with one error
|
|
2623
|
+
// per route. Every bundler and `moduleResolution` still resolves the extensionless form to the source
|
|
2624
|
+
// file, so dropping the extension costs nothing at build time and makes the output portable. Only a
|
|
2625
|
+
// known TS/JS source extension is stripped; the map KEY keeps its extension (it is the route identifier
|
|
2626
|
+
// `buildManifest` matches, not an import path).
|
|
2627
|
+
const SOURCE_EXTENSION = /\.(?:[mc]?tsx?|[mc]?jsx?)$/
|
|
2628
|
+
function moduleSpecifier(resolved: string): string {
|
|
2629
|
+
return resolved.replace(SOURCE_EXTENSION, "")
|
|
2630
|
+
}
|
|
2631
|
+
|
|
2620
2632
|
export function generateServerManifest(
|
|
2621
2633
|
manifest: Manifest,
|
|
2622
2634
|
options: GenerateServerManifestOptions,
|
|
@@ -2636,7 +2648,7 @@ export function generateServerManifest(
|
|
|
2636
2648
|
"// GENERATED by @nifrajs/web generateServerManifest - route manifest for the disk-less edge",
|
|
2637
2649
|
"// (no filesystem; route imports are static specifiers the bundler resolves). buildManifest is",
|
|
2638
2650
|
"// the same pure logic discoverRoutes feeds, so patterns + layout chains match exactly.",
|
|
2639
|
-
'import { buildManifest } from "@nifrajs/web"',
|
|
2651
|
+
'import { buildManifest, type RouteModule } from "@nifrajs/web"',
|
|
2640
2652
|
]
|
|
2641
2653
|
const clientEntryLine = `export const clientEntry = ${JSON.stringify(clientEntry)}`
|
|
2642
2654
|
// Baked stylesheet URLs so the server entry can pass them to createWebApp → <link rel="stylesheet">.
|
|
@@ -2648,11 +2660,12 @@ export function generateServerManifest(
|
|
|
2648
2660
|
// code-splitting bundler, loaded on first request). The map keys are the route-relative paths
|
|
2649
2661
|
// `buildManifest` expects; the importer it builds calls the per-file loader.
|
|
2650
2662
|
const loaders = files.map(
|
|
2651
|
-
(file) =>
|
|
2663
|
+
(file) =>
|
|
2664
|
+
` ${jsStringLiteral(file)}: () => import(${jsStringLiteral(moduleSpecifier(resolve(file)))}),`,
|
|
2652
2665
|
)
|
|
2653
2666
|
return `${[
|
|
2654
2667
|
...header,
|
|
2655
|
-
"const loaders = {",
|
|
2668
|
+
"const loaders: Record<string, () => Promise<RouteModule>> = {",
|
|
2656
2669
|
...loaders,
|
|
2657
2670
|
"}",
|
|
2658
2671
|
clientEntryLine,
|
|
@@ -2663,12 +2676,14 @@ export function generateServerManifest(
|
|
|
2663
2676
|
}
|
|
2664
2677
|
// Eager: `import * as` per route (all bundled into the entry, parsed at boot). Index-based
|
|
2665
2678
|
// identifiers are collision-proof regardless of filename.
|
|
2666
|
-
const imports = files.map(
|
|
2679
|
+
const imports = files.map(
|
|
2680
|
+
(file, i) => `import * as m${i} from ${JSON.stringify(moduleSpecifier(resolve(file)))}`,
|
|
2681
|
+
)
|
|
2667
2682
|
const entries = files.map((file, i) => ` ${JSON.stringify(file)}: m${i},`)
|
|
2668
2683
|
return `${[
|
|
2669
2684
|
...header,
|
|
2670
2685
|
...imports,
|
|
2671
|
-
"const modules = {",
|
|
2686
|
+
"const modules: Record<string, RouteModule> = {",
|
|
2672
2687
|
...entries,
|
|
2673
2688
|
"}",
|
|
2674
2689
|
clientEntryLine,
|
package/src/internal/parity.ts
CHANGED
|
@@ -36,9 +36,15 @@ export interface IdentityParityCopy {
|
|
|
36
36
|
readonly importers: readonly string[]
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
export type IdentityParityCause = "version-skew" | "duplicate-path"
|
|
40
|
+
|
|
39
41
|
export interface IdentityParityFinding {
|
|
40
42
|
readonly package: string
|
|
41
43
|
readonly copies: readonly IdentityParityCopy[]
|
|
44
|
+
/** Unique package versions observed across the physical copies. */
|
|
45
|
+
readonly versions: readonly string[]
|
|
46
|
+
/** `version-skew` when copies advertise different versions; otherwise the same-version path split. */
|
|
47
|
+
readonly cause: IdentityParityCause
|
|
42
48
|
readonly explanation: string
|
|
43
49
|
readonly remediation: string
|
|
44
50
|
}
|
|
@@ -271,7 +277,7 @@ const identityTargets = (pkg: Record<string, unknown>): readonly string[] =>
|
|
|
271
277
|
.sort()
|
|
272
278
|
|
|
273
279
|
const IDENTITY_REMEDIATION =
|
|
274
|
-
"Align dependency ranges and reinstall from the workspace root so every importer resolves one physical copy."
|
|
280
|
+
"Align dependency ranges and reinstall from the workspace root so every importer resolves one physical copy; nifra does not rewrite lockfiles for identity conflicts."
|
|
275
281
|
|
|
276
282
|
/** Find duplicate identity-sensitive package realpaths without reading application payloads. */
|
|
277
283
|
export async function collectIdentityParity(
|
|
@@ -337,22 +343,47 @@ export async function collectIdentityParity(
|
|
|
337
343
|
const findings: IdentityParityFinding[] = []
|
|
338
344
|
for (const [name, copies] of [...byPackage.entries()].sort(([a], [b]) => a.localeCompare(b))) {
|
|
339
345
|
if (copies.size < 2) continue
|
|
346
|
+
const resolvedCopies = [...copies.entries()]
|
|
347
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
348
|
+
.map(([path, copy]) => ({
|
|
349
|
+
version: copy.version,
|
|
350
|
+
path: displayPath(cwd, path),
|
|
351
|
+
importers: [...copy.importers].sort(),
|
|
352
|
+
}))
|
|
353
|
+
const versions = [...new Set(resolvedCopies.map((copy) => copy.version))].sort()
|
|
354
|
+
const cause: IdentityParityCause = versions.length > 1 ? "version-skew" : "duplicate-path"
|
|
340
355
|
findings.push({
|
|
341
356
|
package: name,
|
|
342
|
-
copies:
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
explanation: `${name} is loaded from more than one physical path, so module state and symbols are not shared`,
|
|
357
|
+
copies: resolvedCopies,
|
|
358
|
+
versions,
|
|
359
|
+
cause,
|
|
360
|
+
explanation:
|
|
361
|
+
cause === "version-skew"
|
|
362
|
+
? `${name} resolves to multiple versions and physical paths, so module state and symbols are not shared`
|
|
363
|
+
: `${name} is loaded from more than one physical path, so module state and symbols are not shared`,
|
|
350
364
|
remediation: IDENTITY_REMEDIATION,
|
|
351
365
|
})
|
|
352
366
|
}
|
|
353
367
|
return { workspaceRoot: scanRoot, findings }
|
|
354
368
|
}
|
|
355
369
|
|
|
370
|
+
/** One `- pkg [cause]: ...` line per finding, shared by the hard failure and the dev warning. */
|
|
371
|
+
export function formatIdentityParityFindings(findings: readonly IdentityParityFinding[]): string {
|
|
372
|
+
return findings
|
|
373
|
+
.map(
|
|
374
|
+
(finding) =>
|
|
375
|
+
`- ${finding.package} [${finding.cause}]: ${finding.explanation}. ${finding.remediation}\n` +
|
|
376
|
+
` versions: ${finding.versions.join(", ")}; paths: ${finding.copies
|
|
377
|
+
.map((copy) => copy.path)
|
|
378
|
+
.join(", ")}`,
|
|
379
|
+
)
|
|
380
|
+
.join("\n")
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/** `2 primary package findings` / `1 primary package finding`. */
|
|
384
|
+
export const identityParityHeadline = (count: number): string =>
|
|
385
|
+
`${count} primary package finding${count === 1 ? "" : "s"}`
|
|
386
|
+
|
|
356
387
|
/** Fail before dev/build when the same identity-sensitive package has multiple realpaths. */
|
|
357
388
|
export async function assertIdentityParity(
|
|
358
389
|
cwd: string,
|
|
@@ -361,15 +392,9 @@ export async function assertIdentityParity(
|
|
|
361
392
|
): Promise<IdentityParityResult> {
|
|
362
393
|
const result = await collectIdentityParity(cwd, rootPackage, options)
|
|
363
394
|
if (result.findings.length === 0) return result
|
|
364
|
-
|
|
365
|
-
.
|
|
366
|
-
|
|
367
|
-
`${finding.package}: ${finding.explanation}. ${finding.remediation} Paths: ${finding.copies
|
|
368
|
-
.map((copy) => copy.path)
|
|
369
|
-
.join(", ")}`,
|
|
370
|
-
)
|
|
371
|
-
.join("; ")
|
|
372
|
-
throw new Error(`[nifra] identity parity failed: ${details}`)
|
|
395
|
+
throw new Error(
|
|
396
|
+
`[nifra] identity parity failed (${identityParityHeadline(result.findings.length)}):\n${formatIdentityParityFindings(result.findings)}`,
|
|
397
|
+
)
|
|
373
398
|
}
|
|
374
399
|
|
|
375
400
|
const assetName = (url: string): string => url.replace(/^.*\//, "")
|
package/src/vite.ts
CHANGED
|
@@ -21,7 +21,12 @@ import { createDevDiagnostics } from "./dev-diagnostics.ts"
|
|
|
21
21
|
import { listenOrExplain } from "./dev-port.ts"
|
|
22
22
|
import { discoverRoutes } from "./fs.ts"
|
|
23
23
|
import { DEFAULT_DEV_PORT, generateClientEntry, setSsrModuleLoader } from "./index.ts"
|
|
24
|
-
import {
|
|
24
|
+
import {
|
|
25
|
+
assertIdentityParity,
|
|
26
|
+
collectIdentityParity,
|
|
27
|
+
formatIdentityParityFindings,
|
|
28
|
+
identityParityHeadline,
|
|
29
|
+
} from "./internal/parity.ts"
|
|
25
30
|
import { vitePublicEnvPrefix } from "./internal/server-boundary.ts"
|
|
26
31
|
import { importVite } from "./internal/vite-import.ts"
|
|
27
32
|
import { scopedName } from "./plugins/css-modules.ts"
|
|
@@ -34,6 +39,18 @@ interface FetchApp {
|
|
|
34
39
|
fetch(request: Request): Response | Promise<Response>
|
|
35
40
|
}
|
|
36
41
|
|
|
42
|
+
// A node in Vite's module graph. `importers` is the union of client and SSR importers - walking it
|
|
43
|
+
// over-invalidates (a client-only importer gets re-evaluated on the SSR side too), which is safe:
|
|
44
|
+
// re-evaluation is idempotent, and correctness of the served module beats sparing a dev re-eval.
|
|
45
|
+
interface ViteModuleNode {
|
|
46
|
+
readonly importers: Set<ViteModuleNode>
|
|
47
|
+
}
|
|
48
|
+
// Structural slice of Vite's legacy unified module graph. Absent on a Vite that renamed it (the
|
|
49
|
+
// invalidation degrades to Vite's own change handling, i.e. today's behavior) - never a hard failure.
|
|
50
|
+
interface ViteModuleGraph {
|
|
51
|
+
getModulesByFile(file: string): Set<ViteModuleNode> | undefined
|
|
52
|
+
invalidateModule(mod: ViteModuleNode): void
|
|
53
|
+
}
|
|
37
54
|
// Structural slice of the Vite dev server this module drives (avoids a hard type dep on `vite`).
|
|
38
55
|
interface ViteLike {
|
|
39
56
|
/** Load a module through VITE's graph - the seam that makes the Vite pipeline own SSR too. */
|
|
@@ -41,6 +58,8 @@ interface ViteLike {
|
|
|
41
58
|
readonly middlewares: (req: IncomingMessage, res: ServerResponse, next: () => void) => void
|
|
42
59
|
transformIndexHtml(url: string, html: string): Promise<string>
|
|
43
60
|
ssrFixStacktrace(err: Error): void
|
|
61
|
+
/** The module graph, used to invalidate a changed file AND its transitive importers before reload. */
|
|
62
|
+
readonly moduleGraph?: ViteModuleGraph
|
|
44
63
|
readonly watcher: {
|
|
45
64
|
on(event: "change" | "add" | "unlink", cb: (path: string) => void): void
|
|
46
65
|
}
|
|
@@ -99,6 +118,14 @@ export interface ViteDevServerOptions {
|
|
|
99
118
|
readonly publicDir?: string | false
|
|
100
119
|
/** Client-visible environment prefix (default `"PUBLIC_"`; empty disables exposure). */
|
|
101
120
|
readonly publicEnvPrefix?: string
|
|
121
|
+
/**
|
|
122
|
+
* Downgrade the startup identity-parity check from a hard failure to a loud warning (dev only).
|
|
123
|
+
* The check catches two physical copies of an identity-sensitive package (e.g. React) resolving in
|
|
124
|
+
* one process, which reliably breaks hydration and framework context. When a duplicate comes from a
|
|
125
|
+
* linked sibling repo you cannot fix in the moment, set this to keep the dev server running while you
|
|
126
|
+
* resolve it; `nifra build` never honors it. Wired to `nifra dev --allow-duplicate-identity`.
|
|
127
|
+
*/
|
|
128
|
+
readonly allowDuplicateIdentity?: boolean
|
|
102
129
|
}
|
|
103
130
|
|
|
104
131
|
export interface ViteDevServer {
|
|
@@ -297,7 +324,16 @@ function packageNameOf(specifier: string): string | undefined {
|
|
|
297
324
|
export async function createViteDevServer(options: ViteDevServerOptions): Promise<ViteDevServer> {
|
|
298
325
|
const root = resolvePath(options.root ?? process.cwd())
|
|
299
326
|
const routesDir = resolvePath(options.routesDir)
|
|
300
|
-
|
|
327
|
+
if (options.allowDuplicateIdentity === true) {
|
|
328
|
+
const parity = await collectIdentityParity(root)
|
|
329
|
+
if (parity.findings.length > 0)
|
|
330
|
+
console.warn(
|
|
331
|
+
`[nifra] identity parity bypassed via --allow-duplicate-identity (${identityParityHeadline(parity.findings.length)}):\n${formatIdentityParityFindings(parity.findings)}\n` +
|
|
332
|
+
"[nifra] dev is continuing, but duplicate module identity can break hydration and framework context - fix the resolution before you ship.",
|
|
333
|
+
)
|
|
334
|
+
} else {
|
|
335
|
+
await assertIdentityParity(root)
|
|
336
|
+
}
|
|
301
337
|
const port = options.port ?? DEFAULT_DEV_PORT
|
|
302
338
|
|
|
303
339
|
// Which files are the app's own components, for framework plugins that hot-patch at component
|
|
@@ -474,12 +510,36 @@ export async function createViteDevServer(options: ViteDevServerOptions): Promis
|
|
|
474
510
|
setSsrModuleLoader(ssrLoad)
|
|
475
511
|
app = await options.createApp(entryUrl, ssrLoad)
|
|
476
512
|
|
|
513
|
+
// Evict a changed file from the SSR graph together with every module that (transitively) imports it,
|
|
514
|
+
// BEFORE re-creating the app. Vite re-evaluates a directly-changed module on its own, but a parent
|
|
515
|
+
// that merely imports the changed leaf keeps its cached SSR bindings - so the re-imported entry walks
|
|
516
|
+
// a graph that is fresh at the leaf and stale everywhere above it. That is what surfaces downstream as
|
|
517
|
+
// phantom hydration mismatches (SSR renders through an old module, the client through the new one) and
|
|
518
|
+
// stale i18n catalogs. Invalidating the importer closure makes the next `ssrLoadModule(entry)` re-walk
|
|
519
|
+
// the whole affected subtree. `importers` is the client+SSR union, so this over-invalidates slightly;
|
|
520
|
+
// in a dev server that only costs a re-evaluation, never correctness.
|
|
521
|
+
const invalidateImporterClosure = (path: string): void => {
|
|
522
|
+
const graph = vite.moduleGraph
|
|
523
|
+
if (graph === undefined) return
|
|
524
|
+
const roots = graph.getModulesByFile(path)
|
|
525
|
+
if (roots === undefined) return
|
|
526
|
+
const seen = new Set<ViteModuleNode>()
|
|
527
|
+
const stack = [...roots]
|
|
528
|
+
for (let mod = stack.pop(); mod !== undefined; mod = stack.pop()) {
|
|
529
|
+
if (seen.has(mod)) continue
|
|
530
|
+
seen.add(mod)
|
|
531
|
+
graph.invalidateModule(mod)
|
|
532
|
+
for (const importer of mod.importers) stack.push(importer)
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
|
|
477
536
|
// Re-create the app on change so a hard reload picks up a route ADD/REMOVE (the manifest comes
|
|
478
|
-
// from a directory scan, which `ssrLoadModule` cannot invalidate). Module CONTENT
|
|
479
|
-
//
|
|
480
|
-
// the
|
|
537
|
+
// from a directory scan, which `ssrLoadModule` cannot invalidate). Module CONTENT is re-evaluated by
|
|
538
|
+
// Vite plus the importer-closure invalidation above; no version counter against Bun's import cache is
|
|
539
|
+
// needed anymore, the way the old `importQuery` cache-buster was.
|
|
481
540
|
let refreshVersion = 0
|
|
482
|
-
const refreshApp = (): void => {
|
|
541
|
+
const refreshApp = (path?: string): void => {
|
|
542
|
+
if (path !== undefined) invalidateImporterClosure(path)
|
|
483
543
|
const version = ++refreshVersion
|
|
484
544
|
Promise.resolve(options.createApp(entryUrl, ssrLoad))
|
|
485
545
|
.then((next) => {
|
|
@@ -491,7 +551,7 @@ export async function createViteDevServer(options: ViteDevServerOptions): Promis
|
|
|
491
551
|
for (const event of ["add", "unlink"] as const) {
|
|
492
552
|
vite.watcher.on(event, (path) => {
|
|
493
553
|
if (path.startsWith(`${routesDir}/`) || path.startsWith(`${routesDir}\\`)) writeClientEntry()
|
|
494
|
-
refreshApp()
|
|
554
|
+
refreshApp(path)
|
|
495
555
|
})
|
|
496
556
|
}
|
|
497
557
|
|