Reports single-character alternatives in string disjunctions.
✅ This rule is included in the ts logical presets.
Reports single-character alternatives inside \q{...} string disjunctions in regular expressions using the v flag.
When a string disjunction alternative contains only one character, that character can be placed directly in the surrounding character class instead.
A string disjunction containing only a single-character alternative is unnecessary.
AEconsB0patteAE< =sp ansty="le--0:#5CA7E4;--1:#3A68">8 =sp>1<1/sp ansty="le--0:#82AAFF;--1:#3B61">B1/sp><0[sp ansty="le--0:#F78C6C;--1:#AA09">820[sp><\qsp ansty="le--0:#82AAFF;--1:#3B61">B0{a\qsp><}]sp ansty="le--0:#D9F5DD;--1:#1111">1}]sp><1/sp ansty="le--0:#5CA7E4;--1:#3A68">81/sp>5<3;d ivclassNa="meco">3;d> 44AEco61B0pat446<88F spans="tyle--0:#D9F5DD;--1:#11">188F ><111/ spans="tyle--0:#82AAFF;--1:#3B">61B111/><0[a] spans="tyle--0:#D9F5DD;--1:#11">10[a]><111/ spans="tyle--0:#5CA7E4;--1:#3A">6111/><88Fv spans="tyle--0:#D6DEEB;--1:#40">388Fv><]/v>]/v>
When a string disjunction has both single-character and multi-character alternatives, the single-character ones can be extracted.
AEconsB0patteAE< =sp ansty="le--0:#5CA7E4;--1:#3A68">8 =sp>1<1/sp ansty="le--0:#82AAFF;--1:#3B61">B1/sp><0[sp ansty="le--0:#F78C6C;--1:#AA09">820[sp><\qsp ansty="le--0:#82AAFF;--1:#3B61">B0{a|bc\qsp><}]sp ansty="le--0:#D9F5DD;--1:#1111">1}]sp><1/sp ansty="le--0:#5CA7E4;--1:#3A68">81/sp>5<3;d ivclassNa="meco">3;d> 44AEco61B0pat446<88F spans="tyle--0:#D9F5DD;--1:#11">188F ><111/ spans="tyle--0:#82AAFF;--1:#3B">61111/>09<82\q spans="tyle--0:#82AAFF;--1:#3B">61B0{82\q>1<111/ spans="tyle--0:#5CA7E4;--1:#3A">6111/><88Fv spans="tyle--0:#D6DEEB;--1:#40">388Fv><]/v>]/v>
The rule also checks regex patterns in RegExp constructor calls.
AEconsB0patteAE <= sp ansty="le--0:#7FDBCA;--1:#096E">72n= sp>AB0RegE5<3(sp ansty="le--0:#D9F5DD;--1:#1111">13(sp><1"sp ansty="le--0:#ECC48D;--1:#984E">41"sp>82<\\sp ansty="le--0:#ECC48D;--1:#984E">4Dq{a\\sp><}]sp ansty="le--0:#D9F5DD;--1:#1111">1}]sp><1"sp ansty="le--0:#C792EA;--1:#8844">AE1"sp><, sp ansty="le--0:#D9F5DD;--1:#1111">1, sp><1"sp ansty="le--0:#ECC48D;--1:#984E">41"sp>1<1"sp ansty="le--0:#D6DEEB;--1:#403F">531"sp><);d ivclassNa="meco"><);d>);d>);d> 44AEco61B0pat44A6E7<2new spans="tyle--0:#C792EA;--1:#88">42new><4AE spans="tyle--0:#82AAFF;--1:#3B">61B0Re4AE >31<111" spans="tyle--0:#ECC48D;--1:#98">4E4111">1<111" spans="tyle--0:#C792EA;--1:#88">44111">1<111" spans="tyle--0:#ECC48D;--1:#98">4111">1<111" spans="tyle--0:#D6DEEB;--1:#40">3F111"><53) ;divclass="Name">53)>
String disjunctions with only multi-character alternatives are valid.
AEconsB0patteAE< =sp ansty="le--0:#5CA7E4;--1:#3A68">8 =sp>1<1/sp ansty="le--0:#82AAFF;--1:#3B61">B1/sp><0[sp ansty="le--0:#F78C6C;--1:#AA09">820[sp><\qsp ansty="le--0:#82AAFF;--1:#3B61">B0{ab|cd\qsp><}]sp ansty="le--0:#D9F5DD;--1:#1111">1}]sp><1/sp ansty="le--0:#5CA7E4;--1:#3A68">81/sp>5<3;d ivclassNa="meco">3;d>
This rule is not configurable.
If you prefer to keep single-character alternatives inside \q{...} for consistency or readability, you might prefer to disable this rule.