From d5b4955507cca7d0ab773e8f66b6dfaa0c0147d1 Mon Sep 17 00:00:00 2001 From: Kristian Whittick Date: Sat, 17 Jan 2026 09:47:47 +0000 Subject: [PATCH] fix: replace deprecated Babel plugin-proposal-* with plugin-transform-* MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces 6 deprecated Babel plugins with their maintained equivalents: - @babel/plugin-proposal-class-properties → @babel/plugin-transform-class-properties - @babel/plugin-proposal-numeric-separator → @babel/plugin-transform-numeric-separator - @babel/plugin-proposal-nullish-coalescing-operator → @babel/plugin-transform-nullish-coalescing-operator - @babel/plugin-proposal-optional-chaining → @babel/plugin-transform-optional-chaining - @babel/plugin-proposal-private-methods → @babel/plugin-transform-private-methods - @babel/plugin-proposal-private-property-in-object → @babel/plugin-transform-private-property-in-object These proposals have been merged to the ECMAScript standard and the proposal plugins are no longer maintained. Resolves #13651 --- packages/babel-preset-react-app/create.js | 18 +++++++++--------- packages/babel-preset-react-app/package.json | 12 ++++++------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/babel-preset-react-app/create.js b/packages/babel-preset-react-app/create.js index 126de46ee5c..b260b699e42 100644 --- a/packages/babel-preset-react-app/create.js +++ b/packages/babel-preset-react-app/create.js @@ -148,30 +148,30 @@ module.exports = function (api, opts, env) { // See discussion in https://github.com/facebook/create-react-app/issues/4263 // Note: // 'loose' mode configuration must be the same for - // * @babel/plugin-proposal-class-properties - // * @babel/plugin-proposal-private-methods - // * @babel/plugin-proposal-private-property-in-object + // * @babel/plugin-transform-class-properties + // * @babel/plugin-transform-private-methods + // * @babel/plugin-transform-private-property-in-object // (when they are enabled) [ - require('@babel/plugin-proposal-class-properties').default, + require('@babel/plugin-transform-class-properties').default, { loose: true, }, ], [ - require('@babel/plugin-proposal-private-methods').default, + require('@babel/plugin-transform-private-methods').default, { loose: true, }, ], [ - require('@babel/plugin-proposal-private-property-in-object').default, + require('@babel/plugin-transform-private-property-in-object').default, { loose: true, }, ], // Adds Numeric Separators - require('@babel/plugin-proposal-numeric-separator').default, + require('@babel/plugin-transform-numeric-separator').default, // Polyfills the runtime needed for async/await, generators, and friends // https://babeljs.io/docs/en/babel-plugin-transform-runtime [ @@ -205,8 +205,8 @@ module.exports = function (api, opts, env) { // but not yet supported in webpack due to support missing from acorn. // These can be removed once webpack has support. // See https://github.com/facebook/create-react-app/issues/8445#issuecomment-588512250 - require('@babel/plugin-proposal-optional-chaining').default, - require('@babel/plugin-proposal-nullish-coalescing-operator').default, + require('@babel/plugin-transform-optional-chaining').default, + require('@babel/plugin-transform-nullish-coalescing-operator').default, ].filter(Boolean), overrides: [ isFlowEnabled && { diff --git a/packages/babel-preset-react-app/package.json b/packages/babel-preset-react-app/package.json index b7885c4b657..f627ab613c1 100644 --- a/packages/babel-preset-react-app/package.json +++ b/packages/babel-preset-react-app/package.json @@ -22,13 +22,13 @@ ], "dependencies": { "@babel/core": "^7.16.0", - "@babel/plugin-proposal-class-properties": "^7.16.0", "@babel/plugin-proposal-decorators": "^7.16.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", - "@babel/plugin-proposal-numeric-separator": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-private-methods": "^7.16.0", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-transform-class-properties": "^7.16.0", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-transform-numeric-separator": "^7.16.0", + "@babel/plugin-transform-optional-chaining": "^7.16.0", + "@babel/plugin-transform-private-methods": "^7.16.0", + "@babel/plugin-transform-private-property-in-object": "^7.16.7", "@babel/plugin-transform-flow-strip-types": "^7.16.0", "@babel/plugin-transform-react-display-name": "^7.16.0", "@babel/plugin-transform-runtime": "^7.16.4",