119 lines
3.1 KiB
Markdown
119 lines
3.1 KiB
Markdown
# Technology Stack
|
|
|
|
**Analysis Date:** 2026-03-16
|
|
|
|
## Languages
|
|
|
|
**Primary:**
|
|
- TypeScript ~5.9.3 - Full codebase type safety
|
|
|
|
**Secondary:**
|
|
- JavaScript (ES2023) - Configuration and utilities
|
|
|
|
## Runtime
|
|
|
|
**Environment:**
|
|
- Browser (React 19 SPA)
|
|
- Node.js runtime for build tooling
|
|
|
|
**Package Manager:**
|
|
- Bun - Package and dependency management
|
|
- Lockfile: `bun.lock` (present)
|
|
|
|
## Frameworks
|
|
|
|
**Core:**
|
|
- React 19.2.4 - UI component framework
|
|
- React Router DOM 7.13.1 - Client-side routing
|
|
|
|
**UI & Components:**
|
|
- Radix UI 1.4.3 - Accessible component primitives
|
|
- Tailwind CSS 4.2.1 - Utility-first CSS styling
|
|
- Lucide React 0.577.0 - Icon library
|
|
- Sonner 2.0.7 - Toast notification system
|
|
- next-themes 0.4.6 - Dark mode and theme management
|
|
|
|
**State Management:**
|
|
- TanStack React Query 5.90.21 - Server state management and data fetching
|
|
|
|
**Internationalization:**
|
|
- i18next 25.8.18 - i18n framework
|
|
- react-i18next 16.5.8 - React bindings for i18next
|
|
|
|
**Testing:**
|
|
- Not detected
|
|
|
|
**Build/Dev:**
|
|
- Vite 8.0.0 - Build tool and dev server
|
|
- @vitejs/plugin-react 6.0.0 - React Fast Refresh support
|
|
- @tailwindcss/vite 4.2.1 - Tailwind CSS Vite plugin
|
|
- Tailwind Merge 3.5.0 - CSS class utility merging
|
|
- Class Variance Authority 0.7.1 - CSS variant composition
|
|
- clsx 2.1.1 - Conditional CSS class binding
|
|
|
|
**Linting & Code Quality:**
|
|
- ESLint 9.39.4 - JavaScript/TypeScript linting
|
|
- @eslint/js 9.39.4 - ESLint JS config
|
|
- typescript-eslint 8.56.1 - TypeScript linting rules
|
|
- eslint-plugin-react-hooks 7.0.1 - React Hooks best practices
|
|
- eslint-plugin-react-refresh 0.5.2 - React Fast Refresh plugin
|
|
|
|
## Key Dependencies
|
|
|
|
**Critical:**
|
|
- @supabase/supabase-js 2.99.1 - Backend API and authentication client
|
|
|
|
**Infrastructure:**
|
|
- @types/node 24.12.0 - TypeScript Node.js type definitions
|
|
- @types/react 19.2.14 - React TypeScript types
|
|
- @types/react-dom 19.2.3 - React DOM TypeScript types
|
|
- globals 17.4.0 - Global scope definitions for ESLint
|
|
|
|
## Configuration
|
|
|
|
**Environment:**
|
|
- Vite environment variables with `VITE_` prefix
|
|
- Required env vars: `VITE_SUPABASE_URL`, `VITE_SUPABASE_ANON_KEY`
|
|
- Configuration via `.env` file (example provided in `.env.example`)
|
|
|
|
**Build:**
|
|
- Vite config: `vite.config.ts`
|
|
- React plugin enabled
|
|
- Tailwind CSS via @tailwindcss/vite
|
|
- Path alias: `@/` resolves to `./src/`
|
|
- TypeScript config: `tsconfig.json` (references `tsconfig.app.json` and `tsconfig.node.json`)
|
|
- Target: ES2023
|
|
- Strict mode enabled
|
|
- No unused locals/parameters enforcement
|
|
- ESLint config: `eslint.config.js`
|
|
- Flat config format
|
|
- Recommended configs: JS, TypeScript, React Hooks, React Refresh
|
|
- Browser globals enabled
|
|
|
|
## TypeScript Configuration
|
|
|
|
**tsconfig.app.json:**
|
|
- Target: ES2023
|
|
- Module: ESNext
|
|
- Strict mode: Enabled
|
|
- JSX: react-jsx
|
|
- No emit: True (code generation disabled)
|
|
- Path alias: `@/*` → `./src/*`
|
|
- Verbatim module syntax enabled
|
|
|
|
## Platform Requirements
|
|
|
|
**Development:**
|
|
- Node.js/Bun runtime
|
|
- Modern browser with ES2023 support
|
|
- Recommended: 18+ GB disk for `node_modules`
|
|
|
|
**Production:**
|
|
- SPA deployment (static hosting)
|
|
- Supabase PostgreSQL backend access
|
|
- Modern browser JavaScript support (ES2023)
|
|
|
|
---
|
|
|
|
*Stack analysis: 2026-03-16*
|