This app uses React 18.3.1 instead of React 19 because:
- React Three Fiber v8 requires
react@">=18 <19" - R3F v9 (which will support React 19) is still in development
- React 18 is stable and fully compatible with all our packages
next: 16.0.3 (latest stable)react: 18.3.1 (latest 18.x)react-dom: 18.3.1 (matches React version)typescript: ^5 (latest)
@react-three/fiber: ^8.17.10 (latest v8, requires React 18)@react-three/drei: ^9.117.0 (latest compatible)three: ^0.170.0 (latest stable Three.js)
ai: ^5.0.93 (Vercel AI SDK - latest)@ai-sdk/openai: ^2.0.67 (latest)@ai-sdk/react: ^2.0.93 (latest)openai: ^4.104.0 (latest)
@hyperyai/sdk: * (workspace package)
@radix-ui/react-dialog: ^1.1.15@radix-ui/react-dropdown-menu: ^2.1.16@radix-ui/react-hover-card: ^1.1.15@radix-ui/react-label: ^2.1.8@radix-ui/react-scroll-area: ^1.2.10@radix-ui/react-select: ^2.2.6@radix-ui/react-separator: ^1.1.8@radix-ui/react-slot: ^1.2.4@radix-ui/react-tooltip: ^1.2.8
clsx: ^2.1.1tailwind-merge: ^3.4.0class-variance-authority: ^0.7.1cmdk: ^1.1.1lucide-react: ^0.541.0
@tailwindcss/postcss: ^4 (latest Tailwind v4)tailwindcss: ^4 (latest)@types/react: ^18 (matches React 18)@types/react-dom: ^18 (matches React 18)@types/three: ^0.170.0 (matches Three.js)eslint: ^9 (latest)eslint-config-next: 16.0.3 (matches Next.js)
When React Three Fiber v9 is released with React 19 support:
- Update package.json:
{
"react": "^19.2.0",
"react-dom": "^19.2.0",
"@react-three/fiber": "^9.0.0",
"@react-three/drei": "^10.0.0",
"@types/react": "^19",
"@types/react-dom": "^19"
}- Run:
npm install- Test thoroughly - React 19 has breaking changes!
npm warn deprecated three-mesh-bvh@0.7.8- This is a transitive dependency from@react-three/drei. It's deprecated but doesn't affect functionality. Will be fixed when drei updates.
All packages use proper semantic versioning with caret (^) ranges to allow patch and minor updates automatically.
To check for updates:
npx npm-check-updatesTo update all to latest compatible:
npx npm-check-updates -u
npm installTo update specific package:
npm update @react-three/fiberRun security audits regularly:
npm audit
npm audit fixCurrently: 0 vulnerabilities ✅
Approximate sizes after build:
- React Three Fiber: ~150KB
- Three.js: ~600KB
- Vercel AI SDK: ~50KB
- Radix UI: ~100KB
- Total JS: ~1.2MB (uncompressed)
After gzip compression: ~350KB
- Tree-shaking: All packages support tree-shaking
- Dynamic imports: Scene.tsx is dynamically imported
- Code splitting: Next.js automatic code splitting
- CDN caching: Deploy on Vercel for optimal edge caching
All dependencies use permissive licenses:
- MIT License: Most packages
- Apache-2.0: Some Google packages
- ISC: Some utilities
No GPL or restrictive licenses! ✅
Last updated: November 22, 2025