Skip to content

Commit 362cfba

Browse files
committed
fix: correct NestJS dist output path for Vercel serverless function
1 parent 1042c34 commit 362cfba

2 files changed

Lines changed: 8 additions & 7 deletions

File tree

api/index.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import type { IncomingMessage, ServerResponse } from 'node:http';
22
import serverlessHttp from 'serverless-http';
3-
// Import from pre-built dist — compiled by `nest build` in vercel-build step
4-
// eslint-disable-next-line @typescript-eslint/no-require-imports
5-
const { createApp } = require('../dist/create-app') as { createApp: () => Promise<import('@nestjs/platform-express').NestExpressApplication> };
3+
import type { NestExpressApplication } from '@nestjs/platform-express';
64

75
type ServerlessHandler = (
86
req: IncomingMessage,
@@ -13,9 +11,14 @@ let cachedHandler: ServerlessHandler | null = null;
1311

1412
async function getHandler(): Promise<ServerlessHandler> {
1513
if (!cachedHandler) {
14+
const { createApp } = (await import('../dist/src/create-app.js')) as {
15+
createApp: () => Promise<NestExpressApplication>;
16+
};
1617
const app = await createApp();
1718
await app.init();
18-
cachedHandler = serverlessHttp(app.getHttpAdapter().getInstance());
19+
cachedHandler = serverlessHttp(
20+
app.getHttpAdapter().getInstance() as Parameters<typeof serverlessHttp>[0],
21+
);
1922
}
2023
return cachedHandler;
2124
}

vercel.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
{
22
"version": 2,
3-
"buildCommand": "pnpm vercel-build",
4-
"outputDirectory": ".",
53
"functions": {
64
"api/index.ts": {
7-
"includeFiles": "{dist/**,web-ui/dist/**,node_modules/.prisma/**,node_modules/@prisma/client/**}",
5+
"includeFiles": "{dist/src/**,web-ui/dist/**,node_modules/.prisma/**,node_modules/@prisma/client/**}",
86
"memory": 1024,
97
"maxDuration": 30
108
}

0 commit comments

Comments
 (0)