Search code examples
javascripttypescripttypedoc

Documenting external types with TypeDoc


I have two files, file A and file B. File A uses a class from file B. My goal is to reference the TypeDoc output for a class used in file B in the TypeDoc output for file A. I can't seem to do this.

I know you can reference a symbol contained in the same file with TypeDoc with double brackets, like [[Foo]], but this didn't work for an external type like this.

/** Trying to reference [[FileB.InnerClass]] like this doesn't work. */
// This here is what I want to include
export type InnerClass = FileB.InnerClass;

// More code...

Is this possible to achieve?


Solution

  • yes, it's possible.

    1. correct the comment.
    2. You don't have to enter the file name but you have to import object from file using import
    import { InnerClass } from './FileB';
    
    /**
     * See the [[InnerClass]] for more details.
     */
    export type innerClass = InnerClass;
    
    1. To generate docs, run the following command.

    when typedef it's global use this command:

    typedoc --out ./docs --target ES6 ./src/

    or this when it's local:

    npx typedoc --out ./docs --target ES6 ./src/

    • ./docs is folder where generate documentation.

    • ./src/ is folder where your code is.

    • --target ES6 version of JavaScript.

    If you want to show only classes without different modules, use this flag --mode file:

    npx typedoc --out ./docs --mode file --target ES6 ./src/

    for more info, see documentation.