{"id":21372,"library":"generouted","title":"Generouted","description":"Generouted is a Vite plugin that generates client-side file-based routes from the src/pages directory, supporting React Router, TanStack Router, and Solid Router. Current stable version is 1.20.2, with frequent releases addressing compatibility with Vite 8 and Rolldown. Key differentiators include type-safe navigation, global modals, route-based code-splitting, data loaders/actions, nested layouts, pathless layout groups, and optional static/dynamic routes. It uses Vite's glob import API and provides generated components and hooks for each framework.","status":"active","version":"1.20.2","language":"javascript","source_language":"en","source_url":"https://github.com/oedotme/generouted","tags":["javascript","actions","code-splitting","data-loaders","file-based-routing","generate","nested-layouts","nextjs","pages"],"install":[{"cmd":"npm install generouted","lang":"bash","label":"npm"},{"cmd":"yarn add generouted","lang":"bash","label":"yarn"},{"cmd":"pnpm add generouted","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required peer dependency for Vite plugin functionality","package":"vite","optional":false}],"imports":[{"note":"Package name is scoped under @generouted; main export is the generated Routes component","wrong":"import { Routes } from 'generouted'","symbol":"Routes","correct":"import { Routes } from '@generouted/react-router'"},{"note":"Generouted provides its own Link component for type-safe navigation","wrong":"import { Link } from 'react-router-dom'","symbol":"Link","correct":"import { Link } from '@generouted/react-router/link'"},{"note":"Use Generouted's hook to ensure type-safety and correct route resolution","wrong":"import { useNavigate } from 'react-router-dom'","symbol":"useNavigate","correct":"import { useNavigate } from '@generouted/react-router'"},{"note":"Type import for route module definitions","wrong":null,"symbol":"Module","correct":"import type { Module } from '@generouted/react-router'"}],"quickstart":{"code":"// vite.config.ts\nimport { defineConfig } from 'vite'\nimport react from '@vitejs/plugin-react'\nimport generouted from '@generouted/react-router/plugin'\n\nexport default defineConfig({ plugins: [react(), generouted()] })\n\n// src/main.tsx\nimport { createRoot } from 'react-dom/client'\nimport { Routes } from '@generouted/react-router'\n\ncreateRoot(document.getElementById('root')!).render(<Routes />)\n\n// src/pages/index.tsx\nexport default function Home() {\n  return <h1>Hello Generouted!</h1>\n}\n\n// src/pages/about.tsx\nexport default function About() {\n  return <h1>About</h1>\n}\n\n// src/pages/users/[id].tsx (dynamic route)\nexport default function User({ params }: { params: { id: string } }) {\n  return <h1>User {params.id}</h1>\n}","lang":"typescript","description":"Simple Vite project setup with Generouted React Router plugin, file-based routes in src/pages, dynamic routes with params"},"warnings":[{"fix":"npm install react-router@latest && remove react-router-dom","message":"React Router integration: upgrade react-router-dom to v7+ and replace with react-router package to avoid version mismatches","severity":"breaking","affected_versions":">=1.20.0"},{"fix":"Update to >=1.20.2","message":"Routes detection differences between dev and build modes (Vite 8 + Rolldown compatibility)","severity":"gotcha","affected_versions":"<1.20.2"},{"fix":"Update to >=1.19.11","message":"Undefined module imports from parent routes can occur","severity":"gotcha","affected_versions":"<1.19.11"},{"fix":"Update to >=1.19.8","message":"Internal browser router instantiation issue causing multiple instances","severity":"gotcha","affected_versions":"<1.19.8"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Install @generouted/react-router: npm install @generouted/react-router react-router","cause":"Missing dependency or incorrect import path from scoped package","error":"Error: Cannot find module '@generouted/react-router' or its corresponding type declarations."},{"fix":"Import useNavigate and Link from '@generouted/react-router' not 'react-router-dom'","cause":"Using react-router-dom's useNavigate or Link instead of Generouted's type-safe versions","error":"TypeError: Cannot read properties of undefined (reading 'pathname')"},{"fix":"Add generouted() plugin: import generouted from '@generouted/react-router/plugin' and include in plugins array","cause":"Vite plugin not configured in vite.config.ts","error":"Error: @generouted/react-router: Vite plugin not found. Make sure to add generouted() to your vite config."},{"fix":"Use import { Link } from '@generouted/react-router' instead of from a separate module","cause":"Incorrect import path; the link module may have been removed or renamed","error":"Error: [plugin:vite:import-analysis] Failed to resolve import \"@generouted/react-router/link\""}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}