Skip to content
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

Chore: Update to Node.js 20 #425

Closed
wants to merge 3 commits into from
Closed

Chore: Update to Node.js 20 #425

wants to merge 3 commits into from

Conversation

tuliomir
Copy link
Collaborator

@tuliomir tuliomir commented Oct 25, 2023

Acceptance Criteria

  • Should upgrade the application to use Node.js v20

Notes on SSL usage

Starting with NodeJS 17, a security fix with breaking changes was implemented and dropped support to older versions of OpenSSL ( official announcement ). So, every dependency used has to be compatible with OpenSSL 3.0 from now on.

By inserting the --openssl-legacy-provider flag on our start and build scripts we can avoid this temporarily. Adding this flag does not decrease our security, but only keeps it in the same level as it was on the last version.

A future PR will deal exclusively with upgrading this security point and removing this flag.

Notes on lockfile

NodeJS 20 could handle an upgrade of the lockfile version to v3. However, this forces an update of all the patches and minor versions of all the indirect dependencies. Until the React Router is updated, this approach is not feasible, as it breaks the npm install.

A dedicated PR will be opened later to upgrade the lockfile.

Notes on building

The development environment runs correctly, and both the build script and the packaging was tested on linux AppImage.

Security Checklist

  • Make sure you do not include new dependencies in the project unless strictly necessary and do not include dev-dependencies as production ones. More dependencies increase the possibility of one of them being hijacked and affecting us.

@tuliomir tuliomir added the dependencies Pull requests that update a dependency file label Oct 25, 2023
@tuliomir tuliomir self-assigned this Oct 25, 2023
@tuliomir tuliomir changed the title Chore: Update to Node.js 18 Chore: Update to Node.js 20 Dec 15, 2023
@tuliomir tuliomir force-pushed the chore/node18 branch 2 times, most recently from 961d1ac to 45ea265 Compare January 11, 2024 19:32
@tuliomir tuliomir requested a review from r4mmer January 12, 2024 01:07
@tuliomir tuliomir marked this pull request as ready for review January 12, 2024 01:19
@tuliomir tuliomir mentioned this pull request Jan 22, 2024
@@ -59,9 +63,9 @@
"scripts": {
"build-css": "sass --no-source-map src/index.scss src/index.css",
"watch-css": "npm run build-css && sass --no-source-map -w src/index.scss src/index.css",
"start-js": "react-scripts start",
"start-js": "react-scripts --openssl-legacy-provider start",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should map which dependencies need this --openssl-legacy-provider. So we know when we can remove this flag.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As described on the updated PR, the most relevant dependency for removing this flag is being discussed on #441

@tuliomir
Copy link
Collaborator Author

Superseded by #501

@tuliomir tuliomir closed this Jan 30, 2024
@tuliomir tuliomir deleted the chore/node18 branch January 30, 2024 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants