mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-10-01 20:33:50 +00:00
* feat: add OpenFleet membership and CoinPay rental contracts * Propose OpenWall broadcasts and direct messaging contracts * release: prepare OpenFleet and OpenWall public contracts * fix: use tested npm for compatible CLI installs
17 lines
743 B
JavaScript
17 lines
743 B
JavaScript
// npm 11 supports Node ^20.17.0 || >=22.9.0. Older CLI runtimes keep
|
|
// their existing npm; modern runtimes use the repository's tested version.
|
|
function selectNpm(nodeVersion, packageManager) {
|
|
const match = /^(\d+)\.(\d+)\.(\d+)$/.exec(nodeVersion);
|
|
if (!match || !/^npm@11\.\d+\.\d+$/.test(packageManager)) return null;
|
|
const major = Number(match[1]);
|
|
const minor = Number(match[2]);
|
|
const supported = (major === 20 && minor >= 17) || major > 22 || (major === 22 && minor >= 9);
|
|
return supported ? packageManager : null;
|
|
}
|
|
|
|
module.exports = { selectNpm };
|
|
|
|
if (require.main === module) {
|
|
const { packageManager } = require("../package.json");
|
|
process.stdout.write(selectNpm(process.versions.node, packageManager) || "");
|
|
}
|