-
Notifications
You must be signed in to change notification settings - Fork 1.4k
update fullstack examples in /orm
for v7
#8311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: latest
Are you sure you want to change the base?
Conversation
WalkthroughPrisma 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 Changes
Sequence Diagram(s)mermaid note over Dev,PrismaGen: Developer runs prisma generate note over App,Generated: App imports generated client instead of @prisma/client note over App: Application uses extended prisma as before Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests
Comment |
There was a problem hiding this 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
⛔ 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' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Dependency placement is correct, but verify Prisma version alignment.
The dependencies are correctly structured:
@prisma/client
independencies
for runtime usageprisma
CLI indevDependencies
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.
There was a problem hiding this 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
⛔ 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 bothlib/prisma.ts
andprisma/seed.ts
.
32-34
: No modifications needed; the existingpostinstall
script ensuresprisma 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", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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.
There was a problem hiding this 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
) soDATABASE_URL
is aprisma://…
Accelerate URL andDIRECT_URL
points to your primary database connection string.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
⛔ 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 theBETTER_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 theoutput
configuration inorm/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 ofwithAccelerate()
aligns with the changes inorm/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 explicitreferences
aligns with modern Nuxt 3 TypeScript configuration patterns and enables better composite project support. Ensurenuxt prepare
(ornuxt 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. Bothdb.ts
andseed.ts
import from../prisma/generated/prisma/client
, matching the schema’soutput = "./generated/prisma"
.orm/nuxt-prisma-module/nuxt.config.ts (2)
5-5
: Confirm default autoSetupPrisma behavior
Emptyprisma: {}
relies on the module’s defaultautoSetupPrisma
(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: ThecompatibilityDate
(ISO YYYY-MM-DD) pins Nuxt’s presets and is set to2025-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 customexists
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 theserver/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 runningnuxt prepare
ornpm 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 neweslint.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, andprisma.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 whereoutput
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 toorm/nuxt/.nuxt/
. However, based on the AI summary noting these are "references to four generated Nuxt tsconfig files" inorm/nuxt-prisma-module/.nuxt/
, this appears to be a copy-paste error from theorm/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 runningnuxt 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
withwhere: { 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.
Thelib/prisma.ts
file re-exports from../prisma/generated/prisma/client
, matching theoutput = "./generated/prisma"
setting inschema.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 Thelib/prisma
file re-exports from../prisma/generated/prisma/client
, andseed.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
.
provider = "prisma-client" | ||
engineType = "client" | ||
output = "./generated/prisma" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❓ 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).
 | ||
|
||
**Signup** (located in [`./pages/signup.vue`](./pages/signup.vue)) | ||
**Signup** (located in [`./app/pages/signup.vue`](./app/pages/signup.vue)) | ||
|
||
 | ||
|
||
**Create post (draft)** (located in [`./pages/create.vue`](./pages/create.vue)) | ||
**Create post (draft)** (located in [`./app/pages/create.vue`](./app/pages/create.vue)) | ||
|
||
 | ||
|
||
**Drafts** (located in [`./pages/drafts.vue`](./pages/drafts.vue)) | ||
**Drafts** (located in [`./app/pages/drafts.vue`](./app/pages/drafts.vue)) | ||
|
||
 | ||
|
||
**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) | ||
|
||
 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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:
-
+
-
+
-
+
-
+
-
+
📝 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.
 | |
**Signup** (located in [`./pages/signup.vue`](./pages/signup.vue)) | |
**Signup** (located in [`./app/pages/signup.vue`](./app/pages/signup.vue)) | |
 | |
**Create post (draft)** (located in [`./pages/create.vue`](./pages/create.vue)) | |
**Create post (draft)** (located in [`./app/pages/create.vue`](./app/pages/create.vue)) | |
 | |
**Drafts** (located in [`./pages/drafts.vue`](./pages/drafts.vue)) | |
**Drafts** (located in [`./app/pages/drafts.vue`](./app/pages/drafts.vue)) | |
 | |
**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) | |
 | |
 | |
**Signup** (located in [`./app/pages/signup.vue`](./app/pages/signup.vue)) | |
 | |
**Create post (draft)** (located in [`./app/pages/create.vue`](./app/pages/create.vue)) | |
 | |
**Drafts** (located in [`./app/pages/drafts.vue`](./app/pages/drafts.vue)) | |
 | |
**View post** (located in [`./app/pages/p/[id].vue`](./app/pages/p/[id].vue)) (delete or publish here) | |
 |
🧰 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.
There was a problem hiding this 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) andprisma
(Line 22) remain pinned to6.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
📒 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)
"@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" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
"@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.
"@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" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
"@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.
prisma-client
and QCSummary by CodeRabbit
Chores
Refactor
Documentation
Configuration