Skip to content

Commit 2a46b6d

Browse files
authored
fix: handle prereleases (#32)
1 parent 0c91253 commit 2a46b6d

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

sources/Engine.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import semver from 'semver';
55

66
import defaultConfig from '../config.json';
77

8+
import * as semverUtils from './semverUtils'
89
import * as folderUtils from './folderUtils';
910
import * as pmmUtils from './pmmUtils';
1011
import {SupportedPackageManagers, SupportedPackageManagerSet} from './types';
@@ -90,7 +91,7 @@ export class Engine {
9091
throw new UsageError(`This package manager (${locator.name}) isn't supported by this corepack build`);
9192

9293
const ranges = Object.keys(definition.ranges).reverse();
93-
const range = ranges.find(range => semver.satisfies(locator.reference, range));
94+
const range = ranges.find(range => semverUtils.satisfiesWithPrereleases(locator.reference, range));
9495
if (typeof range === `undefined`)
9596
throw new Error(`Assertion failed: Specified resolution (${locator.reference}) isn't supported by any of ${ranges.join(`, `)}`);
9697

@@ -116,7 +117,7 @@ export class Engine {
116117
return {name: descriptor.name, reference: cachedVersion};
117118

118119
const candidateRangeDefinitions = Object.keys(definition.ranges).filter(range => {
119-
return semver.intersects(range, descriptor.range);
120+
return semverUtils.satisfiesWithPrereleases(descriptor.range, range)
120121
});
121122

122123
const tagResolutions = await Promise.all(candidateRangeDefinitions.map(async range => {

0 commit comments

Comments
 (0)