orzyyyy / memo

A memo for myself.
MIT License
8 stars 1 forks source link

chore(deps): bump react-router-dom from 5.3.4 to 6.11.0 #799

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 1 year ago

Bumps react-router-dom from 5.3.4 to 6.11.0.

Release notes

Sourced from react-router-dom's releases.

v6.4.4

What's Changed

  • Throw an error if an action/loader function returns undefined as revalidations need to know whether the loader has previously been executed. undefined also causes issues during SSR stringification for hydration. You should always ensure your loader/action returns a value, and you may return null if 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 basename in static data routers (#9591)
  • Enhanced ErrorResponse bodies to contain more descriptive text in internal 403/404/405 scenarios
  • Fix issues with encoded characters in NavLink and descendant <Routes> (#9589, #9647)
  • Properly serialize/deserialize ErrorResponse instances when using built-in hydration (#9593)
  • Support basename in static data routers (#9591)
  • Updated dependencies:
    • @remix-run/router@1.0.4
    • react-router@6.4.4

Full Changelog: https://github.com/remix-run/react-router/compare/react-router-dom@6.4.3...react-router-dom@6.4.4

react-router-dom@6.4.0-pre.15

Patch Changes

  • fix: remove internal router singleton (#9227)

    This change removes the internal module-level routerSingleton we 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 _resetModuleScope singleton 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 useSyncExternalStore anyways! 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 simple RouterProvider

    // 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.

6.11.0

Minor Changes

  • Enable basename support in useFetcher (#10336)
    • If you were previously working around this issue by manually prepending the basename then you will need to remove the manually prepended basename from your fetcher calls (fetcher.load('/basename/route') -> fetcher.load('/route'))

Patch Changes

  • Fix inadvertent re-renders when using Component instead of element on a route definition (#10287)
  • Fail gracefully on <Link to="//"> and other invalid URL values (#10367)
  • Switched from useSyncExternalStore to useState for internal @remix-run/router router state syncing in <RouterProvider>. We found some subtle bugs where router state updates got propagated before other normal useState updates, which could lead to footguns in useEffect calls. (#10377, #10409)
  • Add static prop to StaticRouterProvider's internal Router component (#10401)
  • When using a RouterProvider, useNavigate/useSubmit/fetcher.submit are now stable across location changes, since we can handle relative routing via the @remix-run/router instance and get rid of our dependence on useLocation(). When using BrowserRouter, these hooks remain unstable across location changes because they still rely on useLocation(). (#10336)
  • Updated dependencies:
    • react-router@6.11.0
    • @remix-run/router@1.6.0

6.10.0

Minor Changes

  • Added support for Future Flags in React Router. The first flag being introduced is future.v7_normalizeFormMethod which will normalize the exposed useNavigation()/useFetcher() formMethod fields as uppercase HTTP methods to align with the fetch() behavior. (#10207)

    • When future.v7_normalizeFormMethod === false (default v6 behavior),
      • useNavigation().formMethod is lowercase
      • useFetcher().formMethod is lowercase
    • When future.v7_normalizeFormMethod === true:
      • useNavigation().formMethod is uppercase
      • useFetcher().formMethod is uppercase

Patch Changes

  • Fix createStaticHandler to also check for ErrorBoundary on routes in addition to errorElement (#10190)
  • Updated dependencies:
    • @remix-run/router@1.5.0
    • react-router@6.10.0

6.9.0

Minor Changes

  • React Router now supports an alternative way to define your route element and errorElement fields as React Components instead of React Elements. You can instead pass a React Component to the new Component and ErrorBoundary fields if you choose. There is no functional difference between the two, so use whichever approach you prefer 😀. You shouldn't be defining both, but if you do Component/ErrorBoundary will "win". (#10045)

    Example JSON Syntax

    // Both of these work the same:
    const elementRoutes = [{
      path: '/',
    

... (truncated)

Commits
  • 7ff51c0 chore: Update version for release (#10414)
  • 5ec9f8e chore: Update version for release (pre) (#10410)
  • 82ca7c0 chore: Update version for release (pre) (#10402)
  • b9e7401 Add missing static propr for StaticRouterProvider (#10401)
  • bf8ee9d chore: Update version for release (pre) (#10398)
  • f92aa2e Revert "Add better control over submission serialization (#10342)"
  • 4bb7e48 Revert "Support direct handlers in useSubmit/fetcher.submit/fetcher.load (#10...
  • af76d50 refactor(react-router): Fix useRoutesImpl for SSR (#10395)
  • 3efa5d0 Remove useSyncExternalStore in favor of useState (#10377)
  • 2821817 Fix descendant Routes rendering alongside RouterProvider errors (#10374)
  • Additional commits viewable in compare view


Dependabot compatibility score

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 rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will 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 version` will 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 dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 1 year ago

Superseded by #800.