Skip to content

Conversation

@birkskyum
Copy link
Member

@birkskyum birkskyum commented Nov 19, 2025

Summary by CodeRabbit

  • New Features

    • Added LibSQL database adapter support for improved database connectivity.
    • Introduced centralized Prisma configuration via prisma.config.ts for environment-based setup.
  • Upgrades

    • Upgraded Prisma from v5 to v7 with modernized client generation and improved type safety.
  • Refactor

    • Reorganized generated Prisma client structure to a new prisma-generated directory for cleaner architecture.
    • Updated database initialization to use adapter-based configuration pattern.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 19, 2025

Walkthrough

Updates multiple starter projects (react-start, solid-start, react, and solid basic-auth examples) from Prisma v5 to v7 with LibSQL adapter. Changes include dependency upgrades, new prisma.config.ts files, schema updates with generated client output paths, extensive Prisma v7 generated type definitions, and adapter-based client initialization.

Changes

Cohort / File(s) Summary
Dependency Updates
e2e/react-start/basic-auth/package.json, e2e/solid-start/basic-auth/package.json, examples/react/start-basic-auth/package.json, examples/solid/start-basic-auth/package.json
Replaced Prisma v5 with v7 and added LibSQL integration: removed @prisma/client and prisma v5.22.0, added @libsql/client ^0.15.15, @prisma/adapter-libsql ^7.0.0, @prisma/client ^7.0.0, and dev dependencies dotenv ^17.2.3 and prisma ^7.0.0.
Prisma Configuration
e2e/react-start/basic-auth/prisma.config.ts, e2e/solid-start/basic-auth/prisma.config.ts, examples/react/start-basic-auth/prisma.config.ts, examples/solid/start-basic-auth/prisma.config.ts
Added new configuration files loading environment variables and exporting Prisma config via defineConfig with schema path, migrations directory, and DATABASE_URL datasource.
Schema Updates
e2e/react-start/basic-auth/prisma/schema.prisma, e2e/solid-start/basic-auth/prisma/schema.prisma, examples/react/start-basic-auth/prisma/schema.prisma, examples/solid/start-basic-auth/prisma/schema.prisma
Changed generator provider from "prisma-client-js" to "prisma-client", added output path ../src/prisma-generated, and removed url field from datasource block.
Generated Entry Points
*/src/prisma-generated/browser.ts, */src/prisma-generated/client.ts, */src/prisma-generated/enums.ts, */src/prisma-generated/models.ts
Added browser-specific and client entry points exposing Prisma namespace, PrismaClient, enums, and model type barrels across all four projects.
Generated Internal Classes
*/src/prisma-generated/internal/class.ts
Added PrismaClient runtime class, constructor interface, LogOptions type, and getPrismaClientClass factory function across all projects.
Generated Prisma Namespaces
*/src/prisma-generated/internal/prismaNamespace.ts
Added comprehensive Prisma error exports, SQL helpers, Decimal, null/JSON helpers, type utilities, ModelName/TypeMap structures, enums (TransactionIsolationLevel, UserScalarFieldEnum, SortOrder), logging types, and TransactionClient across all projects.
Generated Browser Namespaces
*/src/prisma-generated/internal/prismaNamespaceBrowser.ts
Added browser-specific Prisma namespace with Decimal, null helpers (DbNull, JsonNull, AnyNull), and enum constants (ModelName, TransactionIsolationLevel, UserScalarFieldEnum, SortOrder) across all projects.
Generated User Model
*/src/prisma-generated/models/User.ts
Added complete User model definition with types for aggregation, grouping, create/update/delete inputs, where/order-by filters, UserDelegate interface, field references, and comprehensive payload/select/omit utilities across all projects.
Generated Common Types
*/src/prisma-generated/commonInputTypes.ts
Added reusable StringFilter, StringWithAggregatesFilter, NestedStringFilter, NestedStringWithAggregatesFilter, and NestedIntFilter types across all projects.
Adapter Integration
e2e/react-start/basic-auth/src/utils/prisma.ts, e2e/solid-start/basic-auth/src/utils/prisma.ts, examples/react/start-basic-auth/src/utils/prisma.ts, examples/solid/start-basic-auth/src/utils/prisma.ts
Updated PrismaClient imports to use generated client, added PrismaLibSql adapter instantiation with DATABASE_URL or file fallback, and initialized PrismaClient with adapter option.

Sequence Diagram

sequenceDiagram
    participant App as Application
    participant PC as PrismaClient
    participant Adapter as LibSQL Adapter
    participant DB as SQLite Database

    Note over App,DB: Prisma v7 with LibSQL Adapter Pattern
    
    App->>PC: new PrismaClient({ adapter })
    activate PC
    PC->>Adapter: Initialize with DATABASE_URL
    activate Adapter
    Adapter->>DB: Connect to database
    activate DB
    DB-->>Adapter: Connection established
    deactivate DB
    Adapter-->>PC: Adapter ready
    deactivate Adapter
    PC-->>App: Client initialized
    deactivate PC
    
    App->>PC: Query (e.g., user.findMany())
    activate PC
    PC->>Adapter: Execute query
    activate Adapter
    Adapter->>DB: SQL execution
    activate DB
    DB-->>Adapter: Result
    deactivate DB
    Adapter-->>PC: Typed result
    deactivate Adapter
    PC-->>App: Result<User[]>
    deactivate PC
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Focus areas during review:
    • Verify prisma.config.ts configuration correctness across all projects
    • Confirm schema.prisma changes (provider and output path) align with v7 migration
    • Validate PrismaLibSql adapter initialization in utils/prisma.ts (correct URL fallback, error handling)
    • Spot-check generated type definitions for completeness and correctness (especially models/User.ts and internal/prismaNamespace.ts)
    • Ensure consistency of the pattern across all four projects (react-start, solid-start, react, solid)
    • Verify no breaking changes to existing client imports or type signatures

Possibly related PRs

Suggested labels

package: react-start, package: solid-start, package: examples

Suggested reviewers

  • brenelz

Poem

🐰 Whiskers twitch with TypeScript cheer,
From Prisma Five to Seven, dear!
LibSQL dances, types align,
Generated code both clean and fine.
Four projects bloom with adapter's grace,
A migration swift across the place!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: updating the start-basic-auth project(s) to Prisma 7, which is the primary focus across all modified files.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-to-prisma-7

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@nx-cloud
Copy link

nx-cloud bot commented Nov 19, 2025

View your CI Pipeline Execution ↗ for commit 169e296

Command Status Duration Result
nx affected --targets=test:eslint,test:unit,tes... ✅ Succeeded 9m 57s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 1m 44s View ↗

☁️ Nx Cloud last updated this comment at 2025-11-20 18:41:56 UTC

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 19, 2025

More templates

@tanstack/arktype-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/arktype-adapter@5911

@tanstack/directive-functions-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/directive-functions-plugin@5911

@tanstack/eslint-plugin-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/eslint-plugin-router@5911

@tanstack/history

npm i https://pkg.pr.new/TanStack/router/@tanstack/history@5911

@tanstack/nitro-v2-vite-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/nitro-v2-vite-plugin@5911

@tanstack/react-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router@5911

@tanstack/react-router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router-devtools@5911

@tanstack/react-router-ssr-query

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router-ssr-query@5911

@tanstack/react-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start@5911

@tanstack/react-start-client

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-client@5911

@tanstack/react-start-server

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-server@5911

@tanstack/router-cli

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-cli@5911

@tanstack/router-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-core@5911

@tanstack/router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-devtools@5911

@tanstack/router-devtools-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-devtools-core@5911

@tanstack/router-generator

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-generator@5911

@tanstack/router-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-plugin@5911

@tanstack/router-ssr-query-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-ssr-query-core@5911

@tanstack/router-utils

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-utils@5911

@tanstack/router-vite-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-vite-plugin@5911

@tanstack/server-functions-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/server-functions-plugin@5911

@tanstack/solid-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router@5911

@tanstack/solid-router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router-devtools@5911

@tanstack/solid-router-ssr-query

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router-ssr-query@5911

@tanstack/solid-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start@5911

@tanstack/solid-start-client

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start-client@5911

@tanstack/solid-start-server

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start-server@5911

@tanstack/start-client-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-client-core@5911

@tanstack/start-plugin-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-plugin-core@5911

@tanstack/start-server-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-server-core@5911

@tanstack/start-static-server-functions

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-static-server-functions@5911

@tanstack/start-storage-context

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-storage-context@5911

@tanstack/valibot-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/valibot-adapter@5911

@tanstack/virtual-file-routes

npm i https://pkg.pr.new/TanStack/router/@tanstack/virtual-file-routes@5911

@tanstack/zod-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/zod-adapter@5911

commit: 169e296

@birkskyum birkskyum changed the title update solid-start auth example to prisma 7 update start-basic-auth project to prisma 7 Nov 19, 2025
@birkskyum birkskyum marked this pull request as ready for review November 20, 2025 18:28
Copy link
Contributor

@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: 8

🧹 Nitpick comments (5)
examples/react/start-basic-auth/src/utils/prisma.ts (1)

5-8: Adapter configuration is fine; consider tightening env handling / instantiation

The LibSQL adapter initialization and new PrismaClient({ adapter }) usage look good. For anything beyond example usage, you might want to (a) fail fast if DATABASE_URL is missing in non‑dev environments instead of silently falling back to a local file DB, and/or (b) reuse a singleton PrismaClient (e.g., via globalThis) to avoid multiple instances under dev HMR.

examples/solid/start-basic-auth/package.json (1)

27-27: Confirm dotenv integration with Prisma v7 setup.

The addition of dotenv as a devDependency suggests environment variable management. Verify that this aligns with how Prisma v7 and the LibSQL adapter are configured (e.g., in prisma.config.ts or .env files).

Can you confirm that dotenv is being used correctly in the Prisma configuration files? If needed, I can help review the prisma.config.ts or similar configuration files to ensure proper integration.

examples/solid/start-basic-auth/src/prisma-generated/internal/class.ts (1)

34-52: Node/WebAssembly compiler hooks are fine; keep PrismaClient server-only

The decodeBase64AsWasm helper and compilerWasm hooks using node:buffer and WebAssembly.Module align with Prisma 7’s runtime expectations. Just ensure PrismaClient is only instantiated in server-side code so these Node-specific pieces never end up in browser bundles.

e2e/react-start/basic-auth/prisma.config.ts (1)

9-11: Consider adding validation or fallback for DATABASE_URL.

The datasource configuration requires DATABASE_URL via env('DATABASE_URL'). If this environment variable is not set, it may cause runtime errors during Prisma operations. Consider adding a fallback (like in the utils/prisma.ts file pattern) or explicit validation.

Apply this diff to add a fallback for development:

  datasource: {
-   url: env('DATABASE_URL'),
+   url: env('DATABASE_URL') || 'file:./prisma/dev.db',
  },

Note: Verify whether env() helper in prisma/config supports fallback syntax, or if validation needs to happen elsewhere.

e2e/solid-start/basic-auth/src/utils/prisma.ts (1)

10-20: Consider using a secure, random salt for password hashing.

The hardcoded 'salt' string on line 12 weakens the security of password hashing. While this appears to be existing code (not introduced in this PR), consider using a unique, randomly generated salt per user for production applications.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f139f1e and 169e296.

⛔ Files ignored due to path filters (5)
  • e2e/react-start/basic-auth/dev.db is excluded by !**/*.db
  • e2e/solid-start/basic-auth/dev.db is excluded by !**/*.db
  • examples/react/start-basic-auth/dev.db is excluded by !**/*.db
  • examples/solid/start-basic-auth/dev.db is excluded by !**/*.db
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (52)
  • e2e/react-start/basic-auth/package.json (2 hunks)
  • e2e/react-start/basic-auth/prisma.config.ts (1 hunks)
  • e2e/react-start/basic-auth/prisma/schema.prisma (1 hunks)
  • e2e/react-start/basic-auth/src/prisma-generated/browser.ts (1 hunks)
  • e2e/react-start/basic-auth/src/prisma-generated/client.ts (1 hunks)
  • e2e/react-start/basic-auth/src/prisma-generated/commonInputTypes.ts (1 hunks)
  • e2e/react-start/basic-auth/src/prisma-generated/enums.ts (1 hunks)
  • e2e/react-start/basic-auth/src/prisma-generated/internal/class.ts (1 hunks)
  • e2e/react-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (1 hunks)
  • e2e/react-start/basic-auth/src/prisma-generated/internal/prismaNamespaceBrowser.ts (1 hunks)
  • e2e/react-start/basic-auth/src/prisma-generated/models.ts (1 hunks)
  • e2e/react-start/basic-auth/src/prisma-generated/models/User.ts (1 hunks)
  • e2e/react-start/basic-auth/src/utils/prisma.ts (1 hunks)
  • e2e/solid-start/basic-auth/package.json (2 hunks)
  • e2e/solid-start/basic-auth/prisma.config.ts (1 hunks)
  • e2e/solid-start/basic-auth/prisma/schema.prisma (1 hunks)
  • e2e/solid-start/basic-auth/src/prisma-generated/browser.ts (1 hunks)
  • e2e/solid-start/basic-auth/src/prisma-generated/client.ts (1 hunks)
  • e2e/solid-start/basic-auth/src/prisma-generated/commonInputTypes.ts (1 hunks)
  • e2e/solid-start/basic-auth/src/prisma-generated/enums.ts (1 hunks)
  • e2e/solid-start/basic-auth/src/prisma-generated/internal/class.ts (1 hunks)
  • e2e/solid-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (1 hunks)
  • e2e/solid-start/basic-auth/src/prisma-generated/internal/prismaNamespaceBrowser.ts (1 hunks)
  • e2e/solid-start/basic-auth/src/prisma-generated/models.ts (1 hunks)
  • e2e/solid-start/basic-auth/src/prisma-generated/models/User.ts (1 hunks)
  • e2e/solid-start/basic-auth/src/utils/prisma.ts (1 hunks)
  • examples/react/start-basic-auth/package.json (2 hunks)
  • examples/react/start-basic-auth/prisma.config.ts (1 hunks)
  • examples/react/start-basic-auth/prisma/schema.prisma (1 hunks)
  • examples/react/start-basic-auth/src/prisma-generated/browser.ts (1 hunks)
  • examples/react/start-basic-auth/src/prisma-generated/client.ts (1 hunks)
  • examples/react/start-basic-auth/src/prisma-generated/commonInputTypes.ts (1 hunks)
  • examples/react/start-basic-auth/src/prisma-generated/enums.ts (1 hunks)
  • examples/react/start-basic-auth/src/prisma-generated/internal/class.ts (1 hunks)
  • examples/react/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (1 hunks)
  • examples/react/start-basic-auth/src/prisma-generated/internal/prismaNamespaceBrowser.ts (1 hunks)
  • examples/react/start-basic-auth/src/prisma-generated/models.ts (1 hunks)
  • examples/react/start-basic-auth/src/prisma-generated/models/User.ts (1 hunks)
  • examples/react/start-basic-auth/src/utils/prisma.ts (1 hunks)
  • examples/solid/start-basic-auth/package.json (1 hunks)
  • examples/solid/start-basic-auth/prisma.config.ts (1 hunks)
  • examples/solid/start-basic-auth/prisma/schema.prisma (1 hunks)
  • examples/solid/start-basic-auth/src/prisma-generated/browser.ts (1 hunks)
  • examples/solid/start-basic-auth/src/prisma-generated/client.ts (1 hunks)
  • examples/solid/start-basic-auth/src/prisma-generated/commonInputTypes.ts (1 hunks)
  • examples/solid/start-basic-auth/src/prisma-generated/enums.ts (1 hunks)
  • examples/solid/start-basic-auth/src/prisma-generated/internal/class.ts (1 hunks)
  • examples/solid/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (1 hunks)
  • examples/solid/start-basic-auth/src/prisma-generated/internal/prismaNamespaceBrowser.ts (1 hunks)
  • examples/solid/start-basic-auth/src/prisma-generated/models.ts (1 hunks)
  • examples/solid/start-basic-auth/src/prisma-generated/models/User.ts (1 hunks)
  • examples/solid/start-basic-auth/src/utils/prisma.ts (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-11-02T16:16:24.898Z
Learnt from: nlynzaad
Repo: TanStack/router PR: 5732
File: packages/start-client-core/src/client/hydrateStart.ts:6-9
Timestamp: 2025-11-02T16:16:24.898Z
Learning: In packages/start-client-core/src/client/hydrateStart.ts, the `import/no-duplicates` ESLint disable is necessary for imports from `#tanstack-router-entry` and `#tanstack-start-entry` because both aliases resolve to the same placeholder file (`fake-start-entry.js`) in package.json during static analysis, even though they resolve to different files at runtime.

Applied to files:

  • e2e/solid-start/basic-auth/src/prisma-generated/enums.ts
  • e2e/react-start/basic-auth/src/prisma-generated/enums.ts
  • e2e/react-start/basic-auth/src/prisma-generated/browser.ts
  • e2e/react-start/basic-auth/src/prisma-generated/client.ts
  • e2e/solid-start/basic-auth/src/utils/prisma.ts
🧬 Code graph analysis (32)
e2e/solid-start/basic-auth/src/prisma-generated/browser.ts (2)
e2e/solid-start/basic-auth/src/prisma-generated/client.ts (2)
  • User (51-51)
  • Prisma (45-45)
e2e/solid-start/basic-auth/src/prisma-generated/models/User.ts (1)
  • UserModel (18-19)
e2e/react-start/basic-auth/src/prisma-generated/commonInputTypes.ts (1)
e2e/react-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (2)
  • StringFieldRefInput (575-578)
  • IntFieldRefInput (583-586)
e2e/solid-start/basic-auth/src/prisma-generated/commonInputTypes.ts (1)
e2e/solid-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (2)
  • StringFieldRefInput (575-578)
  • IntFieldRefInput (583-586)
examples/solid/start-basic-auth/src/prisma-generated/browser.ts (2)
examples/solid/start-basic-auth/src/prisma-generated/client.ts (2)
  • User (51-51)
  • Prisma (45-45)
examples/solid/start-basic-auth/src/prisma-generated/models/User.ts (1)
  • UserModel (18-19)
examples/react/start-basic-auth/src/prisma-generated/commonInputTypes.ts (1)
examples/react/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (2)
  • StringFieldRefInput (575-578)
  • IntFieldRefInput (583-586)
examples/react/start-basic-auth/src/prisma-generated/internal/class.ts (2)
examples/react/start-basic-auth/src/prisma-generated/client.ts (3)
  • Prisma (45-45)
  • PrismaClient (37-37)
  • PrismaClient (38-44)
examples/react/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (13)
  • PrismaClientOptions (603-673)
  • LogLevel (679-679)
  • LogDefinition (680-683)
  • GetEvents (691-692)
  • Subset (171-173)
  • TypeMap (428-540)
  • QueryEvent (694-700)
  • LogEvent (702-706)
  • Sql (59-59)
  • Sql (60-60)
  • PrismaPromise (25-25)
  • TransactionIsolationLevel (546-548)
  • TransactionIsolationLevel (550-551)
examples/react/start-basic-auth/src/prisma-generated/internal/prismaNamespaceBrowser.ts (1)
examples/react/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (4)
  • Decimal (65-65)
  • Decimal (66-66)
  • TransactionIsolationLevel (546-548)
  • TransactionIsolationLevel (550-551)
examples/react/start-basic-auth/src/prisma-generated/browser.ts (1)
examples/react/start-basic-auth/src/prisma-generated/models/User.ts (1)
  • UserModel (18-19)
e2e/solid-start/basic-auth/src/prisma-generated/internal/class.ts (2)
e2e/solid-start/basic-auth/src/prisma-generated/client.ts (3)
  • Prisma (45-45)
  • PrismaClient (37-37)
  • PrismaClient (38-44)
e2e/solid-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (9)
  • PrismaClientOptions (603-673)
  • LogLevel (679-679)
  • LogDefinition (680-683)
  • TypeMap (428-540)
  • Sql (59-59)
  • Sql (60-60)
  • PrismaPromise (25-25)
  • TransactionIsolationLevel (546-548)
  • TransactionIsolationLevel (550-551)
examples/solid/start-basic-auth/src/utils/prisma.ts (1)
examples/solid/start-basic-auth/src/prisma-generated/client.ts (2)
  • PrismaClient (37-37)
  • PrismaClient (38-44)
examples/solid/start-basic-auth/src/prisma-generated/commonInputTypes.ts (1)
examples/solid/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (2)
  • StringFieldRefInput (575-578)
  • IntFieldRefInput (583-586)
examples/solid/start-basic-auth/src/prisma-generated/internal/class.ts (2)
examples/solid/start-basic-auth/src/prisma-generated/client.ts (3)
  • Prisma (45-45)
  • PrismaClient (37-37)
  • PrismaClient (38-44)
examples/solid/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (14)
  • PrismaClientOptions (603-673)
  • LogLevel (679-679)
  • LogDefinition (680-683)
  • GetEvents (691-692)
  • Subset (171-173)
  • TypeMap (428-540)
  • QueryEvent (694-700)
  • LogEvent (702-706)
  • Sql (59-59)
  • Sql (60-60)
  • PrismaPromise (25-25)
  • TransactionIsolationLevel (546-548)
  • TransactionIsolationLevel (550-551)
  • TypeMapCb (420-426)
examples/solid/start-basic-auth/src/prisma-generated/internal/prismaNamespaceBrowser.ts (1)
examples/solid/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (4)
  • Decimal (65-65)
  • Decimal (66-66)
  • TransactionIsolationLevel (546-548)
  • TransactionIsolationLevel (550-551)
examples/react/start-basic-auth/src/utils/prisma.ts (2)
examples/react/start-basic-auth/src/prisma-generated/client.ts (2)
  • PrismaClient (37-37)
  • PrismaClient (38-44)
examples/react/start-basic-auth/src/prisma-generated/internal/class.ts (1)
  • PrismaClient (105-238)
e2e/react-start/basic-auth/src/prisma-generated/internal/class.ts (2)
e2e/react-start/basic-auth/src/prisma-generated/client.ts (3)
  • Prisma (45-45)
  • PrismaClient (37-37)
  • PrismaClient (38-44)
e2e/react-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (8)
  • PrismaClientOptions (603-673)
  • LogLevel (679-679)
  • LogDefinition (680-683)
  • TypeMap (428-540)
  • Sql (59-59)
  • Sql (60-60)
  • TransactionIsolationLevel (546-548)
  • TransactionIsolationLevel (550-551)
e2e/react-start/basic-auth/src/prisma-generated/internal/prismaNamespaceBrowser.ts (1)
e2e/react-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (4)
  • Decimal (65-65)
  • Decimal (66-66)
  • TransactionIsolationLevel (546-548)
  • TransactionIsolationLevel (550-551)
e2e/solid-start/basic-auth/src/prisma-generated/internal/prismaNamespaceBrowser.ts (1)
e2e/solid-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (2)
  • TransactionIsolationLevel (546-548)
  • TransactionIsolationLevel (550-551)
e2e/react-start/basic-auth/src/prisma-generated/browser.ts (2)
e2e/react-start/basic-auth/src/prisma-generated/client.ts (2)
  • User (51-51)
  • Prisma (45-45)
e2e/react-start/basic-auth/src/prisma-generated/models/User.ts (1)
  • UserModel (18-19)
examples/solid/start-basic-auth/src/prisma-generated/models/User.ts (2)
examples/solid/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (14)
  • GetScalarType (359-363)
  • UserScalarFieldEnum (553-556)
  • UserScalarFieldEnum (558-559)
  • PrismaPromise (25-25)
  • PickEnumerable (396-399)
  • SortOrder (561-564)
  • SortOrder (566-566)
  • TypeMap (428-540)
  • SelectSubset (180-186)
  • BatchPayload (591-593)
  • Subset (171-173)
  • Or (346-355)
  • MaybeTupleToUnion (391-391)
  • FieldRef (408-408)
examples/solid/start-basic-auth/src/prisma-generated/commonInputTypes.ts (1)
  • StringFilter (15-27)
examples/react/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (3)
examples/react/start-basic-auth/src/prisma-generated/client.ts (3)
  • Prisma (45-45)
  • PrismaClient (37-37)
  • PrismaClient (38-44)
examples/react/start-basic-auth/src/prisma-generated/models/User.ts (1)
  • $UserPayload (302-316)
examples/react/start-basic-auth/src/prisma-generated/internal/class.ts (1)
  • PrismaClient (105-238)
e2e/react-start/basic-auth/src/prisma-generated/client.ts (2)
e2e/react-start/basic-auth/src/prisma-generated/internal/class.ts (1)
  • PrismaClient (105-238)
e2e/react-start/basic-auth/src/prisma-generated/models/User.ts (1)
  • UserModel (18-19)
e2e/solid-start/basic-auth/src/utils/prisma.ts (2)
e2e/solid-start/basic-auth/src/prisma-generated/client.ts (2)
  • PrismaClient (37-37)
  • PrismaClient (38-44)
e2e/solid-start/basic-auth/src/prisma-generated/internal/class.ts (1)
  • PrismaClient (105-238)
e2e/react-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (2)
e2e/react-start/basic-auth/src/prisma-generated/client.ts (3)
  • Prisma (45-45)
  • PrismaClient (37-37)
  • PrismaClient (38-44)
e2e/react-start/basic-auth/src/prisma-generated/internal/class.ts (1)
  • PrismaClient (105-238)
examples/react/start-basic-auth/src/prisma-generated/client.ts (3)
examples/react/start-basic-auth/src/prisma-generated/internal/class.ts (1)
  • PrismaClient (105-238)
examples/react/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (2)
  • LogLevel (679-679)
  • PrismaClientOptions (603-673)
examples/react/start-basic-auth/src/prisma-generated/models/User.ts (1)
  • UserModel (18-19)
examples/solid/start-basic-auth/src/prisma-generated/client.ts (4)
e2e/react-start/basic-auth/src/prisma-generated/client.ts (4)
  • PrismaClient (37-37)
  • PrismaClient (38-44)
  • Prisma (45-45)
  • User (51-51)
e2e/react-start/basic-auth/src/prisma-generated/internal/class.ts (1)
  • PrismaClient (105-238)
e2e/react-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (2)
  • LogLevel (679-679)
  • PrismaClientOptions (603-673)
e2e/react-start/basic-auth/src/prisma-generated/models/User.ts (1)
  • UserModel (18-19)
e2e/react-start/basic-auth/src/utils/prisma.ts (2)
e2e/react-start/basic-auth/src/prisma-generated/client.ts (2)
  • PrismaClient (37-37)
  • PrismaClient (38-44)
e2e/react-start/basic-auth/src/prisma-generated/internal/class.ts (1)
  • PrismaClient (105-238)
e2e/react-start/basic-auth/src/prisma-generated/models/User.ts (2)
e2e/react-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (12)
  • GetScalarType (359-363)
  • UserScalarFieldEnum (553-556)
  • UserScalarFieldEnum (558-559)
  • PrismaPromise (25-25)
  • PickEnumerable (396-399)
  • SortOrder (561-564)
  • SortOrder (566-566)
  • TypeMap (428-540)
  • BatchPayload (591-593)
  • Or (346-355)
  • MaybeTupleToUnion (391-391)
  • FieldRef (408-408)
e2e/react-start/basic-auth/src/prisma-generated/commonInputTypes.ts (1)
  • StringFilter (15-27)
e2e/solid-start/basic-auth/src/prisma-generated/client.ts (3)
e2e/react-start/basic-auth/src/prisma-generated/client.ts (4)
  • PrismaClient (37-37)
  • PrismaClient (38-44)
  • Prisma (45-45)
  • User (51-51)
e2e/solid-start/basic-auth/src/prisma-generated/internal/class.ts (1)
  • PrismaClient (105-238)
e2e/solid-start/basic-auth/src/prisma-generated/models/User.ts (1)
  • UserModel (18-19)
e2e/solid-start/basic-auth/src/prisma-generated/models/User.ts (1)
e2e/solid-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (8)
  • GetScalarType (359-363)
  • UserScalarFieldEnum (553-556)
  • UserScalarFieldEnum (558-559)
  • PrismaPromise (25-25)
  • TypeMap (428-540)
  • BatchPayload (591-593)
  • Or (346-355)
  • FieldRef (408-408)
examples/solid/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (2)
examples/solid/start-basic-auth/src/prisma-generated/client.ts (3)
  • Prisma (45-45)
  • PrismaClient (37-37)
  • PrismaClient (38-44)
examples/solid/start-basic-auth/src/prisma-generated/internal/class.ts (1)
  • PrismaClient (105-238)
examples/react/start-basic-auth/src/prisma-generated/models/User.ts (1)
examples/react/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (9)
  • GetScalarType (359-363)
  • UserScalarFieldEnum (553-556)
  • UserScalarFieldEnum (558-559)
  • PrismaPromise (25-25)
  • AtLeast (308-314)
  • TypeMap (428-540)
  • BatchPayload (591-593)
  • Or (346-355)
  • FieldRef (408-408)
e2e/solid-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (2)
e2e/solid-start/basic-auth/src/prisma-generated/models/User.ts (4)
  • $UserPayload (302-316)
  • UserFieldRefs (903-906)
  • UserFindUniqueArgs (912-928)
  • UserOmit (294-300)
e2e/solid-start/basic-auth/src/prisma-generated/internal/class.ts (1)
  • PrismaClient (105-238)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Test
  • GitHub Check: Preview
🔇 Additional comments (51)
examples/solid/start-basic-auth/prisma/schema.prisma (1)

9-11: Verification complete — datasource configuration is correctly configured.

All three verification points are confirmed:

  • prisma.config.ts exists and properly loads DATABASE_URL via env('DATABASE_URL')
  • ✓ Configuration is compatible with SQLite (connection string: file:./dev.db)
  • ✓ Schema path is correctly specified as './prisma/schema.prisma'

The datasource configuration has been properly migrated to the external config file with appropriate environment variable setup.

examples/react/start-basic-auth/src/utils/prisma.ts (1)

2-3: Prisma LibSQL adapter + generated client import look correct

Importing PrismaClient from ../prisma-generated/client and wiring it with @prisma/adapter-libsql matches the Prisma 7 adapter-based pattern, and the relative path lines up with src/prisma-generated/client.ts. Just ensure this module is only ever imported on the server side so the browser bundle never pulls in the client runtime.

examples/solid/start-basic-auth/package.json (1)

14-16: I'll verify the security status of these specific package versions using web searches.

Verification of security advisories for specified package versions is inconclusive.

Based on web searches and available security databases, no known CVEs or active security advisories were identified for the specific versions mentioned:

  • @libsql/client v0.15.15
  • @prisma/adapter-libsql v7.0.0
  • @prisma/client v7.0.0

The npm audit performed earlier returned no detected vulnerabilities. While known Prisma vulnerabilities exist in CVE databases (e.g., command injection in @prisma/sdk), they do not directly affect these package versions or represent risks to end users. The initial review comment's suggestion to verify security remains valid as a due-diligence step for major version upgrades, though current evidence suggests these versions do not have disclosed security vulnerabilities.

examples/react/start-basic-auth/src/prisma-generated/internal/class.ts (2)

1-242: Generated Prisma client implementation looks correct.

This is a Prisma-generated file that properly implements the internal client class for Prisma 7. The code structure, type definitions, and runtime configuration are all appropriate for a Prisma SQLite client. The warnings and documentation are clear about this being internal generated code that should not be edited or imported directly.


18-18: Prisma 7.0.0 upgrade is valid.

Prisma 7.0.0 is published as a stable release and is the latest version. No security advisories have been published for this version. The generated file correctly reflects this upgrade with clientVersion: '7.0.0'.

examples/solid/start-basic-auth/src/prisma-generated/internal/class.ts (2)

1-32: Generated Prisma config and data model look consistent

The config (clientVersion, engineVersion, activeProvider, inlineSchema) and runtimeDataModel JSON match a minimal SQLite-backed User model setup for Prisma 7. Treat this strictly as generated output and adjust behavior via schema.prisma + prisma generate rather than editing this file directly.


54-242: Verification confirms code is correct—no direct imports found and Prisma 7.0.0 is properly configured.

The script output confirms:

  • The example using this file (examples/solid/start-basic-auth) runs Prisma 7.0.0 with TypeScript 5.7.2, which supports the required type variance syntax (in and out modifiers).
  • No direct imports of the internal class file were detected elsewhere in the codebase, confirming it is not being imported outside the generated client surface (as expected).
  • The generated API surface is correctly aligned with Prisma's type system.
examples/react/start-basic-auth/src/prisma-generated/internal/prismaNamespaceBrowser.ts (1)

1-86: Browser Prisma namespace wrapper matches internal surface

This generated browser namespace mirrors the internal prismaNamespace exports (Decimal, NullTypes, ModelName, TransactionIsolationLevel, UserScalarFieldEnum, SortOrder) and wires them to the browser runtime as expected. No issues from a consumer standpoint; keeping this file generated-only is appropriate.

examples/react/start-basic-auth/src/prisma-generated/commonInputTypes.ts (1)

1-86: Common filter/input types are structurally consistent

The String* and Nested* filter types are wired correctly to StringFieldRefInput/IntFieldRefInput and nested filter variants from the internal Prisma namespace, matching typical Prisma filter shapes. Safe to keep as generated without manual edits.

examples/react/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (1)

1-738: Internal Prisma namespace surface looks coherent and self‑consistent

This generated namespace cleanly exposes the expected Prisma 7 surface (errors, sql helpers, Decimal/JSON/Null utilities, TypeMap for User, enums, field refs, BatchPayload, client options, logging, and TransactionClient). The TypeMap wiring to Prisma.$UserPayload and User*Args from the models is consistent, and the options/enum shapes align with the rest of the generated client. No changes needed.

e2e/solid-start/basic-auth/src/prisma-generated/enums.ts (1)

1-12: Empty enums module is appropriate for a schema with no enums

Providing an empty, generated enums.ts keeps the Prisma surface and imports consistent even when the schema defines no enums. This matches the pattern used in other updated examples; no action required.

examples/react/start-basic-auth/src/prisma-generated/enums.ts (1)

1-12: Enums placeholder matches Prisma’s generated pattern

This empty enums module correctly acts as a stable import surface for enums in the React start basic-auth example when the schema defines none. Looks good as-is.

e2e/react-start/basic-auth/src/prisma-generated/enums.ts (1)

1-12: E2E enums module aligns with main example surface

The empty enums.ts here mirrors the main example’s generated surface, ensuring enums imports continue to work even with no schema enums. No changes needed.

examples/solid/start-basic-auth/src/prisma-generated/enums.ts (1)

1-12: Solid example’s enums placeholder is consistent and harmless

This empty generated enums module matches the pattern used across the other Prisma 7 basic-auth examples and keeps the public surface stable. Looks fine.

e2e/react-start/basic-auth/package.json (1)

16-18: Prisma 7 + LibSQL dependency declarations are coherent and consistent

The package.json confirms version alignment: both @prisma/client and prisma are pinned to ^7.0.0, and @prisma/adapter-libsql matches at ^7.0.0. The @libsql/client and dotenv dependencies are appropriately scoped. No version conflicts detected.

e2e/react-start/basic-auth/src/prisma-generated/models.ts (1)

1-11: LGTM! Generated barrel export file.

This Prisma-generated barrel export file correctly re-exports model types and includes appropriate guards to prevent manual editing. The structure follows Prisma v7 conventions.

examples/react/start-basic-auth/package.json (1)

14-16: Dependency updates look consistent with the Prisma v7 migration.

The package updates mirror the pattern across other examples in this PR. The version verification requested for e2e/solid-start/basic-auth/package.json applies here as well.

Also applies to: 31-31, 33-33

e2e/solid-start/basic-auth/prisma/schema.prisma (1)

4-7: Generator configuration updated for Prisma v7.

The provider change to "prisma-client" and custom output path align with Prisma v7's new configuration approach.

e2e/react-start/basic-auth/prisma.config.ts (1)

1-2: Configuration setup follows Prisma v7 pattern.

The imports correctly load environment variables and use the new defineConfig API.

e2e/solid-start/basic-auth/prisma.config.ts (1)

1-12: Configuration matches pattern across examples.

This config file follows the same Prisma v7 pattern as the react-start example. The consideration about DATABASE_URL validation/fallback mentioned in e2e/react-start/basic-auth/prisma.config.ts applies here as well.

examples/react/start-basic-auth/src/prisma-generated/models.ts (1)

1-11: LGTM! Generated barrel export file.

This matches the pattern in other generated files across the PR. Proper guards and standard Prisma v7 structure.

examples/solid/start-basic-auth/src/utils/prisma.ts (1)

2-3: Imports updated for Prisma v7 with LibSQL adapter.

The imports correctly reference the adapter and the generated client path.

e2e/solid-start/basic-auth/package.json (1)

16-18: No action needed—all packages are at their latest stable versions with no security advisories.

The specified versions (@prisma/client ^7.0.0, @prisma/adapter-libsql ^7.0.0, @libsql/client ^0.15.15) are the latest stable releases, and no known security vulnerabilities were found for either package.

examples/solid/start-basic-auth/src/prisma-generated/models.ts (1)

1-11: LGTM! Generated barrel export file.

This Prisma-generated barrel file provides a clean centralized entry point for importing User model types and common input types. The structure is correct and follows standard barrel export patterns.

e2e/react-start/basic-auth/src/prisma-generated/browser.ts (1)

1-23: LGTM! Browser-specific entry point is well-structured.

This generated file provides a browser-safe entry point for Prisma types, correctly excluding server-side features like PrismaClient. The clear documentation and separation between client.ts and browser.ts follows best practices for isomorphic applications.

e2e/solid-start/basic-auth/src/prisma-generated/models.ts (1)

1-11: LGTM! Consistent barrel export file.

This generated file matches the pattern used across other projects in this PR, providing a centralized export point for model types.

examples/solid/start-basic-auth/src/prisma-generated/client.ts (2)

12-15: ESM compatibility shim for __dirname.

The globalThis['__dirname'] assignment ensures compatibility with tools that expect __dirname in ESM modules. This is a standard pattern in generated code for ESM environments.


17-51: LGTM! Generated client entry point is well-structured.

This generated file provides the main server-side entry point with proper exports for PrismaClient, the Prisma namespace, enums, and model types. The structure follows Prisma v7 patterns with clear separation from the browser entry point.

e2e/react-start/basic-auth/prisma/schema.prisma (1)

4-11: Schema updates correctly implement Prisma v7 patterns.

Prisma v7 moves datasource configuration (datasource.url, shadowDatabaseUrl, etc.) out of schema.prisma into prisma.config.ts, and schema-level datasource blocks are ignored when a config file is present. The changes shown align with this v7 architecture: the generator provider is correctly set to "prisma-client" with an explicit output path, and the URL has been removed from the datasource block (to be configured in prisma.config.ts). Generators remain in schema.prisma with updated provider values for v7-era clients.

e2e/solid-start/basic-auth/src/prisma-generated/browser.ts (1)

1-23: Generated Prisma browser entry point looks correct.

This is a Prisma-generated file that provides browser-compatible type exports without server-side constructs. The structure correctly exports the Prisma namespace, enums, and User model type for client-side usage.

examples/solid/start-basic-auth/src/prisma-generated/browser.ts (1)

1-23: Generated Prisma browser entry point looks correct.

This is a Prisma-generated file that provides browser-compatible type exports. The structure is consistent with Prisma v7 conventions.

examples/react/start-basic-auth/src/prisma-generated/browser.ts (1)

1-23: Generated Prisma browser entry point looks correct.

This is a Prisma-generated file providing the browser-side type surface. The exports are appropriate for client-side usage.

e2e/solid-start/basic-auth/src/prisma-generated/client.ts (1)

1-51: Generated Prisma client entry point looks correct.

This is a Prisma-generated file that serves as the main server-side entry point. The structure includes:

  • ESM compatibility setup for __dirname (lines 12-15)
  • Standard PrismaClient exports and types (lines 37-44)
  • Model type aliases (line 51)

All exports follow Prisma v7 conventions.

e2e/solid-start/basic-auth/src/utils/prisma.ts (1)

2-8: Prisma v7 adapter initialization looks correct.

The adapter-based initialization follows the correct pattern for Prisma v7 with LibSQL. The fallback to a default database URL ensures the client can be instantiated even when DATABASE_URL is not set.

examples/react/start-basic-auth/src/prisma-generated/client.ts (1)

1-51: Generated Prisma client entry point looks correct.

This is a Prisma-generated file with the standard server-side entry point structure for Prisma v7, including ESM compatibility and proper type exports.

e2e/react-start/basic-auth/src/prisma-generated/commonInputTypes.ts (1)

1-86: Generated Prisma input types look correct.

This is a Prisma-generated file that exports common filter and input types used across models. The type definitions include standard comparison operators and aggregate variants, all properly parameterized with $PrismaModel.

e2e/solid-start/basic-auth/src/prisma-generated/commonInputTypes.ts (1)

1-86: Generated Prisma input types look correct.

This is a Prisma-generated file providing common filter types. The structure is consistent with Prisma v7 conventions and properly typed.

e2e/react-start/basic-auth/src/prisma-generated/client.ts (1)

12-45: Server Prisma client entrypoint looks consistent

The node-specific setup (globalThis['__dirname']) and the PrismaClient/User exports align with the internal class and namespace wiring; nothing stands out here as problematic for the server-only usage this file targets.

examples/solid/start-basic-auth/src/prisma-generated/internal/prismaNamespaceBrowser.ts (1)

17-86: Browser Prisma namespace surface looks correct

The browser runtime wiring (Decimal, NullTypes helpers, model name and enum constants) is consistent with the server prismaNamespace definitions and typical Prisma v7 browser surfaces; no issues spotted.

e2e/react-start/basic-auth/src/prisma-generated/internal/prismaNamespaceBrowser.ts (1)

17-86: Consistent browser Prisma namespace for react-start e2e

This browser-only namespace wrapper matches the structure used in the corresponding example and aligns with the internal Prisma namespace (Decimal, null helpers, model/enums); looks good as-is.

examples/solid/start-basic-auth/src/prisma-generated/commonInputTypes.ts (1)

15-86: Common filter/input type definitions look aligned with Prisma patterns

The string/int filter and nested/aggregate variants follow the expected Prisma shapes and correctly reference the field ref/input types from the internal namespace; no concerns here.

e2e/solid-start/basic-auth/src/prisma-generated/internal/class.ts (1)

16-52: Prisma versions are correctly aligned—no action needed.

The generated clientVersion: '7.0.0' in the class.ts file matches the installed Prisma dependencies in e2e/solid-start/basic-auth/package.json (@prisma/client: ^7.0.0 and prisma: ^7.0.0). The caret constraint satisfies version 7.0.0, so there is no runtime/type mismatch risk.

e2e/react-start/basic-auth/src/prisma-generated/internal/class.ts (1)

16-242: Generated Prisma client wiring looks consistent with Prisma 7

Config, WASM loading, and the PrismaClient type surface all match standard Prisma 7 sqlite output, and the runtime data model matches the inline schema for User. Nothing here looks hand-edited or out of sync; treating this strictly as generated code and regenerating via prisma generate on schema changes should be sufficient.

e2e/solid-start/basic-auth/src/prisma-generated/internal/prismaNamespaceBrowser.ts (1)

17-86: Browser Prisma namespace shim is aligned with the server-side surface

The browser runtime import, type-only re-exports, Decimal/Null helpers, and enum/ModelName constants are all in line with the expected Prisma browser namespace pattern and match the server-side definitions for User. No changes needed as long as this remains generated.

e2e/react-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (1)

21-738: Internal Prisma namespace facade is consistent with the generated User model and client

The exported errors, helpers, utility types, TypeMap for User, enums, and PrismaClientOptions all match the expected Prisma 7 internal surface and line up with the generated User model and class.ts client interface. Looks good to keep as-is as generated output.

examples/solid/start-basic-auth/src/prisma-generated/models/User.ts (1)

18-1323: User model typings are internally consistent and match the Prisma namespace

All User*Args, aggregate/groupBy types, $UserPayload, UserDelegate, and Prisma__UserClient wiring align with the internal TypeMap and shared utility types from prismaNamespace.ts. Aside from generic example comments, this is standard Prisma-generated output and doesn’t need manual adjustment.

examples/solid/start-basic-auth/src/prisma-generated/internal/prismaNamespace.ts (1)

21-738: Solid example Prisma namespace matches the e2e/client surfaces

The exports (errors, helpers, TypeMap, enums, logging types) and the DefaultPrismaClient / TransactionClient wiring are consistent with the prisma-generated User model and class.ts client for the solid start-basic-auth example. This aligns with the Prisma 7 upgrade and appears correct as generated code.

e2e/react-start/basic-auth/src/prisma-generated/models/User.ts (1)

1-20: Generated Prisma User model looks structurally consistent

This file is a standard Prisma 7–generated surface for a User model with email and password only: the aggregate/groupBy types, CRUD arg types, payload, delegate, and UserFieldRefs are internally consistent and match the rest of the generated namespace. No manual changes needed here; just keep it in sync by re-running the generator when the schema changes.

Please confirm this was generated with the same Prisma version and schema as the rest of the project (e.g. by re-running prisma generate after any future schema tweaks).

e2e/solid-start/basic-auth/src/prisma-generated/models/User.ts (1)

1-20: Solid-start User model generation matches the expected Prisma v7 shape

This User model surface is identical in structure to the react-start variant (same inputs, outputs, delegate, and payload wiring) and matches what Prisma 7 generates for User { email, password }. Looks good as-is; rely on regeneration rather than hand edits.

As a quick sanity check, ensure the solid-start and react-start Prisma configs point at the same schema so these generated User types don’t drift.

examples/react/start-basic-auth/src/prisma-generated/models/User.ts (1)

1-20: Example app User model generation is aligned with the other targets

This generated User model file matches the e2e variants (same fields, args, delegate, and payload structure) and is consistent with a Prisma 7 client for User { email, password }. No manual tweaks needed; just keep it regenerated alongside the others when the schema changes.

Consider documenting in the repo that these prisma-generated folders are regenerated artifacts so future contributors don’t try to edit them directly.

e2e/solid-start/basic-auth/src/prisma-generated/internal/prismaNamespace.ts (1)

420-517: TypeMap and User wiring verification confirms coherent integration

All claims in the review have been verified against the actual file:

  • Lines 420–517 contain the exact TypeMapCb interface and TypeMap type definition shown in the snippet, with correct wiring between User operations and their corresponding Prisma types.
  • The JSDoc typos mentioned (* / on line 637 and * og: on line 638) do exist in the file.
  • The file header confirms this is generated code ("This is code generated by Prisma. Do not edit directly."), validating that these typos are upstream and should not be patched locally.

The code changes are sound and correctly integrate the User model's payload, field refs, and CRUD/aggregate/groupBy operations into the runtime. The guidance to verify against upstream Prisma 7 generator output for future TypeScript/intellisense issues is appropriate.

Comment on lines +2 to +8
import { PrismaLibSql } from '@prisma/adapter-libsql'
import { PrismaClient } from '../prisma-generated/client'

export const prismaClient = new PrismaClient()
const adapter = new PrismaLibSql({
url: process.env.DATABASE_URL || 'file:./prisma/dev.db',
})
export const prismaClient = new PrismaClient({ adapter })
Copy link
Contributor

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

Adapter-based PrismaClient initialization looks correct.

The migration to using PrismaLibSql adapter with the generated PrismaClient follows the Prisma v7 adapter pattern. The fallback to 'file:./prisma/dev.db' provides a sensible default for local development.

Verify the LibSQL adapter usage pattern and the default file path convention:


🌐 Web query:

Prisma v7 LibSQL adapter usage with @prisma/adapter-libsql

💡 Result:

Summary + quick example

  1. Install the adapter
  • npm install @prisma/adapter-libsql. [1][2]
  1. Prisma schema (datasource can remain sqlite/file for generation). Example generator/data source:
  • schema.prisma
    datasource db {
    provider = "sqlite"
    url = "file:./dev.db"
    }
    generator client {
    provider = "prisma-client-js"
    // optionally enable driverAdapters preview if using older flows
    }
    (Prisma reads connection from your app code when using driver adapters — not from the schema.) [1]
  1. Create Prisma Client with the LibSQL adapter (runtime connection set in code)
  • Example (Node/TS):
    import { PrismaClient } from '@prisma/client'
    import { PrismaLibSQL } from '@prisma/adapter-libsql'
    const adapter = new PrismaLibSQL({
    url: process.env.LIBSQL_DATABASE_URL,
    authToken: process.env.LIBSQL_DATABASE_TOKEN,
    })
    const prisma = new PrismaClient({ adapter })

This is the recommended runtime wiring for Turso/libSQL. [1][2]

  1. Using Prisma Migrate / db push against LibSQL
  • Use a prisma.config.ts and return a PrismaLibSQL instance from adapter() so prisma db push / pull can run against remote LibSQL. Example pattern shown in prisma docs. [2][5]

Notes / tips

  • Driver adapters require you provide connection info in application code (or prisma.config.ts for migrate), not via the datasource URL. [1]
  • TypedSQL is supported with @prisma/adapter-libsql (unlike better-sqlite3). [3]
  • Check Prisma docs for any version-specific breaking changes or issues (see Prisma repo issues if you hit regressions). [6]

Sources

  • Prisma docs — Database drivers / LibSQL usage. [1]
  • Prisma docs — Turso (LibSQL) adapter + prisma.config.ts examples. [2]
  • Prisma docs — TypedSQL notes. [3]
  • Community / Chinese mirror with migration example. [5]
  • Prisma GitHub issues (regressions / troubleshooting). [6]

Would you like a copy-paste starter repo structure (package.json, .env, prisma.config.ts, schema.prisma, index.ts)?


I need to verify a few more details about the adapter implementation. Let me search for the specific export names and whether a custom-generated PrismaClient works with the LibSQL adapter.

Incorrect adapter export name - fix required.

The correct import from @prisma/adapter-libsql is PrismaLibSQL, not PrismaLibSql as used in the code. The lowercase "sql" will cause a runtime error when the module fails to find the export.

- import { PrismaLibSql } from '@prisma/adapter-libsql'
+ import { PrismaLibSQL } from '@prisma/adapter-libsql'
🤖 Prompt for AI Agents
In e2e/react-start/basic-auth/src/utils/prisma.ts around lines 2 to 8, the
import uses the wrong export name from @prisma/adapter-libsql; change the import
identifier from PrismaLibSql to PrismaLibSQL so it matches the package export,
and keep the rest (instantiating the adapter with DATABASE_URL fallback and
passing it into new PrismaClient) unchanged.

Comment on lines 9 to 11
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
Copy link
Contributor

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 datasource configuration without explicit URL.

The datasource block no longer includes a url field (moved to prisma.config.ts). Ensure this pattern is supported in Prisma v7 and that the configuration is correctly loaded from the config file during generation and runtime.


🌐 Web query:

Does Prisma v7 support datasource blocks without a url field when using prisma.config.ts?

💡 Result:

Short answer: No — Prisma requires a datasource URL. Prisma v7 (and the config migration path) expects a datasource with a url (or directUrl/shadowDatabaseUrl where appropriate); omitting the url causes CLI/runtime errors. [1][2][3]

Sources:

  • Prisma schema docs: datasource.url is a required field. [1]
  • Prisma blog / 6.18.0 notes about moving datasource to prisma.config.ts show examples including url. [2]
  • Recent GitHub issues show CLI errors when the datasource url is missing in config/v7 usage. [3]

Add required url field to datasource block.

Prisma v7 requires a url field in the datasource block; omitting it causes CLI and runtime errors. Even when using prisma.config.ts, the datasource must include a URL configuration. Add the url field to the datasource block in e2e/solid-start/basic-auth/prisma/schema.prisma (lines 9-11), either directly or via an environment variable reference.

🤖 Prompt for AI Agents
In e2e/solid-start/basic-auth/prisma/schema.prisma around lines 9 to 11, the
datasource block is missing the required url field for Prisma v7; add a url
entry to the datasource (for example reference an environment variable like
DATABASE_URL using env("DATABASE_URL") or a sqlite file path) so the datasource
block includes provider and url, then ensure the corresponding env var or path
is configured for tests/runtime.

Comment on lines +1 to +12
import 'dotenv/config'
import { defineConfig, env } from 'prisma/config'

export default defineConfig({
schema: './prisma/schema.prisma',
migrations: {
path: './prisma/migrations',
},
datasource: {
url: env('DATABASE_URL'),
},
})
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

Configuration file looks correct for Prisma v7.

This new config file properly centralizes Prisma configuration using the defineConfig pattern, which replaces the inline url = env("DATABASE_URL") approach from earlier Prisma versions. The dotenv/config import ensures environment variables are loaded.

Verify the prisma.config.ts pattern aligns with Prisma v7 best practices:


🌐 Web query:

Prisma v7 prisma.config.ts configuration file usage

💡 Result:

Summary — prisma.config.ts in Prisma v7 (usage and key options)

  • Purpose: TypeScript-based Prisma CLI configuration (replaces/moves some fields from schema.prisma; becomes required in v7). [1][2]
  • File name & location: prisma.config.* (e.g. prisma.config.ts) in project root, or .config/prisma.* for multi-file setups. CLI detects it when run from project root or via --config. [1][5]
  • How to export:
    • Using helper: export default defineConfig({...}) from "prisma/config".
    • Or type-safe: export default {} satisfies PrismaConfig (import type { PrismaConfig } from "prisma"). [1]
  • Common options (examples):
    • schema: path to schema file or folder (default ./prisma/schema.prisma). [1]
    • datasource / datasource.url: define DB provider/URL here (if present, schema.prisma datasource is ignored). Use env() helper for type-safe env access. [1][2][5]
    • migrations, views, typedSql: configure paths (migrations.path, views.path, typedSql.path). [2]
    • adapter / experimental: for custom migration adapters or enabling experimental features. [1]
  • Environment variables: .env files are NOT automatically loaded inside prisma.config.ts; use env() helper, dotenv, or run with tsx --env-file. Bun auto-loads .env. [1][5]
  • CLI behavior:
    • Run Prisma commands from project root so CLI finds prisma.config.ts, or pass --config ./path/to/prisma.config.ts. Global installs may not detect local config — prefer local Prisma. [1]
  • Migration note: v6.x introduced and encouraged migration to prisma.config.ts ahead of v7; datasource in config must set engine key (classic) for some setups. See changelog for migration guidance. [2][3]

References
[1] Prisma docs — Prisma Config reference (prisma.config.ts).
[2] Prisma changelog / blog about prisma.config.ts adoption and options (preparing for v7).
[3] Prisma blog posts on v6.x → v7 migration and prisma.config.ts notes.


Add provider field to datasource configuration.

The Prisma v7 configuration uses defineConfig correctly and the env() helper is properly used for type-safe environment variable access. However, the datasource configuration is incomplete. The datasource should specify both the DB provider and URL—the current config only includes url: env('DATABASE_URL') but is missing the provider field (e.g., provider: 'postgresql'). Update the datasource block to:

datasource: {
  provider: 'postgresql', // or your DB provider
  url: env('DATABASE_URL'),
},
🤖 Prompt for AI Agents
In examples/react/start-basic-auth/prisma.config.ts around lines 1 to 12, the
datasource block is missing the required provider field; update the datasource
to include a provider entry (for example provider: 'postgresql' or whichever DB
you use) alongside the existing url: env('DATABASE_URL'), so the datasource
contains both provider and url.

Comment on lines 4 to 11
generator client {
provider = "prisma-client-js"
provider = "prisma-client"
output = "../src/prisma-generated"
}

datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

Consistent Prisma v7 schema updates.

The schema changes are identical to those in e2e/react-start/basic-auth/prisma/schema.prisma, ensuring consistency across the React starter projects. The migration pattern looks appropriate.

Verify that the Prisma v7 configuration is consistent with the latest documentation:


🌐 Web query:

Prisma v7 migration guide and generator configuration

💡 Result:

Short migration checklist + example config and generator settings for Prisma v7.

What changed (high level)

  • Prisma v7 centralizes project config in prisma.config.ts (datasource, migrations, outputs, drivers). (prisma.io)
  • The new ESM-compatible generator named prisma-client replaces prisma-client-js and becomes the default in v7; it supports custom output location, runtimes (Node/Bun/Deno/Cloudflare), module format, file extensions, and engineType options. (prisma.io)
  • Migrate commands remain (npx prisma migrate dev / deploy / resolve / diff) but migration paths and shadow DB behavior can now be configured from prisma.config.ts. (prisma.io)

Minimal migration steps

  1. Install/upgrade to the latest v6.x that includes prisma.config.ts support, then prepare to move to v7. (prisma.io)
  2. Add prisma.config.ts at project root and move datasource/migration/view/typedSql paths and any driver adapters into it. Example fields: schema, migrations.path, views.path, typedSql.path, engine, drivers. (prisma.io)
  3. Update generator in schema.prisma to the new generator (or add it) and point output outside node_modules:

Example generator block (schema.prisma)
generator client {
provider = "prisma-client"
output = "./src/generated/client"
runtime = "nodejs" // runtime target (nodejs, deno, bun, cloudflare, etc.)
moduleFormat = "esm" // "esm" or "cjs"
generatedFileExtension = "ts" // generated files extension
importFileExtension = "ts" // imports extension used in generated code
engineType = "client" // opt into Rust-free / JS-only engine if desired
}

(Keep your datasource in prisma.config.ts when using that file; datasource in schema.prisma will be ignored when Prisma Config is present.) (prisma.io)

Example prisma.config.ts (minimal)
export default defineConfig({
schema: "./prisma/schema.prisma",
migrations: { path: "./prisma/migrations" },
views: { path: "./prisma/views" },
typedSql: { path: "./prisma/queries" },
datasource: {
provider: "postgresql",
url: process.env.DATABASE_URL,
},
engine: "classic", // or other engine options during migration
// optionally set drivers/adapters or experimental flags here
});

Keys/notes

  • generator.provider: use "prisma-client" for the new ESM-first client (v7 default). Existing projects can keep using "prisma-client-js" until fully migrated. (prisma.io)
  • Configure output to avoid generating into node_modules. (prisma.io)
  • Use npx prisma generate after changing generator. Then run migration workflow: npx prisma migrate dev to create/dev migrations, npx prisma migrate deploy for CI/production. For custom workflows (baseline existing DBs) use prisma migrate resolve or prisma migrate diff to produce SQL. (thenile.dev)
  • Install any database driver adapters required by the new config/CLI (example: @prisma/adapter-pg for some Postgres setups) if your setup requires it. (prisma.io)

If you want, I can:

  • produce a tailored prisma.config.ts + schema.prisma patch for your repo (tell me your current schema, generator block, and whether you use ESM/TS/Bun/Deno), or
  • walk through baseline/introspect steps if you have an existing DB to preserve.

Sources

  • Prisma changelog / prisma.config.ts & migration notes. [1]. (prisma.io)
  • Prisma ORM blog posts about the new prisma-client generator and prisma.config.ts (ESM generator preview, v6.x → v7 preparation). [2][3]. (prisma.io)
  • Example migration workflows / migrate diff usage (community guide). [4]. (thenile.dev)

Which of the follow-ups would you like: (A) I generate the exact prisma.config.ts + updated generator for your repo (I’ll need your schema and target runtime), or (B) step-by-step commands to migrate an existing production DB?

Citations:



---

🏁 Script executed:

```shell
#!/bin/bash
# Search for prisma.config.ts files in the repository
fd -e ts -n prisma.config examples/react/start-basic-auth
fd -e ts -n prisma.config . --type f | head -20

# Also check for prisma directory structure
find examples/react/start-basic-auth/prisma -type f 2>/dev/null | head -20

Length of output: 461



---

🏁 Script executed:

```shell
#!/bin/bash
# Search for prisma.config.ts files correctly
find . -name "prisma.config.ts" -type f 2>/dev/null

# Check schema.prisma in the examples directory
find examples/react/start-basic-auth/prisma -type f

# Show content of schema.prisma to check for datasource
cat examples/react/start-basic-auth/prisma/schema.prisma 2>/dev/null || echo "File not found"

Length of output: 696



---

🏁 Script executed:

```shell
#!/bin/bash
# Check prisma.config.ts content
cat examples/react/start-basic-auth/prisma.config.ts

Length of output: 247


Remove datasource block from schema.prisma—it's ignored in Prisma v7 when prisma.config.ts is present.

Per the Prisma v7 migration guide, "datasource in schema.prisma will be ignored when Prisma Config is present." The datasource should only be defined in prisma.config.ts, which is correctly configured here. Remove the datasource db { provider = "sqlite" } block from schema.prisma to align with v7 best practices and avoid confusion.

🤖 Prompt for AI Agents
In examples/react/start-basic-auth/prisma/schema.prisma around lines 4 to 11,
the schema contains a datasource block that is ignored in Prisma v7 when a
prisma.config.ts is present; remove the entire datasource db { provider =
"sqlite" } block from schema.prisma so datasource configuration is sourced only
from prisma.config.ts and commit the cleaned schema file to avoid confusion.

Comment on lines +14 to +16
"@libsql/client": "^0.15.15",
"@prisma/adapter-libsql": "^7.0.0",
"@prisma/client": "^7.0.0",
Copy link
Contributor

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 compatibility between Prisma v7 and LibSQL adapter packages.

The changes introduce a major version upgrade from Prisma v5 to v7 alongside new LibSQL adapter dependencies. Ensure that all three packages (@libsql/client, @prisma/adapter-libsql, and @prisma/client) are compatible and that v7.0.0 is a stable release.


🌐 Web query:

What is the latest stable version of @prisma/adapter-libsql and is it compatible with @libsql/client 0.15.x?

💡 Result:

Latest stable: @prisma/adapter-libsql v6.15.0. [1]

Compatibility: Yes — the Prisma libsql adapter is intended to be used with @libsql/client (including the 0.15.x series) and Prisma docs/examples show using the adapter with @libsql/client 0.15.x. [2][3]

Sources:

  • npm package page for @prisma/adapter-libsql (version listing). [1]
  • Prisma documentation — Database drivers / LibSQL adapter. [2]
  • @libsql/client changelog (0.15.x entries). [3]

🌐 Web query:

Prisma v7.0.0 release date stable version

💡 Result:

Prisma v7.0.0 has not been published as a stable release as of today (November 20, 2025). The Prisma team’s public roadmap names "Release Prisma 7" as a goal for Q4 2025, but the official releases/changelog and GitHub releases still show v6.x as the latest stable series. [1][2][3]

Sources:

  • Prisma roadmap (Q4 2025: “Release Prisma 7”). [1]
  • Prisma changelog / recent stable releases (latest in v6.x). [2]
  • Prisma GitHub (ongoing v7-related issues; no v7.0.0 release tag present). [3]

Incorrect package versions: Prisma v7 has not been released as stable.

The dependencies specify @prisma/client@^7.0.0 and @prisma/adapter-libsql@^7.0.0, but neither version exists as a stable release as of November 20, 2025. Prisma v7 is on the Q4 2025 roadmap but not yet released; the latest stable versions are:

  • @prisma/client@^6.x
  • @prisma/adapter-libsql@^6.15.0

Update to stable versions to avoid installation failures and unintended pre-release dependencies.

🤖 Prompt for AI Agents
In examples/solid/start-basic-auth/package.json around lines 14 to 16, the
package versions for @prisma/client and @prisma/adapter-libsql are set to ^7.0.0
which is not a released stable version; change them to the current stable lines
(e.g. @prisma/client to ^6.x and @prisma/adapter-libsql to ^6.15.0) so
package.json references valid, released versions and avoid installation
failures; update the version strings accordingly and run npm install (or yarn)
to verify no other dependency conflicts.

Comment on lines +1 to +12
import 'dotenv/config'
import { defineConfig, env } from 'prisma/config'

export default defineConfig({
schema: './prisma/schema.prisma',
migrations: {
path: './prisma/migrations',
},
datasource: {
url: env('DATABASE_URL'),
},
})
Copy link
Contributor

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 v7 configuration syntax and best practices.

This configuration file follows what appears to be the Prisma v7 pattern with defineConfig and environment variable loading. Please confirm that:

  1. The prisma/config import path and exports (defineConfig, env) are correct for Prisma v7
  2. The dotenv/config side-effect import is the recommended approach for loading environment variables in Prisma v7, or if Prisma v7 has built-in environment variable handling
  3. All required configuration fields are present (e.g., no missing adapter configuration for LibSQL mentioned in the PR summary)

Run the following script to check the Prisma v7 documentation and verify the configuration:

Additionally, please search for the latest Prisma v7 configuration documentation:


🏁 Script executed:

#!/bin/bash
# Description: Verify Prisma configuration by checking package.json and schema

# Check Prisma version in package.json
echo "=== Prisma version in package.json ==="
fd -t f "package.json" examples/solid/start-basic-auth --exec cat {} | jq '.dependencies.prisma, .devDependencies.prisma, .dependencies."@prisma/client", .dependencies."@prisma/adapter-libsql"'

# Check if schema file exists
echo -e "\n=== Prisma schema file ==="
cat examples/solid/start-basic-auth/prisma/schema.prisma

# Check if migrations directory exists
echo -e "\n=== Migrations directory ==="
fd -t d migrations examples/solid/start-basic-auth/prisma

Length of output: 474


🌐 Web query:

Prisma v7 prisma.config.ts file syntax and configuration options

💡 Result:

Summary — Prisma v7 prisma.config.ts (syntax & common options)

Minimal file shape

  • Export a default config object (either using defineConfig from "prisma/config" or the PrismaConfig type) from prisma.config.ts. Example:
    import { defineConfig, env } from "prisma/config";
    export default defineConfig({
    schema: "./prisma/schema.prisma",
    datasource: { url: env("DATABASE_URL") },
    generator: { client: { provider: "prisma-client", output: "./generated" } },
    migrations: { path: "./prisma/migrations" },
    });

Core config fields (most used)

  • schema: string | string[] — path(s) to schema.prisma or a folder (relative to the config file). Default: ./prisma/schema.prisma and ./schema.prisma. [1]
  • datasource: { url: string | env("NAME"), provider?: string, ... } — datasource can be declared in prisma.config.ts (if present it overrides datasource in schema.prisma). Use env() helper for typed env access. [1][2]
  • generator: object — generator configuration previously in schema.prisma (e.g., prisma-client). In v7 the prisma-client generator is default. [2]
  • migrations: { path: string } — custom migrations folder location (migrations path must be colocated with the schema that defines the datasource unless overridden). [2]
  • views: { path: string } — location for SQL view definition files. [2]
  • typedSql: { path: string } — location for Typed SQL query files. [2]
  • adapter: () => Promise — async function returning a driver adapter (for non-default DB drivers, e.g., D1). Requires enabling experimental/adapter flag in some versions. Example pattern in docs. [1]
  • engine / experimental / earlyAccess flags — used for migration from v6 to v7 or to enable preview/early features (engine may accept "classic" in migration setups). [2][1]

Other notes / behaviors

  • Supported filenames/extensions: prisma.config.ts (or .config/prisma.ts) and .js/.ts/.mjs/.cjs/.mts/.cts variants. [1]
  • Paths in config (schema, migrations, views, typedSql) are resolved relative to the config file location. CLI discovery rules differ by package manager (pnpm vs npm exec vs global). You can pass --config to override file location. [1]
  • .env files are not automatically loaded by Node when running prisma CLI with the config file; use env() helper or run via tsx with --env-file; Bun auto-loads .env. [1]
  • When a datasource is defined in prisma.config.ts, it replaces/overrides the datasource block in schema.prisma for CLI operations. [2]

References

  • Prisma Config reference (fields, examples, path resolution, env helper, adapters). [1]
  • Prisma changelog / migration notes for prisma.config.ts and datasource/generator behavior (preparing for v7). [2]

</web_search>


🏁 Script executed:

#!/bin/bash
# Check for client initialization or adapter usage elsewhere in the project
echo "=== Searching for adapter usage in project ==="
rg -n "adapter" examples/solid/start-basic-auth --type ts --type js -C 2

echo -e "\n=== Searching for Prisma client usage ==="
rg -n "PrismaClient" examples/solid/start-basic-auth --type ts --type js -C 2

echo -e "\n=== Check src/prisma-generated if it exists ==="
fd -t f prisma.client.js examples/solid/start-basic-auth && echo "Found prisma.client.js" || echo "prisma.client.js not found"

echo -e "\n=== List all files in examples/solid/start-basic-auth ==="
find examples/solid/start-basic-auth -type f -name "*.ts" -o -name "*.js" | head -20

Length of output: 554


🌐 Web query:

Prisma v7 LibSQL adapter configuration prisma.config.ts

💡 Result:

Summary + minimal example

  1. Install the LibSQL adapter:
  • npm install @prisma/adapter-libsql. [1]
  1. Add env vars (example):
  • LIBSQL_DATABASE_URL and LIBSQL_DATABASE_TOKEN in your .env. [1]
  1. Example prisma.config.ts (TypeScript) — uses the LibSQL migrate adapter:

import path from 'node:path'
import { defineConfig } from 'prisma/config'
import { PrismaLibSQL } from '@prisma/adapter-libsql'
import 'dotenv/config'

type Env = {
LIBSQL_DATABASE_URL: string
LIBSQL_DATABASE_TOKEN: string
}

export default defineConfig({
earlyAccess: true,
schema: path.join('prisma', 'schema.prisma'),
migrate: {
async adapter(env) {
return new PrismaLibSQL({
url: env.LIBSQL_DATABASE_URL,
authToken: env.LIBSQL_DATABASE_TOKEN,
})
},
},
})

Notes

  • When datasource is supplied in prisma.config.ts, Prisma ignores datasource in schema.prisma; use the config file for driver-adapter workflows. [2][3]
  • Use prisma migrate/db commands (e.g., npx prisma db push) per the adapter docs. [1]

Sources
[1] Turso / Prisma docs — LibSQL adapter example and env vars. (prisma.dokyumento.jp)
[2] Prisma config reference (prisma.config.ts options & adapter pattern). (prisma.io)
[3] Prisma changelog / prisma.config.ts guidance. (prisma.io)

Citations:


Add missing LibSQL adapter configuration to prisma.config.ts

The configuration file currently uses basic SQLite configuration but the project has @prisma/adapter-libsql installed. LibSQL adapter configuration requires importing PrismaLibSQL, setting earlyAccess: true, and using a migrate.adapter() async function pattern.

The current config needs:

  • Import PrismaLibSQL from @prisma/adapter-libsql
  • Add earlyAccess: true
  • Replace the simple datasource field with a migrate.adapter() function
  • Use LIBSQL_DATABASE_URL and LIBSQL_DATABASE_TOKEN environment variables instead of generic DATABASE_URL

Example pattern from Prisma documentation shows the adapter should be configured as an async function within the migrate field, not as a top-level datasource.url.

🤖 Prompt for AI Agents
In examples/solid/start-basic-auth/prisma.config.ts around lines 1 to 12,
replace the current SQLite-style datasource config with the LibSQL adapter
setup: import PrismaLibSQL from '@prisma/adapter-libsql', set earlyAccess: true,
remove the top-level datasource.url and instead configure migrate.adapter as an
async function that constructs and returns PrismaLibSQL using
env('LIBSQL_DATABASE_URL') and env('LIBSQL_DATABASE_TOKEN') while preserving the
migrations.path; ensure the new migrate.adapter call uses the async pattern from
the Prisma docs and that earlyAccess: true is passed to the adapter.

Comment on lines 4 to 7
generator client {
provider = "prisma-client-js"
provider = "prisma-client"
output = "../src/prisma-generated"
}
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

Verify Prisma client output directory is configured and consumed correctly.

The generator now specifies output = "../src/prisma-generated" for Prisma v7. Ensure:

  • The relative path resolves correctly from the schema location
  • The generated client surface is properly imported and used in the application
  • The output directory is added to .gitignore to prevent committing generated artifacts

Run this script to verify the configuration and generated output directory:


🏁 Script executed:

#!/bin/bash
# Check if prisma.config.ts exists in the project root
find examples/solid/start-basic-auth -name "prisma.config.ts" -o -name "prisma.config.js"

# Check the actual project structure to verify path resolution
ls -la examples/solid/start-basic-auth/src/ 2>/dev/null || echo "src directory not found"

# Search for imports of the generated client in the codebase
rg -n "prisma-generated" examples/solid/start-basic-auth/src/ 2>/dev/null || echo "No imports found"

# Check .gitignore for the generated output directory
cat examples/solid/start-basic-auth/.gitignore 2>/dev/null | grep -E "prisma-generated|generated"

Length of output: 1143


🏁 Script executed:

#!/bin/bash
# Check if .gitignore exists and display its full content
if [ -f "examples/solid/start-basic-auth/.gitignore" ]; then
  echo "=== .gitignore content ==="
  cat "examples/solid/start-basic-auth/.gitignore"
else
  echo ".gitignore file not found in examples/solid/start-basic-auth"
fi

Length of output: 263


Add prisma-generated to .gitignore to exclude generated artifacts from version control.

The Prisma client output directory is correctly configured at ../src/prisma-generated and is properly imported in the application. However, the .gitignore file does not currently exclude this generated directory. Generated Prisma client artifacts should not be committed to the repository. Add prisma-generated to examples/solid/start-basic-auth/.gitignore.

🤖 Prompt for AI Agents
In examples/solid/start-basic-auth/prisma/schema.prisma around lines 4 to 7, the
Prisma client generator outputs to ../src/prisma-generated but the generated
artifacts are not excluded from version control; open
examples/solid/start-basic-auth/.gitignore and add an entry for prisma-generated
(one line, e.g., prisma-generated) to ensure the generated client directory is
ignored and then commit the updated .gitignore.

Comment on lines +5 to +8
const adapter = new PrismaLibSql({
url: process.env.DATABASE_URL || 'file:./prisma/dev.db',
})
export const prismaClient = new PrismaClient({ adapter })
Copy link
Contributor

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

Good adapter initialization with development fallback.

The LibSQL adapter setup correctly includes a fallback to a local file for development environments. This pattern is more resilient than the prisma.config.ts files which don't have fallbacks.

Verify that the PrismaLibSql adapter API is correctly used according to the latest documentation:


🌐 Web query:

How to initialize PrismaClient with PrismaLibSql adapter in Prisma v7?

💡 Result:

Use the Prisma LibSQL adapter and pass it to PrismaClient via the adapter option. Example:

TypeScript/JS:
import { PrismaClient } from '@prisma/client'
import { PrismaLibSQL } from '@prisma/adapter-libsql'

const adapter = new PrismaLibSQL({
url: process.env.LIBSQL_DATABASE_URL!,
authToken: process.env.LIBSQL_DATABASE_TOKEN,
})

const prisma = new PrismaClient({ adapter })

You can also instantiate the adapter from a driver instance (older pattern), but the recommended pattern is to construct PrismaLibSQL with the connection options and pass it to new PrismaClient({ adapter }). [1][2]

Sources:
[1] Prisma docs — Database drivers (driver adapters example).
[2] @prisma/adapter-libsql npm README (usage example).


Class name capitalization appears incorrect; verify PrismaLibSql vs PrismaLibSQL.

The adapter initialization pattern matches Prisma v7 documentation, but the class name shows a discrepancy. The documented import is import { PrismaLibSQL } from '@prisma/adapter-libsql', whereas the code uses PrismaLibSql. This capitalization difference would cause a runtime error if the correct export is indeed PrismaLibSQL with both "SQL" in uppercase.

The fallback pattern and overall adapter usage are correct. The environment variable naming and omission of the optional authToken are acceptable project-level choices.

Action: Update the class instantiation to match the documented export name. If PrismaLibSQL is correct, change line 5 from new PrismaLibSql({ to new PrismaLibSQL({.

🤖 Prompt for AI Agents
In examples/solid/start-basic-auth/src/utils/prisma.ts around lines 5 to 8, the
adapter class name is mis-capitalized: replace the instantiation using
PrismaLibSql with the documented export PrismaLibSQL; update line 5 to construct
new PrismaLibSQL({...}) so the import and usage match the package export and
avoid runtime errors.

@birkskyum birkskyum merged commit 5e7ad48 into main Nov 20, 2025
6 checks passed
@birkskyum birkskyum deleted the update-to-prisma-7 branch November 20, 2025 18:44
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