diff --git a/packages/babel-core/package.json b/packages/babel-core/package.json index 380d28996a..7b64334e70 100644 --- a/packages/babel-core/package.json +++ b/packages/babel-core/package.json @@ -35,7 +35,7 @@ "dependencies": { "@babel/code-frame": "^7.5.5", "@babel/generator": "^7.7.2", - "@babel/helpers": "csx", + "@babel/helpers": "^7.7.0", "@babel/parser": "^7.7.2", "@babel/template": "^7.7.0", "@babel/traverse": "^7.7.2", diff --git a/packages/babel-core/src/config/helpers/config-api.js b/packages/babel-core/src/config/helpers/config-api.js index 7bce836629..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(semver.coerce(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 3938c1ed3e..f0f50b863c 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.7.0", "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-replace-supers": "^7.7.0", - "@babel/helper-split-export-declaration": "^7.7.0" + "@babel/helper-split-export-declaration": "^7.7.0", + "semver": "^5.5.0" }, "peerDependencies": { "@babel/core": "^7.0.0 || csx" 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 1ed61a1839..9e455952c5 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 c649b5c874..eadc5fe623 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.4.4", - "regexpu-core": "^4.6.0" + "regexpu-core": "^4.6.0", + "semver": "^5.5.0" }, "peerDependencies": { "@babel/core": "^7.0.0 || csx" 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 = {} }) {