Properly Integrating JSDoc and Type Definitions for Deno and JS
Hi everyone! I’m working on a JavaScript codebase designed for both Deno and browsers. We’re adding documentation and types to publish it on JSR, but I’ve hit some roadblocks.
Issue 1: JSDoc
Using JSDoc for
Issue 2: .d.ts Files
I tried using
- Comments in the source and
- While the editor’s language server recognizes the
Questions:
1. How can I make deno check work with
2. [And/or] Is there any way to make JSDoc types work directly with
Thanks for any help!
Issue 1: JSDoc
Using JSDoc for
@param and @returns doesn’t work with deno doc or JSR—they ignore the types, likely because they rely on .d.ts files for type information. This seems limiting for *.js files but might be a technical constraint.Issue 2: .d.ts Files
I tried using
.d.ts files following https://docs.deno.com/runtime/fundamentals/typescript/, however:- Comments in the source and
.d.ts seems mutually exclusive in deno doc, forcing me to move all comments in .d.ts, leaving the source undocumented.- While the editor’s language server recognizes the
.d.ts types for imports (a main.js, but still fails on add.js), deno check fails on both main.js and add.js with errors like: error: TS7006 [ERROR]: Parameter 'a' implicitly has an 'any' type..Questions:
1. How can I make deno check work with
@ts-self-types for both the source (add.js) and the importer (main.js)?2. [And/or] Is there any way to make JSDoc types work directly with
deno doc and JSR without .d.ts files?Thanks for any help!
