Unexpected "'Type' is declared but its value is never read." error with jsdoc @import syntax
#60.908 aperta il 2 gen 2025
Metriche repository
- Star
- (48.455 star)
- Metriche merge PR
- (Merge medio 6g 17h) (9 PR mergiate in 30 g)
Descrizione
🔎 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