CodeVetter · Repo Unpack · Extension points
remix-run/react-router
Extension seams exist at route configuration, data execution, context injection, observability, persistence, and platform adaptation. Framework route exports provide a convention-based interface, while Data mode exposes explicit constructor options. Filesystem routing is an adapter over route configuration rather than the only route discovery model. Most seams are typed factory inputs or exports rather than a single global plugin registry.
- Browser router options accept dataStrategy, patchRoutesOnNavigation, getContext, and instrumentations.
- createRouter wraps mapRouteProperties with instrumentation-derived updates and selects a custom data strategy or defaultDataStrategyWithMiddleware.
- @react-router/dev/routes exports route, index, layout, prefix, relative, and getAppDirectory helpers.
- The routes.ts architecture accepts exported route configuration arrays and deliberately places filesystem conventions in a separate package.
- flatRoutes converts a convention-generated route manifest into RouteConfigEntry objects and exposes directory and ignore options.
- SessionIdStorageStrategy supplies readData, updateData, and deleteData, while createSessionStorage also receives createData and cookie configuration.
- Express getLoadContext can incorporate middleware-generated platform values before invoking the core handler.
- Server entry modules can supply handleError, handler instrumentation, and handleDataRequest response customization.
- Framework route export lists explicitly distinguish server execution hooks from client data hooks and rendering components.
- RSC and Cloudflare integrations compose with ordinary Vite plugins at playground configuration entrypoints.