feat(linter/jsdoc): implement require-throws-description rule#22386
Conversation
|
@codex review |
There was a problem hiding this comment.
Pull request overview
This PR adds support for the jsdoc/require-throws-description rule to oxc_linter, mirroring eslint-plugin-jsdoc behavior and wiring the new rule through the project’s rule registry and generated schemas.
Changes:
- Implement
jsdoc/require-throws-descriptionrule and diagnostics. - Add tests + snapshots for the new rule.
- Update generated rule registries and configuration schemas/types to include the new rule.
Reviewed changes
Copilot reviewed 6 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tasks/website_linter/src/snapshots/schema_json.snap | Adds the new rule key to the website schema snapshot. |
| npm/oxlint/configuration_schema.json | Adds the new rule key to the published JSON schema. |
| crates/oxc_linter/src/snapshots/jsdoc_require_throws_description.snap | Adds snapshot output for the new rule’s diagnostics. |
| crates/oxc_linter/src/rules/jsdoc/require_throws_description.rs | Implements the new rule + unit tests. |
| crates/oxc_linter/src/rules.rs | Registers the new rule module under jsdoc. |
| crates/oxc_linter/src/generated/rules_enum.rs | Wires the rule into the generated enum/registry/config plumbing. |
| crates/oxc_linter/src/generated/rule_runner_impls.rs | Registers the rule runner as RunOnce. |
| apps/oxlint/src-js/package/config.generated.ts | Adds the rule to the generated TypeScript config typings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7ae35187c2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Merging this PR will not alter performance
Comparing Footnotes
|
7ae3518 to
492d82e
Compare
# Oxlint ### 🚀 Features - 5478fb5 linter/jsdoc: Implement `require-throws-description` rule (#22386) (Mikhail Baev) - b46d4de linter: Add `--debug` options and add per-rule timing info (#22282) (camchenry) - c73225e linter/eslint: Implement `prefer-arrow-callback` rule (#22312) (박천(Cheon Park)) - de82b59 linter: Add support for `eslint-plugin-jsx-a11y-x` (#22356) (mehm8128) - b170da3 linter: Implement no-implicit-globals (#22249) (Jovi De Croock) - f44b6c8 linter: Fill schemas `DummyRuleMap` with built-in rules (#22288) (Sysix) - 5cdb80d linter/jsx-a11y/: Implement no-interactive-element-to-noninteractive-role (#22332) (anarefolio) - 2749422 linter/jsx-a11y: Add no-noninteractive-element-interactions (#22337) (Pablo Tovar) - ba2a1d3 linter/jsdoc: Implement `require-throws-type` rule (#22358) (Mikhail Baev) - d90729d linter/jsx-a11y: Implement control-has-associated-label (#21985) (mehm8128) - 1d04903 linter/jsdoc: Implement `require-yields-type` rule (#22331) (Mikhail Baev) ### 🐛 Bug Fixes - 04c4609 linter/no-nullable-type-assertion-style: Mark as suggestion (#22450) (camc314) - 1c2b7ec linter/no-unused-vars: Handle shadowed self assignments (#22387) (camc314) - 9faa1d5 linter/no-noninteractive-tabindex: Check conditional expressions (#22435) (camc314) - 0854b3a linter/prefer-arrow-callback: Preserve TSX generic arrows in fixer (#22434) (camc314) - 410b814 linter: Supply `source_type` to codegen fixer (#22433) (camc314) - 3c1bb6f linter: Skip per-node dispatch for run_once-only rules in large files (#22398) (Connor Shea) - 5206cde linter/no-unused-vars: Improve type-only rest parameters diagnostic (#22385) (camc314) - c9a22b5 linter/consistent-function-scoping: Allow imported bindings (#22384) (camc314) - c1e966d linter: Report type-only unused parameters in no-unused-vars (#22368) (camchenry) - 4818d98 linter: Check whether path is under root before ignoring it (#20101) (Leonabcd123) - 41fcdcf linter: Fix rule count not including override rules (#19898) (Daniel Osmond) - 59b4f0e linter: Fix 'explicit-module-boundary-types' false positive with 'allowOverloadFunctions' (#22341) (camchenry) ### ⚡ Performance - 6d42395 linter: Narrow no-unsafe-optional-chaining dispatch (#22437) (camchenry) - 08595fb linter: Optimize no-unreachable (#22397) (camchenry) - 3b46a8d linter: Optimize `no-loss-of-precision` (#22395) (camchenry) - b3e2dc9 linter: Optimize `oxc/bad-array-method-on-arguments` (#22393) (camchenry) ### 📚 Documentation - dcbf62c linter: Remove some duplicate spaces (#22359) (camc314) # Oxfmt ### 💥 BREAKING CHANGES - 21bb5d1 oxfmt: [**BREAKING**] Avoid config pre-scan (#22258) (leaysgur) ### 🐛 Bug Fixes - 441d724 oxfmt: Fix "race probe" logic with unit tests (#22378) (leaysgur) - e49ee26 formatter: Respect `singleQuote` for jsdoc `import()` type paths (#22353) (Colin Lienard) - 43b9978 formatter/sort_imports: Treat subpath imports as internal (#22440) (leaysgur) - 7c5cfa0 formatter: Handle jsx trailing comment with parens (#22370) (leaysgur) - ac5f120 formatter: Fix erroneous formatting inside a template literal with parentheses (#22262) (Jovi De Croock) - 3c53a95 formatter/sort_imports: Handle ignore comment as boundary (#22369) (leaysgur) - 4dd83dd oxfmt: Send expandedStates variants as shared refs (#22366) (leaysgur) - 055cc61 formatter: Expand JSX logical chain with leading line comment (#22346) (leaysgur) - 8046222 formatter: Preserve type alias comment break (#22261) (Jovi De Croock) ### ⚡ Performance - 123c493 oxfmt: Reduce more syscalls (#22380) (leaysgur) Co-authored-by: overlookmotel <[email protected]>
this PR implements
jsdoc/require-throws-descriptionrule. Unlikerequire-returns-descriptionandrequire-property-description, this rule is not listed in the recommended section, so i pickedstylecategory for itrule doc
rule source
issue #1170