-
-
Notifications
You must be signed in to change notification settings - Fork 476
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
☂️ eslint-plugin-jsdoc #1170
Comments
The jsdoc parser is incomplete so we'll have to iteratively expand the jsdoc functionality as we add more rules. |
Before beginUnfortunately, this plugin do not seem to cover all features in its test cases for many of their rules. Just rewrite original implementation was relatively hard. Implementation notes
Rules anatomyCurrently Rules to check every all comments(1 rule)
Rules to check every JSDoc comments(27 rules)
Rules to check every JSDoc comments + additional check with attaching node(3 rules)
Rules to check specific nodes with attached JSDoc comments(22 rules)
|
Part of #1170, Finally... 🗻 Some preparation PRs may be needed in advance. - [x] settings.jsdoc #2706 - [x] new struct design #2765 - [x] handle `Span` for diagnostics #2815 Implement plugin itself. - https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-access.md - https://github.com/gajus/eslint-plugin-jsdoc/blob/main/src/rules/checkAccess.js I'll send a PR to make this plugin public after confirming that a few more rules can be implemented without any problems.
Part of #1170 - Doc: https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-property-names.md#repos-sticky-header - Test: https://github.com/gajus/eslint-plugin-jsdoc/blob/main/test/rules/assertions/checkPropertyNames.js - Impl: https://github.com/gajus/eslint-plugin-jsdoc/blob/main/src/rules/checkPropertyNames.js
Part of #1170 - Doc: https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property.md#repos-sticky-header - Src: https://github.com/gajus/eslint-plugin-jsdoc/blob/main/src/rules/requireProperty.js - Test: https://github.com/gajus/eslint-plugin-jsdoc/blob/main/test/rules/assertions/requireProperty.js
…) rules (#3013) Part of #1170 - https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md - https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md - https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-description.md
Part of #1170 - https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-tag-names.md#user-content-check-tag-names-options-definedtags (This time, I'm less confident that I have implemented correctly. 😓 )
Part of #1170 > https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/implements-on-classes.md `contexts` option is not supported for now.
Part of #1170 > https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md With: - Fix typo of JSDocPluginSettings - Update utils/jsdoc
Part of #1170 > https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param.md NOTE: `config.useDefaultObjectProperties` is not implemented for now.
I have been working on this plugin for the past 6 months. At this time,
Therefore, I am considering stepping away from this issue. If anyone is interested in taking on this challenge, feel free to ask me questions. 😉 |
@leaysgur Thank you so much for your contribution ❤️ My intention was to implement a jsdoc parser with you, but you have blown me away with your endurance. Please take some rest. If you feel like working on some other parts of the project, feel free to DM on twitter or discord. |
Warning
This comment is maintained by CI. Do not edit this comment directly.
To update comment template, see https://github.com/oxc-project/oxc/tree/main/tasks/lint_rules
This is tracking issue for
eslint-plugin-jsdoc
.There are 57(+ 0 deprecated) rules.
To get started, run the following command:
Then register the rule in
crates/oxc_linter/src/rules.rs
and alsodeclare_all_lint_rules
at the bottom.Recommended rules
✨: 18, 🚫: 0 / total: 30
✨ = Implemented, 🚫 = No need to implement
Not recommended rules
✨: 0, 🚫: 0 / total: 27
✨ = Implemented, 🚫 = No need to implement
The text was updated successfully, but these errors were encountered: