summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.changeset/weak-dancers-beam.md20
-rw-r--r--package.json2
-rw-r--r--packages/integrations/vercel/src/serverless/adapter.ts10
3 files changed, 30 insertions, 2 deletions
diff --git a/.changeset/weak-dancers-beam.md b/.changeset/weak-dancers-beam.md
new file mode 100644
index 000000000..6d4667815
--- /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/package.json b/package.json
index 850816b5e..c97999045 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",
diff --git a/packages/integrations/vercel/src/serverless/adapter.ts b/packages/integrations/vercel/src/serverless/adapter.ts
index 8cddc0be1..364d2c861 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(