diff --git a/lib/utils/get-auto-jsonc-rules-config.ts b/lib/utils/get-auto-jsonc-rules-config.ts index ecae36ba..9fa0238d 100644 --- a/lib/utils/get-auto-jsonc-rules-config.ts +++ b/lib/utils/get-auto-jsonc-rules-config.ts @@ -134,8 +134,11 @@ export function getAutoConfig(filename: string): { const jsoncName = getJsoncRule(ruleName) if (jsoncName && !config.rules[jsoncName]) { const entry = config.rules[ruleName] - if (entry && entry !== "off") { - autoConfig[jsoncName] = entry + if (entry) { + const severity = Array.isArray(entry) ? entry[0] : entry + if (severity !== "off" && severity !== 0) { + autoConfig[jsoncName] = entry + } } } } diff --git a/tests/fixtures/auto/test03/.eslintrc.json b/tests/fixtures/auto/test03/.eslintrc.json new file mode 100644 index 00000000..e8368e53 --- /dev/null +++ b/tests/fixtures/auto/test03/.eslintrc.json @@ -0,0 +1,7 @@ +{ + "root": true, + "extends": ["eslint:all"], + "rules": { + "indent": ["off", 4] + } +} diff --git a/tests/lib/rules/auto.ts b/tests/lib/rules/auto.ts index b4027e1b..0f9932fb 100644 --- a/tests/lib/rules/auto.ts +++ b/tests/lib/rules/auto.ts @@ -24,6 +24,12 @@ tester.run("auto", rule as any, { `, parser: require.resolve("vue-eslint-parser"), }, + { + filename: path.join(ROOT_DIR, "test03", "test.json"), + code: `{ + "foo": "bar" + }`, + }, ], invalid: [ {