Back

Next.js Middleware does not work with "node-appwrite" because of using the edge runtime

  • 0
  • Auth
  • Web
Fer Mérida
7 Nov, 2024, 04:10

I use the "node-appwrite" in the Middleware to verify the user session in SSR, in local it works, but when i deploy the project to Vercel, the deployment fail because the Next.js Middleware works in the Edge Runtime, and it does not work with Node.js API, then is not compatible with "node-appwrite".

Any solution to this problem?

The Middleware Code:

TypeScript
export default async function middleware(req: NextRequest) {
  const session = await verifySession();

  if (!session) return NextResponse.redirect(new URL("/sign-in", req.url));

  return NextResponse.next();
}

The Error in the Vercel Console:

TypeScript
Import trace for requested module:
./node_modules/node-appwrite/dist/client.mjs
./node_modules/node-appwrite/dist/index.mjs

A Node.js API is used (process.version at line: 33) which is not supported in the Edge Runtime.

Also, I found the library "react-appwrite", it says that support the Next.js Middleware, this is a proprietary library of AppWrite? or is it created by the community?

TL;DR
null
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more