diff --git a/packages/babel-preset-react-app/index.js b/packages/babel-preset-react-app/index.js index fbd421beb1e..8270e5b202e 100644 --- a/packages/babel-preset-react-app/index.js +++ b/packages/babel-preset-react-app/index.js @@ -13,6 +13,10 @@ var path = require('path'); const plugins = [ // class { handleClick = () => { } } require.resolve('babel-plugin-transform-class-properties'), + // idx: The existential function. + // (props, _ => _.user.friends[0].friends) + // See https://facebook.github.io/react-native/blog/2017/03/13/idx-the-existential-function.html + require.resolve('babel-plugin-idx'), // The following two plugins use Object.assign directly, instead of Babel's // extends helper. Note that this assumes `Object.assign` is available. // { ...todo, completed: true } diff --git a/packages/babel-preset-react-app/package.json b/packages/babel-preset-react-app/package.json index aa955e43762..f8c0c7fa13a 100644 --- a/packages/babel-preset-react-app/package.json +++ b/packages/babel-preset-react-app/package.json @@ -12,6 +12,7 @@ ], "dependencies": { "babel-plugin-dynamic-import-node": "1.0.0", + "babel-plugin-idx": "1.1.0", "babel-plugin-syntax-dynamic-import": "6.18.0", "babel-plugin-transform-class-properties": "6.23.0", "babel-plugin-transform-object-rest-spread": "6.23.0", diff --git a/packages/react-scripts/package.json b/packages/react-scripts/package.json index b2cb03bb972..4fd1f9f6c9c 100644 --- a/packages/react-scripts/package.json +++ b/packages/react-scripts/package.json @@ -47,6 +47,7 @@ "fs-extra": "0.30.0", "html-webpack-plugin": "2.28.0", "http-proxy-middleware": "0.17.3", + "idx": "1.1.0", "jest": "18.1.0", "object-assign": "4.1.1", "postcss-loader": "1.3.3",