porting-assistant-dotnet-ui
porting-assistant-dotnet-ui copied to clipboard
chore(deps): bump react-router-dom from 5.2.0 to 6.18.0
Bumps react-router-dom from 5.2.0 to 6.18.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.
6.18.0
Minor Changes
Add support for manual fetcher key specification via
useFetcher({ key: string })so you can access the same fetcher instance from different components in your application without prop-drilling (RFC) (#10960)
- Fetcher keys are now also exposed on the fetchers returned from
useFetchersso that they can be looked up bykeyAdd
navigate/fetcherKeyparams/props touseSumbit/Formto support kicking off a fetcher submission under the hood with an optionally user-specifiedkey(#10960)
- Invoking a fetcher in this way is ephemeral and stateless
- If you need to access the state of one of these fetchers, you will need to leverage
useFetcher({ key })to look it up elsewherePatch Changes
- Adds a fetcher context to
RouterProviderthat holds completed fetcher data, in preparation for the upcoming future flag that will change the fetcher persistence/cleanup behavior (#10961)- Fix the
futureprop onBrowserRouter,HashRouterandMemoryRouterso that it accepts aPartial<FutureConfig>instead of requiring all flags to be included. (#10962)- Updated dependencies:
@remix-run/[email protected][email protected]6.17.0
Minor Changes
Add experimental support for the View Transitions API via
document.startViewTransitionto enable CSS animated transitions on SPA navigations in your application. (#10916)The simplest approach to enabling a View Transition in your React Router app is via the new
<Link unstable_viewTransition>prop. This will cause the navigation DOM update to be wrapped indocument.startViewTransitionwhich will enable transitions for the DOM update. Without any additional CSS styles, you'll get a basic cross-fade animation for your page.If you need to apply more fine-grained styles for your animations, you can leverage the
unstable_useViewTransitionStatehook which will tell you when a transition is in progress and you can use that to apply classes or styles:function ImageLink(to, src, alt) { let isTransitioning = unstable_useViewTransitionState(to); return ( <Link to={to} unstable_viewTransition> <img src={src} alt={alt} style={{ viewTransitionName: isTransitioning ? "image-expand" : "", }} /> </Link> ); }You can also use the
<NavLink unstable_viewTransition>shorthand which will manage the hook usage for you and automatically add atransitioningclass to the<a>during the transition:
... (truncated)
Commits
667f936chore: Update version for release (#10981)67af262chore: Update version for release (pre) (#10978)1500288Updates for v7_fetcherPersist post-processing logic (#10977)cacc90bchore: Update version for release (pre) (#10966)19af0cfAdd future.v7_fetcherPersist flag (#10962)cb2d911Add fetcher data layer (#10961)c0dbcd2Add useFetcher(key) and <Form navigate={false}> (#10960)805924dRevert "Ensure Form contains splat portion of pathname when no action is spec...908a40aEnsure Form contains splat portion of pathname when no action is specified (#...a71b4e2Merge branch 'release-next' into dev- Additional commits viewable in compare view
You can trigger a rebase of this PR 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)
Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.