UNPKG

841 BJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6const semver = require('semver');
7
8// This isn't really a "proper" constraint resolver. We just return the highest semver
9// version in the versions passed that satisfies the input range. This vastly reduces
10// the complexity and is very efficient for package resolution.
11
12class PackageConstraintResolver {
13 constructor(config, reporter) {
14 this.reporter = reporter;
15 this.config = config;
16 }
17
18 reduce(versions, range) {
19 if (range === 'latest') {
20 // Usually versions are already ordered and the last one is the latest
21 return Promise.resolve(versions[versions.length - 1]);
22 } else {
23 return Promise.resolve(semver.maxSatisfying(versions, range, this.config.looseSemver));
24 }
25 }
26}
27exports.default = PackageConstraintResolver;
\No newline at end of file