diff options
author | 2023-09-06 06:43:53 +0200 | |
---|---|---|
committer | 2023-09-06 05:43:53 +0100 | |
commit | 9ffa1a84e81f52d55ffe07826b8b1f10fc023ee9 (patch) | |
tree | 00c13135d268e4705357a69b9949ae3d9c2340ed /packages/integrations/vercel/src | |
parent | 61ad70fdc52035964c43ecdb4cf7468f6c2b61e7 (diff) | |
download | astro-9ffa1a84e81f52d55ffe07826b8b1f10fc023ee9.tar.gz astro-9ffa1a84e81f52d55ffe07826b8b1f10fc023ee9.tar.zst astro-9ffa1a84e81f52d55ffe07826b8b1f10fc023ee9.zip |
fix: include route prefix in vercel func names, fix #8401 (#8408)
* fix: include route prefix in vercel func names
* chore: add changeset
* chore: update pnpm lockfile
* refactor: simplify logic that generates vercel func names
* fix: properly remove entryFile prefix from func name
* refactor: change how vercel function names are generated
---------
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Diffstat (limited to 'packages/integrations/vercel/src')
-rw-r--r-- | packages/integrations/vercel/src/serverless/adapter.ts | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/packages/integrations/vercel/src/serverless/adapter.ts b/packages/integrations/vercel/src/serverless/adapter.ts index a7178b3e3..32735da03 100644 --- a/packages/integrations/vercel/src/serverless/adapter.ts +++ b/packages/integrations/vercel/src/serverless/adapter.ts @@ -207,14 +207,25 @@ You can set functionPerRoute: false to prevent surpassing the limit.` // Multiple entrypoint support if (_entryPoints.size) { - for (const [route, entryFile] of _entryPoints) { - const func = basename(entryFile.toString()).replace(/\.mjs$/, ''); + const getRouteFuncName = (route: RouteData) => + route.component.replace('src/pages/', '') + + const getFallbackFuncName = (entryFile: URL) => + basename(entryFile.toString()) + .replace('entry.', '') + .replace(/\.mjs$/, ''); + + for (const [route, entryFile] of _entryPoints) { + const func = route.component.startsWith('src/pages/') + ? getRouteFuncName(route) + : getFallbackFuncName(entryFile) + await createFunctionFolder(func, entryFile, filesToInclude, logger); routeDefinitions.push({ - src: route.pattern.source, - dest: func, - }); - } + src: route.pattern.source, + dest: func, + }); + } } else { await createFunctionFolder( 'render', |