diff --git a/eslint/babel-eslint-parser/src/index.js b/eslint/babel-eslint-parser/src/index.js index 2d54014b44..c4e4538e41 100644 --- a/eslint/babel-eslint-parser/src/index.js +++ b/eslint/babel-eslint-parser/src/index.js @@ -7,7 +7,7 @@ import packageJson from "../package.json"; const SUPPORTED_BABEL_VERSION_RANGE = packageJson.peerDependencies["@babel/core"]; const IS_RUNNING_SUPPORTED_VERSION = semver.satisfies( - CURRENT_BABEL_VERSION, + semver.coerce(CURRENT_BABEL_VERSION).raw, SUPPORTED_BABEL_VERSION_RANGE, ); diff --git a/packages/babel-core/src/config/helpers/config-api.js b/packages/babel-core/src/config/helpers/config-api.js index a93756ae9f..97e56da1af 100644 --- a/packages/babel-core/src/config/helpers/config-api.js +++ b/packages/babel-core/src/config/helpers/config-api.js @@ -70,7 +70,7 @@ function assertVersion(range: string | number): void { throw new Error("Expected string or integer value."); } - if (semver.satisfies(coreVersion, range)) return; + if (semver.satisfies(semver.coerce(coreVersion).raw, range)) return; const limit = Error.stackTraceLimit; diff --git a/packages/babel-helper-create-class-features-plugin/package.json b/packages/babel-helper-create-class-features-plugin/package.json index c0fc980303..dc1b6868b3 100644 --- a/packages/babel-helper-create-class-features-plugin/package.json +++ b/packages/babel-helper-create-class-features-plugin/package.json @@ -19,7 +19,8 @@ "@babel/helper-optimise-call-expression": "^7.8.3", "@babel/helper-plugin-utils": "^7.8.3", "@babel/helper-replace-supers": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3" + "@babel/helper-split-export-declaration": "^7.8.3", + "semver": "^5.5.0" }, "peerDependencies": { "@babel/core": "^7.0.0" diff --git a/packages/babel-helper-create-class-features-plugin/src/index.js b/packages/babel-helper-create-class-features-plugin/src/index.js index 57add480d2..8e10b695ed 100644 --- a/packages/babel-helper-create-class-features-plugin/src/index.js +++ b/packages/babel-helper-create-class-features-plugin/src/index.js @@ -1,5 +1,6 @@ import nameFunction from "@babel/helper-function-name"; import splitExportDeclaration from "@babel/helper-split-export-declaration"; +import semver from "semver"; import { buildPrivateNamesNodes, buildPrivateNamesMap, @@ -27,7 +28,10 @@ export { FEATURES, injectInitialization }; // as 70000100005. This method is easier than using a semver-parsing // package, but it breaks if we release x.y.z where x, y or z are // greater than 99_999. -const version = pkg.version.split(".").reduce((v, x) => v * 1e5 + +x, 0); +const version = semver + .coerce(pkg.version) + .raw.split(".") + .reduce((v, x) => v * 1e5 + +x, 0); const versionKey = "@babel/plugin-class-features/version"; export function createClassFeaturePlugin({ diff --git a/packages/babel-helper-create-regexp-features-plugin/package.json b/packages/babel-helper-create-regexp-features-plugin/package.json index a08a20b5dd..95c20a0843 100644 --- a/packages/babel-helper-create-regexp-features-plugin/package.json +++ b/packages/babel-helper-create-regexp-features-plugin/package.json @@ -19,7 +19,8 @@ ], "dependencies": { "@babel/helper-regex": "^7.8.3", - "regexpu-core": "^4.6.0" + "regexpu-core": "^4.6.0", + "semver": "^5.5.0" }, "peerDependencies": { "@babel/core": "^7.0.0" diff --git a/packages/babel-helper-create-regexp-features-plugin/src/index.js b/packages/babel-helper-create-regexp-features-plugin/src/index.js index 49554be42a..b7181c6062 100644 --- a/packages/babel-helper-create-regexp-features-plugin/src/index.js +++ b/packages/babel-helper-create-regexp-features-plugin/src/index.js @@ -1,3 +1,4 @@ +import semver from "semver"; import rewritePattern from "regexpu-core"; import { featuresKey, @@ -16,7 +17,10 @@ import { pullFlag } from "@babel/helper-regex"; // as 70000100005. This method is easier than using a semver-parsing // package, but it breaks if we release x.y.z where x, y or z are // greater than 99_999. -const version = pkg.version.split(".").reduce((v, x) => v * 1e5 + +x, 0); +const version = semver + .coerce(pkg.version) + .raw.split(".") + .reduce((v, x) => v * 1e5 + +x, 0); const versionKey = "@babel/plugin-regexp-features/version"; export function createRegExpFeaturePlugin({ name, feature, options = {} }) {