UNPKG

@dependabot/yarn-lib

Version:

📦🐈 Fast, reliable, and secure dependency management.

35 lines (29 loc) 1.09 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.LogicalDependencyTree = undefined; var _npmLogicalTree; function _load_npmLogicalTree() { return _npmLogicalTree = _interopRequireDefault(require('npm-logical-tree')); } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class LogicalDependencyTree { constructor(packageJson, packageLock) { this.tree = (0, (_npmLogicalTree || _load_npmLogicalTree()).default)(JSON.parse(packageJson), JSON.parse(packageLock)); } _findNode(name, parentNames) { const parentTree = parentNames ? parentNames.reduce((node, ancestor) => { const ancestorNode = node.dependencies.get(ancestor); return ancestorNode; }, this.tree) : this.tree; const node = parentTree.dependencies.get(name); return node; } getFixedVersionPattern(name, parentNames) { const node = this._findNode(name, parentNames); const version = node.version; return `${node.name}@${version}`; } } exports.LogicalDependencyTree = LogicalDependencyTree;