@nifrajs/web 3.3.0 → 4.0.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.
- package/dist/backend-only.d.ts +15 -0
- package/dist/backend-only.d.ts.map +1 -0
- package/dist/backend-only.js +16 -0
- package/dist/backend-only.js.map +1 -0
- package/dist/boundary.d.ts +5 -0
- package/dist/boundary.d.ts.map +1 -1
- package/dist/boundary.js +11 -2
- package/dist/boundary.js.map +1 -1
- package/dist/build-plan.d.ts +35 -6
- package/dist/build-plan.d.ts.map +1 -1
- package/dist/build-plan.js +89 -35
- package/dist/build-plan.js.map +1 -1
- package/dist/build-vite.d.ts +18 -0
- package/dist/build-vite.d.ts.map +1 -1
- package/dist/build-vite.js +97 -17
- package/dist/build-vite.js.map +1 -1
- package/dist/build.d.ts +72 -23
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +411 -98
- package/dist/build.js.map +1 -1
- package/dist/bun-dev-entry.d.ts +1 -1
- package/dist/bun-dev-entry.js +1 -1
- package/dist/cdn.d.ts +74 -0
- package/dist/cdn.d.ts.map +1 -0
- package/dist/cdn.js +132 -0
- package/dist/cdn.js.map +1 -0
- package/dist/client.d.ts +21 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +226 -15
- package/dist/client.js.map +1 -1
- package/dist/conformance.d.ts +4 -3
- package/dist/conformance.d.ts.map +1 -1
- package/dist/conformance.js +12 -3
- package/dist/conformance.js.map +1 -1
- package/dist/csp.d.ts +93 -0
- package/dist/csp.d.ts.map +1 -0
- package/dist/csp.js +122 -0
- package/dist/csp.js.map +1 -0
- package/dist/css-contract.d.ts +21 -0
- package/dist/css-contract.d.ts.map +1 -0
- package/dist/css-contract.js +28 -0
- package/dist/css-contract.js.map +1 -0
- package/dist/dev-client.d.ts +76 -0
- package/dist/dev-client.d.ts.map +1 -0
- package/dist/dev-client.js +280 -0
- package/dist/dev-client.js.map +1 -0
- package/dist/dev-diagnostics.d.ts +26 -2
- package/dist/dev-diagnostics.d.ts.map +1 -1
- package/dist/dev-diagnostics.js +38 -7
- package/dist/dev-diagnostics.js.map +1 -1
- package/dist/dev-error.d.ts +4 -13
- package/dist/dev-error.d.ts.map +1 -1
- package/dist/dev-error.js +46 -4
- package/dist/dev-error.js.map +1 -1
- package/dist/dev-feed.d.ts +298 -0
- package/dist/dev-feed.d.ts.map +1 -0
- package/dist/dev-feed.js +797 -0
- package/dist/dev-feed.js.map +1 -0
- package/dist/dev-indicator.d.ts +38 -0
- package/dist/dev-indicator.d.ts.map +1 -0
- package/dist/dev-indicator.js +93 -0
- package/dist/dev-indicator.js.map +1 -0
- package/dist/dev-session.d.ts +77 -0
- package/dist/dev-session.d.ts.map +1 -0
- package/dist/dev-session.js +580 -0
- package/dist/dev-session.js.map +1 -0
- package/dist/dev-sourcemap.d.ts +27 -0
- package/dist/dev-sourcemap.d.ts.map +1 -0
- package/dist/dev-sourcemap.js +235 -0
- package/dist/dev-sourcemap.js.map +1 -0
- package/dist/dev-ssr-graph.d.ts.map +1 -1
- package/dist/dev-ssr-graph.js +13 -5
- package/dist/dev-ssr-graph.js.map +1 -1
- package/dist/dev.d.ts +15 -2
- package/dist/dev.d.ts.map +1 -1
- package/dist/dev.js +69 -44
- package/dist/dev.js.map +1 -1
- package/dist/diagnostic-catalog.d.ts +35 -0
- package/dist/diagnostic-catalog.d.ts.map +1 -0
- package/dist/diagnostic-catalog.js +203 -0
- package/dist/diagnostic-catalog.js.map +1 -0
- package/dist/diagnostic-prompt.d.ts +49 -0
- package/dist/diagnostic-prompt.d.ts.map +1 -0
- package/dist/diagnostic-prompt.js +303 -0
- package/dist/diagnostic-prompt.js.map +1 -0
- package/dist/diagnostic.d.ts +17 -23
- package/dist/diagnostic.d.ts.map +1 -1
- package/dist/diagnostic.js +31 -39
- package/dist/diagnostic.js.map +1 -1
- package/dist/draft.d.ts.map +1 -1
- package/dist/draft.js +4 -1
- package/dist/draft.js.map +1 -1
- package/dist/fn.d.ts +5 -0
- package/dist/fn.d.ts.map +1 -1
- package/dist/fn.js +13 -3
- package/dist/fn.js.map +1 -1
- package/dist/fs.d.ts.map +1 -1
- package/dist/fs.js +4 -2
- package/dist/fs.js.map +1 -1
- package/dist/index.d.ts +15 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -12
- package/dist/index.js.map +1 -1
- package/dist/internal/cdn/cloudflare.d.ts +48 -0
- package/dist/internal/cdn/cloudflare.d.ts.map +1 -0
- package/dist/internal/cdn/cloudflare.js +94 -0
- package/dist/internal/cdn/cloudflare.js.map +1 -0
- package/dist/internal/cdn/core.d.ts +91 -0
- package/dist/internal/cdn/core.d.ts.map +1 -0
- package/dist/internal/cdn/core.js +220 -0
- package/dist/internal/cdn/core.js.map +1 -0
- package/dist/internal/cdn/fastly.d.ts +17 -0
- package/dist/internal/cdn/fastly.d.ts.map +1 -0
- package/dist/internal/cdn/fastly.js +43 -0
- package/dist/internal/cdn/fastly.js.map +1 -0
- package/dist/internal/cdn/vercel.d.ts +31 -0
- package/dist/internal/cdn/vercel.d.ts.map +1 -0
- package/dist/internal/cdn/vercel.js +56 -0
- package/dist/internal/cdn/vercel.js.map +1 -0
- package/dist/internal/code-unit-order.d.ts +4 -0
- package/dist/internal/code-unit-order.d.ts.map +1 -0
- package/dist/internal/code-unit-order.js +6 -0
- package/dist/internal/code-unit-order.js.map +1 -0
- package/dist/internal/codegen.d.ts +3 -0
- package/dist/internal/codegen.d.ts.map +1 -1
- package/dist/internal/codegen.js +151 -30
- package/dist/internal/codegen.js.map +1 -1
- package/dist/internal/dev-csp.d.ts +24 -0
- package/dist/internal/dev-csp.d.ts.map +1 -0
- package/dist/internal/dev-csp.js +160 -0
- package/dist/internal/dev-csp.js.map +1 -0
- package/dist/internal/dev-reserved.d.ts +25 -0
- package/dist/internal/dev-reserved.d.ts.map +1 -0
- package/dist/internal/dev-reserved.js +39 -0
- package/dist/internal/dev-reserved.js.map +1 -0
- package/dist/internal/html-spans.d.ts +10 -0
- package/dist/internal/html-spans.d.ts.map +1 -0
- package/dist/internal/html-spans.js +46 -0
- package/dist/internal/html-spans.js.map +1 -0
- package/dist/internal/loading-runtime.d.ts +44 -0
- package/dist/internal/loading-runtime.d.ts.map +1 -0
- package/dist/internal/loading-runtime.js +206 -0
- package/dist/internal/loading-runtime.js.map +1 -0
- package/dist/internal/matches-runtime.d.ts +8 -0
- package/dist/internal/matches-runtime.d.ts.map +1 -0
- package/dist/internal/matches-runtime.js +61 -0
- package/dist/internal/matches-runtime.js.map +1 -0
- package/dist/internal/mount-shadow.d.ts +36 -0
- package/dist/internal/mount-shadow.d.ts.map +1 -0
- package/dist/internal/mount-shadow.js +65 -0
- package/dist/internal/mount-shadow.js.map +1 -0
- package/dist/internal/node-builtins.d.ts +3 -0
- package/dist/internal/node-builtins.d.ts.map +1 -0
- package/dist/internal/node-builtins.js +79 -0
- package/dist/internal/node-builtins.js.map +1 -0
- package/dist/internal/output-guard.d.ts +65 -0
- package/dist/internal/output-guard.d.ts.map +1 -0
- package/dist/internal/output-guard.js +630 -0
- package/dist/internal/output-guard.js.map +1 -0
- package/dist/internal/page-execution.d.ts +69 -0
- package/dist/internal/page-execution.d.ts.map +1 -0
- package/dist/internal/page-execution.js +1021 -0
- package/dist/internal/page-execution.js.map +1 -0
- package/dist/internal/parity.d.ts +21 -0
- package/dist/internal/parity.d.ts.map +1 -1
- package/dist/internal/parity.js +104 -22
- package/dist/internal/parity.js.map +1 -1
- package/dist/internal/private-env.d.ts +12 -0
- package/dist/internal/private-env.d.ts.map +1 -0
- package/dist/internal/private-env.js +335 -0
- package/dist/internal/private-env.js.map +1 -0
- package/dist/internal/public-url.d.ts +3 -0
- package/dist/internal/public-url.d.ts.map +1 -0
- package/dist/internal/public-url.js +18 -0
- package/dist/internal/public-url.js.map +1 -0
- package/dist/internal/render-document.d.ts +37 -21
- package/dist/internal/render-document.d.ts.map +1 -1
- package/dist/internal/render-document.js +104 -65
- package/dist/internal/render-document.js.map +1 -1
- package/dist/internal/request-url.d.ts +3 -0
- package/dist/internal/request-url.d.ts.map +1 -0
- package/dist/internal/request-url.js +14 -0
- package/dist/internal/request-url.js.map +1 -0
- package/dist/internal/response-controls.d.ts +75 -0
- package/dist/internal/response-controls.d.ts.map +1 -0
- package/dist/internal/response-controls.js +256 -0
- package/dist/internal/response-controls.js.map +1 -0
- package/dist/internal/runtime-contract.d.ts +11 -16
- package/dist/internal/runtime-contract.d.ts.map +1 -1
- package/dist/internal/runtime-contract.js.map +1 -1
- package/dist/internal/secret-scan.d.ts +104 -0
- package/dist/internal/secret-scan.d.ts.map +1 -0
- package/dist/internal/secret-scan.js +485 -0
- package/dist/internal/secret-scan.js.map +1 -0
- package/dist/internal/server-boundary.d.ts +6 -29
- package/dist/internal/server-boundary.d.ts.map +1 -1
- package/dist/internal/server-boundary.js +6 -66
- package/dist/internal/server-boundary.js.map +1 -1
- package/dist/internal/source-map.d.ts +47 -0
- package/dist/internal/source-map.d.ts.map +1 -0
- package/dist/internal/source-map.js +225 -0
- package/dist/internal/source-map.js.map +1 -0
- package/dist/internal/target-compat.d.ts +27 -0
- package/dist/internal/target-compat.d.ts.map +1 -0
- package/dist/internal/target-compat.js +77 -0
- package/dist/internal/target-compat.js.map +1 -0
- package/dist/internal/timing-safe-equal.d.ts +6 -0
- package/dist/internal/timing-safe-equal.d.ts.map +1 -1
- package/dist/internal/timing-safe-equal.js +10 -0
- package/dist/internal/timing-safe-equal.js.map +1 -1
- package/dist/internal/vitals-runtime.d.ts +18 -0
- package/dist/internal/vitals-runtime.d.ts.map +1 -0
- package/dist/internal/vitals-runtime.js +38 -0
- package/dist/internal/vitals-runtime.js.map +1 -0
- package/dist/internal/web-app.d.ts +56 -8
- package/dist/internal/web-app.d.ts.map +1 -1
- package/dist/internal/web-app.js +215 -772
- package/dist/internal/web-app.js.map +1 -1
- package/dist/internal/zone-graph.d.ts +89 -0
- package/dist/internal/zone-graph.d.ts.map +1 -0
- package/dist/internal/zone-graph.js +492 -0
- package/dist/internal/zone-graph.js.map +1 -0
- package/dist/isr.d.ts +83 -6
- package/dist/isr.d.ts.map +1 -1
- package/dist/isr.js +301 -39
- package/dist/isr.js.map +1 -1
- package/dist/llms-txt.d.ts +3 -0
- package/dist/llms-txt.d.ts.map +1 -1
- package/dist/llms-txt.js +37 -9
- package/dist/llms-txt.js.map +1 -1
- package/dist/manifest.d.ts +221 -14
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +386 -9
- package/dist/manifest.js.map +1 -1
- package/dist/module-graph.d.ts +26 -5
- package/dist/module-graph.d.ts.map +1 -1
- package/dist/module-graph.js +17 -7
- package/dist/module-graph.js.map +1 -1
- package/dist/navigation.d.ts +17 -3
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +11 -5
- package/dist/navigation.js.map +1 -1
- package/dist/nonce.d.ts +47 -0
- package/dist/nonce.d.ts.map +1 -0
- package/dist/nonce.js +63 -0
- package/dist/nonce.js.map +1 -0
- package/dist/plugins/css-modules.d.ts.map +1 -1
- package/dist/plugins/css-modules.js +4 -3
- package/dist/plugins/css-modules.js.map +1 -1
- package/dist/plugins/kit.d.ts +9 -0
- package/dist/plugins/kit.d.ts.map +1 -1
- package/dist/plugins/kit.js +18 -0
- package/dist/plugins/kit.js.map +1 -1
- package/dist/plugins/svg.d.ts +22 -3
- package/dist/plugins/svg.d.ts.map +1 -1
- package/dist/plugins/svg.js +112 -1
- package/dist/plugins/svg.js.map +1 -1
- package/dist/plugins/vite-leak-guard.d.ts +107 -3
- package/dist/plugins/vite-leak-guard.d.ts.map +1 -1
- package/dist/plugins/vite-leak-guard.js +378 -17
- package/dist/plugins/vite-leak-guard.js.map +1 -1
- package/dist/plugins/vite-zone-guard.d.ts +61 -0
- package/dist/plugins/vite-zone-guard.d.ts.map +1 -0
- package/dist/plugins/vite-zone-guard.js +208 -0
- package/dist/plugins/vite-zone-guard.js.map +1 -0
- package/dist/plugins/zone-guard.d.ts +27 -0
- package/dist/plugins/zone-guard.d.ts.map +1 -0
- package/dist/plugins/zone-guard.js +72 -0
- package/dist/plugins/zone-guard.js.map +1 -0
- package/dist/prerender.d.ts +10 -0
- package/dist/prerender.d.ts.map +1 -1
- package/dist/prerender.js +35 -3
- package/dist/prerender.js.map +1 -1
- package/dist/public-dir.d.ts +9 -0
- package/dist/public-dir.d.ts.map +1 -1
- package/dist/public-dir.js +131 -48
- package/dist/public-dir.js.map +1 -1
- package/dist/pwa-manifest.d.ts +68 -0
- package/dist/pwa-manifest.d.ts.map +1 -0
- package/dist/pwa-manifest.js +178 -0
- package/dist/pwa-manifest.js.map +1 -0
- package/dist/query.js +4 -4
- package/dist/query.js.map +1 -1
- package/dist/render-seam.d.ts +42 -2
- package/dist/render-seam.d.ts.map +1 -1
- package/dist/render-seam.js +6 -0
- package/dist/render-seam.js.map +1 -1
- package/dist/route-manifest.d.ts +3 -0
- package/dist/route-manifest.d.ts.map +1 -1
- package/dist/route-manifest.js +26 -3
- package/dist/route-manifest.js.map +1 -1
- package/dist/route-types.d.ts +24 -0
- package/dist/route-types.d.ts.map +1 -0
- package/dist/route-types.js +195 -0
- package/dist/route-types.js.map +1 -0
- package/dist/router.d.ts +28 -6
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +129 -40
- package/dist/router.js.map +1 -1
- package/dist/trusted-html.d.ts +34 -0
- package/dist/trusted-html.d.ts.map +1 -0
- package/dist/trusted-html.js +35 -0
- package/dist/trusted-html.js.map +1 -0
- package/dist/vitals.d.ts +33 -0
- package/dist/vitals.d.ts.map +1 -0
- package/dist/vitals.js +16 -0
- package/dist/vitals.js.map +1 -0
- package/dist/vite.d.ts +16 -1
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +187 -36
- package/dist/vite.js.map +1 -1
- package/dist/zones.d.ts +70 -0
- package/dist/zones.d.ts.map +1 -0
- package/dist/zones.js +365 -0
- package/dist/zones.js.map +1 -0
- package/package.json +67 -14
- package/src/backend-only.ts +16 -0
- package/src/boundary.ts +18 -5
- package/src/build-plan.ts +113 -36
- package/src/build-vite.ts +124 -15
- package/src/build.ts +535 -102
- package/src/bun-dev-entry.ts +1 -1
- package/src/cdn.ts +216 -0
- package/src/client.ts +251 -18
- package/src/conformance.ts +16 -3
- package/src/csp.ts +194 -0
- package/src/css-contract.ts +44 -0
- package/src/dev-client.ts +349 -0
- package/src/dev-diagnostics.ts +60 -7
- package/src/dev-error.ts +49 -5
- package/src/dev-feed.ts +1140 -0
- package/src/dev-indicator.ts +113 -0
- package/src/dev-session.ts +729 -0
- package/src/dev-sourcemap.ts +281 -0
- package/src/dev-ssr-graph.ts +16 -5
- package/src/dev.ts +86 -43
- package/src/diagnostic-catalog.ts +243 -0
- package/src/diagnostic-prompt.ts +355 -0
- package/src/diagnostic.ts +63 -66
- package/src/draft.ts +4 -1
- package/src/fn.ts +19 -3
- package/src/fs.ts +13 -2
- package/src/index.ts +57 -10
- package/src/internal/cdn/cloudflare.ts +146 -0
- package/src/internal/cdn/core.ts +316 -0
- package/src/internal/cdn/fastly.ts +62 -0
- package/src/internal/cdn/vercel.ts +95 -0
- package/src/internal/code-unit-order.ts +5 -0
- package/src/internal/codegen.ts +180 -29
- package/src/internal/dev-csp.ts +176 -0
- package/src/internal/dev-reserved.ts +52 -0
- package/src/internal/html-spans.ts +50 -0
- package/src/internal/loading-runtime.ts +244 -0
- package/src/internal/matches-runtime.ts +62 -0
- package/src/internal/mount-shadow.ts +88 -0
- package/src/internal/node-builtins.ts +79 -0
- package/src/internal/output-guard.ts +701 -0
- package/src/internal/page-execution.ts +1371 -0
- package/src/internal/parity.ts +150 -36
- package/src/internal/private-env.ts +334 -0
- package/src/internal/public-url.ts +22 -0
- package/src/internal/render-document.ts +153 -73
- package/src/internal/request-url.ts +14 -0
- package/src/internal/response-controls.ts +284 -0
- package/src/internal/runtime-contract.ts +10 -15
- package/src/internal/secret-scan.ts +623 -0
- package/src/internal/server-boundary.ts +6 -69
- package/src/internal/source-map.ts +256 -0
- package/src/internal/target-compat.ts +92 -0
- package/src/internal/timing-safe-equal.ts +13 -0
- package/src/internal/vitals-runtime.ts +53 -0
- package/src/internal/web-app.ts +290 -879
- package/src/internal/zone-graph.ts +593 -0
- package/src/isr.ts +366 -39
- package/src/llms-txt.ts +44 -8
- package/src/manifest.ts +671 -17
- package/src/module-graph.ts +53 -9
- package/src/navigation.ts +29 -6
- package/src/nonce.ts +104 -0
- package/src/plugins/css-modules.ts +5 -3
- package/src/plugins/kit.ts +24 -0
- package/src/plugins/svg.ts +135 -4
- package/src/plugins/vite-leak-guard.ts +529 -16
- package/src/plugins/vite-zone-guard.ts +263 -0
- package/src/plugins/zone-guard.ts +110 -0
- package/src/prerender.ts +49 -3
- package/src/public-dir.ts +135 -49
- package/src/pwa-manifest.ts +226 -0
- package/src/query.ts +4 -4
- package/src/render-seam.ts +46 -1
- package/src/route-manifest.ts +15 -3
- package/src/route-types.ts +264 -0
- package/src/router.ts +163 -63
- package/src/trusted-html.ts +44 -0
- package/src/vitals.ts +44 -0
- package/src/vite.ts +207 -36
- package/src/zones.ts +430 -0
- package/dist/plugins/vite-server-only.d.ts +0 -49
- package/dist/plugins/vite-server-only.d.ts.map +0 -1
- package/dist/plugins/vite-server-only.js +0 -57
- package/dist/plugins/vite-server-only.js.map +0 -1
- package/dist/server-only.d.ts +0 -21
- package/dist/server-only.d.ts.map +0 -1
- package/dist/server-only.js +0 -25
- package/dist/server-only.js.map +0 -1
- package/src/plugins/vite-server-only.ts +0 -75
- package/src/server-only.ts +0 -25
package/dist/router.js
CHANGED
|
@@ -19,6 +19,9 @@ export const DATA_HEADER = "x-nifra-data";
|
|
|
19
19
|
* `<path>/_data.json` (a CDN file - no worker round-trip) instead of the dynamic header-GET.
|
|
20
20
|
*/
|
|
21
21
|
export const PRERENDERED_GLOBAL = "__NIFRA_PRERENDERED__";
|
|
22
|
+
/** Where `createWebApp` serves a prerendered set too large to inline; the global then holds this URL
|
|
23
|
+
* plus a `?v=` content version, so the browser may cache it for good. */
|
|
24
|
+
export const PRERENDERED_LIST_PATH = "/__nifra/prerendered.json";
|
|
22
25
|
/**
|
|
23
26
|
* Response header a data-mode action POST uses to convey a redirect (`redirect(...)`) to the
|
|
24
27
|
* client - fetch would otherwise silently follow a 3xx to its HTML, losing the target. The
|
|
@@ -132,11 +135,42 @@ const prerenderedSetOf = (paths) => {
|
|
|
132
135
|
PRERENDERED_SET_CACHE.set(paths, set);
|
|
133
136
|
return set;
|
|
134
137
|
};
|
|
138
|
+
// A handed-over URL is fetched once: the global then holds the pending list every navigation shares.
|
|
139
|
+
// A failed fetch leaves navigations on the dynamic path, which is always correct.
|
|
140
|
+
const prerenderedOf = () => {
|
|
141
|
+
const handed = Reflect.get(globalThis, PRERENDERED_GLOBAL);
|
|
142
|
+
if (typeof handed !== "string")
|
|
143
|
+
return handed;
|
|
144
|
+
const list = fetch(handed)
|
|
145
|
+
.then((res) => (res.ok ? res.json() : undefined))
|
|
146
|
+
.catch(() => undefined);
|
|
147
|
+
Reflect.set(globalThis, PRERENDERED_GLOBAL, list);
|
|
148
|
+
return list;
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* The page to load as a document, when that is why a navigation or submit rejected. Only an `http:` or
|
|
152
|
+
* `https:` target: the caller hands it to `location`, which runs a `javascript:` URL in this page,
|
|
153
|
+
* where the same target in a real redirect's `Location` never runs.
|
|
154
|
+
*/
|
|
155
|
+
export const redirectOf = (error) => {
|
|
156
|
+
const to = error?.redirectTo;
|
|
157
|
+
return typeof to === "string" && /^https?:$/.test(targetUrl(to)?.protocol ?? "") ? to : undefined;
|
|
158
|
+
};
|
|
159
|
+
/** A redirect target resolved against a placeholder origin, or `undefined` when it does not parse. */
|
|
160
|
+
const targetUrl = (to) => {
|
|
161
|
+
try {
|
|
162
|
+
return new URL(to, "http://n.invalid");
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
const redirected = (to) => Object.assign(new Error(`[nifra/web] redirected to ${to}`), { redirectTo: to });
|
|
135
169
|
const defaultFetchData = async (path, _match, signal, navigation) => {
|
|
136
170
|
// SSG fast path: if this path was prerendered, its loader data is a static file - fetch that (no
|
|
137
171
|
// worker). Falls through to the dynamic header-GET on any miss (file absent, e.g. a deferred route,
|
|
138
172
|
// or a stale set), so it's always safe. Non-SSG apps have no global → the dynamic path, unchanged.
|
|
139
|
-
const prerendered =
|
|
173
|
+
const prerendered = await prerenderedOf();
|
|
140
174
|
if (Array.isArray(prerendered)) {
|
|
141
175
|
const query = path.indexOf("?");
|
|
142
176
|
const hash = path.indexOf("#");
|
|
@@ -156,6 +190,9 @@ const defaultFetchData = async (path, _match, signal, navigation) => {
|
|
|
156
190
|
headers.set(NAV_FROM_HEADER, navigation.from);
|
|
157
191
|
}
|
|
158
192
|
const res = await fetch(path, { headers, signal: signal ?? null });
|
|
193
|
+
const redirectTo = res.headers.get(REDIRECT_HEADER);
|
|
194
|
+
if (redirectTo !== null)
|
|
195
|
+
throw redirected(redirectTo);
|
|
159
196
|
const status = Number(res.headers.get(STATUS_HEADER));
|
|
160
197
|
if (Number.isInteger(status) && status >= 400 && status <= 599) {
|
|
161
198
|
return { v: 1, data: null, status };
|
|
@@ -185,6 +222,9 @@ const isClientActionResult = (value) => typeof value === "object" && value !== n
|
|
|
185
222
|
export function createClientRouter(options) {
|
|
186
223
|
const match = createMatcher(options.patterns);
|
|
187
224
|
const fetchData = options.fetchData ?? defaultFetchData;
|
|
225
|
+
// Start a handed-over list's fetch now, so the first navigation rarely waits for it.
|
|
226
|
+
if (fetchData === defaultFetchData)
|
|
227
|
+
prerenderedOf();
|
|
188
228
|
// routeId → the route's client-only search keys. Read by reference (the generated entry keeps writing
|
|
189
229
|
// to it as routes load), so a same-route nav always sees the current route's keys.
|
|
190
230
|
const searchClientKeys = options.searchClientKeys ?? {};
|
|
@@ -226,7 +266,12 @@ export function createClientRouter(options) {
|
|
|
226
266
|
void target;
|
|
227
267
|
return undefined;
|
|
228
268
|
};
|
|
229
|
-
const loadRouteData = async (path, match, signal,
|
|
269
|
+
const loadRouteData = async (path, match, signal,
|
|
270
|
+
// Offer the server the layout data on screen: it re-runs whichever of those loaders it must.
|
|
271
|
+
keepLayouts) => {
|
|
272
|
+
const retainFrom = keepLayouts
|
|
273
|
+
? state.layoutData && { path: state.path, layoutData: state.layoutData }
|
|
274
|
+
: undefined;
|
|
230
275
|
const retain = retainFrom?.layoutData.map((_, index) => index) ?? [];
|
|
231
276
|
const payload = await fetchData(path, match, signal, retainFrom === undefined ? undefined : { from: retainFrom.path, retain });
|
|
232
277
|
if (!isRouteDataEnvelope(payload))
|
|
@@ -356,11 +401,17 @@ export function createClientRouter(options) {
|
|
|
356
401
|
for (const listener of [...listeners])
|
|
357
402
|
listener();
|
|
358
403
|
};
|
|
359
|
-
// Bounded one-shot prefetch cache (path → loader data) + an in-flight guard so
|
|
360
|
-
// doesn't double-fetch. Consumed (and dropped) by the next navigate to that path
|
|
404
|
+
// Bounded one-shot prefetch cache (path → loader data, and when it arrived) + an in-flight guard so
|
|
405
|
+
// hover spam doesn't double-fetch. Consumed (and dropped) by the next navigate to that path - while
|
|
406
|
+
// fresh: a link warmed as it scrolled into view can be clicked minutes later.
|
|
361
407
|
const MAX_PREFETCH = 10;
|
|
408
|
+
const PREFETCH_MAX_AGE_MS = 30_000;
|
|
362
409
|
const prefetched = new Map();
|
|
363
410
|
const inflight = new Set();
|
|
411
|
+
const freshPrefetch = (path) => {
|
|
412
|
+
const held = prefetched.get(path);
|
|
413
|
+
return held !== undefined && Date.now() - held[1] < PREFETCH_MAX_AGE_MS ? held[0] : undefined;
|
|
414
|
+
};
|
|
364
415
|
// Keyed data cache (path → latest loader data + freshness). Written on every published data
|
|
365
416
|
// (navigate/submit), read by `invalidate` (+ targeted revalidation and fetchers in later F16
|
|
366
417
|
// increments). Bounded - evict the oldest-inserted past the cap (route data is small; this just
|
|
@@ -410,6 +461,47 @@ export function createClientRouter(options) {
|
|
|
410
461
|
// Aborts the in-flight navigation's fetch + deferred stream when a newer navigation supersedes it
|
|
411
462
|
// (so a superseded route's NDJSON stream stops reading instead of draining in the background).
|
|
412
463
|
let navAbort;
|
|
464
|
+
// The route path an in-app redirect target leads to. Undefined when the browser has to load it: another
|
|
465
|
+
// origin, a `#fragment` to scroll to, or no route.
|
|
466
|
+
const appRedirect = (to) => {
|
|
467
|
+
if (to === undefined || !to.startsWith("/") || to.includes("#"))
|
|
468
|
+
return undefined;
|
|
469
|
+
const url = targetUrl(to);
|
|
470
|
+
if (url?.host !== "n.invalid")
|
|
471
|
+
return undefined; // `//host`, `/\host`, unparseable
|
|
472
|
+
const path = url.pathname + url.search;
|
|
473
|
+
const target = match(path);
|
|
474
|
+
return target === null ? undefined : [path, target];
|
|
475
|
+
};
|
|
476
|
+
// Load `path` for the navigation or submit `mine`, following the redirects its loaders answer with
|
|
477
|
+
// while they stay in the app (20 at most, as a browser allows).
|
|
478
|
+
const loadFollowing = async (mine, path, target, signal, keepLayouts, usePrefetch) => {
|
|
479
|
+
let current = [path, target];
|
|
480
|
+
for (let hops = 0;; hops++) {
|
|
481
|
+
const [at, route] = current;
|
|
482
|
+
if (mine === generation && state.pendingPath !== at) {
|
|
483
|
+
state = { ...state, pendingPath: at };
|
|
484
|
+
emit();
|
|
485
|
+
}
|
|
486
|
+
await loadModule?.(route.routeId);
|
|
487
|
+
// Prefetched server data is one-shot; a clientLoader still runs over it without another request.
|
|
488
|
+
const prefetchedData = usePrefetch ? freshPrefetch(at) : undefined;
|
|
489
|
+
if (usePrefetch)
|
|
490
|
+
prefetched.delete(at);
|
|
491
|
+
try {
|
|
492
|
+
const loaded = await applyClientLoader(at, route, signal, () => loadRouteData(at, route, signal, keepLayouts), prefetchedData);
|
|
493
|
+
if (loaded.terminalRouteId !== undefined)
|
|
494
|
+
await loadModule?.(loaded.terminalRouteId);
|
|
495
|
+
return [at, route, loaded];
|
|
496
|
+
}
|
|
497
|
+
catch (error) {
|
|
498
|
+
const next = hops < 20 ? appRedirect(redirectOf(error)) : undefined;
|
|
499
|
+
if (next === undefined)
|
|
500
|
+
throw error;
|
|
501
|
+
current = next;
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
};
|
|
413
505
|
// Refetch the active route + republish, single-flight via the shared `generation`. Shared by `invalidate`
|
|
414
506
|
// and targeted revalidation. Rejects if the fetch fails (clearing its own `pending` first).
|
|
415
507
|
const refetchActive = async () => {
|
|
@@ -611,25 +703,12 @@ export function createClientRouter(options) {
|
|
|
611
703
|
state = { ...state, pending: true, pendingPath: path };
|
|
612
704
|
emit();
|
|
613
705
|
try {
|
|
614
|
-
|
|
615
|
-
// uses the same server-data path; a route with one gets a lazy `serverLoader()` thunk.
|
|
616
|
-
await loadModule?.(matched.routeId);
|
|
617
|
-
// Use prefetched server data when present (one-shot - drop it); clientLoader still runs over
|
|
618
|
-
// that cached result without causing another network request.
|
|
619
|
-
const hit = prefetched.has(path);
|
|
620
|
-
const prefetchedData = hit ? prefetched.get(path) : undefined;
|
|
621
|
-
if (hit)
|
|
622
|
-
prefetched.delete(path);
|
|
623
|
-
const loaded = await applyClientLoader(path, matched, ac.signal, () => loadRouteData(path, matched, ac.signal, state.layoutData === undefined
|
|
624
|
-
? undefined
|
|
625
|
-
: { path: state.path, layoutData: state.layoutData }), prefetchedData);
|
|
626
|
-
if (loaded.terminalRouteId !== undefined)
|
|
627
|
-
await loadModule?.(loaded.terminalRouteId);
|
|
706
|
+
const [to, target, loaded] = await loadFollowing(mine, path, matched, ac.signal, true, true);
|
|
628
707
|
if (mine !== generation)
|
|
629
708
|
return; // a newer navigation superseded this one - drop the stale result
|
|
630
|
-
cachePut(
|
|
709
|
+
cachePut(to, loaded); // keep the keyed cache coherent with what we publish
|
|
631
710
|
const interception = loaded.terminalRouteId === undefined
|
|
632
|
-
? interceptionFor(state.routeId,
|
|
711
|
+
? interceptionFor(state.routeId, to, target)
|
|
633
712
|
: undefined;
|
|
634
713
|
if (interception !== undefined) {
|
|
635
714
|
// The target's ordinary data request has already completed (including its server authz and
|
|
@@ -638,7 +717,7 @@ export function createClientRouter(options) {
|
|
|
638
717
|
// this branch, so an unauthorized/missing target cannot become a modal.
|
|
639
718
|
state = {
|
|
640
719
|
...state,
|
|
641
|
-
path,
|
|
720
|
+
path: to,
|
|
642
721
|
boundaries: {
|
|
643
722
|
...(state.boundaries ?? {}),
|
|
644
723
|
[interception.name]: {
|
|
@@ -657,9 +736,9 @@ export function createClientRouter(options) {
|
|
|
657
736
|
return;
|
|
658
737
|
}
|
|
659
738
|
state = {
|
|
660
|
-
routeId: loaded.terminalRouteId ??
|
|
661
|
-
params: loaded.terminalRouteId === undefined ?
|
|
662
|
-
path,
|
|
739
|
+
routeId: loaded.terminalRouteId ?? target.routeId,
|
|
740
|
+
params: loaded.terminalRouteId === undefined ? target.params : {},
|
|
741
|
+
path: to,
|
|
663
742
|
data: loaded.data,
|
|
664
743
|
layoutData: loaded.layoutData,
|
|
665
744
|
...(loaded.boundaries !== undefined ? { boundaries: loaded.boundaries } : {}),
|
|
@@ -695,6 +774,9 @@ export function createClientRouter(options) {
|
|
|
695
774
|
...(body instanceof FormData ? { submission: { action, formData: body } } : {}),
|
|
696
775
|
};
|
|
697
776
|
emit();
|
|
777
|
+
// Once the action has run, falling back to posting the form again would run it twice.
|
|
778
|
+
let posted = false;
|
|
779
|
+
let landing;
|
|
698
780
|
try {
|
|
699
781
|
const prepared = await prepareClientAction(action, body, ac.signal);
|
|
700
782
|
if (Object.hasOwn(prepared, "optimisticData")) {
|
|
@@ -708,25 +790,25 @@ export function createClientRouter(options) {
|
|
|
708
790
|
});
|
|
709
791
|
if (!res.ok)
|
|
710
792
|
throw new Error(`[nifra/web] action failed (${res.status}): ${action}`);
|
|
793
|
+
posted = true;
|
|
711
794
|
const redirectTo = res.headers.get(REDIRECT_HEADER);
|
|
712
795
|
if (redirectTo !== null) {
|
|
713
796
|
// The action redirected (Post/Redirect/Get) - treat it as a client navigation.
|
|
714
|
-
const
|
|
715
|
-
if (
|
|
716
|
-
throw
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
await loadModule?.(loaded.terminalRouteId);
|
|
797
|
+
const next = appRedirect(redirectTo);
|
|
798
|
+
if (next === undefined)
|
|
799
|
+
throw redirected(redirectTo);
|
|
800
|
+
landing = next[0];
|
|
801
|
+
// The action may have changed what any layout shows, so the target loads its whole chain,
|
|
802
|
+
// the same as the non-redirect revalidation below. `revalidate: false` keeps layout data
|
|
803
|
+
// the server agrees is unchanged, like an ordinary navigation.
|
|
804
|
+
const [to, target, loaded] = await loadFollowing(mine, next[0], next[1], ac.signal, opts?.revalidate === false, false);
|
|
723
805
|
if (mine !== generation)
|
|
724
806
|
return;
|
|
725
|
-
cachePut(
|
|
807
|
+
cachePut(to, loaded);
|
|
726
808
|
state = {
|
|
727
809
|
routeId: loaded.terminalRouteId ?? target.routeId,
|
|
728
810
|
params: loaded.terminalRouteId === undefined ? target.params : {},
|
|
729
|
-
path:
|
|
811
|
+
path: to,
|
|
730
812
|
data: loaded.data,
|
|
731
813
|
layoutData: loaded.layoutData,
|
|
732
814
|
...(loaded.boundaries !== undefined ? { boundaries: loaded.boundaries } : {}),
|
|
@@ -779,19 +861,25 @@ export function createClientRouter(options) {
|
|
|
779
861
|
}
|
|
780
862
|
catch (err) {
|
|
781
863
|
if (mine === generation) {
|
|
782
|
-
// Revert: clear `submission` (the optimistic view vanishes) leaving
|
|
783
|
-
// pre-submit
|
|
864
|
+
// Revert: clear `submission` (the optimistic view vanishes) leaving the data untouched, so the
|
|
865
|
+
// pre-submit page shows through.
|
|
784
866
|
state = {
|
|
785
867
|
routeId: state.routeId,
|
|
786
868
|
params: state.params,
|
|
787
869
|
path: state.path,
|
|
788
870
|
data: state.data,
|
|
871
|
+
layoutData: state.layoutData,
|
|
872
|
+
...(state.boundaries !== undefined ? { boundaries: state.boundaries } : {}),
|
|
789
873
|
actionData: previousActionData,
|
|
790
874
|
pending: false,
|
|
791
875
|
};
|
|
792
876
|
emit();
|
|
793
877
|
}
|
|
794
|
-
|
|
878
|
+
if (!posted)
|
|
879
|
+
throw err;
|
|
880
|
+
if (mine !== generation)
|
|
881
|
+
return; // a newer navigation or submit owns the page
|
|
882
|
+
throw redirectOf(err) === undefined ? redirected(landing ?? state.path) : err;
|
|
795
883
|
}
|
|
796
884
|
},
|
|
797
885
|
hydrate,
|
|
@@ -811,7 +899,7 @@ export function createClientRouter(options) {
|
|
|
811
899
|
await Promise.all(jobs);
|
|
812
900
|
},
|
|
813
901
|
prefetch: async (path) => {
|
|
814
|
-
if (
|
|
902
|
+
if (inflight.has(path) || freshPrefetch(path) !== undefined)
|
|
815
903
|
return;
|
|
816
904
|
const matched = match(path);
|
|
817
905
|
if (matched === null)
|
|
@@ -824,12 +912,13 @@ export function createClientRouter(options) {
|
|
|
824
912
|
loadModule?.(matched.routeId),
|
|
825
913
|
loadRouteData(path, matched),
|
|
826
914
|
]);
|
|
915
|
+
prefetched.delete(path); // a stale entry re-enters as the newest
|
|
827
916
|
if (prefetched.size >= MAX_PREFETCH) {
|
|
828
917
|
const oldest = prefetched.keys().next().value;
|
|
829
918
|
if (oldest !== undefined)
|
|
830
919
|
prefetched.delete(oldest);
|
|
831
920
|
}
|
|
832
|
-
prefetched.set(path, loaded);
|
|
921
|
+
prefetched.set(path, [loaded, Date.now()]);
|
|
833
922
|
}
|
|
834
923
|
catch {
|
|
835
924
|
// Best-effort: a failed prefetch just means the eventual navigate fetches normally.
|
package/dist/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A framework-neutral trust boundary for the small set of adapters that intentionally inject HTML.
|
|
3
|
+
*
|
|
4
|
+
* `TrustedHtml` is a type-level brand, not a sanitizer. Callers must sanitize untrusted input with a
|
|
5
|
+
* well-reviewed allowlist sanitizer before calling {@link trustHtml}; build-time markdown and
|
|
6
|
+
* application-owned templates may use it directly after review. Keeping the constructor explicit
|
|
7
|
+
* makes every raw-HTML sink audit-greppable and prevents an ordinary string from type-checking by
|
|
8
|
+
* accident.
|
|
9
|
+
*/
|
|
10
|
+
declare const TRUSTED_HTML_BRAND: unique symbol;
|
|
11
|
+
declare const SANITIZED_HTML_BRAND: unique symbol;
|
|
12
|
+
export type TrustedHtml = string & {
|
|
13
|
+
readonly [TRUSTED_HTML_BRAND]: "trusted-html";
|
|
14
|
+
};
|
|
15
|
+
/** HTML returned by an explicit, caller-supplied sanitizer. It is also trusted by the adapters. */
|
|
16
|
+
export type SanitizedHtml = TrustedHtml & {
|
|
17
|
+
readonly [SANITIZED_HTML_BRAND]: "sanitized-html";
|
|
18
|
+
};
|
|
19
|
+
/** The only contract a project-specific, allowlist-based HTML sanitizer must satisfy. */
|
|
20
|
+
export type HtmlSanitizer = (value: string) => string;
|
|
21
|
+
/** Mark already-sanitized or application-owned HTML for an intentional raw-HTML adapter sink. */
|
|
22
|
+
export declare function trustHtml(value: string): TrustedHtml;
|
|
23
|
+
/**
|
|
24
|
+
* Run untrusted markup through an explicit sanitizer before it reaches a raw-HTML adapter.
|
|
25
|
+
*
|
|
26
|
+
* Nifra deliberately does not bundle a sanitizer: applications choose the maintained allowlist
|
|
27
|
+
* appropriate to their runtime and content policy. Requiring the sanitizer as an argument prevents
|
|
28
|
+
* `sanitizedHtml(value)` from silently becoming an alias for the unsafe trust operation.
|
|
29
|
+
*/
|
|
30
|
+
export declare function sanitizeHtml(value: string, sanitizer: HtmlSanitizer): SanitizedHtml;
|
|
31
|
+
/** Explicit sanitized-content vocabulary for callers and security audits. */
|
|
32
|
+
export declare const sanitizedHtml: typeof sanitizeHtml;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=trusted-html.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trusted-html.d.ts","sourceRoot":"","sources":["../src/trusted-html.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,CAAC,MAAM,kBAAkB,EAAE,OAAO,MAAM,CAAA;AAC/C,OAAO,CAAC,MAAM,oBAAoB,EAAE,OAAO,MAAM,CAAA;AAEjD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAAA;CAAE,CAAA;AAEpF,mGAAmG;AACnG,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG;IAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAA;AAE/F,yFAAyF;AACzF,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;AAErD,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAGpD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,aAAa,CAMnF;AAED,6EAA6E;AAC7E,eAAO,MAAM,aAAa,qBAAe,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A framework-neutral trust boundary for the small set of adapters that intentionally inject HTML.
|
|
3
|
+
*
|
|
4
|
+
* `TrustedHtml` is a type-level brand, not a sanitizer. Callers must sanitize untrusted input with a
|
|
5
|
+
* well-reviewed allowlist sanitizer before calling {@link trustHtml}; build-time markdown and
|
|
6
|
+
* application-owned templates may use it directly after review. Keeping the constructor explicit
|
|
7
|
+
* makes every raw-HTML sink audit-greppable and prevents an ordinary string from type-checking by
|
|
8
|
+
* accident.
|
|
9
|
+
*/
|
|
10
|
+
/** Mark already-sanitized or application-owned HTML for an intentional raw-HTML adapter sink. */
|
|
11
|
+
export function trustHtml(value) {
|
|
12
|
+
if (typeof value !== "string")
|
|
13
|
+
throw new TypeError("trusted HTML must be a string");
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Run untrusted markup through an explicit sanitizer before it reaches a raw-HTML adapter.
|
|
18
|
+
*
|
|
19
|
+
* Nifra deliberately does not bundle a sanitizer: applications choose the maintained allowlist
|
|
20
|
+
* appropriate to their runtime and content policy. Requiring the sanitizer as an argument prevents
|
|
21
|
+
* `sanitizedHtml(value)` from silently becoming an alias for the unsafe trust operation.
|
|
22
|
+
*/
|
|
23
|
+
export function sanitizeHtml(value, sanitizer) {
|
|
24
|
+
if (typeof value !== "string")
|
|
25
|
+
throw new TypeError("HTML to sanitize must be a string");
|
|
26
|
+
if (typeof sanitizer !== "function")
|
|
27
|
+
throw new TypeError("an HTML sanitizer is required");
|
|
28
|
+
const sanitized = sanitizer(value);
|
|
29
|
+
if (typeof sanitized !== "string")
|
|
30
|
+
throw new TypeError("HTML sanitizer must return a string");
|
|
31
|
+
return sanitized;
|
|
32
|
+
}
|
|
33
|
+
/** Explicit sanitized-content vocabulary for callers and security audits. */
|
|
34
|
+
export const sanitizedHtml = sanitizeHtml;
|
|
35
|
+
//# sourceMappingURL=trusted-html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trusted-html.js","sourceRoot":"","sources":["../src/trusted-html.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,iGAAiG;AACjG,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAA;IACnF,OAAO,KAAoB,CAAA;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,SAAwB;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAA;IACvF,IAAI,OAAO,SAAS,KAAK,UAAU;QAAE,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAA;IACzF,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAA;IAC7F,OAAO,SAA0B,CAAA;AACnC,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAA"}
|
package/dist/vitals.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** Core Web Vitals from Google's `web-vitals` (an optional peer), each tagged with its route. */
|
|
2
|
+
import type { MetricType } from "web-vitals";
|
|
3
|
+
/**
|
|
4
|
+
* One measurement from `web-vitals` - `name` is `"LCP"`, `"INP"`, `"CLS"`, `"FCP"` or `"TTFB"`, with its
|
|
5
|
+
* `value`, `rating` (`"good"`, `"needs-improvement"` or `"poor"`), `delta` since the last report and an
|
|
6
|
+
* `id` unique to the measurement - plus the route it belongs to.
|
|
7
|
+
*/
|
|
8
|
+
export type WebVitalsMetric = MetricType & {
|
|
9
|
+
/** The id of the route the measured page matched (`users/[id]`, the id `useMatches` reports).
|
|
10
|
+
* `undefined` before the router mounts, for a page no route matches, or for another origin. */
|
|
11
|
+
readonly route: string | undefined;
|
|
12
|
+
};
|
|
13
|
+
/** How {@link reportWebVitals} reports. */
|
|
14
|
+
export interface ReportWebVitalsOptions {
|
|
15
|
+
/** Report every change to a metric (LCP, CLS and INP grow while the page is open), not only the
|
|
16
|
+
* value it settles on. Use `delta` or `id` to aggregate. Default `false`. */
|
|
17
|
+
readonly reportAllChanges?: boolean;
|
|
18
|
+
/** Measure each client-side navigation as a page view of its own where the browser can (Chromium
|
|
19
|
+
* 151 and later), so its metrics carry the route it navigated to. The first page's metrics then
|
|
20
|
+
* settle at the first client navigation; other browsers report as if this were off. Default `false`. */
|
|
21
|
+
readonly softNavigations?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Report the page's Core Web Vitals to `report`, each with the route it belongs to. A metric is
|
|
25
|
+
* reported once its value is final - FCP and TTFB as soon as they are known, LCP at the first
|
|
26
|
+
* interaction or when the page is hidden, CLS and INP when the page is hidden - unless
|
|
27
|
+
* `reportAllChanges` asks for every change. The browser buffers the load metrics recorded before the
|
|
28
|
+
* call, so a mount effect after hydration is early enough.
|
|
29
|
+
*
|
|
30
|
+
* Returns a function that stops reporting. On the server it does nothing.
|
|
31
|
+
*/
|
|
32
|
+
export declare function reportWebVitals(report: (metric: WebVitalsMetric) => void, options?: ReportWebVitalsOptions): () => void;
|
|
33
|
+
//# sourceMappingURL=vitals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitals.d.ts","sourceRoot":"","sources":["../src/vitals.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAI5C;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG;IACzC;mGAC+F;IAC/F,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC,CAAA;AAED,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC;iFAC6E;IAC7E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC;;4GAEwG;IACxG,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CACnC;AAID;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,EACzC,OAAO,GAAE,sBAA2B,GACnC,MAAM,IAAI,CAEZ"}
|
package/dist/vitals.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { onCLS, onFCP, onINP, onLCP, onTTFB } from "web-vitals";
|
|
2
|
+
import { reportWith } from "./internal/vitals-runtime.js";
|
|
3
|
+
const library = { onCLS, onFCP, onINP, onLCP, onTTFB };
|
|
4
|
+
/**
|
|
5
|
+
* Report the page's Core Web Vitals to `report`, each with the route it belongs to. A metric is
|
|
6
|
+
* reported once its value is final - FCP and TTFB as soon as they are known, LCP at the first
|
|
7
|
+
* interaction or when the page is hidden, CLS and INP when the page is hidden - unless
|
|
8
|
+
* `reportAllChanges` asks for every change. The browser buffers the load metrics recorded before the
|
|
9
|
+
* call, so a mount effect after hydration is early enough.
|
|
10
|
+
*
|
|
11
|
+
* Returns a function that stops reporting. On the server it does nothing.
|
|
12
|
+
*/
|
|
13
|
+
export function reportWebVitals(report, options = {}) {
|
|
14
|
+
return reportWith(library, report, options);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=vitals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitals.js","sourceRoot":"","sources":["../src/vitals.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAwBzD,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AAEtD;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAyC,EACzC,UAAkC,EAAE;IAEpC,OAAO,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;AAC7C,CAAC"}
|
package/dist/vite.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type DevAppHooks } from "./dev-session.js";
|
|
1
2
|
/** Minimal app surface - `createWebApp(...)` satisfies it. */
|
|
2
3
|
interface FetchApp {
|
|
3
4
|
fetch(request: Request): Response | Promise<Response>;
|
|
@@ -15,8 +16,11 @@ export interface ViteDevServerOptions {
|
|
|
15
16
|
* Without it SSR resolves through Bun while the client resolves through Vite - two resolvers, one
|
|
16
17
|
* process - which is what makes `resolve.dedupe` fail to reach SSR and produces the dual-React
|
|
17
18
|
* crash. Vite re-evaluates on change, so no `importQuery` cache-buster is needed alongside it.
|
|
19
|
+
*
|
|
20
|
+
* Pass `dev.onLoaderError` to `createWebApp` so failures an `_error` boundary renders still reach the
|
|
21
|
+
* dev feed (`nifra errors`).
|
|
18
22
|
*/
|
|
19
|
-
readonly createApp: (clientEntry: string, load: (absolutePath: string) => Promise<unknown
|
|
23
|
+
readonly createApp: (clientEntry: string, load: (absolutePath: string) => Promise<unknown>, dev: DevAppHooks) => FetchApp | Promise<FetchApp>;
|
|
20
24
|
/** Vite plugins - inject your framework's official plugin, e.g. `[react()]`. */
|
|
21
25
|
readonly plugins?: readonly unknown[];
|
|
22
26
|
/**
|
|
@@ -51,11 +55,22 @@ export interface ViteDevServerOptions {
|
|
|
51
55
|
* resolve it; `nifra build` never honors it. Wired to `nifra dev --allow-duplicate-identity`.
|
|
52
56
|
*/
|
|
53
57
|
readonly allowDuplicateIdentity?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Write `.nifra/dev-server.json` (how `nifra errors`/`nifra logs` and the MCP tools find this server)
|
|
60
|
+
* and the persisted dev log beside it (default `true`).
|
|
61
|
+
*/
|
|
62
|
+
readonly record?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Show the browser errors a dev page reports in a badge on that page, with a Copy prompt button per
|
|
65
|
+
* fix (default `true`). Off, the errors still reach the feed.
|
|
66
|
+
*/
|
|
67
|
+
readonly indicator?: boolean;
|
|
54
68
|
}
|
|
55
69
|
export interface ViteDevServer {
|
|
56
70
|
readonly port: number;
|
|
57
71
|
stop(): Promise<void>;
|
|
58
72
|
}
|
|
73
|
+
export type { DevAppHooks } from "./dev-session.js";
|
|
59
74
|
export { LAST_ERROR_PATH } from "./diagnostic.js";
|
|
60
75
|
/** The bits of a Node ServerResponse `pipeWebBodyToNode` touches - structural, to avoid a node:http dep here. */
|
|
61
76
|
interface NodeResLike {
|