Sha256: 272f54e295167315ce48a5f22dfa348cce2248192008e636f57131c1bfa49a91
Contents?: true
Size: 1.21 KB
Versions: 43
Compression:
Stored size: 1.21 KB
Contents
/** * @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: function(context) { return { JSXOpeningElement: function(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); } }; } };
Version data entries
43 entries across 43 versions & 1 rubygems