Skip to content
This repository was archived by the owner on Feb 10, 2025. It is now read-only.

Commit 641d7d5

Browse files
authored
fix(vercel): update middleware esbuild settings (#519)
* fix(vercel): update middleware esbuild settings * Update target
1 parent e4d41ce commit 641d7d5

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

.changeset/grumpy-phones-explode.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@astrojs/vercel': patch
3+
---
4+
5+
Updates edge middleware to support esnext syntax

packages/vercel/src/serverless/middleware.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,14 @@ export async function generateEdgeMiddleware(
4242
contents: code,
4343
resolveDir: fileURLToPath(root),
4444
},
45-
target: 'es2020',
45+
// Vercel Edge runtime targets ESNext, because Cloudflare Workers update v8 weekly
46+
// https://github.com/vercel/vercel/blob/1006f2ae9d67ea4b3cbb1073e79d14d063d42436/packages/next/scripts/build-edge-function-template.js
47+
target: 'esnext',
4648
platform: 'browser',
49+
// esbuild automatically adds the browser, import and default conditions
50+
// https://esbuild.github.io/api/#conditions
4751
// https://runtime-keys.proposal.wintercg.org/#edge-light
48-
conditions: ['edge-light', 'worker', 'browser'],
52+
conditions: ['edge-light', 'workerd', 'worker'],
4953
outfile: bundledFilePath,
5054
allowOverwrite: true,
5155
format: 'esm',
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
1+
export const hello = async () => 'hello world';
2+
3+
const message = await hello();
4+
15
/**
26
* @type {import("astro").MiddlewareResponseHandler}
37
*/
48
export const onRequest = async (context, next) => {
59
const test = 'something';
610
context.cookies.set('foo', 'bar');
711
const response = await next();
12+
response.headers.set('x-message', message);
813
return response;
914
};

0 commit comments

Comments
 (0)