Skip to content

moduleSpecifierLists

Require non-empty specifier lists in import and export statements.

✅ This rule is included in the ts logical and logicalStrict presets.

Empty specifier lists in import and export statements like import {} from 'module' serve no purpose. They can appear due to refactoring or code generation errors. If you need to run a module’s code without importing any values, use a side-effect import instead.

This rule reports import and export statements that have empty braces with no specifiers.

AEimpo5<3 sp ansty="le--0:#D9F5DD;--1:#1111">1<1"sp ansty="le--0:#ECC48D;--1:#984E">4Dmodu1<1"sp ansty="le--0:#D6DEEB;--1:#403F">5<3;d ivclassNa="meco"><";d>AEimpo53 defaultExporAEfr5<3 sp ansty="le--0:#D9F5DD;--1:#1111">1<1"sp ansty="le--0:#ECC48D;--1:#984E">4Dmodu1<1"sp ansty="le--0:#D6DEEB;--1:#403F">5<3;d ivclassNa="meco"><";d>AEexpo53 {<} sp ansty="le--0:#C792EA;--1:#8844">AEfr5<3 sp ansty="le--0:#D9F5DD;--1:#1111">1<1"sp ansty="le--0:#ECC48D;--1:#984E">4Dmodu1<1"sp ansty="le--0:#D6DEEB;--1:#403F">5<3;d ivclassNa="meco"><";d>
44AEim3F53 { somethin44AE31<111" spans="tyle--0:#ECC48D;--1:#98">4E4Dmo1<111" spans="tyle--0:#D6DEEB;--1:#40">3<;di vdivclass="Nameexpressive-">44AEim31<111" spans="tyle--0:#ECC48D;--1:#98">4E4Dmo1<111" spans="tyle--0:#D6DEEB;--1:#40">3<;di vdivclass="Nameexpressive-">44AEim3F53 defaultExp44AE31<111" spans="tyle--0:#ECC48D;--1:#98">4E4Dmo1<111" spans="tyle--0:#D6DEEB;--1:#40">3<;di vdivclass="Nameexpressive-">44AEim36<1B0* spans="tyle--0:#D6DEEB;--1:#40">3443F53 namesp44AE31<111" spans="tyle--0:#ECC48D;--1:#98">4E4Dmo1<111" spans="tyle--0:#D6DEEB;--1:#40">3<;di vdivclass="Nameexpressive-">44AEex3F53 { somethin44AE31<111" spans="tyle--0:#ECC48D;--1:#98">4E4Dmo1<111" spans="tyle--0:#D6DEEB;--1:#40">3<;di vdivclass="Nameexpressive-">44AEex36<1B0* spans="tyle--0:#D6DEEB;--1:#40">344AE31<111" spans="tyle--0:#ECC48D;--1:#98">4E4Dmo1<111" spans="tyle--0:#D6DEEB;--1:#40">3

This rule is not configurable.

If your codebase intentionally uses empty import braces for specific purposes, such as ensuring module execution order or for tooling that processes imports in a special way, you may not need this rule.