diff --git a/packages/babel-types/src/definitions/jsx.js b/packages/babel-types/src/definitions/jsx.js index c11d2fdc17..3132b039a6 100644 --- a/packages/babel-types/src/definitions/jsx.js +++ b/packages/babel-types/src/definitions/jsx.js @@ -7,7 +7,7 @@ defineType("JSXAttribute", { aliases: ["JSX", "Immutable"], fields: { name: { - validate: assertNodeType("JSXIdentifier", "JSXMemberExpression") + validate: assertNodeType("JSXIdentifier", "JSXNamespacedName") }, value: { optional: true, @@ -39,7 +39,10 @@ defineType("JSXElement", { validate: assertNodeType("JSXClosingElement") }, children: { - // todo + validate: chain( + assertValueType("array"), + assertEach(assertNodeType("Literal", "JSXExpressionContainer", "JSXElement")) + ) } } }); @@ -73,7 +76,7 @@ defineType("JSXMemberExpression", { aliases: ["JSX", "Expression"], fields: { object: { - validate: assertNodeType("JSXIdentifier") + validate: assertNodeType("JSXMemberExpression", "JSXIdentifier") }, property: { validate: assertNodeType("JSXIdentifier")