oxc-project / oxc-project/website
Add a "Known differences with ESLint" page
Open
Nobody has claimed this yet.
- Dominant language
- Vue
- Stars
- 101
- Forks
- 114
- Avg merge
- 10h 29m
- Merged PRs (30d)
- 35
Description
Differences to note in this page include:
- Some disable directive differences (cannot configure rules to use different config options via code comments, cannot adjust severity level via code comments).
- No flat file config support.
- Not all rules are supported natively yet, but many are and porting is continuing to happen pretty quickly.
- Glob differences, for how globs get resolved if there are rule config options that take glob arguments. Also impacts glob patterns for the
filesfield on overrides in the oxlint config. - Regex differences due to using Rust instead of JS. Some rules may have behavioral differences if they have regex config options and are configured with fairly complex regex patterns.
- CLI differences: passing globs for that should be linted cannot be done consistently as there's no support for passing a string glob for oxlint to evaluate currently.
- The glob pattern gets evaluated by your shell if you don't put it inside quotation marks, and so the resulting files that get linted may differ across platforms/shells.
- Ignore patterns should generally be specified in an ignore file or the Oxlint config, rather than specifying what files to lint via an allowlist glob pattern in the CLI command.
- Only supports linting JS/TS/JSX for now, limited support for Vue/Astro/etc. and only in <script> tags.
- For JS Plugins, see the dedicated JS Plugins page for any differences specific to JS Plugins.
- Type-aware lint rules only support projects that have been updated for compatibility with TS7, see the type-aware page for details.
- No bulk suppression support currently.
- There may be behavioral differences in the import plugin rules, depending on the way you have configured import resolution for the ESLint import plugin.
- Not all settings have been implemented for the native plugins. If you have settings that modify behavior for specific ESLint plugins/their rules, you may see differences in lint violations on your project. We'd like to support most settings from the original plugins, so please open an issue if any missing settings are important for you.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing JS Plugins and type-aware pages referenced in the issue, then follow the website's documentation structure for a new Known Differences with ESLint page. Document the listed configuration, glob, regex, CLI, plugin, language, suppression, and settings differences; done means the page covers these points and links readers to the referenced pages.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- eslint, javascript, rust, typescript
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100