Fix logic/Flow error with versionRange. (#8714)
This commit is contained in:
parent
bd0c62dc0c
commit
aa33303112
@ -156,7 +156,7 @@ export default class File {
|
|||||||
* helper exists, but was not available for the full given range, it will be
|
* helper exists, but was not available for the full given range, it will be
|
||||||
* considered unavailable.
|
* considered unavailable.
|
||||||
*/
|
*/
|
||||||
availableHelper(name: string, versionRange: ?string) {
|
availableHelper(name: string, versionRange: ?string): boolean {
|
||||||
let minVersion;
|
let minVersion;
|
||||||
try {
|
try {
|
||||||
minVersion = helpers.minVersion(name);
|
minVersion = helpers.minVersion(name);
|
||||||
@ -166,6 +166,8 @@ export default class File {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (typeof versionRange !== "string") return true;
|
||||||
|
|
||||||
// semver.intersects() has some surprising behavior with comparing ranges
|
// semver.intersects() has some surprising behavior with comparing ranges
|
||||||
// with preprelease versions. We add '^' to ensure that we are always
|
// with preprelease versions. We add '^' to ensure that we are always
|
||||||
// comparing ranges with ranges, which sidesteps this logic.
|
// comparing ranges with ranges, which sidesteps this logic.
|
||||||
@ -186,9 +188,8 @@ export default class File {
|
|||||||
if (semver.valid(versionRange)) versionRange = `^${versionRange}`;
|
if (semver.valid(versionRange)) versionRange = `^${versionRange}`;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
typeof versionRange !== "string" ||
|
!semver.intersects(`<${minVersion}`, versionRange) &&
|
||||||
(!semver.intersects(`<${minVersion}`, versionRange) &&
|
!semver.intersects(`>=8.0.0`, versionRange)
|
||||||
!semver.intersects(`>=8.0.0`, versionRange))
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user