-
Notifications
You must be signed in to change notification settings - Fork 78
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
Update client dependencies #4150
Conversation
…into update-client-deps
…coursemology2 into update-client-deps
MUI migration will be in a separate PR. |
Hey sorry for the late reply. Checked the code and tried it locally and it seems to be working fine! |
EDIT: After restarting my comp (note in the future similar errors may happen and restarting should make things work), the following are not issues anymore Still known issues:
|
I've managed to get the UI back to what it looked like before, but now there's an issue with the behaviour when you press ENTER. For some reason, it will append two paragraphs instead of one. It also disrupts adding of new list items for ordered and unordered lists. |
Downgraded mui chip input as there are breaking changes. I will replace this with autocomplete in mui v4 upgrade. |
FYI this issue also persists for summernote in the rails page. Also, found another issue for rails summernote and the border is lightly visible: |
Helping to take a look at the summernote issue here.. I figured the forked repo (https://github.com/noesya/summernote-rails) does not have double return issue and it fixes the airmode toolbar issue in react view.. For this issue (#4150 (comment)), I fixed it by doing some adjustments in layout.scss |
Quite interesting, because my |
@cysjonathan fyi |
Summary
Update React to v17 and Webpack to v5, as well as other relevant dependencies.
Basically upgraded whatever I could that didn't require intensive refactoring/rewriting of our critical components. This is why the following dependencies were untouched:
@date-io/moment
: Kept at v1 because@material-ui/pickers
v3 will break with@date-io/moment
v2. Will eventually upgrade once we shift to MUI v5.redux-form
andreact-redux
: Upgradingredux-form
basically breaks all our assessment components.react-redux
is also retained sinceredux-form
will break when it's upgraded any further. This should be done as a separate effort.react-intl
andbabel-plugin-react-intl
: The former has a rather significant change in its interface. This should be done as a separate effort.axios
: Upgraded, but it got another update since, which was quite disruptive to its TypeScript usage. Luckily, we're not using TypeScript, but I held back on upgrading this for now. Should be low-effort to upgrade this separately later.immutable
: A lot of breaking changes. This should be done as a separate effort.react-dropzone
: Some breaking changes, since we're on v5 and the latest is v11, which is largely based on hooks. This should be done as a separate effort.eslint
: Jumped from v7 to v8, not a high priority. Can be upgraded when we feel like it.react-router
andreact-router-dom
: Has some breaking changes going from v4 to v5, and even more from v5 to v6. Will require some effort to migrate.react-chartjs-2
: Has breaking changes.In addition to the above, the following dependencies have also been explicitly deprecated:
@babel/polyfill
: Deprecated in favour of separate inclusion of a polyfill and regenerator-runtime.babel-plugin-react-intl
: Renamed tobabel-plugin-formatjs
(which is actually not really the same)material-ui
: Now known as@material-ui/core
for v4 or@mui/material
for v5 (will be upgraded in a subsequent PR)react-intl
: Not really a deprecation, but it is part of theformatjs
library now.Some deps to look into removing in the future:
redux-promise
: Doesn't seem to be used in the app, but might be a peer dependency for some other dependency.jquery
andjquery-ui
: Not used in React app, and Rails side seems to have its own gems for it. Need to check if it's needed.@wojtekmaj/enzyme-adapter-react-17
: To be removed once Enzyme supports React 17 officially.Some other notes:
chartjs
: Not directly used, but is a peer dependency forreact-chartjs-2
.Might've missed out a few points here and there, since the initial part of this commit was done a while back.
Test Plan
See the CI. 🙏🏼