TypeDoc API - v0.28.2

    Interface TypeDocOptionMap

    Describes all TypeDoc options. Used internally to provide better types when fetching options. External consumers should likely use TypeDocOptions instead.

    If writing a plugin, you may find it useful to use declaration merging to add your options to this interface so that you have autocomplete when using app.options.getValue.

    declare module "typedoc" {
    export interface TypeDocOptionMap {
    pluginOption: string[];
    }
    }
    interface TypeDocOptionMap {
        alwaysCreateEntryPointModule: boolean;
        basePath: NormalizedPath;
        blockTags: `@${string}`[];
        cacheBust: boolean;
        cascadedModifierTags: `@${string}`[];
        categorizeByGroup: boolean;
        categoryOrder: string[];
        cleanOutputDir: boolean;
        cname: string;
        commentStyle: { All: "all"; Block: "block"; JSDoc: "jsdoc"; Line: "line" };
        compilerOptions: unknown;
        customCss: NormalizedPath;
        customFooterHtml: string;
        customFooterHtmlDisableWrapper: boolean;
        customJs: NormalizedPath;
        darkHighlightTheme: BundledTheme;
        defaultCategory: string;
        disableGit: boolean;
        disableSources: boolean;
        emit: { both: "both"; docs: "docs"; none: "none" };
        entryPoints: GlobString[];
        entryPointStrategy: {
            Expand: "expand";
            Merge: "merge";
            Packages: "packages";
            Resolve: "resolve";
        };
        exclude: GlobString[];
        excludeCategories: string[];
        excludeExternals: boolean;
        excludeInternal: boolean;
        excludeNotDocumented: boolean;
        excludeNotDocumentedKinds: KindString[];
        excludePrivate: boolean;
        excludeProtected: boolean;
        excludeReferences: boolean;
        excludeTags: `@${string}`[];
        externalPattern: GlobString[];
        externalSymbolLinkMappings: Configuration.ManuallyValidatedOption<
            Record<string, Record<string, string>>,
        >;
        favicon: NormalizedPath;
        githubPages: boolean;
        gitRemote: string;
        gitRevision: string;
        groupOrder: string[];
        groupReferencesByType: boolean;
        headings: { document: boolean; readme: boolean };
        help: boolean;
        hideGenerator: boolean;
        highlightLanguages: string[];
        hostedBaseUrl: string;
        html: NormalizedPath;
        ignoredHighlightLanguages: string[];
        includeHierarchySummary: boolean;
        includeVersion: boolean;
        inlineTags: `@${string}`[];
        intentionallyNotDocumented: string[];
        intentionallyNotExported: string[];
        jsDocCompatibility: Configuration.JsDocCompatibility;
        json: NormalizedPath;
        kindSortOrder: KindString[];
        lang: string;
        lightHighlightTheme: BundledTheme;
        locales: Configuration.ManuallyValidatedOption<
            Record<string, Record<string, string>>,
        >;
        logLevel: typeof LogLevel;
        markdownItLoader: Configuration.ManuallyValidatedOption<
            (parser: any) => void,
        >;
        markdownItOptions: Configuration.ManuallyValidatedOption<
            Record<string, unknown>,
        >;
        markdownLinkExternal: boolean;
        maxTypeConversionDepth: number;
        modifierTags: `@${string}`[];
        name: string;
        navigation: {
            compactFolders: boolean;
            excludeReferences: boolean;
            includeCategories: boolean;
            includeFolders: boolean;
            includeGroups: boolean;
        };
        navigationLeaves: string[];
        navigationLinks: Configuration.ManuallyValidatedOption<
            Record<string, string>,
        >;
        notRenderedTags: `@${string}`[];
        options: NormalizedPath;
        out: NormalizedPath;
        outputs: Configuration.ManuallyValidatedOption<
            Configuration.OutputSpecification[],
        >;
        packageOptions: Configuration.ManuallyValidatedOption<
            TypeDocPackageOptions,
        >;
        packagesRequiringDocumentation: string[];
        plugin: NormalizedPathOrModule[];
        preserveLinkText: boolean;
        preserveWatchOutput: boolean;
        pretty: boolean;
        projectDocuments: GlobString[];
        readme: string;
        requiredToBeDocumented: KindString[];
        router: string;
        searchCategoryBoosts: Configuration.ManuallyValidatedOption<
            Record<string, number>,
        >;
        searchGroupBoosts: Configuration.ManuallyValidatedOption<
            Record<string, number>,
        >;
        searchInComments: boolean;
        searchInDocuments: boolean;
        showConfig: boolean;
        sidebarLinks: Configuration.ManuallyValidatedOption<Record<string, string>>;
        skipErrorChecking: boolean;
        sluggerConfiguration: { lowercase: boolean };
        sort: (
            | "kind"
            | "source-order"
            | "alphabetical"
            | "alphabetical-ignoring-documents"
            | "enum-value-ascending"
            | "enum-value-descending"
            | "enum-member-source-order"
            | "static-first"
            | "instance-first"
            | "visibility"
            | "required-first"
            | "external-last"
            | "documents-first"
            | "documents-last"
        )[];
        sortEntryPoints: boolean;
        sourceLinkExternal: boolean;
        sourceLinkTemplate: string;
        suppressCommentWarningsInDeclarationFiles: boolean;
        theme: string;
        titleLink: string;
        treatValidationWarningsAsErrors: boolean;
        treatWarningsAsErrors: boolean;
        tsconfig: NormalizedPath;
        typePrintWidth: number;
        useFirstParagraphOfCommentAsSummary: boolean;
        useHostedBaseUrlForAbsoluteLinks: boolean;
        useTsLinkResolution: boolean;
        validation: Configuration.ValidationOptions;
        version: boolean;
        visibilityFilters: Configuration.ManuallyValidatedOption<
            {
                external?: boolean;
                inherited?: boolean;
                private?: boolean;
                protected?: boolean;
                [tag: `@${string}`]: boolean;
            },
        >;
        watch: boolean;
    }
    Index

    Properties

    alwaysCreateEntryPointModule basePath blockTags cacheBust cascadedModifierTags categorizeByGroup categoryOrder cleanOutputDir cname commentStyle compilerOptions customCss customFooterHtml customFooterHtmlDisableWrapper customJs darkHighlightTheme defaultCategory disableGit disableSources emit entryPoints entryPointStrategy exclude excludeCategories excludeExternals excludeInternal excludeNotDocumented excludeNotDocumentedKinds excludePrivate excludeProtected excludeReferences excludeTags externalPattern externalSymbolLinkMappings favicon githubPages gitRemote gitRevision groupOrder groupReferencesByType headings help hideGenerator highlightLanguages hostedBaseUrl html ignoredHighlightLanguages includeHierarchySummary includeVersion inlineTags intentionallyNotDocumented intentionallyNotExported jsDocCompatibility json kindSortOrder lang lightHighlightTheme locales logLevel markdownItLoader markdownItOptions markdownLinkExternal maxTypeConversionDepth modifierTags name navigation navigationLeaves navigationLinks notRenderedTags options out outputs packageOptions packagesRequiringDocumentation plugin preserveLinkText preserveWatchOutput pretty projectDocuments readme requiredToBeDocumented router searchCategoryBoosts searchGroupBoosts searchInComments searchInDocuments showConfig sidebarLinks skipErrorChecking sluggerConfiguration sort sortEntryPoints sourceLinkExternal sourceLinkTemplate suppressCommentWarningsInDeclarationFiles theme titleLink treatValidationWarningsAsErrors treatWarningsAsErrors tsconfig typePrintWidth useFirstParagraphOfCommentAsSummary useHostedBaseUrlForAbsoluteLinks useTsLinkResolution validation version visibilityFilters watch

    Properties

    alwaysCreateEntryPointModule: boolean
    basePath: NormalizedPath
    blockTags: `@${string}`[]
    cacheBust: boolean
    cascadedModifierTags: `@${string}`[]
    categorizeByGroup: boolean
    categoryOrder: string[]
    cleanOutputDir: boolean
    cname: string
    commentStyle: { All: "all"; Block: "block"; JSDoc: "jsdoc"; Line: "line" }
    compilerOptions: unknown
    customCss: NormalizedPath
    customFooterHtml: string
    customFooterHtmlDisableWrapper: boolean
    customJs: NormalizedPath
    darkHighlightTheme: BundledTheme
    defaultCategory: string
    disableGit: boolean
    disableSources: boolean
    emit: { both: "both"; docs: "docs"; none: "none" }
    entryPoints: GlobString[]
    entryPointStrategy: {
        Expand: "expand";
        Merge: "merge";
        Packages: "packages";
        Resolve: "resolve";
    }

    Type declaration

    • ReadonlyExpand: "expand"

      The default behavior in v0.21 and earlier. Behaves like the resolve behavior, but will recursively expand directories into an entry point for each file within the directory.

    • ReadonlyMerge: "merge"

      Merges multiple previously generated output from TypeDoc's --json output together into a single project.

    • ReadonlyPackages: "packages"

      Run TypeDoc in each directory passed as an entry point. Once all directories have been converted, use the merge option to produce final output.

    • ReadonlyResolve: "resolve"

      The default behavior in v0.22+, expects all provided entry points as being part of a single program. Any directories included in the entry point list will result in dir/index.([cm][tj]s|[tj]sx?) being used.

    exclude: GlobString[]
    excludeCategories: string[]
    excludeExternals: boolean
    excludeInternal: boolean
    excludeNotDocumented: boolean
    excludeNotDocumentedKinds: KindString[]
    excludePrivate: boolean
    excludeProtected: boolean
    excludeReferences: boolean
    excludeTags: `@${string}`[]
    externalPattern: GlobString[]
    externalSymbolLinkMappings: Configuration.ManuallyValidatedOption<
        Record<string, Record<string, string>>,
    >
    githubPages: boolean
    gitRemote: string
    gitRevision: string
    groupOrder: string[]
    groupReferencesByType: boolean
    headings: { document: boolean; readme: boolean }
    help: boolean
    hideGenerator: boolean
    highlightLanguages: string[]
    hostedBaseUrl: string
    ignoredHighlightLanguages: string[]
    includeHierarchySummary: boolean
    includeVersion: boolean
    inlineTags: `@${string}`[]
    intentionallyNotDocumented: string[]
    intentionallyNotExported: string[]
    jsDocCompatibility: Configuration.JsDocCompatibility
    kindSortOrder: KindString[]
    lang: string
    lightHighlightTheme: BundledTheme
    locales: Configuration.ManuallyValidatedOption<
        Record<string, Record<string, string>>,
    >
    logLevel: typeof LogLevel
    markdownItLoader: Configuration.ManuallyValidatedOption<(parser: any) => void>

    Will be called when TypeDoc is setting up the markdown parser to use to render markdown. Can be used to add markdown-it plugins to the parser with code like this:

    // typedoc.config.mjs
    import iterator from "markdown-it-for-inline";
    export default {
    /** @param {MarkdownIt} parser */
    markdownItLoader(parser) {
    parser.use(iterator, "foo_replace", "text", function(tokens, idx) {
    tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar');
    });
    }
    }

    Note: Unfortunately, markdown-it doesn't ship its own types, so parser isn't strictly typed here.

    markdownItOptions: Configuration.ManuallyValidatedOption<
        Record<string, unknown>,
    >
    markdownLinkExternal: boolean
    maxTypeConversionDepth: number
    modifierTags: `@${string}`[]
    name: string
    navigation: {
        compactFolders: boolean;
        excludeReferences: boolean;
        includeCategories: boolean;
        includeFolders: boolean;
        includeGroups: boolean;
    }
    navigationLeaves: string[]
    navigationLinks: Configuration.ManuallyValidatedOption<Record<string, string>>
    notRenderedTags: `@${string}`[]
    packagesRequiringDocumentation: string[]
    preserveLinkText: boolean
    preserveWatchOutput: boolean
    pretty: boolean
    projectDocuments: GlobString[]
    readme: string
    requiredToBeDocumented: KindString[]
    router: string
    searchCategoryBoosts: Configuration.ManuallyValidatedOption<
        Record<string, number>,
    >
    searchGroupBoosts: Configuration.ManuallyValidatedOption<Record<string, number>>
    searchInComments: boolean
    searchInDocuments: boolean
    showConfig: boolean
    sidebarLinks: Configuration.ManuallyValidatedOption<Record<string, string>>
    skipErrorChecking: boolean
    sluggerConfiguration: { lowercase: boolean }
    sort: (
        | "kind"
        | "source-order"
        | "alphabetical"
        | "alphabetical-ignoring-documents"
        | "enum-value-ascending"
        | "enum-value-descending"
        | "enum-member-source-order"
        | "static-first"
        | "instance-first"
        | "visibility"
        | "required-first"
        | "external-last"
        | "documents-first"
        | "documents-last"
    )[]
    sortEntryPoints: boolean
    sourceLinkExternal: boolean
    sourceLinkTemplate: string
    suppressCommentWarningsInDeclarationFiles: boolean
    theme: string
    titleLink: string
    treatValidationWarningsAsErrors: boolean
    treatWarningsAsErrors: boolean
    tsconfig: NormalizedPath
    typePrintWidth: number
    useFirstParagraphOfCommentAsSummary: boolean
    useHostedBaseUrlForAbsoluteLinks: boolean
    useTsLinkResolution: boolean
    version: boolean
    visibilityFilters: Configuration.ManuallyValidatedOption<
        {
            external?: boolean;
            inherited?: boolean;
            private?: boolean;
            protected?: boolean;
            [tag: `@${string}`]: boolean;
        },
    >
    watch: boolean
    MMNEPVFCICPMFPCPTTAAATR