@nx/node
Version:
128 lines (127 loc) • 5.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.axiosVersion = exports.fastifyPluginVersion = exports.fastifySensibleVersion = exports.fastifyAutoloadVersion = exports.fastifyVersion = exports.minSupportedFastifyVersion = exports.koaTypingsVersion = exports.koaVersion = exports.minSupportedKoaVersion = exports.expressTypingsVersion = exports.expressVersion = exports.minSupportedExpressVersion = exports.typesNodeVersion = exports.minSupportedNodeTypesVersion = exports.tslibVersion = exports.nxVersion = void 0;
exports.nodeTypesVersions = nodeTypesVersions;
exports.getInstalledNodeTypesVersion = getInstalledNodeTypesVersion;
exports.expressVersions = expressVersions;
exports.getInstalledExpressVersion = getInstalledExpressVersion;
exports.koaVersions = koaVersions;
exports.getInstalledKoaVersion = getInstalledKoaVersion;
exports.fastifyVersions = fastifyVersions;
exports.getInstalledFastifyVersion = getInstalledFastifyVersion;
const internal_1 = require("@nx/devkit/internal");
const semver_1 = require("semver");
const path_1 = require("path");
exports.nxVersion = require((0, path_1.join)('@nx/node', 'package.json')).version;
exports.tslibVersion = '^2.3.0';
// `@types/node` — supported window covers the active LTS majors (currently v22
// and v24). Fresh installs default to the active LTS (v22).
exports.minSupportedNodeTypesVersion = '22.0.0';
exports.typesNodeVersion = '^22.0.0';
const nodeTypesLatest = { typesNodeVersion: exports.typesNodeVersion };
const nodeTypesVersionMap = {
22: { typesNodeVersion: '^22.0.0' },
24: { typesNodeVersion: '^24.0.0' },
};
function nodeTypesVersions(tree) {
const installed = getInstalledNodeTypesVersion(tree);
if (!installed) {
return nodeTypesLatest;
}
const m = (0, semver_1.major)(installed);
return nodeTypesVersionMap[m] ?? nodeTypesLatest;
}
function getInstalledNodeTypesVersion(tree) {
if (!tree) {
return (0, internal_1.getInstalledPackageVersion)('@types/node');
}
return (0, internal_1.getDeclaredPackageVersion)(tree, '@types/node');
}
// Express — support window v4 + v5 (v4 in MAINT through 2026-10-01, v5 ACTIVE).
exports.minSupportedExpressVersion = '4.0.0';
exports.expressVersion = '^5.1.0';
exports.expressTypingsVersion = '^5.0.0';
const expressLatest = {
expressVersion: exports.expressVersion,
expressTypingsVersion: exports.expressTypingsVersion,
};
const expressVersionMap = {
4: {
expressVersion: '^4.21.2',
expressTypingsVersion: '^4.17.21',
},
};
function expressVersions(tree) {
const installed = getInstalledExpressVersion(tree);
if (!installed) {
return expressLatest;
}
const m = (0, semver_1.major)(installed);
return expressVersionMap[m] ?? expressLatest;
}
function getInstalledExpressVersion(tree) {
if (!tree) {
return (0, internal_1.getInstalledPackageVersion)('express');
}
return (0, internal_1.getDeclaredPackageVersion)(tree, 'express');
}
// Koa — no upstream LTS policy; support window v2 + v3 (Rule 2: N & N-1).
exports.minSupportedKoaVersion = '2.0.0';
exports.koaVersion = '^3.1.2';
exports.koaTypingsVersion = '^3.0.0';
const koaLatest = { koaVersion: exports.koaVersion, koaTypingsVersion: exports.koaTypingsVersion };
const koaVersionMap = {
2: {
koaVersion: '^2.14.1',
koaTypingsVersion: '^2.13.5',
},
};
function koaVersions(tree) {
const installed = getInstalledKoaVersion(tree);
if (!installed) {
return koaLatest;
}
const m = (0, semver_1.major)(installed);
return koaVersionMap[m] ?? koaLatest;
}
function getInstalledKoaVersion(tree) {
if (!tree) {
return (0, internal_1.getInstalledPackageVersion)('koa');
}
return (0, internal_1.getDeclaredPackageVersion)(tree, 'koa');
}
// Fastify — upstream "last 2 majors" policy. Support window v4 + v5.
exports.minSupportedFastifyVersion = '4.0.0';
exports.fastifyVersion = '~5.2.1';
exports.fastifyAutoloadVersion = '~6.0.3';
exports.fastifySensibleVersion = '~6.0.2';
exports.fastifyPluginVersion = '~5.0.1';
const fastifyLatest = {
fastifyVersion: exports.fastifyVersion,
fastifyAutoloadVersion: exports.fastifyAutoloadVersion,
fastifySensibleVersion: exports.fastifySensibleVersion,
fastifyPluginVersion: exports.fastifyPluginVersion,
};
const fastifyVersionMap = {
4: {
fastifyVersion: '~4.28.1',
fastifyAutoloadVersion: '~5.10.0',
fastifySensibleVersion: '~5.6.0',
fastifyPluginVersion: '~4.5.1',
},
};
function fastifyVersions(tree) {
const installed = getInstalledFastifyVersion(tree);
if (!installed) {
return fastifyLatest;
}
const m = (0, semver_1.major)(installed);
return fastifyVersionMap[m] ?? fastifyLatest;
}
function getInstalledFastifyVersion(tree) {
if (!tree) {
return (0, internal_1.getInstalledPackageVersion)('fastify');
}
return (0, internal_1.getDeclaredPackageVersion)(tree, 'fastify');
}
exports.axiosVersion = '^1.6.0';