From 6c3be4953611570995f869cadff4eb6bdf1d3e57 Mon Sep 17 00:00:00 2001 From: Jeffrey Carl Faden Date: Tue, 18 Oct 2016 09:52:32 -0700 Subject: [PATCH 1/2] Enable babel parameters/destructuring for all versions of Node --- packages/babel-preset-react-app/index.js | 5 ++++- packages/babel-preset-react-app/package.json | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/babel-preset-react-app/index.js b/packages/babel-preset-react-app/index.js index d3063aee304..0bbe9079f0a 100644 --- a/packages/babel-preset-react-app/index.js +++ b/packages/babel-preset-react-app/index.js @@ -27,7 +27,10 @@ const plugins = [ regenerator: true, // Resolve the Babel runtime relative to the config. moduleName: path.dirname(require.resolve('babel-runtime/package')) - }] + }], + // const { a, ...z } = obj; + require.resolve('babel-plugin-transform-es2015-destructuring'), + 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", From 29711b820f393aff0d8e536cb38c77d558b2249a Mon Sep 17 00:00:00 2001 From: Jeffrey Carl Faden Date: Tue, 18 Oct 2016 10:11:11 -0700 Subject: [PATCH 2/2] Add more descriptive comment explaining plugin use --- packages/babel-preset-react-app/index.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/babel-preset-react-app/index.js b/packages/babel-preset-react-app/index.js index 0bbe9079f0a..d6e9c4519d4 100644 --- a/packages/babel-preset-react-app/index.js +++ b/packages/babel-preset-react-app/index.js @@ -28,8 +28,13 @@ const plugins = [ // 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') ];