-
BREAKING CHANGE:
Routeris no longer exported as a class, usecreateRouter()instead.// Before import { Router } from '@remix-run/fetch-router' let router = new Router() // After import { createRouter } from '@remix-run/fetch-router' let router = createRouter() // For type annotations, use the Router interface import type { Router } from '@remix-run/fetch-router' function setupRoutes(router: Router) { // ... }
This change improves the ergonomics of the router by eliminating the need to bind methods when passing
router.fetchas a callback, for example innode-fetch-server'screateRequestListener(router.fetch). -
Make
middlewareoptional in route handler(s) objects passed torouter.map()// Before router.map('/', { middleware: [], // required handler() { return new Response('Home') }, }) // After router.map('/', { // middleware is optional! handler() { return new Response('Home') }, })