better XJSIdentifier -> Identifier logic - fixes babel/babel-eslint#12

This commit is contained in:
Sebastian McKenzie 2015-02-28 17:07:11 +11:00
parent 0f1910891d
commit e4cee14aa6
2 changed files with 8 additions and 2 deletions

View File

@ -19,6 +19,10 @@ exports.toAST = function (ast) {
traverse(ast, astTransformVisitor);
};
function isCompatTag(tagName) {
return tagName && /^[a-z]|\-/.test(tagName);
}
var astTransformVisitor = {
noScope: true,
enter: function (node) {
@ -53,8 +57,10 @@ var astTransformVisitor = {
if (t.isJSXIdentifier(node)) {
if (node.name === "this" && t.isReferenced(node, parent)) {
return t.inherits(t.thisExpression(), node);
} else {
} else if (!t.isJSXAttribute(parent) && !isCompatTag(node.name)) {
node.type = "Identifier";
} else {
// just ignore this node as it'd be something like <div> or an attribute name
}
}

View File

@ -1,6 +1,6 @@
{
"name": "babel-eslint",
"version": "1.0.10",
"version": "1.0.11",
"description": "",
"main": "index.js",
"repository": {