Fix SuperTokens build error with lazy initialization
- Move SuperTokens.init() to runtime (not build time) - Add dynamic route config to prevent build-time evaluation - Move appInfo inside backendConfig function - Update default URLs to vibnai.com Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -3,36 +3,58 @@ import SuperTokens from "supertokens-node";
|
||||
import { backendConfig } from "@/lib/supertokens/backendConfig";
|
||||
import { getAppDirRequestHandler } from "supertokens-node/nextjs";
|
||||
|
||||
SuperTokens.init(backendConfig());
|
||||
// Tell Next.js this is a dynamic route (don't evaluate at build time)
|
||||
export const dynamic = 'force-dynamic';
|
||||
export const runtime = 'nodejs';
|
||||
|
||||
const handleRequest = getAppDirRequestHandler(NextResponse);
|
||||
// Initialize SuperTokens lazily (only when first request comes in)
|
||||
let initialized = false;
|
||||
|
||||
function ensureInitialized() {
|
||||
if (!initialized && typeof window === 'undefined') {
|
||||
SuperTokens.init(backendConfig());
|
||||
initialized = true;
|
||||
}
|
||||
}
|
||||
|
||||
export async function GET(request: NextRequest) {
|
||||
ensureInitialized();
|
||||
const handleRequest = getAppDirRequestHandler(NextResponse);
|
||||
const response = await handleRequest(request);
|
||||
return response;
|
||||
}
|
||||
|
||||
export async function POST(request: NextRequest) {
|
||||
ensureInitialized();
|
||||
const handleRequest = getAppDirRequestHandler(NextResponse);
|
||||
const response = await handleRequest(request);
|
||||
return response;
|
||||
}
|
||||
|
||||
export async function DELETE(request: NextRequest) {
|
||||
ensureInitialized();
|
||||
const handleRequest = getAppDirRequestHandler(NextResponse);
|
||||
const response = await handleRequest(request);
|
||||
return response;
|
||||
}
|
||||
|
||||
export async function PUT(request: NextRequest) {
|
||||
ensureInitialized();
|
||||
const handleRequest = getAppDirRequestHandler(NextResponse);
|
||||
const response = await handleRequest(request);
|
||||
return response;
|
||||
}
|
||||
|
||||
export async function PATCH(request: NextRequest) {
|
||||
ensureInitialized();
|
||||
const handleRequest = getAppDirRequestHandler(NextResponse);
|
||||
const response = await handleRequest(request);
|
||||
return response;
|
||||
}
|
||||
|
||||
export async function HEAD(request: NextRequest) {
|
||||
ensureInitialized();
|
||||
const handleRequest = getAppDirRequestHandler(NextResponse);
|
||||
const response = await handleRequest(request);
|
||||
return response;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user