JS-Stack CLI
CLI

Compatibility Guide

Compatibility matrix for frameworks, databases, ORMs, and authentication methods

Compatibility Guide

This guide helps you understand which technologies work together in JS-Stack CLI.

Database ↔ ORM Compatibility

MongoDB

  • Mongoose (only compatible ODM)
  • Prisma (with MongoDB adapter)
  • ❌ Drizzle (SQL only)
  • ❌ TypeORM (SQL only)
  • ❌ MikroORM (SQL only)

PostgreSQL / MySQL / SQLite

  • Drizzle (lightweight, type-safe)
  • Prisma (recommended)
  • TypeORM (JavaScript-first)
  • MikroORM (feature-rich)
  • ❌ Mongoose (MongoDB only)

Frontend ↔ Backend Compatibility

Full-Stack Frameworks

These frameworks include built-in API routes, so use --backend none:

  • Next.js - Use --frontend next --backend none
  • Nuxt - Use --frontend nuxt --backend none
  • SvelteKit - Use --frontend sveltekit --backend none
  • Remix - Use --frontend remix --backend none
  • TanStack Start - Use --frontend tanstack-start --backend none

Frontend-Only Frameworks

These require a separate backend:

  • React Router - Works with all backends
  • TanStack Router - Works with all backends
  • Vue - Works with all backends
  • Angular - Works with all backends
  • Svelte - Works with all backends
  • SolidJS - Works with all backends
  • Qwik - Works with all backends
  • Astro - Works with all backends

React Native

  • ✅ Requires a backend (cannot be "none")
  • ✅ Works with Express, Fastify, Hono, NestJS, Koa
  • ✅ Works with all authentication methods

Backend ↔ Runtime Compatibility

Node.js Runtime

  • ✅ All backends work
  • ✅ Express, Fastify, NestJS, Koa, Hono

Bun Runtime

  • ✅ Elysia (optimized for Bun)
  • ✅ Hono (works on Bun)
  • ✅ Express, Fastify (compatible)
  • ⚠️ NestJS (may have limitations)

Cloudflare Workers

  • ✅ Hono (optimized for Workers)
  • ✅ Express (with adapter)
  • ❌ NestJS (not compatible)
  • ❌ Koa (not compatible)

Deno Runtime

  • ✅ Hono (works on Deno)
  • ⚠️ Express (may require adapter)
  • ❌ NestJS (not compatible)

Backend ↔ Auth Compatibility

Express

  • ✅ All auth methods work
  • ✅ Better Auth, Clerk, NextAuth.js, Lucia, Kinde

Fastify

  • ✅ Better Auth, Clerk, Lucia, Kinde
  • ⚠️ NextAuth.js (may require adapter)

NestJS

  • ✅ All auth methods work
  • ✅ Better Auth, Clerk, NextAuth.js, Lucia, Kinde

Hono

  • ✅ Better Auth, Clerk, Lucia, Kinde
  • ⚠️ NextAuth.js (may require adapter)

Koa

  • ✅ Better Auth, Clerk, Lucia, Kinde
  • ⚠️ NextAuth.js (may require adapter)

Elysia

  • ✅ Better Auth, Clerk, Lucia, Kinde
  • ⚠️ NextAuth.js (may require adapter)

Frontend ↔ Auth Compatibility

Next.js

  • ✅ Better Auth (recommended)
  • ✅ NextAuth.js (native)
  • ✅ Clerk
  • ✅ Lucia
  • ✅ Kinde

Nuxt

  • ✅ Better Auth
  • ✅ Clerk
  • ✅ Lucia
  • ✅ Kinde
  • ⚠️ NextAuth.js (Next.js only)

React Router / TanStack Router

  • ✅ Better Auth
  • ✅ Clerk
  • ✅ Lucia
  • ✅ Kinde
  • ⚠️ NextAuth.js (Next.js only)

Vue / Angular / Svelte

  • ✅ Better Auth
  • ✅ Clerk
  • ✅ Lucia
  • ✅ Kinde
  • ⚠️ NextAuth.js (Next.js only)

API ↔ Backend Compatibility

tRPC

  • ✅ Express
  • ✅ Fastify
  • ✅ Hono
  • ✅ NestJS
  • ✅ Next.js API routes
  • ⚠️ Koa (may require adapter)

ORPC

  • ✅ Express
  • ✅ Fastify
  • ✅ Hono
  • ✅ NestJS
  • ✅ Next.js API routes

GraphQL

  • ✅ Express (with Apollo Server)
  • ✅ Fastify (with Mercurius)
  • ✅ NestJS (built-in support)
  • ✅ Hono (with adapter)

REST

  • ✅ All backends support REST

Runtime ↔ Database Compatibility

Node.js

  • ✅ All databases work
  • ✅ PostgreSQL, MySQL, SQLite, MongoDB

Bun

  • ✅ PostgreSQL, MySQL, SQLite
  • ✅ MongoDB (with native driver)
  • ⚠️ Some ORMs may have limitations

Cloudflare Workers

  • ✅ Turso (SQLite-compatible)
  • ✅ D1 (SQLite)
  • ⚠️ PostgreSQL/MySQL (require external connection)
  • ❌ MongoDB (not directly supported)

Deno

  • ✅ PostgreSQL, MySQL, SQLite
  • ✅ MongoDB (with native driver)

Production Full-Stack

  • Frontend: Next.js
  • Backend: none (Next.js API routes)
  • Database: PostgreSQL
  • ORM: Prisma
  • API: tRPC
  • Auth: Better Auth
  • Runtime: Node.js

High-Performance API

  • Frontend: none
  • Backend: Hono
  • Database: PostgreSQL
  • ORM: Drizzle
  • API: REST
  • Auth: Better Auth
  • Runtime: Cloudflare Workers

Enterprise Application

  • Frontend: React Router
  • Backend: NestJS
  • Database: PostgreSQL
  • ORM: TypeORM
  • API: tRPC
  • Auth: Clerk
  • Runtime: Node.js

Edge-Ready Application

  • Frontend: Next.js
  • Backend: none (Next.js API routes)
  • Database: Turso
  • ORM: Drizzle
  • API: tRPC
  • Auth: Better Auth
  • Runtime: Cloudflare Workers

Rapid Prototyping

  • Frontend: React Router
  • Backend: Express
  • Database: SQLite
  • ORM: Prisma
  • API: REST
  • Auth: none
  • Runtime: Bun