diff --git a/packages/eslint-plugin/docs/rules/no-unused-vars.mdx b/packages/eslint-plugin/docs/rules/no-unused-vars.mdx index 461cf3d9381..ea0a336a011 100644 --- a/packages/eslint-plugin/docs/rules/no-unused-vars.mdx +++ b/packages/eslint-plugin/docs/rules/no-unused-vars.mdx @@ -118,3 +118,19 @@ export interface Box { If you find yourself writing runtime values only for types, consider refactoring your code to declare types directly. + +### Why are variables reported as unused despite being referenced by @link in JSDoc? + +JSDoc references are not supported by typescript-eslint. +You can use a rule such as [`jsdoc/no-undefined-types`](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md) to resolve variables as used in JSDoc comments. + +```ts +import type { Box } from './Box'; +// ~~~ +// 'Box' is defined but never used. + +/** + * @see {@link Box} + */ +export function getBox() {} +```