fimo link and preserve its browser router, providers, and build structure. Install the four runtime packages on the same Fimo release:
fimo-react-router supplies the React-specific Vite composition.
Configure the runtime
dist. Declare a different output directory only when the existing application intentionally emits somewhere else:
Connect the Vite build
Add thefimo() plugins without replacing the application’s router plugin:
FimoProviders from fimo-react-router around the existing React tree and render tracked values with fimo-react.
For a Vite project with no React at all, install only fimo and fimo-vite, then import fimo from fimo-vite. For plain HTML or a custom static generator that does not use Vite, leave runtime.framework unset, keep only the neutral fimo dependency, and declare the real runtime.commands.build and runtime.outputDirectory in .fimo/config.json; no framework companion is needed.
Browser-history routing
ABrowserRouter SPA needs the host to serve the application shell for direct visits to client routes:
HashRouter application or a build that emits a real file for each route. The catch-all lets the browser router render its own not-found UI, but the initial host response remains HTTP 200.
Build-time SEO uses fimo({ seo: true }). The application still owns its route definitions, links, locale resolution, and browser-router behavior.
React Router framework mode
Use the framework-mode adapter when the application already has React Router route modules.