oxc/tasks
DonIsaac f62951411d feat(website): auto-generate rule docs pages (#4640)
> AI-generated description because I'm lazy
### TL;DR

This PR introduces the ability to generate documentation for linter rules and adds new methods and metadata for rule fix capabilities.

To see what this looks like, please check out https://github.com/oxc-project/oxc-project.github.io/pull/165.

## Screenshots
Hyperlinks to rule doc pages in auto-generated rules table
<img width="809" alt="image" src="https://github.com/user-attachments/assets/e09eb47d-e86a-4ed1-b1f9-5034f33c71a2">

Example of a docs page
<img width="1273" alt="image" src="https://github.com/user-attachments/assets/78f7e9e6-f4dd-4cc9-aebc-1cdd64b024ec">

### What changed?

- Added `RuleFixMeta` to indicate rule fix capabilities
- Introduced methods `is_none` and `is_pending` in `RuleFixMeta`
- Modified `render_markdown_table` in `RuleTableSection` to accept an optional link prefix
- Created new modules for rule documentation and HTML rendering
- Updated `print_rules` function to generate markdown for rules and detailed documentation pages

### How to test?

Run the `linter-rules` task with appropriate arguments to generate the markdown table and documentation pages.
Verify the generated files for correctness and that all metadata is correctly displayed.

### Why make this change?

To enhance the project documentation and provide clear rule fix capabilities, thereby improving the developer experience and easing the integration process.

---
2024-08-10 00:13:06 +00:00
..
ast_codegen refactor(ast_codegen): replace ///@@ with ///@@line_break (#4786) 2024-08-09 10:52:22 +00:00
benchmark fix(minifier): fix keep_var keeping vars from arrow functions (#4680) 2024-08-06 07:04:25 +00:00
common refactor(tasks): clean up test files and remove libs.txt (#4172) 2024-07-10 17:38:06 +00:00
coverage refactor(minifier): add NodeUtil trait for accessing symbols on ast nodes (#4734) 2024-08-08 02:48:25 +00:00
javascript_globals chore: turn off doctest for all [[bin]] 2024-07-14 16:55:19 +08:00
lint_rules feat(docs): add tracking for plugins "promise" and "vitest" (#4668) 2024-08-05 19:01:44 -04:00
minsize fix(minifier): avoid removing function declaration from KeepVar (#4722) 2024-08-07 05:09:32 +00:00
prettier_conformance perf: replace some CompactStr usages with Cows (#4377) 2024-07-20 19:19:55 +00:00
rulegen chore(tasks): change comment fix-dangerous to fix_dangerous (#4756) 2024-08-08 18:42:29 +08:00
transform_conformance fix(transformer/typescript): incorrect enum-related symbol_id/reference_id (#4660) 2024-08-06 02:57:19 +00:00
website feat(website): auto-generate rule docs pages (#4640) 2024-08-10 00:13:06 +00:00