Skip to content

Compatibility

IntegrationStatus
Prisma ORM 7.1+Ready
PostgreSQLReady
MySQL · MariaDBReady
SQLiteReady
React Router 7.9+ · 8 · RemixReady
Vite 6+Ready
Express 4.18+ · 5Ready
Fastify 4.26+ · 5Ready
NestJS 12Ready
Koa 3Ready
Hapi 21Ready
Hono 4 on NodeReady
Next.jsPlanned
Prisma ORM 8Planned
  • Prisma 7.1 and later are supported, and tested on the oldest and the newest in CI.
  • Prisma 6 is not: it has no SQL comments, and its query engine runs the driver adapter outside the request’s async context, so statements cannot be tied to their request.
  • Prisma 8 needs its own integration, built on its new middleware, once it is stable.

Through Prisma’s own driver adapters, tested in CI with the same checks on each: operations and their lines, SQL and parameters, batch and interactive transactions, errors, hidden secrets and the N+1 warning.

  • PostgreSQL, with @prisma/adapter-pg, tested on 18. Raw SQL sent with pg is recorded too, through profilePool().
  • MySQL and MariaDB, with @prisma/adapter-mariadb, tested on MySQL 8.4 and MariaDB 11.4.
  • SQLite, with @prisma/adapter-better-sqlite3.

The preload works with any framework that serves through Node’s http module. CI runs the same requests, with Prisma against PostgreSQL, in each of these:

  • Express 4.18 and later, 5 included, tested on 4.18.0, 5.0.0 and the newest. Before 4.18, Express’s body parser drops the request’s async context: a route that reads a body loses its queries.
  • Fastify, tested on 4.26.0, 5.0.0 and the newest.
  • Koa 3, Hapi 21, NestJS 12 on Express, and Hono 4 on @hono/node-server.

Node 22.19+ or 24.5+, tested on 22.19, the newest 22 and the newest 24. The preload gives your app’s imports of the profiler its real code through Node’s synchronous module hooks: before those versions, Node ignores the conditions such a hook adds on import and throws on them in require(). Node 20, whose support ended in April 2026, lacks those hooks altogether.