From 6dd88e4ac8348e8a776516c87d6fb51a7a9abb5b Mon Sep 17 00:00:00 2001 From: Clement Yan Date: Tue, 16 Aug 2022 12:49:41 +0800 Subject: [PATCH] Fix jsonc/auto detection of rules being "off" (#188) Co-authored-by: Clement Yan --- lib/utils/get-auto-jsonc-rules-config.ts | 7 +++++-- tests/fixtures/auto/test03/.eslintrc.json | 7 +++++++ tests/lib/rules/auto.ts | 6 ++++++ 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 tests/fixtures/auto/test03/.eslintrc.json 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: [ {