UNPKG

@nx/eslint

Version:

The ESLint plugin for Nx contains executors, generators and utilities used for linting JavaScript/TypeScript projects within an Nx workspace.

36 lines (35 loc) 1.4 kB
"use strict"; 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); }