-
Notifications
You must be signed in to change notification settings - Fork 16
chore(deps): Update MUI packages to latest versions (resolves #283). #285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThe pull request updates the versions of two dependencies in the Changes
Assessment against linked issues
Possibly related PRs
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. 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)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
⛔ Files ignored due to path filters (1)
package-lock.json
is excluded by!**/package-lock.json
📒 Files selected for processing (1)
package.json
(1 hunks)
"@mui/icons-material": "^7.1.0", | ||
"@mui/joy": "^5.0.0-beta.52", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Verify MUI dependency bump for compatibility and peer dependencies
You’ve upgraded @mui/icons-material
to ^7.1.0
(which now depends on @babel/runtime@^7.27.1
) and @mui/joy
to ^5.0.0-beta.52
. Before merging, please ensure:
- All existing icon and Joy component imports still resolve and behave as expected (review any changed export names or paths).
- The required peer dependency
@babel/runtime
is present at the correct version. - You’ve checked the MUI v7 migration guide and Joy changelog for any breaking changes or API adjustments.
Run these checks locally:
🏁 Script executed:
#!/bin/bash
# Verify @babel/runtime is installed in the tree
npm ls @babel/runtime
# Inspect icon imports to catch any path/api changes
rg -n "from '@mui/icons-material" -C2
# Inspect Joy imports for potential API shifts
rg -n "from '@mui/joy" -C2
Length of output: 154
Install missing peer dependency and verify MUI v7/Joy imports
npm ls shows no @babel/runtime
installed (required by @mui/icons-material@^7.1.0
). Please:
--- package.json
@@ dependencies
"@mui/joy": "^5.0.0-beta.52",
+ "@babel/runtime": "^7.27.1"
- Run
npm install --save @babel/runtime@^7.27.1
(or update your lockfile) - Confirm all
@mui/icons-material
and@mui/joy
imports still resolve and behave as expected - Review the MUI v7 migration guide and Joy changelog for any breaking changes or API adjustments
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
"@mui/icons-material": "^7.1.0", | |
"@mui/joy": "^5.0.0-beta.52", | |
"@mui/icons-material": "^7.1.0", | |
"@mui/joy": "^5.0.0-beta.52", | |
"@babel/runtime": "^7.27.1" |
🤖 Prompt for AI Agents
In package.json around lines 32 to 33, you upgraded @mui/icons-material to
^7.1.0 which requires @babel/runtime@^7.27.1 as a peer dependency, but it is not
installed. Fix this by running npm install --save @babel/runtime@^7.27.1 to add
the missing peer dependency. Then verify that all imports from
@mui/icons-material and @mui/joy still resolve correctly and function as
expected by checking your codebase and running tests. Also review the MUI v7
migration guide and Joy changelog for any breaking changes or API updates to
ensure compatibility.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
npm automatically installs peer dependencies since v7
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@junhaoliao You're absolutely right! My apologies for the oversight. npm v7+ does indeed automatically install peer dependencies, so there's no need to manually add @babel/runtime
to your package.json. Thanks for the correction.
✏️ Learnings added
Learnt from: junhaoliao
PR: y-scope/yscope-log-viewer#285
File: package.json:32-33
Timestamp: 2025-05-22T23:03:08.234Z
Learning: npm v7+ automatically installs peer dependencies by default, so there's no need to manually add them to package.json.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
If you found this review helpful, would you consider giving us a shout-out on X?
Thank you for using CodeRabbit!
@@ -30,7 +30,7 @@ | |||
"@types/react": "^19.0.7", | |||
"@types/react-dom": "^19.0.3", | |||
"@vitejs/plugin-react-swc": "^3.9.0", | |||
"eslint-config-yscope": "*", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this intentional?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
discussed offline. sharing here for record keeping -
- It was previously changed from
latest
to*
by PRs submitted by @dependabot . - However, whenever running
npm i
locally (on my computer i use[email protected]
), the version string is always updated aslatest
again, which is what we specified inpackage.json
. latest
is an automatic "tag" for the latest release in the npm registry. We did some experiments and found that: if an older version of the dependency was installed, unless bothpackge-lock.json
andnode_modules
are deleted,npm i
does not update the locked version and/or perform upgrade for dependency in node_modules.- We decided to lock "eslint-config-yscope" at specific versions which avoids use of the
latest
tag in the version strings. Whenever a neweslint-config-yscope
is released, we will update the version strings in the referencing repos, which includes:
@coderabbitai create issues in those repos for locking eslint-config-yscope
at the latest version with the specific version number.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Create issue in y-scope/yscope-log-viewer
gh issue create \
--repo y-scope/yscope-log-viewer \
--title "Lock eslint-config-yscope dependency to a specific version (not latest or *)" \
--body "Currently, the 'eslint-config-yscope' dependency is referenced using the 'latest' tag or '*'. Based on recent discussions and experiments (see [PR #285](https://github.com/y-scope/yscope-log-viewer/pull/285), [comment](https://github.com/y-scope/yscope-log-viewer/pull/285#discussion_r2103550852)), we found that using 'latest' or '*' can lead to inconsistent dependency resolution and upgrades. To ensure reproducibility and avoid unexpected upgrades, we should lock 'eslint-config-yscope' at a specific version number. Whenever a new version is released, we will update the version string explicitly in this repository. Requested by @junhaoliao." \
--assignee junhaoliao
# Create issue in y-scope/clp
gh issue create \
--repo y-scope/clp \
--title "Lock eslint-config-yscope dependency to a specific version (not latest or *)" \
--body "Currently, the 'eslint-config-yscope' dependency is referenced using the 'latest' tag or '*'. Based on recent discussions and experiments (see [yscope-log-viewer PR #285](https://github.com/y-scope/yscope-log-viewer/pull/285), [comment](https://github.com/y-scope/yscope-log-viewer/pull/285#discussion_r2103550852)), we found that using 'latest' or '*' can lead to inconsistent dependency resolution and upgrades. To ensure reproducibility and avoid unexpected upgrades, we should lock 'eslint-config-yscope' at a specific version number. Whenever a new version is released, we will update the version string explicitly in this repository. Requested by @junhaoliao." \
--assignee junhaoliao
Length of output: 1807
@junhaoliao Issues have been created as requested:
- y-scope/yscope-log-viewer: Lock eslint-config-yscope dependency to a specific version (not latest or *) #298
- y-scope/clp: Lock eslint-config-yscope dependency to a specific version (not latest or *) clp#920
Both track locking eslint-config-yscope
to a specific version and updating manually when new releases are available.
✏️ Learnings added
Learnt from: junhaoliao
PR: y-scope/yscope-log-viewer#285
File: package-lock.json:33-33
Timestamp: 2025-05-23T15:19:35.664Z
Learning: For the y-scope/yscope-log-viewer and y-scope/clp repositories, the team has decided to lock the "eslint-config-yscope" dependency at a specific version (not "latest" or "*"). When a new version is released, the version string will be updated explicitly in each referencing repository.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
resolves #283
Description
Checklist
breaking change.
Validation performed
Summary by CodeRabbit