summaryrefslogtreecommitdiff
path: root/packages/integrations/vercel/src
diff options
context:
space:
mode:
authorGravatar Alexander Niebuhr <alexander@nbhr.io> 2024-09-16 19:31:49 +0200
committerGravatar GitHub <noreply@github.com> 2024-09-16 13:31:49 -0400
commitbea4ad266c4f9ea44f311f4d433a697a91e9ed0d (patch)
tree01b84cb7c5aa73a90bd264f0ae304e9dfd16338a /packages/integrations/vercel/src
parentf952649bae1792a8c9aad85b1241cf1d8ac3579f (diff)
downloadastro-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.ts8
-rw-r--r--packages/integrations/vercel/src/serverless/adapter.ts7
-rw-r--r--packages/integrations/vercel/src/serverless/middleware.ts2
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;