Skip to content

Commit 39e0fa2

Browse files
authored
fix(next): remove runtime import form 'next/server' (#395)
* fix(next): add .js in import for better esm compatibility * remove next/server import, update ts-japi
1 parent 2df77b9 commit 39e0fa2

File tree

4 files changed

+76
-86
lines changed

4 files changed

+76
-86
lines changed

TODO.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
- [ ] CLI
44
- [x] generate
55
- [x] migrate
6+
- [ ] db
7+
- [x] push
8+
- [ ] seed
69
- [x] info
710
- [x] init
811
- [x] validate
@@ -106,5 +109,5 @@
106109
- [ ] Databases
107110
- [x] SQLite
108111
- [x] PostgreSQL
109-
- [ ] Multi-schema
112+
- [x] Multi-schema
110113
- [ ] MySQL

packages/server/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@
125125
"@zenstackhq/orm": "workspace:*",
126126
"decimal.js": "catalog:",
127127
"superjson": "^2.2.3",
128-
"ts-japi": "^1.12.0",
128+
"ts-japi": "^1.12.1",
129129
"ts-pattern": "catalog:",
130130
"url-pattern": "^1.0.3",
131131
"zod-validation-error": "catalog:"

packages/server/src/adapter/next/app-route-handler.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { SchemaDef } from '@zenstackhq/orm/schema';
2-
import { NextRequest, NextResponse } from 'next/server';
2+
import type { NextRequest } from 'next/server';
33
import type { AppRouteRequestHandlerOptions } from '.';
44
import { logInternalError } from '../common';
55

@@ -13,11 +13,11 @@ type Context = { params: Promise<{ path: string[] }> };
1313
*/
1414
export default function factory<Schema extends SchemaDef>(
1515
options: AppRouteRequestHandlerOptions<Schema>,
16-
): (req: NextRequest, context: Context) => Promise<NextResponse> {
16+
): (req: NextRequest, context: Context) => Promise<Response> {
1717
return async (req: NextRequest, context: Context) => {
1818
const client = await options.getClient(req);
1919
if (!client) {
20-
return NextResponse.json({ message: 'unable to get ZenStackClient from request context' }, { status: 500 });
20+
return Response.json({ message: 'unable to get ZenStackClient from request context' }, { status: 500 });
2121
}
2222

2323
let params: Awaited<Context['params']>;
@@ -27,11 +27,11 @@ export default function factory<Schema extends SchemaDef>(
2727
try {
2828
params = await context.params;
2929
} catch {
30-
return NextResponse.json({ message: 'Failed to resolve request parameters' }, { status: 500 });
30+
return Response.json({ message: 'Failed to resolve request parameters' }, { status: 500 });
3131
}
3232

3333
if (!params.path) {
34-
return NextResponse.json(
34+
return Response.json(
3535
{ message: 'missing path parameter' },
3636
{
3737
status: 400,
@@ -57,10 +57,10 @@ export default function factory<Schema extends SchemaDef>(
5757
requestBody,
5858
client,
5959
});
60-
return NextResponse.json(r.body, { status: r.status });
60+
return Response.json(r.body, { status: r.status });
6161
} catch (err) {
6262
logInternalError(options.apiHandler.log, err);
63-
return NextResponse.json({ message: 'An internal server error occurred' }, { status: 500 });
63+
return Response.json({ message: 'An internal server error occurred' }, { status: 500 });
6464
}
6565
};
6666
}

0 commit comments

Comments
 (0)