{"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,"search_vec":"'1.20.2':32 '8':40 'action':86 'address':36 'api':75 'base':14,54,95 'client':10 'client-sid':9 'code':56,88 'code-split':55,87 'compat':37 'compon':79 'current':28 'data':58,91 'data-load':90 'differenti':44 'directori':19 'file':13,94 'file-bas':12 'file-based-rout':93 'framework':84 'frequent':34 'generat':8,78,97 'generout':1,2 'glob':73 'global':50 'group':64 'hook':81 'import':74 'includ':45 'javascript':85 'key':43 'layout':61,63,100 'loader':92 'loaders/actions':59 'modal':51 'navig':49 'nest':60,99 'nested-layout':98 'nextj':101 'option':66 'page':102 'pathless':62 'plugin':6 'provid':77 'react':21 'releas':35 'rolldown':42 'rout':15,53,68,96 'route-bas':52 'router':22,24,27 'safe':48 'side':11 'solid':26 'split':57,89 'src/pages':18 'stabl':29 'static/dynamic':67 'support':20 'tanstack':23 'type':47 'type-saf':46 'use':70 'version':30 'vite':5,39,71","created_at":"2026-04-27T16:59:33.820566+00:00","updated_at":"2026-04-27T16:59:33.820566+00:00","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,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":"https://generouted.vercel.app","github":"https://github.com/oedotme/generouted","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/generouted","openapi_spec":null,"status_page":null,"smithery":null,"categories":["web-framework"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-18","next_check":"2026-07-26","install_tag":null}}