javascript - Hur man får varning/fel när man använder logisk eller-operator med bokstavliga strängar


Finns det ett sätt att få ett kompilerings- eller linterfel eller varning för följande kod:

const isValid = myValue.includes("substrA" || "substrB");

Delen "substrA" || "substrB" utvärderas alltid till "substrA" så jag kan inte föreställa mig när någon skulle skriva denna kod avsiktligt. I mitt särskilda fall var den avsedda koden:

const isValid = myValue.includes("substrA") || myValue.includes("substrB");

Självklart kan du fånga ett sådant fel med tester. Det skulle vara ännu bättre om en varning genererades för det av TypeScript-kompilatorn eller av ESLint.

Som förväntat klagar inte kompilatorn eftersom det är helt giltig JavaScript/TypeScript-kod. Däremot kunde jag inte hitta någon ESlint-regel för det heller.

Finns det ett sätt att få en varning genererad för koden i det första kodavsnittet ovan?