Unexpected "'Type' is declared but its value is never read." error with jsdoc @import syntax
#60,908 opened on 2025幎1æ2æ¥
Repository metrics
- Stars
- Â (48,455 stars)
- PR merge metrics
-  (å¹³åããŒãž 6d 17h) (30d ã§ 9 merged PRs)
説æ
ð Search Terms
jsdoc @import "is declared but its value is never read"
ð Version & Regression Information
I have seen this error since the introduction of @import in jsdoc comments (TS 5.5 if i recall correctly)
⯠Playground Link
No response
ð» Code
I made a testcase repo https://github.com/DavidBruant/jsdoc-import-unused-testcase It is as reduced as a managed to make it
The code :
/** @import {ImportedType} from './types.d.ts' */
function id() { return undefined }
/** @type {Set<ImportedType>} */
export const phases = new Set(['a', 'b'])
The types.d.ts file:
export type ImportedType = 'a' | 'b'
ð Actual behavior
tsc and VSCodium both say:
code.js:1:5 - error TS6133: 'ImportedType' is declared but its value is never read.
1 /** @import {ImportedType} from './types.d.ts' */
ð Expected behavior
There shouldn't be an error because of the line using the type : /** @type {Set<ImportedType>} */
We've had this error in plently of places. It also seems like it occurs more regulary when the type is used within a generics
Additional information about the issue
For some reason, removing function id() { return undefined } from the code solves the problem while it seems completely unrelated to the problem