UNPKG

typedoc

Version:

Create api documentation for TypeScript projects.

942 lines 24.7 kB
{ "$schema": "https://json-schema.org/draft-07/schema", "title": "JSON Schema for typedoc.json", "type": "object", "properties": { "options": { "description": "Specify a json option file that should be loaded. If not specified TypeDoc will look for 'typedoc.json' in the current directory", "type": "string" }, "tsconfig": { "description": "Specify a TypeScript config file that should be loaded. If not specified TypeDoc will look for 'tsconfig.json' in the current directory", "type": "string" }, "compilerOptions": { "description": "Selectively override the TypeScript compiler options used by TypeDoc", "type": "object", "markedOptions": "object" }, "lang": { "description": "Sets the language to be used in generation and in TypeDoc's messages", "type": "string", "default": "en" }, "locales": { "description": "Add translations for a specified locale. This option is primarily intended to be used as a stopgap while waiting for official locale support to be added to TypeDoc", "default": {} }, "packageOptions": { "description": "Set options which will be set within each package when entryPointStrategy is set to packages", "default": {} }, "entryPoints": { "description": "The entry points of your documentation", "type": "array", "items": { "type": "string" }, "default": [] }, "entryPointStrategy": { "description": "The strategy to be used to convert entry points into documentation modules", "enum": [ "resolve", "expand", "packages", "merge" ], "default": "resolve" }, "alwaysCreateEntryPointModule": { "description": "When set, TypeDoc will always create a `Module` for entry points, even if only one is provided", "type": "boolean", "default": false }, "projectDocuments": { "description": "Documents which should be added as children to the root of the generated documentation. Supports globs to match multiple files", "type": "array", "items": { "type": "string" }, "default": [] }, "exclude": { "description": "Define patterns to be excluded when expanding a directory that was specified as an entry point", "type": "array", "items": { "type": "string" }, "default": [] }, "externalPattern": { "description": "Define patterns for files that should be considered being external", "type": "array", "items": { "type": "string" }, "default": [ "**/node_modules/**" ] }, "excludeExternals": { "description": "Prevent externally resolved symbols from being documented", "type": "boolean", "default": false }, "excludeNotDocumented": { "description": "Prevent symbols that are not explicitly documented from appearing in the results", "type": "boolean", "default": false }, "excludeNotDocumentedKinds": { "description": "Specify the type of reflections that can be removed by excludeNotDocumented", "type": "array", "items": { "type": "string" }, "default": [ "Module", "Namespace", "Enum", "Variable", "Function", "Class", "Interface", "Constructor", "Property", "Method", "CallSignature", "IndexSignature", "ConstructorSignature", "Accessor", "GetSignature", "SetSignature", "TypeAlias", "Reference" ] }, "excludeInternal": { "description": "Prevent symbols that are marked with @internal from being documented", "type": "boolean", "default": false }, "excludeCategories": { "description": "Exclude symbols within this category from the documentation", "type": "array", "items": { "type": "string" }, "default": [] }, "excludePrivate": { "description": "Ignore members marked with the private keyword and #private class fields, defaults to true.", "type": "boolean", "default": true }, "excludePrivateClassFields": { "description": "Ignore #private class fields, defaults to true.", "type": "boolean", "default": true }, "excludeProtected": { "description": "Ignore protected variables and methods", "type": "boolean", "default": false }, "excludeReferences": { "description": "If a symbol is exported multiple times, ignore all but the first export", "type": "boolean", "default": false }, "externalSymbolLinkMappings": { "description": "Define custom links for symbols not included in the documentation", "default": {} }, "readme": { "description": "Path to the readme file that should be displayed on the index page. Pass `none` to disable the index page and start the documentation on the globals page", "type": "string", "default": "" }, "basePath": { "description": "Specifies a path which links may be resolved relative to.", "type": "string", "default": "" }, "outputs": { "description": "Specify the location the documentation for the default output should be written to. The default output type may be changed by plugins." }, "out": { "description": "Specify the location the documentation for the default output should be written to. The default output type may be changed by plugins.", "type": "string", "default": "./docs" }, "html": { "description": "Specify the location where html documentation should be written to.", "type": "string", "default": "" }, "json": { "description": "Specify the location and filename a JSON file describing the project is written to", "type": "string", "default": "" }, "pretty": { "description": "Specify whether the output JSON should be formatted with tabs", "type": "boolean", "default": true }, "emit": { "description": "Specify what TypeDoc should emit, 'docs', 'both', or 'none'", "enum": [ "both", "docs", "none" ], "default": "docs" }, "theme": { "description": "Specify the theme name to render the documentation with", "type": "string", "default": "default" }, "router": { "description": "Specify the router name to use to determine file names in the documentation", "type": "string", "default": "kind" }, "lightHighlightTheme": { "description": "Specify the code highlighting theme in light mode", "type": "string", "default": "light-plus" }, "darkHighlightTheme": { "description": "Specify the code highlighting theme in dark mode", "type": "string", "default": "dark-plus" }, "highlightLanguages": { "description": "Specify the languages which will be loaded to highlight code when rendering", "type": "array", "items": { "type": "string" }, "default": [ "bash", "console", "css", "html", "javascript", "json", "jsonc", "json5", "yaml", "tsx", "typescript" ] }, "ignoredHighlightLanguages": { "description": "Specify languages which will be accepted as valid highlight languages, but will not be highlighted at runtime", "type": "array", "items": { "type": "string" }, "default": [] }, "typePrintWidth": { "description": "Width at which to wrap code to a new line when rendering a type", "type": "number", "default": 80 }, "customCss": { "description": "Path to a custom CSS file to for the theme to import", "type": "string", "default": "" }, "customJs": { "description": "Path to a custom JS file to import", "type": "string", "default": "" }, "markdownItOptions": { "description": "Specify the options passed to markdown-it, the Markdown parser used by TypeDoc", "default": { "html": true, "linkify": true } }, "markdownItLoader": { "description": "Specify a callback to be called when loading the markdown-it instance. Will be passed the instance of the parser which TypeDoc will use" }, "maxTypeConversionDepth": { "description": "Set the maximum depth of types to be converted", "type": "number", "default": 10 }, "name": { "description": "Set the name of the project that will be used in the header of the template", "type": "string", "default": "" }, "includeVersion": { "description": "Add the package version to the project name", "type": "boolean", "default": false }, "disableSources": { "description": "Disable setting the source of a reflection when documenting it", "type": "boolean", "default": false }, "sourceLinkTemplate": { "description": "Specify a link template to be used when generating source urls. If not set, will be automatically created using the git remote. Supports {path}, {line}, {gitRevision} placeholders", "type": "string", "default": "" }, "gitRevision": { "description": "Use specified revision instead of the last revision for linking to GitHub/Bitbucket source files. Has no effect if disableSources is set", "type": "string", "default": "" }, "gitRemote": { "description": "Use the specified remote for linking to GitHub/Bitbucket source files. Has no effect if disableGit or disableSources is set", "type": "string", "default": "origin" }, "disableGit": { "description": "Assume that all can be linked to with the sourceLinkTemplate, sourceLinkTemplate must be set if this is enabled. {path} will be rooted at basePath", "type": "boolean", "default": false }, "displayBasePath": { "description": "Specifies the base path to be used when displaying file paths. If not specified, basePath is used.", "type": "string", "default": "" }, "cname": { "description": "Set the CNAME file text, it's useful for custom domains on GitHub Pages", "type": "string", "default": "" }, "favicon": { "description": "Path to favicon to include as the site icon", "type": "string", "default": "" }, "sourceLinkExternal": { "description": "Specifies that source links should be treated as external links to be opened in a new tab", "type": "boolean", "default": false }, "markdownLinkExternal": { "description": "Specifies that http[s]:// links in comments and markdown files should be treated as external links to be opened in a new tab", "type": "boolean", "default": true }, "githubPages": { "description": "Generate a .nojekyll file to prevent 404 errors in GitHub Pages. Defaults to `true`", "type": "boolean", "default": true }, "hostedBaseUrl": { "description": "Specify a base URL to be used in generating a sitemap.xml in our output folder and canonical links. If not specified, no sitemap will be generated", "type": "string", "default": "" }, "useHostedBaseUrlForAbsoluteLinks": { "description": "If set, TypeDoc will produce absolute links to pages on your site using the hostedBaseUrl option", "type": "boolean", "default": false }, "hideGenerator": { "description": "Do not print the TypeDoc link at the end of the page", "type": "boolean", "default": false }, "customFooterHtml": { "description": "Custom footer after the TypeDoc link", "type": "string", "default": "" }, "customFooterHtmlDisableWrapper": { "description": "If set, disables the wrapper element for customFooterHtml", "type": "boolean", "default": false }, "cacheBust": { "description": "Include the generation time in links to static assets", "type": "boolean", "default": false }, "searchInComments": { "description": "If set, the search index will also include comments. This will greatly increase the size of the search index", "type": "boolean", "default": false }, "searchInDocuments": { "description": "If set, the search index will also include documents. This will greatly increase the size of the search index", "type": "boolean", "default": false }, "cleanOutputDir": { "description": "If set, TypeDoc will remove the output directory before writing output", "type": "boolean", "default": true }, "titleLink": { "description": "Set the link the title in the header points to. Defaults to the documentation homepage", "type": "string", "default": "" }, "navigationLinks": { "description": "Defines links to be included in the header", "default": {} }, "sidebarLinks": { "description": "Defines links to be included in the sidebar", "default": {} }, "navigationLeaves": { "description": "Branches of the navigation tree which should not be expanded", "type": "array", "items": { "type": "string" }, "default": [] }, "navigation": { "description": "Determines how the navigation sidebar is organized", "anyOf": [ { "type": "boolean" }, { "type": "object", "properties": { "includeCategories": { "type": "boolean" }, "includeGroups": { "type": "boolean" }, "includeFolders": { "type": "boolean" }, "compactFolders": { "type": "boolean" }, "excludeReferences": { "type": "boolean" } }, "additionalProperties": false } ] }, "headings": { "description": "Determines which optional headings are rendered", "anyOf": [ { "type": "boolean" }, { "type": "object", "properties": { "readme": { "type": "boolean" }, "document": { "type": "boolean" } }, "additionalProperties": false } ] }, "sluggerConfiguration": { "description": "Determines how anchors within rendered HTML are determined.", "anyOf": [ { "type": "boolean" }, { "type": "object", "properties": { "lowercase": { "type": "boolean" } }, "additionalProperties": false } ] }, "includeHierarchySummary": { "description": "If set, a reflections hierarchy summary will be rendered to a summary page. Defaults to `true`", "type": "boolean", "default": true }, "visibilityFilters": { "description": "Specify the default visibility for builtin filters and additional filters according to modifier tags", "default": { "protected": false, "private": false, "inherited": true, "external": false }, "type": "object", "properties": { "protected": { "type": "boolean" }, "private": { "type": "boolean" }, "inherited": { "type": "boolean" }, "external": { "type": "boolean" } }, "patternProperties": { "^@": { "type": "boolean" } }, "additionalProperties": false }, "searchCategoryBoosts": { "description": "Configure search to give a relevance boost to selected categories", "default": {} }, "searchGroupBoosts": { "description": "Configure search to give a relevance boost to selected kinds (eg \"class\")", "default": {} }, "useFirstParagraphOfCommentAsSummary": { "description": "If set and no @summary tag is specified, TypeDoc will use the first paragraph of comments as the short summary in the module/namespace view", "type": "boolean", "default": false }, "jsDocCompatibility": { "description": "Sets compatibility options for comment parsing that increase similarity with JSDoc comments", "anyOf": [ { "type": "boolean" }, { "type": "object", "properties": { "defaultTag": { "type": "boolean" }, "exampleTag": { "type": "boolean" }, "inheritDocTag": { "type": "boolean" }, "ignoreUnescapedBraces": { "type": "boolean" } }, "additionalProperties": false } ] }, "suppressCommentWarningsInDeclarationFiles": { "description": "Prevents warnings due to unspecified tags from being reported in comments within .d.ts files.", "type": "boolean", "default": true }, "commentStyle": { "description": "Determines how TypeDoc searches for comments", "enum": [ "jsdoc", "block", "line", "triple-slash", "all" ], "default": "jsdoc" }, "useTsLinkResolution": { "description": "Use TypeScript's link resolution when determining where @link tags point. This only applies to JSDoc style comments", "type": "boolean", "default": true }, "preserveLinkText": { "description": "If set, @link tags without link text will use the text content as the link. If not set, will use the target reflection name", "type": "boolean", "default": true }, "blockTags": { "description": "Block tags which TypeDoc should recognize when parsing comments", "type": "array", "items": { "type": "string" }, "default": [ "@defaultValue", "@deprecated", "@example", "@jsx", "@param", "@privateRemarks", "@remarks", "@returns", "@see", "@throws", "@typeParam", "@author", "@callback", "@category", "@categoryDescription", "@default", "@document", "@extends", "@augments", "@yields", "@group", "@groupDescription", "@import", "@inheritDoc", "@license", "@module", "@mergeModuleWith", "@prop", "@property", "@return", "@satisfies", "@since", "@sortStrategy", "@template", "@this", "@type", "@typedef", "@summary", "@preventInline", "@inlineType", "@preventExpand", "@expandType" ] }, "inlineTags": { "description": "Inline tags which TypeDoc should recognize when parsing comments", "type": "array", "items": { "type": "string" }, "default": [ "@link", "@inheritDoc", "@label", "@linkcode", "@linkplain", "@include", "@includeCode" ] }, "modifierTags": { "description": "Modifier tags which TypeDoc should recognize when parsing comments", "type": "array", "items": { "type": "string" }, "default": [ "@alpha", "@beta", "@eventProperty", "@experimental", "@internal", "@override", "@packageDocumentation", "@public", "@readonly", "@sealed", "@virtual", "@abstract", "@class", "@disableGroups", "@enum", "@event", "@expand", "@hidden", "@hideCategories", "@hideconstructor", "@hideGroups", "@ignore", "@inline", "@interface", "@namespace", "@function", "@overload", "@private", "@protected", "@showCategories", "@showGroups", "@useDeclaredType", "@primaryExport" ] }, "excludeTags": { "description": "Remove the listed block/modifier tags from doc comments", "type": "array", "items": { "type": "string" }, "default": [ "@override", "@virtual", "@privateRemarks", "@satisfies", "@overload", "@inline", "@inlineType" ] }, "notRenderedTags": { "description": "Tags which will be preserved in doc comments, but not rendered when creating output", "type": "array", "items": { "type": "string" }, "default": [ "@showCategories", "@showGroups", "@hideCategories", "@hideGroups", "@disableGroups", "@expand", "@preventExpand", "@expandType", "@summary", "@group", "@groupDescription", "@category", "@categoryDescription" ] }, "cascadedModifierTags": { "description": "Modifier tags which should be copied to all children of the parent reflection", "type": "array", "items": { "type": "string" }, "default": [ "@alpha", "@beta", "@experimental" ] }, "preservedTypeAnnotationTags": { "description": "Block tags whose type annotations should be preserved in the output.", "type": "array", "items": { "type": "string" }, "default": [] }, "categorizeByGroup": { "description": "Specify whether categorization will be done at the group level", "type": "boolean", "default": false }, "groupReferencesByType": { "description": "If set, references will be grouped with the type they refer to rather than in a 'References' group", "type": "boolean", "default": false }, "defaultCategory": { "description": "Specify the default category for reflections without a category", "type": "string", "default": "Other" }, "categoryOrder": { "description": "Specify the order in which categories appear. * indicates the relative order for categories not in the list", "type": "array", "items": { "type": "string" }, "default": [] }, "groupOrder": { "description": "Specify the order in which groups appear. * indicates the relative order for groups not in the list", "type": "array", "items": { "type": "string" }, "default": [] }, "sort": { "description": "Specify the sort strategy for documented values", "type": "array", "items": { "enum": [ "source-order", "alphabetical", "alphabetical-ignoring-documents", "enum-value-ascending", "enum-value-descending", "enum-member-source-order", "static-first", "instance-first", "visibility", "required-first", "kind", "external-last", "documents-first", "documents-last" ] }, "default": [ "kind", "instance-first", "alphabetical-ignoring-documents" ] }, "sortEntryPoints": { "description": "If set, entry points will be subject to the same sorting rules as other reflections", "type": "boolean", "default": true }, "kindSortOrder": { "description": "Specify the sort order for reflections when 'kind' is specified", "type": "array", "items": { "type": "string" }, "default": [] }, "watch": { "description": "Watch files for changes and rebuild docs on change", "type": "boolean", "default": false }, "preserveWatchOutput": { "description": "If set, TypeDoc will not clear the screen between compilation runs", "type": "boolean", "default": false }, "skipErrorChecking": { "description": "Do not run TypeScript's type checking before generating docs", "type": "boolean", "default": false }, "showConfig": { "description": "Print the resolved configuration and exit", "type": "boolean", "default": false }, "plugin": { "description": "Specify the npm plugins that should be loaded. Omit to load all installed plugins", "type": "array", "items": { "type": "string" }, "default": [] }, "logLevel": { "description": "Specify what level of logging should be used", "enum": [ "Verbose", "Info", "Warn", "Error", "None" ], "default": "Info" }, "treatWarningsAsErrors": { "description": "If set, all warnings will be treated as errors", "type": "boolean", "default": false }, "treatValidationWarningsAsErrors": { "description": "If set, warnings emitted during validation will be treated as errors. This option cannot be used to disable treatWarningsAsErrors for validation warnings", "type": "boolean", "default": false }, "intentionallyNotExported": { "description": "A list of types which should not produce 'referenced but not documented' warnings", "type": "array", "items": { "type": "string" }, "default": [] }, "requiredToBeDocumented": { "description": "A list of reflection kinds that must be documented", "type": "array", "items": { "type": "string" }, "default": [ "Enum", "EnumMember", "Variable", "Function", "Class", "Interface", "Property", "Method", "Accessor", "TypeAlias" ] }, "packagesRequiringDocumentation": { "description": "A list of packages that must be documented", "type": "array", "items": { "type": "string" }, "default": [] }, "intentionallyNotDocumented": { "description": "A list of full reflection names which should not produce warnings about not being documented", "type": "array", "items": { "type": "string" }, "default": [] }, "validation": { "description": "Specify which validation steps TypeDoc should perform on your generated documentation", "anyOf": [ { "type": "boolean" }, { "type": "object", "properties": { "notExported": { "type": "boolean" }, "invalidLink": { "type": "boolean" }, "invalidPath": { "type": "boolean" }, "rewrittenLink": { "type": "boolean" }, "notDocumented": { "type": "boolean" }, "unusedMergeModuleWith": { "type": "boolean" } }, "additionalProperties": false } ] }, "extends": { "type": "array", "items": { "type": "string" } } }, "allowTrailingCommas": true }