-
Notifications
You must be signed in to change notification settings - Fork 106
sample - major dependency updates #159
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
base: main
Are you sure you want to change the base?
Conversation
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.
Pull Request Overview
This PR upgrades the react-app to support React 19 and React Router v7, along with major version updates for Redux, styling libraries, and development tooling.
Key Changes:
- Migration from React 17 to React 19 with updated rendering API (ReactDOM.render → createRoot)
- React Router upgrade from v5 to v7 (Switch → Routes, component → element prop)
- ESLint configuration migrated to flat config format (v9)
Reviewed Changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| react-app/package.json | Updates all major dependencies including React 19, React Router 7, Redux 5, and modern ESLint packages |
| react-app/src/index.js | Migrates from legacy ReactDOM.render to React 18+ createRoot API |
| react-app/src/App.js | Updates routing from Switch/Redirect to Routes/Navigate, removes withRouter wrapper |
| react-app/src/products/Products.js | Converts Switch to Routes and updates Route syntax from component to element prop |
| react-app/src/products/ProductList.js | Removes deprecated withRouter HOC wrapper |
| react-app/eslint.config.js | Migrates from legacy .eslintrc JSON to ESLint 9 flat config format |
| react-app/src/styles.scss | Updates Bulma import from .sass to .scss extension |
Comments suppressed due to low confidence (1)
react-app/package.json:1
- Multiple dependency versions appear to be non-existent or future versions. As of January 2025: React 19.x exists but 19.2.0 may not; @fortawesome/fontawesome-free latest is 6.x; axios latest is 1.7.x; react-router-dom latest is 6.x; @reduxjs/toolkit latest is 2.x but 2.9.2 may not exist; react-redux latest is 9.x but 9.2.0 may not exist; sass latest is around 1.80.x but 1.93.2 may not exist. Please verify these version numbers are correct and available in npm registry.
{
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
… 3 + Vite setup and updates code to be compatible with the new APIs and libraries.
sinedied
left a comment
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.
Put a few comments on the Angular side, otherwise LGTM!
I also noticed that semicolons were removed from the Vue components, not sure if this was intended (works fine, though not consistent with the rest of the code)
| @@ -1,6 +1,8 @@ | |||
| { | |||
| "/api": { | |||
| "disabled": { | |||
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.
Shouldn't this be kept to /api? otherwise the dev proxy won't work.
If it's not needed anymore, the entire section can be removed
| dataEncapsulation: false, | ||
| delay: 300, | ||
| passThruUnknownUrl: false, | ||
| })], providers: [] }) |
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 it normal that the providers were removed? Behavior won't be the same, as a different class will be used for data service then.
Formatting looks weird, maybe missing a prettier run?
DanWahlin
left a comment
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.
I ran all of the samples in a codespace and everything built and ran successfully. Really great job since I know there were a lot of package updates - hopefully copilot helped some with that. :-)
The main recommendation I'd have is to remove all modules from the Angular app and make components, pipes, etc. standalone. You can do that by running:
- npm i -g @angular/cli
- ng g @angular/core:standalone (select the first option to Convert)
- Run ng g @angular/core:standalone again and select the 2nd option to remove modules
- Run ng g @angular/core:standalone and select the last option for bootstrapping.
It normally does a good job with the updates there but I'd have to go through the steps to stay for sure. That'll get it to state that most Angular devs will expect now days though.
Everything built and ran great though.
This pull request updates the:
react-app to support React 19 and upgrades major dependencies
Fixes npm install not working #154 React tutorial fails with ESLint error: failed to load
babel-eslintparser #127angular-app to Angular 20 and fixes proxy config for in memory data service
Fixes package dependencies well outdated #158
svelte-app to v4
vue-app migration to v3 + vite
Fixes vue-loader requires @vue/compiler-sfc to be present in the dependency tree #62