DevRadar

Compatibility Checks

Browse all technology compatibility checks. Find out if your tech stack works together before you build.

12 compatible
46 partial
51 incompatible
Showing 109 of 109 checksUpdated Jan 8, 2026

Next.js+Redis

Partial

Works in Node.js runtime (API routes with runtime: "nodejs", server components). Not compatible with Edge Runtime due to TCP connection limitations.

Sveltekit+Supabase

Compatible

Official support with dedicated @supabase/ssr package for SvelteKit. SSR support with cookies for session management.

Sveltekit+Prisma

Partial

Compatible in Node.js environments. Edge runtime requires special configuration with @prisma/client/edge and Prisma Accelerate.

Remix+Supabase

Partial

No official 2026 compatibility guarantee. Works in practice but has known issues around OAuth authentication and cookie management.

Remix+Prisma

Partial

Compatible in Node.js environments with loader/action patterns. Edge runtime has significant limitations due to WASM compilation issues.

Nuxt+Supabase

Partial

Official module exists (@nuxtjs/supabase v2.0.3) with Nuxt v4 compatibility. Known issues with TypeScript exports and Pinia integration.

Nuxt+Prisma

Partial

Official @prisma/nuxt module exists but has edge deployment limitations and production build issues. Works best with Node.js server environments.

Next.js+Turso

Compatible

Fully compatible including Edge Runtime. @libsql/client supports HTTP, WebSocket, and lib:// URL schemes. Works in both Node.js and Edge runtimes.

Next.js+Supabase

Compatible

Official integration with comprehensive documentation. @supabase/ssr package provides full Next.js SSR support.

Next.js+Prisma

Partial

Compatible in Node.js runtime but does NOT work in Edge Runtime (middleware, edge functions). Use Node.js runtime for API routes.

Next.js+PostgreSQL

Partial

Standard pg driver works in Node.js runtime but NOT in Edge Functions. Neon serverless driver required for Edge Runtime.

Next.js+Planetscale

Partial

Official support exists with Prisma adapter. Edge Runtime requires Prisma Edge preview features with bundle size constraints.

Next.js+Mongodb Atlas

Partial

Works in Node.js runtime (API routes, Server Actions) but NOT compatible with Edge Runtime due to missing Node.js modules (crypto, stream).

Next.js+Firebase Firestore

Partial

Compatible for SSR and Server Components using FirebaseServerApp, but does NOT work in Edge Runtime (middleware, edge functions).

Express+PostgreSQL

Compatible

Fully compatible through node-postgres (pg) driver. Supports all recent LTS Node.js versions and latest PostgreSQL versions.

Express+Mongodb Atlas

Partial

Generally compatible but requires careful version management. Critical security vulnerabilities discovered in late 2024 (CVE-2025-23061, CVE-2024-53900).

Vercel Edge+Upstash

Compatible

Fully compatible. @upstash/redis uses HTTP/REST API instead of TCP, designed specifically for edge runtimes.

Vercel Edge+Turso

Partial

Compatible with Cloudflare Workers/Pages but has known issues with Vercel Edge Runtime (build failures, 401 auth errors).

Vercel Edge+Planetscale

Compatible

Compatible via PlanetScale serverless driver using HTTP connections instead of TCP. Works in all Edge Runtime environments.

@upstash/redis+Edge Runtime

Compatible

HTTP-based Redis access designed for Edge and serverless

Turso+Drizzle Orm

Compatible

Native libSQL/Turso support - recommended Edge database pairing

Supabase+Vercel

Compatible

Official integration with optimized connection pooling via Supavisor

Ssh2+Edge Runtime

Incompatible

Requires net module for TCP sockets and native crypto bindings

Socket.io+Edge Runtime

Incompatible

Requires persistent server process and net module; incompatible with stateless edge

Planetscale+Prisma

Partial

Requires driver adapter for serverless environments

@planetscale/database+Edge Runtime

Compatible

HTTP protocol works on all Edge platforms

Pdf Parse+Edge Runtime

Incompatible

Uses fs module and PDF.js which requires DOM-like environment

Pdf Lib+Edge Runtime

Partial

Pure JavaScript PDF library; bundle size (~400KB) may concern edge limits

Next.js+Cloudflare Pages

Partial

Limited Node.js API support via @cloudflare/next-on-pages

@neondatabase/serverless+Vercel Edge

Compatible

Designed for Edge Runtime - works natively via HTTP/WebSocket

Multer+Serverless

Partial

Works with memoryStorage but disk streaming fails; requires binary config

Multer+Edge Runtime

Incompatible

Uses fs.diskStorage by default; streaming uploads incompatible with edge

Formidable+Edge Runtime

Incompatible

Saves files to temporary directory using fs; edge has no writable filesystem

Drizzle Orm+Cloudflare D1

Compatible

Native D1 support with official driver - recommended pairing

Zustand+React Server Components

Partial

Store hooks use useState internally; subscriptions require client-side hydration

Sharp+Serverless

Partial

Works on Lambda with pre-compiled Linux binaries; requires correct build environment

Sharp+Edge Runtime

Incompatible

Uses native C++ bindings to libvips; native modules cannot run in V8 isolates

Redux+React Server Components

Incompatible

React-Redux Provider uses Context; useSelector/useDispatch hooks incompatible

Recharts+React Server Components

Incompatible

Chart components use useEffect, access DOM for SVG; responsive containers require window

React Hot Toast+React Server Components

Incompatible

Toaster component uses useState, useEffect; toast() requires browser

Puppeteer+Serverless

Partial

Chromium exceeds Lambda 250MB limit

Puppeteer+Edge Runtime

Incompatible

Requires Chromium binary (~280MB) and child_process to spawn browser

Playwright+Edge Runtime

Incompatible

Requires browser binary and child_process; fundamentally incompatible

Otplib+Edge Runtime

Incompatible

Uses crypto.createHmac which throws 'createHmac is not a function'

Canvas+Edge Runtime

Incompatible

Uses native Cairo library via C++ bindings

Next Themes+React Server Components

Partial

ThemeProvider uses React Context; useTheme hook requires client component

Jsonwebtoken+Edge Runtime

Incompatible

Uses Node.js crypto module (createHmac, createSign)

Jotai+React Server Components

Partial

Provider uses React Context; useAtom hooks require client component

Jimp+Edge Runtime

Partial

Pure JavaScript; may exceed CPU time limits on free edge tiers

Gsap+React Server Components

Incompatible

Accesses window and document objects; throws 'window is not defined' in RSC

Gm+Edge Runtime

Incompatible

Wrapper for GraphicsMagick/ImageMagick CLI; requires child_process and native binaries

Glob+Edge Runtime

Incompatible

Requires fs module for directory traversal; no filesystem in edge

Fs Extra+Edge Runtime

Incompatible

Extends fs module unavailable in edge; cannot read/write filesystem

Framer Motion+React Server Components

Incompatible

Animation components use useEffect, useRef, access DOM APIs; MotionConfig uses Context

Chokidar+Serverless

Incompatible

Serverless functions are ephemeral; file watching requires persistent process

Chokidar+Edge Runtime

Incompatible

File system watcher using fs.watch; no persistent filesystem in edge

Bcrypt+Serverless

Partial

Native module requires compilation for Amazon Linux; 'invalid ELF header' errors

Bcrypt+Edge Runtime

Incompatible

Uses native C++ bindings via node-pre-gyp; cannot load .node files

Argon2+Edge Runtime

Incompatible

Uses native C++ bindings compiled for specific OS

@supabase/auth Ui React+React Server Components

Incompatible

Auth UI components use useState, useEffect, browser APIs

@stripe/react Stripe Js+React Server Components

Incompatible

Elements provider uses React Context; Stripe.js accesses window

@sentry/nextjs+React Server Components

Partial

setUser() must be called separately; error.tsx requires 'use client'

@sentry/browser+React Server Components

Incompatible

Browser SDK accesses window, document; error boundaries use useState/useEffect

@segment/analytics Next+React Server Components

Incompatible

Analytics.js accesses window, document, localStorage

@tanstack/react Query+React Server Components

Partial

QueryClientProvider uses React Context; useQuery hooks use useState/useEffect

React Ga4+React Server Components

Incompatible

Accesses window.gtag and window.dataLayer; requires browser environment

Posthog Js+React Server Components

Partial

PostHogProvider uses React Context; usePostHog hooks require client components

Plausible Tracker+React Server Components

Incompatible

Accesses window.location and uses sendBeacon for client-side tracking

@paypal/react Paypal Js+React Server Components

Incompatible

PayPalScriptProvider uses React Context; PayPal buttons require browser APIs

@okta/okta React+React Server Components

Incompatible

Security component and useOktaAuth hook use React Context and browser APIs

Next Auth+React Server Components

Partial

SessionProvider uses React Context; useSession() hook requires client component

Mixpanel Browser+React Server Components

Incompatible

Browser SDK accesses localStorage, document.cookie, window

Lucia Auth+Edge Runtime

Partial

Database session validation in middleware difficult; most DB drivers don't work in Edge

Launchdarkly React Client Sdk+React Server Components

Incompatible

withLDProvider uses React Context; useFlags hooks require client component

@intercom/messenger Js Sdk+React Server Components

Incompatible

Intercom messenger requires window object; boot() accesses browser APIs

Firebase+React Server Components

Incompatible

Requires browser APIs (window, document, localStorage, IndexedDB)

Firebase Admin+Edge Runtime

Incompatible

Requires Node.js modules (fs, net, tls) for service account authentication and gRPC

@clerk/nextjs+React Server Components

Partial

ClerkProvider uses React Context; useAuth()/useUser() hooks require client-side

Braintree Web Drop In React+React Server Components

Incompatible

Drop-in UI requires browser DOM access; uses useRef, useEffect, window/document

Better Auth+Edge Runtime

Partial

getCookieCache() doesn't work in Edge; depends on Node APIs like process.platform

Authjs+Edge Runtime

Partial

Some providers require Node.js APIs; database adapters with TCP may not work

@auth0/nextjs Auth0+React Server Components

Partial

useUser() hook and UserProvider use React Context API

@apollo/client+React Server Components

Incompatible

ApolloProvider uses React Context; useQuery/useMutation hooks require client

@amplitude/analytics Browser+React Server Components

Incompatible

Browser SDK uses localStorage, sessionStorage, window APIs

Typeorm+Edge Runtime

Incompatible

Depends on Node.js net module for TCP sockets and reflect-metadata

Sequelize+Serverless

Partial

Connection pool race conditions with Lambda freeze/thaw cause ConnectionAcquireTimeoutError

Sequelize+Nextjs Middleware

Incompatible

Dynamic require() statements and Node.js runtime dependencies cause compilation errors

Sequelize+Edge Runtime

Incompatible

Requires TCP sockets via net module; large bundle size exceeds edge limits

Redis+Edge Runtime

Incompatible

TCP socket requirement incompatible with edge runtimes

Prisma+Vercel Edge

Partial

Native Rust query engine binary incompatible with V8 isolates; requires TCP sockets

Prisma+Serverless

Partial

Connection pool exhaustion; 200 concurrent functions creates 600+ connections

Prisma+Cloudflare Workers

Partial

Prisma doesn't support Cloudflare Workers V8 isolate runtime without adapters

Postgres+Edge Runtime

Partial

Supports Cloudflare Workers via TCP socket API but causes bundle errors with Vercel Edge

Pg+Serverless

Partial

Connection exhaustion from Lambda scaling; zombie connections when containers freeze

Pg+Edge Runtime

Incompatible

Requires net.Socket for TCP connections; TypeError in edge environments

Objection+Edge Runtime

Incompatible

Built entirely on Knex.js requiring TCP connections

Mysql2+Serverless

Partial

Connection exhaustion from Lambda scaling; traditional pooling breaks across invocations

Mysql2+Edge Runtime

Incompatible

Requires TCP sockets via net module; uses Node.js stream module

Mongoose+Serverless

Partial

Model loading and TCP connection management cause severe cold start delays

Mongoose+Edge Runtime

Incompatible

Built on mongodb driver which requires TCP sockets

MongoDB+Serverless

Partial

Lambda freeze/thaw causes zombie connections; 4-5 second wait without connection reuse

MongoDB+Edge Runtime

Incompatible

Uses TCP sockets for wire protocol; edge runtimes don't support raw TCP

Mikro Orm+Edge Runtime

Incompatible

Built on Knex requiring TCP; CommonJS prevents tree-shaking resulting in 4-5MB bundles

Kysely+Edge Runtime

Partial

Core query builder is edge-compatible; requires edge-compatible dialects

Knex+Edge Runtime

Partial

Depends on Node.js net module; imports unavailable modules (fs, path, stream)

Ioredis+Serverless

Partial

ETIMEDOUT errors after Lambda freeze/thaw; connections become stale

Ioredis+Edge Runtime

Incompatible

Requires TCP sockets which edge runtimes don't support

Drizzle Orm+Edge Runtime

Partial

Core ORM is edge-compatible (~7kb) but standard drivers use unavailable Node.js APIs

Better Sqlite3+Edge Runtime

Incompatible

Native C++ addon compiled for Node.js; requires filesystem access