Skip to content

Conversation

@juliamuiruri4
Copy link
Collaborator

@juliamuiruri4 juliamuiruri4 commented Oct 27, 2025

This pull request updates the:

  1. 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-eslint parser #127

  2. angular-app to Angular 20 and fixes proxy config for in memory data service
    Fixes package dependencies well outdated #158

  3. svelte-app to v4

  4. vue-app migration to v3 + vite
    Fixes vue-loader requires @vue/compiler-sfc to be present in the dependency tree #62

@juliamuiruri4 juliamuiruri4 requested a review from Copilot October 27, 2025 11:39
Copy link

Copilot AI left a 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>
@juliamuiruri4 juliamuiruri4 changed the title react-app - major dependency updates sample - major dependency updates Oct 27, 2025
… 3 + Vite setup and updates code to be compatible with the new APIs and libraries.
Copy link
Contributor

@sinedied sinedied left a 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": {
Copy link
Contributor

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: [] })
Copy link
Contributor

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?

Copy link

@DanWahlin DanWahlin left a 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:

  1. npm i -g @angular/cli
  2. ng g @angular/core:standalone (select the first option to Convert)
  3. Run ng g @angular/core:standalone again and select the 2nd option to remove modules
  4. 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

package dependencies well outdated npm install not working vue-loader requires @vue/compiler-sfc to be present in the dependency tree

4 participants