Skip to content

Feature: rebase/deps-major to dev - #407

Closed
github-actions[bot] wants to merge 3 commits into
devfrom
rebase/deps-major
Closed

github-actions[bot] wants to merge 3 commits into
devfrom
rebase/deps-major

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Automated PR tracking changes from rebase/deps-major into dev.


Note

High Risk
Touches payment flows (Stripe tRPC + new Stripe.js majors), auth email delivery, and Zod 4 validation across API/DB with only small explicit migration fixes—regression risk is broad until full build/test passes.

Overview
This PR bumps the monorepo onto TypeScript 7, Zod 4, Vitest 5 (with Vite 7), and aligned Next/React/tRPC/Tailwind versions across root, apps, and shared packages.

Runtime / API adjustments for the upgrades: createPaymentIntent input uses Zod 4’s .prefault({}) instead of .default({}). Email sign-in handles nodemailer 10 by treating result.pending as optional when building the failed-recipient list. Router tests use RFC-style UUIDv4 strings (variant nibble 4) instead of all-zero IDs, likely matching stricter UUID validation under Zod 4.

Notable dependency moves on the main site: @stripe/react-stripe-js and @stripe/stripe-js jump to new major lines, plus qrcode.react v4. Everything else is largely version alignment in package.json files (Drizzle, Stripe server SDK, auth adapter, eslint/prettier tooling).

Reviewed by Cursor Bugbot for commit 2e3a04a. Bugbot is set up for automated code reviews on this repo. Configure here.

Move every workspace package to TypeScript 7.0.2, including
sites/hacklytics2027 (was 5.8.3). No tsconfig or source changes were
needed; tsc --noEmit and next build type checking both pass on 7.

tooling/eslint stays on TypeScript 6.0.2 on purpose: TS 7 no longer
ships the classic JS API, and typescript-eslint (latest 8.70.1) still
requires typescript <6.1.0. Every lint config resolves typescript-eslint
through @query/eslint-config, so pinning it there keeps lint working
while the rest of the repo compiles with TS 7.
Brings every dependency with a same-major update to its latest release,
including Next.js 16.3.6 (latest stable), tRPC 11.19, TanStack Query
5.103, drizzle, Tailwind 4.3, React 19.3, eslint 10.11 and
typescript-eslint 8.70.1. No source changes needed.
- zod 3 -> 4. `.default({})` on the createPaymentIntent input now uses
  `.prefault({})`, which keeps zod 3's behaviour of running the inner
  field defaults. zod 4's `.uuid()` is RFC-strict; the database only
  generates v4 ids (defaultRandom), so the stricter check stays and the
  router test fixtures now use valid UUIDs instead of 0000...0001.
- nodemailer 9 -> 10: `SentMessageInfo.pending` is optional; guard it.
- vitest 4 -> 5: vite is now a peer dependency, so it is installed
  explicitly at the root and in @query/api.
- @stripe/stripe-js 5 -> 9, @stripe/react-stripe-js 3 -> 6, dotenv 16 -> 18,
  qrcode.react 3 -> 4, cross-env 7 -> 10: no code changes needed.
- Drop @types/minimatch and @types/qrcode.react (deprecated; both
  packages ship their own types).
- @types/node stays on 22.x to match engines (node <24).
@aamoghS

aamoghS commented Sep 24, 2026

Copy link
Copy Markdown
Member

Duplicate of the stacked PR for this branch (#410 / #411 / #412). Merge order: #406 -> #410 -> #411 -> #412.

@aamoghS aamoghS closed this Sep 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant