diff --git a/packages/jsts/src/rules/S131/rule.ts b/packages/jsts/src/rules/S131/rule.ts index e3f13f25f14..23371ca957f 100644 --- a/packages/jsts/src/rules/S131/rule.ts +++ b/packages/jsts/src/rules/S131/rule.ts @@ -140,6 +140,11 @@ export const rule: Rule.RuleModule = { ...decoratedSwitchExhaustivenessRule.meta?.messages, }, schema: switchExhaustivenessRule.meta!.schema, + defaultOptions: [ + { + considerDefaultExhaustiveForUnions: true, + }, + ], }), create(context: Rule.RuleContext) { return mergeRules( diff --git a/packages/jsts/src/rules/S131/unit.test.ts b/packages/jsts/src/rules/S131/unit.test.ts index 576aa98d89b..049b35171ef 100644 --- a/packages/jsts/src/rules/S131/unit.test.ts +++ b/packages/jsts/src/rules/S131/unit.test.ts @@ -43,6 +43,18 @@ describe('S131', () => { case 'bar': break; } + `, + }, + { + code: ` + type T = 'foo' | 'bar'; + const x = 'foo' as T; + switch (x) { + case 'foo': + break; + default: + break; + } `, }, {