diff --git a/packages/babel-preset-react-app/index.js b/packages/babel-preset-react-app/index.js index d3063aee304..d6e9c4519d4 100644 --- a/packages/babel-preset-react-app/index.js +++ b/packages/babel-preset-react-app/index.js @@ -27,7 +27,15 @@ const plugins = [ regenerator: true, // Resolve the Babel runtime relative to the config. moduleName: path.dirname(require.resolve('babel-runtime/package')) - }] + }], + // The following two plugins are currently necessary to get + // babel-preset-env to work with rest/spread. More info here: + // https://github.com/babel/babel-preset-env#caveats + // https://github.com/babel/babel/issues/4074 + // const { a, ...z } = obj; + require.resolve('babel-plugin-transform-es2015-destructuring'), + // const fn = ({ a, ...otherProps }) => otherProps; + require.resolve('babel-plugin-transform-es2015-parameters') ]; // This is similar to how `env` works in Babel: diff --git a/packages/babel-preset-react-app/package.json b/packages/babel-preset-react-app/package.json index bd1db0f5722..3778880b5ce 100644 --- a/packages/babel-preset-react-app/package.json +++ b/packages/babel-preset-react-app/package.json @@ -12,6 +12,8 @@ ], "dependencies": { "babel-plugin-transform-class-properties": "6.11.5", + "babel-plugin-transform-es2015-destructuring": "6.16.0", + "babel-plugin-transform-es2015-parameters": "6.17.0", "babel-plugin-transform-object-rest-spread": "6.8.0", "babel-plugin-transform-react-constant-elements": "6.9.1", "babel-plugin-transform-react-jsx-self": "6.11.0",