summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--packages/integrations/vercel/README.md2
-rw-r--r--packages/integrations/vercel/src/serverless/adapter.ts32
-rw-r--r--packages/integrations/vercel/test/max-duration.test.js26
3 files changed, 32 insertions, 28 deletions
diff --git a/packages/integrations/vercel/README.md b/packages/integrations/vercel/README.md
index f66d3832f..bad219b98 100644
--- a/packages/integrations/vercel/README.md
+++ b/packages/integrations/vercel/README.md
@@ -266,7 +266,7 @@ export default defineConfig({
**Type:** `number`<br>
**Available for:** Serverless
-Use this property to extend or limit 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.
+Use this property to extend or limit 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.
```diff lang="js"
// astro.config.mjs
diff --git a/packages/integrations/vercel/src/serverless/adapter.ts b/packages/integrations/vercel/src/serverless/adapter.ts
index ef8828132..e7cdebfb9 100644
--- a/packages/integrations/vercel/src/serverless/adapter.ts
+++ b/packages/integrations/vercel/src/serverless/adapter.ts
@@ -99,7 +99,7 @@ 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. */
functionPerRoute?: boolean;
@@ -120,7 +120,6 @@ export default function vercelServerless({
edgeMiddleware = false,
maxDuration,
}: VercelServerlessConfig = {}): AstroIntegration {
-
if (maxDuration) {
if (typeof maxDuration !== 'number') {
throw new TypeError(`maxDuration must be a number`, { cause: maxDuration });
@@ -143,10 +142,13 @@ export default function vercelServerless({
name: PACKAGE_NAME,
hooks: {
'astro:config:setup': async ({ command, config, updateConfig, injectScript, logger }) => {
-
if (maxDuration && maxDuration > 900) {
- logger.warn(`maxDuration is set to ${maxDuration} seconds, which is longer than the maximum allowed duration of 900 seconds.`)
- logger.warn(`Please make sure that your plan allows for this duration. See https://vercel.com/docs/functions/serverless-functions/runtimes#maxduration for more information.`)
+ logger.warn(
+ `maxDuration is set to ${maxDuration} seconds, which is longer than the maximum allowed duration of 900 seconds.`
+ );
+ logger.warn(
+ `Please make sure that your plan allows for this duration. See https://vercel.com/docs/functions/serverless-functions/runtimes#maxduration for more information.`
+ );
}
if (webAnalytics?.enabled || analytics) {
@@ -272,7 +274,7 @@ You can set functionPerRoute: false to prevent surpassing the limit.`
NTF_CACHE,
includeFiles: filesToInclude,
excludeFiles,
- maxDuration
+ maxDuration,
});
routeDefinitions.push({
src: route.pattern.source,
@@ -288,7 +290,7 @@ You can set functionPerRoute: false to prevent surpassing the limit.`
NTF_CACHE,
includeFiles: filesToInclude,
excludeFiles,
- maxDuration
+ maxDuration,
});
routeDefinitions.push({ src: '/.*', dest: 'render' });
}
@@ -331,14 +333,14 @@ You can set functionPerRoute: false to prevent surpassing the limit.`
}
interface CreateFunctionFolderArgs {
- functionName: string
- entry: URL
- config: AstroConfig
- logger: AstroIntegrationLogger
- NTF_CACHE: any
- includeFiles: URL[]
- excludeFiles?: string[]
- maxDuration?: number
+ functionName: string;
+ entry: URL;
+ config: AstroConfig;
+ logger: AstroIntegrationLogger;
+ NTF_CACHE: any;
+ includeFiles: URL[];
+ excludeFiles?: string[];
+ maxDuration?: number;
}
async function createFunctionFolder({
diff --git a/packages/integrations/vercel/test/max-duration.test.js b/packages/integrations/vercel/test/max-duration.test.js
index 9826dcdfb..8f0af3b89 100644
--- a/packages/integrations/vercel/test/max-duration.test.js
+++ b/packages/integrations/vercel/test/max-duration.test.js
@@ -2,18 +2,20 @@ import { loadFixture } from './test-utils.js';
import { expect } from 'chai';
describe('maxDuration', () => {
- /** @type {import('./test-utils.js').Fixture} */
- let fixture;
+ /** @type {import('./test-utils.js').Fixture} */
+ let fixture;
- before(async () => {
- fixture = await loadFixture({
- root: './fixtures/max-duration/',
- });
- await fixture.build();
- });
+ before(async () => {
+ fixture = await loadFixture({
+ root: './fixtures/max-duration/',
+ });
+ await fixture.build();
+ });
- it('makes it to vercel function configuration', async () => {
- const vcConfig = JSON.parse(await fixture.readFile('../.vercel/output/functions/render.func/.vc-config.json'));
- expect(vcConfig).to.deep.include({ maxDuration: 60 });
- });
+ it('makes it to vercel function configuration', async () => {
+ const vcConfig = JSON.parse(
+ await fixture.readFile('../.vercel/output/functions/render.func/.vc-config.json')
+ );
+ expect(vcConfig).to.deep.include({ maxDuration: 60 });
+ });
});