diff options
author | 2024-09-16 19:31:49 +0200 | |
---|---|---|
committer | 2024-09-16 13:31:49 -0400 | |
commit | bea4ad266c4f9ea44f311f4d433a697a91e9ed0d (patch) | |
tree | 01b84cb7c5aa73a90bd264f0ae304e9dfd16338a /packages/integrations/vercel/src | |
parent | f952649bae1792a8c9aad85b1241cf1d8ac3579f (diff) | |
download | astro-bea4ad266c4f9ea44f311f4d433a697a91e9ed0d.tar.gz astro-bea4ad266c4f9ea44f311f4d433a697a91e9ed0d.tar.zst astro-bea4ad266c4f9ea44f311f4d433a697a91e9ed0d.zip |
Adapter related changes for IntegrationData (#377)
* chore: port adapter related changes from astro #11864
* chore: bump version
* chore: bump
* fix: types
* fix
* fix: tests
* fix: locals
* Update expected image endpoint
---------
Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Diffstat (limited to 'packages/integrations/vercel/src')
-rw-r--r-- | packages/integrations/vercel/src/lib/redirects.ts | 8 | ||||
-rw-r--r-- | packages/integrations/vercel/src/serverless/adapter.ts | 7 | ||||
-rw-r--r-- | packages/integrations/vercel/src/serverless/middleware.ts | 2 |
3 files changed, 9 insertions, 8 deletions
diff --git a/packages/integrations/vercel/src/lib/redirects.ts b/packages/integrations/vercel/src/lib/redirects.ts index 39cbfa0fe..1d7d4eca5 100644 --- a/packages/integrations/vercel/src/lib/redirects.ts +++ b/packages/integrations/vercel/src/lib/redirects.ts @@ -1,6 +1,6 @@ import nodePath from 'node:path'; import { appendForwardSlash, removeLeadingForwardSlash } from '@astrojs/internal-helpers/path'; -import type { AstroConfig, RouteData, RoutePart } from 'astro'; +import type { AstroConfig, IntegrationRouteData, RoutePart } from 'astro'; const pathJoin = nodePath.posix.join; @@ -85,7 +85,7 @@ function getReplacePattern(segments: RoutePart[][]) { return result; } -function getRedirectLocation(route: RouteData, config: AstroConfig): string { +function getRedirectLocation(route: IntegrationRouteData, config: AstroConfig): string { if (route.redirectRoute) { const pattern = getReplacePattern(route.redirectRoute.segments); const path = config.trailingSlash === 'always' ? appendForwardSlash(pattern) : pattern; @@ -99,7 +99,7 @@ function getRedirectLocation(route: RouteData, config: AstroConfig): string { } } -function getRedirectStatus(route: RouteData): number { +function getRedirectStatus(route: IntegrationRouteData): number { if (typeof route.redirect === 'object') { return route.redirect.status; } @@ -116,7 +116,7 @@ export function escapeRegex(content: string) { return `^/${getMatchPattern(segments)}$`; } -export function getRedirects(routes: RouteData[], config: AstroConfig): VercelRoute[] { +export function getRedirects(routes: IntegrationRouteData[], config: AstroConfig): VercelRoute[] { // biome-ignore lint/style/useConst: <explanation> let redirects: VercelRoute[] = []; diff --git a/packages/integrations/vercel/src/serverless/adapter.ts b/packages/integrations/vercel/src/serverless/adapter.ts index 9ae0a87b7..3803cdf41 100644 --- a/packages/integrations/vercel/src/serverless/adapter.ts +++ b/packages/integrations/vercel/src/serverless/adapter.ts @@ -7,7 +7,7 @@ import type { AstroConfig, AstroIntegration, AstroIntegrationLogger, - RouteData, + IntegrationRouteData, } from 'astro'; import { AstroError } from 'astro/errors'; import glob from 'fast-glob'; @@ -193,7 +193,7 @@ export default function vercelServerless({ let _config: AstroConfig; let _buildTempFolder: URL; let _serverEntry: string; - let _entryPoints: Map<RouteData, URL>; + let _entryPoints: Map<IntegrationRouteData, URL>; let _middlewareEntryPoint: URL | undefined; // Extra files to be merged with `includeFiles` during build const extraFilesToInclude: URL[] = []; @@ -314,7 +314,8 @@ export default function vercelServerless({ // Multiple entrypoint support if (_entryPoints.size) { - const getRouteFuncName = (route: RouteData) => route.component.replace('src/pages/', ''); + const getRouteFuncName = (route: IntegrationRouteData) => + route.component.replace('src/pages/', ''); const getFallbackFuncName = (entryFile: URL) => basename(entryFile.toString()) diff --git a/packages/integrations/vercel/src/serverless/middleware.ts b/packages/integrations/vercel/src/serverless/middleware.ts index ca84bff33..973df238f 100644 --- a/packages/integrations/vercel/src/serverless/middleware.ts +++ b/packages/integrations/vercel/src/serverless/middleware.ts @@ -98,7 +98,7 @@ export default async function middleware(request, context) { request, params: {} }); - ctx.locals = { vercel: { edge: context }, ...${handlerTemplateCall} }; + Object.assign(ctx.locals, { vercel: { edge: context }, ...${handlerTemplateCall} }); const { origin } = new URL(request.url); const next = async () => { const { vercel, ...locals } = ctx.locals; |