prisma
Next-generation ORM for Node.js and TypeScript — auto-generated, type-safe query client with migrations, schema-first design, and multi-database support.
prisma
Node.jsNext-generation ORM for Node.js and TypeScript — auto-generated, type-safe query client with migrations, schema-first design, and multi-database support.
Fit
Install size includes transitive dependencies. Bundle size is gzipped browser payload.
Freshness
The Problem
Raw SQL is error-prone and doesn't provide TypeScript types. Traditional ORMs like Sequelize generate JS-only models and require verbose configuration. Writing migration files by hand is tedious and fragile.
What It Does
Prisma generates a fully type-safe client from your schema.prisma file. Every query result is typed to match your schema exactly. The CLI auto-generates and runs migrations, prisma studio provides a visual database browser, and the query engine runs in a separate Rust binary for maximum performance.
Installation
npm install prisma @prisma/client
npx prisma initUsage Example
// schema.prisma
// model User { id Int @id @default(autoincrement()); email String @unique; name String? }
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
async function main() {
const user = await prisma.user.create({
data: { email: 'alice@example.com', name: 'Alice' },
});
const users = await prisma.user.findMany({
where: { name: { not: null } },
orderBy: { email: 'asc' },
});
}Related packages
Role and attribute based access control (RBAC + ABAC) for Node.js with a fluent, readable API.
bcryptjsNode.jsPure JavaScript bcrypt password hashing — no native dependencies, same API as bcrypt, works anywhere Node.js runs.
bullmqNode.jsPremium message queue and job scheduler for Node.js backed by Redis — reliable background job processing with retries, priorities, and rate limiting.
casbinNode.jsA powerful authorization library that supports RBAC, ABAC, ACL and more via configurable policy models.
dotenvNode.jsLoad environment variables from a `.env` file into `process.env` — the standard way to manage configuration in Node.js apps.