diff --git a/packages/rslint-test-tools/rule-manifest.json b/packages/rslint-test-tools/rule-manifest.json index 62cfe77bc..1bdb9cc95 100644 --- a/packages/rslint-test-tools/rule-manifest.json +++ b/packages/rslint-test-tools/rule-manifest.json @@ -6,6 +6,12 @@ "status": "full", "failing_case": [] }, + { + "name": "array-callback-return", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, { "name": "array-type", "group": "@typescript-eslint", @@ -87,6 +93,12 @@ "status": "full", "failing_case": [] }, + { + "name": "constructor-super", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, { "name": "default-param-last", "group": "@typescript-eslint", @@ -99,24 +111,96 @@ "status": "full", "failing_case": [] }, + { + "name": "for-direction", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, + { + "name": "getter-return", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, { "name": "no-array-delete", "group": "@typescript-eslint", "status": "full", "failing_case": [] }, + { + "name": "no-async-promise-executor", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, + { + "name": "no-await-in-loop", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, { "name": "no-base-to-string", "group": "@typescript-eslint", "status": "full", "failing_case": [] }, + { + "name": "no-class-assign", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, + { + "name": "no-compare-neg-zero", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, + { + "name": "no-cond-assign", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, { "name": "no-confusing-void-expression", "group": "@typescript-eslint", "status": "full", "failing_case": [] }, + { + "name": "no-const-assign", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, + { + "name": "no-constant-binary-expression", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, + { + "name": "no-constant-condition", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, + { + "name": "no-constructor-return", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, + { + "name": "no-debugger", + "group": "eslint", + "status": "partial-test", + "failing_case": [] + }, { "name": "no-duplicate-enum-values", "group": "@typescript-eslint", diff --git a/scripts/gen-rule-manifest.js b/scripts/gen-rule-manifest.js index 9cb1b5ad3..14b9c4574 100644 --- a/scripts/gen-rule-manifest.js +++ b/scripts/gen-rule-manifest.js @@ -5,6 +5,7 @@ const path = require('path'); // Plugins root directory const PLUGINS_DIR = path.join(__dirname, '../internal/plugins'); +const CORE_RULES_DIR = path.join(__dirname, '../internal/rules'); const TEST_CONFIG_PATH = path.join( __dirname, '../packages/rslint-test-tools/rstest.config.mts', @@ -18,6 +19,16 @@ const MANIFEST_PATH = path.join( '../packages/rslint-test-tools/rule-manifest.json', ); +function getCoreRuleEntries() { + // Collect rule directories from internal/rules/* + if (!fs.existsSync(CORE_RULES_DIR)) return []; + + return fs + .readdirSync(CORE_RULES_DIR, { withFileTypes: true }) + .filter(d => d.isDirectory() && !d.name.startsWith('.')) + .map(d => ({ rule: d.name, group: 'eslint' })); +} + function getPluginRuleEntries() { // Collect rule directories from internal/plugins/{plugin}/rules/* if (!fs.existsSync(PLUGINS_DIR)) return []; @@ -137,10 +148,10 @@ function getSkipCases(rule) { function buildManifest() { const included = getIncludedRules(); - const pluginEntries = getPluginRuleEntries(); - const ruleSet = new Set(pluginEntries.map(e => e.rule)); + const ruleEntries = [...getPluginRuleEntries(), ...getCoreRuleEntries()]; + const ruleSet = new Set(ruleEntries.map(e => e.rule)); const ruleToGroup = new Map(); - for (const e of pluginEntries) ruleToGroup.set(e.rule, e.group); + for (const e of ruleEntries) ruleToGroup.set(e.rule, e.group); const rules = Array.from(ruleSet) .sort((a, b) => a.localeCompare(b)) .map(rule => {