@vigla/kit 0.0.0-stage → 0.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/dist/build/analysis.d.ts +6 -0
- package/dist/build/analysis.d.ts.map +1 -0
- package/dist/build/analysis.js +113 -0
- package/dist/build/analysis.js.map +1 -0
- package/dist/build/builder.d.ts +5 -0
- package/dist/build/builder.d.ts.map +1 -0
- package/dist/build/builder.js +143 -0
- package/dist/build/builder.js.map +1 -0
- package/dist/build/crawl.d.ts +8 -0
- package/dist/build/crawl.d.ts.map +1 -0
- package/dist/build/crawl.js +111 -0
- package/dist/build/crawl.js.map +1 -0
- package/dist/build/features.d.ts +5 -0
- package/dist/build/features.d.ts.map +1 -0
- package/dist/build/features.js +49 -0
- package/dist/build/features.js.map +1 -0
- package/dist/build/files.d.ts +9 -0
- package/dist/build/files.d.ts.map +1 -0
- package/dist/build/files.js +88 -0
- package/dist/build/files.js.map +1 -0
- package/dist/build/index.d.ts +7 -0
- package/dist/build/index.d.ts.map +1 -0
- package/dist/build/index.js +6 -0
- package/dist/build/index.js.map +1 -0
- package/dist/build/instrument.d.ts +5 -0
- package/dist/build/instrument.d.ts.map +1 -0
- package/dist/build/instrument.js +45 -0
- package/dist/build/instrument.js.map +1 -0
- package/dist/build/jobs.d.ts +77 -0
- package/dist/build/jobs.d.ts.map +1 -0
- package/dist/build/jobs.js +1 -0
- package/dist/build/jobs.js.map +1 -0
- package/dist/build/manifest.d.ts +6 -0
- package/dist/build/manifest.d.ts.map +1 -0
- package/dist/build/manifest.js +111 -0
- package/dist/build/manifest.js.map +1 -0
- package/dist/build/messages.d.ts +61 -0
- package/dist/build/messages.d.ts.map +1 -0
- package/dist/build/messages.js +77 -0
- package/dist/build/messages.js.map +1 -0
- package/dist/build/prerender.d.ts +6 -0
- package/dist/build/prerender.d.ts.map +1 -0
- package/dist/build/prerender.js +329 -0
- package/dist/build/prerender.js.map +1 -0
- package/dist/build/queue.d.ts +8 -0
- package/dist/build/queue.d.ts.map +1 -0
- package/dist/build/queue.js +52 -0
- package/dist/build/queue.js.map +1 -0
- package/dist/build/runtime.d.ts +16 -0
- package/dist/build/runtime.d.ts.map +1 -0
- package/dist/build/runtime.js +49 -0
- package/dist/build/runtime.js.map +1 -0
- package/dist/build/types.d.ts +81 -0
- package/dist/build/types.d.ts.map +1 -0
- package/dist/build/types.js +1 -0
- package/dist/build/types.js.map +1 -0
- package/dist/build/worker-entry.d.ts +2 -0
- package/dist/build/worker-entry.d.ts.map +1 -0
- package/dist/build/worker-entry.js +45 -0
- package/dist/build/worker-entry.js.map +1 -0
- package/dist/build/worker.d.ts +6 -0
- package/dist/build/worker.d.ts.map +1 -0
- package/dist/build/worker.js +119 -0
- package/dist/build/worker.js.map +1 -0
- package/dist/client/actions.d.ts +13 -0
- package/dist/client/actions.d.ts.map +1 -0
- package/dist/client/actions.js +61 -0
- package/dist/client/actions.js.map +1 -0
- package/dist/client/chunks.d.ts +10 -0
- package/dist/client/chunks.d.ts.map +1 -0
- package/dist/client/chunks.js +65 -0
- package/dist/client/chunks.js.map +1 -0
- package/dist/client/client.d.ts +70 -0
- package/dist/client/client.d.ts.map +1 -0
- package/dist/client/client.js +579 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/data.d.ts +6 -0
- package/dist/client/data.d.ts.map +1 -0
- package/dist/client/data.js +125 -0
- package/dist/client/data.js.map +1 -0
- package/dist/client/entry.d.ts +4 -0
- package/dist/client/entry.d.ts.map +1 -0
- package/dist/client/entry.js +4 -0
- package/dist/client/entry.js.map +1 -0
- package/dist/client/errors.d.ts +40 -0
- package/dist/client/errors.d.ts.map +1 -0
- package/dist/client/errors.js +88 -0
- package/dist/client/errors.js.map +1 -0
- package/dist/client/fetch.d.ts +8 -0
- package/dist/client/fetch.d.ts.map +1 -0
- package/dist/client/fetch.js +108 -0
- package/dist/client/fetch.js.map +1 -0
- package/dist/client/forms.d.ts +5 -0
- package/dist/client/forms.d.ts.map +1 -0
- package/dist/client/forms.js +140 -0
- package/dist/client/forms.js.map +1 -0
- package/dist/client/history.d.ts +33 -0
- package/dist/client/history.d.ts.map +1 -0
- package/dist/client/history.js +100 -0
- package/dist/client/history.js.map +1 -0
- package/dist/client/lifecycle.d.ts +11 -0
- package/dist/client/lifecycle.d.ts.map +1 -0
- package/dist/client/lifecycle.js +54 -0
- package/dist/client/lifecycle.js.map +1 -0
- package/dist/client/links.d.ts +8 -0
- package/dist/client/links.d.ts.map +1 -0
- package/dist/client/links.js +344 -0
- package/dist/client/links.js.map +1 -0
- package/dist/client/load.d.ts +54 -0
- package/dist/client/load.d.ts.map +1 -0
- package/dist/client/load.js +375 -0
- package/dist/client/load.js.map +1 -0
- package/dist/client/navigation.d.ts +15 -0
- package/dist/client/navigation.d.ts.map +1 -0
- package/dist/client/navigation.js +62 -0
- package/dist/client/navigation.js.map +1 -0
- package/dist/client/origin.d.ts +2 -0
- package/dist/client/origin.d.ts.map +1 -0
- package/dist/client/origin.js +4 -0
- package/dist/client/origin.js.map +1 -0
- package/dist/client/paths.d.ts +9 -0
- package/dist/client/paths.d.ts.map +1 -0
- package/dist/client/paths.js +22 -0
- package/dist/client/paths.js.map +1 -0
- package/dist/client/payload.d.ts +12 -0
- package/dist/client/payload.d.ts.map +1 -0
- package/dist/client/payload.js +29 -0
- package/dist/client/payload.js.map +1 -0
- package/dist/client/remote/cache.d.ts +38 -0
- package/dist/client/remote/cache.d.ts.map +1 -0
- package/dist/client/remote/cache.js +368 -0
- package/dist/client/remote/cache.js.map +1 -0
- package/dist/client/remote/channel.d.ts +17 -0
- package/dist/client/remote/channel.d.ts.map +1 -0
- package/dist/client/remote/channel.js +124 -0
- package/dist/client/remote/channel.js.map +1 -0
- package/dist/client/remote/command.d.ts +10 -0
- package/dist/client/remote/command.d.ts.map +1 -0
- package/dist/client/remote/command.js +52 -0
- package/dist/client/remote/command.js.map +1 -0
- package/dist/client/remote/form-element.d.ts +5 -0
- package/dist/client/remote/form-element.d.ts.map +1 -0
- package/dist/client/remote/form-element.js +106 -0
- package/dist/client/remote/form-element.js.map +1 -0
- package/dist/client/remote/form.d.ts +38 -0
- package/dist/client/remote/form.d.ts.map +1 -0
- package/dist/client/remote/form.js +396 -0
- package/dist/client/remote/form.js.map +1 -0
- package/dist/client/remote/live.d.ts +19 -0
- package/dist/client/remote/live.d.ts.map +1 -0
- package/dist/client/remote/live.js +352 -0
- package/dist/client/remote/live.js.map +1 -0
- package/dist/client/remote/query.d.ts +28 -0
- package/dist/client/remote/query.d.ts.map +1 -0
- package/dist/client/remote/query.js +183 -0
- package/dist/client/remote/query.js.map +1 -0
- package/dist/client/remote/result.d.ts +25 -0
- package/dist/client/remote/result.d.ts.map +1 -0
- package/dist/client/remote/result.js +103 -0
- package/dist/client/remote/result.js.map +1 -0
- package/dist/client/remote/updates.d.ts +11 -0
- package/dist/client/remote/updates.d.ts.map +1 -0
- package/dist/client/remote/updates.js +79 -0
- package/dist/client/remote/updates.js.map +1 -0
- package/dist/client/restore.d.ts +20 -0
- package/dist/client/restore.d.ts.map +1 -0
- package/dist/client/restore.js +171 -0
- package/dist/client/restore.js.map +1 -0
- package/dist/client/routes.d.ts +28 -0
- package/dist/client/routes.d.ts.map +1 -0
- package/dist/client/routes.js +184 -0
- package/dist/client/routes.js.map +1 -0
- package/dist/client/state.d.ts +21 -0
- package/dist/client/state.d.ts.map +1 -0
- package/dist/client/state.js +172 -0
- package/dist/client/state.js.map +1 -0
- package/dist/client/stream.d.ts +5 -0
- package/dist/client/stream.d.ts.map +1 -0
- package/dist/client/stream.js +66 -0
- package/dist/client/stream.js.map +1 -0
- package/dist/client/transport.d.ts +10 -0
- package/dist/client/transport.d.ts.map +1 -0
- package/dist/client/transport.js +19 -0
- package/dist/client/transport.js.map +1 -0
- package/dist/client/view.d.ts +17 -0
- package/dist/client/view.d.ts.map +1 -0
- package/dist/client/view.js +153 -0
- package/dist/client/view.js.map +1 -0
- package/dist/client/warnings.d.ts +29 -0
- package/dist/client/warnings.d.ts.map +1 -0
- package/dist/client/warnings.js +30 -0
- package/dist/client/warnings.js.map +1 -0
- package/dist/components/fallbacks.d.ts +4 -0
- package/dist/components/fallbacks.d.ts.map +1 -0
- package/dist/components/fallbacks.js +16 -0
- package/dist/components/fallbacks.js.map +1 -0
- package/dist/components/index.d.ts +15 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +20 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/root.d.ts +3 -0
- package/dist/components/root.d.ts.map +1 -0
- package/dist/components/root.js +38 -0
- package/dist/components/root.js.map +1 -0
- package/dist/components/source.d.ts +26 -0
- package/dist/components/source.d.ts.map +1 -0
- package/dist/components/source.js +152 -0
- package/dist/components/source.js.map +1 -0
- package/dist/config/errors.d.ts +68 -0
- package/dist/config/errors.d.ts.map +1 -0
- package/dist/config/errors.js +97 -0
- package/dist/config/errors.js.map +1 -0
- package/dist/config/file.d.ts +13 -0
- package/dist/config/file.d.ts.map +1 -0
- package/dist/config/file.js +52 -0
- package/dist/config/file.js.map +1 -0
- package/dist/config/index.d.ts +13 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +113 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/schema.d.ts +11 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +245 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/entries/adapter.d.ts +2 -0
- package/dist/entries/adapter.d.ts.map +1 -0
- package/dist/entries/adapter.js +4 -0
- package/dist/entries/adapter.js.map +1 -0
- package/dist/entries/app/env/client.d.ts +5 -0
- package/dist/entries/app/env/client.d.ts.map +1 -0
- package/dist/entries/app/env/client.js +5 -0
- package/dist/entries/app/env/client.js.map +1 -0
- package/dist/entries/app/env/private/server.d.ts +2 -0
- package/dist/entries/app/env/private/server.d.ts.map +1 -0
- package/dist/entries/app/env/private/server.js +2 -0
- package/dist/entries/app/env/private/server.js.map +1 -0
- package/dist/entries/app/env/public/server.d.ts +2 -0
- package/dist/entries/app/env/public/server.d.ts.map +1 -0
- package/dist/entries/app/env/public/server.js +2 -0
- package/dist/entries/app/env/public/server.js.map +1 -0
- package/dist/entries/app/env/server.d.ts +4 -0
- package/dist/entries/app/env/server.d.ts.map +1 -0
- package/dist/entries/app/env/server.js +4 -0
- package/dist/entries/app/env/server.js.map +1 -0
- package/dist/entries/app/forms/client.d.ts +3 -0
- package/dist/entries/app/forms/client.d.ts.map +1 -0
- package/dist/entries/app/forms/client.js +2 -0
- package/dist/entries/app/forms/client.js.map +1 -0
- package/dist/entries/app/forms/server.d.ts +5 -0
- package/dist/entries/app/forms/server.d.ts.map +1 -0
- package/dist/entries/app/forms/server.js +17 -0
- package/dist/entries/app/forms/server.js.map +1 -0
- package/dist/entries/app/navigation/client.d.ts +3 -0
- package/dist/entries/app/navigation/client.d.ts.map +1 -0
- package/dist/entries/app/navigation/client.js +2 -0
- package/dist/entries/app/navigation/client.js.map +1 -0
- package/dist/entries/app/navigation/server.d.ts +13 -0
- package/dist/entries/app/navigation/server.d.ts.map +1 -0
- package/dist/entries/app/navigation/server.js +27 -0
- package/dist/entries/app/navigation/server.js.map +1 -0
- package/dist/entries/app/paths/client.d.ts +2 -0
- package/dist/entries/app/paths/client.d.ts.map +1 -0
- package/dist/entries/app/paths/client.js +2 -0
- package/dist/entries/app/paths/client.js.map +1 -0
- package/dist/entries/app/paths/server.d.ts +2 -0
- package/dist/entries/app/paths/server.d.ts.map +1 -0
- package/dist/entries/app/paths/server.js +2 -0
- package/dist/entries/app/paths/server.js.map +1 -0
- package/dist/entries/app/server/server.d.ts +10 -0
- package/dist/entries/app/server/server.d.ts.map +1 -0
- package/dist/entries/app/server/server.js +8 -0
- package/dist/entries/app/server/server.js.map +1 -0
- package/dist/entries/app/service-worker/client.d.ts +2 -0
- package/dist/entries/app/service-worker/client.d.ts.map +1 -0
- package/dist/entries/app/service-worker/client.js +7 -0
- package/dist/entries/app/service-worker/client.js.map +1 -0
- package/dist/entries/app/state/client.d.ts +3 -0
- package/dist/entries/app/state/client.d.ts.map +1 -0
- package/dist/entries/app/state/client.js +2 -0
- package/dist/entries/app/state/client.js.map +1 -0
- package/dist/entries/app/state/server.d.ts +2 -0
- package/dist/entries/app/state/server.d.ts.map +1 -0
- package/dist/entries/app/state/server.js +2 -0
- package/dist/entries/app/state/server.js.map +1 -0
- package/dist/entries/define-params.d.ts +5 -0
- package/dist/entries/define-params.d.ts.map +1 -0
- package/dist/entries/define-params.js +30 -0
- package/dist/entries/define-params.js.map +1 -0
- package/dist/entries/env/dynamic/private/server.d.ts +2 -0
- package/dist/entries/env/dynamic/private/server.d.ts.map +1 -0
- package/dist/entries/env/dynamic/private/server.js +2 -0
- package/dist/entries/env/dynamic/private/server.js.map +1 -0
- package/dist/entries/env/dynamic/public/client.d.ts +2 -0
- package/dist/entries/env/dynamic/public/client.d.ts.map +1 -0
- package/dist/entries/env/dynamic/public/client.js +2 -0
- package/dist/entries/env/dynamic/public/client.js.map +1 -0
- package/dist/entries/env/dynamic/public/server.d.ts +2 -0
- package/dist/entries/env/dynamic/public/server.d.ts.map +1 -0
- package/dist/entries/env/dynamic/public/server.js +2 -0
- package/dist/entries/env/dynamic/public/server.js.map +1 -0
- package/dist/entries/env.d.ts +4 -0
- package/dist/entries/env.d.ts.map +1 -0
- package/dist/entries/env.js +31 -0
- package/dist/entries/env.js.map +1 -0
- package/dist/entries/hooks.d.ts +3 -0
- package/dist/entries/hooks.d.ts.map +1 -0
- package/dist/entries/hooks.js +4 -0
- package/dist/entries/hooks.js.map +1 -0
- package/dist/entries/index.d.ts +21 -0
- package/dist/entries/index.d.ts.map +1 -0
- package/dist/entries/index.js +45 -0
- package/dist/entries/index.js.map +1 -0
- package/dist/entries/internal/client.d.ts +7 -0
- package/dist/entries/internal/client.d.ts.map +1 -0
- package/dist/entries/internal/client.js +6 -0
- package/dist/entries/internal/client.js.map +1 -0
- package/dist/entries/internal/env.d.ts +2 -0
- package/dist/entries/internal/env.d.ts.map +1 -0
- package/dist/entries/internal/env.js +2 -0
- package/dist/entries/internal/env.js.map +1 -0
- package/dist/entries/internal/identity.d.ts +4 -0
- package/dist/entries/internal/identity.d.ts.map +1 -0
- package/dist/entries/internal/identity.js +4 -0
- package/dist/entries/internal/identity.js.map +1 -0
- package/dist/entries/internal/payload.d.ts +2 -0
- package/dist/entries/internal/payload.d.ts.map +1 -0
- package/dist/entries/internal/payload.js +2 -0
- package/dist/entries/internal/payload.js.map +1 -0
- package/dist/entries/internal/restore.d.ts +4 -0
- package/dist/entries/internal/restore.d.ts.map +1 -0
- package/dist/entries/internal/restore.js +2 -0
- package/dist/entries/internal/restore.js.map +1 -0
- package/dist/entries/internal/sequence.d.ts +2 -0
- package/dist/entries/internal/sequence.d.ts.map +1 -0
- package/dist/entries/internal/sequence.js +2 -0
- package/dist/entries/internal/sequence.js.map +1 -0
- package/dist/entries/internal/server.d.ts +4 -0
- package/dist/entries/internal/server.d.ts.map +1 -0
- package/dist/entries/internal/server.js +3 -0
- package/dist/entries/internal/server.js.map +1 -0
- package/dist/entries/internal/shallow/client.d.ts +2 -0
- package/dist/entries/internal/shallow/client.d.ts.map +1 -0
- package/dist/entries/internal/shallow/client.js +2 -0
- package/dist/entries/internal/shallow/client.js.map +1 -0
- package/dist/entries/internal/shallow/server.d.ts +3 -0
- package/dist/entries/internal/shallow/server.d.ts.map +1 -0
- package/dist/entries/internal/shallow/server.js +5 -0
- package/dist/entries/internal/shallow/server.js.map +1 -0
- package/dist/entries/outcomes.d.ts +9 -0
- package/dist/entries/outcomes.d.ts.map +1 -0
- package/dist/entries/outcomes.js +23 -0
- package/dist/entries/outcomes.js.map +1 -0
- package/dist/entries/params.d.ts +3 -0
- package/dist/entries/params.d.ts.map +1 -0
- package/dist/entries/params.js +4 -0
- package/dist/entries/params.js.map +1 -0
- package/dist/entries/reroute.d.ts +6 -0
- package/dist/entries/reroute.d.ts.map +1 -0
- package/dist/entries/reroute.js +8 -0
- package/dist/entries/reroute.js.map +1 -0
- package/dist/entries/sequence.d.ts +5 -0
- package/dist/entries/sequence.d.ts.map +1 -0
- package/dist/entries/sequence.js +43 -0
- package/dist/entries/sequence.js.map +1 -0
- package/dist/node/index.d.ts +4 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +8 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/request.d.ts +5 -0
- package/dist/node/request.d.ts.map +1 -0
- package/dist/node/request.js +106 -0
- package/dist/node/request.js.map +1 -0
- package/dist/node/response.d.ts +3 -0
- package/dist/node/response.d.ts.map +1 -0
- package/dist/node/response.js +107 -0
- package/dist/node/response.js.map +1 -0
- package/dist/node/static.d.ts +18 -0
- package/dist/node/static.d.ts.map +1 -0
- package/dist/node/static.js +120 -0
- package/dist/node/static.js.map +1 -0
- package/dist/server/actions.d.ts +22 -0
- package/dist/server/actions.d.ts.map +1 -0
- package/dist/server/actions.js +118 -0
- package/dist/server/actions.js.map +1 -0
- package/dist/server/cookies.d.ts +14 -0
- package/dist/server/cookies.d.ts.map +1 -0
- package/dist/server/cookies.js +167 -0
- package/dist/server/cookies.js.map +1 -0
- package/dist/server/csp.d.ts +16 -0
- package/dist/server/csp.d.ts.map +1 -0
- package/dist/server/csp.js +148 -0
- package/dist/server/csp.js.map +1 -0
- package/dist/server/csrf.d.ts +3 -0
- package/dist/server/csrf.d.ts.map +1 -0
- package/dist/server/csrf.js +24 -0
- package/dist/server/csrf.js.map +1 -0
- package/dist/server/data.d.ts +18 -0
- package/dist/server/data.d.ts.map +1 -0
- package/dist/server/data.js +200 -0
- package/dist/server/data.js.map +1 -0
- package/dist/server/document.d.ts +14 -0
- package/dist/server/document.d.ts.map +1 -0
- package/dist/server/document.js +284 -0
- package/dist/server/document.js.map +1 -0
- package/dist/server/endpoint.d.ts +5 -0
- package/dist/server/endpoint.d.ts.map +1 -0
- package/dist/server/endpoint.js +69 -0
- package/dist/server/endpoint.js.map +1 -0
- package/dist/server/environment.d.ts +8 -0
- package/dist/server/environment.d.ts.map +1 -0
- package/dist/server/environment.js +31 -0
- package/dist/server/environment.js.map +1 -0
- package/dist/server/errors.d.ts +85 -0
- package/dist/server/errors.d.ts.map +1 -0
- package/dist/server/errors.js +138 -0
- package/dist/server/errors.js.map +1 -0
- package/dist/server/failure.d.ts +4 -0
- package/dist/server/failure.d.ts.map +1 -0
- package/dist/server/failure.js +49 -0
- package/dist/server/failure.js.map +1 -0
- package/dist/server/fetch-guard.d.ts +4 -0
- package/dist/server/fetch-guard.d.ts.map +1 -0
- package/dist/server/fetch-guard.js +54 -0
- package/dist/server/fetch-guard.js.map +1 -0
- package/dist/server/fetch.d.ts +5 -0
- package/dist/server/fetch.d.ts.map +1 -0
- package/dist/server/fetch.js +104 -0
- package/dist/server/fetch.js.map +1 -0
- package/dist/server/headers.d.ts +11 -0
- package/dist/server/headers.d.ts.map +1 -0
- package/dist/server/headers.js +80 -0
- package/dist/server/headers.js.map +1 -0
- package/dist/server/hooks.d.ts +4 -0
- package/dist/server/hooks.d.ts.map +1 -0
- package/dist/server/hooks.js +4 -0
- package/dist/server/hooks.js.map +1 -0
- package/dist/server/index.d.ts +22 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +70 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/load.d.ts +14 -0
- package/dist/server/load.d.ts.map +1 -0
- package/dist/server/load.js +185 -0
- package/dist/server/load.js.map +1 -0
- package/dist/server/origin.d.ts +2 -0
- package/dist/server/origin.d.ts.map +1 -0
- package/dist/server/origin.js +6 -0
- package/dist/server/origin.js.map +1 -0
- package/dist/server/page.d.ts +15 -0
- package/dist/server/page.d.ts.map +1 -0
- package/dist/server/page.js +181 -0
- package/dist/server/page.js.map +1 -0
- package/dist/server/paths.d.ts +18 -0
- package/dist/server/paths.d.ts.map +1 -0
- package/dist/server/paths.js +74 -0
- package/dist/server/paths.js.map +1 -0
- package/dist/server/read.d.ts +4 -0
- package/dist/server/read.d.ts.map +1 -0
- package/dist/server/read.js +75 -0
- package/dist/server/read.js.map +1 -0
- package/dist/server/remote/collect.d.ts +4 -0
- package/dist/server/remote/collect.d.ts.map +1 -0
- package/dist/server/remote/collect.js +69 -0
- package/dist/server/remote/collect.js.map +1 -0
- package/dist/server/remote/command.d.ts +3 -0
- package/dist/server/remote/command.d.ts.map +1 -0
- package/dist/server/remote/command.js +30 -0
- package/dist/server/remote/command.js.map +1 -0
- package/dist/server/remote/errors.d.ts +20 -0
- package/dist/server/remote/errors.d.ts.map +1 -0
- package/dist/server/remote/errors.js +59 -0
- package/dist/server/remote/errors.js.map +1 -0
- package/dist/server/remote/form.d.ts +3 -0
- package/dist/server/remote/form.d.ts.map +1 -0
- package/dist/server/remote/form.js +141 -0
- package/dist/server/remote/form.js.map +1 -0
- package/dist/server/remote/handler.d.ts +6 -0
- package/dist/server/remote/handler.d.ts.map +1 -0
- package/dist/server/remote/handler.js +168 -0
- package/dist/server/remote/handler.js.map +1 -0
- package/dist/server/remote/iteration.d.ts +8 -0
- package/dist/server/remote/iteration.d.ts.map +1 -0
- package/dist/server/remote/iteration.js +100 -0
- package/dist/server/remote/iteration.js.map +1 -0
- package/dist/server/remote/prerender.d.ts +3 -0
- package/dist/server/remote/prerender.d.ts.map +1 -0
- package/dist/server/remote/prerender.js +66 -0
- package/dist/server/remote/prerender.js.map +1 -0
- package/dist/server/remote/query.d.ts +3 -0
- package/dist/server/remote/query.d.ts.map +1 -0
- package/dist/server/remote/query.js +144 -0
- package/dist/server/remote/query.js.map +1 -0
- package/dist/server/remote/requested.d.ts +3 -0
- package/dist/server/remote/requested.d.ts.map +1 -0
- package/dist/server/remote/requested.js +96 -0
- package/dist/server/remote/requested.js.map +1 -0
- package/dist/server/remote/resource.d.ts +10 -0
- package/dist/server/remote/resource.d.ts.map +1 -0
- package/dist/server/remote/resource.js +115 -0
- package/dist/server/remote/resource.js.map +1 -0
- package/dist/server/remote/shared.d.ts +14 -0
- package/dist/server/remote/shared.d.ts.map +1 -0
- package/dist/server/remote/shared.js +92 -0
- package/dist/server/remote/shared.js.map +1 -0
- package/dist/server/remote/stream.d.ts +4 -0
- package/dist/server/remote/stream.d.ts.map +1 -0
- package/dist/server/remote/stream.js +86 -0
- package/dist/server/remote/stream.js.map +1 -0
- package/dist/server/replay.d.ts +4 -0
- package/dist/server/replay.d.ts.map +1 -0
- package/dist/server/replay.js +166 -0
- package/dist/server/replay.js.map +1 -0
- package/dist/server/respond.d.ts +4 -0
- package/dist/server/respond.d.ts.map +1 -0
- package/dist/server/respond.js +427 -0
- package/dist/server/respond.js.map +1 -0
- package/dist/server/routing.d.ts +5 -0
- package/dist/server/routing.d.ts.map +1 -0
- package/dist/server/routing.js +47 -0
- package/dist/server/routing.js.map +1 -0
- package/dist/server/scope.d.ts +22 -0
- package/dist/server/scope.d.ts.map +1 -0
- package/dist/server/scope.js +140 -0
- package/dist/server/scope.js.map +1 -0
- package/dist/server/state.d.ts +15 -0
- package/dist/server/state.d.ts.map +1 -0
- package/dist/server/state.js +49 -0
- package/dist/server/state.js.map +1 -0
- package/dist/server/stream.d.ts +9 -0
- package/dist/server/stream.d.ts.map +1 -0
- package/dist/server/stream.js +87 -0
- package/dist/server/stream.js.map +1 -0
- package/dist/server/telemetry.d.ts +11 -0
- package/dist/server/telemetry.d.ts.map +1 -0
- package/dist/server/telemetry.js +106 -0
- package/dist/server/telemetry.js.map +1 -0
- package/dist/server/transport.d.ts +4 -0
- package/dist/server/transport.d.ts.map +1 -0
- package/dist/server/transport.js +13 -0
- package/dist/server/transport.js.map +1 -0
- package/dist/server/url.d.ts +3 -0
- package/dist/server/url.d.ts.map +1 -0
- package/dist/server/url.js +34 -0
- package/dist/server/url.js.map +1 -0
- package/dist/server/warnings.d.ts +28 -0
- package/dist/server/warnings.d.ts.map +1 -0
- package/dist/server/warnings.js +33 -0
- package/dist/server/warnings.js.map +1 -0
- package/dist/shared/diagnostics.d.ts +22 -0
- package/dist/shared/diagnostics.d.ts.map +1 -0
- package/dist/shared/diagnostics.js +42 -0
- package/dist/shared/diagnostics.js.map +1 -0
- package/dist/shared/env.d.ts +11 -0
- package/dist/shared/env.d.ts.map +1 -0
- package/dist/shared/env.js +50 -0
- package/dist/shared/env.js.map +1 -0
- package/dist/shared/errors.d.ts +67 -0
- package/dist/shared/errors.d.ts.map +1 -0
- package/dist/shared/errors.js +143 -0
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/escape.d.ts +8 -0
- package/dist/shared/escape.d.ts.map +1 -0
- package/dist/shared/escape.js +21 -0
- package/dist/shared/escape.js.map +1 -0
- package/dist/shared/form-data.d.ts +14 -0
- package/dist/shared/form-data.d.ts.map +1 -0
- package/dist/shared/form-data.js +216 -0
- package/dist/shared/form-data.js.map +1 -0
- package/dist/shared/form-fields.d.ts +30 -0
- package/dist/shared/form-fields.d.ts.map +1 -0
- package/dist/shared/form-fields.js +311 -0
- package/dist/shared/form-fields.js.map +1 -0
- package/dist/shared/hash.d.ts +6 -0
- package/dist/shared/hash.d.ts.map +1 -0
- package/dist/shared/hash.js +35 -0
- package/dist/shared/hash.js.map +1 -0
- package/dist/shared/http.d.ts +6 -0
- package/dist/shared/http.d.ts.map +1 -0
- package/dist/shared/http.js +54 -0
- package/dist/shared/http.js.map +1 -0
- package/dist/shared/identity.d.ts +4 -0
- package/dist/shared/identity.d.ts.map +1 -0
- package/dist/shared/identity.js +12 -0
- package/dist/shared/identity.js.map +1 -0
- package/dist/shared/mime.d.ts +2 -0
- package/dist/shared/mime.d.ts.map +1 -0
- package/dist/shared/mime.js +6 -0
- package/dist/shared/mime.js.map +1 -0
- package/dist/shared/outcomes.d.ts +32 -0
- package/dist/shared/outcomes.d.ts.map +1 -0
- package/dist/shared/outcomes.js +53 -0
- package/dist/shared/outcomes.js.map +1 -0
- package/dist/shared/pathname.d.ts +9 -0
- package/dist/shared/pathname.d.ts.map +1 -0
- package/dist/shared/pathname.js +56 -0
- package/dist/shared/pathname.js.map +1 -0
- package/dist/shared/redirect.d.ts +5 -0
- package/dist/shared/redirect.d.ts.map +1 -0
- package/dist/shared/redirect.js +39 -0
- package/dist/shared/redirect.js.map +1 -0
- package/dist/shared/remote.d.ts +11 -0
- package/dist/shared/remote.d.ts.map +1 -0
- package/dist/shared/remote.js +144 -0
- package/dist/shared/remote.js.map +1 -0
- package/dist/shared/render.d.ts +2 -0
- package/dist/shared/render.d.ts.map +1 -0
- package/dist/shared/render.js +13 -0
- package/dist/shared/render.js.map +1 -0
- package/dist/shared/routing/index.d.ts +5 -0
- package/dist/shared/routing/index.d.ts.map +1 -0
- package/dist/shared/routing/index.js +4 -0
- package/dist/shared/routing/index.js.map +1 -0
- package/dist/shared/routing/match.d.ts +9 -0
- package/dist/shared/routing/match.d.ts.map +1 -0
- package/dist/shared/routing/match.js +63 -0
- package/dist/shared/routing/match.js.map +1 -0
- package/dist/shared/routing/pattern.d.ts +14 -0
- package/dist/shared/routing/pattern.d.ts.map +1 -0
- package/dist/shared/routing/pattern.js +119 -0
- package/dist/shared/routing/pattern.js.map +1 -0
- package/dist/shared/routing/sort.d.ts +6 -0
- package/dist/shared/routing/sort.d.ts.map +1 -0
- package/dist/shared/routing/sort.js +74 -0
- package/dist/shared/routing/sort.js.map +1 -0
- package/dist/shared/serialization.d.ts +8 -0
- package/dist/shared/serialization.d.ts.map +1 -0
- package/dist/shared/serialization.js +14 -0
- package/dist/shared/serialization.js.map +1 -0
- package/dist/shared/url.d.ts +10 -0
- package/dist/shared/url.d.ts.map +1 -0
- package/dist/shared/url.js +74 -0
- package/dist/shared/url.js.map +1 -0
- package/dist/shared/warnings.d.ts +9 -0
- package/dist/shared/warnings.d.ts.map +1 -0
- package/dist/shared/warnings.js +15 -0
- package/dist/shared/warnings.js.map +1 -0
- package/dist/sync/app-types.d.ts +7 -0
- package/dist/sync/app-types.d.ts.map +1 -0
- package/dist/sync/app-types.js +129 -0
- package/dist/sync/app-types.js.map +1 -0
- package/dist/sync/bin.d.ts +3 -0
- package/dist/sync/bin.d.ts.map +1 -0
- package/dist/sync/bin.js +7 -0
- package/dist/sync/bin.js.map +1 -0
- package/dist/sync/cli.d.ts +3 -0
- package/dist/sync/cli.d.ts.map +1 -0
- package/dist/sync/cli.js +94 -0
- package/dist/sync/cli.js.map +1 -0
- package/dist/sync/discover.d.ts +5 -0
- package/dist/sync/discover.d.ts.map +1 -0
- package/dist/sync/discover.js +236 -0
- package/dist/sync/discover.js.map +1 -0
- package/dist/sync/env.d.ts +15 -0
- package/dist/sync/env.d.ts.map +1 -0
- package/dist/sync/env.js +81 -0
- package/dist/sync/env.js.map +1 -0
- package/dist/sync/errors.d.ts +66 -0
- package/dist/sync/errors.d.ts.map +1 -0
- package/dist/sync/errors.js +87 -0
- package/dist/sync/errors.js.map +1 -0
- package/dist/sync/files.d.ts +7 -0
- package/dist/sync/files.d.ts.map +1 -0
- package/dist/sync/files.js +47 -0
- package/dist/sync/files.js.map +1 -0
- package/dist/sync/index.d.ts +18 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +36 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/options.d.ts +5 -0
- package/dist/sync/options.d.ts.map +1 -0
- package/dist/sync/options.js +109 -0
- package/dist/sync/options.js.map +1 -0
- package/dist/sync/package.d.ts +6 -0
- package/dist/sync/package.d.ts.map +1 -0
- package/dist/sync/package.js +31 -0
- package/dist/sync/package.js.map +1 -0
- package/dist/sync/proxy.d.ts +7 -0
- package/dist/sync/proxy.d.ts.map +1 -0
- package/dist/sync/proxy.js +175 -0
- package/dist/sync/proxy.js.map +1 -0
- package/dist/sync/route-paths.d.ts +5 -0
- package/dist/sync/route-paths.d.ts.map +1 -0
- package/dist/sync/route-paths.js +57 -0
- package/dist/sync/route-paths.js.map +1 -0
- package/dist/sync/route-types.d.ts +4 -0
- package/dist/sync/route-types.d.ts.map +1 -0
- package/dist/sync/route-types.js +151 -0
- package/dist/sync/route-types.js.map +1 -0
- package/dist/sync/typescript.d.ts +4 -0
- package/dist/sync/typescript.d.ts.map +1 -0
- package/dist/sync/typescript.js +231 -0
- package/dist/sync/typescript.js.map +1 -0
- package/dist/sync/warnings.d.ts +15 -0
- package/dist/sync/warnings.d.ts.map +1 -0
- package/dist/sync/warnings.js +13 -0
- package/dist/sync/warnings.js.map +1 -0
- package/dist/types/adapter.d.ts +4 -0
- package/dist/types/adapter.d.ts.map +1 -0
- package/dist/types/adapter.js +1 -0
- package/dist/types/adapter.js.map +1 -0
- package/dist/types/builder.d.ts +155 -0
- package/dist/types/builder.d.ts.map +1 -0
- package/dist/types/builder.js +1 -0
- package/dist/types/builder.js.map +1 -0
- package/dist/types/config.d.ts +131 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +1 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/csp.d.ts +47 -0
- package/dist/types/csp.d.ts.map +1 -0
- package/dist/types/csp.js +1 -0
- package/dist/types/csp.js.map +1 -0
- package/dist/types/env.d.ts +15 -0
- package/dist/types/env.d.ts.map +1 -0
- package/dist/types/env.js +1 -0
- package/dist/types/env.js.map +1 -0
- package/dist/types/fields.d.ts +123 -0
- package/dist/types/fields.d.ts.map +1 -0
- package/dist/types/fields.js +1 -0
- package/dist/types/fields.js.map +1 -0
- package/dist/types/forms.d.ts +46 -0
- package/dist/types/forms.d.ts.map +1 -0
- package/dist/types/forms.js +1 -0
- package/dist/types/forms.js.map +1 -0
- package/dist/types/hooks.d.ts +74 -0
- package/dist/types/hooks.d.ts.map +1 -0
- package/dist/types/hooks.js +1 -0
- package/dist/types/hooks.js.map +1 -0
- package/dist/types/identity.d.ts +28 -0
- package/dist/types/identity.d.ts.map +1 -0
- package/dist/types/identity.js +1 -0
- package/dist/types/identity.js.map +1 -0
- package/dist/types/index.d.ts +23 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/internal/client.d.ts +118 -0
- package/dist/types/internal/client.d.ts.map +1 -0
- package/dist/types/internal/client.js +1 -0
- package/dist/types/internal/client.js.map +1 -0
- package/dist/types/internal/data.d.ts +49 -0
- package/dist/types/internal/data.d.ts.map +1 -0
- package/dist/types/internal/data.js +1 -0
- package/dist/types/internal/data.js.map +1 -0
- package/dist/types/internal/remote.d.ts +142 -0
- package/dist/types/internal/remote.d.ts.map +1 -0
- package/dist/types/internal/remote.js +1 -0
- package/dist/types/internal/remote.js.map +1 -0
- package/dist/types/internal/routes.d.ts +66 -0
- package/dist/types/internal/routes.d.ts.map +1 -0
- package/dist/types/internal/routes.js +1 -0
- package/dist/types/internal/routes.js.map +1 -0
- package/dist/types/internal/server.d.ts +315 -0
- package/dist/types/internal/server.d.ts.map +1 -0
- package/dist/types/internal/server.js +1 -0
- package/dist/types/internal/server.js.map +1 -0
- package/dist/types/navigation.d.ts +99 -0
- package/dist/types/navigation.d.ts.map +1 -0
- package/dist/types/navigation.js +1 -0
- package/dist/types/navigation.js.map +1 -0
- package/dist/types/node.d.ts +10 -0
- package/dist/types/node.d.ts.map +1 -0
- package/dist/types/node.js +1 -0
- package/dist/types/node.js.map +1 -0
- package/dist/types/outcomes.d.ts +49 -0
- package/dist/types/outcomes.d.ts.map +1 -0
- package/dist/types/outcomes.js +1 -0
- package/dist/types/outcomes.js.map +1 -0
- package/dist/types/params.d.ts +11 -0
- package/dist/types/params.d.ts.map +1 -0
- package/dist/types/params.js +1 -0
- package/dist/types/params.js.map +1 -0
- package/dist/types/paths.d.ts +29 -0
- package/dist/types/paths.d.ts.map +1 -0
- package/dist/types/paths.js +1 -0
- package/dist/types/paths.js.map +1 -0
- package/dist/types/remote-form.d.ts +36 -0
- package/dist/types/remote-form.d.ts.map +1 -0
- package/dist/types/remote-form.js +1 -0
- package/dist/types/remote-form.js.map +1 -0
- package/dist/types/remote-functions.d.ts +44 -0
- package/dist/types/remote-functions.d.ts.map +1 -0
- package/dist/types/remote-functions.js +1 -0
- package/dist/types/remote-functions.js.map +1 -0
- package/dist/types/remote.d.ts +64 -0
- package/dist/types/remote.d.ts.map +1 -0
- package/dist/types/remote.js +1 -0
- package/dist/types/remote.js.map +1 -0
- package/dist/types/request.d.ts +88 -0
- package/dist/types/request.d.ts.map +1 -0
- package/dist/types/request.js +1 -0
- package/dist/types/request.js.map +1 -0
- package/dist/types/state.d.ts +33 -0
- package/dist/types/state.d.ts.map +1 -0
- package/dist/types/state.js +1 -0
- package/dist/types/state.js.map +1 -0
- package/dist/types/value.d.ts +8 -0
- package/dist/types/value.d.ts.map +1 -0
- package/dist/types/value.js +1 -0
- package/dist/types/value.js.map +1 -0
- package/dist/vite/assets.d.ts +5 -0
- package/dist/vite/assets.d.ts.map +1 -0
- package/dist/vite/assets.js +28 -0
- package/dist/vite/assets.js.map +1 -0
- package/dist/vite/build.d.ts +6 -0
- package/dist/vite/build.d.ts.map +1 -0
- package/dist/vite/build.js +507 -0
- package/dist/vite/build.js.map +1 -0
- package/dist/vite/client.d.ts +5 -0
- package/dist/vite/client.d.ts.map +1 -0
- package/dist/vite/client.js +74 -0
- package/dist/vite/client.js.map +1 -0
- package/dist/vite/csp.d.ts +3 -0
- package/dist/vite/csp.d.ts.map +1 -0
- package/dist/vite/csp.js +10 -0
- package/dist/vite/csp.js.map +1 -0
- package/dist/vite/dependencies.d.ts +17 -0
- package/dist/vite/dependencies.d.ts.map +1 -0
- package/dist/vite/dependencies.js +83 -0
- package/dist/vite/dependencies.js.map +1 -0
- package/dist/vite/dev.d.ts +4 -0
- package/dist/vite/dev.d.ts.map +1 -0
- package/dist/vite/dev.js +357 -0
- package/dist/vite/dev.js.map +1 -0
- package/dist/vite/env.d.ts +6 -0
- package/dist/vite/env.d.ts.map +1 -0
- package/dist/vite/env.js +48 -0
- package/dist/vite/env.js.map +1 -0
- package/dist/vite/ids.d.ts +26 -0
- package/dist/vite/ids.d.ts.map +1 -0
- package/dist/vite/ids.js +32 -0
- package/dist/vite/ids.js.map +1 -0
- package/dist/vite/index.d.ts +8 -0
- package/dist/vite/index.d.ts.map +1 -0
- package/dist/vite/index.js +245 -0
- package/dist/vite/index.js.map +1 -0
- package/dist/vite/messages.d.ts +61 -0
- package/dist/vite/messages.d.ts.map +1 -0
- package/dist/vite/messages.js +57 -0
- package/dist/vite/messages.js.map +1 -0
- package/dist/vite/modules.d.ts +8 -0
- package/dist/vite/modules.d.ts.map +1 -0
- package/dist/vite/modules.js +211 -0
- package/dist/vite/modules.js.map +1 -0
- package/dist/vite/paths.d.ts +28 -0
- package/dist/vite/paths.d.ts.map +1 -0
- package/dist/vite/paths.js +104 -0
- package/dist/vite/paths.js.map +1 -0
- package/dist/vite/preview.d.ts +4 -0
- package/dist/vite/preview.d.ts.map +1 -0
- package/dist/vite/preview.js +179 -0
- package/dist/vite/preview.js.map +1 -0
- package/dist/vite/project.d.ts +27 -0
- package/dist/vite/project.d.ts.map +1 -0
- package/dist/vite/project.js +1 -0
- package/dist/vite/project.js.map +1 -0
- package/dist/vite/remote-build.d.ts +3 -0
- package/dist/vite/remote-build.d.ts.map +1 -0
- package/dist/vite/remote-build.js +168 -0
- package/dist/vite/remote-build.js.map +1 -0
- package/dist/vite/remote.d.ts +14 -0
- package/dist/vite/remote.d.ts.map +1 -0
- package/dist/vite/remote.js +127 -0
- package/dist/vite/remote.js.map +1 -0
- package/dist/vite/server.d.ts +8 -0
- package/dist/vite/server.d.ts.map +1 -0
- package/dist/vite/server.js +148 -0
- package/dist/vite/server.js.map +1 -0
- package/dist/vite/styles.d.ts +2 -0
- package/dist/vite/styles.d.ts.map +1 -0
- package/dist/vite/styles.js +73 -0
- package/dist/vite/styles.js.map +1 -0
- package/package.json +128 -5
- package/src/build/analysis.ts +134 -0
- package/src/build/builder.ts +159 -0
- package/src/build/crawl.ts +101 -0
- package/src/build/features.ts +51 -0
- package/src/build/files.ts +97 -0
- package/src/build/index.ts +6 -0
- package/src/build/instrument.ts +56 -0
- package/src/build/jobs.ts +63 -0
- package/src/build/manifest.ts +130 -0
- package/src/build/messages.ts +182 -0
- package/src/build/prerender.ts +357 -0
- package/src/build/queue.ts +49 -0
- package/src/build/runtime.ts +75 -0
- package/src/build/types.ts +93 -0
- package/src/build/worker-entry.ts +43 -0
- package/src/build/worker.ts +152 -0
- package/src/client/actions.ts +69 -0
- package/src/client/chunks.ts +75 -0
- package/src/client/client.ts +620 -0
- package/src/client/data.ts +144 -0
- package/src/client/entry.ts +3 -0
- package/src/client/errors.ts +172 -0
- package/src/client/fetch.ts +131 -0
- package/src/client/forms.ts +156 -0
- package/src/client/history.ts +128 -0
- package/src/client/lifecycle.ts +71 -0
- package/src/client/links.ts +356 -0
- package/src/client/load.ts +487 -0
- package/src/client/messages/client-errors/forms.md +7 -0
- package/src/client/messages/client-errors/navigation.md +23 -0
- package/src/client/messages/client-errors/preload.md +7 -0
- package/src/client/messages/client-errors/snapshots.md +7 -0
- package/src/client/messages/client-warnings/links.md +7 -0
- package/src/client/messages/client-warnings/preload.md +7 -0
- package/src/client/navigation.ts +79 -0
- package/src/client/origin.ts +3 -0
- package/src/client/paths.ts +35 -0
- package/src/client/payload.ts +31 -0
- package/src/client/remote/cache.ts +404 -0
- package/src/client/remote/channel.ts +156 -0
- package/src/client/remote/command.ts +68 -0
- package/src/client/remote/form-element.ts +121 -0
- package/src/client/remote/form.ts +444 -0
- package/src/client/remote/live.ts +372 -0
- package/src/client/remote/query.ts +233 -0
- package/src/client/remote/result.ts +110 -0
- package/src/client/remote/updates.ts +110 -0
- package/src/client/restore.ts +196 -0
- package/src/client/routes.ts +217 -0
- package/src/client/state.ts +182 -0
- package/src/client/stream.ts +65 -0
- package/src/client/transport.ts +25 -0
- package/src/client/view.ts +178 -0
- package/src/client/warnings.ts +66 -0
- package/src/components/fallbacks.ts +18 -0
- package/src/components/index.ts +42 -0
- package/src/components/root.ts +95 -0
- package/src/components/source.ts +201 -0
- package/src/config/errors.ts +231 -0
- package/src/config/file.ts +61 -0
- package/src/config/index.ts +126 -0
- package/src/config/schema.ts +246 -0
- package/src/entries/adapter.ts +4 -0
- package/src/entries/app/env/client.ts +4 -0
- package/src/entries/app/env/private/server.ts +1 -0
- package/src/entries/app/env/public/server.ts +1 -0
- package/src/entries/app/env/server.ts +3 -0
- package/src/entries/app/forms/client.ts +2 -0
- package/src/entries/app/forms/server.ts +21 -0
- package/src/entries/app/navigation/client.ts +21 -0
- package/src/entries/app/navigation/server.ts +35 -0
- package/src/entries/app/paths/client.ts +1 -0
- package/src/entries/app/paths/server.ts +1 -0
- package/src/entries/app/server/server.ts +9 -0
- package/src/entries/app/service-worker/client.ts +7 -0
- package/src/entries/app/state/client.ts +2 -0
- package/src/entries/app/state/server.ts +1 -0
- package/src/entries/define-params.ts +40 -0
- package/src/entries/env/dynamic/private/server.ts +1 -0
- package/src/entries/env/dynamic/public/client.ts +1 -0
- package/src/entries/env/dynamic/public/server.ts +1 -0
- package/src/entries/env.ts +39 -0
- package/src/entries/hooks.ts +19 -0
- package/src/entries/index.ts +82 -0
- package/src/entries/internal/client.ts +14 -0
- package/src/entries/internal/env.ts +1 -0
- package/src/entries/internal/identity.ts +3 -0
- package/src/entries/internal/payload.ts +1 -0
- package/src/entries/internal/restore.ts +5 -0
- package/src/entries/internal/sequence.ts +1 -0
- package/src/entries/internal/server.ts +12 -0
- package/src/entries/internal/shallow/client.ts +1 -0
- package/src/entries/internal/shallow/server.ts +6 -0
- package/src/entries/outcomes.ts +45 -0
- package/src/entries/params.ts +12 -0
- package/src/entries/reroute.ts +13 -0
- package/src/entries/sequence.ts +52 -0
- package/src/node/index.ts +9 -0
- package/src/node/request.ts +114 -0
- package/src/node/response.ts +108 -0
- package/src/node/static.ts +147 -0
- package/src/server/actions.ts +139 -0
- package/src/server/cookies.ts +192 -0
- package/src/server/csp.ts +166 -0
- package/src/server/csrf.ts +28 -0
- package/src/server/data.ts +237 -0
- package/src/server/document.ts +331 -0
- package/src/server/endpoint.ts +80 -0
- package/src/server/environment.ts +41 -0
- package/src/server/errors.ts +318 -0
- package/src/server/failure.ts +49 -0
- package/src/server/fetch-guard.ts +60 -0
- package/src/server/fetch.ts +119 -0
- package/src/server/headers.ts +84 -0
- package/src/server/hooks.ts +6 -0
- package/src/server/index.ts +90 -0
- package/src/server/load.ts +247 -0
- package/src/server/origin.ts +6 -0
- package/src/server/page.ts +220 -0
- package/src/server/paths.ts +89 -0
- package/src/server/read.ts +80 -0
- package/src/server/remote/collect.ts +70 -0
- package/src/server/remote/command.ts +30 -0
- package/src/server/remote/errors.ts +135 -0
- package/src/server/remote/form.ts +160 -0
- package/src/server/remote/handler.ts +208 -0
- package/src/server/remote/iteration.ts +102 -0
- package/src/server/remote/prerender.ts +77 -0
- package/src/server/remote/query.ts +176 -0
- package/src/server/remote/requested.ts +94 -0
- package/src/server/remote/resource.ts +148 -0
- package/src/server/remote/shared.ts +117 -0
- package/src/server/remote/stream.ts +81 -0
- package/src/server/replay.ts +174 -0
- package/src/server/respond.ts +488 -0
- package/src/server/routing.ts +58 -0
- package/src/server/scope.ts +164 -0
- package/src/server/state.ts +56 -0
- package/src/server/stream.ts +87 -0
- package/src/server/telemetry.ts +107 -0
- package/src/server/transport.ts +14 -0
- package/src/server/url.ts +34 -0
- package/src/server/warnings.ts +87 -0
- package/src/shared/diagnostics.ts +62 -0
- package/src/shared/env.ts +58 -0
- package/src/shared/errors.ts +290 -0
- package/src/shared/escape.ts +27 -0
- package/src/shared/form-data.ts +257 -0
- package/src/shared/form-fields.ts +344 -0
- package/src/shared/hash.ts +36 -0
- package/src/shared/http.ts +74 -0
- package/src/shared/identity.ts +16 -0
- package/src/shared/mime.ts +6 -0
- package/src/shared/outcomes.ts +72 -0
- package/src/shared/pathname.ts +51 -0
- package/src/shared/redirect.ts +47 -0
- package/src/shared/remote.ts +162 -0
- package/src/shared/render.ts +13 -0
- package/src/shared/routing/index.ts +11 -0
- package/src/shared/routing/match.ts +76 -0
- package/src/shared/routing/pattern.ts +141 -0
- package/src/shared/routing/sort.ts +75 -0
- package/src/shared/serialization.ts +21 -0
- package/src/shared/url.ts +86 -0
- package/src/shared/warnings.ts +25 -0
- package/src/sync/app-types.ts +164 -0
- package/src/sync/bin.ts +9 -0
- package/src/sync/cli.ts +99 -0
- package/src/sync/discover.ts +258 -0
- package/src/sync/env.ts +109 -0
- package/src/sync/errors.ts +215 -0
- package/src/sync/files.ts +52 -0
- package/src/sync/index.ts +48 -0
- package/src/sync/options.ts +104 -0
- package/src/sync/package.ts +41 -0
- package/src/sync/proxy.ts +180 -0
- package/src/sync/route-paths.ts +59 -0
- package/src/sync/route-types.ts +183 -0
- package/src/sync/typescript.ts +269 -0
- package/src/sync/warnings.ts +26 -0
- package/src/types/adapter.ts +4 -0
- package/src/types/builder.ts +147 -0
- package/src/types/config.ts +132 -0
- package/src/types/csp.ts +83 -0
- package/src/types/env.ts +20 -0
- package/src/types/fields.ts +177 -0
- package/src/types/forms.ts +44 -0
- package/src/types/hooks.ts +56 -0
- package/src/types/identity.ts +28 -0
- package/src/types/index.ts +66 -0
- package/src/types/internal/client.ts +126 -0
- package/src/types/internal/data.ts +57 -0
- package/src/types/internal/remote.ts +130 -0
- package/src/types/internal/routes.ts +74 -0
- package/src/types/internal/server.ts +372 -0
- package/src/types/navigation.ts +95 -0
- package/src/types/node.ts +10 -0
- package/src/types/outcomes.ts +63 -0
- package/src/types/params.ts +34 -0
- package/src/types/paths.ts +31 -0
- package/src/types/remote-form.ts +56 -0
- package/src/types/remote-functions.ts +114 -0
- package/src/types/remote.ts +75 -0
- package/src/types/request.ts +122 -0
- package/src/types/state.ts +30 -0
- package/src/types/value.ts +11 -0
- package/src/vite/assets.ts +42 -0
- package/src/vite/build.ts +614 -0
- package/src/vite/client.ts +106 -0
- package/src/vite/csp.ts +13 -0
- package/src/vite/dependencies.ts +104 -0
- package/src/vite/dev.ts +411 -0
- package/src/vite/env.ts +82 -0
- package/src/vite/ids.ts +39 -0
- package/src/vite/index.ts +284 -0
- package/src/vite/messages.ts +149 -0
- package/src/vite/modules.ts +213 -0
- package/src/vite/paths.ts +131 -0
- package/src/vite/preview.ts +215 -0
- package/src/vite/project.ts +27 -0
- package/src/vite/remote-build.ts +198 -0
- package/src/vite/remote.ts +138 -0
- package/src/vite/server.ts +166 -0
- package/src/vite/styles.ts +84 -0
- package/types/index.d.ts +196 -0
- package/README.md +0 -3
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
DataResponse,
|
|
3
|
+
DataRedirectNode,
|
|
4
|
+
DataChunkNode,
|
|
5
|
+
EncodedDataResponse
|
|
6
|
+
} from '../types/internal/data.ts';
|
|
7
|
+
import { addDataSuffix } from '../shared/pathname.ts';
|
|
8
|
+
import { HttpError } from '../shared/outcomes.ts';
|
|
9
|
+
import { readNdjson } from './stream.ts';
|
|
10
|
+
import { reserved_query_parameter } from './errors.ts';
|
|
11
|
+
import type { State } from './state.ts';
|
|
12
|
+
import type { Transport } from './transport.ts';
|
|
13
|
+
import { identity } from '../shared/identity.ts';
|
|
14
|
+
|
|
15
|
+
interface Deferred {
|
|
16
|
+
resolve(value: unknown): void;
|
|
17
|
+
reject(error: unknown): void;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function message(value: unknown): EncodedDataResponse | DataRedirectNode | DataChunkNode {
|
|
21
|
+
if (!value || typeof value !== 'object' || !('type' in value))
|
|
22
|
+
throw new TypeError('Invalid data response');
|
|
23
|
+
if (value.type === 'data' && 'nodes' in value && Array.isArray(value.nodes)) {
|
|
24
|
+
for (const node of value.nodes) {
|
|
25
|
+
if (node === null) continue;
|
|
26
|
+
if (!node || typeof node !== 'object') throw new TypeError('Invalid data node');
|
|
27
|
+
if (node.type === 'skip') continue;
|
|
28
|
+
if (node.type === 'error' && node.error && typeof node.error.message === 'string') continue;
|
|
29
|
+
if (node.type !== 'data' || !node.uses || typeof node.uses !== 'object')
|
|
30
|
+
throw new TypeError('Invalid data node');
|
|
31
|
+
for (const key of ['dependencies', 'params', 'search_params']) {
|
|
32
|
+
if (
|
|
33
|
+
node.uses[key] !== undefined &&
|
|
34
|
+
(!Array.isArray(node.uses[key]) ||
|
|
35
|
+
node.uses[key].some((entry: unknown) => typeof entry !== 'string'))
|
|
36
|
+
)
|
|
37
|
+
throw new TypeError('Invalid data dependencies');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return value as EncodedDataResponse;
|
|
41
|
+
}
|
|
42
|
+
if (
|
|
43
|
+
value.type === 'redirect' &&
|
|
44
|
+
'location' in value &&
|
|
45
|
+
typeof value.location === 'string' &&
|
|
46
|
+
'status' in value &&
|
|
47
|
+
typeof value.status === 'number'
|
|
48
|
+
)
|
|
49
|
+
return value as DataRedirectNode;
|
|
50
|
+
if (
|
|
51
|
+
value.type === 'chunk' &&
|
|
52
|
+
'id' in value &&
|
|
53
|
+
typeof value.id === 'number' &&
|
|
54
|
+
Number.isSafeInteger(value.id) &&
|
|
55
|
+
value.id >= 0
|
|
56
|
+
)
|
|
57
|
+
return value as DataChunkNode;
|
|
58
|
+
throw new TypeError('Invalid data response');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function readData(
|
|
62
|
+
response: Response,
|
|
63
|
+
transport: Transport
|
|
64
|
+
): Promise<DataResponse | DataRedirectNode> {
|
|
65
|
+
const first = Promise.withResolvers<DataResponse | DataRedirectNode>();
|
|
66
|
+
const pending = new Map<number, Deferred>();
|
|
67
|
+
let received = false;
|
|
68
|
+
function revive(value: any): any {
|
|
69
|
+
return transport.unflatten(value, {
|
|
70
|
+
Promise: (id: number) => {
|
|
71
|
+
const deferred = Promise.withResolvers<unknown>();
|
|
72
|
+
pending.set(id, deferred);
|
|
73
|
+
void deferred.promise.catch(() => {});
|
|
74
|
+
return deferred.promise;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
void (async () => {
|
|
79
|
+
try {
|
|
80
|
+
if (!response.body) throw new TypeError('Empty data response');
|
|
81
|
+
for await (const value of readNdjson(response.body.getReader())) {
|
|
82
|
+
const frame = message(value);
|
|
83
|
+
if (frame.type === 'redirect') {
|
|
84
|
+
received = true;
|
|
85
|
+
first.resolve(frame);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (frame.type === 'data') {
|
|
89
|
+
if (received) throw new TypeError('Duplicate data response');
|
|
90
|
+
const result: DataResponse = {
|
|
91
|
+
type: 'data',
|
|
92
|
+
nodes: frame.nodes.map((node) =>
|
|
93
|
+
node?.type === 'data' ? { ...node, data: revive(node.data) } : node
|
|
94
|
+
)
|
|
95
|
+
};
|
|
96
|
+
received = true;
|
|
97
|
+
first.resolve(result);
|
|
98
|
+
} else {
|
|
99
|
+
const deferred = pending.get(frame.id);
|
|
100
|
+
if (!deferred) throw new TypeError('Unknown deferred data id');
|
|
101
|
+
pending.delete(frame.id);
|
|
102
|
+
if ('error' in frame) deferred.reject(revive(frame.error));
|
|
103
|
+
else deferred.resolve(revive(frame.data));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (!received || pending.size) throw new TypeError('Incomplete data response');
|
|
107
|
+
} catch (error) {
|
|
108
|
+
first.reject(error);
|
|
109
|
+
for (const deferred of pending.values()) deferred.reject(error);
|
|
110
|
+
pending.clear();
|
|
111
|
+
}
|
|
112
|
+
})();
|
|
113
|
+
return first.promise;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export async function fetchData(
|
|
117
|
+
url: URL,
|
|
118
|
+
invalid: boolean[],
|
|
119
|
+
transport: Transport,
|
|
120
|
+
state: State
|
|
121
|
+
): Promise<DataResponse | DataRedirectNode> {
|
|
122
|
+
const reserved = `x-${identity.name}-`;
|
|
123
|
+
for (const key of url.searchParams.keys())
|
|
124
|
+
if (key.startsWith(reserved)) reserved_query_parameter({ key });
|
|
125
|
+
const dataUrl = new URL(url);
|
|
126
|
+
dataUrl.pathname = addDataSuffix(url.pathname);
|
|
127
|
+
if (url.pathname.endsWith('/')) dataUrl.searchParams.set(`${reserved}trailing-slash`, '1');
|
|
128
|
+
dataUrl.searchParams.set(
|
|
129
|
+
`${reserved}invalidated`,
|
|
130
|
+
invalid.map((value) => Number(value)).join('')
|
|
131
|
+
);
|
|
132
|
+
const response = await fetch(dataUrl);
|
|
133
|
+
state.notify(response.headers.get(`${reserved}version`));
|
|
134
|
+
if (!response.ok) {
|
|
135
|
+
let body: App.Error = {
|
|
136
|
+
status: response.status,
|
|
137
|
+
message: response.status === 404 ? 'Not Found' : 'Internal Error'
|
|
138
|
+
};
|
|
139
|
+
if (response.headers.get('content-type')?.includes('application/json'))
|
|
140
|
+
body = { ...body, ...(await response.json()) };
|
|
141
|
+
throw new HttpError(body);
|
|
142
|
+
}
|
|
143
|
+
return readData(response, transport);
|
|
144
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { DEV } from 'esm-env';
|
|
2
|
+
import { throwCode, throwDiagnostic } from '../shared/diagnostics.ts';
|
|
3
|
+
|
|
4
|
+
interface Caller {
|
|
5
|
+
caller: string;
|
|
6
|
+
}
|
|
7
|
+
interface Destination extends Caller {
|
|
8
|
+
url: string;
|
|
9
|
+
}
|
|
10
|
+
interface Route {
|
|
11
|
+
id: string;
|
|
12
|
+
}
|
|
13
|
+
interface Url {
|
|
14
|
+
url: string;
|
|
15
|
+
}
|
|
16
|
+
interface Key {
|
|
17
|
+
key: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function navigation_before_start(values: Caller): never {
|
|
21
|
+
if (DEV)
|
|
22
|
+
throwDiagnostic(
|
|
23
|
+
'navigation_before_start',
|
|
24
|
+
`Cannot call \`${values.caller}(...)\` before router is initialized`,
|
|
25
|
+
navigation_before_start
|
|
26
|
+
);
|
|
27
|
+
throwCode('navigation_before_start');
|
|
28
|
+
}
|
|
29
|
+
export function navigation_external_url(values: Destination): never {
|
|
30
|
+
if (DEV)
|
|
31
|
+
throwDiagnostic(
|
|
32
|
+
'navigation_external_url',
|
|
33
|
+
`Cannot use \`${values.caller}\` with an external URL. Use \`window.location = "${values.url}"\` instead`,
|
|
34
|
+
navigation_external_url
|
|
35
|
+
);
|
|
36
|
+
throwCode('navigation_external_url');
|
|
37
|
+
}
|
|
38
|
+
export function navigation_route_missing(values: Destination): never {
|
|
39
|
+
if (DEV)
|
|
40
|
+
throwDiagnostic(
|
|
41
|
+
'navigation_route_missing',
|
|
42
|
+
`Cannot use \`${values.caller}\` with a URL that does not resolve to a route within the app. Use \`window.location = "${values.url}"\` instead`,
|
|
43
|
+
navigation_route_missing
|
|
44
|
+
);
|
|
45
|
+
throwCode('navigation_route_missing');
|
|
46
|
+
}
|
|
47
|
+
export function redirect_loop(values: Url): never {
|
|
48
|
+
if (DEV)
|
|
49
|
+
throwDiagnostic(
|
|
50
|
+
'redirect_loop',
|
|
51
|
+
`Redirect loop while navigating to \`${values.url}\``,
|
|
52
|
+
redirect_loop
|
|
53
|
+
);
|
|
54
|
+
throwCode('redirect_loop');
|
|
55
|
+
}
|
|
56
|
+
export function reserved_query_parameter(values: Key): never {
|
|
57
|
+
if (DEV)
|
|
58
|
+
throwDiagnostic(
|
|
59
|
+
'reserved_query_parameter',
|
|
60
|
+
`Cannot use reserved query parameter \`${values.key}\``,
|
|
61
|
+
reserved_query_parameter
|
|
62
|
+
);
|
|
63
|
+
throwCode('reserved_query_parameter');
|
|
64
|
+
}
|
|
65
|
+
export function scroll_handling_outside_navigation(): never {
|
|
66
|
+
if (DEV)
|
|
67
|
+
throwDiagnostic(
|
|
68
|
+
'scroll_handling_outside_navigation',
|
|
69
|
+
'Can only disable scroll handling during navigation',
|
|
70
|
+
scroll_handling_outside_navigation
|
|
71
|
+
);
|
|
72
|
+
throwCode('scroll_handling_outside_navigation');
|
|
73
|
+
}
|
|
74
|
+
export function preload_invalid_route_id(values: Route): never {
|
|
75
|
+
if (DEV)
|
|
76
|
+
throwDiagnostic(
|
|
77
|
+
'preload_invalid_route_id',
|
|
78
|
+
`\`preloadCode\` expects a route ID starting with \`/\` (such as \`/blog/[slug]\`), but received \`${values.id}\``,
|
|
79
|
+
preload_invalid_route_id
|
|
80
|
+
);
|
|
81
|
+
throwCode('preload_invalid_route_id');
|
|
82
|
+
}
|
|
83
|
+
export function preload_url_outside_app(values: Url): never {
|
|
84
|
+
if (DEV)
|
|
85
|
+
throwDiagnostic(
|
|
86
|
+
'preload_url_outside_app',
|
|
87
|
+
`Attempted to preload a URL that does not belong to this app: \`${values.url}\``,
|
|
88
|
+
preload_url_outside_app
|
|
89
|
+
);
|
|
90
|
+
throwCode('preload_url_outside_app');
|
|
91
|
+
}
|
|
92
|
+
export function snapshot_duplicate_id(values: { id: string }): never {
|
|
93
|
+
if (DEV)
|
|
94
|
+
throwDiagnostic(
|
|
95
|
+
'snapshot_duplicate_id',
|
|
96
|
+
`A snapshot with id \`${values.id}\` is already registered. Pass a unique \`id\`.`,
|
|
97
|
+
snapshot_duplicate_id
|
|
98
|
+
);
|
|
99
|
+
throwCode('snapshot_duplicate_id');
|
|
100
|
+
}
|
|
101
|
+
export function snapshot_id_missing(): never {
|
|
102
|
+
if (DEV)
|
|
103
|
+
throwDiagnostic(
|
|
104
|
+
'snapshot_id_missing',
|
|
105
|
+
'Could not generate a snapshot id from the stack trace. Pass an `id` instead.',
|
|
106
|
+
snapshot_id_missing
|
|
107
|
+
);
|
|
108
|
+
throwCode('snapshot_id_missing');
|
|
109
|
+
}
|
|
110
|
+
export function enhance_invalid_method(): never {
|
|
111
|
+
if (DEV)
|
|
112
|
+
throwDiagnostic(
|
|
113
|
+
'enhance_invalid_method',
|
|
114
|
+
'`use:enhance` can only be used on `<form>` elements with `method="POST"`',
|
|
115
|
+
enhance_invalid_method
|
|
116
|
+
);
|
|
117
|
+
throwCode('enhance_invalid_method');
|
|
118
|
+
}
|
|
119
|
+
export function remote_form_multiple_elements(): never {
|
|
120
|
+
if (DEV)
|
|
121
|
+
throwDiagnostic(
|
|
122
|
+
'remote_form_multiple_elements',
|
|
123
|
+
'A form object can only be attached to a single `<form>` element',
|
|
124
|
+
remote_form_multiple_elements
|
|
125
|
+
);
|
|
126
|
+
throwCode('remote_form_multiple_elements');
|
|
127
|
+
}
|
|
128
|
+
export function remote_form_not_attached(): never {
|
|
129
|
+
if (DEV)
|
|
130
|
+
throwDiagnostic(
|
|
131
|
+
'remote_form_not_attached',
|
|
132
|
+
'Cannot call `submit()` before the form is attached',
|
|
133
|
+
remote_form_not_attached
|
|
134
|
+
);
|
|
135
|
+
throwCode('remote_form_not_attached');
|
|
136
|
+
}
|
|
137
|
+
export function remote_form_reserved_field(): never {
|
|
138
|
+
if (DEV)
|
|
139
|
+
throwDiagnostic(
|
|
140
|
+
'remote_form_reserved_field',
|
|
141
|
+
'`$` is used to collect all FormData validation issues and cannot be used as the `name` of a form control',
|
|
142
|
+
remote_form_reserved_field
|
|
143
|
+
);
|
|
144
|
+
throwCode('remote_form_reserved_field');
|
|
145
|
+
}
|
|
146
|
+
export function remote_form_mixed_inputs(values: { name: string }): never {
|
|
147
|
+
if (DEV)
|
|
148
|
+
throwDiagnostic(
|
|
149
|
+
'remote_form_mixed_inputs',
|
|
150
|
+
`Cannot mix and match file and non-file inputs under the same name (\`${values.name}\`)`,
|
|
151
|
+
remote_form_mixed_inputs
|
|
152
|
+
);
|
|
153
|
+
throwCode('remote_form_mixed_inputs');
|
|
154
|
+
}
|
|
155
|
+
export function remote_form_multiple_files(values: { name: string }): never {
|
|
156
|
+
if (DEV)
|
|
157
|
+
throwDiagnostic(
|
|
158
|
+
'remote_form_multiple_files',
|
|
159
|
+
`Can only use the \`multiple\` attribute when \`name\` includes a \`[]\` suffix — consider changing \`${values.name}\` to \`${values.name}[]\``,
|
|
160
|
+
remote_form_multiple_files
|
|
161
|
+
);
|
|
162
|
+
throwCode('remote_form_multiple_files');
|
|
163
|
+
}
|
|
164
|
+
export function enhance_file_without_enctype(): never {
|
|
165
|
+
if (DEV)
|
|
166
|
+
throwDiagnostic(
|
|
167
|
+
'enhance_file_without_enctype',
|
|
168
|
+
'Your form contains `<input type="file">` fields, but is missing the necessary `enctype="multipart/form-data"` attribute',
|
|
169
|
+
enhance_file_without_enctype
|
|
170
|
+
);
|
|
171
|
+
throwCode('enhance_file_without_enctype');
|
|
172
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { hashRequest } from '../shared/hash.ts';
|
|
2
|
+
import { decodeBase64 } from './stream.ts';
|
|
3
|
+
import { DEV } from 'esm-env';
|
|
4
|
+
import { window_fetch_in_load } from './warnings.ts';
|
|
5
|
+
import { identity } from '../shared/identity.ts';
|
|
6
|
+
|
|
7
|
+
interface Cached {
|
|
8
|
+
body: BodyInit | null;
|
|
9
|
+
init: ResponseInit;
|
|
10
|
+
expires: number;
|
|
11
|
+
url: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export class FetchCache {
|
|
15
|
+
initial = true;
|
|
16
|
+
readonly #cache = new Map<string, Cached>();
|
|
17
|
+
readonly #internal = new WeakSet<RequestInit>();
|
|
18
|
+
#loading = 0;
|
|
19
|
+
|
|
20
|
+
async load<T>(callback: () => T | Promise<T>): Promise<T> {
|
|
21
|
+
this.#loading++;
|
|
22
|
+
try {
|
|
23
|
+
return await callback();
|
|
24
|
+
} finally {
|
|
25
|
+
this.#loading--;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
observe(): () => void {
|
|
30
|
+
const native = globalThis.fetch;
|
|
31
|
+
let active = true;
|
|
32
|
+
const observed: typeof fetch = (input, init) => {
|
|
33
|
+
if (active) {
|
|
34
|
+
const url = new URL(input instanceof Request ? input.url : input, location.href);
|
|
35
|
+
if (DEV && this.#loading && (!init || !this.#internal.has(init)))
|
|
36
|
+
window_fetch_in_load({ url: url.href });
|
|
37
|
+
const method = init?.method ?? (input instanceof Request ? input.method : 'GET');
|
|
38
|
+
if (method.toUpperCase() !== 'GET') {
|
|
39
|
+
const requested =
|
|
40
|
+
url.origin === location.origin ? url.href.slice(url.origin.length) : url.href;
|
|
41
|
+
for (const [key, cached] of this.#cache)
|
|
42
|
+
if (cached.url === requested) this.#cache.delete(key);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return native(input, init);
|
|
46
|
+
};
|
|
47
|
+
globalThis.fetch = observed;
|
|
48
|
+
return () => {
|
|
49
|
+
active = false;
|
|
50
|
+
this.#cache.clear();
|
|
51
|
+
if (globalThis.fetch === observed) globalThis.fetch = native;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
async fetch(
|
|
56
|
+
input: RequestInfo | URL,
|
|
57
|
+
options: RequestInit | undefined,
|
|
58
|
+
page: URL
|
|
59
|
+
): Promise<Response> {
|
|
60
|
+
let init = options;
|
|
61
|
+
if (input instanceof Request) {
|
|
62
|
+
init = {
|
|
63
|
+
method: input.method,
|
|
64
|
+
headers: [...input.headers].length ? input.headers : undefined,
|
|
65
|
+
body:
|
|
66
|
+
input.method === 'GET' || input.method === 'HEAD'
|
|
67
|
+
? undefined
|
|
68
|
+
: new Uint8Array(await input.clone().arrayBuffer()),
|
|
69
|
+
cache: input.cache,
|
|
70
|
+
credentials: input.credentials,
|
|
71
|
+
integrity: input.integrity,
|
|
72
|
+
keepalive: input.keepalive,
|
|
73
|
+
mode: input.mode,
|
|
74
|
+
redirect: input.redirect,
|
|
75
|
+
referrer: input.referrer,
|
|
76
|
+
referrerPolicy: input.referrerPolicy,
|
|
77
|
+
signal: input.signal,
|
|
78
|
+
...options
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const url = new URL(input instanceof Request ? input.url : input, page);
|
|
82
|
+
const requested = url.origin === page.origin ? url.href.slice(url.origin.length) : url.href;
|
|
83
|
+
const body = init?.body;
|
|
84
|
+
const replayable = !body || typeof body === 'string' || ArrayBuffer.isView(body);
|
|
85
|
+
const digest =
|
|
86
|
+
replayable && (init?.headers || body)
|
|
87
|
+
? hashRequest(init?.headers, body as string | ArrayBufferView | undefined)
|
|
88
|
+
: '';
|
|
89
|
+
const key = JSON.stringify([requested, digest]);
|
|
90
|
+
if (this.initial && replayable) {
|
|
91
|
+
const script = [
|
|
92
|
+
...document.querySelectorAll<HTMLScriptElement>(`script[data-${identity.name}-fetched]`)
|
|
93
|
+
].find(
|
|
94
|
+
(script) =>
|
|
95
|
+
script.getAttribute('data-url') === requested &&
|
|
96
|
+
(script.getAttribute('data-hash') ?? '') === digest
|
|
97
|
+
);
|
|
98
|
+
if (script?.textContent) {
|
|
99
|
+
const {
|
|
100
|
+
body: text,
|
|
101
|
+
...response
|
|
102
|
+
}: { body: string; status: number; statusText?: string; headers?: Record<string, string> } =
|
|
103
|
+
JSON.parse(script.textContent);
|
|
104
|
+
script.remove();
|
|
105
|
+
const value = script.hasAttribute('data-b64') ? decodeBase64(text) : text;
|
|
106
|
+
const ttl = Number(script.getAttribute('data-ttl'));
|
|
107
|
+
if (ttl > 0)
|
|
108
|
+
this.#cache.set(key, {
|
|
109
|
+
url: requested,
|
|
110
|
+
body: value,
|
|
111
|
+
init: response,
|
|
112
|
+
expires: performance.now() + ttl * 1000
|
|
113
|
+
});
|
|
114
|
+
return new Response(value, response);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const cached = replayable && this.#cache.get(key);
|
|
118
|
+
if (cached) {
|
|
119
|
+
if (
|
|
120
|
+
performance.now() < cached.expires &&
|
|
121
|
+
(!init?.cache || ['default', 'force-cache', 'only-if-cached'].includes(init.cache))
|
|
122
|
+
) {
|
|
123
|
+
return new Response(cached.body, cached.init);
|
|
124
|
+
}
|
|
125
|
+
this.#cache.delete(key);
|
|
126
|
+
}
|
|
127
|
+
const outgoing = { ...init };
|
|
128
|
+
this.#internal.add(outgoing);
|
|
129
|
+
return globalThis.fetch(url, outgoing);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { DEV } from 'esm-env';
|
|
2
|
+
import type {
|
|
3
|
+
ActionResult,
|
|
4
|
+
Enhancement,
|
|
5
|
+
FormUpdateOptions,
|
|
6
|
+
SubmitFunction,
|
|
7
|
+
SubmitResult
|
|
8
|
+
} from '../types/forms.ts';
|
|
9
|
+
import { HttpError, FrameworkError } from '../shared/outcomes.ts';
|
|
10
|
+
import { client } from './client.ts';
|
|
11
|
+
import { enhance_file_without_enctype, enhance_invalid_method } from './errors.ts';
|
|
12
|
+
import { identity } from '../shared/identity.ts';
|
|
13
|
+
|
|
14
|
+
export function deserialize<
|
|
15
|
+
Success extends Record<string, unknown> | undefined = Record<string, any>,
|
|
16
|
+
Failure extends Record<string, unknown> | undefined = Record<string, any>
|
|
17
|
+
>(value: string): ActionResult<Success, Failure> {
|
|
18
|
+
const result = JSON.parse(value);
|
|
19
|
+
if (result && typeof result.data === 'string')
|
|
20
|
+
result.data = client('deserialize').transport.parse(result.data);
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function applyAction<
|
|
25
|
+
Success extends Record<string, unknown> | undefined,
|
|
26
|
+
Failure extends Record<string, unknown> | undefined
|
|
27
|
+
>(result: ActionResult<Success, Failure>): Promise<void> {
|
|
28
|
+
return client('applyAction').applyAction(result);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function enhance<
|
|
32
|
+
Success extends Record<string, unknown> | undefined = Record<string, any>,
|
|
33
|
+
Failure extends Record<string, unknown> | undefined = Record<string, any>
|
|
34
|
+
>(form: HTMLFormElement, submit: SubmitFunction<Success, Failure> = () => {}): Enhancement {
|
|
35
|
+
const runtime = client('enhance');
|
|
36
|
+
const clone = () => HTMLFormElement.prototype.cloneNode.call(form) as HTMLFormElement;
|
|
37
|
+
if (DEV && clone().method !== 'post') enhance_invalid_method();
|
|
38
|
+
|
|
39
|
+
async function update(result: ActionResult, options: FormUpdateOptions = {}): Promise<void> {
|
|
40
|
+
const refresh = options.refreshAll ?? result.type === 'success';
|
|
41
|
+
if (result.type === 'success' && options.reset !== false)
|
|
42
|
+
HTMLFormElement.prototype.reset.call(form);
|
|
43
|
+
const destination =
|
|
44
|
+
options.navigate !== false && result.location ? runtime.url(result.location) : null;
|
|
45
|
+
if (!destination || runtime.routes.outside(destination)) {
|
|
46
|
+
if (refresh && result.type !== 'redirect') await runtime.invalidate(undefined, true);
|
|
47
|
+
await runtime.applyAction(result);
|
|
48
|
+
} else await runtime.applySubmission(destination, result, refresh);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async function handle(event: SubmitEvent): Promise<void> {
|
|
52
|
+
const submitter = event.submitter as HTMLButtonElement | HTMLInputElement | null;
|
|
53
|
+
const copy = clone();
|
|
54
|
+
const method = submitter?.hasAttribute('formmethod') ? submitter.formMethod : copy.method;
|
|
55
|
+
if (method !== 'post') return;
|
|
56
|
+
event.preventDefault();
|
|
57
|
+
const action = runtime.url(
|
|
58
|
+
submitter?.hasAttribute('formaction') ? submitter.formAction : copy.action
|
|
59
|
+
);
|
|
60
|
+
const enctype = submitter?.hasAttribute('formenctype') ? submitter.formEnctype : copy.enctype;
|
|
61
|
+
const initial = new FormData(form, submitter);
|
|
62
|
+
if (
|
|
63
|
+
DEV &&
|
|
64
|
+
enctype !== 'multipart/form-data' &&
|
|
65
|
+
[...initial.values()].some((value) => value instanceof File)
|
|
66
|
+
)
|
|
67
|
+
enhance_file_without_enctype();
|
|
68
|
+
const controller = new AbortController();
|
|
69
|
+
let cancelled = false;
|
|
70
|
+
const input = {
|
|
71
|
+
action,
|
|
72
|
+
formData: initial,
|
|
73
|
+
formElement: form,
|
|
74
|
+
controller,
|
|
75
|
+
submitter,
|
|
76
|
+
cancel() {
|
|
77
|
+
cancelled = true;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
const callback = await runtime.owner.run(() => submit(input));
|
|
81
|
+
if (cancelled) return;
|
|
82
|
+
const formData = input.formData;
|
|
83
|
+
let result: ActionResult;
|
|
84
|
+
try {
|
|
85
|
+
const headers = new Headers({
|
|
86
|
+
accept: 'application/json',
|
|
87
|
+
[`x-${identity.name}-action`]: 'true'
|
|
88
|
+
});
|
|
89
|
+
let body: FormData | URLSearchParams = formData;
|
|
90
|
+
if (enctype !== 'multipart/form-data') {
|
|
91
|
+
headers.set(
|
|
92
|
+
'content-type',
|
|
93
|
+
['application/x-www-form-urlencoded', 'text/plain'].includes(enctype)
|
|
94
|
+
? enctype
|
|
95
|
+
: 'application/x-www-form-urlencoded'
|
|
96
|
+
);
|
|
97
|
+
body = new URLSearchParams(
|
|
98
|
+
[...formData].map(([key, value]) => [key, typeof value === 'string' ? value : value.name])
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
const response = await fetch(action, {
|
|
102
|
+
method: 'POST',
|
|
103
|
+
headers,
|
|
104
|
+
body,
|
|
105
|
+
signal: controller.signal,
|
|
106
|
+
cache: 'no-store'
|
|
107
|
+
});
|
|
108
|
+
runtime.state.notify(response.headers.get(`x-${identity.name}-version`));
|
|
109
|
+
const text = await response.text();
|
|
110
|
+
let parsed: any;
|
|
111
|
+
try {
|
|
112
|
+
parsed = text ? deserialize(text) : undefined;
|
|
113
|
+
} catch (error) {
|
|
114
|
+
if (response.ok && !response.redirected) throw error;
|
|
115
|
+
}
|
|
116
|
+
if (parsed && ['success', 'failure', 'redirect', 'error'].includes(parsed.type)) {
|
|
117
|
+
result = parsed;
|
|
118
|
+
if (result.type === 'failure' || result.type === 'error') result.status = response.status;
|
|
119
|
+
} else if (response.redirected)
|
|
120
|
+
result = { type: 'redirect', status: 303, location: response.url };
|
|
121
|
+
else if (!response.ok) {
|
|
122
|
+
if (parsed && typeof parsed.message === 'string')
|
|
123
|
+
throw new HttpError({ ...parsed, status: response.status });
|
|
124
|
+
throw new FrameworkError(response.status, response.statusText || `HTTP ${response.status}`);
|
|
125
|
+
} else throw new TypeError('Invalid action response');
|
|
126
|
+
} catch (error) {
|
|
127
|
+
if (error instanceof Error && error.name === 'AbortError') return;
|
|
128
|
+
const body = await runtime.pages.error(error, {
|
|
129
|
+
url: action,
|
|
130
|
+
params: {},
|
|
131
|
+
route: { id: null }
|
|
132
|
+
});
|
|
133
|
+
result = { type: 'error', status: body.status, error: body };
|
|
134
|
+
}
|
|
135
|
+
if (callback) {
|
|
136
|
+
await runtime.owner.run(() =>
|
|
137
|
+
callback({
|
|
138
|
+
action,
|
|
139
|
+
formData,
|
|
140
|
+
formElement: form,
|
|
141
|
+
result,
|
|
142
|
+
update: (options) => update(result, options)
|
|
143
|
+
} as SubmitResult<Success, Failure>)
|
|
144
|
+
);
|
|
145
|
+
} else await update(result);
|
|
146
|
+
}
|
|
147
|
+
const listener = (event: Event) => {
|
|
148
|
+
void handle(event as SubmitEvent);
|
|
149
|
+
};
|
|
150
|
+
HTMLFormElement.prototype.addEventListener.call(form, 'submit', listener);
|
|
151
|
+
return {
|
|
152
|
+
destroy() {
|
|
153
|
+
HTMLFormElement.prototype.removeEventListener.call(form, 'submit', listener);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
}
|