summaryrefslogtreecommitdiff
path: root/packages/integrations/vercel/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/vercel/src')
-rw-r--r--packages/integrations/vercel/src/serverless/adapter.ts23
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',