Skip to content

Conversation

nikolasburk
Copy link
Member

@nikolasburk nikolasburk commented Oct 1, 2025

Summary by CodeRabbit

  • Chores

    • Upgraded Prisma and framework dependencies across multiple projects; added Prisma Accelerate where applicable.
  • Refactor

    • Switched Prisma client generator and relocated generated client outputs; imports updated to use the generated client.
  • Documentation

    • Expanded setup guides and READMEs; added/updated env.example templates and seed guidance.
  • Configuration

    • Nuxt config updated (compatibilityDate, devtools) and TypeScript config references adjusted.

Copy link

coderabbitai bot commented Oct 1, 2025

Walkthrough

Prisma generator blocks were changed to provider "prisma-client" with engineType = "client" and new output locations; many apps now import the locally generated client instead of @prisma/client. Multiple package.json files bump Prisma-related versions and adjust scripts/dependencies. No functional control-flow changes beyond import/resolution and client extension ordering.

Changes

Cohort / File(s) Summary of changes
Prisma generator configs
orm/react-router-7/prisma/schema.prisma, orm/solid-start/prisma/schema.prisma, orm/nextjs/prisma/schema.prisma, orm/betterauth-nextjs/prisma/schema.prisma, orm/nuxt-prisma-module/prisma/schema.prisma, orm/nuxt/prisma/schema.prisma
Generator provider updated prisma-client-jsprisma-client; added engineType = "client" and output set to each repo’s generated client directory (e.g., ../app/generated/prisma, ../src/generated/prisma, ./generated/prisma).
Imports switched to generated client
orm/react-router-7/app/lib/prisma.ts, orm/solid-start/lib/prisma.ts, orm/nextjs/lib/prisma.ts, orm/betterauth-nextjs/src/lib/prisma.ts, orm/nuxt/prisma/db.ts, orm/nuxt-prisma-module/lib/prisma.ts, .../prisma/seed.ts (multiple)
Replaced imports from @prisma/client (or prior generated entry points) with local generated client paths like .../generated/prisma/client; retained existing client initialization and $extends usage.
Package metadata: deps & scripts
orm/react-router-7/package.json, orm/solid-start/package.json, orm/nextjs/package.json, orm/betterauth-nextjs/package.json, orm/nuxt-prisma-module/package.json, orm/nuxt/package.json
Bumped @prisma/client/prisma versions (e.g., to 6.16.3), moved prisma to devDependencies in places, added/updated @prisma/extension-accelerate, and adjusted scripts (seed now uses tsx prisma/seed.ts, removed/changed some test/lint scripts).
Nuxt config, tsconfig & tooling
orm/nuxt-prisma-module/nuxt.config.ts, orm/nuxt/nuxt.config.ts, orm/nuxt-prisma-module/tsconfig.json, orm/nuxt/tsconfig.json, orm/nuxt/eslint.config.mjs
Nuxt config shapes changed (added compatibilityDate, devtools, modules), tsconfigs no longer extend the generated Nuxt tsconfig and use explicit files/references, added ESLint wrapper module.
Seeding changes
orm/nuxt-prisma-module/prisma/seed.ts, orm/nuxt/prisma/seed.ts, other seed files
Seed files switched to ES module imports and/or local lib/prisma usage; nuxt-prisma-module seed converted to idempotent upsert and logging adjusted.
Docs & env examples
orm/nuxt-prisma-module/README.md, orm/nuxt/README.md, orm/betterauth-nextjs/.env.example, orm/nuxt-prisma-module/.env.example, orm/nuxt/.env.example
README instructions updated for new generation/seed flow and Prisma Accelerate guidance; added/updated .env.example files (added DATABASE_URL, changed placeholders).

Sequence Diagram(s)

mermaid
sequenceDiagram
participant Dev as Developer
participant PrismaGen as Prisma Generator
participant Generated as Generated Client (filesystem)
participant App as Application code
participant Accelerate as @prisma/extension-accelerate

note over Dev,PrismaGen: Developer runs prisma generate
Dev->>PrismaGen: npx prisma generate (uses provider="prisma-client", engineType="client", output=...)
PrismaGen-->>Generated: Emit client to specified output path

note over App,Generated: App imports generated client instead of @prisma/client
App->>Generated: import { PrismaClient } from './generated/prisma/client'
App->>Accelerate: import withAccelerate from '@prisma/extension-accelerate'
App->>Generated: new PrismaClient().$extends(withAccelerate()).$extends({...})
Generated-->>App: prisma instance (extended)

note over App: Application uses extended prisma as before

Possibly related PRs

Suggested reviewers

  • nurul3101
  • mhessdev
  • ankur-arch

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title accurately summarizes the primary change by indicating that all fullstack example directories under /orm are being updated for Prisma v7, directly reflecting the pull request’s objectives. It is concise, clear, and specific without extraneous details. A teammate scanning the history would immediately understand the main purpose of the changes.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/fullstack-v7

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b2689bb and 6f56175.

⛔ Files ignored due to path filters (9)
  • orm/react-router-7/app/generated/prisma/browser.ts is excluded by !**/generated/**
  • orm/react-router-7/app/generated/prisma/client.ts is excluded by !**/generated/**
  • orm/react-router-7/app/generated/prisma/commonInputTypes.ts is excluded by !**/generated/**
  • orm/react-router-7/app/generated/prisma/enums.ts is excluded by !**/generated/**
  • orm/react-router-7/app/generated/prisma/internal/class.ts is excluded by !**/generated/**
  • orm/react-router-7/app/generated/prisma/internal/prismaNamespace.ts is excluded by !**/generated/**
  • orm/react-router-7/app/generated/prisma/internal/prismaNamespaceBrowser.ts is excluded by !**/generated/**
  • orm/react-router-7/app/generated/prisma/models.ts is excluded by !**/generated/**
  • orm/react-router-7/app/generated/prisma/models/Todo.ts is excluded by !**/generated/**
📒 Files selected for processing (3)
  • orm/react-router-7/app/lib/prisma.ts (1 hunks)
  • orm/react-router-7/package.json (1 hunks)
  • orm/react-router-7/prisma/schema.prisma (1 hunks)
🔇 Additional comments (1)
orm/react-router-7/prisma/schema.prisma (1)

7-11: Approve Prisma v7 generator configuration. Generator block correctly uses provider "prisma-client", specifies the required custom output path, and includes engineType = "client" for JS-only usage; build configs require no updates. (prisma.io)

@@ -1,4 +1,4 @@
import { PrismaClient } from '@prisma/client'
import { PrismaClient } from '../generated/prisma/client'
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Import path correctly updated for custom client generation.

The import path correctly references the new generated client location specified in the schema.prisma file.

Verify that app/generated/ is included in .gitignore to prevent committing generated files:


🏁 Script executed:

#!/bin/bash
# Description: Check if the generated directory is properly gitignored

# Check .gitignore for generated directory patterns
if [ -f .gitignore ]; then
  rg -n "generated|app/generated" .gitignore
else
  echo ".gitignore file not found"
fi

# Also check for any existing generated files that might be tracked
git ls-files | rg "app/generated"

Length of output: 535


Ignore generated Prisma client files

.gitignore currently ignores generated/prisma/ (line 7) but your generated client lives at orm/react-router-7/app/generated/prisma/. Add a pattern such as:

# Ignore Prisma client
**/app/generated/prisma/

to .gitignore, then run:

git rm --cached -r orm/react-router-7/app/generated/prisma/

to untrack the existing files.

🤖 Prompt for AI Agents
In orm/react-router-7/app/lib/prisma.ts around lines 1 to 1, the generated
Prisma client under orm/react-router-7/app/generated/prisma/ is not being
ignored by .gitignore; add a pattern like **/app/generated/prisma/ to the
repository .gitignore (or the appropriate repo root .gitignore) and then run git
rm --cached -r orm/react-router-7/app/generated/prisma/ to untrack the files,
commit the updated .gitignore and the removal of the tracked generated files so
future generated clients remain untracked.

},
"dependencies": {
"@prisma/client": "6.9.0",
"@prisma/client": "6.16.3",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Dependency placement is correct, but verify Prisma version alignment.

The dependencies are correctly structured:

  • @prisma/client in dependencies for runtime usage
  • prisma CLI in devDependencies for development/build tasks
  • Both versions are aligned at 6.16.3

The PR title mentions updating for "v7", but the package versions are 6.16.3. Please verify this is the intended version:

Also applies to: 22-22


🌐 Web query:

What is Prisma v7 and what version number does it use?

💡 Result:

Prisma v7 refers to the next major release of the Prisma ORM — i.e., Prisma with major version number 7. It uses semantic versioning, so versions for Prisma v7 will appear as 7.x.y (for example 7.0.0 for the v7 GA). [1][2]

Sources:
[1] Prisma releases (GitHub).
[2] Prisma docs — ORM releases & versioning.


Prisma version mismatch: update to v7
Both @prisma/client (dependencies, line 12) and prisma (devDependencies, line 22) are still at 6.16.3, but the PR targets Prisma v7. Bump both to a 7.x.y release (e.g., 7.0.0) to align package versions with the intended major upgrade.

🤖 Prompt for AI Agents
In orm/react-router-7/package.json around line 12 (and also update
devDependencies at line 22), the project still references @prisma/client and
prisma at 6.16.3 while the PR targets Prisma v7; update both entries to a 7.x.y
release (e.g., "7.0.0") so dependency and devDependency versions match the
intended major upgrade, run npm install (or yarn) to refresh lockfile, and
verify no breaking-change adjustments are needed in code or schema after
upgrading.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ce4d6f6 and cef2285.

⛔ Files ignored due to path filters (10)
  • orm/nextjs/app/generated/prisma/browser.ts is excluded by !**/generated/**
  • orm/nextjs/app/generated/prisma/client.ts is excluded by !**/generated/**
  • orm/nextjs/app/generated/prisma/commonInputTypes.ts is excluded by !**/generated/**
  • orm/nextjs/app/generated/prisma/enums.ts is excluded by !**/generated/**
  • orm/nextjs/app/generated/prisma/internal/class.ts is excluded by !**/generated/**
  • orm/nextjs/app/generated/prisma/internal/prismaNamespace.ts is excluded by !**/generated/**
  • orm/nextjs/app/generated/prisma/internal/prismaNamespaceBrowser.ts is excluded by !**/generated/**
  • orm/nextjs/app/generated/prisma/models.ts is excluded by !**/generated/**
  • orm/nextjs/app/generated/prisma/models/Post.ts is excluded by !**/generated/**
  • orm/nextjs/app/generated/prisma/models/User.ts is excluded by !**/generated/**
📒 Files selected for processing (4)
  • orm/nextjs/lib/prisma.ts (1 hunks)
  • orm/nextjs/package.json (2 hunks)
  • orm/nextjs/prisma/schema.prisma (1 hunks)
  • orm/nextjs/prisma/seed.ts (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: FGoessler
PR: prisma/prisma-examples#8260
File: generator-prisma-client/nextjs-starter-webpack-turborepo/packages/database/package.json:13-13
Timestamp: 2025-08-22T12:12:24.602Z
Learning: When analyzing changes from package.json seed scripts to "prisma db seed", always verify the actual content of prisma.config.ts rather than relying solely on regex patterns, as the configuration may be properly defined but in a format that doesn't match overly restrictive search patterns.
📚 Learning: 2025-08-22T12:12:24.602Z
Learnt from: FGoessler
PR: prisma/prisma-examples#8260
File: generator-prisma-client/nextjs-starter-webpack-turborepo/packages/database/package.json:13-13
Timestamp: 2025-08-22T12:12:24.602Z
Learning: When analyzing changes from package.json seed scripts to "prisma db seed", always verify the actual content of prisma.config.ts rather than relying solely on regex patterns, as the configuration may be properly defined but in a format that doesn't match overly restrictive search patterns.

Applied to files:

  • orm/nextjs/prisma/seed.ts
  • orm/nextjs/package.json
🔇 Additional comments (5)
orm/nextjs/prisma/seed.ts (1)

1-1: LGTM! Import path correctly updated.

The import path change aligns with the new generator output configuration in schema.prisma (line 11: output = "../app/generated/prisma").

orm/nextjs/lib/prisma.ts (1)

1-1: LGTM! Import path correctly updated.

The import path change is consistent with the generator output configuration and other files in this PR.

orm/nextjs/package.json (2)

17-17: LGTM! Extension correctly moved to runtime dependencies.

Moving @prisma/extension-accelerate from devDependencies to dependencies is correct since it's used at runtime in both lib/prisma.ts and prisma/seed.ts.


32-34: No modifications needed; the existing postinstall script ensures prisma generate runs before seeding.

orm/nextjs/prisma/schema.prisma (1)

8-12: Configuration valid for Prisma v7
This generator block uses the correct v7 syntax—provider="prisma-client", explicit output path, and engineType="client". Ensure you install the matching JS driver adapter (e.g. @prisma/adapter-pg) when using the "client" engine.

},
"dependencies": {
"@prisma/client": "6.9.0",
"@prisma/client": "6.16.3",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Verify @prisma/client version is appropriate for v7 migration.

The version has been bumped to 6.16.3, but this PR is labeled as updating examples for v7. Please confirm whether this is the intended version or if it should be a v7 version (e.g., 7.x.x).


🌐 Web query:

Prisma client version 6.16.3 vs Prisma v7

💡 Result:

Short comparison — key differences and upgrade notes

Summary

  • Prisma v6.16.3 is a late v6 release with the new prisma-client generator available in preview/early-access and several deprecations/removals (e.g., middleware removed, preview features deprecated). [1][2]
  • Prisma v7 (upcoming/major) standardizes those changes: the new "prisma-client" generator becomes the default (ESM-friendly, split output, required output path), Query Compiler/removal of Rust engines progress, different codegen (ESM, multi-file, no package.json), removal of some preview features (.env auto-load removed, metrics and postgresExtensions deprecated), and stricter/changed defaults that can be breaking. [1][3]

Most important concrete differences

  • Generator: v6 introduced the new prisma-client generator (preview); v7 makes it the default and requires an explicit output path and ESM-compatible generation. [1][4]
  • Codegen output: v6 began splitting generated files to improve editor performance; v7 will split output into multiple files, be ESM-compatible, and no longer generate a package.json for the client. [4][3]
  • Engines/Query Compiler: v7 continues the move toward the Query Compiler (client without Rust engines / smaller output). [1][3]
  • Preview features: several preview/early-access features in v6 are deprecated/removed by v7 (metrics, postgresExtensions; .env auto-loading removed). [3][1]
  • Middleware: prisma.$use (legacy middleware) was removed in v6 (deprecated earlier); use Prisma Client extensions instead — this is final across v6+ and v7. [3]
  • Node.js support / minimums: v6 raised minimum supported Node versions; check upgrade docs for exact requirements before moving to v7. [2]

Upgrade guidance (practical)

  • Read the v6→v7 release notes and upgrade guide and upgrade both prisma and @prisma/client together. Test in a branch; expect breaking changes requiring schema or code updates (generator config, output path, ESM vs CJS, removal of middleware API, preview feature changes). [2][1]
  • If you rely on automatic .env loading, middleware, or deprecated preview features, plan code changes before upgrading. [3]
  • Use the official upgrade guides and codemods where available; pin exact versions in package.json to avoid accidental minor bumps. [2]

References
[1] Prisma changelog / releases (notes about prisma-client generator, Query Compiler, preview features).
[2] Prisma docs — Upgrading versions / Upgrade to Prisma 6 (breaking changes & guidance).
[3] Prisma roadmap & GitHub issues (Prisma 7 planned codegen and preview feature removals).
[4] Prisma releases (6.6/6.7 notes on new prisma-client generator and split output).

Would you like links to the specific release notes and upgrade guide for step‑by‑step changes and codemods?


Bump Prisma dependencies to v7 Update both "@prisma/client" and "prisma" in package.json to matching 7.x versions (for example "^7.0.0") so the example aligns with the Prisma v7 migration and its breaking changes.

🤖 Prompt for AI Agents
In orm/nextjs/package.json around line 13, the project pins "@prisma/client" to
6.x; update both "@prisma/client" and "prisma" entries in package.json to
matching 7.x versions (for example "^7.0.0") so they align with Prisma v7; after
updating the version strings, run your package manager to install and update the
lockfile (npm/yarn/pnpm), and regenerate the Prisma client (e.g., npx prisma
generate) to ensure the codebase uses the new v7 client.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
orm/nuxt/prisma/db.ts (1)

3-6: Add required Prisma Accelerate settings

  • In orm/nuxt/prisma/schema.prisma, update your datasource block:
    datasource db {
      provider  = "<your_provider>"
      url       = env("DATABASE_URL")
      directUrl = env("DIRECT_URL") // needed for migrations with Accelerate
    }
  • Update your environment (or .env.example) so DATABASE_URL is a prisma://… Accelerate URL and DIRECT_URL points to your primary database connection string.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cef2285 and accb59d.

⛔ Files ignored due to path filters (20)
  • orm/nuxt-prisma-module/prisma/generated/prisma/browser.ts is excluded by !**/generated/**
  • orm/nuxt-prisma-module/prisma/generated/prisma/client.ts is excluded by !**/generated/**
  • orm/nuxt-prisma-module/prisma/generated/prisma/commonInputTypes.ts is excluded by !**/generated/**
  • orm/nuxt-prisma-module/prisma/generated/prisma/enums.ts is excluded by !**/generated/**
  • orm/nuxt-prisma-module/prisma/generated/prisma/internal/class.ts is excluded by !**/generated/**
  • orm/nuxt-prisma-module/prisma/generated/prisma/internal/prismaNamespace.ts is excluded by !**/generated/**
  • orm/nuxt-prisma-module/prisma/generated/prisma/internal/prismaNamespaceBrowser.ts is excluded by !**/generated/**
  • orm/nuxt-prisma-module/prisma/generated/prisma/models.ts is excluded by !**/generated/**
  • orm/nuxt-prisma-module/prisma/generated/prisma/models/Post.ts is excluded by !**/generated/**
  • orm/nuxt-prisma-module/prisma/generated/prisma/models/User.ts is excluded by !**/generated/**
  • orm/nuxt/prisma/generated/prisma/browser.ts is excluded by !**/generated/**
  • orm/nuxt/prisma/generated/prisma/client.ts is excluded by !**/generated/**
  • orm/nuxt/prisma/generated/prisma/commonInputTypes.ts is excluded by !**/generated/**
  • orm/nuxt/prisma/generated/prisma/enums.ts is excluded by !**/generated/**
  • orm/nuxt/prisma/generated/prisma/internal/class.ts is excluded by !**/generated/**
  • orm/nuxt/prisma/generated/prisma/internal/prismaNamespace.ts is excluded by !**/generated/**
  • orm/nuxt/prisma/generated/prisma/internal/prismaNamespaceBrowser.ts is excluded by !**/generated/**
  • orm/nuxt/prisma/generated/prisma/models.ts is excluded by !**/generated/**
  • orm/nuxt/prisma/generated/prisma/models/Post.ts is excluded by !**/generated/**
  • orm/nuxt/prisma/generated/prisma/models/User.ts is excluded by !**/generated/**
📒 Files selected for processing (22)
  • orm/betterauth-nextjs/.env.example (1 hunks)
  • orm/betterauth-nextjs/package.json (1 hunks)
  • orm/betterauth-nextjs/prisma/schema.prisma (1 hunks)
  • orm/betterauth-nextjs/src/lib/prisma.ts (1 hunks)
  • orm/nuxt-prisma-module/.env.example (1 hunks)
  • orm/nuxt-prisma-module/README.md (1 hunks)
  • orm/nuxt-prisma-module/lib/prisma.ts (1 hunks)
  • orm/nuxt-prisma-module/nuxt.config.ts (1 hunks)
  • orm/nuxt-prisma-module/package.json (1 hunks)
  • orm/nuxt-prisma-module/prisma/schema.prisma (1 hunks)
  • orm/nuxt-prisma-module/prisma/seed.ts (2 hunks)
  • orm/nuxt-prisma-module/server/api/user-exists.ts (1 hunks)
  • orm/nuxt-prisma-module/tsconfig.json (1 hunks)
  • orm/nuxt/.env.example (1 hunks)
  • orm/nuxt/README.md (4 hunks)
  • orm/nuxt/eslint.config.mjs (1 hunks)
  • orm/nuxt/nuxt.config.ts (1 hunks)
  • orm/nuxt/package.json (1 hunks)
  • orm/nuxt/prisma/db.ts (1 hunks)
  • orm/nuxt/prisma/schema.prisma (1 hunks)
  • orm/nuxt/prisma/seed.ts (1 hunks)
  • orm/nuxt/tsconfig.json (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: FGoessler
PR: prisma/prisma-examples#8260
File: generator-prisma-client/nextjs-starter-webpack-turborepo/packages/database/package.json:13-13
Timestamp: 2025-08-22T12:12:24.602Z
Learning: When analyzing changes from package.json seed scripts to "prisma db seed", always verify the actual content of prisma.config.ts rather than relying solely on regex patterns, as the configuration may be properly defined but in a format that doesn't match overly restrictive search patterns.
📚 Learning: 2025-08-22T12:12:24.602Z
Learnt from: FGoessler
PR: prisma/prisma-examples#8260
File: generator-prisma-client/nextjs-starter-webpack-turborepo/packages/database/package.json:13-13
Timestamp: 2025-08-22T12:12:24.602Z
Learning: When analyzing changes from package.json seed scripts to "prisma db seed", always verify the actual content of prisma.config.ts rather than relying solely on regex patterns, as the configuration may be properly defined but in a format that doesn't match overly restrictive search patterns.

Applied to files:

  • orm/nuxt/package.json
  • orm/nuxt-prisma-module/prisma/seed.ts
📚 Learning: 2025-08-22T12:12:43.161Z
Learnt from: FGoessler
PR: prisma/prisma-examples#8260
File: generator-prisma-client/nextjs-starter-turbopack/components/quotes.tsx:1-1
Timestamp: 2025-08-22T12:12:43.161Z
Learning: In Next.js applications using Prisma, the connection() function from 'next/server' serves a different purpose than 'export const dynamic = force-dynamic'. The connection() function ensures proper database connection context and request isolation, while dynamic = 'force-dynamic' only controls rendering strategy. Both should be used together and are not redundant.

Applied to files:

  • orm/nuxt/prisma/db.ts
🧬 Code graph analysis (1)
orm/nuxt-prisma-module/lib/prisma.ts (2)
orm/nuxt-prisma-module/prisma/generated/prisma/client.ts (2)
  • PrismaClient (37-37)
  • PrismaClient (38-38)
orm/nuxt-prisma-module/prisma/generated/prisma/internal/class.ts (1)
  • PrismaClient (130-237)
🪛 dotenv-linter (3.3.0)
orm/nuxt-prisma-module/.env.example

[warning] 1-1: [EndingBlankLine] No blank line at the end of the file

(EndingBlankLine)

orm/nuxt/.env.example

[warning] 1-1: [EndingBlankLine] No blank line at the end of the file

(EndingBlankLine)

orm/betterauth-nextjs/.env.example

[warning] 2-2: [UnorderedKey] The BETTER_AUTH_SECRET key should go before the DATABASE_URL key

(UnorderedKey)

🪛 markdownlint-cli2 (0.18.1)
orm/nuxt/README.md

150-150: Images should have alternate text (alt text)

(MD045, no-alt-text)


154-154: Images should have alternate text (alt text)

(MD045, no-alt-text)


158-158: Images should have alternate text (alt text)

(MD045, no-alt-text)


162-162: Images should have alternate text (alt text)

(MD045, no-alt-text)

🔇 Additional comments (29)
orm/betterauth-nextjs/.env.example (1)

1-2: LGTM! DATABASE_URL and BETTER_AUTH_SECRET placeholders added correctly.

The addition of DATABASE_URL= aligns with the Prisma client migration across the PR, and the BETTER_AUTH_SECRET=change-me placeholder is a clear reminder for developers to set a secure value.

orm/nuxt-prisma-module/.env.example (1)

1-1: LGTM! DATABASE_URL placeholder added.

The DATABASE_URL= placeholder is consistent with Prisma configuration requirements and aligns with similar changes across the PR.

orm/nuxt/prisma/db.ts (1)

2-2: LGTM! Import path updated to generated client.

The import path ../prisma/generated/prisma/client correctly references the generated Prisma client based on the output configuration in orm/nuxt/prisma/schema.prisma.

orm/nuxt/.env.example (1)

1-1: LGTM! DATABASE_URL placeholder added.

The DATABASE_URL= placeholder is consistent with Prisma configuration requirements and aligns with similar changes across the PR.

orm/nuxt/prisma/seed.ts (1)

1-4: LGTM! Import path and Accelerate extension updated correctly.

The import path ../prisma/generated/prisma/client correctly references the generated Prisma client, and the addition of withAccelerate() aligns with the changes in orm/nuxt/prisma/db.ts.

orm/nuxt-prisma-module/tsconfig.json (1)

3-17: LGTM! TypeScript configuration updated to use project references.

The change from extends to explicit references aligns with modern Nuxt 3 TypeScript configuration patterns and enables better composite project support. Ensure nuxt prepare (or nuxt build) is run before TypeScript type checking to generate the referenced .nuxt/tsconfig.*.json files.

orm/nuxt/prisma/schema.prisma (1)

4-4: Import path consistency verified. Both db.ts and seed.ts import from ../prisma/generated/prisma/client, matching the schema’s output = "./generated/prisma".

orm/nuxt-prisma-module/nuxt.config.ts (2)

5-5: Confirm default autoSetupPrisma behavior
Empty prisma: {} relies on the module’s default autoSetupPrisma (true). Validate via the @prisma/nuxt config docs (https://pris.ly/configure-prisma-nuxt) or by running the module’s setup tests to ensure the Prisma client is still auto-generated.


7-7: Confirm compatibilityDate: The compatibilityDate (ISO YYYY-MM-DD) pins Nuxt’s presets and is set to 2025-07-15 (past relative to Oct 2025); verify this specific date is intentional and update if you need newer behavior.

orm/nuxt-prisma-module/lib/prisma.ts (2)

1-2: LGTM! Import paths updated correctly.

The imports now reference the locally generated Prisma client at ../prisma/generated/prisma/client and add the Accelerate extension, aligning with the Prisma v7 migration strategy across the PR.


7-7: LGTM! Accelerate extension properly chained.

The withAccelerate() extension is correctly applied before the custom extension. Extension order matters—Accelerate must be applied first to ensure the custom exists method operates within the accelerated context.

orm/nuxt-prisma-module/server/api/user-exists.ts (1)

1-1: LGTM! Import path updated to explicit relative path.

Replacing the tilde import (~/lib/prisma) with an explicit relative path (../../lib/prisma) improves portability and clarity. The path is correct for the server/api/ directory structure.

orm/nuxt-prisma-module/README.md (2)

24-58: LGTM! Documentation updated for Prisma Postgres setup.

The updated setup flow clearly guides users through:

  • Installing dependencies
  • Initializing Prisma Postgres with --db flag
  • Configuring environment variables
  • Running migrations and seeding
  • Starting the development server

The instructions align with the Prisma v7 migration and Accelerate extension usage demonstrated in the code changes.


68-78: LGTM! Accelerate extension usage documented.

The documentation correctly shows how to extend PrismaClient with Accelerate, which matches the implementation in lib/prisma.ts. This helps users understand the Prisma Postgres integration requirement.

orm/nuxt/eslint.config.mjs (1)

1-6: LGTM! Standard Nuxt ESLint configuration.

This follows the standard pattern for Nuxt 4 ESLint configuration, wrapping the auto-generated config from .nuxt/eslint.config.mjs with a placeholder for custom rules. The configuration will be functional after running nuxt prepare or npm run postinstall.

orm/nuxt/nuxt.config.ts (2)

2-2: Verify the compatibility date.

The compatibilityDate is set to '2025-07-15', but that date is in the past relative to the current month (October 2025). Verify this is intentional. Compatibility dates typically reference dates when breaking changes were introduced, not future dates.

If this was intended to be 2024-07-15, apply this diff:

-  compatibilityDate: '2025-07-15',
+  compatibilityDate: '2024-07-15',

3-4: LGTM! Devtools and ESLint module enabled.

Enabling devtools and adding the @nuxt/eslint module aligns with Nuxt 4 best practices and the new eslint.config.mjs file introduced in this PR.

orm/nuxt/package.json (3)

13-19: LGTM! Dependencies updated for Prisma v7 migration.

All Prisma-related dependencies are correctly aligned at version 6.16.3, and the Accelerate extension (2.0.2) is added. Nuxt 4 (4.1.2) and Vue ecosystem updates (3.5.22, router 4.5.1) are current and compatible.


22-24: LGTM! Dev dependencies updated.

The addition of tsx (4.20.6) supports the TypeScript seed script, and Prisma dev dependency is aligned at 6.16.3.


26-28: Seed script configuration is correct.
orm/nuxt/prisma/seed.ts exists with valid PrismaClient setup and seeding logic, and prisma.seed in package.json correctly points to "tsx prisma/seed.ts".

orm/betterauth-nextjs/src/lib/prisma.ts (1)

1-1: LGTM! Import path updated for generated client location.

The import path now includes the /client suffix (@/generated/prisma/client), aligning with the Prisma v7 generator configuration changes where output is set to ./generated/prisma and the client is exported from the /client subpath.

orm/nuxt/tsconfig.json (1)

4-16: Critical: TypeScript reference paths point to wrong directory.

The references array points to ./.nuxt/tsconfig.*.json files, but these paths would resolve to orm/nuxt/.nuxt/. However, based on the AI summary noting these are "references to four generated Nuxt tsconfig files" in orm/nuxt-prisma-module/.nuxt/, this appears to be a copy-paste error from the orm/nuxt-prisma-module/tsconfig.json file.

Verify the correct paths. If this is the orm/nuxt/ project, the references should point to its own .nuxt directory:

   "references": [
     {
       "path": "./.nuxt/tsconfig.app.json"
     },
     {
       "path": "./.nuxt/tsconfig.server.json"
     },
     {
       "path": "./.nuxt/tsconfig.shared.json"
     },
     {
       "path": "./.nuxt/tsconfig.node.json"
     }
   ]

If these files don't exist in orm/nuxt/.nuxt/ after running nuxt prepare, this indicates a configuration problem that must be resolved.

Likely an incorrect or invalid review comment.

orm/nuxt-prisma-module/prisma/seed.ts (2)

52-56: LGTM! Idempotent seed implementation.

The switch to upsert with where: { email: u.email } ensures the seed script can be run multiple times without creating duplicate users. This is a best practice for seed scripts.


1-1: No changes needed for Prisma client import path.
The lib/prisma.ts file re-exports from ../prisma/generated/prisma/client, matching the output = "./generated/prisma" setting in schema.prisma.

orm/nuxt/README.md (1)

118-122: LGTM! Documentation correctly reflects the new client generation step.

The addition of the npx prisma generate step is essential for the Rust-free client architecture introduced in this PR. This ensures users generate the local client before running migrations or seeds.

orm/nuxt-prisma-module/package.json (2)

27-27: LGTM! Seed script migration to TypeScript with tsx.

The seed script update from Node.js to tsx prisma/seed.ts aligns with the TypeScript migration and modern tooling practices. This is consistent with the broader v7 migration pattern across the examples.

Based on learnings: When analyzing seed script changes, the actual seed file content should be verified (which we did in the seed.ts review) rather than relying solely on package.json patterns.


15-16: Prisma dependency compatibility confirmed

@prisma/client@6.16.3, prisma@6.16.3, and @prisma/extension-accelerate@2.0.2 are fully compatible and support engineType = "client" (GA since v6.16.0).

orm/nuxt-prisma-module/prisma/schema.prisma (1)

4-8: No action required: generator output path matches imports The lib/prisma file re-exports from ../prisma/generated/prisma/client, and seed.ts correctly imports from ../lib/prisma, so paths align as expected.

orm/betterauth-nextjs/prisma/schema.prisma (1)

7-11: All Prisma imports updated
No remaining @prisma/client imports in orm/betterauth-nextjs; all references now use @/generated/prisma/client.

Comment on lines +2 to +4
provider = "prisma-client"
engineType = "client"
output = "./generated/prisma"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

❓ Verification inconclusive

Verify driver adapter installation for Rust-free client.

The migration to provider = "prisma-client" with engineType = "client" enables the Rust-free client architecture, which requires a database driver adapter (e.g., @prisma/adapter-pg for PostgreSQL). Ensure the appropriate adapter is installed and configured in the consuming code.

Based on learnings.

Run the following script to verify the driver adapter is installed:


🏁 Script executed:

#!/bin/bash
# Description: Check if a Prisma driver adapter is installed in orm/nuxt/package.json.

# Expected: Find @prisma/adapter-* in dependencies or devDependencies.
rg -nP '@prisma/adapter-' orm/nuxt/package.json

Length of output: 0


Install missing Prisma database adapter
No @prisma/adapter-* entry found in orm/nuxt/package.json. The Rust-free Prisma client (provider="prisma-client", engineType="client") requires a DB adapter—install the appropriate package (e.g. @prisma/adapter-pg for PostgreSQL).

Comment on lines 150 to 167
![](https://imgur.com/eepbOUO.png)

**Signup** (located in [`./pages/signup.vue`](./pages/signup.vue))
**Signup** (located in [`./app/pages/signup.vue`](./app/pages/signup.vue))

![](https://imgur.com/iE6OaBI.png)

**Create post (draft)** (located in [`./pages/create.vue`](./pages/create.vue))
**Create post (draft)** (located in [`./app/pages/create.vue`](./app/pages/create.vue))

![](https://imgur.com/olCWRNv.png)

**Drafts** (located in [`./pages/drafts.vue`](./pages/drafts.vue))
**Drafts** (located in [`./app/pages/drafts.vue`](./app/pages/drafts.vue))

![](https://imgur.com/PSMzhcd.png)

**View post** (located in [`./pages/p/_id.vue`](./pages/p/_id.vue)) (delete or publish here)
**View post** (located in [`./app/pages/p/[id].vue`](./app/pages/p/[id].vue)) (delete or publish here)

![](https://imgur.com/zS1B11O.png)

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Consider adding alt text to images for accessibility.

The images lack descriptive alt text, which impacts accessibility for screen reader users.

Apply this diff to add meaningful alt text:

-![](https://imgur.com/eepbOUO.png)
+![Blog page showing published posts](https://imgur.com/eepbOUO.png)

-![](https://imgur.com/iE6OaBI.png)
+![Signup page with email and name fields](https://imgur.com/iE6OaBI.png)

-![](https://imgur.com/olCWRNv.png)
+![Create post page with title and content fields](https://imgur.com/olCWRNv.png)

-![](https://imgur.com/PSMzhcd.png)
+![Drafts page showing unpublished posts](https://imgur.com/PSMzhcd.png)

-![](https://imgur.com/zS1B11O.png)
+![Post detail page with delete and publish options](https://imgur.com/zS1B11O.png)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
![](https://imgur.com/eepbOUO.png)
**Signup** (located in [`./pages/signup.vue`](./pages/signup.vue))
**Signup** (located in [`./app/pages/signup.vue`](./app/pages/signup.vue))
![](https://imgur.com/iE6OaBI.png)
**Create post (draft)** (located in [`./pages/create.vue`](./pages/create.vue))
**Create post (draft)** (located in [`./app/pages/create.vue`](./app/pages/create.vue))
![](https://imgur.com/olCWRNv.png)
**Drafts** (located in [`./pages/drafts.vue`](./pages/drafts.vue))
**Drafts** (located in [`./app/pages/drafts.vue`](./app/pages/drafts.vue))
![](https://imgur.com/PSMzhcd.png)
**View post** (located in [`./pages/p/_id.vue`](./pages/p/_id.vue)) (delete or publish here)
**View post** (located in [`./app/pages/p/[id].vue`](./app/pages/p/[id].vue)) (delete or publish here)
![](https://imgur.com/zS1B11O.png)
![Blog page showing published posts](https://imgur.com/eepbOUO.png)
**Signup** (located in [`./app/pages/signup.vue`](./app/pages/signup.vue))
![Signup page with email and name fields](https://imgur.com/iE6OaBI.png)
**Create post (draft)** (located in [`./app/pages/create.vue`](./app/pages/create.vue))
![Create post page with title and content fields](https://imgur.com/olCWRNv.png)
**Drafts** (located in [`./app/pages/drafts.vue`](./app/pages/drafts.vue))
![Drafts page showing unpublished posts](https://imgur.com/PSMzhcd.png)
**View post** (located in [`./app/pages/p/[id].vue`](./app/pages/p/[id].vue)) (delete or publish here)
![Post detail page with delete and publish options](https://imgur.com/zS1B11O.png)
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

150-150: Images should have alternate text (alt text)

(MD045, no-alt-text)


154-154: Images should have alternate text (alt text)

(MD045, no-alt-text)


158-158: Images should have alternate text (alt text)

(MD045, no-alt-text)


162-162: Images should have alternate text (alt text)

(MD045, no-alt-text)


166-166: Images should have alternate text (alt text)

(MD045, no-alt-text)

🤖 Prompt for AI Agents
In orm/nuxt/README.md around lines 150 to 167 the Markdown image embeds have no
alt text which hurts accessibility; update each image line to include concise
descriptive alt text (e.g., "Signup page screenshot showing form fields",
"Create post (draft) page screenshot", "Drafts list page screenshot", "View post
page screenshot with delete and publish actions") so screen readers can convey
the purpose of each image while keeping the existing image URLs and surrounding
text intact.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (1)
orm/react-router-7/package.json (1)

12-12: Prisma packages still on v6 instead of v7
Both @prisma/client (Line 12) and prisma (Line 22) remain pinned to 6.16.3, but this PR targets Prisma v7. Please bump both to a 7.x.y release (e.g., 7.0.0), reinstall to refresh the lockfile, and verify the example still builds.

Also applies to: 22-22

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between accb59d and 734bf03.

📒 Files selected for processing (3)
  • orm/nuxt-prisma-module/package.json (1 hunks)
  • orm/react-router-7/package.json (1 hunks)
  • orm/solid-start/package.json (2 hunks)

Comment on lines +13 to +23
"@prisma/nuxt": "^0.3.0",
"@prisma/client": "^6.16.3",
"@prisma/extension-accelerate": "^2.0.2",
"nuxt": "^4.1.2",
"vue": "^3.5.22",
"vue-router": "^4.5.1"
},
"devDependencies": {
"@prisma/client": "6.9.0",
"prisma": "6.9.0"
"@types/node": "^24.6.1",
"prisma": "^6.16.3",
"tsx": "^4.20.6"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Update Prisma packages to v7 to match the new generator

prisma and @prisma/client are still pinned to ^6.16.3, but the schema in this PR now uses the Prisma 7 prisma-client generator. The v6 CLI cannot resolve that generator (it errors with “unknown generator provider”), so prisma generate/db push will fail and the example won’t run. Please bump both packages to the Prisma 7 line (or whatever exact 7.x version you’re standardizing on for this repo) before merging.

-    "@prisma/client": "^6.16.3",
+    "@prisma/client": "^7.0.1",
...
-    "prisma": "^6.16.3",
+    "prisma": "^7.0.1",

Adjust the exact version numbers to the vetted Prisma 7 release you intend to ship with.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"@prisma/nuxt": "^0.3.0",
"@prisma/client": "^6.16.3",
"@prisma/extension-accelerate": "^2.0.2",
"nuxt": "^4.1.2",
"vue": "^3.5.22",
"vue-router": "^4.5.1"
},
"devDependencies": {
"@prisma/client": "6.9.0",
"prisma": "6.9.0"
"@types/node": "^24.6.1",
"prisma": "^6.16.3",
"tsx": "^4.20.6"
"@prisma/nuxt": "^0.3.0",
"@prisma/client": "^7.0.1",
"@prisma/extension-accelerate": "^2.0.2",
"nuxt": "^4.1.2",
"vue": "^3.5.22",
"vue-router": "^4.5.1"
},
"devDependencies": {
"@types/node": "^24.6.1",
"prisma": "^7.0.1",
"tsx": "^4.20.6"
🤖 Prompt for AI Agents
In orm/nuxt-prisma-module/package.json around lines 13 to 23 the project still
depends on Prisma v6 ("prisma" and "@prisma/client" ^6.16.3) while the
schema/generator in this PR requires Prisma 7; update both "prisma" and
"@prisma/client" to the vetted Prisma 7.x versions used by the repo (replace
^6.16.3 with the chosen ^7.x version), save package.json, then run install and
regenerate the client (npm/yarn/pnpm install and prisma generate or db push) to
ensure the new generator is recognized.

Comment on lines 23 to +27
"@tailwindcss/postcss": "4.1.13",
"postcss": "8.5.6",
"prisma": "6.9.0",
"tailwindcss": "4.1.13",
"tsx": "4.20.6"
"prisma": "6.16.3",
"tailwindcss": "4.1.11",
"tsx": "4.20.3"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Align Tailwind core with its PostCSS plugin.

@tailwindcss/postcss@4.1.13 expects to run with tailwindcss@4.1.13; downgrading the core to 4.1.11 splits a lockstep release pair and risks build/runtime breakage. Please keep both packages on the same patch version.

-    "tailwindcss": "4.1.11",
+    "tailwindcss": "4.1.13",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"@tailwindcss/postcss": "4.1.13",
"postcss": "8.5.6",
"prisma": "6.9.0",
"tailwindcss": "4.1.13",
"tsx": "4.20.6"
"prisma": "6.16.3",
"tailwindcss": "4.1.11",
"tsx": "4.20.3"
"@tailwindcss/postcss": "4.1.13",
"postcss": "8.5.6",
"prisma": "6.16.3",
"tailwindcss": "4.1.13",
"tsx": "4.20.3"
🤖 Prompt for AI Agents
In orm/solid-start/package.json around lines 23 to 27, tailwindcss is pinned to
4.1.11 while its PostCSS plugin @tailwindcss/postcss is 4.1.13; update the
tailwindcss entry to 4.1.13 so both core and its PostCSS plugin share the same
patch version, then reinstall dependencies (npm/yarn/pnpm) to refresh the
lockfile.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants