/
lostSun
/
project-client-server-apps
Обзор
Документация
Войти
/
lostSun
/
project-client-server-apps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/eslint-plugin-react/lib/rules/jsx-uses-react.js
52 строки
2 KB
1lostsun
initial commit
05 май 2025, 11:35
05 май 2025, 11:35
fe8f535
Код
Авторство
О чём код?
/** * @fileoverview Prevent React to be marked as unused * @author Glen Mailer */ 'use strict'; const pragmaUtil = require('../util/pragma'); const docsUrl = require('../util/docsUrl'); const markVariableAsUsed = require('../util/eslint').markVariableAsUsed; // ------------------------------------------------------------------------------ // Rule Definition // ------------------------------------------------------------------------------ /** @type {import('eslint').Rule.RuleModule} */ 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); /** * @param {ASTNode} node * @returns {void} */ function handleOpeningElement(node) { markVariableAsUsed(pragma, node, context); } // -------------------------------------------------------------------------- // Public // -------------------------------------------------------------------------- return { JSXOpeningElement: handleOpeningElement, JSXOpeningFragment: handleOpeningElement, JSXFragment(node) { markVariableAsUsed(fragment, node, context); }, }; }, };