oxc icon indicating copy to clipboard operation
oxc copied to clipboard

Linter Product Plan and Progress

Open Boshen opened this issue 1 year ago • 14 comments

Product Plan

Create a linter that is

  • zero-config
  • only checks for correctness errors (code that is outright wrong or useless) - definition from Rust Clippy

See also: Oxlint General Availability Annoucement

Plugins

For plugins, the goal is to port most of the popular ones. The community has implemented 270 rules and the list is growing. Any form of contribution is much appreciated!

Tasks

  • https://github.com/oxc-project/oxc/issues/479
  • https://github.com/oxc-project/oxc/issues/2180
  • https://github.com/oxc-project/oxc/issues/1117
  • https://github.com/oxc-project/oxc/issues/1170
  • https://github.com/oxc-project/oxc/issues/493
  • https://github.com/oxc-project/oxc/issues/1141
  • https://github.com/oxc-project/oxc/issues/492
  • https://github.com/oxc-project/oxc/issues/684
  • https://github.com/oxc-project/oxc/issues/1022
  • https://github.com/oxc-project/oxc/issues/1929
  • https://github.com/oxc-project/oxc/issues/2041
  • https://github.com/oxc-project/oxc/issues/2174
  • https://github.com/oxc-project/oxc/issues/480
  • https://github.com/oxc-project/oxc/issues/4655
  • https://github.com/oxc-project/oxc/issues/4656

Contributing

oxc-project.github.io contains both learning materials and contribution guides:

Note

Oxlint does not implement any stylistic / formatting rules due to

  • eslint removed them from the core.
  • all stylistic rules are moved to the https://eslint.style community.

Boshen avatar Jun 26 '23 15:06 Boshen

Think the formatting is broken on Tasks above. I can't edit to fix myself!

manzt avatar Nov 27 '23 13:11 manzt

Any plans to add eslint-plugin-perfectionist rules? It is becoming quite popular, 1.5 K stars. Just looking forward to fully migrate to amazing and promising OXC stack!

roman-petrov avatar Jan 25 '24 16:01 roman-petrov

Any plans to add eslint-plugin-perfectionist rules? It is becoming quite popular, 1.5 K stars. Just looking forward to fully migrate to amazing and promising OXC stack!

This rule fits well in the formatter but not the linter. Its documentation says "I love Prettier. However, this is not his area of responsibility." But we are an integrated toolchain, things differ a little :-)

So the answer to your question "Any plans to add eslint-plugin-perfectionist rules" is currently no, but it's doable once we have more manpower and also the formatter ready.

Boshen avatar Jan 26 '24 02:01 Boshen

So the answer to your question "Any plans to add eslint-plugin-perfectionist rules" is currently no, but it's doable once we have more manpower and also the formatter ready.

Thanks! Hopefully after the OXC linter core will be ready, we will be able to use some AI tools to convert ESLint linters to OXC/Rust :)

roman-petrov avatar Jan 26 '24 23:01 roman-petrov

Appreciate your efforts. Your tool is incredible. Looking forward to use it. What about this plugins:

  1. @angular-eslint
  2. eslint-plugin-unused-imports
  3. @nrwl/eslint-plugin-nx
  4. eslint-plugin-filename-rules

Ready for testing to help you implement this (since i dont know Rust yet ;D) Thanks in advance

alxpsr avatar Jan 27 '24 06:01 alxpsr

I would love love it if eslint-plugin-vue got added. Vue has to employ unique parsing for SFCs.

matthew-dean avatar Feb 12 '24 17:02 matthew-dean

very useful plugin for react dev time performance - eslint-plugin-react-refresh

heyitsarpit avatar May 24 '24 22:05 heyitsarpit

#4445

DonIsaac avatar Jul 26 '24 04:07 DonIsaac

Graphql support would be nice as well: https://the-guild.dev/graphql/eslint/rules

tobiasdiez avatar Oct 02 '24 09:10 tobiasdiez

Have you consider to add support for eslint-plugin-airbnb? There are a lot of useful rules that a lot of project uses.

OskarLebuda avatar Oct 03 '24 20:10 OskarLebuda

I would love if eslint-plugin-svelte got added. Svelte has to employ unique parsing for *.svelte files.

matschik avatar Oct 06 '24 15:10 matschik

oxc looks nice. I have copied over all rules from my .eslintrc.json file. Will there be a future addition where oxlint will log which rules aren't supported from the rules property? Possibly because some of them belong in the formatter category instead of the linter one?

xaddict avatar Oct 08 '24 14:10 xaddict

@Boshen @DonIsaac I suggest to add to tasks from first post one column to table with "fixer" yes/no.

because rule may exist, but fixer not implemented for example and that case is only found problems, but not help to fix it, which eslint did. That "fixer" column help to understand support of fixers for rules

pumano avatar Oct 12 '24 16:10 pumano

I will like to see @stylistic/eslint-plugin , eslint-plugin-tailwindcss And also eslint-plugin-astro

TheElegantCoding avatar Oct 24 '24 15:10 TheElegantCoding