@nifrajs/web 4.0.2 → 5.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/README.md +11 -0
- package/dist/build-vite.d.ts +19 -0
- package/dist/build-vite.d.ts.map +1 -1
- package/dist/build-vite.js +31 -10
- package/dist/build-vite.js.map +1 -1
- package/dist/build.d.ts +8 -10
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +90 -31
- package/dist/build.js.map +1 -1
- package/dist/cdn.d.ts +8 -0
- package/dist/cdn.d.ts.map +1 -1
- package/dist/cdn.js +14 -15
- package/dist/cdn.js.map +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +25 -7
- package/dist/client.js.map +1 -1
- package/dist/deferred.d.ts +2 -2
- package/dist/deferred.d.ts.map +1 -1
- package/dist/deferred.js +28 -7
- package/dist/deferred.js.map +1 -1
- package/dist/dev-feed.d.ts.map +1 -1
- package/dist/dev-feed.js +24 -5
- package/dist/dev-feed.js.map +1 -1
- package/dist/dev-session.d.ts.map +1 -1
- package/dist/dev-session.js +4 -14
- package/dist/dev-session.js.map +1 -1
- package/dist/dev.d.ts +7 -17
- package/dist/dev.d.ts.map +1 -1
- package/dist/dev.js +13 -1
- package/dist/dev.js.map +1 -1
- package/dist/draft.d.ts +8 -5
- package/dist/draft.d.ts.map +1 -1
- package/dist/draft.js +30 -13
- package/dist/draft.js.map +1 -1
- package/dist/fonts-google.d.ts.map +1 -1
- package/dist/fonts-google.js +7 -0
- package/dist/fonts-google.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/codegen.d.ts +1 -0
- package/dist/internal/codegen.d.ts.map +1 -1
- package/dist/internal/codegen.js +56 -29
- package/dist/internal/codegen.js.map +1 -1
- package/dist/internal/disposable-dir.d.ts +8 -0
- package/dist/internal/disposable-dir.d.ts.map +1 -0
- package/dist/internal/disposable-dir.js +25 -0
- package/dist/internal/disposable-dir.js.map +1 -0
- package/dist/internal/entry-chunks.d.ts +9 -0
- package/dist/internal/entry-chunks.d.ts.map +1 -0
- package/dist/internal/entry-chunks.js +15 -0
- package/dist/internal/entry-chunks.js.map +1 -0
- package/dist/internal/evidence-traversal.d.ts +12 -0
- package/dist/internal/evidence-traversal.d.ts.map +1 -0
- package/dist/internal/evidence-traversal.js +48 -0
- package/dist/internal/evidence-traversal.js.map +1 -0
- package/dist/internal/head-merge.d.ts +6 -0
- package/dist/internal/head-merge.d.ts.map +1 -1
- package/dist/internal/head-merge.js +9 -0
- package/dist/internal/head-merge.js.map +1 -1
- package/dist/internal/js-string.d.ts +2 -0
- package/dist/internal/js-string.d.ts.map +1 -1
- package/dist/internal/js-string.js +5 -1
- package/dist/internal/js-string.js.map +1 -1
- package/dist/internal/mount-shadow.js +1 -1
- package/dist/internal/mount-shadow.js.map +1 -1
- package/dist/internal/output-guard.d.ts +7 -0
- package/dist/internal/output-guard.d.ts.map +1 -1
- package/dist/internal/output-guard.js +80 -8
- package/dist/internal/output-guard.js.map +1 -1
- package/dist/internal/page-execution.d.ts +6 -0
- package/dist/internal/page-execution.d.ts.map +1 -1
- package/dist/internal/page-execution.js +377 -108
- package/dist/internal/page-execution.js.map +1 -1
- package/dist/internal/progressive-cookies.d.ts +14 -0
- package/dist/internal/progressive-cookies.d.ts.map +1 -0
- package/dist/internal/progressive-cookies.js +43 -0
- package/dist/internal/progressive-cookies.js.map +1 -0
- package/dist/internal/public-env.d.ts +2 -0
- package/dist/internal/public-env.d.ts.map +1 -0
- package/dist/internal/public-env.js +13 -0
- package/dist/internal/public-env.js.map +1 -0
- package/dist/internal/render-document.d.ts +1 -0
- package/dist/internal/render-document.d.ts.map +1 -1
- package/dist/internal/render-document.js +28 -5
- package/dist/internal/render-document.js.map +1 -1
- package/dist/internal/response-controls.d.ts +2 -0
- package/dist/internal/response-controls.d.ts.map +1 -1
- package/dist/internal/response-controls.js +26 -16
- package/dist/internal/response-controls.js.map +1 -1
- package/dist/internal/revive-dates.d.ts +16 -0
- package/dist/internal/revive-dates.d.ts.map +1 -0
- package/dist/internal/revive-dates.js +32 -0
- package/dist/internal/revive-dates.js.map +1 -0
- package/dist/internal/route-path.d.ts +8 -0
- package/dist/internal/route-path.d.ts.map +1 -0
- package/dist/internal/route-path.js +8 -0
- package/dist/internal/route-path.js.map +1 -0
- package/dist/internal/secret-scan.d.ts.map +1 -1
- package/dist/internal/secret-scan.js +88 -20
- package/dist/internal/secret-scan.js.map +1 -1
- package/dist/internal/server-boundary.d.ts.map +1 -1
- package/dist/internal/server-boundary.js +33 -5
- package/dist/internal/server-boundary.js.map +1 -1
- package/dist/internal/web-app.d.ts +21 -16
- package/dist/internal/web-app.d.ts.map +1 -1
- package/dist/internal/web-app.js +73 -21
- package/dist/internal/web-app.js.map +1 -1
- package/dist/internal/wire-date.d.ts +3 -0
- package/dist/internal/wire-date.d.ts.map +1 -0
- package/dist/internal/wire-date.js +14 -0
- package/dist/internal/wire-date.js.map +1 -0
- package/dist/internal/zone-graph.d.ts +4 -0
- package/dist/internal/zone-graph.d.ts.map +1 -1
- package/dist/internal/zone-graph.js +54 -14
- package/dist/internal/zone-graph.js.map +1 -1
- package/dist/isr.d.ts +58 -2
- package/dist/isr.d.ts.map +1 -1
- package/dist/isr.js +296 -39
- package/dist/isr.js.map +1 -1
- package/dist/llms-txt.d.ts +2 -0
- package/dist/llms-txt.d.ts.map +1 -1
- package/dist/llms-txt.js +29 -3
- package/dist/llms-txt.js.map +1 -1
- package/dist/manifest.d.ts +28 -4
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +3 -0
- package/dist/manifest.js.map +1 -1
- package/dist/open-resolved.d.ts +18 -0
- package/dist/open-resolved.d.ts.map +1 -0
- package/dist/open-resolved.js +62 -0
- package/dist/open-resolved.js.map +1 -0
- package/dist/plugins/kit.d.ts +1 -0
- package/dist/plugins/kit.d.ts.map +1 -1
- package/dist/plugins/kit.js +26 -11
- package/dist/plugins/kit.js.map +1 -1
- package/dist/plugins/vite-leak-guard.d.ts +3 -1
- package/dist/plugins/vite-leak-guard.d.ts.map +1 -1
- package/dist/plugins/vite-leak-guard.js +4 -0
- package/dist/plugins/vite-leak-guard.js.map +1 -1
- package/dist/public-dir.d.ts +8 -1
- package/dist/public-dir.d.ts.map +1 -1
- package/dist/public-dir.js +17 -6
- package/dist/public-dir.js.map +1 -1
- package/dist/query.d.ts +13 -4
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +89 -26
- package/dist/query.js.map +1 -1
- package/dist/render-seam.d.ts +2 -0
- package/dist/render-seam.d.ts.map +1 -1
- package/dist/render-seam.js +1 -0
- package/dist/render-seam.js.map +1 -1
- package/dist/route-types.d.ts.map +1 -1
- package/dist/route-types.js +20 -9
- package/dist/route-types.js.map +1 -1
- package/dist/router.d.ts +9 -2
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +39 -46
- package/dist/router.js.map +1 -1
- package/dist/server-components/build-info.d.ts +3 -0
- package/dist/server-components/build-info.d.ts.map +1 -0
- package/dist/server-components/build-info.js +7 -0
- package/dist/server-components/build-info.js.map +1 -0
- package/dist/server-components/build-target.d.ts +12 -0
- package/dist/server-components/build-target.d.ts.map +1 -0
- package/dist/server-components/build-target.js +153 -0
- package/dist/server-components/build-target.js.map +1 -0
- package/dist/server-components/build.d.ts +24 -0
- package/dist/server-components/build.d.ts.map +1 -0
- package/dist/server-components/build.js +366 -0
- package/dist/server-components/build.js.map +1 -0
- package/dist/server-components/bundle-proof.d.ts +3 -0
- package/dist/server-components/bundle-proof.d.ts.map +1 -0
- package/dist/server-components/bundle-proof.js +23 -0
- package/dist/server-components/bundle-proof.js.map +1 -0
- package/dist/server-components/client.d.ts +46 -0
- package/dist/server-components/client.d.ts.map +1 -0
- package/dist/server-components/client.js +594 -0
- package/dist/server-components/client.js.map +1 -0
- package/dist/server-components/definition.d.ts +11 -0
- package/dist/server-components/definition.d.ts.map +1 -0
- package/dist/server-components/definition.js +94 -0
- package/dist/server-components/definition.js.map +1 -0
- package/dist/server-components/dev-http.d.ts +5 -0
- package/dist/server-components/dev-http.d.ts.map +1 -0
- package/dist/server-components/dev-http.js +71 -0
- package/dist/server-components/dev-http.js.map +1 -0
- package/dist/server-components/error.d.ts +9 -0
- package/dist/server-components/error.d.ts.map +1 -0
- package/dist/server-components/error.js +24 -0
- package/dist/server-components/error.js.map +1 -0
- package/dist/server-components/frames.d.ts +7 -0
- package/dist/server-components/frames.d.ts.map +1 -0
- package/dist/server-components/frames.js +169 -0
- package/dist/server-components/frames.js.map +1 -0
- package/dist/server-components/html-policy.d.ts +6 -0
- package/dist/server-components/html-policy.d.ts.map +1 -0
- package/dist/server-components/html-policy.js +75 -0
- package/dist/server-components/html-policy.js.map +1 -0
- package/dist/server-components/html.d.ts +4 -0
- package/dist/server-components/html.d.ts.map +1 -0
- package/dist/server-components/html.js +67 -0
- package/dist/server-components/html.js.map +1 -0
- package/dist/server-components/islands.d.ts +44 -0
- package/dist/server-components/islands.d.ts.map +1 -0
- package/dist/server-components/islands.js +42 -0
- package/dist/server-components/islands.js.map +1 -0
- package/dist/server-components/native.d.ts +4 -0
- package/dist/server-components/native.d.ts.map +1 -0
- package/dist/server-components/native.js +81 -0
- package/dist/server-components/native.js.map +1 -0
- package/dist/server-components/portal.d.ts +6 -0
- package/dist/server-components/portal.d.ts.map +1 -0
- package/dist/server-components/portal.js +35 -0
- package/dist/server-components/portal.js.map +1 -0
- package/dist/server-components/props.d.ts +3 -0
- package/dist/server-components/props.d.ts.map +1 -0
- package/dist/server-components/props.js +14 -0
- package/dist/server-components/props.js.map +1 -0
- package/dist/server-components/protocol.d.ts +44 -0
- package/dist/server-components/protocol.d.ts.map +1 -0
- package/dist/server-components/protocol.js +139 -0
- package/dist/server-components/protocol.js.map +1 -0
- package/dist/server-components/range.d.ts +24 -0
- package/dist/server-components/range.d.ts.map +1 -0
- package/dist/server-components/range.js +263 -0
- package/dist/server-components/range.js.map +1 -0
- package/dist/server-components/registry.d.ts +6 -0
- package/dist/server-components/registry.d.ts.map +1 -0
- package/dist/server-components/registry.js +30 -0
- package/dist/server-components/registry.js.map +1 -0
- package/dist/server-components/response.d.ts +4 -0
- package/dist/server-components/response.d.ts.map +1 -0
- package/dist/server-components/response.js +32 -0
- package/dist/server-components/response.js.map +1 -0
- package/dist/server-components/router-integration.d.ts +9 -0
- package/dist/server-components/router-integration.d.ts.map +1 -0
- package/dist/server-components/router-integration.js +29 -0
- package/dist/server-components/router-integration.js.map +1 -0
- package/dist/server-components/runtime.d.ts +14 -0
- package/dist/server-components/runtime.d.ts.map +1 -0
- package/dist/server-components/runtime.js +276 -0
- package/dist/server-components/runtime.js.map +1 -0
- package/dist/server-components/scheduler.d.ts +14 -0
- package/dist/server-components/scheduler.d.ts.map +1 -0
- package/dist/server-components/scheduler.js +74 -0
- package/dist/server-components/scheduler.js.map +1 -0
- package/dist/server-components/schema.d.ts +4 -0
- package/dist/server-components/schema.d.ts.map +1 -0
- package/dist/server-components/schema.js +77 -0
- package/dist/server-components/schema.js.map +1 -0
- package/dist/server-components/server-entry.d.ts +12 -0
- package/dist/server-components/server-entry.d.ts.map +1 -0
- package/dist/server-components/server-entry.js +90 -0
- package/dist/server-components/server-entry.js.map +1 -0
- package/dist/server-components/source.d.ts +15 -0
- package/dist/server-components/source.d.ts.map +1 -0
- package/dist/server-components/source.js +269 -0
- package/dist/server-components/source.js.map +1 -0
- package/dist/server-components/state.d.ts +4 -0
- package/dist/server-components/state.d.ts.map +1 -0
- package/dist/server-components/state.js +123 -0
- package/dist/server-components/state.js.map +1 -0
- package/dist/server-components/stream.d.ts +6 -0
- package/dist/server-components/stream.d.ts.map +1 -0
- package/dist/server-components/stream.js +70 -0
- package/dist/server-components/stream.js.map +1 -0
- package/dist/server-components/trusted-html.d.ts +3 -0
- package/dist/server-components/trusted-html.d.ts.map +1 -0
- package/dist/server-components/trusted-html.js +14 -0
- package/dist/server-components/trusted-html.js.map +1 -0
- package/dist/server-components/types.d.ts +107 -0
- package/dist/server-components/types.d.ts.map +1 -0
- package/dist/server-components/types.js +2 -0
- package/dist/server-components/types.js.map +1 -0
- package/dist/server-components/typescript.d.ts +11 -0
- package/dist/server-components/typescript.d.ts.map +1 -0
- package/dist/server-components/typescript.js +28 -0
- package/dist/server-components/typescript.js.map +1 -0
- package/dist/server-components/value.d.ts +5 -0
- package/dist/server-components/value.d.ts.map +1 -0
- package/dist/server-components/value.js +77 -0
- package/dist/server-components/value.js.map +1 -0
- package/dist/server-components/vite.d.ts +12 -0
- package/dist/server-components/vite.d.ts.map +1 -0
- package/dist/server-components/vite.js +197 -0
- package/dist/server-components/vite.js.map +1 -0
- package/dist/server-components.d.ts +5 -0
- package/dist/server-components.d.ts.map +1 -0
- package/dist/server-components.js +4 -0
- package/dist/server-components.js.map +1 -0
- package/dist/service-worker.d.ts +8 -1
- package/dist/service-worker.d.ts.map +1 -1
- package/dist/service-worker.js +20 -6
- package/dist/service-worker.js.map +1 -1
- package/dist/vite.d.ts +12 -0
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +7 -1
- package/dist/vite.js.map +1 -1
- package/dist/zones.d.ts +40 -0
- package/dist/zones.d.ts.map +1 -1
- package/dist/zones.js +170 -6
- package/dist/zones.js.map +1 -1
- package/package.json +97 -4
- package/src/build-vite.ts +31 -9
- package/src/build.ts +109 -31
- package/src/cdn.ts +18 -12
- package/src/client.ts +25 -6
- package/src/deferred.ts +27 -9
- package/src/dev-feed.ts +24 -5
- package/src/dev-session.ts +4 -13
- package/src/dev.ts +29 -1
- package/src/draft.ts +35 -14
- package/src/fonts-google.ts +10 -0
- package/src/index.ts +3 -2
- package/src/internal/codegen.ts +60 -29
- package/src/internal/disposable-dir.ts +24 -0
- package/src/internal/entry-chunks.ts +18 -0
- package/src/internal/evidence-traversal.ts +57 -0
- package/src/internal/head-merge.ts +16 -0
- package/src/internal/js-string.ts +6 -1
- package/src/internal/mount-shadow.ts +1 -1
- package/src/internal/output-guard.ts +88 -7
- package/src/internal/page-execution.ts +506 -108
- package/src/internal/progressive-cookies.ts +60 -0
- package/src/internal/public-env.ts +14 -0
- package/src/internal/render-document.ts +26 -11
- package/src/internal/response-controls.ts +31 -14
- package/src/internal/revive-dates.ts +35 -0
- package/src/internal/route-path.ts +8 -0
- package/src/internal/secret-scan.ts +90 -18
- package/src/internal/server-boundary.ts +29 -5
- package/src/internal/web-app.ts +116 -37
- package/src/internal/wire-date.ts +16 -0
- package/src/internal/zone-graph.ts +59 -19
- package/src/isr.ts +351 -43
- package/src/llms-txt.ts +32 -3
- package/src/manifest.ts +28 -4
- package/src/open-resolved.ts +64 -0
- package/src/plugins/kit.ts +31 -11
- package/src/plugins/vite-leak-guard.ts +5 -1
- package/src/public-dir.ts +27 -8
- package/src/query.ts +107 -26
- package/src/render-seam.ts +2 -0
- package/src/route-types.ts +34 -7
- package/src/router.ts +58 -55
- package/src/server-components/build-info.ts +11 -0
- package/src/server-components/build-target.ts +194 -0
- package/src/server-components/build.ts +419 -0
- package/src/server-components/bundle-proof.ts +33 -0
- package/src/server-components/client.ts +663 -0
- package/src/server-components/definition.ts +125 -0
- package/src/server-components/dev-http.ts +75 -0
- package/src/server-components/error.ts +24 -0
- package/src/server-components/frames.ts +181 -0
- package/src/server-components/html-policy.ts +94 -0
- package/src/server-components/html.ts +81 -0
- package/src/server-components/islands.ts +111 -0
- package/src/server-components/native.ts +101 -0
- package/src/server-components/portal.ts +42 -0
- package/src/server-components/props.ts +19 -0
- package/src/server-components/protocol.ts +167 -0
- package/src/server-components/range.ts +313 -0
- package/src/server-components/registry.ts +34 -0
- package/src/server-components/response.ts +44 -0
- package/src/server-components/router-integration.ts +40 -0
- package/src/server-components/runtime.ts +376 -0
- package/src/server-components/scheduler.ts +84 -0
- package/src/server-components/schema.ts +69 -0
- package/src/server-components/server-entry.ts +98 -0
- package/src/server-components/source.ts +324 -0
- package/src/server-components/state.ts +143 -0
- package/src/server-components/stream.ts +71 -0
- package/src/server-components/trusted-html.ts +21 -0
- package/src/server-components/types.ts +138 -0
- package/src/server-components/typescript.ts +39 -0
- package/src/server-components/value.ts +82 -0
- package/src/server-components/vite.ts +242 -0
- package/src/server-components.ts +32 -0
- package/src/service-worker.ts +24 -7
- package/src/vite.ts +8 -1
- package/src/zones.ts +208 -7
package/README.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @nifrajs/web
|
|
2
2
|
|
|
3
|
+
Optional server components are implemented for React, Vue, Svelte and Solid in the post-4.0
|
|
4
|
+
feature branch. React uses native RSC/Flight; the other adapters use native islands in validated
|
|
5
|
+
server ranges. Definitions require closed input/public-props schemas and authorization. Refresh
|
|
6
|
+
executes the actual owner GET, preserving admission, read capabilities, budgets and cancellation;
|
|
7
|
+
output is private/no-store. Mutate through validated server functions or actions.
|
|
8
|
+
|
|
9
|
+
Use the `/server-components`, `/server-components/client`, `/server-components/islands` and
|
|
10
|
+
`/server-components/build` exports with an explicit `componentPipeline` named config export.
|
|
11
|
+
See [the server-components guide](https://nifra.dev/docs/server-components) and the four runnable
|
|
12
|
+
repository examples for complete entries, native outlets, exact compiler pins and rollback.
|
|
13
|
+
|
|
3
14
|
Framework-agnostic SSR core for nifra - the render seam + HTML document orchestration.
|
|
4
15
|
|
|
5
16
|
Part of the **[nifra](https://nifra.dev)** full-stack TypeScript framework - one core, five UI libraries, every runtime. Scaffold a new app with `bun create nifra`.
|
package/dist/build-vite.d.ts
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@nifrajs/web/build-vite` - the **Vite/Rollup production build**: the escape hatch, not the default.
|
|
3
|
+
*
|
|
4
|
+
* nifra's production default is Bun (`@nifrajs/web/build`), and stays so - it is faster and Bun-native,
|
|
5
|
+
* which is what nifra competes on. This exists for the one case that default cannot serve: an app whose
|
|
6
|
+
* client depends on a Vite-only transform with no Bun equivalent. For those, `buildClientVite` /
|
|
7
|
+
* `buildServerVite` produce the SAME artifacts as the Bun build - the same `BuildManifest`, the same
|
|
8
|
+
* `ServerBuild` - through Vite instead, and `buildTargetVite` assembles the same per-target deploy dir.
|
|
9
|
+
*
|
|
10
|
+
* Crucially this is NOT a second orchestrator. `buildTarget`'s deploy assembly, server-entry codegen,
|
|
11
|
+
* prerender and size report are bundler-agnostic; they live in `build.ts` behind `buildTargetWith`, which
|
|
12
|
+
* takes a {@link Bundler} strategy. This file only supplies the Vite strategy - the two bundling steps -
|
|
13
|
+
* so a change to how a deploy dir is shaped happens in one place for both pipelines.
|
|
14
|
+
*
|
|
15
|
+
* And it does not arrive without the client-leak guards: `buildClientVite` wires `viteLeakGuard()`, so
|
|
16
|
+
* server-only code or a `node:` builtin reaching the browser fails the Vite build with the identical
|
|
17
|
+
* error the Bun build raises. A second production pipeline without those guards is exactly the hole the
|
|
18
|
+
* bundler-neutral module graph was built to close.
|
|
19
|
+
*/
|
|
1
20
|
import { type BuildClientOptions, type BuildTargetOptions, type BuildTargetResult } from "./build.js";
|
|
2
21
|
import type { BuildManifest, BuildTarget, Bundler, ServerBuild } from "./build-plan.js";
|
|
3
22
|
import { type CssLoadingMode } from "./css-contract.js";
|
package/dist/build-vite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-vite.d.ts","sourceRoot":"","sources":["../src/build-vite.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-vite.d.ts","sourceRoot":"","sources":["../src/build-vite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAIvB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACvF,OAAO,EAEL,KAAK,cAAc,EAIpB,MAAM,mBAAmB,CAAA;AAyF1B;mEACmE;AACnE,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;IACjF,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IACzC,gGAAgG;IAChG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAA;CACrC;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsR7F;AAED,0GAA0G;AAC1G,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAC/C,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;IAC9E,oGAAoG;IACpG,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAA;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,yGAAyG;IACzG,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAAA;IAC5C,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,8FAA8F;IAC9F,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3C,yEAAyE;IACzE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC;AAoED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAyG3F;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,OAgCzB,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAE5B"}
|
package/dist/build-vite.js
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
21
21
|
import { dirname, join, relative, resolve as resolvePath } from "node:path";
|
|
22
|
+
import { singleCopyPackageNames } from "@nifrajs/core/single-copy";
|
|
22
23
|
import { buildTargetWith, copyPublicDir, publicEnvDefines, } from "./build.js";
|
|
23
24
|
import { assertCssLoadingCompatible, DEFAULT_CSS_LOADING, normalizeCssCodeSplit, normalizeCssLoading, } from "./css-contract.js";
|
|
24
25
|
import { discoverRoutes } from "./fs.js";
|
|
@@ -111,6 +112,8 @@ export async function buildClientVite(options) {
|
|
|
111
112
|
...(routeManifest.notFound ? [routeManifest.notFound.file] : []),
|
|
112
113
|
// A nested `_404` is an entry only for its stylesheet: it renders on the server, unhydrated.
|
|
113
114
|
...Object.values(routeManifest.notFounds ?? {}).map((page) => page.file),
|
|
115
|
+
// A `_loading` page is an entry for its stylesheet too: the bootstrap imports it lazily.
|
|
116
|
+
...Object.values(routeManifest.loadings ?? {}).map((page) => page.file),
|
|
114
117
|
]),
|
|
115
118
|
].sort();
|
|
116
119
|
// Vite manifest keys are the input path RELATIVE TO ROOT - precompute them so the lookup below is exact
|
|
@@ -148,7 +151,11 @@ export async function buildClientVite(options) {
|
|
|
148
151
|
generatedFiles: [entryFile],
|
|
149
152
|
verified,
|
|
150
153
|
...(options.publicEnvPrefix !== undefined ? { publicEnvPrefix: options.publicEnvPrefix } : {}),
|
|
151
|
-
|
|
154
|
+
// Vite reads `.env.<mode>` files too; a value only there is still the app's secret to keep.
|
|
155
|
+
secrets: {
|
|
156
|
+
env: { ...vite.loadEnv(mode, root, ""), ...buildEnv },
|
|
157
|
+
...(exemptions ? { exemptions } : {}),
|
|
158
|
+
},
|
|
152
159
|
};
|
|
153
160
|
// nifra copies `public/` after the build; the main guard scans it with the bundle.
|
|
154
161
|
const publicDir = options.publicDir === false ? undefined : (options.publicDir ?? "public");
|
|
@@ -178,7 +185,7 @@ export async function buildClientVite(options) {
|
|
|
178
185
|
// Same framework coverage as the Bun build's dedupe plugins, from the one policy table: one
|
|
179
186
|
// physical copy of react/react-dom, preact, and svelte, or a hook-using route gets a second
|
|
180
187
|
// dispatcher/options global. No-op per framework the app does not use.
|
|
181
|
-
dedupe: [...viteDedupePackages()],
|
|
188
|
+
dedupe: [...viteDedupePackages(), ...singleCopyPackageNames(root)],
|
|
182
189
|
...(options.conditions ? { conditions: [...options.conditions] } : {}),
|
|
183
190
|
},
|
|
184
191
|
css: {
|
|
@@ -271,15 +278,26 @@ export async function buildClientVite(options) {
|
|
|
271
278
|
const c = chunkFor(routeManifest.notFound.file);
|
|
272
279
|
routes._404 = c !== undefined ? [c] : [];
|
|
273
280
|
}
|
|
274
|
-
// CSS per route
|
|
281
|
+
// CSS per route. A manifest entry's `css` lists only that chunk's own stylesheets, so a page also
|
|
282
|
+
// needs those of every chunk it imports statically (a component two routes share gets a chunk of
|
|
283
|
+
// its own) and the bootstrap's, which every page loads (a stylesheet the client module imports).
|
|
284
|
+
// The bootstrap's come first: the whole-app stylesheet before any route-scoped one.
|
|
275
285
|
const stylesFor = (files) => {
|
|
276
286
|
const urls = new Set();
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
287
|
+
const seen = new Set();
|
|
288
|
+
const visit = (key) => {
|
|
289
|
+
if (key === undefined || seen.has(key))
|
|
290
|
+
return;
|
|
291
|
+
seen.add(key);
|
|
292
|
+
const entry = viteManifest[key];
|
|
280
293
|
for (const css of entry?.css ?? [])
|
|
281
294
|
urls.add(url(css));
|
|
282
|
-
|
|
295
|
+
for (const imported of entry?.imports ?? [])
|
|
296
|
+
visit(imported);
|
|
297
|
+
};
|
|
298
|
+
visit(entryKey);
|
|
299
|
+
for (const file of files)
|
|
300
|
+
visit(fileKey.get(file));
|
|
283
301
|
return [...urls];
|
|
284
302
|
};
|
|
285
303
|
// CSS aggregate - every stylesheet the app emits, the always-safe fallback. With native Vite
|
|
@@ -298,10 +316,13 @@ export async function buildClientVite(options) {
|
|
|
298
316
|
// A single aggregate stylesheet is deliberately the route fallback. A per-route `[]` map would
|
|
299
317
|
// suppress it in `createWebApp` and produce unstyled SSR on every route.
|
|
300
318
|
if (css.length > 0 && cssCodeSplit) {
|
|
319
|
+
// A `_loading` page can show on a navigation from ANY page, and a document links only its own
|
|
320
|
+
// route's stylesheets - so every page that can start a navigation carries the loading pages' too.
|
|
321
|
+
const loadingFiles = Object.values(routeManifest.loadings ?? {}).map((page) => page.file);
|
|
301
322
|
for (const route of routeManifest.routes)
|
|
302
|
-
routeStyles[route.id] = stylesFor(chainFiles(route));
|
|
323
|
+
routeStyles[route.id] = stylesFor([...chainFiles(route), ...loadingFiles]);
|
|
303
324
|
if (routeManifest.notFound)
|
|
304
|
-
routeStyles._404 = stylesFor([routeManifest.notFound.file]);
|
|
325
|
+
routeStyles._404 = stylesFor([routeManifest.notFound.file, ...loadingFiles]);
|
|
305
326
|
for (const [id, page] of Object.entries(routeManifest.notFounds ?? {})) {
|
|
306
327
|
routeStyles[id] = stylesFor([
|
|
307
328
|
...page.layoutIds.map((layoutId) => routeManifest.layouts[layoutId]?.file ?? ""),
|
|
@@ -429,7 +450,7 @@ export async function buildServerVite(options) {
|
|
|
429
450
|
"globalThis.__NIFRA_EDGE_RUNTIME__": edge ? "true" : "false",
|
|
430
451
|
},
|
|
431
452
|
resolve: {
|
|
432
|
-
dedupe: ["react", "react-dom"],
|
|
453
|
+
dedupe: ["react", "react-dom", ...singleCopyPackageNames(root)],
|
|
433
454
|
conditions: [...conditions],
|
|
434
455
|
},
|
|
435
456
|
plugins: [...(options.vitePlugins ?? [])],
|
package/dist/build-vite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-vite.js","sourceRoot":"","sources":["../src/build-vite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAA;AAC3E,OAAO,EAIL,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,0BAA0B,EAE1B,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EACL,iCAAiC,EACjC,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,mBAAmB,GACpB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAoB9D,gGAAgG;AAChG,KAAK,UAAU,QAAQ;IACrB,IAAI,CAAC;QACH,OAAO,MAAM,UAAU,EAAc,CAAA;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mEAAmE;QACnE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,IAAI,KAAK,CACb,UAAU;YACR,CAAC,CAAC,yFAAyF;gBACvF,4FAA4F;gBAC5F,4BAA4B,OAAO,EAAE;YACzC,CAAC,CAAC,8FAA8F,OAAO,IAAI;gBACvG,iGAAiG;gBACjG,yEAAyE,EAC/E,EAAE,KAAK,EAAE,CACV,CAAA;IACH,CAAC;AACH,CAAC;AAED,yGAAyG;AACzG,0GAA0G;AAC1G,wGAAwG;AACxG,mFAAmF;AACnF,IAAI,gBAAgB,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;AAEvD,KAAK,UAAU,qBAAqB,CAAI,IAAY,EAAE,GAAqB;IACzE,MAAM,aAAa,GAAG,gBAAgB,CAAA;IACtC,IAAI,OAAoB,CAAA;IACxB,gBAAgB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC/C,OAAO,GAAG,OAAO,CAAA;IACnB,CAAC,CAAC,CAAA;IACF,MAAM,aAAa,CAAA;IAEnB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA;IACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAA;IAC3B,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,EAAE,CAAA;IACpB,CAAC;YAAS,CAAC;QACT,sGAAsG;QACtG,yGAAyG;QACzG,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA;;YAClD,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACpC,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAsBD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAA+B;IACnE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;IACnD,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAChE,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,UAAU,IAAI,mBAAmB,CAAC,CAAA;IACjF,0BAA0B,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACpD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;IAC5D,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,CAAA;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,UAAU,CAAA;IACnD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtC,MAAM,aAAa,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IAC/C,kGAAkG;IAClG,0GAA0G;IAC1G,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAA;IACpF,MAAM,SAAS,GAAG,GAAG,QAAQ,kBAAkB,CAAA;IAC/C,aAAa,CACX,SAAS,EACT,wCAAwC,mBAAmB,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CACxG,CAAA;IAED,sGAAsG;IACtG,0FAA0F;IAC1F,MAAM,UAAU,GAAG;QACjB,GAAG,IAAI,GAAG,CAAC;YACT,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1D,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,6FAA6F;YAC7F,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACzE,CAAC;KACH,CAAC,IAAI,EAAE,CAAA;IAER,wGAAwG;IACxG,2EAA2E;IAC3E,MAAM,KAAK,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACxF,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;IACjC,MAAM,KAAK,GAA2B,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA,CAAC,uCAAuC;IACjF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QACtC,kGAAkG;QAClG,oGAAoG;QACpG,uGAAuG;QACvG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;QAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,wGAAwG;IACxG,uGAAuG;IACvG,sGAAsG;IACtG,mGAAmG;IACnG,8FAA8F;IAC9F,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAA;IACpE,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAA;IAClF,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,eAAe,IAAI,SAAS,EAAE,QAAQ,CAAC,CAAA;IACtF,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAA;IAC7B,oGAAoG;IACpG,iEAAiE;IACjE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAA;IAC3C,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;QAC3B,SAAS;QACT,IAAI;QACJ,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;QAC3B,cAAc,EAAE,CAAC,SAAS,CAAC;QAC3B,QAAQ;QACR,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;KAClE,CAAA;IACD,mFAAmF;IACnF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAA;IAC3F,MAAM,SAAS,GAAG,aAAa,CAAC;QAC9B,GAAG,YAAY;QACf,OAAO,EAAE,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;KACxF,CAAC,CAAA;IACF,MAAM,aAAa,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;IACrD,MAAM,YAAY,GAA6C,EAAE,CAAA;IACjE,IAAI,CAAC;QACH,MAAM,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,CACrC,IAAI,CAAC,KAAK,CAAC;YACT,IAAI;YACJ,IAAI,EAAE,UAAU;YAChB,IAAI;YACJ,kFAAkF;YAClF,SAAS,EAAE,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC;YACvD,QAAQ,EAAE,QAAQ;YAClB,yFAAyF;YACzF,oFAAoF;YACpF,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE;gBACN,GAAG,aAAa;gBAChB,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC5C,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;aAC1B;YACD,OAAO,EAAE;gBACP,4FAA4F;gBAC5F,4FAA4F;gBAC5F,uEAAuE;gBACvE,MAAM,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC;gBACjC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvE;YACD,GAAG,EAAE;gBACH,OAAO,EAAE;oBACP,wFAAwF;oBACxF,2FAA2F;oBAC3F,uFAAuF;oBACvF,kBAAkB,EAAE,CAAC,IAAY,EAAE,QAAgB,EAAU,EAAE,CAC7D,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;iBAC/C;aACF;YACD,kFAAkF;YAClF,mGAAmG;YACnG,OAAO,EAAE,CAAC,uBAAuB,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC;YACnF,MAAM,EAAE;gBACN,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;oBACzC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;oBAChD,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;oBAClC,OAAO,CAAC,uBAAuB,EAAE,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;gBACzE,CAAC;aACF;YACD,KAAK,EAAE;gBACL,MAAM;gBACN,WAAW,EAAE,KAAK,EAAE,2EAA2E;gBAC/F,QAAQ,EAAE,IAAI;gBACd,YAAY;gBACZ,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;gBAChC,aAAa,EAAE;oBACb,4FAA4F;oBAC5F,iFAAiF;oBACjF,+FAA+F;oBAC/F,4FAA4F;oBAC5F,8FAA8F;oBAC9F,QAAQ,EAAE,CAAC,QAAQ,CAAC;oBACpB,KAAK;oBACL,wEAAwE;oBACxE,OAAO,EAAE,CAAC,gBAAgB,EAAE,EAAE,SAAS,CAAC;oBACxC,MAAM,EAAE;wBACN,cAAc,EAAE,kBAAkB;wBAClC,cAAc,EAAE,kBAAkB;wBAClC,cAAc,EAAE,wBAAwB;qBACzC;iBACF;aACF;SACF,CAAC,CACH,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gGAAgG;QAChG,iGAAiG;QACjG,+FAA+F;QAC/F,+FAA+F;QAC/F,kFAAkF;QAClF,MAAM,IAAI,GACR,aAAa,CAAC,IAAI;YAClB,SAAS,CAAC,IAAI;YACd,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,IAAI,CAAA;QAC9D,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/D,MAAM,KAAK,CAAA;IACb,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAC7B,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CACxC,CAAA;IACtB,0FAA0F;IAC1F,MAAM,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,GAAG,UAAU,GAAG,IAAI,EAAE,CAAA;IAE5D,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACxC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,wEAAwE,QAAQ,KAAK;YACnF,oDAAoD,CACvD,CAAA;IACH,CAAC;IAED,wGAAwG;IACxG,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAsB,EAAE;QACpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC7B,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/D,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1D,CAAC,CAAA;IACD,MAAM,UAAU,GAAG,CAAC,KAA4C,EAAY,EAAE,CAAC;QAC7E,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;QACrE,KAAK,CAAC,IAAI;KACX,CAAA;IACD,MAAM,MAAM,GAA6B,EAAE,CAAA;IAC3C,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;aACjC,GAAG,CAAC,QAAQ,CAAC;aACb,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAA;IAChD,CAAC;IACD,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/C,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1C,CAAC;IAED,yFAAyF;IACzF,MAAM,SAAS,GAAG,CAAC,KAAwB,EAAqB,EAAE;QAChE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC7B,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YAC/D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,GAAG,IAAI,EAAE;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACxD,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IAClB,CAAC,CAAA;IACD,6FAA6F;IAC7F,+FAA+F;IAC/F,qGAAqG;IACrG,qCAAqC;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,CAAA;IACvB,MAAM,WAAW,GAAsC,EAAE,CAAA;IACzD,+FAA+F;IAC/F,yEAAyE;IACzE,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM;YAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9F,IAAI,aAAa,CAAC,QAAQ;YAAE,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QACvF,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;YACvE,WAAW,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;gBAC1B,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;gBAChF,IAAI,CAAC,IAAI;aACV,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,uFAAuF;IACvF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAC3B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACvD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,WAAW,GACf,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAEhG,MAAM,QAAQ,GAAkB;QAC9B,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;QACnB,MAAM;QACN,YAAY;QACZ,UAAU;QACV,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAA;IACD,iCAAiC,CAAC,6BAA6B,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAA;IAChG,aAAa,CAAC,GAAG,MAAM,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3E,OAAO,QAAQ,CAAA;AACjB,CAAC;AA8DD,wFAAwF;AACxF,SAAS,gBAAgB;IACvB,MAAM,MAAM,GAAoB;QAC9B,IAAI,EAAE,+BAA+B;QACrC,cAAc,CAAC,QAAQ,EAAE,MAAM;YAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;YAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;YACnC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;oBAAE,SAAQ;gBACrC,KAAK,MAAM,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;oBACtF,IAAI,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC;wBAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBACvE,CAAC;gBACD,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;oBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;oBACnC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAA;oBACvF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;wBACvE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACrB,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAM;YAC/B,MAAM,IAAI,GACR,+DAA+D,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAClG,gBAAgB,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,IAAI;gBACxE,qFAAqF,CAAA;YACvF,mCAAmC;YACnC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;YAClB,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7B,CAAC;KACF,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAA+B;IACnE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAChG,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,oBAAoB,CAAA;IACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,CAAA;IACzE,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAA;IAC1C,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAA;IACjC,qGAAqG;IACrG,0EAA0E;IAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IAEjG,MAAM,aAAa,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IAC/C,aAAa,CACX,GAAG,QAAQ,IAAI,YAAY,EAAE,EAC7B,sBAAsB,CAAC,aAAa,EAAE;QACpC,OAAO;QACP,WAAW;QACX,MAAM;QACN,WAAW;QACX,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC,CACH,CAAA;IAED,oGAAoG;IACpG,kGAAkG;IAClG,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAA;IACpE,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAA;IAC7B,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAA;IACpC,MAAM,SAAS,GAAG,mBAAmB,CAAC;QACpC,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC;QACjC,cAAc,EAAE;YACd,WAAW;YACX,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;YAC5B,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;SAClC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/F,CAAC,CAAA;IACF,IAAI,CAAC;QACH,MAAM,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,CACrC,IAAI,CAAC,KAAK,CAAC;YACT,IAAI;YACJ,IAAI;YACJ,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE;gBACN,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC5C,gGAAgG;gBAChG,qFAAqF;gBACrF,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;gBACzB,+BAA+B,EAAE,KAAK;gBACtC,mCAAmC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;aAC7D;YACD,OAAO,EAAE;gBACP,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;gBAC9B,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC;aAC5B;YACD,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACzC,KAAK,EAAE;gBACL,MAAM;gBACN,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;gBAChC,GAAG,EAAE,WAAW;gBAChB,aAAa,EAAE;oBACb,yFAAyF;oBACzF,2FAA2F;oBAC3F,QAAQ,EAAE,CAAC,QAAQ,CAAC;oBACpB,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;oBAClD,0FAA0F;oBAC1F,2FAA2F;oBAC3F,8FAA8F;oBAC9F,+FAA+F;oBAC/F,8FAA8F;oBAC9F,2FAA2F;oBAC3F,6FAA6F;oBAC7F,8EAA8E;oBAC9E,iGAAiG;oBACjG,MAAM,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE;iBACpE;gBACD,kGAAkG;gBAClG,gFAAgF;gBAChF,aAAa,EAAE,KAAK;aACrB;YACD,GAAG,EAAE;gBACH,UAAU,EAAE,IAAI;gBAChB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzC;SACF,CAAC,CACH,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mGAAmG;QACnG,8CAA8C;QAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAA;QAC7C,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/D,MAAM,KAAK,CAAA;IACb,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACxC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAA;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CACrB,eAAe,CAAC;QACd,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;IACJ,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CACrB,eAAe,CAAC;QACd,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3F,CAAC;CACL,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAmB,EACnB,OAA2B;IAE3B,OAAO,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;AACtD,CAAC"}
|
|
1
|
+
{"version":3,"file":"build-vite.js","sourceRoot":"","sources":["../src/build-vite.ts"],"names":[],"mappings":"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"}
|
package/dist/build.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { publicEnvDefines } from "./internal/public-env.js";
|
|
1
2
|
import { type BunPlugin } from "bun";
|
|
2
3
|
import { type BuildManifest, type BuildTarget, type Bundler, type ServerBuild, type SizeReport } from "./build-plan.js";
|
|
3
4
|
import { type CssLoadingMode } from "./css-contract.js";
|
|
@@ -51,14 +52,6 @@ export interface BuildClientOptions {
|
|
|
51
52
|
*/
|
|
52
53
|
readonly secretExemptions?: readonly SecretExemption[];
|
|
53
54
|
}
|
|
54
|
-
/**
|
|
55
|
-
* The `process.env.<NAME>` → `JSON.stringify(value)` define entries for every env var whose name
|
|
56
|
-
* carries `prefix` (the Vite/Next public-env convention). Exposing ONLY the prefixed vars is the
|
|
57
|
-
* security boundary: an unprefixed var (a secret) never gets a define, so the bare `process.env`
|
|
58
|
-
* define resolves it to `undefined` in the client bundle. An empty `prefix` exposes nothing (the
|
|
59
|
-
* opt-out). Pure + exported so the prefix/redaction contract is unit-testable without a real build.
|
|
60
|
-
*/
|
|
61
|
-
export declare function publicEnvDefines(prefix: string, env: Readonly<Record<string, string | undefined>>): Record<string, string>;
|
|
62
55
|
export interface CloudflareRouteRules {
|
|
63
56
|
readonly include: readonly string[];
|
|
64
57
|
readonly exclude: readonly string[];
|
|
@@ -267,16 +260,21 @@ export declare function generateServerEntry(options: {
|
|
|
267
260
|
readonly title?: string;
|
|
268
261
|
/** Encoded root-relative public file paths copied into the deploy directory. */
|
|
269
262
|
readonly publicFiles?: readonly string[];
|
|
263
|
+
/** URL paths of the content-hashed client outputs (the build manifest's `assets`). When given, a
|
|
264
|
+
* self-hosted entry caches only these immutably; otherwise every file under `/assets/` is. */
|
|
265
|
+
readonly hashedFiles?: readonly string[];
|
|
270
266
|
/** Trust the edge platform's client-address header for `c.clientIp`. See {@link ServerEntryClientIp}. */
|
|
271
267
|
readonly clientIp?: ServerEntryClientIp;
|
|
272
268
|
}): string;
|
|
273
269
|
export interface BuildTargetOptions {
|
|
274
270
|
/** The `routes/` directory to discover (absolute path). */
|
|
275
271
|
readonly routesDir: string;
|
|
276
|
-
/** Output directory for the assembled deploy dir (absolute path). Cleared and recreated
|
|
272
|
+
/** Output directory for the assembled deploy dir (absolute path). Cleared and recreated, so the
|
|
273
|
+
* build refuses one that is a filesystem root or is or contains the routes directory, the public
|
|
274
|
+
* directory, an absolute entry module, or the working directory. */
|
|
277
275
|
readonly outDir: string;
|
|
278
276
|
/** A scratch directory for intermediate codegen (the generated server entry + manifest) and the
|
|
279
|
-
* server bundle, cleaned up after. Absolute path. */
|
|
277
|
+
* server bundle, cleaned up after. Absolute path. Checked the same way as `outDir`. */
|
|
280
278
|
readonly workDir: string;
|
|
281
279
|
/** The adapter's client runtime module (exports `mountRouter`), e.g. `"@nifrajs/web-react/client"`. */
|
|
282
280
|
readonly clientModule: string;
|
package/dist/build.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAyB3D,OAAO,EAAE,KAAK,SAAS,EAAQ,MAAM,KAAK,CAAA;AAC1C,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,WAAW,EAEhB,KAAK,OAAO,EAYZ,KAAK,WAAW,EAChB,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,KAAK,cAAc,EAA8C,MAAM,mBAAmB,CAAA;AAEnG,OAAO,EAAuB,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAWxE,OAAO,EAQL,KAAK,eAAe,EAGrB,MAAM,2BAA2B,CAAA;AAwBlC,cAAc,iBAAiB,CAAA;AA+B/B,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAG5E,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,eAAe,GAChB,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,gGAAgG;IAChG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC3C,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,SAAS,EAAE,CAAA;IACvC,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,qFAAqF;IACrF,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,oGAAoG;IACpG,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACnC;;;;;;;;uCAQmC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;CACvD;AAiBD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,mGAAmG;IACnG,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AA2DD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,SAAS,MAAM,EAAE;AAC9B;;;;GAIG;AACH,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,oBAAoB,CAgCtB;AAED,8FAA8F;AAC9F;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqB/E;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,EACtD,YAAY,EAAE,MAAM,GACnB,MAAM,CAUR;AAED;;;;;;GAMG;AACH;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CA6WrF;AAED,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B;kHAC8G;IAC9G,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB;0FACsF;IACtF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B;;oEAEgE;IAChE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAC/C,0GAA0G;IAC1G,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;IAC9E,oGAAoG;IACpG,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAA;IACpC;gFAC4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC3C;wFACoF;IACpF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B;gEAC4D;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,SAAS,EAAE,CAAA;IACvC;kCAC8B;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC;+FAC2F;IAC3F,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB;;;;6BAIyB;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,KAAK,CAAA;IAC5C;;;;2GAIuG;IACvG,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,iGAAiG;IACjG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB;gGAC4F;IAC5F,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3C;8CAC0C;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC;AA+BD,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,SAc/C,CAAA;AAcF,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,SAchD,CAAA;AAGF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,SAgDhD,CAAA;AAuFF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,QAAO,SAWpC,CAAA;AAqBF;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CA+GnF;AAWD,sGAAsG;AACtG,eAAO,MAAM,oBAAoB,8DAA+D,CAAA;AAChG,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AACrE,oFAAoF;AACpF,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;AAE3F;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAA;AAa5C;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,mGAAmG;IACnG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B;mDAC+C;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;0BACsB;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE,wBAAwB,CAAA;IACjD,mDAAmD;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,gFAAgF;IAChF,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACxC;kGAC8F;IAC9F,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACxC,yGAAyG;IACzG,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;CACxC,GAAG,MAAM,CAyMT;AAkBD,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B;;wEAEoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB;2FACuF;IACvF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,uGAAuG;IACvG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,sGAAsG;IACtG,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B;;oCAEgC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;8GAC0G;IAC1G,QAAQ,CAAC,aAAa,CAAC,EAAE,wBAAwB,CAAA;IACjD;;;;+FAI2F;IAC3F,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC/F,iEAAiE;IACjE,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,SAAS,EAAE,CAAA;IAC7C,oDAAoD;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,SAAS,EAAE,CAAA;IAC7C,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACnC,4FAA4F;IAC5F,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,oGAAoG;IACpG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;IACtD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAA;IACpC,yDAAyD;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB;+FAC2F;IAC3F,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;CACxC;AAED,wGAAwG;AACxG,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAClD;AAED,qGAAqG;AACrG,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB;kCAC8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,iFAAiF;AACjF,eAAO,MAAM,UAAU,EAAE,OAqCxB,CAAA;AAsBD,uGAAuG;AACvG,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAE5B;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,iBAAiB,CAAC,CA4M5B"}
|
package/dist/build.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { publicEnvDefines } from "./internal/public-env.js";
|
|
2
|
+
export { publicEnvDefines } from "./internal/public-env.js";
|
|
1
3
|
/**
|
|
2
4
|
* `@nifrajs/web/build` - the production build (Bun-only, build-time). `buildClient` codegens + bundles
|
|
3
5
|
* the client entry (content-hashed, code-split); `buildServer` codegens the static-import server
|
|
@@ -7,7 +9,7 @@
|
|
|
7
9
|
*/
|
|
8
10
|
import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
9
11
|
import { cp, lstat, mkdir, realpath } from "node:fs/promises";
|
|
10
|
-
import { dirname, join, basename as pathBasename, posix, relative, resolve as resolvePath, sep, } from "node:path";
|
|
12
|
+
import { dirname, isAbsolute, join, basename as pathBasename, posix, relative, resolve as resolvePath, sep, } from "node:path";
|
|
11
13
|
import { singleCopyPlugin as declaredSingleCopyPlugin, readSingleCopyDeclaration, } from "@nifrajs/core/single-copy";
|
|
12
14
|
import { Glob } from "bun";
|
|
13
15
|
import { aggregateSizeReport, detectNodeBuiltinsInClient, detectServerOnlyInClient, formatNodeBuiltinLeak, formatServerOnlyLeak, parseBuildTarget, parseManifestClientEntry, parseManifestCssLoading, parseManifestRouteStyles, parseManifestStyles, planBuildTarget, } from "./build-plan.js";
|
|
@@ -15,6 +17,8 @@ import { sanitizeOutputNames } from "./chunk-names.js";
|
|
|
15
17
|
import { normalizeCssCodeSplit, normalizeCssLoading } from "./css-contract.js";
|
|
16
18
|
import { discoverRoutes } from "./fs.js";
|
|
17
19
|
import { generateClientEntry, generateServerManifest } from "./index.js";
|
|
20
|
+
import { assertDisposableDir } from "./internal/disposable-dir.js";
|
|
21
|
+
import { entryChunks } from "./internal/entry-chunks.js";
|
|
18
22
|
import { dedupePolicyFor } from "./internal/identity-policy.js";
|
|
19
23
|
import { assertDevelopmentProductionParity, assertIdentityParity, collectDevelopmentParityInput, } from "./internal/parity.js";
|
|
20
24
|
import { privateEnvCheck } from "./internal/private-env.js";
|
|
@@ -51,18 +55,6 @@ export { cloudflarePagesRoutes, dataFileFor, htmlFileFor, prerenderRoutes, } fro
|
|
|
51
55
|
* define resolves it to `undefined` in the client bundle. An empty `prefix` exposes nothing (the
|
|
52
56
|
* opt-out). Pure + exported so the prefix/redaction contract is unit-testable without a real build.
|
|
53
57
|
*/
|
|
54
|
-
export function publicEnvDefines(prefix, env) {
|
|
55
|
-
const defines = {};
|
|
56
|
-
if (prefix === "")
|
|
57
|
-
return defines; // opt-out: bake in nothing
|
|
58
|
-
for (const [name, value] of Object.entries(env)) {
|
|
59
|
-
// Skip `undefined` (a deleted/unset key can still enumerate) so we never bake in `"undefined"`.
|
|
60
|
-
if (name.startsWith(prefix) && value !== undefined) {
|
|
61
|
-
defines[`process.env.${name}`] = JSON.stringify(value);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return defines;
|
|
65
|
-
}
|
|
66
58
|
/**
|
|
67
59
|
* Cloudflare Pages rejects a `_routes.json` with more than 100 include+exclude rules combined, or any
|
|
68
60
|
* single rule longer than 100 characters.
|
|
@@ -442,21 +434,27 @@ export async function buildClient(options) {
|
|
|
442
434
|
// rewrite the references - otherwise the lazy import 404s and the route silently never hydrates.
|
|
443
435
|
const renamed = sanitizeOutputNames(outputs);
|
|
444
436
|
const toUrl = (path) => `${publicPath}${renamed.get(basename(path)) ?? basename(path)}`;
|
|
445
|
-
//
|
|
446
|
-
//
|
|
447
|
-
//
|
|
437
|
+
// Each entry's chunk is the output the metafile names that entry's source for. The position among the
|
|
438
|
+
// entry-point outputs ([bootstrap, ...routeFiles]) is only the fallback, for an entry the metafile
|
|
439
|
+
// does not name by path (a `resolve` that returns a bare specifier). A route's chunks = its layout
|
|
440
|
+
// chain + own file.
|
|
448
441
|
const entryPoints = outputs.filter((o) => o.kind === "entry-point");
|
|
449
|
-
const bootstrap = entryPoints[0];
|
|
450
|
-
if (bootstrap === undefined)
|
|
451
|
-
throw new Error("[nifra/web] build produced no entry-point output");
|
|
452
442
|
if (entryPoints.length !== routeFiles.length + 1) {
|
|
453
443
|
throw new Error(`[nifra/web] expected ${routeFiles.length + 1} entry-point outputs (bootstrap + ${routeFiles.length} routes), got ${entryPoints.length}`);
|
|
454
444
|
}
|
|
445
|
+
const bySource = entryChunks(clientMeta?.outputs ?? {}, cwd);
|
|
446
|
+
const chunkOf = (source, position) => {
|
|
447
|
+
const path = bySource.get(resolvePath(source)) ?? entryPoints[position]?.path;
|
|
448
|
+
return path === undefined ? undefined : toUrl(path);
|
|
449
|
+
};
|
|
450
|
+
const entryUrl = chunkOf(entryFile, 0);
|
|
451
|
+
if (entryUrl === undefined)
|
|
452
|
+
throw new Error("[nifra/web] build produced no entry-point output");
|
|
455
453
|
const fileToChunk = new Map();
|
|
456
454
|
routeFiles.forEach((file, i) => {
|
|
457
|
-
const
|
|
458
|
-
if (
|
|
459
|
-
fileToChunk.set(file,
|
|
455
|
+
const url = chunkOf(resolve(file), i + 1);
|
|
456
|
+
if (url !== undefined)
|
|
457
|
+
fileToChunk.set(file, url);
|
|
460
458
|
});
|
|
461
459
|
const chunksFor = (chainFiles) => chainFiles.map((f) => fileToChunk.get(f)).filter((u) => u !== undefined);
|
|
462
460
|
const routes = {};
|
|
@@ -495,15 +493,34 @@ export async function buildClient(options) {
|
|
|
495
493
|
// links only its layout chain + own CSS (deduped); an empty array means the page needs no CSS at all.
|
|
496
494
|
// Absent (→ aggregate fallback) only if Bun emits no metafile/cssBundle - never silently incomplete.
|
|
497
495
|
const cssByEntry = new Map();
|
|
496
|
+
const bootstrapEntry = resolvePath(entryFile);
|
|
497
|
+
let bootstrapSources = [];
|
|
498
|
+
const routeSources = new Set();
|
|
498
499
|
for (const out of Object.values(clientMeta?.outputs ?? {})) {
|
|
499
500
|
if (out.entryPoint !== undefined && out.cssBundle !== undefined) {
|
|
500
|
-
|
|
501
|
+
const entry = resolvePath(cwd, out.entryPoint);
|
|
502
|
+
cssByEntry.set(entry, toUrl(out.cssBundle));
|
|
503
|
+
const sources = Object.keys(clientMeta?.outputs?.[out.cssBundle]?.inputs ?? {});
|
|
504
|
+
if (entry === bootstrapEntry)
|
|
505
|
+
bootstrapSources = sources;
|
|
506
|
+
else
|
|
507
|
+
for (const source of sources)
|
|
508
|
+
routeSources.add(source);
|
|
501
509
|
}
|
|
502
510
|
}
|
|
511
|
+
// A stylesheet the client module imports is bundled only into the bootstrap's CSS, which also holds
|
|
512
|
+
// every route's (the bootstrap imports each route lazily). When it carries CSS no route entry owns,
|
|
513
|
+
// every page links that bundle first, the whole-app stylesheet before any route-scoped one, as a
|
|
514
|
+
// Vite page links the bootstrap's; otherwise the page renders without it.
|
|
515
|
+
const leadingCss = bootstrapSources.some((source) => !routeSources.has(source))
|
|
516
|
+
? cssByEntry.get(bootstrapEntry)
|
|
517
|
+
: undefined;
|
|
503
518
|
const stylesFor = (chainFiles) => {
|
|
504
519
|
const urls = chainFiles
|
|
505
520
|
.map((f) => (f ? cssByEntry.get(resolvePath(resolve(f))) : undefined))
|
|
506
521
|
.filter((u) => u !== undefined);
|
|
522
|
+
if (leadingCss !== undefined)
|
|
523
|
+
urls.unshift(leadingCss);
|
|
507
524
|
return [...new Set(urls)];
|
|
508
525
|
};
|
|
509
526
|
const routeStyles = {};
|
|
@@ -511,7 +528,7 @@ export async function buildClient(options) {
|
|
|
511
528
|
// route entry (StyleX's atomic CSS is one example). In that shape there is no useful per-route map:
|
|
512
529
|
// emitting `routeId: []` would suppress the aggregate `styles` fallback in `createWebApp` and render
|
|
513
530
|
// SSR pages unstyled. Keep routeStyles absent until at least one authored route entry owns CSS.
|
|
514
|
-
const routeCssEntries = [...cssByEntry.keys()].filter((entry) => entry !==
|
|
531
|
+
const routeCssEntries = [...cssByEntry.keys()].filter((entry) => entry !== bootstrapEntry);
|
|
515
532
|
if (css.length > 0 && routeCssEntries.length > 0) {
|
|
516
533
|
// A `_loading` page can show on a navigation from ANY page, and a document links only its own
|
|
517
534
|
// route's stylesheets - so every page that can start a navigation carries the loading pages' too.
|
|
@@ -537,7 +554,7 @@ export async function buildClient(options) {
|
|
|
537
554
|
// apps have none) and must not fail the build.
|
|
538
555
|
const publicFiles = publicDir !== undefined && existsSync(publicDir) ? await copyPublicDir(publicDir, outDir) : [];
|
|
539
556
|
const manifest = {
|
|
540
|
-
entry:
|
|
557
|
+
entry: entryUrl,
|
|
541
558
|
assets: outputs.map((o) => toUrl(o.path)),
|
|
542
559
|
routes,
|
|
543
560
|
...(publicFiles.length > 0 ? { publicFiles } : {}),
|
|
@@ -750,11 +767,24 @@ function withEmittedImports(graph, emitted, publicPath) {
|
|
|
750
767
|
}
|
|
751
768
|
return { ...graph, chunks };
|
|
752
769
|
}
|
|
753
|
-
/**
|
|
770
|
+
/**
|
|
771
|
+
* Refusals the bundler stopped on before it produced a graph, so without import chains. Files sharing
|
|
772
|
+
* one reason share one line: with no chain to tell them apart, 50 lines would say one thing 50 times.
|
|
773
|
+
*/
|
|
754
774
|
function formatRefusedFiles(refused, root) {
|
|
755
|
-
const
|
|
775
|
+
const byReason = new Map();
|
|
776
|
+
for (const [file, reason] of refused) {
|
|
756
777
|
const rel = relative(root, file).replaceAll("\\", "/");
|
|
757
|
-
|
|
778
|
+
const shown = rel.startsWith("..") ? file : rel;
|
|
779
|
+
const files = byReason.get(reason);
|
|
780
|
+
if (files === undefined)
|
|
781
|
+
byReason.set(reason, [shown]);
|
|
782
|
+
else
|
|
783
|
+
files.push(shown);
|
|
784
|
+
}
|
|
785
|
+
const lines = [...byReason].map(([reason, files]) => {
|
|
786
|
+
const more = files.length > 5 ? ` and ${files.length - 5} more` : "";
|
|
787
|
+
return ` - ${files.slice(0, 5).join(", ")}${more}: ${reason}`;
|
|
758
788
|
});
|
|
759
789
|
return `[nifra/web] the browser build reached code that may not ship to a browser:\n${lines.join("\n")}`;
|
|
760
790
|
}
|
|
@@ -934,7 +964,7 @@ const PLATFORM_CLIENT_IP_HEADERS = {
|
|
|
934
964
|
* string out) so the generation is unit-testable without a real build.
|
|
935
965
|
*/
|
|
936
966
|
export function generateServerEntry(options) {
|
|
937
|
-
const { target, adapterImport, backendImport, useImport, optionImports = {}, title = "nifra", publicFiles = [], clientIp, } = options;
|
|
967
|
+
const { target, adapterImport, backendImport, useImport, optionImports = {}, title = "nifra", publicFiles = [], hashedFiles, clientIp, } = options;
|
|
938
968
|
if (clientIp !== undefined && clientIp !== "platform") {
|
|
939
969
|
throw new Error(`[nifra/web] generateServerEntry: clientIp must be "platform" or left out, got ${JSON.stringify(clientIp)}`);
|
|
940
970
|
}
|
|
@@ -993,10 +1023,12 @@ export function generateServerEntry(options) {
|
|
|
993
1023
|
return `${lines.join("\n")}\n`;
|
|
994
1024
|
}
|
|
995
1025
|
// bun / node / deno self-host AND serve the client bundle from disk (it sits next to this entry).
|
|
996
|
-
lines.push("// The client bundle and public files live next to this entry; serve only manifest-approved paths.", 'const STATIC_ROOT = new URL("./", import.meta.url)', `const PUBLIC_FILES = new Set(${JSON.stringify(publicFiles)})`,
|
|
1026
|
+
lines.push("// The client bundle and public files live next to this entry; serve only manifest-approved paths.", 'const STATIC_ROOT = new URL("./", import.meta.url)', `const PUBLIC_FILES = new Set(${JSON.stringify(publicFiles)})`, ...(hashedFiles !== undefined
|
|
1027
|
+
? [`const HASHED_FILES = new Set(${JSON.stringify(hashedFiles)})`]
|
|
1028
|
+
: []), "const staticPath = (pathname: string): string | undefined => {", " if (PUBLIC_FILES.has(pathname)) return '.' + pathname", ' if (!pathname.startsWith("/assets/")) return undefined', ' const segments = pathname.slice(1).split("/")', " // `.` and `..` match the character class, and the path is joined onto a base URL that resolves", " // dot segments - so they are rejected explicitly rather than relying on the request URL having", " // been normalized upstream.", " const safe = (segment: string): boolean =>", ' segment !== "." && segment !== ".." && /^[A-Za-z0-9._-]+$/.test(segment)', " return segments.every(safe) ? '.' + pathname : undefined", "}",
|
|
997
1029
|
// The type table and cache policy `servePublicDir` uses. Without a known type, Bun answers a file
|
|
998
1030
|
// as an `application/octet-stream` attachment, which a browser downloads instead of showing.
|
|
999
|
-
`const TYPES: Record<string, string> = ${JSON.stringify(CONTENT_TYPES)}`, "const staticHeaders = (pathname: string): Record<string, string> => ({", ' "content-type": TYPES[pathname.slice(pathname.lastIndexOf(".")).toLowerCase()] ?? "application/octet-stream",', ` "cache-control": pathname.startsWith("/assets/") ? ${JSON.stringify(IMMUTABLE)} : ${JSON.stringify(ONE_DAY)},`, ' "x-content-type-options": "nosniff",', "})");
|
|
1031
|
+
`const TYPES: Record<string, string> = ${JSON.stringify(CONTENT_TYPES)}`, "const staticHeaders = (pathname: string): Record<string, string> => ({", ' "content-type": TYPES[pathname.slice(pathname.lastIndexOf(".")).toLowerCase()] ?? "application/octet-stream",', ` "cache-control": ${hashedFiles !== undefined ? "HASHED_FILES.has(pathname)" : 'pathname.startsWith("/assets/")'} ? ${JSON.stringify(IMMUTABLE)} : ${JSON.stringify(ONE_DAY)},`, ' "x-content-type-options": "nosniff",', "})");
|
|
1000
1032
|
// Bun.serve and Deno.serve delimit the body themselves, so its declared length is the transport
|
|
1001
1033
|
// frame - the guarantee core's own listen() and the Deno adapter mark (see markTrustedBodyFraming).
|
|
1002
1034
|
const markFramed = '(req as unknown as Record<symbol, unknown>)[Symbol.for("nifra.body.trustedFraming")] = true';
|
|
@@ -1079,6 +1111,21 @@ export const bunBundler = {
|
|
|
1079
1111
|
...(input.publicEnvPrefix !== undefined ? { publicEnvPrefix: input.publicEnvPrefix } : {}),
|
|
1080
1112
|
}),
|
|
1081
1113
|
};
|
|
1114
|
+
/** Refuse a public file that shares a path with a file the target writes into the same directory: the
|
|
1115
|
+
* build overwrites it, and the server would then answer that public path with its own bundle. */
|
|
1116
|
+
function assertNoPublicCollision(plan, publicFiles, outDir) {
|
|
1117
|
+
if (plan.kind !== "server" || plan.staticDir !== "")
|
|
1118
|
+
return;
|
|
1119
|
+
const owned = [`/${plan.outputFile}`];
|
|
1120
|
+
if (plan.target === "cloudflare")
|
|
1121
|
+
owned.push("/_routes.json");
|
|
1122
|
+
// Compared case-insensitively: on a case-insensitive filesystem `Server.js` is the same file.
|
|
1123
|
+
const clashes = publicFiles.filter((file) => owned.includes(file.toLowerCase()));
|
|
1124
|
+
if (clashes.length > 0) {
|
|
1125
|
+
throw new Error(`[nifra/web] public file(s) ${clashes.join(", ")} would be overwritten by the ${plan.target} ` +
|
|
1126
|
+
`build's own output in ${outDir}. Rename or move them out of the public directory.`);
|
|
1127
|
+
}
|
|
1128
|
+
}
|
|
1082
1129
|
/** Build a full deploy dir for `target` using the default Bun bundler. See {@link buildTargetWith}. */
|
|
1083
1130
|
export async function buildTarget(target, options) {
|
|
1084
1131
|
return buildTargetWith(target, options, bunBundler);
|
|
@@ -1094,6 +1141,16 @@ export async function buildTargetWith(target, options, bundler) {
|
|
|
1094
1141
|
const requestedCssCodeSplit = options.cssCodeSplit === undefined ? undefined : normalizeCssCodeSplit(options.cssCodeSplit);
|
|
1095
1142
|
const requestedCssLoading = options.cssLoading === undefined ? undefined : normalizeCssLoading(options.cssLoading);
|
|
1096
1143
|
const targetPlan = planBuildTarget(parseBuildTarget(target), outDir);
|
|
1144
|
+
const sources = [
|
|
1145
|
+
routesDir,
|
|
1146
|
+
process.cwd(),
|
|
1147
|
+
resolvePath(typeof options.publicDir === "string"
|
|
1148
|
+
? options.publicDir
|
|
1149
|
+
: join(dirname(routesDir), "public")),
|
|
1150
|
+
...[options.adapterImport, options.backendImport, options.useImport].filter((file) => file !== undefined && isAbsolute(file)),
|
|
1151
|
+
];
|
|
1152
|
+
assertDisposableDir("outDir", outDir, sources);
|
|
1153
|
+
assertDisposableDir("workDir", workDir, sources);
|
|
1097
1154
|
const { rmSync } = await import("node:fs");
|
|
1098
1155
|
rmSync(outDir, { recursive: true, force: true });
|
|
1099
1156
|
rmSync(workDir, { recursive: true, force: true });
|
|
@@ -1141,6 +1198,7 @@ export async function buildTargetWith(target, options, bundler) {
|
|
|
1141
1198
|
const publicFiles = publicDir !== undefined && existsSync(publicDir)
|
|
1142
1199
|
? await copyPublicDir(publicDir, staticRoot)
|
|
1143
1200
|
: [];
|
|
1201
|
+
assertNoPublicCollision(targetPlan, publicFiles, outDir);
|
|
1144
1202
|
if (publicFiles.length > 0) {
|
|
1145
1203
|
client = { ...client, publicFiles };
|
|
1146
1204
|
}
|
|
@@ -1193,6 +1251,7 @@ export async function buildTargetWith(target, options, bundler) {
|
|
|
1193
1251
|
...(options.backendImport !== undefined ? { backendImport: options.backendImport } : {}),
|
|
1194
1252
|
...(options.title !== undefined ? { title: options.title } : {}),
|
|
1195
1253
|
...(publicFiles.length > 0 ? { publicFiles } : {}),
|
|
1254
|
+
hashedFiles: client.assets,
|
|
1196
1255
|
...(options.clientIp !== undefined ? { clientIp: options.clientIp } : {}),
|
|
1197
1256
|
}));
|
|
1198
1257
|
const { worker } = await bundler.buildServer({
|