Dependencies
Every third-party service and library, why it's used, and what breaks if removed.
External Services
Google Maps JavaScript API
Interactive map rendering, geocoding, and marker placement.
Key:
GOOGLE_MAPS_API_KEY (Cloud secret)⚠️ If removed: Map shows "Failed to load" error. No interactive map.
Google Places API
Location autocomplete in setup wizard, map search, and add stop dialog.
Key:
Loaded as library with Maps JS API⚠️ If removed: No location suggestions when typing. Manual text input only.
Lovable AI Gateway
AI-powered stop suggestions (Phase 3).
Key:
LOVABLE_API_KEY (auto-provisioned)⚠️ If removed: AI suggestions feature won't work. Core trip planning unaffected.
Lovable Cloud (Supabase)
Auth, database, edge functions, file storage.
Key:
VITE_SUPABASE_URL, VITE_SUPABASE_PUBLISHABLE_KEY (auto-configured)⚠️ If removed: No backend. Google Maps key delivery fails. Auth, persistence, storage all break.
Core Framework
| Package | Version | Why | If Removed |
|---|---|---|---|
| react | ^18.3.1 | UI framework. Functional components + hooks. | Everything — the entire app is React. |
| react-dom | ^18.3.1 | DOM renderer for React. | App cannot render. |
| @/lib/router-compat | ^6.30.1 | Client-side routing (/, /docs/*, /auth). | All navigation and page routing. |
| typescript | ^5.8.3 | Type safety across the codebase. | Build fails without types. |
| vite | ^5.4.19 | Dev server with HMR and production bundler. | Cannot develop or build the app. |
Styling & UI
| Package | Version | Why | If Removed |
|---|---|---|---|
| tailwindcss | ^3.4.17 | Utility-first CSS framework. | All styling disappears. |
| class-variance-authority | ^0.7.1 | Component variant management for shadcn. | Button, input, and component variants break. |
| clsx + tailwind-merge | ^2.1.1 / ^2.6.0 | Conditional class name merging. | cn() utility fails — all dynamic classes break. |
| @radix-ui/* | various | Accessible UI primitives for shadcn/ui components. | Dialogs, selects, dropdowns, tooltips, etc. all break. |
| lucide-react | ^0.462.0 | Icon library used throughout the app. | All icons disappear. |
Animation
| Package | Version | Why | If Removed |
|---|---|---|---|
| framer-motion | ^12.34.3 | Page transitions, sheet slides, hero animations. | All animations. Components still render but without motion. |
Maps & Location
| Package | Version | Why | If Removed |
|---|---|---|---|
| @types/google.maps | ^3.58.1 | TypeScript types for Google Maps JS API. | Build errors in GoogleMap.tsx, useGoogleMaps.ts, PlacesInput.tsx. |
Backend & Data
| Package | Version | Why | If Removed |
|---|---|---|---|
| @supabase/supabase-js | ^2.98.0 | Supabase client for auth, DB, edge functions, storage. | All backend communication. Edge function calls fail. |
| @tanstack/react-query | ^5.83.0 | Server state management (planned for trip persistence). | Not yet actively used — no current breakage. |
Forms
| Package | Version | Why | If Removed |
|---|---|---|---|
| react-hook-form | ^7.61.1 | Form state management (used by shadcn form components). | Form validation in shadcn form components. |
| zod | ^3.25.76 | Schema validation (used with react-hook-form resolvers). | Form schema validation. |
| @hookform/resolvers | ^3.10.0 | Connects zod schemas to react-hook-form. | Form validation integration. |
Utilities
| Package | Version | Why | If Removed |
|---|---|---|---|
| date-fns | ^3.6.0 | Date formatting and manipulation. | Date display/calculation if used directly. |
| sonner | ^1.7.4 | Toast notifications. | No toast feedback for user actions. |
| recharts | ^2.15.4 | Charts library (not yet actively used). | No current breakage. |