If a node version is beyond LTS support will it stop building on Heroku? - node.js

I have a Node 12 app and am trying to assess when i should migrate up to a newer version of Node. Even though it is no longer officialy suppported the app builds today on v12. I read in heroku's documentation (https://devcenter.heroku.com/articles/nodejs-support) that I can install "most node versions". That seems to explain why the app is still building, but then I also read that official buildpack support is given to active or LTS node versions.
Given the above, what is the implication for older apps? That it will build until a breaking change in the buildpack stops it from building? Is there a buildpack per node version which, if true, would mean that the build will work but without benefit of updates or bugfixes?

Related

Azure Web App using Node 10.x instead of 14.x

I'm using Azure Web Apps and every time I try to make it use node 14.x it resets back to 10.x after every deployment.
When I go to Configuration > General the Stack is blank, I have to select Node and then 14.x to make it work.
Edit: Linux is used not Windows
I managed to solve the problem by adding
runtimeStack: "NODE|14-lts"
in the yaml file, 16.x is not yet supported so it defaults back to 10.x
Add WEBSITE_NODE_DEFAULT_VERSION app setting for the Node version, but make sure the exact version you fill in is installed on the workers (assuming Windows workers here, since you don't specify) -
https://{yourWebAppName}.scm.azurewebsites.net/api/diagnostics/runtime
That's the Kudu API route returning runtime versions. Pick the latest installed Node version from there.
Your app setting becomes
WEBSITE_NODE_DEFAULT_VERSION = 14.16.0
As long as you don't remove or overwrite this app setting, your Node version will stay consistent across code deployments.
Tracking a GitHub issue here since the documentation page is confusing about the version values -
https://github.com/MicrosoftDocs/azure-docs/issues/79475

Feasible node version for react 16.x? CSR (client-side rendered page)

Planning to migrate the CSR(client-side rendered) application form React 15 to 16.X.
Please suggest me, what would be the feasible node version for React 16.X migration?
React is not dependent on a specific node version. So I would suggest to go with the Long Term Support version and upgrade if you need anything from newer veresions. LTS as of this writing is 8.11.4. Popular libraries like Create-React-App by facebook use node v8 and v10.

How to change or upgrade the version of Node.js and npm in a Meteor app without updating Meteor

Meteor is typically behind in Node.js version because it is a framework that uses its own bundled version of Node.js, and its APIs and features are built to rely on that version of Node.js.
I'm sure that in many cases upgrading Node.js poses no problem.
As an example, Meteor 2.10 at time of writing ships with Node.js 14. But we're already on Node.js 19.
Is there a way to tell Meteor (f.e. with the meteor cli, or some meteor package) to use newer versions of Node.js (and npm)?
Meteor 1.4 now supports Node 4.4.7!
See release notes
To upgrade to Meteor 1.4:
Go to the root of your project's directory
meteor update
Meteor does not support NodeJS 4+ as of now. The discussion is available in https://github.com/meteor/meteor/issues/5124
The latest update to the thread on April 29 is:
Guys, relax. The difference between Node version 4, 5 and 6 are relatively minor, and so if Meteor can support one, it can and will support all others. Ben created PRs for every currently active and supported Node version, but the fundamental part of the work is about making Meteor work with any (recent, non-legacy) Node version, and from there basically everyone should be able to freely select whichever one fits their goals and intentions best (i.e. 4.x if you don't care for bleeding edge Node, 6.x if you do; 5.x is not going to stick around for very long as it's not an LTS version).
So come and check out and help with the PRs if you're interested and
you can, but if not, just rest assured this is being worked on and
prioritized appropriately and I'm pretty sure Ben (and/or others
working on this) will keep everyone posted on any meaningful progress.

What local node-version is recommended for AWS Lambda and Serverless

Starting with AWS-Lambda and the Serverless Framework i am confused about node versions:
The AWS help site says that (on 21-March-2016)
AWS Lambda supports the following runtime versions:
Node.js: v0.10.36
So i did install Node.js v0.10.36 on my local machine. Installing the latest (v 0.4.2) serverless framework via
npm install serverless -g
it gives the following warning:
npm WARN engine serverless#0.4.2: wanted: {"node":">=4.0"} (current:
{"node":"0.10.36","npm":"1.4.28"})
I thought having the same version locally as on AWS might help having a consistent development environment... Am i wrong? What Node.js version should i run locally to get the most out of serverless?
The Serverless Framework requires Node.js v4.0 or higher. Any version of Node.js within the v4.x or v5.x lines should work.
You are correct that AWS Lambda currently only supports Node.js v0.10.36. The decision to build the Serverless Framework on Node.js v4.0 was done in anticipation that AWS Lamabda would eventually support Node.js v4.0 or higher.
When developing code for AWS Lambda, you should continue to only use features compatible with Node.js v0.10.36. If you make any contributions to the framework, you can use Node.js features available in v4.0+.
Another option is to use Babelify to transform your ES2015 code uploading to AWS Lambda. This allows you to develop in ES2015 without having to wait for AWS Lambda to officially support it. This can be done automatically each time you deploy with the Serverless Framework using the Optimizer Plugin.
Update: A new option now exists, the Serverless Babel Runtime. This goes one step beyond what Optimizer does, and uses Babel inside the runtime itself.
Update 2: AWS Lambda now supports Node.js v4.3.
If you are starting out with a brand new, fresh project I would highly avoid starting with node 0.10.x. That version is just receiving important security fixes at this point, and only for another five months (until October 2016).
The Node.js has adopted the common Long Term Support (LTS) pattern to keep releases timely and stable. Here is the current LTS plan for node.
I would highly recommend starting out with version 4 or 5, depending on your appetite for change and keeping your project up to date. You will be able to take advantage of numerous new features over the 0.10/0.12 releases as well as better prepare you for ES6.

Does express.js 4.x support node 4.x?

I've been trying to find the supported versions on node on the expressjs page, but can't find an official list. Has expressjs been updated to work with the newest releases of node?
As of today (Oct 09, 2015), the package.json file on the ExpressJS master branch still mentions that it supports node versions >= 0.10.0, so semantically speaking that would imply node 4.x.
However, there is an open issue dealing specifically with the node 4.x support. The current state is that express devs are trying to find which dependencies might have an issue running on node 4, but so far they've not found any.
So in theory, Express 4 should not have any issues running on Node 4.

Resources