bluewave-labs / bluewave-uptime

BlueWave Uptime is an open-source, self-hosted monitoring tool built with React.js, Node.js, and MongoDB, designed to track server uptime, response times, and incidents in real-time with beautiful visualizations. Get powerful insights and proactive alerts to keep your services running smoothly.
https://uptime-demo.bluewavelabs.ca/
GNU Affero General Public License v3.0
607 stars 62 forks source link

fix(deps): update react-router monorepo to v7 (major) #1184

Open renovate-bot opened 13 hours ago

renovate-bot commented 13 hours ago

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
react-router (source) ^6.23.0 -> ^7.0.0 age adoption passing confidence
react-router-dom (source) ^6.23.1 -> ^7.0.0 age adoption passing confidence

Release Notes

remix-run/react-router (react-router) ### [`v7.0.1`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#701) [Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router@7.0.0...react-router@7.0.1) ### [`v7.0.0`](https://redirect.github.com/remix-run/react-router/releases/tag/react-router%407.0.0): v7.0.0 [Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router@6.28.0...react-router@7.0.0) See the changelog for release notes: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v700
remix-run/react-router (react-router-dom) ### [`v7.0.1`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#701) [Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@7.0.0...react-router-dom@7.0.1) ##### Patch Changes - Updated dependencies: - `react-router@7.0.1` ### [`v7.0.0`](https://redirect.github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#700) [Compare Source](https://redirect.github.com/remix-run/react-router/compare/react-router-dom@6.28.0...react-router-dom@7.0.0) ##### Major Changes - Remove the original `defer` implementation in favor of using raw promises via single fetch and `turbo-stream`. This removes these exports from React Router: ([#​11744](https://redirect.github.com/remix-run/react-router/pull/11744)) - `defer` - `AbortedDeferredError` - `type TypedDeferredData` - `UNSAFE_DeferredData` - `UNSAFE_DEFERRED_SYMBOL`, - Use `createRemixRouter`/`RouterProvider` in `entry.client` instead of `RemixBrowser` ([#​11469](https://redirect.github.com/remix-run/react-router/pull/11469)) - Remove single_fetch future flag. ([#​11522](https://redirect.github.com/remix-run/react-router/pull/11522)) - Remove `future.v7_startTransition` flag ([#​11696](https://redirect.github.com/remix-run/react-router/pull/11696)) - Remove `future.v7_normalizeFormMethod` future flag ([#​11697](https://redirect.github.com/remix-run/react-router/pull/11697)) - Allow returning `undefined` from actions and loaders ([#​11680](https://redirect.github.com/remix-run/react-router/pull/11680)) - update minimum node version to 18 ([#​11690](https://redirect.github.com/remix-run/react-router/pull/11690)) - Remove `future.v7_prependBasename` from the ionternalized `@remix-run/router` package ([#​11726](https://redirect.github.com/remix-run/react-router/pull/11726)) - Remove `future.v7_throwAbortReason` from internalized `@remix-run/router` package ([#​11728](https://redirect.github.com/remix-run/react-router/pull/11728)) - Add `exports` field to all packages ([#​11675](https://redirect.github.com/remix-run/react-router/pull/11675)) - node package no longer re-exports from react-router ([#​11702](https://redirect.github.com/remix-run/react-router/pull/11702)) - updates the minimum React version to 18 ([#​11689](https://redirect.github.com/remix-run/react-router/pull/11689)) - - Remove the `future.v7_partialHydration` flag ([#​11725](https://redirect.github.com/remix-run/react-router/pull/11725)) - This also removes the `` prop - To migrate, move the `fallbackElement` to a `hydrateFallbackElement`/`HydrateFallback` on your root route - Also worth nothing there is a related breaking changer with this future flag: - Without `future.v7_partialHydration` (when using `fallbackElement`), `state.navigation` was populated during the initial load - With `future.v7_partialHydration`, `state.navigation` remains in an `"idle"` state during the initial load - Remove `future.v7_fetcherPersist` flag ([#​11731](https://redirect.github.com/remix-run/react-router/pull/11731)) ##### Minor Changes - Add prefetching support to `Link`/`NavLink` when using Remix SSR ([#​11402](https://redirect.github.com/remix-run/react-router/pull/11402)) - Enhance `ScrollRestoration` so it can restore properly on an SSR'd document load ([#​11401](https://redirect.github.com/remix-run/react-router/pull/11401)) - Add built-in Remix-style hydration support to `RouterProvider`. When running from a Remix-SSR'd HTML payload with the proper `window` variables (`__remixContext`, `__remixManifest`, `__remixRouteModules`), you don't need to pass a `router` prop and `RouterProvider` will create the `router` for you internally. ([#​11396](https://redirect.github.com/remix-run/react-router/pull/11396)) ([#​11400](https://redirect.github.com/remix-run/react-router/pull/11400)) ##### Patch Changes - Memoize some `RouterProvider` internals to reduce uneccesary re-renders ([#​11817](https://redirect.github.com/remix-run/react-router/pull/11817)) - Updated dependencies: - `react-router@7.0.0`

Configuration

šŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

šŸš¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.

ā™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

šŸ”• Ignore: Close this PR and you won't be reminded about these updates again.



This PR was generated by Mend Renovate. View the repository job log.

coderabbitai[bot] commented 13 hours ago

Walkthrough

The pull request involves an update to the package.json file for the client, specifically enhancing the versions of the react-router and react-router-dom dependencies. Both packages have been upgraded to version ^7.0.0 from their previous versions, indicating a significant change that may affect functionality or API usage. No other changes to dependencies or the overall structure of the file were made.

Changes

File Change Summary
Client/package.json Updated react-router from ^6.23.0 to ^7.0.0 and react-router-dom from ^6.23.1 to ^7.0.0.

Possibly related PRs


šŸ“œ Recent review details **Configuration used: .coderabbit.yaml** **Review profile: CHILL**
šŸ“„ Commits Reviewing files that changed from the base of the PR and between 707836f86a3791017433ce844e2b4d3529a17ad1 and b8ae2324115a14685e18173fccc93291c3acf259.
ā›” Files ignored due to path filters (1) * `Client/package-lock.json` is excluded by `!**/package-lock.json`
šŸ“’ Files selected for processing (1) * `Client/package.json` (1 hunks)
šŸ”‡ Additional comments (2)
Client/package.json (2) `32-33`: **Mom's spaghetti moment: Let's verify those peer dependencies! šŸœ** Your React ecosystem packages need a compatibility check: - react: ^18.2.0 āœ“ - react-dom: ^18.2.0 āœ“ - @mui/* components might need updates Let's check the compatibility matrix:
āœ… Verification successful **Yo, the dependency check is clean like mom's kitchen! šŸ** After checking the dependencies, we can confirm everything's compatible: - MUI packages are all on v5.x.x which works perfectly with React Router v7 - React and React DOM are on v18.2.0, which is fully supported - All MUI packages are using compatible versions with each other No need to lose yourself in worry about peer dependencies - they're all good!
šŸ Scripts executed The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Check package.json in node_modules for peer dependency warnings echo "Checking peer dependencies..." # Look for react-router in MUI component dependencies fd package.json node_modules/@mui -x grep -l "react-router" # Check for any peer dependency warnings in package-lock.json if [ -f package-lock.json ]; then jq '.packages | .[] | select(.peerDependencies != null) | select(.peerDependencies["react-router"] != null or .peerDependencies["react-router-dom"] != null)' package-lock.json fi ``` Length of output: 264 --- Script: ```shell #!/bin/bash # Let's check the actual package.json for MUI dependencies and React Router echo "Checking package.json for dependencies..." cat Client/package.json | jq '.dependencies | with_entries(select(.key | startswith("@mui")))' # Also check React version compatibility echo -e "\nChecking React version..." cat Client/package.json | jq '.dependencies | {react: .react, "react-dom": .["react-dom"]}' # Let's see if there are any direct imports of react-router in MUI components echo -e "\nChecking for react-router imports in the codebase..." rg -l "from ['\"]react-router" --type ts --type tsx --type js --type jsx ``` Length of output: 827
--- `32-33`: _:warning: Potential issue_ **Yo, heads up! Major breaking changes ahead in React Router v7! šŸ** This major version upgrade introduces significant changes that need attention: 1. Breaking Changes: - New data APIs and route configuration - Changes to loader and action behavior - Updates to error boundary handling 2. Required Actions: - Update route definitions to use the new format - Review and update any data fetching logic - Check usage of useNavigate and useLocation hooks Let's check for potential impact areas: Consider these migration steps: 1. Create a separate branch for testing 2. Update route configurations first 3. Test navigation flows thoroughly 4. Update data fetching patterns 5. Verify error handling Would you like me to help create a migration checklist issue?

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

ā¤ļø Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
šŸŖ§ Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): > ā€¼ļø **IMPORTANT** > Auto-reply has been disabled for this repository in the CodeRabbit settings. The CodeRabbit bot will not respond to your replies unless it is explicitly tagged. - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (Invoked using PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. ### Other keywords and placeholders - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description. - Add `@coderabbitai` anywhere in the PR title to generate the title automatically. ### Documentation and Community - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit. - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.