12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /**
- * @fileoverview Prevent React to be marked as unused
- * @author Glen Mailer
- */
- 'use strict';
- const pragmaUtil = require('../util/pragma');
- const docsUrl = require('../util/docsUrl');
- // ------------------------------------------------------------------------------
- // Rule Definition
- // ------------------------------------------------------------------------------
- module.exports = {
- // eslint-disable-next-line eslint-plugin/prefer-message-ids -- https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/issues/292
- meta: {
- docs: {
- description: 'Disallow React to be incorrectly marked as unused',
- category: 'Best Practices',
- recommended: true,
- url: docsUrl('jsx-uses-react'),
- },
- schema: [],
- },
- create(context) {
- const pragma = pragmaUtil.getFromContext(context);
- const fragment = pragmaUtil.getFragmentFromContext(context);
- function handleOpeningElement() {
- context.markVariableAsUsed(pragma);
- }
- // --------------------------------------------------------------------------
- // Public
- // --------------------------------------------------------------------------
- return {
- JSXOpeningElement: handleOpeningElement,
- JSXOpeningFragment: handleOpeningElement,
- JSXFragment() {
- context.markVariableAsUsed(fragment);
- },
- };
- },
- };
|