4 ms·
I've started using https://biomejs.dev/ https://biomejs.dev/ which is written in Rust. It's super fast compared to ESLint and doesn't require a ton of plugins
by theogravity 3y ago
I've started using https://biomejs.dev/ https://biomejs.dev/ which is written in Rust.
It's super fast compared to ESLint and doesn't require a ton of plugins to work (you just install the one @biomejs/biome package and that's it). The configuration is dead simple as well and it has VS Code and intelliJ support too. It also does formatting / prettifying in the same package as well.
One downside though is it does not have support for Standard JS. They go by their own rules, which is fine for a new project, but existing projects that use Standard JS or have custom rules will probably take time to convert over, and not all ESLint rules are supported either.
https://github.com/biomejs/biome/discussions/2070#discussioncomment-8768550 https://github.com/biomejs/biome/discussions/2070#discussion...
- notnullorvoid 3y agoProjects like Biome and oxc seem to focus so much on reimplementing rules from eslint and broader eslint ecosystem vs. creating a plugin system for custom rules. It makes those linters virtually impossible for many projects to adopt. Seems like it's part of some larger anti composable tools trend that I really don't understand.
- atonse 3y agoI’m sure this isn’t an original idea but are any of these working on possibly translating JS based rules into rust or assembly and executing them faster?
- notnullorvoid 3y agoYou mean automatically translating existing eslint rules written in JS to rust? I haven't heard of any such plans, it would likely be really difficult. That being said they would still need a plugin system (probably using wasm as compile target for plugins) for this to be feasible.
- Hasnep 3y agoMy experience in the Python world is that the vast majority of projects only need one or two plugins for their linter, if any. Ruff has implemented so many flake8 plugins that I'm sure it has covered 99% of projects' linting setups.
- notnullorvoid 3y agoIn the JS ecosystem I've seen a fair share of custom rules developed internal to engineering orgs. Someone submits a PR a couple times with the same mistakes and it's easier to write a custom rule than it is to keep reminding them and possibly others to come.
- theogravity 3y agoThis. At my workplace, we have so many custom rules because of the same mistakes.
- sunaookami 3y agoBiome is superb but the IntelliJ plugin is very buggy unfortunately. Still needs some time in the oven.
- andenacitelli 3y agoThis has also been my experience. Linting works decently but formatting has been buggy, so I actually have time toy projects where I lint with Biome but format with Prettier.