diff --git a/packages/babel-preset-react-app/create.js b/packages/babel-preset-react-app/create.js index 473d0969f4e..361fa4a314d 100644 --- a/packages/babel-preset-react-app/create.js +++ b/packages/babel-preset-react-app/create.js @@ -100,7 +100,6 @@ module.exports = function (api, opts, env) { useBuiltIns: true, }, ], - isTypeScriptEnabled && [require('@babel/preset-typescript').default], ].filter(Boolean), plugins: [ // Strip flow types before any other transform, emulating the behavior @@ -116,6 +115,10 @@ module.exports = function (api, opts, env) { // Experimental macros support. Will be documented after it's had some time // in the wild. require('babel-plugin-macros'), + isTypeScriptEnabled && [ + require('@babel/plugin-transform-typescript').default, + { allowDeclareFields: true }, + ], // Disabled as it's handled automatically by preset-env, and `selectiveLoose` isn't // yet merged into babel: https://github.com/babel/babel/pull/9486 // Related: https://github.com/facebook/create-react-app/pull/8215 diff --git a/packages/babel-preset-react-app/package.json b/packages/babel-preset-react-app/package.json index 7bcff4e136f..e6c35135b52 100644 --- a/packages/babel-preset-react-app/package.json +++ b/packages/babel-preset-react-app/package.json @@ -30,9 +30,9 @@ "@babel/plugin-transform-flow-strip-types": "7.10.4", "@babel/plugin-transform-react-display-name": "7.10.4", "@babel/plugin-transform-runtime": "7.10.5", + "@babel/plugin-transform-typescript": "^7.10.5", "@babel/preset-env": "7.10.4", "@babel/preset-react": "7.10.4", - "@babel/preset-typescript": "7.10.4", "@babel/runtime": "7.10.5", "babel-plugin-macros": "2.8.0", "babel-plugin-transform-react-remove-prop-types": "0.4.24"