Skip to content

Comments

chore(deps): upgrade dependencies and migrate to Prisma 7, Tailwind 4, and Next.js 16#15

Open
Copilot wants to merge 4 commits intomainfrom
copilot/update-dependencies-and-fix-build
Open

chore(deps): upgrade dependencies and migrate to Prisma 7, Tailwind 4, and Next.js 16#15
Copilot wants to merge 4 commits intomainfrom
copilot/update-dependencies-and-fix-build

Conversation

Copy link

Copilot AI commented Feb 7, 2026

  • Run pnpm outdated to identify all outdated dependencies
  • Run pnpm update --latest to update all dependencies to their latest versions
  • Fix Prisma 7 migration (remove url from datasource, create prisma.config.ts with datasource.url, remove driverAdapters preview feature, update PrismaNeon to use new PoolConfig API)
  • Fix Tailwind CSS v4 migration (CSS-first @theme config, replace tailwindcss-animate with tw-animate-css, update PostCSS to @tailwindcss/postcss, remove tailwind.config.ts)
  • Fix ESLint config migration (direct flat config imports from eslint-config-next 16, remove @eslint/eslintrc)
  • Fix Next.js 16 changes (update lint script from deprecated next lint to eslint .)
  • Fix Motion v12 TypeScript errors (transition ease type, remove unsupported exit in transition)
  • Restore IS_TEST bypass in database.ts for test environments
  • Add datasource URL to prisma.config.ts for CLI commands (migrate, introspect)
  • TypeScript compilation passes cleanly (tsc --noEmit exits 0)
  • Prisma generate works correctly
  • Code review completed - addressed all feedback
Original prompt

Run pnpm outdated to update the dependencies for this project to latest. Run build command to fix build error if has


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

@vercel
Copy link

vercel bot commented Feb 7, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dashboard-chainlab Ready Ready Preview, Comment Feb 8, 2026 4:38am

Request Review

Co-authored-by: sirily11 <32106111+sirily11@users.noreply.github.com>
- Prisma 6→7: Remove url from datasource, add prisma.config.ts, update adapter usage
- Tailwind CSS 3→4: CSS-first config, replace tailwindcss-animate with tw-animate-css
- Next.js 15→16: Update lint script (next lint deprecated)
- ESLint config: Direct flat config imports from eslint-config-next 16
- Motion v12: Fix transition type errors in QRCodePanel
- PostCSS: Switch to @tailwindcss/postcss
- Keep eslint at v9 for plugin compatibility

Co-authored-by: sirily11 <32106111+sirily11@users.noreply.github.com>
Copilot AI changed the title [WIP] Update project dependencies to latest version Update all dependencies to latest versions Feb 7, 2026
Copilot AI requested a review from sirily11 February 7, 2026 19:49
@sirily11 sirily11 marked this pull request as ready for review February 7, 2026 20:04
Copilot AI review requested due to automatic review settings February 7, 2026 20:04
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the project’s dependencies to their latest versions and adjusts configuration/code to accommodate major breaking changes (Next.js 16, Prisma 7, Tailwind CSS 4, ESLint flat config, Motion v12).

Changes:

  • Upgraded dependencies across the stack (Next.js/React, Prisma, Tailwind, ESLint, Motion, Zod, etc.).
  • Migrated Tailwind to v4 CSS-first setup (PostCSS plugin change, globals theme variables, removed tailwind.config.ts).
  • Updated Prisma Neon adapter usage and ESLint config to match new major versions.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tailwind.config.ts Removed Tailwind v3 JS config as part of Tailwind v4 migration.
src/lib/database.ts Updated Prisma Neon adapter initialization (now uses PoolConfig form) and removed test-only Prisma client path.
src/components/attendance/QRCodePanel.tsx Adjusted Motion transition typing/shape for v12 compatibility.
src/app/globals.css Migrated Tailwind setup to @import + @theme inline variables and redefined custom keyframes/animations.
prisma/schema.prisma Removed driverAdapters preview feature and removed datasource url.
prisma.config.ts Added Prisma config file pointing at prisma/schema.prisma.
postcss.config.mjs Switched PostCSS Tailwind plugin to @tailwindcss/postcss for Tailwind v4.
package.json Updated dependency versions; switched lint script from next lint to eslint ..
eslint.config.mjs Replaced FlatCompat usage with Next 16 flat-config exports.
components.json Cleared Tailwind config path in shadcn/ui config to match Tailwind v4 setup.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

}

datasource db {
provider = "postgresql"
Copy link

Copilot AI Feb 7, 2026

Choose a reason for hiding this comment

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

datasource db no longer declares a url, but the repo still uses Prisma CLI commands (e.g. prisma migrate dev via pnpm migrate:*). Without a datasource URL, Prisma Migrate/introspection typically fails because the CLI can’t determine what database to connect to. Either restore url = env("DATABASE_URL") (even if runtime uses a driver adapter), or configure Prisma’s new config (prisma.config.ts) to provide the datasource URL for CLI operations.

Suggested change
provider = "postgresql"
provider = "postgresql"
url = env("DATABASE_URL")

Copilot uses AI. Check for mistakes.
Copy link
Author

Choose a reason for hiding this comment

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

In Prisma 7, url in the datasource block is no longer allowed (it throws a validation error). Instead, I've added datasource.url to prisma.config.ts which provides the URL for CLI commands like prisma migrate dev. Fixed in 2a93d17.

Comment on lines 9 to 10
neonConfig.webSocketConstructor = ws;
const connectionString = `${process.env.DATABASE_URL}`;
Copy link

Copilot AI Feb 7, 2026

Choose a reason for hiding this comment

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

The IS_TEST bypass was removed, so Playwright e2e tests that import prisma from this module (and set IS_TEST=true in .env.test) will now always use the Neon driver adapter + WebSocket configuration. This can break tests/local runs if the Neon serverless driver can’t connect to the test Postgres instance (and it also changes behavior vs. previous test setup). Consider restoring the test-only new PrismaClient() path or otherwise selecting the adapter conditionally (e.g. only for Neon URLs/environments).

Suggested change
neonConfig.webSocketConstructor = ws;
const connectionString = `${process.env.DATABASE_URL}`;
const connectionString = `${process.env.DATABASE_URL}`;
const isTest =
process.env.IS_TEST === "true" || process.env.NODE_ENV === "test";
const isNeon =
typeof connectionString === "string" &&
connectionString.includes("neon.tech");
// In tests, or when not using a Neon database URL, use the default driver.
if (isTest || !isNeon) {
return new PrismaClient();
}
neonConfig.webSocketConstructor = ws;

Copilot uses AI. Check for mistakes.
@sirily11
Copy link
Contributor

sirily11 commented Feb 8, 2026

@copilot

The IS_TEST bypass was removed, so Playwright e2e tests that import prisma from this module (and set IS_TEST=true in .env.test) will now always use the Neon driver adapter + WebSocket configuration. This can break tests/local runs if the Neon serverless driver can’t connect to the test Postgres instance (and it also changes behavior vs. previous test setup). Consider restoring the test-only new PrismaClient() path or otherwise selecting the adapter conditionally (e.g. only for Neon URLs/environments).

…prisma.config.ts

- Restored conditional PrismaClient path for test environments (IS_TEST=true)
  so Playwright e2e tests use the default driver instead of Neon adapter
- Added datasource.url to prisma.config.ts so Prisma CLI commands
  (migrate, introspect) can resolve the database connection

Co-authored-by: sirily11 <32106111+sirily11@users.noreply.github.com>
Copy link
Author

Copilot AI commented Feb 8, 2026

@copilot

The IS_TEST bypass was removed, so Playwright e2e tests that import prisma from this module (and set IS_TEST=true in .env.test) will now always use the Neon driver adapter + WebSocket con...

Restored the IS_TEST conditional bypass in database.ts so test environments use new PrismaClient() directly without the Neon adapter. Fixed in 2a93d17.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • checkpoint.prisma.io
    • Triggering command: /opt/hostedtoolcache/node/24.13.0/x64/bin/node /opt/hostedtoolcache/node/24.13.0/x64/bin/node /home/REDACTED/work/dashboard-chainlab/dashboard-chainlab/node_modules/.pnpm/prisma@7.3.0_@types&#43;react@19.2.13_react-dom@19.2.4_react@19.2.4__react@19.2.4_typescript@5.9.3/node_modules/prisma/build/child {&#34;product&#34;:&#34;prisma&#34;,&#34;version&#34;:&#34;7.3.0&#34;,&#34;cli_install_type&#34;:&#34;local&#34;,&#34;information&#34;:&#34;&#34;,&#34;local_timestamp&#34;:&#34;2026-02-08T04:35:23Z&#34;,&#34;project_hash&#34;:&#34;00064dbc&#34;,&#34;cli_path&#34;:&#34;/home/REDACTED/work/dashboard-chainlab/dashboard-chainlab/node_modules/prisma/build/index.js&#34;,&#34;c (dns block)
    • Triggering command: /opt/hostedtoolcache/node/24.13.0/x64/bin/node /opt/hostedtoolcache/node/24.13.0/x64/bin/node /home/REDACTED/work/dashboard-chainlab/dashboard-chainlab/node_modules/.pnpm/prisma@7.3.0_@types&#43;react@19.2.13_react-dom@19.2.4_react@19.2.4__react@19.2.4_typescript@5.9.3/node_modules/prisma/build/child {&#34;product&#34;:&#34;prisma&#34;,&#34;version&#34;:&#34;7.3.0&#34;,&#34;cli_install_type&#34;:&#34;local&#34;,&#34;information&#34;:&#34;&#34;,&#34;local_timestamp&#34;:&#34;2026-02-08T04:35:59Z&#34;,&#34;project_hash&#34;:&#34;00064dbc&#34;,&#34;cli_path&#34;:&#34;/home/REDACTED/work/dashboard-chainlab/dashboard-chainlab/node_modules/prisma/build/index.js&#34;,&#34;c (dns block)
    • Triggering command: /opt/hostedtoolcache/node/24.13.0/x64/bin/node /opt/hostedtoolcache/node/24.13.0/x64/bin/node /home/REDACTED/work/dashboard-chainlab/dashboard-chainlab/node_modules/.pnpm/prisma@7.3.0_@types&#43;react@19.2.13_react-dom@19.2.4_react@19.2.4__react@19.2.4_typescript@5.9.3/node_modules/prisma/build/child {&#34;product&#34;:&#34;prisma&#34;,&#34;version&#34;:&#34;7.3.0&#34;,&#34;cli_install_type&#34;:&#34;local&#34;,&#34;information&#34;:&#34;&#34;,&#34;local_timestamp&#34;:&#34;2026-02-08T04:36:52Z&#34;,&#34;project_hash&#34;:&#34;00064dbc&#34;,&#34;cli_path&#34;:&#34;/home/REDACTED/work/dashboard-chainlab/dashboard-chainlab/node_modules/prisma/build/index.js&#34;,&#34;c (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@autopilot-project-manager autopilot-project-manager bot changed the title Update all dependencies to latest versions chore(deps): upgrade dependencies and migrate to Prisma 7, Tailwind 4, and Next.js 16 Feb 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants