diff --git a/packages/babel-core/src/transformation/file/file.js b/packages/babel-core/src/transformation/file/file.js index df71a1ba65..bbc2876718 100644 --- a/packages/babel-core/src/transformation/file/file.js +++ b/packages/babel-core/src/transformation/file/file.js @@ -156,7 +156,7 @@ export default class File { * helper exists, but was not available for the full given range, it will be * considered unavailable. */ - availableHelper(name: string, versionRange: ?string) { + availableHelper(name: string, versionRange: ?string): boolean { let minVersion; try { minVersion = helpers.minVersion(name); @@ -166,6 +166,8 @@ export default class File { return false; } + if (typeof versionRange !== "string") return true; + // semver.intersects() has some surprising behavior with comparing ranges // with preprelease versions. We add '^' to ensure that we are always // comparing ranges with ranges, which sidesteps this logic. @@ -186,9 +188,8 @@ export default class File { if (semver.valid(versionRange)) versionRange = `^${versionRange}`; return ( - typeof versionRange !== "string" || - (!semver.intersects(`<${minVersion}`, versionRange) && - !semver.intersects(`>=8.0.0`, versionRange)) + !semver.intersects(`<${minVersion}`, versionRange) && + !semver.intersects(`>=8.0.0`, versionRange) ); }