mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 12:21:58 +00:00
- [x] Remove old task(Rust ver) - [x] Migrate to new task(JS ver) - [x] Confirm CI works w/o `--output` - https://github.com/oxc-project/oxc/actions/runs/7663961642/job/20887579432?pr=2177 - [x] Confirm CI works w/ fake issue no - https://github.com/oxc-project/oxc/issues/2117 - [x] Enable - - - I've noticed that - eslint/no-extra-semi - eslint/no-mixed-spaces-and-tabs are maked as deprecated and also recommended. This is ESLint side [issue](https://github.com/eslint/eslint/pull/17696#issuecomment-1792452766) and will fix after v9.
36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
# tasks/lint_rules
|
|
|
|
Task to update implementation progress for each linter plugin.
|
|
|
|
```sh
|
|
Usage:
|
|
$ cmd [--target=<pluginName>]... [--update] [--help]
|
|
|
|
Options:
|
|
--target, -t: Which plugin to target, multiple allowed
|
|
--update: Update the issue instead of printing to stdout
|
|
--help, -h: Print this help message
|
|
```
|
|
|
|
Environment variables `GITHUB_TOKEN` is required when `--update` is specified.
|
|
|
|
## Design
|
|
|
|
- Always install `eslint-plugin-XXX@latest` from npm
|
|
- Load them through ESLint Node.js API
|
|
- https://eslint.org/docs/latest/integrate/nodejs-api#linter
|
|
- List all their plugin rules(name, deprecated, recommended, docs, etc...)
|
|
- List all our implemented rules(name)
|
|
- Combine these lists and render as markdown
|
|
- Update GitHub issue body
|
|
|
|
## FAQ
|
|
|
|
- Why is this task written in Node.js? Why not Rust?
|
|
- Some plugins do not provide static rules list
|
|
- https://github.com/jest-community/eslint-plugin-jest/
|
|
- Easiest way to collect the list is just evaluating config file in JavaScript
|
|
- Why `.cjs`?
|
|
- To keep dependencies as simple as possible
|
|
- Some plugins only provide their module as CommonJS
|
|
- So, CommonJS is the only way to go without bundling
|