Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oxc-project/eslint-plugin-oxlint
Turn off all rules already supported by oxlint
https://github.com/oxc-project/eslint-plugin-oxlint
Last synced: 4 months ago
JSON representation
Turn off all rules already supported by oxlint
- Host: GitHub
- URL: https://github.com/oxc-project/eslint-plugin-oxlint
- Owner: oxc-project
- License: mit
- Created: 2023-12-28T08:22:23.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-10T04:27:35.000Z (11 months ago)
- Last Synced: 2024-04-10T15:16:43.426Z (11 months ago)
- Language: JavaScript
- Size: 313 KB
- Stars: 76
- Watchers: 1
- Forks: 5
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# eslint-plugin-oxlint

 Turn off all rules already supported by `oxlint`. The rules are extracted from [here](https://github.com/oxc-project/oxc/blob/main/crates/oxc_linter/src/rules.rs).
## What is oxlint?
See https://oxc.rs/blog/2023-12-12-announcing-oxlint.html
## Installation
```shell
pnpm add eslint-plugin-oxlint --D
```## Usage
### Flat config
This plugin is optimized for flat config usage (eslint >= 9.0). See [here](https://eslint.org/docs/latest/use/configure/configuration-files-new) for more details.
Example:
```js
// eslint.config.js
import oxlint from 'eslint-plugin-oxlint';
export default [
...// other plugins
oxlint.configs['flat/recommended'], // oxlint should be the last one
];
```### Legacy config
If you are using legacy configuration (eslint < 9.0), you can use the following config:
```js
// .eslintrc.js
module.exports = {
... // other config
extends: [
... // other presets
"plugin:oxlint/recommended",
],
}
```### Run it before eslint
And then you can add the following script to your `package.json`:
```json
{
"scripts": {
"lint": "npx oxlint && npx eslint"
}
}
```## All Configs
```js
configs: {
// recmmended only contains the `correctness` category
recommended: { plugins: [Array], rules: [Object] },
'flat/recommended': { rules: [Object] },// all rules available
all: { plugins: [Array], rules: [Object] },
'flat/all': { rules: [Object] },// turn eslint rules off by plugin
'flat/eslint': { rules: [Object] },
'flat/import': { rules: [Object] },
'flat/jest': { rules: [Object] },
'flat/jsdoc': { rules: [Object] },
'flat/jsx-a11y': { rules: [Object] },
'flat/nextjs': { rules: [Object] },
'flat/react': { rules: [Object] },
'flat/react-perf': { rules: [Object] },
'flat/tree-shaking': { rules: [Object] },
'flat/typescript': { rules: [Object] },
'flat/unicorn': { rules: [Object] },// turn eslint rules off by oxlint category
'flat/pedantic': { rules: [Object] },
'flat/nursery': { rules: [Object] },
'flat/style': { rules: [Object] },
'flat/correctness': { rules: [Object] },
'flat/restriction': { rules: [Object] },
'flat/suspicious': { rules: [Object] }
}
```## VSCode Support
You need to install both the [oxc](https://marketplace.visualstudio.com/items?itemName=oxc.oxc-vscode) and [eslint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) extensions
## Contributing
sparse clone the oxlint repository to have a local copy
```shell
pnpm clone
```generates the rules from the sparse cloned Rust library, only for the latest version,
new rules that haven't been released will not be included.```shell
pnpm generate
```## License
[MIT](https://github.com/Dunqing/eslint-plugin-oxlint/blob/main/LICENSE)