Relax Node version constraints to >=16.x

- Change engines.node from '^22.x || ^20.x' to '>=16.x'
- Change engines.npm from '>=10.x' to '>=8.x'
- Update runtime checkNodeVersion to allow Node 16+
- Creates overlap with previous release (^16.x || ^14.x)

This allows users on Node 16/18 to upgrade smoothly while
recommending Node 20 or 22 LTS for best support.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Ben West
2026-02-27 14:52:56 -08:00
co-authored by Copilot
parent 019fa51cff
commit e0cc9ff5df
3 changed files with 1936 additions and 46 deletions
+9 -4
View File
@@ -38,14 +38,19 @@ function boot (env, language) {
const isLTS = process.release.lts ? true : false; const isLTS = process.release.lts ? true : false;
if (isLTS && (semver.satisfies(nodeVersion, '>=20.x'))) { // Node 16+ is supported (overlap with previous release)
//NodeJS 20 is supported until April 2026 // Recommended: Node 20 LTS (until April 2026) or Node 22 LTS (until April 2027)
console.debug('Node LTS version ' + nodeVersion + ' is supported'); if (semver.satisfies(nodeVersion, '>=16.x')) {
if (isLTS) {
console.debug('Node LTS version ' + nodeVersion + ' is supported');
} else {
console.debug('Node version ' + nodeVersion + ' is supported (current release)');
}
next(); next();
return; return;
} }
console.log( 'ERROR: Node version ' + nodeVersion + ' is not supported. Please use a secure LTS version or upgrade your Node'); console.log( 'ERROR: Node version ' + nodeVersion + ' is not supported. Please use Node 16 or later.');
process.exit(1); process.exit(1);
} }
+1925 -40
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -65,8 +65,8 @@
} }
}, },
"engines": { "engines": {
"node": "^22.x || ^20.x", "node": ">=16.x",
"npm": ">=10.x" "npm": ">=8.x"
}, },
"dependencies": { "dependencies": {
"@babel/core": "^7.18.10", "@babel/core": "^7.18.10",