From 2e100cc6a32f43232d9712bb57be14af3787ebc7 Mon Sep 17 00:00:00 2001 From: Tamer Date: Sun, 20 Sep 2026 20:45:15 +0200 Subject: [PATCH 1/2] test(config): reject malformed disabledRules --- test/config.test.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/config.test.ts b/test/config.test.ts index 660d9ef..a5fad9b 100644 --- a/test/config.test.ts +++ b/test/config.test.ts @@ -36,6 +36,12 @@ describe("normalizeConfig", () => { ); }); + it("rejects a non-array disabledRules value", () => { + expect(() => normalizeConfig({ disabledRules: "MCP001" })).toThrow( + /disabledRules.*array/i, + ); + }); + it("rejects an invalid severity override", () => { expect(() => normalizeConfig({ severityOverrides: { MCP001: "nope" } }), From afd21d5a6b9da5150214eaf9ed7963de1045841d Mon Sep 17 00:00:00 2001 From: Tamer Date: Sun, 20 Sep 2026 20:45:17 +0200 Subject: [PATCH 2/2] fix(config): reject malformed disabledRules --- src/config.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/config.ts b/src/config.ts index 0974a75..14a363c 100644 --- a/src/config.ts +++ b/src/config.ts @@ -92,7 +92,10 @@ export function normalizeConfig( ignore: [...base.ignore], }; - if (Array.isArray(obj.disabledRules)) { + if (obj.disabledRules !== undefined) { + if (!Array.isArray(obj.disabledRules)) { + throw new Error("Invalid disabledRules; expected an array of rule ids."); + } config.disabledRules = obj.disabledRules.map(String); } if (Array.isArray(obj.enabledRules)) {