-
Notifications
You must be signed in to change notification settings - Fork 19
MM-67120 - Upgrade to React 19 and other outdated libraries #219
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
Changes from all commits
a5f45d7
22de2b9
7a4d846
e82232d
6c57680
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -22,17 +22,18 @@ | |
| "@babel/preset-env": "7.24.7", | ||
| "@babel/preset-react": "7.24.1", | ||
| "@babel/preset-typescript": "7.24.7", | ||
| "@babel/runtime": "7.24.7", | ||
| "@babel/runtime": "7.28.6", | ||
| "@emotion/babel-preset-css-prop": "10.0.27", | ||
| "@emotion/core": "10.0.28", | ||
| "@mattermost/client": "10.9.0", | ||
| "@mattermost/types": "10.9.0", | ||
| "@types/cheerio": "0.22.30", | ||
| "@types/enzyme": "3.10.5", | ||
| "@testing-library/jest-dom": "6.4.0", | ||
| "@testing-library/react": "14.2.1", | ||
| "@testing-library/user-event": "14.5.2", | ||
| "@types/jest": "29.5.11", | ||
| "@types/node": "14.0.20", | ||
| "@types/react": "16.9.41", | ||
| "@types/react-dom": "16.9.8", | ||
| "@types/react": "18.2.79", | ||
| "@types/react-dom": "18.2.25", | ||
| "@types/react-intl": "3.0.0", | ||
| "@types/react-redux": "7.1.9", | ||
| "@types/react-router-dom": "5.1.5", | ||
|
|
@@ -42,13 +43,9 @@ | |
| "babel-eslint": "10.1.0", | ||
| "babel-jest": "29.7.0", | ||
| "babel-loader": "9.1.3", | ||
| "cheerio": "0.22.0", | ||
| "css-loader": "7.1.2", | ||
| "enzyme": "3.10.0", | ||
| "enzyme-adapter-react-16": "1.15.1", | ||
| "enzyme-to-json": "3.6.2", | ||
| "eslint": "7.4.0", | ||
| "eslint-import-resolver-webpack": "0.12.2", | ||
| "eslint-import-resolver-webpack": "0.13.10", | ||
| "eslint-plugin-import": "2.22.0", | ||
| "eslint-plugin-react": "7.20.3", | ||
| "eslint-plugin-react-hooks": "4.0.6", | ||
|
|
@@ -58,29 +55,25 @@ | |
| "jest-canvas-mock": "2.2.0", | ||
| "jest-environment-jsdom": "29.7.0", | ||
| "jest-junit": "11.0.1", | ||
| "react-test-renderer": "16.13.1", | ||
| "sass-loader": "9.0.2", | ||
| "style-loader": "1.2.1", | ||
| "webpack": "5.91.0", | ||
| "webpack": "5.104.1", | ||
| "webpack-cli": "5.1.4" | ||
| }, | ||
| "dependencies": { | ||
| "core-js": "3.6.5", | ||
| "js-cookie": "2.2.1", | ||
| "mattermost-redux": "10.9.0", | ||
| "react": "16.13.1", | ||
| "react-bootstrap": "1.3.0", | ||
| "react-dom": "16.13.1", | ||
| "react-redux": "7.2.0", | ||
| "react-select": "3.1.0", | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same as above as this is also a major update, any conflicts with the webapp?
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Here I was mostly concerned about |
||
| "redux": "4.0.5", | ||
| "react": "18.2.0", | ||
| "react-bootstrap": "0.33.1", | ||
| "react-dom": "18.2.0", | ||
| "react-redux": "9.2.0", | ||
| "react-select": "5.10.2", | ||
| "redux": "5.0.0", | ||
| "superagent": "10.3.0", | ||
| "typescript": "5.6.3" | ||
| }, | ||
| "jest": { | ||
| "snapshotSerializers": [ | ||
| "<rootDir>/node_modules/enzyme-to-json/serializer" | ||
| ], | ||
| "testPathIgnorePatterns": [ | ||
| "/node_modules/", | ||
| "/non_npm_dependencies/" | ||
|
|
@@ -111,7 +104,7 @@ | |
| "^.+\\.[jt]sx?$": "babel-jest" | ||
| }, | ||
| "transformIgnorePatterns": [ | ||
| "node_modules/(?!react-native|react-router|mattermost-webapp|enzyme|cheerio)" | ||
| "node_modules/(?!react-native|react-router|mattermost-webapp)" | ||
| ], | ||
| "setupFiles": [ | ||
| "jest-canvas-mock" | ||
|
|
||
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.
This was a major update - what version are we using in the webapp? Will this cause issues?
Uh oh!
There was an error while loading. Please reload this page.
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.
webapp is mostly on "react": "18.2.0", from my test it's backwards compatible. The changes affect only bootstrap props and unit tests in this case.
Uh oh!
There was an error while loading. Please reload this page.
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.
Sorry, was referring to
react-bootstrap, I know the webapp loads it's own version of react-bootstrap so just want to make sure we don't have any conflicts by upgrading from 1.3 -> 2.10There 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.
Yeah, it seems for older versions of MM we must use react-bootstrap@0.33 because the Mattermost webapp exposes a custom fork of react-bootstrap v0.32.4. At runtime the plugin uses Mattermost's ReactBootstrap not our bundled version.But this is a bit strange for me? For unit tests and local development we the local node_modules versions but at runtime inside Mattermost the webpack externals config the bundled main.js doesn't include React and ReactBootstrap. Can we just use whatever versions we specify and decouple from being dependent on MM bundles?