Bump react-router-dom from 5.3.4 to 6.30.0
Bumps react-router-dom from 5.3.4 to 6.30.0.
Release notes
Sourced from react-router-dom's releases.
v6.4.4
What's Changed
- Throw an error if an
action/loaderfunction returnsundefinedas revalidations need to know whether the loader has previously been executed.undefinedalso causes issues during SSR stringification for hydration. You should always ensure yourloader/actionreturns a value, and you may returnnullif you don't wish to return anything. (#9511)- Properly handle redirects to external domains (#9590, #9654)
- Preserve the HTTP method on 307/308 redirects (#9597)
- Support
basenamein static data routers (#9591)- Enhanced
ErrorResponsebodies to contain more descriptive text in internal 403/404/405 scenarios- Fix issues with encoded characters in
NavLinkand descendant<Routes>(#9589, #9647)- Properly serialize/deserialize
ErrorResponseinstances when using built-in hydration (#9593)- Support
basenamein static data routers (#9591)- Updated dependencies:
@remix-run/[email protected][email protected]Full Changelog: https://github.com/remix-run/react-router/compare/[email protected]@6.4.4
[email protected]
Patch Changes
fix: remove internal router singleton (#9227)
This change removes the internal module-level
routerSingletonwe create and maintain inside our data routers since it was causing a number of headaches for non-simple use cases:
- Unit tests are a pain because you need to find a way to reset the singleton in-between tests
- Use use a
_resetModuleScopesingleton for our tests- ...but this isn't exposed to users who may want to do their own tests around our router
- The JSX children
<Route>objects cause non-intuitive behavior based on idiomatic react expectations
- Conditional runtime
<Route>'s won't get picked up- Adding new
<Route>'s during local dev won't get picked up during HMR- Using external state in your elements doesn't work as one might expect (see #9225)
Instead, we are going to lift the singleton out into user-land, so that they create the router singleton and manage it outside the react tree - which is what react 18 is encouraging with
useSyncExternalStoreanyways! This also means that since users create the router - there's no longer any difference in the rendering aspect for memory/browser/hash routers (which only impacts router/history creation) - so we can get rid of those and trim to a simpleRouterProvider// Before function App() { <DataBrowserRouter> <Route path="/" element={<Layout />}> <Route index element={<Home />}> </Route> <DataBrowserRouter> }// After
let router = createBrowserRouter([{
path: "/",
element: <Layout />,
children: [{
index: true,
... (truncated)
Changelog
Sourced from react-router-dom's changelog.
v6.30.0
Date: 2025-02-27
Minor Changes
- Add
fetcherKeyas a parameter topatchRoutesOnNavigation(#13109)Patch Changes
- Fix regression introduced in
6.29.0via #12169 that caused issues navigating to hash routes inside splat routes for applications using Lazy Route Discovery (patchRoutesOnNavigation) (#13108)Full Changelog:
v6.29.0...v6.30.0v6.29.0
Date: 2025-01-30
Minor Changes
- Provide the request
signalas a parameter topatchRoutesOnNavigation(#12900)
- This can be used to abort any manifest fetches if the in-flight navigation/fetcher is aborted
Patch Changes
- Do not log v7 deprecation warnings in production builds (#12794)
- Properly bubble headers when throwing a
data()result (#12845)- Optimize route matching by skipping redundant
matchRoutescalls when possible (#12169)- Strip search parameters from
patchRoutesOnNavigationpathparam for fetcher calls (#12899)Full Changelog:
v6.28.2...v6.29.0v6.28.2
Date: 2025-01-16
Patch Changes
- Fix manual fetcher
keyusage when not opted intofuture.v7_fetcherPersist(#12674)- Fix issue with fetcher data cleanup in the data layer on fetcher unmount (#12674)
Full Changelog:
v6.28.1...v6.28.2v6.28.1
Date: 2024-12-20
Patch Changes
- Allow users to opt out of v7 deprecation warnings by setting flags to
false(#12441)
... (truncated)
Commits
e4ba522chore: Update version for release (#13128)f0bc784chore: Update version for release (pre-v6) (#13111)d9ed824Fix up changelogscc8b8cechore: Update version for release (#12911)a9ab2e3chore: Update version for release (pre-v6) (#12903)ea5a265chore: Update version for release (pre-v6) (#12883)3734a70chore: Update version for release (pre-v6) (#12879)0c31cbachore: Update version for release (#12755)b0d0a27chore: Update version for release (pre) (#12737)e88adb6Fix fetcher data persistence/cleanup issues (#12674)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)