oxc/tasks/lint_rules
Alexander S a5e0f2274a
fix(docs): detect typescript alias rules and mark them as supported (#3779)
Some tpyescript rules are extensions of the core eslint rules.  

Now we mark them as supported :) 

Maybe add a info for the user about this behavior?

Some discord discussion:

https://discord.com/channels/1079625926024900739/1080712072012238858/1226407188650659845

## Current State

Found Aliases:
- default-param-last
- max-params
- no-array-constructor
- require-await
- no-dupe-class-members
- no-empty-function
- no-loss-of-precision
- no-redeclare
- no-useless-constructor

Todo: why im getting following output:
```
👀 typescript/require-await is implemented but not found in their rules
👀 tree-shaking/no-side-effects-in-initialization is implemented but not found in their rules
```
2024-06-20 14:56:31 +08:00
..
src fix(docs): detect typescript alias rules and mark them as supported (#3779) 2024-06-20 14:56:31 +08:00
.gitignore chore(lint_rules): deprecated eslint no-dupe-args / no-octal / no-with 2024-02-02 17:33:54 +08:00
jsconfig.json feat(tasks): Enable tasks/lint_rules(JS ver) (#2177) 2024-01-26 15:45:05 +08:00
package.json feat(tasks): Enable tasks/lint_rules(JS ver) (#2177) 2024-01-26 15:45:05 +08:00
README.md feat(tasks): Enable tasks/lint_rules(JS ver) (#2177) 2024-01-26 15:45:05 +08:00

tasks/lint_rules

Task to update implementation progress for each linter plugin.

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
  • 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?
  • 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