uclaacm / TeachLAFrontend

🌱 The frontend for Teach LA's online IDE, designed to teach kids how to code!
https://editor.uclaacm.com
MIT License
21 stars 40 forks source link

Bump react-router-dom from 5.3.0 to 6.21.1 #1106

Closed dependabot[bot] closed 11 months ago

dependabot[bot] commented 11 months ago

Bumps react-router-dom from 5.3.0 to 6.21.1.

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

Patch Changes

  • Updated dependencies:
    • react-router@6.21.1
    • @remix-run/router@1.14.1

6.21.0

Minor Changes

  • Add a new future.v7_relativeSplatPath flag to implement a breaking bug fix to relative routing when inside a splat route. (#11087)

    This fix was originally added in #10983 and was later reverted in #11078 because it was determined that a large number of existing applications were relying on the buggy behavior (see #11052)

    The Bug The buggy behavior is that without this flag, the default behavior when resolving relative paths is to ignore any splat (*) portion of the current route path.

    The Background This decision was originally made thinking that it would make the concept of nested different sections of your apps in <Routes> easier if relative routing would replace the current splat:

    <BrowserRouter>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="dashboard/*" element={<Dashboard />} />
      </Routes>
    </BrowserRouter>
    

    Any paths like /dashboard, /dashboard/team, /dashboard/projects will match the Dashboard route. The dashboard component itself can then render nested <Routes>:

    function Dashboard() {
      return (
        <div>
          <h2>Dashboard</h2>
          <nav>
            <Link to="/">Dashboard Home</Link>
            <Link to="team">Team</Link>
            <Link to="projects">Projects</Link>
          </nav>
    
      &lt;Routes&gt;
        &lt;Route path=&quot;/&quot; element={&lt;DashboardHome /&gt;} /&gt;
        &lt;Route path=&quot;team&quot; element={&lt;DashboardTeam /&gt;} /&gt;
        &lt;Route path=&quot;projects&quot; element={&lt;DashboardProjects /&gt;} /&gt;
      &lt;/Routes&gt;
    &lt;/div&gt;
    

... (truncated)

Commits
  • 08cda17 chore: Update version for release (#11132)
  • e5d73cf chore: Update version for release (pre) (#11131)
  • ba99ec5 Merge branch 'main' into release-next
  • 0f04d11 Fix issues with partial hydration combined with route.lazy (#11121)
  • cc4436c Update changelogs for useResolvedSplat example
  • c292bdb Merge branch 'release-next' into dev
  • 69ba50e chore: Update version for release (#11114)
  • 54ec39e Allow persisted fetchers unmounted during submit to revalidate (#11102)
  • ea0ffee chore: Update version for release (pre) (#11095)
  • fe3c071 Slight refactor to partial hydration to leverage state.initialized properly (...
  • 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 show ignore conditions` will show all of the ignore conditions of the specified dependency - `@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)
netlify[bot] commented 11 months ago

Deploy Preview for sleepy-franklin-7a3e4c failed.

Name Link
Latest commit 957e69ec2776e5dc8a560cd5fc3255d3c51fe1bb
Latest deploy log https://app.netlify.com/sites/sleepy-franklin-7a3e4c/deploys/65898645e1cbb60008fd96a5
dependabot[bot] commented 11 months ago

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.