@nifrajs/web 4.0.2 → 5.1.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 +19 -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 +6 -6
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +46 -18
- 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-port.d.ts +3 -2
- package/dist/dev-port.d.ts.map +1 -1
- package/dist/dev-port.js +2 -6
- package/dist/dev-port.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 +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- 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/package-entries.d.ts +34 -0
- package/dist/internal/package-entries.d.ts.map +1 -0
- package/dist/internal/package-entries.js +324 -0
- package/dist/internal/package-entries.js.map +1 -0
- 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 +437 -114
- package/dist/internal/page-execution.js.map +1 -1
- package/dist/internal/parity.d.ts.map +1 -1
- package/dist/internal/parity.js +15 -2
- package/dist/internal/parity.js.map +1 -1
- package/dist/internal/private-env.d.ts +8 -0
- package/dist/internal/private-env.d.ts.map +1 -1
- package/dist/internal/private-env.js +25 -10
- package/dist/internal/private-env.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 +5 -44
- package/dist/internal/render-document.d.ts.map +1 -1
- package/dist/internal/render-document.js +51 -63
- 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 +14 -0
- package/dist/internal/route-path.d.ts.map +1 -0
- package/dist/internal/route-path.js +19 -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 +190 -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 +25 -18
- package/dist/internal/web-app.d.ts.map +1 -1
- package/dist/internal/web-app.js +81 -24
- 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/without-query.d.ts +4 -0
- package/dist/internal/without-query.d.ts.map +1 -0
- package/dist/internal/without-query.js +9 -0
- package/dist/internal/without-query.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 +71 -20
- package/dist/internal/zone-graph.js.map +1 -1
- package/dist/isr.d.ts +59 -3
- package/dist/isr.d.ts.map +1 -1
- package/dist/isr.js +311 -41
- 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 +37 -4
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +4 -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 +9 -1
- package/dist/plugins/vite-leak-guard.d.ts.map +1 -1
- package/dist/plugins/vite-leak-guard.js +84 -7
- package/dist/plugins/vite-leak-guard.js.map +1 -1
- package/dist/plugins/vite-zone-guard.d.ts.map +1 -1
- package/dist/plugins/vite-zone-guard.js +17 -21
- package/dist/plugins/vite-zone-guard.js.map +1 -1
- package/dist/plugins/zone-guard.d.ts.map +1 -1
- package/dist/plugins/zone-guard.js +44 -3
- package/dist/plugins/zone-guard.js.map +1 -1
- package/dist/prerender.d.ts +5 -1
- package/dist/prerender.d.ts.map +1 -1
- package/dist/prerender.js +41 -19
- package/dist/prerender.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 +25 -2
- 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 +47 -50
- package/dist/router.js.map +1 -1
- package/dist/seo.d.ts +49 -0
- package/dist/seo.d.ts.map +1 -0
- package/dist/seo.js +48 -0
- package/dist/seo.js.map +1 -0
- 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 +64 -2
- package/dist/zones.d.ts.map +1 -1
- package/dist/zones.js +331 -28
- package/dist/zones.js.map +1 -1
- package/package.json +102 -4
- package/src/build-vite.ts +31 -9
- package/src/build.ts +109 -31
- package/src/cdn.ts +18 -12
- package/src/client.ts +48 -17
- package/src/deferred.ts +27 -9
- package/src/dev-feed.ts +24 -5
- package/src/dev-port.ts +4 -10
- 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 +5 -6
- 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/package-entries.ts +331 -0
- package/src/internal/page-execution.ts +573 -114
- package/src/internal/parity.ts +15 -2
- package/src/internal/private-env.ts +27 -13
- package/src/internal/progressive-cookies.ts +60 -0
- package/src/internal/public-env.ts +14 -0
- package/src/internal/render-document.ts +66 -89
- package/src/internal/response-controls.ts +31 -14
- package/src/internal/revive-dates.ts +35 -0
- package/src/internal/route-path.ts +24 -0
- package/src/internal/secret-scan.ts +190 -18
- package/src/internal/server-boundary.ts +29 -5
- package/src/internal/web-app.ts +126 -42
- package/src/internal/wire-date.ts +16 -0
- package/src/internal/without-query.ts +8 -0
- package/src/internal/zone-graph.ts +78 -25
- package/src/isr.ts +364 -45
- package/src/llms-txt.ts +32 -3
- package/src/manifest.ts +38 -4
- package/src/open-resolved.ts +64 -0
- package/src/plugins/kit.ts +31 -11
- package/src/plugins/vite-leak-guard.ts +104 -8
- package/src/plugins/vite-zone-guard.ts +21 -19
- package/src/plugins/zone-guard.ts +41 -2
- package/src/prerender.ts +39 -18
- package/src/public-dir.ts +27 -8
- package/src/query.ts +107 -26
- package/src/render-seam.ts +30 -2
- package/src/route-types.ts +34 -7
- package/src/router.ts +66 -59
- package/src/seo.ts +68 -0
- 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 +418 -32
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { constants as FS } from "node:fs";
|
|
2
|
+
import { open, readlink, realpath, stat } from "node:fs/promises";
|
|
3
|
+
// Darwin's open(2) flag refusing a symlink in ANY component; `O_NOFOLLOW` covers only the last one.
|
|
4
|
+
const O_NOFOLLOW_ANY = 0x20000000;
|
|
5
|
+
// Deno's node:fs rejects flags it does not know with EINVAL; the first refusal turns the flag off.
|
|
6
|
+
let noFollowAny;
|
|
7
|
+
/**
|
|
8
|
+
* Open a name `realpath` already resolved, refusing it when any component became a symlink since.
|
|
9
|
+
* A local writer inside the served tree can swap an intermediate directory for a link after the
|
|
10
|
+
* containment check; `O_NOFOLLOW` alone would follow it. Darwin refuses such a path in the kernel;
|
|
11
|
+
* Linux reads back the name the descriptor holds. Elsewhere, Windows included, no file API can open
|
|
12
|
+
* without following a middle link or name an open descriptor's path, so the check in
|
|
13
|
+
* {@link opensAt} is a platform limit: it narrows the race to repeated swaps but cannot close it.
|
|
14
|
+
*/
|
|
15
|
+
export async function openResolved(realFile) {
|
|
16
|
+
// Read per open, not at load: this module can sit in a client bundle graph, where `process` is
|
|
17
|
+
// undefined.
|
|
18
|
+
if (noFollowAny ?? process.platform === "darwin") {
|
|
19
|
+
try {
|
|
20
|
+
return await open(realFile, FS.O_RDONLY | O_NOFOLLOW_ANY);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
if (!(error instanceof Error && "code" in error && error.code === "EINVAL"))
|
|
24
|
+
throw error;
|
|
25
|
+
noFollowAny = false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const handle = await open(realFile, FS.O_RDONLY | FS.O_NOFOLLOW);
|
|
29
|
+
try {
|
|
30
|
+
if (await opensAt(handle, realFile))
|
|
31
|
+
return handle;
|
|
32
|
+
}
|
|
33
|
+
catch { }
|
|
34
|
+
await handle.close();
|
|
35
|
+
throw Object.assign(new Error(`${realFile} moved while it was opened`), { code: "ELOOP" });
|
|
36
|
+
}
|
|
37
|
+
/** Whether `handle` is the file at `realFile` with no symlink in its path. */
|
|
38
|
+
export async function opensAt(handle, realFile) {
|
|
39
|
+
try {
|
|
40
|
+
return (await readlink(`/proc/self/fd/${handle.fd}`)) === realFile;
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return sameFileAt(handle, realFile);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* {@link opensAt} where no descriptor's path can be read. Exported for its test, which runs it on
|
|
48
|
+
* every host.
|
|
49
|
+
*/
|
|
50
|
+
export async function sameFileAt(handle, realFile) {
|
|
51
|
+
// One step after another, so passing takes a swap back and a swap again between steps: the name
|
|
52
|
+
// resolves to itself, then to the opened file, then to itself again. Identities are compared as
|
|
53
|
+
// bigints because a Windows file index can exceed 2^53.
|
|
54
|
+
if ((await realpath(realFile)) !== realFile)
|
|
55
|
+
return false;
|
|
56
|
+
const opened = await handle.stat({ bigint: true });
|
|
57
|
+
const named = await stat(realFile, { bigint: true });
|
|
58
|
+
if (opened.dev !== named.dev || opened.ino !== named.ino)
|
|
59
|
+
return false;
|
|
60
|
+
return (await realpath(realFile)) === realFile;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=open-resolved.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-resolved.js","sourceRoot":"","sources":["../src/open-resolved.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,EAAE,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAmB,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAElF,oGAAoG;AACpG,MAAM,cAAc,GAAG,UAAU,CAAA;AACjC,mGAAmG;AACnG,IAAI,WAAgC,CAAA;AAEpC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,+FAA+F;IAC/F,aAAa;IACb,IAAI,WAAW,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAA;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;gBAAE,MAAM,KAAK,CAAA;YACxF,WAAW,GAAG,KAAK,CAAA;QACrB,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,CAAA;IAChE,IAAI,CAAC;QACH,IAAI,MAAM,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC;YAAE,OAAO,MAAM,CAAA;IACpD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IACpB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,QAAQ,4BAA4B,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAC5F,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAuC,EACvC,QAAgB;IAEhB,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,QAAQ,CAAC,iBAAiB,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAA;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACrC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAgC,EAChC,QAAgB;IAEhB,gGAAgG;IAChG,gGAAgG;IAChG,wDAAwD;IACxD,IAAI,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACtE,OAAO,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,QAAQ,CAAA;AAChD,CAAC"}
|
package/dist/plugins/kit.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export declare function portablePath(path: string): string;
|
|
|
31
31
|
* different machines or from different cwds - derive the SAME relative path for a given file, so their
|
|
32
32
|
* scoped class maps always agree. (Hashing the absolute path would differ across CI/host; a
|
|
33
33
|
* cwd-relative path would silently desync if the SSR server started from a non-project-root cwd.)
|
|
34
|
+
* The package's `name` leads the path, so `src/Card.vue` in two workspace packages hashes apart.
|
|
34
35
|
*/
|
|
35
36
|
export declare function reproduciblePath(absolutePath: string): string;
|
|
36
37
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../../src/plugins/kit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AACpC,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,2BAA2B,CAAA;AAE5E,iGAAiG;AACjG,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE7D;;;;;;;GAOG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAIvD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBtD;AAED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;
|
|
1
|
+
{"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../../src/plugins/kit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AACpC,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,2BAA2B,CAAA;AAE5E,iGAAiG;AACjG,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE7D;;;;;;;GAOG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAIvD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBtD;AAED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAuCD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAK7D;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI3C;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,kBAAkB,CAAA;AAE1C;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE/E;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,YAAY,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,KAAK,GAAG,KAAK,GACtB,MAAM,CAQR;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,mBAAmB,CAAA;AAC5C,eAAO,MAAM,cAAc,qBAAqB,CAAA;AAchD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKrD;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,kGAAkG;IAClG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACxC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAqBnB;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3D,OAAO,CAAC,CAAC,CAAC,CA0BZ"}
|
package/dist/plugins/kit.js
CHANGED
|
@@ -12,7 +12,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
12
12
|
* CSS→client-bundle wiring, the deterministic hash, or the optional-peer guard. Internal to
|
|
13
13
|
* `@nifrajs/web` (imported by the sibling plugin modules); not a public subpath.
|
|
14
14
|
*/
|
|
15
|
-
import { existsSync } from "node:fs";
|
|
15
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
16
16
|
import { dirname, join, relative } from "node:path";
|
|
17
17
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
18
18
|
import { ssrSourceMaps } from "../internal/source-map.js";
|
|
@@ -25,7 +25,7 @@ import { ssrSourceMaps } from "../internal/source-map.js";
|
|
|
25
25
|
* A no-op on the client half and outside a dev server. See `../dev-ssr-graph.ts` for the whole design.
|
|
26
26
|
*/
|
|
27
27
|
export { rewriteSsrImports } from "../dev-ssr-graph.js";
|
|
28
|
-
const
|
|
28
|
+
const packageCache = new Map();
|
|
29
29
|
/**
|
|
30
30
|
* Convert a plugin/runtime path into a path the host filesystem can open.
|
|
31
31
|
*
|
|
@@ -58,16 +58,28 @@ export function normalizeFilePath(path) {
|
|
|
58
58
|
export function portablePath(path) {
|
|
59
59
|
return normalizeFilePath(path).replaceAll("\\", "/");
|
|
60
60
|
}
|
|
61
|
-
/** The nearest ancestor directory of `startDir` that holds a `package.json` (the file's package root)
|
|
62
|
-
* cached. Falls back to `startDir` if none is found,
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
/** The nearest ancestor directory of `startDir` that holds a `package.json` (the file's package root)
|
|
62
|
+
* and that package's `name` (`""` when it has none), cached. Falls back to `startDir` if none is found,
|
|
63
|
+
* so it never throws. */
|
|
64
|
+
function packageOf(startDir) {
|
|
65
|
+
const cached = packageCache.get(startDir);
|
|
65
66
|
if (cached !== undefined)
|
|
66
67
|
return cached;
|
|
67
68
|
let dir = startDir;
|
|
69
|
+
let name = "";
|
|
68
70
|
for (;;) {
|
|
69
|
-
|
|
71
|
+
const manifest = join(dir, "package.json");
|
|
72
|
+
if (existsSync(manifest)) {
|
|
73
|
+
try {
|
|
74
|
+
const parsed = JSON.parse(readFileSync(manifest, "utf8"));
|
|
75
|
+
if (typeof parsed === "object" && parsed !== null && "name" in parsed)
|
|
76
|
+
name = typeof parsed.name === "string" ? parsed.name : "";
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// An unreadable manifest still marks the package root; the name is only a disambiguator.
|
|
80
|
+
}
|
|
70
81
|
break;
|
|
82
|
+
}
|
|
71
83
|
const parent = dirname(dir);
|
|
72
84
|
if (parent === dir) {
|
|
73
85
|
dir = startDir; // reached the filesystem root with no package.json - anchor on the file's own dir
|
|
@@ -75,8 +87,9 @@ function packageRootOf(startDir) {
|
|
|
75
87
|
}
|
|
76
88
|
dir = parent;
|
|
77
89
|
}
|
|
78
|
-
|
|
79
|
-
|
|
90
|
+
const found = { root: dir, name };
|
|
91
|
+
packageCache.set(startDir, found);
|
|
92
|
+
return found;
|
|
80
93
|
}
|
|
81
94
|
/**
|
|
82
95
|
* A **package-root-relative**, forward-slashed form of an absolute path - the input to {@link hash8} for
|
|
@@ -86,11 +99,13 @@ function packageRootOf(startDir) {
|
|
|
86
99
|
* different machines or from different cwds - derive the SAME relative path for a given file, so their
|
|
87
100
|
* scoped class maps always agree. (Hashing the absolute path would differ across CI/host; a
|
|
88
101
|
* cwd-relative path would silently desync if the SSR server started from a non-project-root cwd.)
|
|
102
|
+
* The package's `name` leads the path, so `src/Card.vue` in two workspace packages hashes apart.
|
|
89
103
|
*/
|
|
90
104
|
export function reproduciblePath(absolutePath) {
|
|
91
105
|
const filePath = normalizeFilePath(absolutePath);
|
|
92
|
-
const root =
|
|
93
|
-
|
|
106
|
+
const { root, name } = packageOf(dirname(filePath));
|
|
107
|
+
const path = relative(root, filePath).replaceAll("\\", "/");
|
|
108
|
+
return name === "" ? path : `${name}/${path}`;
|
|
94
109
|
}
|
|
95
110
|
/**
|
|
96
111
|
* Deterministic 8-hex hash (djb2/xor). Stable across builds - no `Date.now`/`Math.random` - so build
|
package/dist/plugins/kit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kit.js","sourceRoot":"","sources":["../../src/plugins/kit.ts"],"names":[],"mappings":";;;;;;;;AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"kit.js","sourceRoot":"","sources":["../../src/plugins/kit.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,12 @@ export interface LeakGuardPlugin {
|
|
|
65
65
|
* reached the browser.
|
|
66
66
|
*/
|
|
67
67
|
leak?: string;
|
|
68
|
+
buildStart(): void;
|
|
69
|
+
/** Ordered first: the bundler's own resolver answers before a plugin listed after it is asked. */
|
|
70
|
+
readonly resolveId: {
|
|
71
|
+
readonly order: "pre";
|
|
72
|
+
handler(this: ResolveContext, source: string, importer: string | undefined, options?: Readonly<Record<string, unknown>>): Promise<null>;
|
|
73
|
+
};
|
|
68
74
|
generateBundle(this: RollupPluginContext, options: unknown, bundle: RollupBundleLike): void;
|
|
69
75
|
}
|
|
70
76
|
/**
|
|
@@ -75,7 +81,9 @@ export interface LeakGuardPlugin {
|
|
|
75
81
|
*/
|
|
76
82
|
export declare function viteLeakGuard(options?: LeakGuardOptions): LeakGuardPlugin;
|
|
77
83
|
/** What {@link viteServerZoneGuard} needs: the zones of the app, nothing about the output. */
|
|
78
|
-
export type ServerZoneGuardOptions = Pick<LeakGuardOptions, "appRoot" | "routesDir" | "generatedFiles" | "publicEnvPrefix"
|
|
84
|
+
export type ServerZoneGuardOptions = Pick<LeakGuardOptions, "appRoot" | "routesDir" | "generatedFiles" | "publicEnvPrefix"> & {
|
|
85
|
+
readonly componentModules?: ReadonlySet<string>;
|
|
86
|
+
};
|
|
79
87
|
/**
|
|
80
88
|
* The server build's half of the zone rules, with the same checks and message as nifra's Bun server
|
|
81
89
|
* build: every first-party module zoned, backend code never importing frontend code, shared code
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-leak-guard.d.ts","sourceRoot":"","sources":["../../src/plugins/vite-leak-guard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vite-leak-guard.d.ts","sourceRoot":"","sources":["../../src/plugins/vite-leak-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,11 +41,69 @@ import { existsSync, statSync } from "node:fs";
|
|
|
41
41
|
import { dirname, isAbsolute, relative, resolve } from "node:path";
|
|
42
42
|
import { detectNodeBuiltinsInClient, detectServerOnlyInClient, formatNodeBuiltinLeak, formatServerOnlyLeak, } from "../build-plan.js";
|
|
43
43
|
import { isBareNodeBuiltin } from "../internal/node-builtins.js";
|
|
44
|
+
import { installedManifest } from "../internal/package-entries.js";
|
|
44
45
|
import { privateEnvCheck } from "../internal/private-env.js";
|
|
45
46
|
import { emittedScanFiles, formatSecretFindings, graphScanInput, originName, publicScanFiles, scanForSecrets, textOf, } from "../internal/secret-scan.js";
|
|
47
|
+
import { withoutQuery } from "../internal/without-query.js";
|
|
46
48
|
import { accountEmittedFiles, assetDenial, formatClientGraphVerdict, formatServerGraphVerdict, formatUnaccountedOutput, rollupModuleSource, verifyClientGraph, verifyServerGraph, } from "../internal/zone-graph.js";
|
|
47
49
|
import { fromRollupBundle, } from "../module-graph.js";
|
|
48
|
-
import { createZoneClassifier } from "../zones.js";
|
|
50
|
+
import { createZoneClassifier, specifierPackage } from "../zones.js";
|
|
51
|
+
/**
|
|
52
|
+
* Rollup keeps no import's written specifier, yet a package that gives each entry its own side is judged
|
|
53
|
+
* by the entry an import names, since two entries may share one file. This records the specifier of
|
|
54
|
+
* each import of such a package by the edge it resolved to, and puts it back on the finished graph.
|
|
55
|
+
*/
|
|
56
|
+
function entrySpecifiers(appRoot, options) {
|
|
57
|
+
// One edge may carry several specifiers: `pkg` and `pkg/react` can resolve to one shared file.
|
|
58
|
+
const written = new Map();
|
|
59
|
+
let classifier;
|
|
60
|
+
const edge = (from, to) => `${from.replaceAll("\\", "/")}\0${to.replaceAll("\\", "/")}`;
|
|
61
|
+
return {
|
|
62
|
+
reset() {
|
|
63
|
+
written.clear();
|
|
64
|
+
classifier = undefined;
|
|
65
|
+
},
|
|
66
|
+
async resolveId(context, source, importer, resolveOptions) {
|
|
67
|
+
const name = specifierPackage(source);
|
|
68
|
+
const from = importer === undefined ? undefined : withoutQuery(importer);
|
|
69
|
+
if (name === undefined || importer === undefined || from === undefined || !isAbsolute(from))
|
|
70
|
+
return null;
|
|
71
|
+
const manifest = installedManifest(dirname(from), name);
|
|
72
|
+
if (manifest === undefined)
|
|
73
|
+
return null;
|
|
74
|
+
classifier ??= classifierFor(appRoot, options);
|
|
75
|
+
if (classifier.classify(manifest, source).entry === undefined)
|
|
76
|
+
return null;
|
|
77
|
+
const resolved = await context.resolve(source, importer, {
|
|
78
|
+
...resolveOptions,
|
|
79
|
+
skipSelf: true,
|
|
80
|
+
});
|
|
81
|
+
if (resolved === null)
|
|
82
|
+
return null;
|
|
83
|
+
const key = edge(importer, resolved.id);
|
|
84
|
+
written.set(key, (written.get(key) ?? new Set()).add(source));
|
|
85
|
+
return null;
|
|
86
|
+
},
|
|
87
|
+
annotate(graph) {
|
|
88
|
+
if (written.size === 0)
|
|
89
|
+
return graph;
|
|
90
|
+
const modules = {};
|
|
91
|
+
for (const [id, module] of Object.entries(graph.modules)) {
|
|
92
|
+
modules[id] = {
|
|
93
|
+
imports: module.imports.flatMap((im) => {
|
|
94
|
+
const originals = im.original !== undefined || im.path === undefined
|
|
95
|
+
? undefined
|
|
96
|
+
: written.get(edge(id, im.path));
|
|
97
|
+
return originals === undefined
|
|
98
|
+
? [im]
|
|
99
|
+
: [...originals].map((original) => ({ ...im, original }));
|
|
100
|
+
}),
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
return { ...graph, modules };
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
49
107
|
const CSS_FILE = /\.(?:css|scss|sass|less|styl)(?:$|\?)/;
|
|
50
108
|
/**
|
|
51
109
|
* A Vite/Rollup plugin that fails the build when anything the zones keep on the server reaches the client
|
|
@@ -57,8 +115,16 @@ export function viteLeakGuard(options = {}) {
|
|
|
57
115
|
const appRoot = resolve(options.appRoot ?? process.cwd());
|
|
58
116
|
const root = resolve(options.root ?? appRoot);
|
|
59
117
|
const outDir = resolve(root, options.outDir ?? "dist");
|
|
118
|
+
const specifiers = entrySpecifiers(appRoot, options);
|
|
60
119
|
const plugin = {
|
|
61
120
|
name: "nifra:leak-guard",
|
|
121
|
+
buildStart: () => specifiers.reset(),
|
|
122
|
+
resolveId: {
|
|
123
|
+
order: "pre",
|
|
124
|
+
handler(source, importer, resolveOptions) {
|
|
125
|
+
return specifiers.resolveId(this, source, importer, resolveOptions);
|
|
126
|
+
},
|
|
127
|
+
},
|
|
62
128
|
generateBundle(_options, bundle) {
|
|
63
129
|
const classifier = classifierFor(appRoot, options);
|
|
64
130
|
// Resolved import edges per module, straight from Rollup's graph. Dynamic imports count too: a
|
|
@@ -69,7 +135,7 @@ export function viteLeakGuard(options = {}) {
|
|
|
69
135
|
return [];
|
|
70
136
|
return [...(info.importedIds ?? []), ...(info.dynamicallyImportedIds ?? [])];
|
|
71
137
|
};
|
|
72
|
-
const graph = completeGraph(fromRollupBundle(bundle, importsOf), this, importsOf);
|
|
138
|
+
const graph = specifiers.annotate(completeGraph(fromRollupBundle(bundle, importsOf), this, importsOf));
|
|
73
139
|
const sources = { classifier, sourceOf: rollupModuleSource };
|
|
74
140
|
const privateEnv = privateEnvCheck(options.publicEnvPrefix ?? "PUBLIC_");
|
|
75
141
|
const outputs = Object.values(bundle);
|
|
@@ -126,6 +192,7 @@ function secretLeak(outputs, graph, classifier, appRoot, options) {
|
|
|
126
192
|
artifacts,
|
|
127
193
|
env: options.secrets?.env ?? process.env,
|
|
128
194
|
publicEnvPrefix: options.publicEnvPrefix ?? "PUBLIC_",
|
|
195
|
+
// biome-ignore lint/plugin/noConditionalEmptyObjectSpread: Explicitly configured secret-scan exemptions preserve their absence by default.
|
|
129
196
|
...(options.secrets?.exemptions ? { exemptions: options.secrets.exemptions } : {}),
|
|
130
197
|
}));
|
|
131
198
|
}
|
|
@@ -137,8 +204,16 @@ function secretLeak(outputs, graph, classifier, appRoot, options) {
|
|
|
137
204
|
*/
|
|
138
205
|
export function viteServerZoneGuard(options = {}) {
|
|
139
206
|
const appRoot = resolve(options.appRoot ?? process.cwd());
|
|
207
|
+
const specifiers = entrySpecifiers(appRoot, options);
|
|
140
208
|
const plugin = {
|
|
141
209
|
name: "nifra:server-zone-guard",
|
|
210
|
+
buildStart: () => specifiers.reset(),
|
|
211
|
+
resolveId: {
|
|
212
|
+
order: "pre",
|
|
213
|
+
handler(source, importer, resolveOptions) {
|
|
214
|
+
return specifiers.resolveId(this, source, importer, resolveOptions);
|
|
215
|
+
},
|
|
216
|
+
},
|
|
142
217
|
generateBundle(_options, bundle) {
|
|
143
218
|
const classifier = classifierFor(appRoot, options);
|
|
144
219
|
const importsOf = (id) => {
|
|
@@ -147,11 +222,14 @@ export function viteServerZoneGuard(options = {}) {
|
|
|
147
222
|
return [];
|
|
148
223
|
return [...(info.importedIds ?? []), ...(info.dynamicallyImportedIds ?? [])];
|
|
149
224
|
};
|
|
150
|
-
const graph = completeGraph(fromRollupBundle(bundle, importsOf), this, importsOf);
|
|
225
|
+
const graph = specifiers.annotate(completeGraph(fromRollupBundle(bundle, importsOf), this, importsOf));
|
|
151
226
|
const leak = formatServerGraphVerdict(verifyServerGraph(graph, {
|
|
152
227
|
classifier,
|
|
153
228
|
sourceOf: rollupModuleSource,
|
|
154
229
|
privateEnv: privateEnvCheck(options.publicEnvPrefix ?? "PUBLIC_"),
|
|
230
|
+
...(options.componentModules === undefined
|
|
231
|
+
? {}
|
|
232
|
+
: { componentModules: options.componentModules }),
|
|
155
233
|
}));
|
|
156
234
|
if (leak === undefined)
|
|
157
235
|
return;
|
|
@@ -271,7 +349,6 @@ export function viteBareBuiltinExternal() {
|
|
|
271
349
|
},
|
|
272
350
|
};
|
|
273
351
|
}
|
|
274
|
-
const POSTFIX = /[?#].*$/s;
|
|
275
352
|
const URL_SCHEME = /^(?:[a-z][a-z\d+.-]*:|\/\/)/i;
|
|
276
353
|
/**
|
|
277
354
|
* Keep server files out of a Vite client build's assets. A `new URL("./x", import.meta.url)` makes
|
|
@@ -312,7 +389,7 @@ export function viteAssetUrlGuard(options = {}) {
|
|
|
312
389
|
async transform(code, id, transformOptions) {
|
|
313
390
|
if (transformOptions?.ssr === true || !code.includes("import.meta.url"))
|
|
314
391
|
return null;
|
|
315
|
-
const importer = id
|
|
392
|
+
const importer = withoutQuery(id);
|
|
316
393
|
if (!isAbsolute(importer) || importer.includes("/node_modules/") || CSS_FILE.test(importer))
|
|
317
394
|
return null;
|
|
318
395
|
let program;
|
|
@@ -353,14 +430,14 @@ export function viteAssetUrlGuard(options = {}) {
|
|
|
353
430
|
async function assetUrlFiles(context, url, importer) {
|
|
354
431
|
const files = new Set();
|
|
355
432
|
const add = (path) => {
|
|
356
|
-
const file = path
|
|
433
|
+
const file = path === undefined ? undefined : withoutQuery(path);
|
|
357
434
|
if (file === undefined || !isAbsolute(file) || file.includes("\0"))
|
|
358
435
|
return;
|
|
359
436
|
if (statSync(file, { throwIfNoEntry: false })?.isFile() === true)
|
|
360
437
|
files.add(file);
|
|
361
438
|
};
|
|
362
439
|
if (!url.startsWith("/"))
|
|
363
|
-
add(resolve(dirname(importer), url
|
|
440
|
+
add(resolve(dirname(importer), withoutQuery(url)));
|
|
364
441
|
const sources = url.startsWith(".") || url.startsWith("/") ? [url] : [url, `./${url}`];
|
|
365
442
|
for (const source of sources) {
|
|
366
443
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-leak-guard.js","sourceRoot":"","sources":["../../src/plugins/vite-leak-guard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite-leak-guard.js","sourceRoot":"","sources":["../../src/plugins/vite-leak-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAClE,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,UAAU,EACV,eAAe,EAGf,cAAc,EACd,MAAM,GACP,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,mBAAmB,EACnB,WAAW,EAEX,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAEL,gBAAgB,GAGjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAuB,MAAM,aAAa,CAAA;AAmGzF;;;;GAIG;AACH,SAAS,eAAe,CAAC,OAAe,EAAE,OAA+B;IACvE,+FAA+F;IAC/F,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC9C,IAAI,UAAsC,CAAA;IAC1C,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAU,EAAU,EAAE,CAChD,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAA;IAC9D,OAAO;QACL,KAAK;YACH,OAAO,CAAC,KAAK,EAAE,CAAA;YACf,UAAU,GAAG,SAAS,CAAA;QACxB,CAAC;QACD,KAAK,CAAC,SAAS,CACb,OAAuB,EACvB,MAAc,EACd,QAA4B,EAC5B,cAA6D;YAE7D,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;YACrC,MAAM,IAAI,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;YACxE,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACzF,OAAO,IAAI,CAAA;YACb,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;YACvD,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAA;YACvC,UAAU,KAAK,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC9C,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAA;YAC1E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE;gBACvD,GAAG,cAAc;gBACjB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAA;YACF,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAA;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;YACvC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;YACrE,OAAO,IAAI,CAAA;QACb,CAAC;QACD,QAAQ,CAAC,KAAwB;YAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YACpC,MAAM,OAAO,GAAgC,EAAE,CAAA;YAC/C,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,EAAE,CAAC,GAAG;oBACZ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;wBACrC,MAAM,SAAS,GACb,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS;4BAChD,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;wBACpC,OAAO,SAAS,KAAK,SAAS;4BAC5B,CAAC,CAAC,CAAC,EAAE,CAAC;4BACN,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;oBAC7D,CAAC,CAAC;iBACH,CAAA;YACH,CAAC;YACD,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAA;QAC9B,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,QAAQ,GAAG,uCAAuC,CAAA;AAExD;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,UAA4B,EAAE;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,CAAA;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,CAAA;IACtD,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACpD,MAAM,MAAM,GAAoB;QAC9B,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE;QACpC,SAAS,EAAE;YACT,KAAK,EAAE,KAAK;YACZ,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc;gBACtC,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;YACrE,CAAC;SACF;QACD,cAAc,CAAC,QAAQ,EAAE,MAAM;YAC7B,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAClD,+FAA+F;YAC/F,qFAAqF;YACrF,MAAM,SAAS,GAAG,CAAC,EAAU,EAAqB,EAAE;gBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;gBACnC,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAO,EAAE,CAAA;gBAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAA;YAC9E,CAAC,CAAA;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAC/B,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CACpE,CAAA;YACD,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAA;YAC5D,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,eAAe,IAAI,SAAS,CAAC,CAAA;YACxE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAoD,CAAC,CAAA;YACnF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;oBAC1D,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC1C,CAAC;YACD,MAAM,IAAI,GACR,wBAAwB,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC9E,qBAAqB,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;gBACxD,oBAAoB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBACrD,uBAAuB,CACrB,mBAAmB,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE;oBAC/E,GAAG,OAAO;oBACV,MAAM;iBACP,CAAC,CACH;gBACD,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YAC1D,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAM;YAC9B,kGAAkG;YAClG,mGAAmG;YACnG,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,0FAA0F;AAC1F,SAAS,UAAU,CACjB,OAAoC,EACpC,KAAwB,EACxB,UAAmD,EACnD,OAAe,EACf,OAAyB;IAEzB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAA;IACpF,MAAM,SAAS,GAAqB,EAAE,CAAA;IACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC5B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAQ;QAC7D,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC7E,IAAI,MAAM,CAAC,GAAG;gBAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACzF,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,GACR,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;YAC/B,CAAC,CAAC,MAAM,CAAC,MAAM;YACf,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;gBAC3B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7B,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,SAAS,CAAA;IAC5C,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,SAAS,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IACxF,CAAC;IACD,OAAO,oBAAoB,CACzB,cAAc,CAAC;QACb,OAAO;QACP,SAAS;QACT,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG;QACxC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,SAAS;QACrD,2IAA2I;QAC3I,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnF,CAAC,CACH,CAAA;AACH,CAAC;AAQD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkC,EAAE;IACtE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACzD,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACpD,MAAM,MAAM,GAAoB;QAC9B,IAAI,EAAE,yBAAyB;QAC/B,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE;QACpC,SAAS,EAAE;YACT,KAAK,EAAE,KAAK;YACZ,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc;gBACtC,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;YACrE,CAAC;SACF;QACD,cAAc,CAAC,QAAQ,EAAE,MAAM;YAC7B,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAClD,MAAM,SAAS,GAAG,CAAC,EAAU,EAAqB,EAAE;gBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;gBACnC,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAO,EAAE,CAAA;gBAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAA;YAC9E,CAAC,CAAA;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAC/B,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CACpE,CAAA;YACD,MAAM,IAAI,GAAG,wBAAwB,CACnC,iBAAiB,CAAC,KAAK,EAAE;gBACvB,UAAU;gBACV,QAAQ,EAAE,kBAAkB;gBAC5B,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,eAAe,IAAI,SAAS,CAAC;gBACjE,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;oBACxC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;aACpD,CAAC,CACH,CAAA;YACD,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAM;YAC9B,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,uDAAuD;AACvD,SAAS,aAAa,CAAC,OAAe,EAAE,OAA+B;IACrE,OAAO,oBAAoB,CAAC;QAC1B,OAAO;QACP,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5F,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CACpB,KAAwB,EACxB,OAA4B,EAC5B,SAA4C;IAE5C,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAW,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,UAAU,KAAK,IAAI,CAAA;IACxF,MAAM,OAAO,GAAgC,EAAE,CAAA;IAC/C,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,EAAE,CAAC,GAAG;YACZ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACjC,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;gBACxE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC3B,CAAC,CAAC,EAAE,CACP;SACF,CAAA;IACH,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;QAChD,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,EAAE,CAAC;YAAE,SAAQ;QACvD,OAAO,CAAC,EAAE,CAAC,GAAG;YACZ,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SAC7F,CAAA;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAA;AAC1C,CAAC;AAED,kEAAkE;AAClE,SAAS,YAAY,CACnB,OAAoC,EACpC,KAAwB,EACxB,IAAY,EACZ,QAAyC;IAEzC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1F,MAAM,WAAW,GAAG,CAAC,GAAsB,EAAY,EAAE,CACvD,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACrC,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACpF,CAAC,CAAC,CAAA;IACJ,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAA;IAChD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;YAAE,SAAQ;QACrC,KAAK,MAAM,IAAI,IAAI;YACjB,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,IAAI,EAAE,CAAC;YAC3C,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,IAAI,EAAE,CAAC;SAC/C,EAAE,CAAC;YACF,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE;gBACrB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACjC,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;aACvC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC5F,MAAM,KAAK,GAAkB,EAAE,CAAA;IAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC5B,gGAAgG;QAChG,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAQ;QAC7D,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAA;YAC3D,IAAI,MAAM,CAAC,GAAG;gBACZ,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACpF,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;QAC1E,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAC1E,SAAQ;QACV,CAAC;QACD,IAAI,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC;YAAE,SAAQ;QACjC,+FAA+F;QAC/F,iDAAiD;QACjD,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC;aAC9C,GAAG,CAAC,QAAQ,CAAC;aACb,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;QACrC,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAC/C,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,GAAG,CAAC;YACjB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBACrB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACrB,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,EAAE,CAAA;QACZ,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAsBD;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,KAAK;QACd,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ;YAC9B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAA;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;YACzE,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC;gBAAE,OAAO,QAAQ,CAAA;YAC5F,OAAO,EAAE,EAAE,EAAE,QAAQ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;QACjD,CAAC;KACF,CAAA;AACH,CAAC;AA2BD,MAAM,UAAU,GAAG,8BAA8B,CAAA;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkC,EAAE;IACpE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACzD,IAAI,UAAsC,CAAA;IAC1C,MAAM,MAAM,GAAG,CAAC,IAAY,EAAsB,EAAE;QAClD,UAAU,KAAK,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC9C,OAAO,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/C,CAAC,CAAA;IACD,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACrF,MAAM,MAAM,GAAwB;QAClC,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,OAAO;QACd,MAAM,CAAC,MAAM;YACX,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,iBAAiB,CAAA;YAC3C,OAAO;gBACL,KAAK,EAAE;oBACL,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACnC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS;wBACxB,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,OAAO,GAAG,KAAK,UAAU;4BACzB,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;4BACpB,CAAC,CAAC,GAAG,KAAK,SAAS;gCACjB,CAAC,CAAC,SAAS;gCACX,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG;iBAC/B;aACF,CAAA;QACH,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,gBAAgB;YACxC,IAAI,gBAAgB,EAAE,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAAE,OAAO,IAAI,CAAA;YACpF,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;YACjC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACzF,OAAO,IAAI,CAAA;YACb,IAAI,OAAgB,CAAA;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,QAAQ,GAAa,EAAE,CAAA;YAC7B,KAAK,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;oBAAE,SAAQ;gBAClC,KAAK,MAAM,IAAI,IAAI,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;oBAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,QAAQ,CAAC,IAAI,CACX,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CACvG,CAAA;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YACtC,MAAM,IAAI,GACR,mFAAmF,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACvI,4FAA4F;gBAC5F,6FAA6F;gBAC7F,yDAAyD,CAAA;YAC3D,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;YAClB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QACpC,CAAC;KACF,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAC1B,OAAuB,EACvB,GAAW,EACX,QAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,MAAM,GAAG,GAAG,CAAC,IAAwB,EAAQ,EAAE;QAC7C,MAAM,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAChE,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAM;QAC1E,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACnF,CAAC,CAAA;IACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC5E,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG,EAAE,CAAC,CAAA;IACtF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,GAAG,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;AACnB,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,GAAW,EAAW,EAAE,CACpD,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAEhF,mDAAmD;AACnD,MAAM,eAAe,GAAG,CAAC,IAAa,EAAW,EAAE,CACjD,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,kBAAkB;IAC1C,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,KAAK;IACjC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,KAAK,KAAK;IAChD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,QAAQ,CAAA;AAElE,iGAAiG;AACjG,SAAS,YAAY,CAAC,IAAa;IACjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAA;QACxC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACtE,CAAC;IACD,IAAI,IAAI,KAAK,iBAAiB;QAAE,OAAO,EAAE,CAAA;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAA;IAClF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACvC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CACzD,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CACnD,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAgB;IACtC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,MAAM,KAAK,GAAc,CAAC,OAAO,CAAC,CAAA;IAClC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;QACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YAAE,SAAQ;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QACrC,IACE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,eAAe;YACvC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,YAAY;YACrD,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,KAAK;YAC9C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACnB,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACxB,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3D,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-zone-guard.d.ts","sourceRoot":"","sources":["../../src/plugins/vite-zone-guard.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"vite-zone-guard.d.ts","sourceRoot":"","sources":["../../src/plugins/vite-zone-guard.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAahE,MAAM,WAAW,oBAAoB;IACnC,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3C,yEAAyE;IACzE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC;AAKD,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;AACrC,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;AAEjF,UAAU,aAAa;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAA;IACnC,OAAO,CACL,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChE,OAAO,CAAC;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;CACjF;AAED,6FAA6F;AAC7F,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAA;IACvB,MAAM,IAAI;QAAE,YAAY,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAA;IACjD,cAAc,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACvD,eAAe,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,WAAW,EAAE;YAAE,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI,CAAA;IAC9F,SAAS,CACP,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5D,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,SAAS,CACP,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,IAAI,CAAA;IACP;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAC3C,8DAA8D;IAC9D,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAC5C;AAaD,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CA2KhF"}
|
|
@@ -10,13 +10,14 @@
|
|
|
10
10
|
*
|
|
11
11
|
* The SSR environment loads the same files legitimately and is never checked here.
|
|
12
12
|
*/
|
|
13
|
-
import {
|
|
13
|
+
import { readFileSync, statSync } from "node:fs";
|
|
14
14
|
import { dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
15
|
+
import { installedManifest } from "../internal/package-entries.js";
|
|
15
16
|
import { privateEnvDenial } from "../internal/private-env.js";
|
|
17
|
+
import { withoutQuery } from "../internal/without-query.js";
|
|
16
18
|
import { browserDenial, createZoneClassifier, SERVER_PACKAGES, specifierPackage, } from "../zones.js";
|
|
17
19
|
/** Zones whose code runs in a browser, so may read only public environment variables. */
|
|
18
20
|
const BROWSER_CODE = new Set(["route-frontend", "frontend", "shared"]);
|
|
19
|
-
const stripQuery = (id) => id.replace(/[?#].*$/, "");
|
|
20
21
|
/** Query forms that hand a module's source, or a URL to it, to the browser untransformed. */
|
|
21
22
|
const RAW_QUERY = /(?:^|&)(?:raw|url|inline)(?:[&=]|$)/;
|
|
22
23
|
const isFile = (path) => {
|
|
@@ -70,7 +71,7 @@ export function viteZoneGuard(options) {
|
|
|
70
71
|
const fileForUrl = (url) => {
|
|
71
72
|
let path;
|
|
72
73
|
try {
|
|
73
|
-
path = decodeURIComponent(
|
|
74
|
+
path = decodeURIComponent(withoutQuery(url));
|
|
74
75
|
}
|
|
75
76
|
catch {
|
|
76
77
|
return undefined;
|
|
@@ -122,18 +123,13 @@ export function viteZoneGuard(options) {
|
|
|
122
123
|
refusals.set(resolve(importer ?? file), message);
|
|
123
124
|
return context.error(new Error(message));
|
|
124
125
|
};
|
|
125
|
-
/** A bare
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
const parent = dirname(dir);
|
|
133
|
-
if (parent === dir)
|
|
134
|
-
return { zone: "library", packageName: name };
|
|
135
|
-
dir = parent;
|
|
136
|
-
}
|
|
126
|
+
/** A bare import's package, classified through its manifest so a workspace link is first-party,
|
|
127
|
+
* and by the entry it names when the package declares a side per entry. */
|
|
128
|
+
const packageClassification = (name, importer, specifier) => {
|
|
129
|
+
const manifest = installedManifest(dirname(importer), name);
|
|
130
|
+
return manifest === undefined
|
|
131
|
+
? { zone: "library", packageName: name }
|
|
132
|
+
: classifier.classify(manifest, specifier);
|
|
137
133
|
};
|
|
138
134
|
return {
|
|
139
135
|
name: "nifra:zone-guard",
|
|
@@ -157,11 +153,11 @@ export function viteZoneGuard(options) {
|
|
|
157
153
|
return null;
|
|
158
154
|
if (!isClient(this, resolveOptions?.ssr))
|
|
159
155
|
return null;
|
|
160
|
-
const importerFile =
|
|
156
|
+
const importerFile = withoutQuery(importer);
|
|
161
157
|
if (!isAbsolute(importerFile))
|
|
162
158
|
return null;
|
|
163
159
|
if (source.startsWith(".")) {
|
|
164
|
-
const target = resolve(dirname(importerFile),
|
|
160
|
+
const target = resolve(dirname(importerFile), withoutQuery(source));
|
|
165
161
|
if (isFile(target)) {
|
|
166
162
|
const reason = browserDenial(classifier.classify(target));
|
|
167
163
|
if (reason !== undefined)
|
|
@@ -171,15 +167,15 @@ export function viteZoneGuard(options) {
|
|
|
171
167
|
}
|
|
172
168
|
const name = specifierPackage(source);
|
|
173
169
|
if (name !== undefined) {
|
|
174
|
-
const reason = browserDenial(packageClassification(name, importerFile), source);
|
|
170
|
+
const reason = browserDenial(packageClassification(name, importerFile, source), source);
|
|
175
171
|
if (reason !== undefined)
|
|
176
172
|
refuse(this, source, reason, importerFile);
|
|
177
173
|
}
|
|
178
174
|
// An alias, a tsconfig path or a package export: what the specifier resolves to decides.
|
|
179
175
|
const resolved = await this.resolve(source, importer, { ...resolveOptions, skipSelf: true });
|
|
180
|
-
const target = resolved === null || resolved.external ? undefined :
|
|
176
|
+
const target = resolved === null || resolved.external ? undefined : withoutQuery(resolved.id);
|
|
181
177
|
if (target !== undefined && isAbsolute(target) && isFile(target)) {
|
|
182
|
-
const reason = browserDenial(classifier.classify(target), source);
|
|
178
|
+
const reason = browserDenial(classifier.classify(target, source), source);
|
|
183
179
|
if (reason !== undefined)
|
|
184
180
|
refuse(this, target, reason, importerFile);
|
|
185
181
|
}
|
|
@@ -188,7 +184,7 @@ export function viteZoneGuard(options) {
|
|
|
188
184
|
transform(code, id, transformOptions) {
|
|
189
185
|
if (!isClient(this, transformOptions?.ssr))
|
|
190
186
|
return null;
|
|
191
|
-
const file =
|
|
187
|
+
const file = withoutQuery(id);
|
|
192
188
|
if (!isAbsolute(file) || !isFile(file))
|
|
193
189
|
return null;
|
|
194
190
|
// A fresh transform re-resolves every import, so an earlier refusal is stale until it recurs.
|