| import rule from "./rules/consistent-output.mjs"; |
| import rule$1 from "./rules/fixer-return.mjs"; |
| import rule$2 from "./rules/meta-property-ordering.mjs"; |
| import rule$3 from "./rules/no-deprecated-context-methods.mjs"; |
| import rule$4 from "./rules/no-deprecated-report-api.mjs"; |
| import rule$5 from "./rules/no-identical-tests.mjs"; |
| import rule$6 from "./rules/no-matching-violation-suggest-message-ids.mjs"; |
| import rule$7 from "./rules/no-meta-replaced-by.mjs"; |
| import rule$8 from "./rules/no-meta-schema-default.mjs"; |
| import rule$9 from "./rules/no-missing-message-ids.mjs"; |
| import rule$10 from "./rules/no-missing-placeholders.mjs"; |
| import rule$11 from "./rules/no-only-tests.mjs"; |
| import rule$12 from "./rules/no-property-in-node.mjs"; |
| import rule$13 from "./rules/no-unused-message-ids.mjs"; |
| import rule$14 from "./rules/no-unused-placeholders.mjs"; |
| import rule$15 from "./rules/no-useless-token-range.mjs"; |
| import rule$16 from "./rules/prefer-message-ids.mjs"; |
| import rule$17 from "./rules/prefer-object-rule.mjs"; |
| import rule$18 from "./rules/prefer-output-null.mjs"; |
| import rule$19 from "./rules/prefer-placeholders.mjs"; |
| import rule$20 from "./rules/prefer-replace-text.mjs"; |
| import rule$21 from "./rules/report-message-format.mjs"; |
| import rule$22 from "./rules/require-meta-default-options.mjs"; |
| import rule$23 from "./rules/require-meta-docs-description.mjs"; |
| import rule$24 from "./rules/require-meta-docs-recommended.mjs"; |
| import rule$25 from "./rules/require-meta-docs-url.mjs"; |
| import rule$26 from "./rules/require-meta-fixable.mjs"; |
| import rule$27 from "./rules/require-meta-has-suggestions.mjs"; |
| import rule$28 from "./rules/require-meta-schema-description.mjs"; |
| import rule$29 from "./rules/require-meta-schema.mjs"; |
| import rule$30 from "./rules/require-meta-type.mjs"; |
| import rule$31 from "./rules/require-test-case-name.mjs"; |
| import rule$32 from "./rules/require-test-error-positions.mjs"; |
| import rule$33 from "./rules/test-case-property-ordering.mjs"; |
| import rule$34 from "./rules/test-case-shorthand-strings.mjs"; |
| import rule$35 from "./rules/unique-test-case-names.mjs"; |
| import { createRequire } from "node:module"; |
| //#region lib/index.ts |
| /** |
| * @fileoverview An ESLint plugin for linting ESLint plugins |
| * @author Teddy Katz |
| */ |
| const packageMetadata = createRequire(import.meta.url)("../package.json"); |
| const PLUGIN_NAME = packageMetadata.name.replace(/^eslint-plugin-/, ""); |
| const configFilters = { |
| all: (rule) => !(rule.meta?.docs && "requiresTypeChecking" in rule.meta.docs && rule.meta.docs.requiresTypeChecking), |
| "all-type-checked": () => true, |
| recommended: (rule) => !!rule.meta?.docs?.recommended, |
| rules: (rule) => rule.meta?.docs?.category === "Rules", |
| tests: (rule) => rule.meta?.docs?.category === "Tests", |
| "rules-recommended": (rule) => configFilters.recommended(rule) && configFilters.rules(rule), |
| "tests-recommended": (rule) => configFilters.recommended(rule) && configFilters.tests(rule) |
| }; |
| const createConfig = (configName) => ({ |
| name: `${PLUGIN_NAME}/${configName}`, |
| plugins: { get [PLUGIN_NAME]() { |
| return plugin; |
| } }, |
| rules: Object.fromEntries(Object.keys(allRules).filter((ruleName) => configFilters[configName](allRules[ruleName])).map((ruleName) => [`${PLUGIN_NAME}/${ruleName}`, "error"])) |
| }); |
| const allRules = { |
| "consistent-output": rule, |
| "fixer-return": rule$1, |
| "meta-property-ordering": rule$2, |
| "no-deprecated-context-methods": rule$3, |
| "no-deprecated-report-api": rule$4, |
| "no-identical-tests": rule$5, |
| "no-matching-violation-suggest-message-ids": rule$6, |
| "no-meta-replaced-by": rule$7, |
| "no-meta-schema-default": rule$8, |
| "no-missing-message-ids": rule$9, |
| "no-missing-placeholders": rule$10, |
| "no-only-tests": rule$11, |
| "no-property-in-node": rule$12, |
| "no-unused-message-ids": rule$13, |
| "no-unused-placeholders": rule$14, |
| "no-useless-token-range": rule$15, |
| "prefer-message-ids": rule$16, |
| "prefer-object-rule": rule$17, |
| "prefer-output-null": rule$18, |
| "prefer-placeholders": rule$19, |
| "prefer-replace-text": rule$20, |
| "report-message-format": rule$21, |
| "require-meta-default-options": rule$22, |
| "require-meta-docs-description": rule$23, |
| "require-meta-docs-recommended": rule$24, |
| "require-meta-docs-url": rule$25, |
| "require-meta-fixable": rule$26, |
| "require-meta-has-suggestions": rule$27, |
| "require-meta-schema-description": rule$28, |
| "require-meta-schema": rule$29, |
| "require-meta-type": rule$30, |
| "require-test-case-name": rule$31, |
| "require-test-error-positions": rule$32, |
| "test-case-property-ordering": rule$33, |
| "test-case-shorthand-strings": rule$34, |
| "unique-test-case-names": rule$35 |
| }; |
| const plugin = { |
| meta: { |
| name: packageMetadata.name, |
| version: packageMetadata.version |
| }, |
| rules: allRules, |
| configs: { |
| all: createConfig("all"), |
| "all-type-checked": createConfig("all-type-checked"), |
| recommended: createConfig("recommended"), |
| rules: createConfig("rules"), |
| tests: createConfig("tests"), |
| "rules-recommended": createConfig("rules-recommended"), |
| "tests-recommended": createConfig("tests-recommended") |
| } |
| }; |
| //#endregion |
| export { plugin as default }; |