diff --git a/src/babel/types/alias-keys.json b/src/babel/types/alias-keys.json index 6a853d9d15..4736caa737 100644 --- a/src/babel/types/alias-keys.json +++ b/src/babel/types/alias-keys.json @@ -105,14 +105,14 @@ "UnionTypeAnnotation": ["Flow"], "VoidTypeAnnotation": ["Flow"], - "JSXAttribute": ["JSX"], - "JSXClosingElement": ["JSX"], - "JSXElement": ["JSX", "Expression"], - "JSXEmptyExpression": ["JSX"], - "JSXExpressionContainer": ["JSX"], + "JSXAttribute": ["JSX", "Immutable"], + "JSXClosingElement": ["JSX", "Immutable"], + "JSXElement": ["JSX", "Immutable", "Expression"], + "JSXEmptyExpression": ["JSX", "Immutable"], + "JSXExpressionContainer": ["JSX", "Immutable"], "JSXIdentifier": ["JSX"], "JSXMemberExpression": ["JSX"], "JSXNamespacedName": ["JSX"], - "JSXOpeningElement": ["JSX"], + "JSXOpeningElement": ["JSX", "Immutable"], "JSXSpreadAttribute": ["JSX"] } diff --git a/src/babel/types/validators.js b/src/babel/types/validators.js index 6549158c8d..20e458cbd6 100644 --- a/src/babel/types/validators.js +++ b/src/babel/types/validators.js @@ -173,6 +173,8 @@ export function isScope(node: Object, parent: Object): boolean { */ export function isImmutable(node: Object): boolean { + if (t.isType(node.type, "Immutable")) return true; + if (t.isLiteral(node)) { if (node.regex) { // regexes are mutable