From 02a183a63eedd6f0b060a1e0ed8ccf9206abff29 Mon Sep 17 00:00:00 2001 From: Joe Haddad Date: Sun, 30 Sep 2018 18:26:34 -0400 Subject: [PATCH 1/2] Strip flow syntax before any other transform Plugins run before presets so we can't use the flow preset --- packages/babel-preset-react-app/create.js | 5 ++++- packages/babel-preset-react-app/package.json | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/babel-preset-react-app/create.js b/packages/babel-preset-react-app/create.js index b53dd0aab23..57f50b88717 100644 --- a/packages/babel-preset-react-app/create.js +++ b/packages/babel-preset-react-app/create.js @@ -95,9 +95,12 @@ module.exports = function(api, opts, env) { useBuiltIns: true, }, ], - isFlowEnabled && [require('@babel/preset-flow').default], ].filter(Boolean), plugins: [ + // Strip flow types before any other transform, emulating the behavior + // order as-if the browser supported all of the succeeding features + isFlowEnabled && + require('@babel/plugin-transform-flow-strip-types').default, // Experimental macros support. Will be documented after it's had some time // in the wild. require('babel-plugin-macros'), diff --git a/packages/babel-preset-react-app/package.json b/packages/babel-preset-react-app/package.json index 71a1bf7f760..570fa507a5d 100644 --- a/packages/babel-preset-react-app/package.json +++ b/packages/babel-preset-react-app/package.json @@ -23,11 +23,11 @@ "@babel/plugin-syntax-dynamic-import": "7.0.0", "@babel/plugin-transform-classes": "7.1.0", "@babel/plugin-transform-destructuring": "7.0.0", + "@babel/plugin-transform-flow-strip-types": "7.0.0", "@babel/plugin-transform-react-constant-elements": "7.0.0", "@babel/plugin-transform-react-display-name": "7.0.0", "@babel/plugin-transform-runtime": "7.1.0", "@babel/preset-env": "7.1.0", - "@babel/preset-flow": "7.0.0", "@babel/preset-react": "7.0.0", "@babel/runtime": "7.0.0", "babel-loader": "8.0.4", From 3f3266f764b309709b99a18c682d9b911544a07e Mon Sep 17 00:00:00 2001 From: Joe Haddad Date: Sun, 30 Sep 2018 19:18:26 -0400 Subject: [PATCH 2/2] Add informative comment --- packages/babel-preset-react-app/create.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/babel-preset-react-app/create.js b/packages/babel-preset-react-app/create.js index 57f50b88717..52f0fa14bb7 100644 --- a/packages/babel-preset-react-app/create.js +++ b/packages/babel-preset-react-app/create.js @@ -99,6 +99,7 @@ module.exports = function(api, opts, env) { plugins: [ // Strip flow types before any other transform, emulating the behavior // order as-if the browser supported all of the succeeding features + // https://github.com/facebook/create-react-app/pull/5182 isFlowEnabled && require('@babel/plugin-transform-flow-strip-types').default, // Experimental macros support. Will be documented after it's had some time