From 7844626800b292871b2d3f41a3443c4d5ce68463 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Tue, 2 May 2023 11:46:50 +0100 Subject: [PATCH] Fix backward compat for semver checks in class®exp feat plugins --- .../src/index.ts | 9 +++++++++ .../src/index.ts | 11 ++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/babel-helper-create-class-features-plugin/src/index.ts b/packages/babel-helper-create-class-features-plugin/src/index.ts index 6698e246570a..a67b5715184c 100644 --- a/packages/babel-helper-create-class-features-plugin/src/index.ts +++ b/packages/babel-helper-create-class-features-plugin/src/index.ts @@ -96,6 +96,15 @@ export function createClassFeaturePlugin({ pre(file) { enableFeature(file, feature, loose); + if (!process.env.BABEL_8_BREAKING) { + // Until 7.21.4, we used to encode the version as a number. + // If file.get(versionKey) is a number, it has thus been + // set by an older version of this plugin. + if (typeof file.get(versionKey) === "number") { + file.set(versionKey, PACKAGE_JSON.version); + return; + } + } if ( !file.get(versionKey) || semver.lt(file.get(versionKey), PACKAGE_JSON.version) diff --git a/packages/babel-helper-create-regexp-features-plugin/src/index.ts b/packages/babel-helper-create-regexp-features-plugin/src/index.ts index 95c5cdda8c52..486628e733f7 100644 --- a/packages/babel-helper-create-regexp-features-plugin/src/index.ts +++ b/packages/babel-helper-create-regexp-features-plugin/src/index.ts @@ -82,8 +82,17 @@ export function createRegExpFeaturePlugin({ } } + if (!process.env.BABEL_8_BREAKING) { + // Until 7.21.4, we used to encode the version as a number. + // If file.get(versionKey) is a number, it has thus been + // set by an older version of this plugin. + if (typeof file.get(versionKey) === "number") { + file.set(versionKey, PACKAGE_JSON.version); + return; + } + } if ( - !file.has(versionKey) || + !file.get(versionKey) || semver.lt(file.get(versionKey), PACKAGE_JSON.version) ) { file.set(versionKey, PACKAGE_JSON.version);