VIP supports all Node.js Long Term Support (LTS) releases in Active or Maintenance status—as well as the next Active LTS candidate—for Node.js environments.
To avoid bugs and conflicts, it is strongly recommend to align major Node.js and npm versions across all local, testing, and VIP environments. Node.js version managers such as nvm can be useful for this purpose. The resulting .nvmrc or .node-version files can be committed to a wpvip GitHub repository, and can be helpful for a development workflow. These files have no effect on the behavior of an application on a VIP environment.
Updating Node.js major versions
Being prepared for Node.js major version updates and updating early is recommended. Including updates to a site’s dependencies as part of the Node.js update process can help to consolidate testing and development efforts.
Node.js major version updates should be tested thoroughly on a local environment first. Make sure that this testing includes reinstalling dependencies from scratch since the behavior of
npm install can vary across major versions of Node.js.
Once the local testing for the updated Node.js major version is complete, the active major version (e.g., v16) of Node.js for a VIP Platform environment can be managed in the Software Management panel of the VIP Dashboard.
When Node.js is updated, an application’s code is rebuilt and deployed with the updated version. During the update, no downtime for the environment will occur.
Minor releases and security updates for the active version will be automatically applied to the environment.
If an environment is using a Node.js version that is reaching end-of-life soon, VIP Support will reach out and provide a deadline for the environment to be updated. A VIP site cannot run on a Node.js version that no longer has active or maintenance LTS status, because that version will no longer receive security updates.
Node.js versions in automated testing
For Node.js applications that have automated testing, running tests in both the current Node.js version and next LTS release candidate are helpful for staying prepared for new LTS versions. Automated testing should pin to a major Node.js version, and not to minor or patch versions.