astro 5.16.5 → 6.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{astro.js → bin/astro.mjs} +7 -8
- package/client.d.ts +19 -45
- package/components/ClientRouter.astro +0 -5
- package/components/Code.astro +2 -2
- package/components/Image.astro +2 -2
- package/components/Picture.astro +1 -1
- package/dist/actions/consts.d.ts +2 -5
- package/dist/actions/consts.js +4 -8
- package/dist/actions/integration.js +2 -4
- package/dist/actions/runtime/client.d.ts +84 -3
- package/dist/actions/runtime/client.js +238 -7
- package/dist/actions/runtime/entrypoints/client.d.ts +7 -0
- package/dist/actions/runtime/entrypoints/client.js +91 -0
- package/dist/actions/runtime/entrypoints/route.d.ts +2 -0
- package/dist/actions/runtime/{route.js → entrypoints/route.js} +1 -1
- package/dist/actions/runtime/entrypoints/server.d.ts +6 -0
- package/dist/actions/runtime/entrypoints/server.js +33 -0
- package/dist/actions/runtime/server.d.ts +11 -29
- package/dist/actions/runtime/server.js +162 -82
- package/dist/actions/runtime/types.d.ts +64 -0
- package/dist/actions/runtime/types.js +0 -0
- package/dist/actions/utils.d.ts +2 -2
- package/dist/actions/utils.js +2 -2
- package/dist/actions/vite-plugin-actions.js +18 -21
- package/dist/assets/build/generate.d.ts +2 -2
- package/dist/assets/build/generate.js +11 -9
- package/dist/assets/build/remote.js +4 -14
- package/dist/assets/endpoint/config.js +2 -2
- package/dist/assets/endpoint/dev.js +7 -6
- package/dist/assets/fonts/config.d.ts +86 -174
- package/dist/assets/fonts/config.js +15 -17
- package/dist/assets/fonts/infra/dev-remote-font-provider-mod-resolver.d.ts +3 -3
- package/dist/assets/fonts/infra/dev-remote-font-provider-mod-resolver.js +4 -4
- package/dist/assets/fonts/types.d.ts +1 -1
- package/dist/assets/fonts/vite-plugin-fonts.js +6 -3
- package/dist/assets/services/sharp.js +5 -6
- package/dist/assets/utils/index.d.ts +0 -6
- package/dist/assets/utils/index.js +0 -9
- package/dist/assets/utils/{transformToPath.d.ts → node.d.ts} +15 -1
- package/dist/assets/utils/{node/emitAsset.js → node.js} +34 -56
- package/dist/assets/vite-plugin-assets.js +9 -14
- package/dist/cli/index.js +0 -2
- package/dist/cli/infra/build-time-astro-version-provider.js +1 -1
- package/dist/cli/preferences/index.js +5 -1
- package/dist/config/index.js +11 -16
- package/dist/container/index.d.ts +0 -1
- package/dist/container/index.js +19 -14
- package/dist/container/pipeline.d.ts +2 -1
- package/dist/container/pipeline.js +4 -11
- package/dist/content/config.d.ts +34 -40
- package/dist/content/config.js +17 -13
- package/dist/content/content-layer.js +14 -21
- package/dist/content/data-store.d.ts +0 -2
- package/dist/content/loaders/errors.d.ts +3 -3
- package/dist/content/loaders/errors.js +5 -2
- package/dist/content/loaders/glob.d.ts +0 -5
- package/dist/content/loaders/glob.js +3 -30
- package/dist/content/loaders/types.d.ts +11 -4
- package/dist/content/mutable-data-store.js +1 -14
- package/dist/content/runtime-assets.d.ts +4 -4
- package/dist/content/runtime-assets.js +4 -7
- package/dist/content/runtime.d.ts +35 -73
- package/dist/content/runtime.js +63 -231
- package/dist/content/server-listeners.js +25 -88
- package/dist/content/types-generator.d.ts +1 -6
- package/dist/content/types-generator.js +87 -156
- package/dist/content/utils.d.ts +47 -412
- package/dist/content/utils.js +88 -203
- package/dist/content/vite-plugin-content-assets.d.ts +12 -4
- package/dist/content/vite-plugin-content-assets.js +100 -56
- package/dist/content/vite-plugin-content-imports.js +10 -8
- package/dist/content/vite-plugin-content-virtual-mod.js +13 -131
- package/dist/core/app/app.d.ts +5 -0
- package/dist/core/app/app.js +13 -0
- package/dist/core/app/base.d.ts +132 -0
- package/dist/core/app/base.js +448 -0
- package/dist/core/app/common.d.ts +6 -2
- package/dist/core/app/common.js +60 -33
- package/dist/core/app/dev/app.d.ts +15 -0
- package/dist/core/app/dev/app.js +86 -0
- package/dist/core/app/dev/pipeline.d.ts +13 -0
- package/dist/core/app/dev/pipeline.js +123 -0
- package/dist/core/app/entrypoint.d.ts +2 -0
- package/dist/core/app/entrypoint.js +15 -0
- package/dist/core/app/index.d.ts +7 -114
- package/dist/core/app/index.js +20 -557
- package/dist/core/app/logging.d.ts +3 -0
- package/dist/core/app/logging.js +11 -0
- package/dist/core/app/manifest.d.ts +9 -0
- package/dist/core/app/manifest.js +107 -0
- package/dist/core/app/middlewares.js +1 -1
- package/dist/core/app/node.d.ts +2 -8
- package/dist/core/app/node.js +8 -9
- package/dist/core/app/pipeline.d.ts +6 -5
- package/dist/core/app/pipeline.js +65 -49
- package/dist/core/app/types.d.ts +58 -22
- package/dist/core/app/validate-forwarded-headers.d.ts +16 -0
- package/dist/core/app/validate-forwarded-headers.js +60 -0
- package/dist/core/base-pipeline.d.ts +22 -14
- package/dist/core/base-pipeline.js +54 -6
- package/dist/core/build/app.d.ts +13 -0
- package/dist/core/build/app.js +38 -0
- package/dist/core/build/common.d.ts +1 -1
- package/dist/core/build/common.js +2 -2
- package/dist/core/build/generate.d.ts +1 -1
- package/dist/core/build/generate.js +95 -204
- package/dist/core/build/graph.js +2 -2
- package/dist/core/build/index.js +11 -19
- package/dist/core/build/internal.d.ts +3 -29
- package/dist/core/build/internal.js +1 -45
- package/dist/core/build/pipeline.d.ts +15 -26
- package/dist/core/build/pipeline.js +106 -170
- package/dist/core/build/plugins/index.d.ts +4 -2
- package/dist/core/build/plugins/index.js +17 -23
- package/dist/core/build/plugins/plugin-analyzer.d.ts +2 -2
- package/dist/core/build/plugins/plugin-analyzer.js +5 -13
- package/dist/core/build/plugins/plugin-component-entry.d.ts +7 -2
- package/dist/core/build/plugins/plugin-component-entry.js +5 -13
- package/dist/core/build/plugins/plugin-css.d.ts +2 -2
- package/dist/core/build/plugins/plugin-css.js +86 -41
- package/dist/core/build/plugins/plugin-internals.d.ts +2 -2
- package/dist/core/build/plugins/plugin-internals.js +24 -18
- package/dist/core/build/plugins/plugin-manifest.d.ts +33 -5
- package/dist/core/build/plugins/plugin-manifest.js +89 -131
- package/dist/core/build/plugins/plugin-middleware.d.ts +2 -2
- package/dist/core/build/plugins/plugin-middleware.js +5 -7
- package/dist/core/build/plugins/plugin-noop.d.ts +3 -0
- package/dist/core/build/plugins/plugin-noop.js +29 -0
- package/dist/core/build/plugins/plugin-prerender.d.ts +2 -2
- package/dist/core/build/plugins/plugin-prerender.js +7 -64
- package/dist/core/build/plugins/plugin-scripts.d.ts +5 -2
- package/dist/core/build/plugins/plugin-scripts.js +5 -13
- package/dist/core/build/plugins/plugin-ssr.d.ts +2 -2
- package/dist/core/build/plugins/plugin-ssr.js +60 -132
- package/dist/core/build/plugins/util.d.ts +1 -25
- package/dist/core/build/plugins/util.js +0 -47
- package/dist/core/build/runtime.d.ts +26 -0
- package/dist/core/build/runtime.js +45 -0
- package/dist/core/build/static-build.d.ts +2 -2
- package/dist/core/build/static-build.js +180 -154
- package/dist/core/build/types.d.ts +1 -2
- package/dist/core/build/util.d.ts +0 -1
- package/dist/core/build/util.js +0 -7
- package/dist/core/compile/compile.d.ts +2 -3
- package/dist/core/compile/compile.js +2 -4
- package/dist/core/config/config.js +2 -2
- package/dist/core/config/index.d.ts +0 -1
- package/dist/core/config/index.js +0 -2
- package/dist/core/config/schemas/base.d.ts +330 -1463
- package/dist/core/config/schemas/base.js +40 -56
- package/dist/core/config/schemas/refined.d.ts +2 -2
- package/dist/core/config/schemas/refined.js +8 -1
- package/dist/core/config/schemas/relative.d.ts +607 -1737
- package/dist/core/config/schemas/relative.js +4 -4
- package/dist/core/config/settings.d.ts +3 -3
- package/dist/core/config/settings.js +5 -6
- package/dist/core/config/validate.js +13 -2
- package/dist/core/config/vite-load.js +12 -3
- package/dist/core/constants.d.ts +12 -0
- package/dist/core/constants.js +22 -1
- package/dist/core/create-vite.d.ts +2 -6
- package/dist/core/create-vite.js +36 -47
- package/dist/core/csp/common.d.ts +1 -1
- package/dist/core/csp/common.js +1 -1
- package/dist/core/csp/config.d.ts +8 -4
- package/dist/core/csp/config.js +1 -1
- package/dist/core/dev/container.js +13 -9
- package/dist/core/dev/dev.js +1 -1
- package/dist/core/dev/restart.js +15 -6
- package/dist/core/errors/dev/runtime.d.ts +6 -0
- package/dist/core/errors/dev/runtime.js +27 -0
- package/dist/core/errors/dev/vite.js +2 -19
- package/dist/core/errors/errors-data.d.ts +85 -57
- package/dist/core/errors/errors-data.js +40 -28
- package/dist/core/errors/errors.d.ts +3 -3
- package/dist/core/errors/errors.js +1 -1
- package/dist/core/errors/overlay.js +1 -1
- package/dist/core/errors/zod-error-map.d.ts +2 -2
- package/dist/core/errors/zod-error-map.js +26 -24
- package/dist/core/messages.d.ts +2 -2
- package/dist/core/messages.js +2 -2
- package/dist/core/middleware/callMiddleware.js +1 -1
- package/dist/core/middleware/defineMiddleware.d.ts +2 -0
- package/dist/core/middleware/defineMiddleware.js +6 -0
- package/dist/core/middleware/index.d.ts +4 -4
- package/dist/core/middleware/index.js +6 -12
- package/dist/core/middleware/sequence.js +4 -4
- package/dist/core/middleware/vite-plugin.d.ts +1 -1
- package/dist/core/middleware/vite-plugin.js +18 -7
- package/dist/core/module-loader/index.d.ts +2 -2
- package/dist/core/module-loader/index.js +1 -1
- package/dist/core/module-loader/{loader.d.ts → runner.d.ts} +6 -17
- package/dist/core/module-loader/{loader.js → runner.js} +3 -0
- package/dist/core/module-loader/vite.d.ts +3 -2
- package/dist/core/module-loader/vite.js +17 -13
- package/dist/core/preview/index.js +20 -5
- package/dist/core/preview/static-preview-server.js +1 -0
- package/dist/core/redirects/component.js +1 -2
- package/dist/core/redirects/index.d.ts +0 -1
- package/dist/core/redirects/index.js +1 -3
- package/dist/core/redirects/render.js +5 -2
- package/dist/core/render/paginate.d.ts +1 -1
- package/dist/core/render/paginate.js +8 -6
- package/dist/core/render/params-and-props.d.ts +2 -0
- package/dist/core/render/params-and-props.js +19 -7
- package/dist/core/render/route-cache.d.ts +3 -3
- package/dist/core/render/route-cache.js +7 -7
- package/dist/core/render-context.d.ts +9 -7
- package/dist/core/render-context.js +46 -47
- package/dist/core/routing/astro-designed-error-pages.js +2 -2
- package/dist/core/routing/default.js +1 -1
- package/dist/core/routing/helpers.d.ts +22 -0
- package/dist/core/routing/helpers.js +25 -0
- package/dist/core/routing/index.d.ts +1 -1
- package/dist/core/routing/index.js +2 -2
- package/dist/core/routing/manifest/create.d.ts +6 -1
- package/dist/core/routing/manifest/create.js +9 -13
- package/dist/core/routing/manifest/generator.d.ts +3 -1
- package/dist/core/routing/params.d.ts +2 -1
- package/dist/core/routing/params.js +8 -8
- package/dist/core/routing/validation.d.ts +1 -2
- package/dist/core/routing/validation.js +2 -18
- package/dist/core/server-islands/endpoint.d.ts +1 -2
- package/dist/core/server-islands/endpoint.js +5 -4
- package/dist/core/server-islands/vite-plugin-server-islands.d.ts +1 -1
- package/dist/core/server-islands/vite-plugin-server-islands.js +89 -44
- package/dist/core/session/vite-plugin.d.ts +6 -0
- package/dist/core/session/vite-plugin.js +53 -0
- package/dist/core/session.d.ts +4 -2
- package/dist/core/session.js +8 -48
- package/dist/core/sync/index.d.ts +2 -5
- package/dist/core/sync/index.js +19 -34
- package/dist/core/util.d.ts +2 -2
- package/dist/core/util.js +3 -3
- package/dist/entrypoints/legacy.d.ts +2 -0
- package/dist/entrypoints/legacy.js +12 -0
- package/dist/entrypoints/prerender.d.ts +4 -0
- package/dist/entrypoints/prerender.js +7 -0
- package/dist/env/env-loader.d.ts +0 -1
- package/dist/env/env-loader.js +4 -17
- package/dist/env/schema.d.ts +21 -251
- package/dist/env/schema.js +6 -3
- package/dist/env/vite-plugin-env.js +3 -2
- package/dist/env/vite-plugin-import-meta-env.js +3 -2
- package/dist/environments.d.ts +3 -0
- package/dist/environments.js +11 -0
- package/dist/events/error.d.ts +2 -2
- package/dist/i18n/index.d.ts +2 -2
- package/dist/i18n/index.js +0 -3
- package/dist/i18n/utils.d.ts +1 -6
- package/dist/i18n/utils.js +1 -63
- package/dist/i18n/vite-plugin-i18n.d.ts +0 -5
- package/dist/i18n/vite-plugin-i18n.js +1 -22
- package/dist/integrations/hooks.d.ts +2 -3
- package/dist/integrations/hooks.js +9 -33
- package/dist/manifest/serialized.d.ts +9 -0
- package/dist/manifest/serialized.js +144 -0
- package/dist/manifest/virtual-module.d.ts +1 -4
- package/dist/manifest/virtual-module.js +77 -80
- package/dist/preferences/index.d.ts +1 -2
- package/dist/prefetch/index.d.ts +0 -10
- package/dist/prefetch/index.js +1 -1
- package/dist/prerender/routing.d.ts +5 -7
- package/dist/prerender/routing.js +6 -17
- package/dist/runtime/server/astro-global.d.ts +2 -2
- package/dist/runtime/server/astro-global.js +86 -24
- package/dist/runtime/server/render/server-islands.js +2 -2
- package/dist/runtime/server/transition.d.ts +1 -0
- package/dist/transitions/events.d.ts +7 -0
- package/dist/transitions/router.js +7 -3
- package/dist/transitions/vite-plugin-transitions.js +1 -4
- package/dist/types/astro.d.ts +10 -8
- package/dist/types/public/common.d.ts +1 -3
- package/dist/types/public/config.d.ts +364 -415
- package/dist/types/public/context.d.ts +21 -52
- package/dist/types/public/index.d.ts +2 -1
- package/dist/types/public/integrations.d.ts +23 -18
- package/dist/types/public/internal.d.ts +3 -18
- package/dist/types/public/preview.d.ts +6 -0
- package/dist/virtual-modules/i18n.d.ts +10 -2
- package/dist/virtual-modules/i18n.js +16 -7
- package/dist/virtual-modules/live-config.d.ts +1 -3
- package/dist/virtual-modules/live-config.js +1 -5
- package/dist/virtual-modules/middleware.d.ts +2 -1
- package/dist/virtual-modules/middleware.js +2 -1
- package/dist/vite-plugin-adapter-config/index.js +3 -2
- package/dist/vite-plugin-app/app.d.ts +47 -0
- package/dist/vite-plugin-app/app.js +410 -0
- package/dist/vite-plugin-app/createAstroServerApp.d.ts +8 -0
- package/dist/vite-plugin-app/createAstroServerApp.js +56 -0
- package/dist/vite-plugin-app/index.d.ts +3 -0
- package/dist/vite-plugin-app/index.js +16 -0
- package/dist/{vite-plugin-astro-server → vite-plugin-app}/pipeline.d.ts +5 -7
- package/dist/vite-plugin-app/pipeline.js +166 -0
- package/dist/vite-plugin-astro/index.js +11 -13
- package/dist/vite-plugin-astro-server/controller.d.ts +1 -1
- package/dist/vite-plugin-astro-server/error.d.ts +3 -4
- package/dist/vite-plugin-astro-server/error.js +2 -5
- package/dist/vite-plugin-astro-server/index.d.ts +1 -2
- package/dist/vite-plugin-astro-server/index.js +6 -4
- package/dist/vite-plugin-astro-server/metadata.js +1 -1
- package/dist/vite-plugin-astro-server/plugin.d.ts +4 -7
- package/dist/vite-plugin-astro-server/plugin.js +53 -96
- package/dist/vite-plugin-astro-server/server-state.d.ts +1 -1
- package/dist/vite-plugin-astro-server/util.d.ts +0 -2
- package/dist/vite-plugin-astro-server/util.js +1 -2
- package/dist/vite-plugin-astro-server/vite.d.ts +2 -2
- package/dist/vite-plugin-astro-server/vite.js +7 -7
- package/dist/vite-plugin-config-alias/index.js +40 -32
- package/dist/vite-plugin-css/index.d.ts +18 -0
- package/dist/vite-plugin-css/index.js +134 -0
- package/dist/vite-plugin-css/util.d.ts +5 -0
- package/dist/vite-plugin-css/util.js +8 -0
- package/dist/vite-plugin-environment/index.d.ts +15 -0
- package/dist/vite-plugin-environment/index.js +77 -0
- package/dist/vite-plugin-head/index.d.ts +1 -2
- package/dist/vite-plugin-head/index.js +42 -58
- package/dist/vite-plugin-hmr-reload/index.js +2 -1
- package/dist/vite-plugin-markdown/index.js +0 -1
- package/dist/vite-plugin-pages/const.d.ts +2 -0
- package/dist/vite-plugin-pages/const.js +6 -0
- package/dist/vite-plugin-pages/index.d.ts +2 -0
- package/dist/vite-plugin-pages/index.js +7 -0
- package/dist/vite-plugin-pages/page.d.ts +7 -0
- package/dist/vite-plugin-pages/page.js +48 -0
- package/dist/vite-plugin-pages/pages.d.ts +8 -0
- package/dist/vite-plugin-pages/pages.js +57 -0
- package/dist/vite-plugin-pages/util.d.ts +8 -0
- package/dist/vite-plugin-pages/util.js +15 -0
- package/dist/vite-plugin-renderers/index.d.ts +9 -0
- package/dist/vite-plugin-renderers/index.js +40 -0
- package/dist/vite-plugin-routes/index.d.ts +14 -0
- package/dist/vite-plugin-routes/index.js +177 -0
- package/dist/vite-plugin-scripts/index.js +2 -6
- package/dist/vite-plugin-scripts/page-ssr.js +3 -2
- package/dist/zod.d.ts +2 -2
- package/dist/zod.js +2 -2
- package/package.json +14 -15
- package/templates/content/module.mjs +9 -63
- package/templates/content/types.d.ts +32 -78
- package/types/actions.d.ts +1 -5
- package/types/content.d.ts +9 -11
- package/types/transitions.d.ts +25 -0
- package/dist/actions/loadActions.d.ts +0 -8
- package/dist/actions/loadActions.js +0 -13
- package/dist/actions/runtime/route.d.ts +0 -2
- package/dist/actions/runtime/shared.d.ts +0 -60
- package/dist/actions/runtime/shared.js +0 -296
- package/dist/actions/runtime/utils.d.ts +0 -31
- package/dist/actions/runtime/utils.js +0 -16
- package/dist/actions/runtime/virtual.d.ts +0 -4
- package/dist/actions/runtime/virtual.js +0 -127
- package/dist/assets/utils/node/emitAsset.d.ts +0 -29
- package/dist/assets/utils/transformToPath.js +0 -32
- package/dist/config/vite-plugin-content-listen.d.ts +0 -17
- package/dist/config/vite-plugin-content-listen.js +0 -26
- package/dist/container/polyfill.d.ts +0 -1
- package/dist/container/polyfill.js +0 -2
- package/dist/core/build/css-asset-name.d.ts +0 -9
- package/dist/core/build/css-asset-name.js +0 -89
- package/dist/core/build/plugin.d.ts +0 -43
- package/dist/core/build/plugin.js +0 -61
- package/dist/core/build/plugins/plugin-actions.d.ts +0 -4
- package/dist/core/build/plugins/plugin-actions.js +0 -16
- package/dist/core/build/plugins/plugin-chunks.d.ts +0 -2
- package/dist/core/build/plugins/plugin-chunks.js +0 -33
- package/dist/core/build/plugins/plugin-pages.d.ts +0 -6
- package/dist/core/build/plugins/plugin-pages.js +0 -66
- package/dist/core/build/plugins/plugin-renderers.d.ts +0 -5
- package/dist/core/build/plugins/plugin-renderers.js +0 -54
- package/dist/core/middleware/loadMiddleware.d.ts +0 -7
- package/dist/core/middleware/loadMiddleware.js +0 -14
- package/dist/core/polyfill.d.ts +0 -5
- package/dist/core/polyfill.js +0 -17
- package/dist/core/redirects/helpers.d.ts +0 -7
- package/dist/core/redirects/helpers.js +0 -10
- package/dist/core/routing/manifest/serialization.d.ts +0 -5
- package/dist/core/routing/manifest/serialization.js +0 -37
- package/dist/prerender/metadata.d.ts +0 -8
- package/dist/prerender/metadata.js +0 -18
- package/dist/vite-plugin-astro-postprocess/index.d.ts +0 -2
- package/dist/vite-plugin-astro-postprocess/index.js +0 -48
- package/dist/vite-plugin-astro-server/css.d.ts +0 -13
- package/dist/vite-plugin-astro-server/css.js +0 -48
- package/dist/vite-plugin-astro-server/pipeline.js +0 -166
- package/dist/vite-plugin-astro-server/request.d.ts +0 -14
- package/dist/vite-plugin-astro-server/request.js +0 -73
- package/dist/vite-plugin-astro-server/route.d.ts +0 -25
- package/dist/vite-plugin-astro-server/route.js +0 -283
- package/dist/vite-plugin-scanner/index.d.ts +0 -10
- package/dist/vite-plugin-scanner/index.js +0 -87
- package/dist/vite-plugin-ssr-manifest/index.d.ts +0 -2
- package/dist/vite-plugin-ssr-manifest/index.js +0 -26
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import type { ZodType } from 'zod';
|
|
2
|
-
import type { ActionAccept, ActionClient } from '../actions/runtime/
|
|
1
|
+
import type { $ZodType } from 'zod/v4/core';
|
|
2
|
+
import type { ActionAccept, ActionClient } from '../actions/runtime/types.js';
|
|
3
3
|
import type { ComponentInstance } from '../types/astro.js';
|
|
4
4
|
import type { MiddlewareHandler, RewritePayload } from '../types/public/common.js';
|
|
5
5
|
import type { RuntimeMode } from '../types/public/config.js';
|
|
6
6
|
import type { RouteData, SSRActions, SSRLoadedRenderer, SSRManifest, SSRResult } from '../types/public/internal.js';
|
|
7
|
+
import type { ServerIslandMappings } from './app/types.js';
|
|
8
|
+
import type { SinglePageBuiltModule } from './build/types.js';
|
|
7
9
|
import type { Logger } from './logger/core.js';
|
|
8
10
|
import { RouteCache } from './render/route-cache.js';
|
|
11
|
+
import type { SessionDriver } from './session.js';
|
|
9
12
|
/**
|
|
10
13
|
* The `Pipeline` represents the static parts of rendering that do not change between requests.
|
|
11
14
|
* These are mostly known when the server first starts up and do not change.
|
|
@@ -21,10 +24,6 @@ export declare abstract class Pipeline {
|
|
|
21
24
|
readonly runtimeMode: RuntimeMode;
|
|
22
25
|
readonly renderers: SSRLoadedRenderer[];
|
|
23
26
|
readonly resolve: (s: string) => Promise<string>;
|
|
24
|
-
/**
|
|
25
|
-
* Based on Astro config's `output` option, `true` if "server" or "hybrid".
|
|
26
|
-
*/
|
|
27
|
-
readonly serverLike: boolean;
|
|
28
27
|
readonly streaming: boolean;
|
|
29
28
|
/**
|
|
30
29
|
* Used to provide better error messages for `Astro.clientAddress`
|
|
@@ -51,18 +50,19 @@ export declare abstract class Pipeline {
|
|
|
51
50
|
component: string;
|
|
52
51
|
}[];
|
|
53
52
|
readonly actions: (() => Promise<SSRActions> | SSRActions) | undefined;
|
|
53
|
+
readonly sessionDriver: (() => Promise<{
|
|
54
|
+
default: SessionDriver | null;
|
|
55
|
+
}>) | undefined;
|
|
56
|
+
readonly serverIslands: (() => Promise<ServerIslandMappings> | ServerIslandMappings) | undefined;
|
|
54
57
|
readonly internalMiddleware: MiddlewareHandler[];
|
|
55
58
|
resolvedMiddleware: MiddlewareHandler | undefined;
|
|
56
59
|
resolvedActions: SSRActions | undefined;
|
|
60
|
+
resolvedSessionDriver: SessionDriver | null | undefined;
|
|
57
61
|
constructor(logger: Logger, manifest: SSRManifest,
|
|
58
62
|
/**
|
|
59
63
|
* "development" or "production" only
|
|
60
64
|
*/
|
|
61
|
-
runtimeMode: RuntimeMode, renderers: SSRLoadedRenderer[], resolve: (s: string) => Promise<string>,
|
|
62
|
-
/**
|
|
63
|
-
* Based on Astro config's `output` option, `true` if "server" or "hybrid".
|
|
64
|
-
*/
|
|
65
|
-
serverLike: boolean, streaming: boolean,
|
|
65
|
+
runtimeMode: RuntimeMode, renderers: SSRLoadedRenderer[], resolve: (s: string) => Promise<string>, streaming: boolean,
|
|
66
66
|
/**
|
|
67
67
|
* Used to provide better error messages for `Astro.clientAddress`
|
|
68
68
|
*/
|
|
@@ -80,7 +80,9 @@ export declare abstract class Pipeline {
|
|
|
80
80
|
matchesComponent(filePath: URL): boolean;
|
|
81
81
|
route: string;
|
|
82
82
|
component: string;
|
|
83
|
-
}[], actions?: (() => Promise<SSRActions> | SSRActions) | undefined)
|
|
83
|
+
}[], actions?: (() => Promise<SSRActions> | SSRActions) | undefined, sessionDriver?: (() => Promise<{
|
|
84
|
+
default: SessionDriver | null;
|
|
85
|
+
}>) | undefined, serverIslands?: (() => Promise<ServerIslandMappings> | ServerIslandMappings) | undefined);
|
|
84
86
|
abstract headElements(routeData: RouteData): Promise<HeadElements> | HeadElements;
|
|
85
87
|
abstract componentMetadata(routeData: RouteData): Promise<SSRResult['componentMetadata']> | void;
|
|
86
88
|
/**
|
|
@@ -99,14 +101,20 @@ export declare abstract class Pipeline {
|
|
|
99
101
|
* @param routeData
|
|
100
102
|
*/
|
|
101
103
|
abstract getComponentByRoute(routeData: RouteData): Promise<ComponentInstance>;
|
|
104
|
+
/**
|
|
105
|
+
* The current name of the pipeline. Useful for debugging
|
|
106
|
+
*/
|
|
107
|
+
abstract getName(): string;
|
|
102
108
|
/**
|
|
103
109
|
* Resolves the middleware from the manifest, and returns the `onRequest` function. If `onRequest` isn't there,
|
|
104
110
|
* it returns a no-op function
|
|
105
111
|
*/
|
|
106
112
|
getMiddleware(): Promise<MiddlewareHandler>;
|
|
107
|
-
setActions(actions: SSRActions): void;
|
|
108
113
|
getActions(): Promise<SSRActions>;
|
|
109
|
-
|
|
114
|
+
getSessionDriver(): Promise<SessionDriver | null>;
|
|
115
|
+
getServerIslands(): Promise<ServerIslandMappings>;
|
|
116
|
+
getAction(path: string): Promise<ActionClient<unknown, ActionAccept, $ZodType>>;
|
|
117
|
+
getModuleForRoute(route: RouteData): Promise<SinglePageBuiltModule>;
|
|
110
118
|
}
|
|
111
119
|
export interface HeadElements extends Pick<SSRResult, 'scripts' | 'styles' | 'links'> {
|
|
112
120
|
}
|
|
@@ -5,16 +5,16 @@ import { ActionNotFoundError } from "./errors/errors-data.js";
|
|
|
5
5
|
import { AstroError } from "./errors/index.js";
|
|
6
6
|
import { NOOP_MIDDLEWARE_FN } from "./middleware/noop-middleware.js";
|
|
7
7
|
import { sequence } from "./middleware/sequence.js";
|
|
8
|
+
import { RedirectSinglePageBuiltModule } from "./redirects/index.js";
|
|
8
9
|
import { RouteCache } from "./render/route-cache.js";
|
|
9
10
|
import { createDefaultRoutes } from "./routing/default.js";
|
|
10
11
|
class Pipeline {
|
|
11
|
-
constructor(logger, manifest, runtimeMode, renderers, resolve,
|
|
12
|
+
constructor(logger, manifest, runtimeMode, renderers, resolve, streaming, adapterName = manifest.adapterName, clientDirectives = manifest.clientDirectives, inlinedScripts = manifest.inlinedScripts, compressHTML = manifest.compressHTML, i18n = manifest.i18n, middleware = manifest.middleware, routeCache = new RouteCache(logger, runtimeMode), site = manifest.site ? new URL(manifest.site) : void 0, defaultRoutes = createDefaultRoutes(manifest), actions = manifest.actions, sessionDriver = manifest.sessionDriver, serverIslands = manifest.serverIslandMappings) {
|
|
12
13
|
this.logger = logger;
|
|
13
14
|
this.manifest = manifest;
|
|
14
15
|
this.runtimeMode = runtimeMode;
|
|
15
16
|
this.renderers = renderers;
|
|
16
17
|
this.resolve = resolve;
|
|
17
|
-
this.serverLike = serverLike;
|
|
18
18
|
this.streaming = streaming;
|
|
19
19
|
this.adapterName = adapterName;
|
|
20
20
|
this.clientDirectives = clientDirectives;
|
|
@@ -26,6 +26,8 @@ class Pipeline {
|
|
|
26
26
|
this.site = site;
|
|
27
27
|
this.defaultRoutes = defaultRoutes;
|
|
28
28
|
this.actions = actions;
|
|
29
|
+
this.sessionDriver = sessionDriver;
|
|
30
|
+
this.serverIslands = serverIslands;
|
|
29
31
|
this.internalMiddleware = [];
|
|
30
32
|
if (i18n?.strategy !== "manual") {
|
|
31
33
|
this.internalMiddleware.push(
|
|
@@ -36,6 +38,7 @@ class Pipeline {
|
|
|
36
38
|
internalMiddleware;
|
|
37
39
|
resolvedMiddleware = void 0;
|
|
38
40
|
resolvedActions = void 0;
|
|
41
|
+
resolvedSessionDriver = void 0;
|
|
39
42
|
/**
|
|
40
43
|
* Resolves the middleware from the manifest, and returns the `onRequest` function. If `onRequest` isn't there,
|
|
41
44
|
* it returns a no-op function
|
|
@@ -57,17 +60,35 @@ class Pipeline {
|
|
|
57
60
|
return this.resolvedMiddleware;
|
|
58
61
|
}
|
|
59
62
|
}
|
|
60
|
-
setActions(actions) {
|
|
61
|
-
this.resolvedActions = actions;
|
|
62
|
-
}
|
|
63
63
|
async getActions() {
|
|
64
64
|
if (this.resolvedActions) {
|
|
65
65
|
return this.resolvedActions;
|
|
66
66
|
} else if (this.actions) {
|
|
67
|
-
return
|
|
67
|
+
return this.actions();
|
|
68
68
|
}
|
|
69
69
|
return NOOP_ACTIONS_MOD;
|
|
70
70
|
}
|
|
71
|
+
async getSessionDriver() {
|
|
72
|
+
if (this.resolvedSessionDriver !== void 0) {
|
|
73
|
+
return this.resolvedSessionDriver;
|
|
74
|
+
}
|
|
75
|
+
if (this.sessionDriver) {
|
|
76
|
+
const driverModule = await this.sessionDriver();
|
|
77
|
+
this.resolvedSessionDriver = driverModule?.default || null;
|
|
78
|
+
return this.resolvedSessionDriver;
|
|
79
|
+
}
|
|
80
|
+
this.resolvedSessionDriver = null;
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
async getServerIslands() {
|
|
84
|
+
if (this.serverIslands) {
|
|
85
|
+
return this.serverIslands();
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
serverIslandMap: /* @__PURE__ */ new Map(),
|
|
89
|
+
serverIslandNameMap: /* @__PURE__ */ new Map()
|
|
90
|
+
};
|
|
91
|
+
}
|
|
71
92
|
async getAction(path) {
|
|
72
93
|
const pathKeys = path.split(".").map((key) => decodeURIComponent(key));
|
|
73
94
|
let { server } = await this.getActions();
|
|
@@ -92,6 +113,33 @@ class Pipeline {
|
|
|
92
113
|
}
|
|
93
114
|
return server;
|
|
94
115
|
}
|
|
116
|
+
async getModuleForRoute(route) {
|
|
117
|
+
for (const defaultRoute of this.defaultRoutes) {
|
|
118
|
+
if (route.component === defaultRoute.component) {
|
|
119
|
+
return {
|
|
120
|
+
page: () => Promise.resolve(defaultRoute.instance)
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (route.type === "redirect") {
|
|
125
|
+
return RedirectSinglePageBuiltModule;
|
|
126
|
+
} else {
|
|
127
|
+
if (this.manifest.pageMap) {
|
|
128
|
+
const importComponentInstance = this.manifest.pageMap.get(route.component);
|
|
129
|
+
if (!importComponentInstance) {
|
|
130
|
+
throw new Error(
|
|
131
|
+
`Unexpectedly unable to find a component instance for route ${route.route}`
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
return await importComponentInstance();
|
|
135
|
+
} else if (this.manifest.pageModule) {
|
|
136
|
+
return this.manifest.pageModule;
|
|
137
|
+
}
|
|
138
|
+
throw new Error(
|
|
139
|
+
"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error, please file an issue."
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
95
143
|
}
|
|
96
144
|
export {
|
|
97
145
|
Pipeline
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseApp, type RenderErrorOptions } from '../app/index.js';
|
|
2
|
+
import type { SSRManifest } from '../app/types.js';
|
|
3
|
+
import type { BuildInternals } from './internal.js';
|
|
4
|
+
import { BuildPipeline } from './pipeline.js';
|
|
5
|
+
import type { StaticBuildOptions } from './types.js';
|
|
6
|
+
export declare class BuildApp extends BaseApp<BuildPipeline> {
|
|
7
|
+
createPipeline(_streaming: boolean, manifest: SSRManifest, ..._args: any[]): BuildPipeline;
|
|
8
|
+
setInternals(internals: BuildInternals): void;
|
|
9
|
+
setOptions(options: StaticBuildOptions): void;
|
|
10
|
+
getOptions(): StaticBuildOptions;
|
|
11
|
+
getSettings(): import("../../types/astro.js").AstroSettings;
|
|
12
|
+
renderError(request: Request, options: RenderErrorOptions): Promise<Response>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BaseApp } from "../app/index.js";
|
|
2
|
+
import { BuildPipeline } from "./pipeline.js";
|
|
3
|
+
class BuildApp extends BaseApp {
|
|
4
|
+
createPipeline(_streaming, manifest, ..._args) {
|
|
5
|
+
return BuildPipeline.create({
|
|
6
|
+
manifest
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
setInternals(internals) {
|
|
10
|
+
this.pipeline.setInternals(internals);
|
|
11
|
+
}
|
|
12
|
+
setOptions(options) {
|
|
13
|
+
this.pipeline.setOptions(options);
|
|
14
|
+
this.logger = options.logger;
|
|
15
|
+
}
|
|
16
|
+
getOptions() {
|
|
17
|
+
return this.pipeline.getOptions();
|
|
18
|
+
}
|
|
19
|
+
getSettings() {
|
|
20
|
+
return this.pipeline.getSettings();
|
|
21
|
+
}
|
|
22
|
+
async renderError(request, options) {
|
|
23
|
+
if (options.status === 500) {
|
|
24
|
+
if (options.response) {
|
|
25
|
+
return options.response;
|
|
26
|
+
}
|
|
27
|
+
throw options.error;
|
|
28
|
+
} else {
|
|
29
|
+
return super.renderError(request, {
|
|
30
|
+
...options,
|
|
31
|
+
prerenderedErrorPageFetch: void 0
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
BuildApp
|
|
38
|
+
};
|
|
@@ -2,7 +2,7 @@ import type { AstroSettings } from '../../types/astro.js';
|
|
|
2
2
|
import type { AstroConfig } from '../../types/public/config.js';
|
|
3
3
|
import type { RouteData } from '../../types/public/internal.js';
|
|
4
4
|
export declare function getOutFolder(astroSettings: AstroSettings, pathname: string, routeData: RouteData): URL;
|
|
5
|
-
export declare function getOutFile(
|
|
5
|
+
export declare function getOutFile(buildFormat: NonNullable<AstroConfig['build']>['format'], outFolder: URL, pathname: string, routeData: RouteData): URL;
|
|
6
6
|
/**
|
|
7
7
|
* Ensures the `outDir` is within `process.cwd()`. If not it will fallback to `<cwd>/.astro`.
|
|
8
8
|
* This is used for static `ssrBuild` so the output can access node_modules when we import
|
|
@@ -42,7 +42,7 @@ function getOutFolder(astroSettings, pathname, routeData) {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
function getOutFile(
|
|
45
|
+
function getOutFile(buildFormat, outFolder, pathname, routeData) {
|
|
46
46
|
const routeType = routeData.type;
|
|
47
47
|
switch (routeType) {
|
|
48
48
|
case "endpoint":
|
|
@@ -50,7 +50,7 @@ function getOutFile(astroConfig, outFolder, pathname, routeData) {
|
|
|
50
50
|
case "page":
|
|
51
51
|
case "fallback":
|
|
52
52
|
case "redirect":
|
|
53
|
-
switch (
|
|
53
|
+
switch (buildFormat) {
|
|
54
54
|
case "directory": {
|
|
55
55
|
if (STATUS_CODE_PAGES.has(pathname)) {
|
|
56
56
|
const baseName = npath.basename(pathname);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type BuildInternals } from './internal.js';
|
|
2
2
|
import type { StaticBuildOptions } from './types.js';
|
|
3
|
-
export declare function generatePages(options: StaticBuildOptions, internals: BuildInternals): Promise<void>;
|
|
3
|
+
export declare function generatePages(options: StaticBuildOptions, internals: BuildInternals, prerenderOutputDir: URL): Promise<void>;
|