Skip to content

Commit b174863

Browse files
committed
Add a descriptive error message for two adjacent JSX tags - fixes babel/babel#1682, fixes #19
1 parent 54ad51d commit b174863

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

inject.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,9 @@ module.exports = function(acorn) {
602602
node.openingElement = openingElement;
603603
node.closingElement = closingElement;
604604
node.children = children;
605+
if (this.type === tt.relational && this.value === "<") {
606+
this.raise(this.pos, "Adjacent JSX elements must be wrapped in an enclosing tag");
607+
}
605608
return this.finishNode(node, 'JSXElement');
606609
};
607610

test/tests-jsx.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3633,8 +3633,11 @@ var fbTestFixture = {
36333633

36343634
if (typeof exports !== "undefined") {
36353635
var test = require("./driver.js").test;
3636+
var testFail = require("./driver.js").testFail;
36363637
}
36373638

3639+
testFail("var x = <div>one</div><div>two</div>;", "Adjacent JSX elements must be wrapped in an enclosing tag (1:23)");
3640+
36383641
for (var ns in fbTestFixture) {
36393642
ns = fbTestFixture[ns];
36403643
for (var code in ns) {

0 commit comments

Comments
 (0)