Open
Description
In our medium-sized mixed JS/TS codebase, specifically disabling import/namespace
significantly reduced our lint times. I haven't found this mentioned by anyone else, so I wanted to share the finding, because it was very surprising.
Our prior configuration ran like this:
Rule | Time (ms) | Relative
:---------------------------------|----------:|--------:
import/namespace | 5762.140 | 64.7%
import/no-relative-packages | 673.212 | 7.6%
import/named | 471.116 | 5.3%
import/no-extraneous-dependencies | 317.690 | 3.6%
import/extensions | 254.717 | 2.9%
Done in 14.53s.
I always assumed this was just the "first rule tax" while the export map is created, but adding "import/namespace": "off"
did this for us:
Rule | Time (ms) | Relative
:---------------------------------|----------:|--------:
import/named | 1459.028 | 33.6%
import/no-relative-packages | 577.911 | 13.3%
import/no-duplicates | 408.152 | 9.4%
import/extensions | 401.591 | 9.2%
import/no-extraneous-dependencies | 276.880 | 6.4%
Done in 9.44s.
Given we already use "import/no-namespace": "error"
, this rule wasn't doing anything for us anyway. With one line we've managed to significantly improve IDE responsiveness.