-
-
Notifications
You must be signed in to change notification settings - Fork 21
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
App: Node 16.x reaching end-of-life support #588
Comments
OverviewUpgrade the project to use discontinue the use of Node.js v16.x since this version of Node has reached end-of-life support. ResearchWhat is node.js?A backend Javascript runtime environment that allows developers to use Javascript in both client-side and server-side code. Allows multiple connections to be handled at the same time using event loops. What is the current Long Term Support (LTS) version?Current LTS Version: 18.18.0 Should we use the most recent version of Node.js or the LTS version?PROS LTS v18.x: Stable, recommended for production environments. Stable WebStreams API (though we probably will not be streaming anything in unless we have chat in the future) What does is mean when Node.js reaches end-of-life support?We will not get security updates, bug fixes, and updates to OS changes. If a security risk occurs, we would have to fix it ourselves because we do not have security support anymore. What does 'npm run build' do?It creates an optimized production build in a build directory aka more efficient, self-contained files for browsers to use.
How do we specify the Node.js version for our app Docker image?I tried running the Dockerfile and it says "alpine:3, 3.18, 3.18.3, latest". Not sure if that is what you were asking about, but I read through the link about what alpine means
How do you enforce a minimum version of node.js?It seems as though there is an "engines" section in npm. Here you can specify the minimum version of node. Seems as though if you want to enforce it even more, there is a way to do so using semver aka semantic versioning, where you can enforce/communicate version releases. This medium article shows a simple way of doing so. For those who have multiple versions of node on their local machine, they can also use node version manager or nvm.
How could upgrading Node.js break our project?Our version of node may have functions and features that are now deprecated in newer versions. Import names may have changed as well. If upgrading breaks our project, how should we address those breaks?It seems as though we will not know what breaks until we try upgrading it locally, and then tackling it from there. Depending on which one we decide (current LTS v18.x or current v20.x), we will have different breaks. How do you install a new version of node.js?
How do you upgrade the version of a dependency listed in package.json?You can use What is a GitHub workflow?It is an automated process in GitHub Actions where events will trigger jobs, which will then execute one or more steps. Each of these steps would run an action. GitHub's actions would need to be updated with the correct node version or else it will break due to incompatibility of dependency changes. Features may work on our local but not on GitHub if we do not update.
General Solution PlanOur plan is to upgrade to the stable LTS version of node,
Implementation QuestionsHow do you update a workflow script to use the latest version of node?Instead of specifying the exact version of node we can specify the LTS version. Since the version is not pinned this does risk future builds breaking during a node upgrade, but this shouldn't be a problem because 1) the current script already does not use an exact pinned version and 2) our plan is to always support the LTS version of node so the fix would be high priority. See the
|
Hey @mira-kine, An initial project plan is ready for this issue. Please submit your answers and reassign me once it is ready for review. Each response can be as brief as a few words / sentences. I just want to make sure we are on the page! My comments are included as
Please don't remove those section. I'll remove them as I review your responses. |
Great PP @mira-kine! I added my minor comments
and added a general solution plan along with a snippet showing how to update the workflows. You should be good to open a branch now, unless I've left anything our or if you have any questions. Our |
Hey @mira-kine, So sorry I forgot to save my last edits 🤦. The PP is updated and I think you are good to open a branch! If you need any help with anything just let me know! |
Hi @Joshua-Douglas, I am finally back and active. The LTS version of node is now 20.x (as of October 18), with its active support ending in 11 months and security support ending in 2 years according to this schedule. I will update to 20.x instead, with the same solution plan. Thank you! |
Overview
Node 16.x is reaching End-Of-Life support on 2023-09-11.
https://github.com/nodejs/release#release-schedule
https://nodejs.org/en/blog/announcements/nodejs16-eol
Action Items
The text was updated successfully, but these errors were encountered: