From 3f4b88e638a24ef3fe1e1eb0f849710468540cf8 Mon Sep 17 00:00:00 2001 From: Amjad Masad Date: Wed, 16 Mar 2016 18:14:16 -0700 Subject: [PATCH 1/2] Don't reuse same node for React.createElement Is causing problems with path cache. See https://github.com/babel/babel/pull/3428 --- .../babel-plugin-transform-react-jsx/src/index.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/babel-plugin-transform-react-jsx/src/index.js b/packages/babel-plugin-transform-react-jsx/src/index.js index 32e97505f8..a6279c232f 100644 --- a/packages/babel-plugin-transform-react-jsx/src/index.js +++ b/packages/babel-plugin-transform-react-jsx/src/index.js @@ -15,7 +15,7 @@ export default function ({ types: t }) { }, post(state, pass) { - state.callee = pass.get("jsxIdentifier"); + state.callee = pass.get("jsxIdentifier")(); } }); @@ -35,9 +35,12 @@ export default function ({ types: t }) { } } - state.set("jsxIdentifier", id.split(".").map((name) => t.identifier(name)).reduce(function (object, property) { - return t.memberExpression(object, property); - })); + state.set( + "jsxIdentifier", + ()=> id.split(".").map((name) => t.identifier(name)).reduce( + (object, property) => t.memberExpression(object, property) + ) + ); }; return { From bf600b0526045aba8b8641401ecd35b02eaac939 Mon Sep 17 00:00:00 2001 From: Amjad Masad Date: Wed, 16 Mar 2016 20:06:09 -0700 Subject: [PATCH 2/2] fix lint issue --- packages/babel-plugin-transform-react-jsx/src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/babel-plugin-transform-react-jsx/src/index.js b/packages/babel-plugin-transform-react-jsx/src/index.js index a6279c232f..0a80ffac4b 100644 --- a/packages/babel-plugin-transform-react-jsx/src/index.js +++ b/packages/babel-plugin-transform-react-jsx/src/index.js @@ -37,7 +37,7 @@ export default function ({ types: t }) { state.set( "jsxIdentifier", - ()=> id.split(".").map((name) => t.identifier(name)).reduce( + () => id.split(".").map((name) => t.identifier(name)).reduce( (object, property) => t.memberExpression(object, property) ) );