You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/** * @fileoverview Prevent variables used in JSX to be marked as unused * @author Yannick Croissant */
'use strict';
const docsUrl = require('../util/docsUrl');
// ------------------------------------------------------------------------------
// Rule Definition
// ------------------------------------------------------------------------------
module.exports = { meta: { docs: { description: 'Prevent variables used in JSX to be marked as unused', category: 'Best Practices', recommended: true, url: docsUrl('jsx-uses-vars') }, schema: [] },
create(context) { return { JSXOpeningElement(node) { let name; if (node.name.namespace && node.name.namespace.name) { // <Foo:Bar>
name = node.name.namespace.name; } else if (node.name.name) { // <Foo>
name = node.name.name; } else if (node.name.object) { // <Foo...Bar>
let parent = node.name.object; while (parent.object) { parent = parent.object; } name = parent.name; } else { return; }
context.markVariableAsUsed(name); }
}; } };
|