Open-Source Wikis

/

Prisma

/

Reference

/

Dependencies

prisma/prisma

Dependencies

Runtime and development dependencies of prisma/prisma. Sourced from the root package.json and per-package manifests.

Engines / runtime requirements

From the root package.json:

{
  "engines": {
    "node": "^20.19 || ^22.12 || >=24.0",
    "pnpm": ">=10.15 <11"
  },
  "packageManager": "pnpm@10.15.1"
}

The preinstall hook (scripts/only-allow-pnpm.js) hard-fails npm or yarn invocations.

Major dev tooling versions

  • TypeScript 5.4.5
  • esbuild 0.25.5
  • Turborepo 2.5.6
  • Prettier 3.6.2 (and prettier2 as prettier@2.8.8 for tools that need v2 output)
  • Jest 29.x (via @types/jest 29.5.14)
  • Vitest 4.0.18
  • ESLint 9.22.0 (with @typescript-eslint/* 7.x)
  • Husky 9.1.7

Notable build/run dependencies

  • @octokit/rest, @octokit/graphql — release tooling
  • @slack/webhook — release notifications
  • @microsoft/api-extractor — type extraction for published packages
  • @size-limit/file, size-limit — bundle size enforcement
  • tsx 4.19.3 — TypeScript script runner used by bin.ts and many scripts
  • zx 8.4.1 — shell scripting
  • wrangler 3.114.15 — Cloudflare Workers tooling for D1 adapter
  • chokidar — file watching for pnpm watch

pnpm overrides

The root package.json pins specific versions for security or compatibility:

{
  "pnpm": {
    "overrides": {
      "form-data": ">=4.0.4",
      "hono": ">=4.12.14",
      "@hono/node-server": ">=1.19.13",
      "jws": ">=4.0.1",
      "tar-fs": ">=2.1.4",
      "lodash": ">=4.17.23",
      "@tootallnate/once": ">=3.0.1",
      "ajv@^8.0.0": ">=8.18.0",
      "@azure/core-rest-pipeline@^1.0.0": ">=1.14.0",
      "@azure/msal-node>uuid": ">=14.0.0"
    }
  }
}

These are typically driven by Dependabot/Renovate proposing security upgrades that need to apply transitively.

Workspace dependencies

Internal workspace deps use "workspace:*" so changes propagate immediately. Per AGENTS.md for new packages:

Add as dependency to consuming packages using "workspace:*" version.

Adapter underlying drivers

Each adapter package depends on its underlying driver as a peerDependency (so users supply their own version):

  • @prisma/adapter-pgpg
  • @prisma/adapter-neon@neondatabase/serverless
  • @prisma/adapter-libsql@libsql/client
  • @prisma/adapter-better-sqlite3better-sqlite3
  • @prisma/adapter-d1@cloudflare/workers-types
  • @prisma/adapter-planetscale@planetscale/database
  • @prisma/adapter-mariadbmariadb
  • @prisma/adapter-mssqlmssql
  • @prisma/adapter-ppg → bundled (HTTP)

packages/bundled-js-drivers re-exports specific bundled versions used inside Prisma's own bundles, decoupled from the user's installed driver versions.

Engine version

  • @prisma/engines-version — pinned (single line update by update-engines-version.yml)
  • @prisma/prisma-schema-wasm — Wasm PSL parser
  • @prisma/query-compiler-wasm — Wasm query compiler

These are external artifacts produced by prisma-engines. The CLI's postinstall (via @prisma/engines) downloads the matching schema-engine binary.

CI dependencies

The CI workflows pin their own versions via the actions//uses directives. Notable:

  • actions/checkout@v4
  • pnpm/action-setup
  • actions/setup-node
  • CodSpeed action for benchmarks

Build system

Packages compile via esbuild with helpers/compile/build.ts orchestrating each. The shared bundledConfig in helpers/compile/configs.ts uses:

  • esbuild bundles for CJS and ESM
  • An in-process tsc invocation for .d.ts emission (plugin in helpers/compile/plugins/tsc/)
  • Source maps for both outputs

See also

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Dependencies – Prisma wiki | Factory