-
-
Notifications
You must be signed in to change notification settings - Fork 152
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
Upgrade to node 20.17.0 lts #1000
Conversation
We use sass only for the landing page. Versions >1.44.0 warn for an API change. But we only need to require one file. I didn't see how to use the new API without hitting the warning. We already just upgraded from node-sass to sass. So we can work with a slightly older new library, I'd say(;
One of your dependencies, babel-preset-react-app, is importing the "@babel/plugin-proposal-private-property-in-object" package without declaring it in its dependencies. This is currently working because "@babel/plugin-proposal-private-property-in-object" is already in your node_modules folder for unrelated reasons, but it may break at any time. babel-preset-react-app is part of the create-react-app project, which is not maintianed anymore. It is thus unlikely that this bug will ever be fixed. Add "@babel/plugin-proposal-private-property-in-object" to your devDependencies to work around this error. This will make this message go away.
6e4bc78
to
ce83d76
Compare
b8b33a9
to
04fd7f6
Compare
@@ -26,15 +26,6 @@ import { STATIC_FILE_PREFIX } from '../../lib/org_utils'; | |||
afterEach(cleanup); | |||
|
|||
describe('Render all views', () => { | |||
jest.mock('react-hotkeys', () => { |
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 code was throwing errors in yarn test
. After fixing it, I wanted to know what it really does.
Result: I think this was not needed at all. The tests are still green(;
"@testing-library/jest-dom": "^5.14.1", | ||
"@testing-library/react": "12.0.0", | ||
"babel-eslint": "^10.1.0", | ||
"eslint": "^6.6.0", | ||
"eslint": "7.12.0", |
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.
CRA v4 uses eslint 7. I saw that you've went up to version 9. I tried to run 8 and 9, as well. And I think I did give it a good try. But I didn't manage it without errors. Probably it's because CRA v4 uses eslint 7. Don't know for sure, though.
"eslint-nibble": "^6.1.0", | ||
"eslint-plugin-jest": "^23.20.0", | ||
"eslint-plugin-react": "^7.23.2", | ||
"eslint-plugin-react-redux": "^3.3.0", | ||
"eslint-plugin-react-redux": "4.0.0", |
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.
Without that upgrade, there's a warning.
"redux": "^4.1.0", | ||
"redux-thunk": "^2.3.0", | ||
"redux-undo": "1.0.1", | ||
"redux-undo": "1.1.0", | ||
"sass": "1.45.0", |
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.
Get rid of node-sass
. sass
is a JS only implementation of sass. There are newer versions, but 1.45.0 is from when CRA v4 was new.
@@ -26,18 +28,20 @@ | |||
"react-motion": "^0.5.2", | |||
"react-redux": "^7.2.1", | |||
"react-router-dom": "5.2.0", | |||
"react-scripts": "3.4.3", | |||
"react-scripts": "4.0.3", |
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 did try to go to v5. But I didn't manage it, yet. It's probably still a good idea. Or maybe switch to a different project like https://github.com/vitejs/vite.
"pegjs": "^0.10.0", | ||
"react": "^16.8.3", | ||
"react": "16.10.0", |
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.
Just a minimal update to get rid of a warning. Upgrading further is absolutely reasonable, of course!
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.
Hey @munen, great that you picked this up! I also gave up on my PR to be honest. Maybe we can cherry-pick some commits of it after this one is tested and merged.
BTW, the node version you picked in this PR is exactly what I had in my nix flake, that's nice! |
Absolutely! There's still good stuff in there!
👍 Thank you for the blazing fast review and approval 🙏 |
Closes: #992
W00t, this will be MR #1000! 🎊 🥳 💪
Builds upon:
These tasks should run:
rm -rf node_modules; yarn install
yarn test
yarn run start
yarn prettier-eslint --write
yarn eslint
yarn run build
CI needs to work
Manual integration test
Tests after deployment
Follow Up todos after merging
Notes:
For manual testing, this is deployed to https://staging.organice.200ok.ch/
My apologies, @schoettl, that I didn't finish the task in #993 where you've put in a lot of work 🙏 I actually did try quite hard. But I gave up after two hours. There were multiple errors that I didn't know how they were correlated. I then decided to take the task up from scratch, trying to do as small steps as possible and always checking all conditions for new errors. This still led to a lot of errors. And the PR did take me the better part of the day - even with the benefit of being able to look into your PR^^
I'd say this was a good combined effort. Thank you for giving organice the push to get some updates in! 🙇