From 4c3058bf534295dd8bcacc8ce7efba138e0a810f Mon Sep 17 00:00:00 2001 From: Abhijeet Singh Date: Sat, 31 May 2025 03:38:37 +0530 Subject: [PATCH 1/3] docs(no-unused-vars): add FAQ about link usage in JSDoc --- .../eslint-plugin/docs/rules/no-unused-vars.mdx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/eslint-plugin/docs/rules/no-unused-vars.mdx b/packages/eslint-plugin/docs/rules/no-unused-vars.mdx index 461cf3d93817..a2bf6a2c369f 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 [`eslint-plugin-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() {} +``` \ No newline at end of file From 612c10d867123bf809e8392a8ab547f75b388b0a Mon Sep 17 00:00:00 2001 From: Abhijeet Singh Date: Sat, 31 May 2025 03:55:17 +0530 Subject: [PATCH 2/3] lint: prettier fix --- packages/eslint-plugin/docs/rules/no-unused-vars.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/eslint-plugin/docs/rules/no-unused-vars.mdx b/packages/eslint-plugin/docs/rules/no-unused-vars.mdx index a2bf6a2c369f..9155d990e4eb 100644 --- a/packages/eslint-plugin/docs/rules/no-unused-vars.mdx +++ b/packages/eslint-plugin/docs/rules/no-unused-vars.mdx @@ -122,7 +122,7 @@ If you find yourself writing runtime values only for types, consider refactoring ### 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 [`eslint-plugin-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. +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'; @@ -133,4 +133,4 @@ import type { Box } from './Box'; * @see {@link Box} */ export function getBox() {} -``` \ No newline at end of file +``` From f5f46a71c90b53426611b8d0d7ebd0f49440692a Mon Sep 17 00:00:00 2001 From: Abhijeet Singh Date: Sat, 31 May 2025 12:49:55 +0530 Subject: [PATCH 3/3] chore: small typo --- packages/eslint-plugin/docs/rules/no-unused-vars.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/eslint-plugin/docs/rules/no-unused-vars.mdx b/packages/eslint-plugin/docs/rules/no-unused-vars.mdx index 9155d990e4eb..ea0a336a011f 100644 --- a/packages/eslint-plugin/docs/rules/no-unused-vars.mdx +++ b/packages/eslint-plugin/docs/rules/no-unused-vars.mdx @@ -121,7 +121,7 @@ If you find yourself writing runtime values only for types, consider refactoring ### Why are variables reported as unused despite being referenced by @link in JSDoc? -JSDoc references are not supported by typeScript-eslint. +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