-
-
Notifications
You must be signed in to change notification settings - Fork 745
Description
Search terms
typedef, esmodule, class, "referenced but not included in the documentation"
Question
I am using typedoc to document an ESModule. An example file in that module defines a class and its constructor parameter(s) as follows (this is a simplified example):
File 1: Class Declaration - some-class.mjs
/**
* @typedef {Object} SomeDataStructure
* @property {string} foo A string
* @property {number} bar A number
*/
/**
* A class that does a thing
*/
export default class SomeClass {
/**
* Construct an instance of SomeClass using provided data
* @param {SomeDataStructure} data Input data
*/
constructor(data) {
this.data = data;
}
}
The documentation is built by targeting another file which is the entry-point that aggregates exports for different components of the module:
File 2: Module Entrypoint - module.mjs
export {default as SomeClass} from "./some-class.mjs"
What Goes Wrong?
When trying to build documentation for the module the following warning is displayed:
Warning: SomeDataStructure, defined at common/some-class.mjs:2, is referenced by foundry.SomeClass.data but not included in the documentation.
Documentation is built for SomeClass
, but the data type of its constructor parameter is not documented nor is the SomeDataStructure
typedef available for inspection in the resulting documentation.
I realize this is a somewhat uncommon use case since the source of the module is not TypeScript but rather an ESModule directly, but this use case is portrayed as being supported by https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html#typedef-callback-and-param.
Is this a typedoc bug? Is this a problem with the way I have structured the module code? Thanks for your guidance.