Dependencies & Versions
Adjust versions to your project. These represent a known-working combination as of the time of writing. Pin or widen ranges to match your stability requirements.
Runtime Environment
| Dependency |
Version |
Description |
| Node.js |
>=20 |
JavaScript runtime |
| pnpm |
^10.x |
Package manager |
Core Framework
| Package |
Version |
Description |
| next |
^15.x |
React framework for production |
| react |
^19.x |
UI library |
| react-dom |
^19.x |
React DOM renderer |
| typescript |
^5.x |
TypeScript language |
Backend
API Layer
| Package |
Version |
Description |
| hono |
^4.x |
Lightweight web framework |
| @orpc/server |
^1.x |
oRPC server implementation |
| @orpc/client |
^1.x |
oRPC client |
| @orpc/zod |
^1.x |
oRPC Zod integration |
| @orpc/openapi |
^1.x |
OpenAPI schema generation |
| zod |
^4.x |
Schema validation |
Database
| Package |
Version |
Description |
| drizzle-orm |
^0.44.x |
TypeScript ORM |
| drizzle-kit |
^0.31.x |
Drizzle CLI tools |
| drizzle-zod |
^0.8.x |
Drizzle + Zod integration |
| pg |
^8.x |
PostgreSQL client |
Authentication
| Package |
Version |
Description |
| better-auth |
^1.x |
Authentication library |
Caching & Queue
| Package |
Version |
Description |
| @upstash/redis |
^1.x |
Redis client (Upstash) |
| @upstash/qstash |
^2.x |
Message queue |
AI Integration
| Package |
Version |
Description |
| ai |
^5.x |
Vercel AI SDK core |
| @ai-sdk/react |
^2.x |
AI SDK React hooks |
| @ai-sdk/openai |
^2.x |
OpenAI provider |
| @ai-sdk/anthropic |
^2.x |
Anthropic provider |
Frontend
UI Components
| Package |
Version |
Description |
| @radix-ui/* |
latest |
Headless UI primitives |
| lucide-react |
^0.x |
Icon library |
| cmdk |
^1.x |
Command palette |
| sonner |
^2.x |
Toast notifications |
Styling
| Package |
Version |
Description |
| tailwindcss |
^4.x |
Utility-first CSS (v4 config format) |
| @tailwindcss/postcss |
^4.x |
PostCSS plugin |
| tailwind-merge |
^3.x |
Tailwind class merging |
| class-variance-authority |
^0.7.x |
Variant management |
| clsx |
^2.x |
Class name utility |
State Management
| Package |
Version |
Description |
| @tanstack/react-query |
^5.x |
Data fetching & caching |
| @orpc/tanstack-query |
^1.x |
oRPC + React Query bridge |
| nuqs |
^2.x |
URL state management |
| react-hook-form |
^7.x |
Form state management |
| @hookform/resolvers |
^5.x |
Form validation resolvers |
Internationalization
| Package |
Version |
Description |
| next-intl |
^4.x |
Next.js i18n |
Utilities
| Package |
Version |
Description |
| date-fns |
^4.x |
Date utilities |
| es-toolkit |
^1.x |
Utility functions |
| nanoid |
^5.x |
ID generation |
| p-limit |
^7.x |
Concurrency control |
Monitoring & Logging
| Package |
Version |
Description |
| @sentry/nextjs |
^10.x |
Error tracking |
Development Tools
Build & Bundling
| Package |
Version |
Description |
| turbo |
^2.x |
Monorepo build system |
| tsx |
^4.x |
TypeScript executor |
Code Quality
| Package |
Version |
Description |
| @biomejs/biome |
^2.x |
Linter & formatter |
| husky |
^9.x |
Git hooks |
Testing
| Package |
Version |
Description |
| @playwright/test |
^1.x |
E2E testing |
Important Notes
- React 19: Major version with breaking changes from React 18
- Next.js 15: App Router is the primary routing pattern
- TailwindCSS 4: Uses the new v4 configuration format (not
tailwind.config.js)
- Zod 4: Latest version with improved TypeScript support
- Monorepo: Use
@your-app/* for internal workspace package references
Updating Dependencies
When updating dependencies:
- Check compatibility with React 19 and Next.js 15
- Update pnpm overrides if changing React or Drizzle versions
- Run
pnpm install from the root directory
- Run
pnpm type-check to verify TypeScript compatibility
- Run
pnpm build to ensure production build works