2/26/2026 at 8:17:49 PM
I prefer to have unused code detected during linting, but sadly, eslint has decided to kill off the APIs that support rules like `no-unused-modules`. Running a separate tool like this one or knip in place of a few lint rules just seems impractical.by silverwind
2/26/2026 at 8:39:17 PM
eslint is a good example of why coding in javascript is annoying. Your tools just constantly changing wildly over a version upgrade, so you look for a better one and find there's a new Rust linting tool but it's alpha and is missing half the features.by dmix
2/26/2026 at 10:27:59 PM
Biome has been out of alpha for a few years now and is fantastic :-)by mattkrick
2/26/2026 at 9:18:35 PM
eslint is also a good example why Javascript runtime is bad choice for static analysis tools. The biggest problem is that it's single threaded.Recent release of concurrency mode in eslint promised approximately 30% linting speed increase.
So now it uses multiple threads instead of one, and you got only 1.3x improvement. In any compiled language like Rust or Go you should expect time improvement that correlates with number of CPU cores engaged.
You can use worker threads in JS, but unfortunately sharing data between threads in context of static analysis, where there is a lot of deeply nested objects (AST) or basically a lot of data in general, is slow because it needs to be serialised and deserialised when it's passed between threads.
Javascript based tools for codebases with 1m+ lines of code becomes unusable :/
by jayu_dev