Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes #348 and #349 by adding a new "no-undefined-types" rule to the
eslint-plugin-tsdoc
package.NOTE: This is currently in draft as I want a bit of feedback before sinking more time into this.
I see two issues with the implementation as is:
Incorrect scoping
Comment are read using
sourceCode.getAllComments()
, which means the node to which the comment related gets lost and this entails that any identifiers used in{@link }
tags gets resolved relative to the global scope (and its decedents). I am contemplating adding more granular "visitors" to to theRuleListener
returned from the rule'screate
method, but that would probably elevate the complexity quite a bit.Determining if a type is defined, means running the TypeScript type-checker
Take this example
foo.ts
bar.ts
The easiest way would probably be to take an optional peer dependency on
@typescript-eslint/utils
and implement a typed rule.