From 5ea02b12fdb9b8ca45b1229bb9d04bc3d1270e0f Mon Sep 17 00:00:00 2001 From: Matthew Phillips Date: Fri, 16 Aug 2024 08:41:10 -0400 Subject: [PATCH 1/3] Deprecate the functionPerRoute option (#11728) * Deprecate the functionPerRoute option * Update .changeset/weak-dancers-beam.md Co-authored-by: Sarah Rainsberger --------- Co-authored-by: Sarah Rainsberger --- .changeset/weak-dancers-beam.md | 20 +++++++++++++++++++ .../vercel/src/serverless/adapter.ts | 10 +++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 .changeset/weak-dancers-beam.md diff --git a/.changeset/weak-dancers-beam.md b/.changeset/weak-dancers-beam.md new file mode 100644 index 0000000000..6d46678154 --- /dev/null +++ b/.changeset/weak-dancers-beam.md @@ -0,0 +1,20 @@ +--- +'@astrojs/vercel': minor +--- + +Deprecates the `functionPerRoute` option + +This option is now deprecated, and will be removed entirely in Astro v5.0. We suggest removing this option from your configuration as soon as you are able to: + +```diff +import { defineConfig } from 'astro/config'; +import vercel from '@astrojs/vercel/serverless'; + +export default defineConfig({ + // ... + output: 'server', + adapter: vercel({ +- functionPerRoute: true, + }), +}); +``` diff --git a/packages/integrations/vercel/src/serverless/adapter.ts b/packages/integrations/vercel/src/serverless/adapter.ts index 8cddc0be10..5dbf24f4a6 100644 --- a/packages/integrations/vercel/src/serverless/adapter.ts +++ b/packages/integrations/vercel/src/serverless/adapter.ts @@ -134,7 +134,10 @@ export interface VercelServerlessConfig { /** Whether to create the Vercel Edge middleware from an Astro middleware in your code base. */ edgeMiddleware?: boolean; - /** Whether to split builds into a separate function for each route. */ + /** + * Whether to split builds into a separate function for each route. + * @deprecated `functionPerRoute` is deprecated and will be removed in the next major release of the adapter. + */ functionPerRoute?: boolean; /** The maximum duration (in seconds) that Serverless Functions can run before timing out. See the [Vercel documentation](https://vercel.com/docs/functions/serverless-functions/runtimes#maxduration) for the default and maximum limit for your account plan. */ @@ -286,6 +289,11 @@ export default function vercelServerless({ `\tMake sure to check your plan carefully to avoid incurring additional costs.\n` + `\tYou can set functionPerRoute: false to prevent surpassing the limit.\n`, ); + + logger.warn( + `\n` + + `\t\`functionPerRoute\` is deprecated and will be removed in a future version of the adapter.\n` + ); } setAdapter( From a9e43d2a2f0a2e17a579fe7c9bbb274503c6f798 Mon Sep 17 00:00:00 2001 From: Matthew Phillips Date: Fri, 16 Aug 2024 12:42:03 +0000 Subject: [PATCH 2/3] [ci] format --- packages/integrations/vercel/src/serverless/adapter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/integrations/vercel/src/serverless/adapter.ts b/packages/integrations/vercel/src/serverless/adapter.ts index 5dbf24f4a6..364d2c8614 100644 --- a/packages/integrations/vercel/src/serverless/adapter.ts +++ b/packages/integrations/vercel/src/serverless/adapter.ts @@ -292,7 +292,7 @@ export default function vercelServerless({ logger.warn( `\n` + - `\t\`functionPerRoute\` is deprecated and will be removed in a future version of the adapter.\n` + `\t\`functionPerRoute\` is deprecated and will be removed in a future version of the adapter.\n`, ); } From 50c3ed238d9e51a0110bc8b95e6924b65f0d0841 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 16 Aug 2024 21:48:57 +0800 Subject: [PATCH 3/3] Update `test:vite-ci` script (#11740) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 850816b5e1..c979990452 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "test:smoke:example": "turbo run build --concurrency=100% --filter=\"@example/*\"", "test:smoke:docs": "turbo run build --filter=docs", "test:check-examples": "node ./scripts/smoke/check.js", - "test:vite-ci": "turbo run test --filter=astro", + "test:vite-ci": "cd packages/astro && pnpm run test:node", "test:e2e": "cd packages/astro && pnpm playwright install chromium firefox && pnpm run test:e2e", "test:e2e:match": "cd packages/astro && pnpm playwright install chromium firefox && pnpm run test:e2e:match", "test:e2e:hosts": "turbo run test:hosted",