diff options
Diffstat (limited to 'packages/integrations/vercel')
16 files changed, 50 insertions, 50 deletions
diff --git a/packages/integrations/vercel/CHANGELOG.md b/packages/integrations/vercel/CHANGELOG.md index 5306ab652..2fda03d95 100644 --- a/packages/integrations/vercel/CHANGELOG.md +++ b/packages/integrations/vercel/CHANGELOG.md @@ -1207,7 +1207,7 @@ { darkMode: true }, { expires: '1 month', - } + }, ); const prefs = Astro.cookies.get<Prefs>('prefs').json(); diff --git a/packages/integrations/vercel/src/image/shared.ts b/packages/integrations/vercel/src/image/shared.ts index f15d81516..da9342f29 100644 --- a/packages/integrations/vercel/src/image/shared.ts +++ b/packages/integrations/vercel/src/image/shared.ts @@ -68,7 +68,7 @@ export function getAstroImageConfig( imagesConfig: VercelImageConfig | undefined, command: string, devImageService: DevImageService, - astroImageConfig: AstroConfig['image'] + astroImageConfig: AstroConfig['image'], ) { let devService = '@astrojs/vercel/dev-image-service'; @@ -105,7 +105,7 @@ export function getAstroImageConfig( export function sharedValidateOptions( options: ImageTransform, serviceConfig: Record<string, any>, - mode: 'development' | 'production' + mode: 'development' | 'production', ) { const vercelImageOptions = serviceConfig as VercelImageConfig; diff --git a/packages/integrations/vercel/src/lib/nft.ts b/packages/integrations/vercel/src/lib/nft.ts index 51abe1211..7f21f3f27 100644 --- a/packages/integrations/vercel/src/lib/nft.ts +++ b/packages/integrations/vercel/src/lib/nft.ts @@ -18,7 +18,7 @@ export async function copyDependenciesToFunction( logger: AstroIntegrationLogger; }, // we want to pass the caching by reference, and not by value - cache: object + cache: object, ): Promise<{ handler: string }> { const entryPath = fileURLToPath(entry); logger.info(`Bundling function ${relativePath(fileURLToPath(outDir), entryPath)}`); @@ -54,11 +54,11 @@ export async function copyDependenciesToFunction( if (entryPath === file) { logger.debug( - `[@astrojs/vercel] The module "${module}" couldn't be resolved. This may not be a problem, but it's worth checking.` + `[@astrojs/vercel] The module "${module}" couldn't be resolved. This may not be a problem, but it's worth checking.`, ); } else { logger.debug( - `[@astrojs/vercel] The module "${module}" inside the file "${file}" couldn't be resolved. This may not be a problem, but it's worth checking.` + `[@astrojs/vercel] The module "${module}" inside the file "${file}" couldn't be resolved. This may not be a problem, but it's worth checking.`, ); } } @@ -75,7 +75,7 @@ export async function copyDependenciesToFunction( const commonAncestor = await copyFilesToFolder( [...result.fileList].map((file) => new URL(file, base)).concat(includeFiles), outDir, - excludeFiles + excludeFiles, ); return { diff --git a/packages/integrations/vercel/src/serverless/adapter.ts b/packages/integrations/vercel/src/serverless/adapter.ts index e4ab5ac88..8cddc0be1 100644 --- a/packages/integrations/vercel/src/serverless/adapter.ts +++ b/packages/integrations/vercel/src/serverless/adapter.ts @@ -214,10 +214,10 @@ export default function vercelServerless({ '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.` + `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.` + `Please make sure that your plan allows for this duration. See https://vercel.com/docs/functions/serverless-functions/runtimes#maxduration for more information.`, ); } @@ -226,7 +226,7 @@ export default function vercelServerless({ 'head-inline', await getInjectableWebAnalyticsContent({ mode: command === 'dev' ? 'development' : 'production', - }) + }), ); } if (command === 'build' && speedInsights?.enabled) { @@ -242,7 +242,7 @@ export default function vercelServerless({ '\n' + `\tYour "vercel.json" \`trailingSlash\` configuration (set to \`true\`) will conflict with your Astro \`trailinglSlash\` configuration (set to \`"always"\`).\n` + `\tThis would cause infinite redirects under certain conditions and throw an \`ERR_TOO_MANY_REDIRECTS\` error.\n` + - `\tTo prevent this, your Astro configuration is updated to \`"ignore"\` during builds.\n` + `\tTo prevent this, your Astro configuration is updated to \`"ignore"\` during builds.\n`, ); updateConfig({ trailingSlash: 'ignore', @@ -274,7 +274,7 @@ export default function vercelServerless({ imagesConfig, command, devImageService, - config.image + config.image, ), }); }, @@ -284,12 +284,12 @@ export default function vercelServerless({ `\n` + `\tVercel's hosting plans might have limits to the number of functions you can create.\n` + `\tMake sure to check your plan carefully to avoid incurring additional costs.\n` + - `\tYou can set functionPerRoute: false to prevent surpassing the limit.\n` + `\tYou can set functionPerRoute: false to prevent surpassing the limit.\n`, ); } setAdapter( - getAdapter({ functionPerRoute, edgeMiddleware, middlewareSecret, skewProtection }) + getAdapter({ functionPerRoute, edgeMiddleware, middlewareSecret, skewProtection }), ); _config = config; @@ -298,13 +298,13 @@ export default function vercelServerless({ if (config.output === 'static') { throw new AstroError( - '`output: "server"` or `output: "hybrid"` is required to use the serverless adapter.' + '`output: "server"` or `output: "hybrid"` is required to use the serverless adapter.', ); } }, 'astro:build:ssr': async ({ entryPoints, middlewareEntryPoint }) => { _entryPoints = new Map( - Array.from(entryPoints).filter(([routeData]) => !routeData.prerender) + Array.from(entryPoints).filter(([routeData]) => !routeData.prerender), ); _middlewareEntryPoint = middlewareEntryPoint; }, @@ -389,7 +389,7 @@ export default function vercelServerless({ await builder.buildMiddlewareFolder( _middlewareEntryPoint, MIDDLEWARE_PATH, - middlewareSecret + middlewareSecret, ); } const fourOhFourRoute = routes.find((route) => route.pathname === '/404'); @@ -464,7 +464,7 @@ class VercelBuilder { readonly includeFiles: URL[], readonly logger: AstroIntegrationLogger, readonly maxDuration?: number, - readonly runtime = getRuntime(process, logger) + readonly runtime = getRuntime(process, logger), ) {} async buildServerlessFolder(entry: URL, functionName: string) { @@ -483,7 +483,7 @@ class VercelBuilder { excludeFiles, logger, }, - NTF_CACHE + NTF_CACHE, ); // Enable ESM @@ -505,7 +505,7 @@ class VercelBuilder { await this.buildServerlessFolder(entry, functionName); const prerenderConfig = new URL( `./functions/${functionName}.prerender-config.json`, - this.config.outDir + this.config.outDir, ); // https://vercel.com/docs/build-output-api/v3/primitives#prerender-configuration-file await writeJson(prerenderConfig, { @@ -525,7 +525,7 @@ class VercelBuilder { new URL(VERCEL_EDGE_MIDDLEWARE_FILE, this.config.srcDir), new URL('./middleware.mjs', functionFolder), middlewareSecret, - this.logger + this.logger, ); await writeJson(new URL(`./.vc-config.json`, functionFolder), { @@ -544,7 +544,7 @@ function getRuntime(process: NodeJS.Process, logger: AstroIntegrationLogger): Ru `\n` + `\tThe local Node.js version (${major}) is not supported by Vercel Serverless Functions.\n` + `\tYour project will use Node.js 18 as the runtime instead.\n` + - `\tConsider switching your local version to 18.\n` + `\tConsider switching your local version to 18.\n`, ); return 'nodejs18.x'; } @@ -554,26 +554,26 @@ function getRuntime(process: NodeJS.Process, logger: AstroIntegrationLogger): Ru if (support.status === 'retiring') { if (support.warnDate && new Date() >= support.warnDate) { logger.warn( - `Your project is being built for Node.js ${major} as the runtime, which is retiring by ${support.removal}.` + `Your project is being built for Node.js ${major} as the runtime, which is retiring by ${support.removal}.`, ); } return `nodejs${major}.x`; } if (support.status === 'beta') { logger.warn( - `Your project is being built for Node.js ${major} as the runtime, which is currently in beta for Vercel Serverless Functions.` + `Your project is being built for Node.js ${major} as the runtime, which is currently in beta for Vercel Serverless Functions.`, ); return `nodejs${major}.x`; } if (support.status === 'deprecated') { const removeDate = new Intl.DateTimeFormat(undefined, { dateStyle: 'long' }).format( - support.removal + support.removal, ); logger.warn( `\n` + `\tYour project is being built for Node.js ${major} as the runtime.\n` + `\tThis version is deprecated by Vercel Serverless Functions, and scheduled to be disabled on ${removeDate}.\n` + - `\tConsider upgrading your local version to 18.\n` + `\tConsider upgrading your local version to 18.\n`, ); return `nodejs${major}.x`; } diff --git a/packages/integrations/vercel/src/serverless/entrypoint.ts b/packages/integrations/vercel/src/serverless/entrypoint.ts index 11d3c3a91..876ab6b07 100644 --- a/packages/integrations/vercel/src/serverless/entrypoint.ts +++ b/packages/integrations/vercel/src/serverless/entrypoint.ts @@ -18,7 +18,7 @@ applyPolyfills(); export const createExports = ( manifest: SSRManifest, - { middlewareSecret, skewProtection }: { middlewareSecret: string; skewProtection: boolean } + { middlewareSecret, skewProtection }: { middlewareSecret: string; skewProtection: boolean }, ) => { const app = new NodeApp(manifest); const handler = async (req: IncomingMessage, res: ServerResponse) => { diff --git a/packages/integrations/vercel/src/serverless/middleware.ts b/packages/integrations/vercel/src/serverless/middleware.ts index e8e6adf9f..07d0843bf 100644 --- a/packages/integrations/vercel/src/serverless/middleware.ts +++ b/packages/integrations/vercel/src/serverless/middleware.ts @@ -26,13 +26,13 @@ export async function generateEdgeMiddleware( vercelEdgeMiddlewareHandlerPath: URL, outPath: URL, middlewareSecret: string, - logger: AstroIntegrationLogger + logger: AstroIntegrationLogger, ): Promise<URL> { const code = edgeMiddlewareTemplate( astroMiddlewareEntryPointPath, vercelEdgeMiddlewareHandlerPath, middlewareSecret, - logger + logger, ); // https://vercel.com/docs/concepts/functions/edge-middleware#create-edge-middleware const bundledFilePath = fileURLToPath(outPath); @@ -69,17 +69,17 @@ function edgeMiddlewareTemplate( astroMiddlewareEntryPointPath: URL, vercelEdgeMiddlewareHandlerPath: URL, middlewareSecret: string, - logger: AstroIntegrationLogger + logger: AstroIntegrationLogger, ) { const middlewarePath = JSON.stringify( - fileURLToPath(astroMiddlewareEntryPointPath).replace(/\\/g, '/') + fileURLToPath(astroMiddlewareEntryPointPath).replace(/\\/g, '/'), ); const filePathEdgeMiddleware = fileURLToPath(vercelEdgeMiddlewareHandlerPath); let handlerTemplateImport = ''; let handlerTemplateCall = '{}'; if (existsSync(filePathEdgeMiddleware + '.js') || existsSync(filePathEdgeMiddleware + '.ts')) { logger.warn( - 'Usage of `vercel-edge-middleware.js` is deprecated. You can now use the `waitUntil(promise)` function directly as `ctx.locals.waitUntil(promise)`.' + 'Usage of `vercel-edge-middleware.js` is deprecated. You can now use the `waitUntil(promise)` function directly as `ctx.locals.waitUntil(promise)`.', ); const stringified = JSON.stringify(filePathEdgeMiddleware.replace(/\\/g, '/')); handlerTemplateImport = `import handler from ${stringified}`; diff --git a/packages/integrations/vercel/src/static/adapter.ts b/packages/integrations/vercel/src/static/adapter.ts index e2e73ea44..efe3d2da5 100644 --- a/packages/integrations/vercel/src/static/adapter.ts +++ b/packages/integrations/vercel/src/static/adapter.ts @@ -74,7 +74,7 @@ export default function vercelStatic({ 'head-inline', await getInjectableWebAnalyticsContent({ mode: command === 'dev' ? 'development' : 'production', - }) + }), ); } if (command === 'build' && speedInsights?.enabled) { @@ -95,7 +95,7 @@ export default function vercelStatic({ imagesConfig, command, devImageService, - config.image + config.image, ), }); }, diff --git a/packages/integrations/vercel/test/edge-middleware.test.js b/packages/integrations/vercel/test/edge-middleware.test.js index 6cc5f00a7..9ae583a11 100644 --- a/packages/integrations/vercel/test/edge-middleware.test.js +++ b/packages/integrations/vercel/test/edge-middleware.test.js @@ -14,7 +14,7 @@ describe('Vercel edge middleware', () => { it('an edge function is created', async () => { const contents = await build.readFile( - '../.vercel/output/functions/_middleware.func/.vc-config.json' + '../.vercel/output/functions/_middleware.func/.vc-config.json', ); const contentsJSON = JSON.parse(contents); assert.equal(contentsJSON.runtime, 'edge'); @@ -26,14 +26,14 @@ describe('Vercel edge middleware', () => { const { routes } = JSON.parse(contents); assert.equal( routes.some((route) => route.dest === '_middleware'), - true + true, ); }); it('edge sets Set-Cookie headers', async () => { let entry = new URL( '../.vercel/output/functions/_middleware.func/middleware.mjs', - build.config.outDir + build.config.outDir, ); const module = await import(entry); const request = new Request('http://example.com/foo'); @@ -50,7 +50,7 @@ describe('Vercel edge middleware', () => { await fixture.build(); const contents = await fixture.readFile( // this is abysmal... - '../.vercel/output/functions/render.func/www/withastro/astro/packages/integrations/vercel/test/fixtures/middleware-with-edge-file/dist/middleware.mjs' + '../.vercel/output/functions/render.func/www/withastro/astro/packages/integrations/vercel/test/fixtures/middleware-with-edge-file/dist/middleware.mjs', ); console.log(contents); // assert.equal(contents.includes('title:')).to.be.true; @@ -66,7 +66,7 @@ describe('Vercel edge middleware', () => { await fixture.build(); const contents = await fixture.readFile( // this is abysmal... - '../.vercel/output/functions/render.func/www/withastro/astro/packages/integrations/vercel/test/fixtures/middleware-without-edge-file/dist/middleware.mjs' + '../.vercel/output/functions/render.func/www/withastro/astro/packages/integrations/vercel/test/fixtures/middleware-without-edge-file/dist/middleware.mjs', ); console.log(contents); // assert.equal(contents.includes('title:')).to.be.false; diff --git a/packages/integrations/vercel/test/hosted/hosted.test.js b/packages/integrations/vercel/test/hosted/hosted.test.js index 547138b8c..e090188a7 100644 --- a/packages/integrations/vercel/test/hosted/hosted.test.js +++ b/packages/integrations/vercel/test/hosted/hosted.test.js @@ -6,7 +6,7 @@ const VERCEL_TEST_URL = 'https://astro-vercel-image-test.vercel.app'; describe('Hosted Vercel Tests', () => { it('Image endpoint works', async () => { const image = await fetch( - VERCEL_TEST_URL + '/_image?href=%2F_astro%2Fpenguin.e9c64733.png&w=300&f=webp' + VERCEL_TEST_URL + '/_image?href=%2F_astro%2Fpenguin.e9c64733.png&w=300&f=webp', ); assert.equal(image.status, 200); diff --git a/packages/integrations/vercel/test/isr.test.js b/packages/integrations/vercel/test/isr.test.js index a8df2c0ef..fb957aa78 100644 --- a/packages/integrations/vercel/test/isr.test.js +++ b/packages/integrations/vercel/test/isr.test.js @@ -15,7 +15,7 @@ describe('ISR', () => { it('generates expected prerender config', async () => { const vcConfig = JSON.parse( - await fixture.readFile('../.vercel/output/functions/_isr.prerender-config.json') + await fixture.readFile('../.vercel/output/functions/_isr.prerender-config.json'), ); assert.deepEqual(vcConfig, { expiration: 120, diff --git a/packages/integrations/vercel/test/max-duration.test.js b/packages/integrations/vercel/test/max-duration.test.js index 2a7698663..d5e26fc1a 100644 --- a/packages/integrations/vercel/test/max-duration.test.js +++ b/packages/integrations/vercel/test/max-duration.test.js @@ -15,7 +15,7 @@ describe('maxDuration', () => { it('makes it to vercel function configuration', async () => { const vcConfig = JSON.parse( - await fixture.readFile('../.vercel/output/functions/_render.func/.vc-config.json') + await fixture.readFile('../.vercel/output/functions/_render.func/.vc-config.json'), ); assert.equal(vcConfig.maxDuration, 60); }); diff --git a/packages/integrations/vercel/test/redirects.test.js b/packages/integrations/vercel/test/redirects.test.js index 57de308e2..9d4f9499e 100644 --- a/packages/integrations/vercel/test/redirects.test.js +++ b/packages/integrations/vercel/test/redirects.test.js @@ -77,7 +77,7 @@ describe('Redirects', () => { const config = await getConfig(); assert.equal( config.routes.find((r) => r.src === '/'), - undefined + undefined, ); }); }); diff --git a/packages/integrations/vercel/test/serverless-prerender.test.js b/packages/integrations/vercel/test/serverless-prerender.test.js index 5b75418c9..61e239300 100644 --- a/packages/integrations/vercel/test/serverless-prerender.test.js +++ b/packages/integrations/vercel/test/serverless-prerender.test.js @@ -20,7 +20,7 @@ describe('Serverless prerender', () => { it('outDir is tree-shaken if not needed', async () => { const [file] = await fixture.glob( - '../.vercel/output/functions/_render.func/packages/integrations/vercel/test/fixtures/serverless-prerender/.vercel/output/_functions/pages/_image.astro.mjs' + '../.vercel/output/functions/_render.func/packages/integrations/vercel/test/fixtures/serverless-prerender/.vercel/output/_functions/pages/_image.astro.mjs', ); const contents = await fixture.readFile(file); assert.ok(!contents.includes('const outDir ='), "outDir is tree-shaken if it's not imported"); @@ -30,8 +30,8 @@ describe('Serverless prerender', () => { it.skip('includeFiles work', async () => { assert.ok( await fixture.readFile( - '../.vercel/output/functions/render.func/packages/integrations/vercel/test/fixtures/serverless-prerender/dist/middleware.mjs' - ) + '../.vercel/output/functions/render.func/packages/integrations/vercel/test/fixtures/serverless-prerender/dist/middleware.mjs', + ), ); }); }); diff --git a/packages/integrations/vercel/test/serverless-with-dynamic-routes.test.js b/packages/integrations/vercel/test/serverless-with-dynamic-routes.test.js index 0967f864b..3f9613834 100644 --- a/packages/integrations/vercel/test/serverless-with-dynamic-routes.test.js +++ b/packages/integrations/vercel/test/serverless-with-dynamic-routes.test.js @@ -18,10 +18,10 @@ describe('Serverless with dynamic routes', () => { it('build successful', async () => { assert.ok(await fixture.readFile('../.vercel/output/static/index.html')); assert.ok( - await fixture.readFile('../.vercel/output/functions/[id]/index.astro.func/.vc-config.json') + await fixture.readFile('../.vercel/output/functions/[id]/index.astro.func/.vc-config.json'), ); assert.ok( - await fixture.readFile('../.vercel/output/functions/api/[id].js.func/.vc-config.json') + await fixture.readFile('../.vercel/output/functions/api/[id].js.func/.vc-config.json'), ); }); }); diff --git a/packages/integrations/vercel/test/split.test.js b/packages/integrations/vercel/test/split.test.js index e64a4dc60..4105db7fc 100644 --- a/packages/integrations/vercel/test/split.test.js +++ b/packages/integrations/vercel/test/split.test.js @@ -26,7 +26,7 @@ describe('build: split', () => { assert.equal(config.routes.length, 5); assert.equal( config.routes.some((route) => route.dest === 'prerender.astro'), - false + false, ); }); }); diff --git a/packages/integrations/vercel/test/streaming.test.js b/packages/integrations/vercel/test/streaming.test.js index a0172a7e6..1e4b0f111 100644 --- a/packages/integrations/vercel/test/streaming.test.js +++ b/packages/integrations/vercel/test/streaming.test.js @@ -15,7 +15,7 @@ describe('streaming', () => { it('makes it to vercel function configuration', async () => { const vcConfig = JSON.parse( - await fixture.readFile('../.vercel/output/functions/_render.func/.vc-config.json') + await fixture.readFile('../.vercel/output/functions/_render.func/.vc-config.json'), ); assert.equal(vcConfig.supportsResponseStreaming, true); }); |