UNPKG

eslint-plugin-eslint-config

Version:
52 lines (42 loc) 1.07 kB
"use strict"; var _experimentalUtils = require("@typescript-eslint/experimental-utils"); var _utils = require("./utils"); module.exports = _experimentalUtils.ESLintUtils.RuleCreator(name => name)({ name: __filename, meta: { type: 'problem', docs: { description: 'Ensures that all rules are known', category: 'Best Practices', recommended: 'error' }, messages: { unknownRule: "Unknown rule '{{ ruleId }}' - Have you forgotten a plugin?" }, schema: [] }, defaultOptions: [], create(context) { const results = (0, _utils.tryGetConfigInfo)(context.getSourceCode().getText()); if (!results) { return {}; } return { Literal(node) { if (node.value === null) { return; } const ruleId = node.value.toString(); if (results.unknownRules.includes(ruleId)) { context.report({ data: { ruleId }, messageId: 'unknownRule', node }); } } }; } });