@nx/eslint
Version:
36 lines (35 loc) • 1.4 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getInstalledPackageVersion = getInstalledPackageVersion;
exports.getInstalledEslintVersion = getInstalledEslintVersion;
const devkit_1 = require("@nx/devkit");
const semver_1 = require("@nx/devkit/src/utils/semver");
const devkit_internals_1 = require("nx/src/devkit-internals");
function getInstalledPackageVersion(pkgName, tree) {
try {
const packageJson = (0, devkit_internals_1.readModulePackageJson)(pkgName).packageJson;
return packageJson.version;
}
catch { }
// the package is not installed on disk, it could be in the package.json
// but waiting to be installed
const rootPackageJson = tree
? (0, devkit_1.readJson)(tree, 'package.json')
: (0, devkit_1.readJsonFile)('package.json');
const pkgVersionInRootPackageJson = rootPackageJson.devDependencies?.[pkgName] ??
rootPackageJson.dependencies?.[pkgName];
if (!pkgVersionInRootPackageJson) {
// the package is not installed
return null;
}
try {
// try to parse and return the version
return (0, semver_1.checkAndCleanWithSemver)(pkgName, pkgVersionInRootPackageJson);
}
catch { }
// we could not resolve the version
return null;
}
function getInstalledEslintVersion(tree) {
return getInstalledPackageVersion('eslint', tree);
}
;