diff --git a/packages/babel-traverse/src/path/modification.js b/packages/babel-traverse/src/path/modification.js index add972ee4327..abd1890e993e 100644 --- a/packages/babel-traverse/src/path/modification.js +++ b/packages/babel-traverse/src/path/modification.js @@ -26,7 +26,8 @@ export function insertBefore(nodes) { } else if ( (this.isNodeType("Expression") && this.listKey !== "params" && - this.listKey !== "arguments") || + this.listKey !== "arguments" && + !this.isJSXElement()) || (parentPath.isForStatement() && this.key === "init") ) { if (this.node) nodes.push(this.node); diff --git a/packages/babel-traverse/test/modification.js b/packages/babel-traverse/test/modification.js index ad5d40c69a8a..027b71945723 100644 --- a/packages/babel-traverse/test/modification.js +++ b/packages/babel-traverse/test/modification.js @@ -116,6 +116,32 @@ describe("modification", function() { ); }); + it("returns inserted path with nested JSXElement", function() { + const ast = parse("