Repository: TypeStrong/typedoc Branch: master Commit: 2d23fc06f2d7 Files: 837 Total size: 4.9 MB Directory structure: gitextract_ygk5af18/ ├── .config/ │ ├── mocha.fast.json │ ├── mocha.full.json │ ├── mocha.test-explorer.json │ ├── regconfig.json │ └── typedoc.json ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── CODE_OF_CONDUCT.md │ ├── CONTRIBUTING.md │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ └── feature_request.md │ ├── SECURITY.md │ └── workflows/ │ ├── build-site.yml │ ├── ci.yml │ ├── publish-beta.yml │ ├── publish-lts.yml │ └── publish.yml ├── .gitignore ├── .npmrc ├── .vscode/ │ ├── extensions.json │ ├── launch.json │ ├── settings.json │ └── tasks.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── bin/ │ ├── package.json │ └── typedoc ├── dprint.json ├── eslint.config.mjs ├── example/ │ ├── .eslintrc.json │ ├── README.md │ ├── building-the-example.md │ ├── package.json │ ├── src/ │ │ ├── classes/ │ │ │ ├── CancellablePromise.ts │ │ │ ├── Customer.ts │ │ │ ├── StringArray.ts │ │ │ └── index.ts │ │ ├── documents/ │ │ │ ├── external-markdown.md │ │ │ ├── include-code.md │ │ │ ├── include.md │ │ │ ├── markdown.md │ │ │ └── syntax-highlighting.md │ │ ├── enums.ts │ │ ├── functions.ts │ │ ├── index.ts │ │ ├── internals.ts │ │ ├── reactComponents.tsx │ │ ├── reexports.ts │ │ ├── types.ts │ │ └── variables.ts │ ├── tsconfig.json │ └── typedoc.json ├── package.json ├── scripts/ │ ├── build_browser_translations.js │ ├── build_site.sh │ ├── build_themes.js │ ├── capture_screenshots.mjs │ ├── clone_api_users.js │ ├── create_release.js │ ├── data/ │ │ └── api_users.js │ ├── download_plugins.cjs │ ├── generate_options_schema.js │ ├── generate_site_plugins.js │ ├── prepare.mjs │ ├── rebuild_specs.js │ ├── set_strict.js │ ├── sync_i18n.js │ ├── testcase.js │ └── visual_regression.js ├── site/ │ ├── custom.css │ ├── declaration-references.md │ ├── development/ │ │ ├── index.md │ │ ├── internationalization.md │ │ ├── local-storage.md │ │ ├── plugins.md │ │ ├── themes.md │ │ └── third-party-symbols.md │ ├── doc-comments/ │ │ ├── index.md │ │ ├── jsdoc-support.md │ │ └── tsdoc-support.md │ ├── external-documents.md │ ├── generated/ │ │ └── .gitignore │ ├── googlede482cdb17c37ad4.html │ ├── index.md │ ├── options/ │ │ ├── comments.md │ │ ├── configuration.md │ │ ├── input.md │ │ ├── organization.md │ │ ├── other.md │ │ ├── output.md │ │ ├── package-options.md │ │ └── validation.md │ ├── options.md │ ├── overview.md │ ├── plugins.md │ ├── site-plugin.js │ ├── tags/ │ │ ├── abstract.md │ │ ├── alpha.md │ │ ├── author.md │ │ ├── beta.md │ │ ├── category.md │ │ ├── class.md │ │ ├── defaultValue.md │ │ ├── deprecated.md │ │ ├── document.md │ │ ├── enum.md │ │ ├── event.md │ │ ├── eventProperty.md │ │ ├── example.md │ │ ├── expand.md │ │ ├── experimental.md │ │ ├── function.md │ │ ├── group.md │ │ ├── hidden.md │ │ ├── hideconstructor.md │ │ ├── ignore.md │ │ ├── import.md │ │ ├── include.md │ │ ├── inheritDoc.md │ │ ├── inline.md │ │ ├── interface.md │ │ ├── internal.md │ │ ├── label.md │ │ ├── license.md │ │ ├── link.md │ │ ├── mergeModuleWith.md │ │ ├── module.md │ │ ├── namespace.md │ │ ├── overload.md │ │ ├── override.md │ │ ├── packageDocumentation.md │ │ ├── param.md │ │ ├── primaryExport.md │ │ ├── private.md │ │ ├── privateRemarks.md │ │ ├── property.md │ │ ├── protected.md │ │ ├── public.md │ │ ├── readonly.md │ │ ├── remarks.md │ │ ├── returns.md │ │ ├── sealed.md │ │ ├── see.md │ │ ├── since.md │ │ ├── sortStrategy.md │ │ ├── summary.md │ │ ├── template.md │ │ ├── throws.md │ │ ├── typeParam.md │ │ ├── typescript.md │ │ ├── useDeclaredType.md │ │ └── virtual.md │ ├── tags.md │ ├── themes.md │ ├── typedoc-plugin-redirect.js │ └── typedoc.config.jsonc ├── src/ │ ├── browser-utils.ts │ ├── index.ts │ ├── lib/ │ │ ├── application-events.ts │ │ ├── application.ts │ │ ├── cli.ts │ │ ├── converter/ │ │ │ ├── comments/ │ │ │ │ ├── blockLexer.ts │ │ │ │ ├── declarationReferenceResolver.ts │ │ │ │ ├── discovery.ts │ │ │ │ ├── index.ts │ │ │ │ ├── lexer.ts │ │ │ │ ├── lineLexer.ts │ │ │ │ ├── linkResolver.ts │ │ │ │ ├── parser.ts │ │ │ │ ├── rawLexer.ts │ │ │ │ ├── tagName.ts │ │ │ │ └── textParser.ts │ │ │ ├── components.ts │ │ │ ├── context.ts │ │ │ ├── convert-expression.ts │ │ │ ├── converter-events.ts │ │ │ ├── converter.ts │ │ │ ├── factories/ │ │ │ │ ├── index-signature.ts │ │ │ │ ├── signature.ts │ │ │ │ └── symbol-id.ts │ │ │ ├── index.ts │ │ │ ├── jsdoc.ts │ │ │ ├── plugins/ │ │ │ │ ├── CategoryPlugin.ts │ │ │ │ ├── CommentPlugin.ts │ │ │ │ ├── GroupPlugin.ts │ │ │ │ ├── ImplementsPlugin.ts │ │ │ │ ├── IncludePlugin.ts │ │ │ │ ├── InheritDocPlugin.ts │ │ │ │ ├── LinkResolverPlugin.ts │ │ │ │ ├── MergeModuleWithPlugin.ts │ │ │ │ ├── PackagePlugin.ts │ │ │ │ ├── SourcePlugin.ts │ │ │ │ ├── TypePlugin.ts │ │ │ │ └── index.ts │ │ │ ├── symbols.ts │ │ │ ├── types.ts │ │ │ └── utils/ │ │ │ ├── nodes.ts │ │ │ ├── reflections.ts │ │ │ ├── repository.ts │ │ │ └── symbols.ts │ │ ├── debug/ │ │ │ ├── index.ts │ │ │ ├── reflectionLifetimes.ts │ │ │ └── rendererUrls.ts │ │ ├── internationalization/ │ │ │ ├── index.ts │ │ │ ├── internationalization.ts │ │ │ ├── locale-utils.cts │ │ │ ├── locales/ │ │ │ │ ├── de.cts │ │ │ │ ├── en.cts │ │ │ │ ├── ja.cts │ │ │ │ ├── ko.cts │ │ │ │ └── zh.cts │ │ │ └── translatable.ts │ │ ├── models/ │ │ │ ├── Comment.ts │ │ │ ├── ContainerReflection.ts │ │ │ ├── DeclarationReflection.ts │ │ │ ├── DocumentReflection.ts │ │ │ ├── FileRegistry.ts │ │ │ ├── ParameterReflection.ts │ │ │ ├── ProjectReflection.ts │ │ │ ├── ReferenceReflection.ts │ │ │ ├── Reflection.ts │ │ │ ├── ReflectionCategory.ts │ │ │ ├── ReflectionGroup.ts │ │ │ ├── ReflectionSymbolId.ts │ │ │ ├── SignatureReflection.ts │ │ │ ├── SourceReference.ts │ │ │ ├── TypeParameterReflection.ts │ │ │ ├── index.ts │ │ │ ├── kind.ts │ │ │ ├── types.ts │ │ │ ├── utils.ts │ │ │ └── variant.ts │ │ ├── output/ │ │ │ ├── components.ts │ │ │ ├── events.ts │ │ │ ├── formatter.tsx │ │ │ ├── index.ts │ │ │ ├── output.ts │ │ │ ├── plugins/ │ │ │ │ ├── AssetsPlugin.ts │ │ │ │ ├── HierarchyPlugin.ts │ │ │ │ ├── IconsPlugin.tsx │ │ │ │ ├── JavascriptIndexPlugin.ts │ │ │ │ ├── NavigationPlugin.ts │ │ │ │ ├── SitemapPlugin.ts │ │ │ │ └── index.ts │ │ │ ├── renderer.ts │ │ │ ├── router.ts │ │ │ ├── theme.ts │ │ │ └── themes/ │ │ │ ├── MarkedPlugin.tsx │ │ │ ├── default/ │ │ │ │ ├── DefaultTheme.tsx │ │ │ │ ├── DefaultThemeRenderContext.ts │ │ │ │ ├── Slugger.ts │ │ │ │ ├── assets/ │ │ │ │ │ ├── bootstrap.ts │ │ │ │ │ └── typedoc/ │ │ │ │ │ ├── Application.ts │ │ │ │ │ ├── Component.ts │ │ │ │ │ ├── EventTarget.ts │ │ │ │ │ ├── Hierarchy.ts │ │ │ │ │ ├── Navigation.ts │ │ │ │ │ ├── Theme.ts │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── Accordion.ts │ │ │ │ │ │ ├── Filter.ts │ │ │ │ │ │ ├── Search.ts │ │ │ │ │ │ └── Toggle.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── debounce.ts │ │ │ │ │ ├── decompress.ts │ │ │ │ │ ├── modal.ts │ │ │ │ │ ├── pointer.ts │ │ │ │ │ ├── storage.ts │ │ │ │ │ └── throttle.ts │ │ │ │ ├── layouts/ │ │ │ │ │ └── default.tsx │ │ │ │ ├── partials/ │ │ │ │ │ ├── anchor-icon.tsx │ │ │ │ │ ├── breadcrumb.tsx │ │ │ │ │ ├── comment.tsx │ │ │ │ │ ├── footer.tsx │ │ │ │ │ ├── header.tsx │ │ │ │ │ ├── hierarchy.tsx │ │ │ │ │ ├── icon.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── member.declaration.tsx │ │ │ │ │ ├── member.getterSetter.tsx │ │ │ │ │ ├── member.signature.body.tsx │ │ │ │ │ ├── member.signature.title.tsx │ │ │ │ │ ├── member.signatures.tsx │ │ │ │ │ ├── member.sources.tsx │ │ │ │ │ ├── member.tsx │ │ │ │ │ ├── members.tsx │ │ │ │ │ ├── moduleReflection.tsx │ │ │ │ │ ├── navigation.tsx │ │ │ │ │ ├── reflectionPreview.tsx │ │ │ │ │ ├── toolbar.tsx │ │ │ │ │ ├── type.tsx │ │ │ │ │ ├── typeAndParent.tsx │ │ │ │ │ ├── typeDetails.tsx │ │ │ │ │ └── typeParameters.tsx │ │ │ │ └── templates/ │ │ │ │ ├── document.tsx │ │ │ │ ├── hierarchy.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── reflection.tsx │ │ │ └── lib.tsx │ │ ├── serialization/ │ │ │ ├── components.ts │ │ │ ├── deserializer.ts │ │ │ ├── events.ts │ │ │ ├── index.ts │ │ │ ├── schema.ts │ │ │ └── serializer.ts │ │ ├── types/ │ │ │ ├── shiki/ │ │ │ │ └── shiki.d.ts │ │ │ └── ts-internal/ │ │ │ └── index.d.ts │ │ ├── utils/ │ │ │ ├── ValidatingFileRegistry.ts │ │ │ ├── component.ts │ │ │ ├── compress.ts │ │ │ ├── declaration-maps.ts │ │ │ ├── entry-point.ts │ │ │ ├── fs.ts │ │ │ ├── general.ts │ │ │ ├── highlighter.tsx │ │ │ ├── html-entities.ts │ │ │ ├── html.ts │ │ │ ├── index.ts │ │ │ ├── loggers.ts │ │ │ ├── options/ │ │ │ │ ├── declaration.ts │ │ │ │ ├── defaults.ts │ │ │ │ ├── help.ts │ │ │ │ ├── index.ts │ │ │ │ ├── options.ts │ │ │ │ ├── readers/ │ │ │ │ │ ├── arguments.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── package-json.ts │ │ │ │ │ ├── tsconfig.ts │ │ │ │ │ └── typedoc.ts │ │ │ │ ├── sources/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typedoc.ts │ │ │ │ └── tsdoc-defaults.ts │ │ │ ├── package-manifest.ts │ │ │ ├── paths.ts │ │ │ ├── perf.ts │ │ │ ├── plugins.ts │ │ │ ├── reflections.ts │ │ │ ├── sort.ts │ │ │ ├── tsconfig.ts │ │ │ └── tsutils.ts │ │ ├── utils-common/ │ │ │ ├── array.ts │ │ │ ├── declarationReference.ts │ │ │ ├── enum.ts │ │ │ ├── events.ts │ │ │ ├── general.ts │ │ │ ├── hooks.ts │ │ │ ├── i18n.ts │ │ │ ├── index.ts │ │ │ ├── jsx.elements.ts │ │ │ ├── jsx.ts │ │ │ ├── logger.ts │ │ │ ├── map.ts │ │ │ ├── minimalSourceFile.ts │ │ │ ├── path.ts │ │ │ ├── set.ts │ │ │ ├── string.ts │ │ │ └── validation.ts │ │ └── validation/ │ │ ├── documentation.ts │ │ ├── exports.ts │ │ ├── links.ts │ │ └── unusedMergeModuleWith.ts │ └── test/ │ ├── Repository.test.ts │ ├── TestLogger.ts │ ├── behavior.c2.test.ts │ ├── comments.test.ts │ ├── converter/ │ │ ├── alias/ │ │ │ ├── alias.ts │ │ │ └── specs.json │ │ ├── class/ │ │ │ ├── access.ts │ │ │ ├── class.ts │ │ │ ├── constructor-properties.ts │ │ │ ├── decorators.ts │ │ │ ├── events-overloads.ts │ │ │ ├── events.ts │ │ │ ├── generic-class.ts │ │ │ ├── getter-setter.ts │ │ │ ├── specs-with-lump-categories.json │ │ │ ├── specs.json │ │ │ └── type-operator.ts │ │ ├── comment/ │ │ │ ├── comment.ts │ │ │ ├── comment2.ts │ │ │ ├── comment3.ts │ │ │ ├── comment4.ts │ │ │ ├── document.md │ │ │ └── specs.json │ │ ├── declaration/ │ │ │ ├── declaration.d.ts │ │ │ ├── export-declaration.d.ts │ │ │ ├── external.d.ts │ │ │ └── specs.json │ │ ├── enum/ │ │ │ ├── enum.ts │ │ │ ├── specs.json │ │ │ └── specs.nodoc.json │ │ ├── exports/ │ │ │ ├── export-assignment.ts │ │ │ ├── export-default.ts │ │ │ ├── export-with-local.ts │ │ │ ├── export.ts │ │ │ ├── mod.ts │ │ │ ├── no-doc-members.ts │ │ │ ├── specs.json │ │ │ ├── specs.nodoc.json │ │ │ └── test.json │ │ ├── function/ │ │ │ ├── function.ts │ │ │ ├── generic-function.ts │ │ │ ├── implicit-types.ts │ │ │ └── specs.json │ │ ├── inherit-param-doc/ │ │ │ ├── inherit-param-doc.ts │ │ │ └── specs.json │ │ ├── inheritance/ │ │ │ ├── inherit-doc.ts │ │ │ ├── mergable-class.ts │ │ │ └── specs.json │ │ ├── interface/ │ │ │ ├── constructor-type.ts │ │ │ ├── index-signature.ts │ │ │ ├── interface-empty.ts │ │ │ ├── interface-implementation.ts │ │ │ ├── merging.ts │ │ │ └── specs.json │ │ ├── js/ │ │ │ ├── export-eq-type.js │ │ │ ├── index.js │ │ │ └── specs.json │ │ ├── mixin/ │ │ │ ├── mixin.ts │ │ │ └── specs.json │ │ ├── react/ │ │ │ ├── react.tsx │ │ │ └── specs.json │ │ ├── tsconfig.json │ │ ├── types/ │ │ │ ├── general.ts │ │ │ ├── index-signature.ts │ │ │ ├── mapped.ts │ │ │ ├── parens.ts │ │ │ ├── query.ts │ │ │ ├── specs.json │ │ │ ├── tuple.ts │ │ │ ├── type-operator.ts │ │ │ └── union-or-intersection.ts │ │ └── variables/ │ │ ├── array.ts │ │ ├── destructuring.ts │ │ ├── literal.ts │ │ ├── specs.json │ │ ├── specs.nodoc.json │ │ └── variable.ts │ ├── converter.test.ts │ ├── converter2/ │ │ ├── behavior/ │ │ │ ├── asConstEnum.ts │ │ │ ├── benchmark.ts │ │ │ ├── blockComment.ts │ │ │ ├── cascadedModifiers.ts │ │ │ ├── categoryInheritance.ts │ │ │ ├── classTag.ts │ │ │ ├── constNamespace.ts │ │ │ ├── constTypeParam.ts │ │ │ ├── ctorTypeParam.ts │ │ │ ├── declareGlobal.ts │ │ │ ├── defaultTag.ts │ │ │ ├── defaultValueTag.ts │ │ │ ├── destructuredParamRenames.ts │ │ │ ├── documents/ │ │ │ │ ├── doc.md │ │ │ │ ├── docs.ts │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── duplicateHeritageClauses.ts │ │ │ ├── exampleTags.ts │ │ │ ├── excludeCategories.ts │ │ │ ├── excludeNotDocumentedKinds.ts │ │ │ ├── exportComments.ts │ │ │ ├── externalSymbols.ts │ │ │ ├── groupInheritance.ts │ │ │ ├── groupTag.ts │ │ │ ├── hiddenAccessor.ts │ │ │ ├── hideconstructor.ts │ │ │ ├── hierarchy.ts │ │ │ ├── highlightedProperties.ts │ │ │ ├── includeTag/ │ │ │ │ ├── circularInclude.ts │ │ │ │ ├── duplicateRegion.ts │ │ │ │ ├── emptyRegion.ts │ │ │ │ ├── foldAndRegion.java │ │ │ │ ├── includeInDoc.md │ │ │ │ ├── includeTag.md │ │ │ │ ├── includeTag.ts │ │ │ │ ├── includeTagDedent.ts │ │ │ │ ├── includeTagMultipleRegions.ts │ │ │ │ ├── invalid.extension │ │ │ │ ├── invalidInclude.ts │ │ │ │ ├── invalidLineRanges.ts │ │ │ │ ├── missingRegion.ts │ │ │ │ └── unsupportedExtension.ts │ │ │ ├── inferredPredicates.ts │ │ │ ├── inheritDocBasic.ts │ │ │ ├── inheritDocJsdoc.ts │ │ │ ├── inheritDocRecursive.ts │ │ │ ├── inheritDocSignature.ts │ │ │ ├── inheritDocWarnings.ts │ │ │ ├── inlineTag.ts │ │ │ ├── instantiationExpressions.ts │ │ │ ├── lineComment.ts │ │ │ ├── linkResolution.ts │ │ │ ├── linkResolutionErrors.ts │ │ │ ├── linkResolutionTs.ts │ │ │ ├── mergedDeclarations.ts │ │ │ ├── namedTupleMembers.ts │ │ │ ├── noInfer.ts │ │ │ ├── overloadTags.js │ │ │ ├── overloads.ts │ │ │ ├── readonlyTag.ts │ │ │ ├── refusingToRecurse.ts │ │ │ ├── removeReflection.ts │ │ │ ├── resolutionMode.ts │ │ │ ├── router.ts │ │ │ ├── seeTags.ts │ │ │ ├── sortStrategyTag.ts │ │ │ ├── thisType.ts │ │ │ ├── typeAliasInterface.ts │ │ │ └── useDeclaredTypeTag.ts │ │ ├── issues/ │ │ │ ├── gh1124.d.ts │ │ │ ├── gh1150.ts │ │ │ ├── gh1164.ts │ │ │ ├── gh1215.d.ts │ │ │ ├── gh1255.js │ │ │ ├── gh1261.ts │ │ │ ├── gh1330.ts │ │ │ ├── gh1366.d.ts │ │ │ ├── gh1408.ts │ │ │ ├── gh1436.d.ts │ │ │ ├── gh1449.ts │ │ │ ├── gh1454.ts │ │ │ ├── gh1462.ts │ │ │ ├── gh1481.js │ │ │ ├── gh1483.js │ │ │ ├── gh1490.ts │ │ │ ├── gh1509.ts │ │ │ ├── gh1514.ts │ │ │ ├── gh1522.ts │ │ │ ├── gh1524.d.ts │ │ │ ├── gh1534.ts │ │ │ ├── gh1547.ts │ │ │ ├── gh1552.ts │ │ │ ├── gh1578/ │ │ │ │ ├── ignored.ts │ │ │ │ └── index.ts │ │ │ ├── gh1580.ts │ │ │ ├── gh1624.ts │ │ │ ├── gh1626.ts │ │ │ ├── gh1651.ts │ │ │ ├── gh1660.ts │ │ │ ├── gh1733.ts │ │ │ ├── gh1734.ts │ │ │ ├── gh1745.ts │ │ │ ├── gh1770.ts │ │ │ ├── gh1771.ts │ │ │ ├── gh1795.ts │ │ │ ├── gh1804.js │ │ │ ├── gh1875.ts │ │ │ ├── gh1876.ts │ │ │ ├── gh1880.d.ts │ │ │ ├── gh1896.js │ │ │ ├── gh1898.ts │ │ │ ├── gh1903.ts │ │ │ ├── gh1903b.ts │ │ │ ├── gh1907/ │ │ │ │ ├── index.ts │ │ │ │ └── package.json │ │ │ ├── gh1913.js │ │ │ ├── gh1927.ts │ │ │ ├── gh1942.ts │ │ │ ├── gh1961.ts │ │ │ ├── gh1962.ts │ │ │ ├── gh1963.ts │ │ │ ├── gh1967.ts │ │ │ ├── gh1968.ts │ │ │ ├── gh1973/ │ │ │ │ ├── a.ts │ │ │ │ ├── b.ts │ │ │ │ └── index.ts │ │ │ ├── gh1980.ts │ │ │ ├── gh1986.ts │ │ │ ├── gh1994.ts │ │ │ ├── gh1996.ts │ │ │ ├── gh2008.ts │ │ │ ├── gh2011.ts │ │ │ ├── gh2012.ts │ │ │ ├── gh2019.ts │ │ │ ├── gh2020.js │ │ │ ├── gh2031.ts │ │ │ ├── gh2033.ts │ │ │ ├── gh2036.ts │ │ │ ├── gh2042.ts │ │ │ ├── gh2044/ │ │ │ │ ├── index.js │ │ │ │ └── other.js │ │ │ ├── gh2064.ts │ │ │ ├── gh2079.ts │ │ │ ├── gh2087.ts │ │ │ ├── gh2106.ts │ │ │ ├── gh2135.ts │ │ │ ├── gh2150/ │ │ │ │ ├── index.ts │ │ │ │ └── int.ts │ │ │ ├── gh2156.ts │ │ │ ├── gh2165.ts │ │ │ ├── gh2175.ts │ │ │ ├── gh2200.ts │ │ │ ├── gh2207/ │ │ │ │ ├── index.ts │ │ │ │ └── mod.ts │ │ │ ├── gh2220.ts │ │ │ ├── gh2222.ts │ │ │ ├── gh2233.ts │ │ │ ├── gh2234.ts │ │ │ ├── gh2270.ts │ │ │ ├── gh2290.ts │ │ │ ├── gh2291.ts │ │ │ ├── gh2296.ts │ │ │ ├── gh2307.ts │ │ │ ├── gh2320.ts │ │ │ ├── gh2336.ts │ │ │ ├── gh2360.ts │ │ │ ├── gh2364.ts │ │ │ ├── gh2372.ts │ │ │ ├── gh2384.js │ │ │ ├── gh2389.js │ │ │ ├── gh2401.d.ts │ │ │ ├── gh2414.ts │ │ │ ├── gh2430.js │ │ │ ├── gh2436.ts │ │ │ ├── gh2437.ts │ │ │ ├── gh2438.d.ts │ │ │ ├── gh2444.ts │ │ │ ├── gh2451.ts │ │ │ ├── gh2466.ts │ │ │ ├── gh2476.ts │ │ │ ├── gh2478.ts │ │ │ ├── gh2495.ts │ │ │ ├── gh2496.ts │ │ │ ├── gh2502.ts │ │ │ ├── gh2507.ts │ │ │ ├── gh2508.ts │ │ │ ├── gh2509.ts │ │ │ ├── gh2521.d.ts │ │ │ ├── gh2524.ts │ │ │ ├── gh2545.ts │ │ │ ├── gh2552.js │ │ │ ├── gh2553.ts │ │ │ ├── gh2555.ts │ │ │ ├── gh2574/ │ │ │ │ ├── default.ts │ │ │ │ ├── index.ts │ │ │ │ ├── notDefault.ts │ │ │ │ └── reexported.ts │ │ │ ├── gh2582.ts │ │ │ ├── gh2585.ts │ │ │ ├── gh2587.ts │ │ │ ├── gh2603.ts │ │ │ ├── gh2611.d.ts │ │ │ ├── gh2614.ts │ │ │ ├── gh2631/ │ │ │ │ ├── crlf.md │ │ │ │ └── index.ts │ │ │ ├── gh2634.ts │ │ │ ├── gh2636.ts │ │ │ ├── gh2638/ │ │ │ │ ├── empty.md │ │ │ │ └── index.ts │ │ │ ├── gh2644.ts │ │ │ ├── gh2683.ts │ │ │ ├── gh2693.ts │ │ │ ├── gh2698.ts │ │ │ ├── gh2700.ts │ │ │ ├── gh2704.ts │ │ │ ├── gh2718.ts │ │ │ ├── gh2719.ts │ │ │ ├── gh2721.ts │ │ │ ├── gh2725.ts │ │ │ ├── gh2755.ts │ │ │ ├── gh2774/ │ │ │ │ ├── gh2774.ts │ │ │ │ ├── globalAugment.ts │ │ │ │ └── moduleAugment.ts │ │ │ ├── gh2778.ts │ │ │ ├── gh2779.ts │ │ │ ├── gh2792.ts │ │ │ ├── gh2800.ts │ │ │ ├── gh2802.ts │ │ │ ├── gh2811.ts │ │ │ ├── gh2817.ts │ │ │ ├── gh2820.ts │ │ │ ├── gh2823.ts │ │ │ ├── gh2842.ts │ │ │ ├── gh2844.ts │ │ │ ├── gh2856.ts │ │ │ ├── gh2876.ts │ │ │ ├── gh2881.ts │ │ │ ├── gh2909.js │ │ │ ├── gh2914.ts │ │ │ ├── gh2916.js │ │ │ ├── gh2917.ts │ │ │ ├── gh2920.ts │ │ │ ├── gh2929.js │ │ │ ├── gh2932.ts │ │ │ ├── gh2937/ │ │ │ │ ├── index.ts │ │ │ │ └── not-excluded.ts │ │ │ ├── gh2949.js │ │ │ ├── gh2954.ts │ │ │ ├── gh2962.ts │ │ │ ├── gh2964.d.ts │ │ │ ├── gh2970.ts │ │ │ ├── gh2978.ts │ │ │ ├── gh2994.d.ts │ │ │ ├── gh2999.ts │ │ │ ├── gh3003/ │ │ │ │ ├── enums.ts │ │ │ │ └── index.ts │ │ │ ├── gh3006/ │ │ │ │ ├── index.ts │ │ │ │ └── two words.md │ │ │ ├── gh3009.ts │ │ │ ├── gh3012.ts │ │ │ ├── gh3017.ts │ │ │ ├── gh3019.ts │ │ │ ├── gh3020.ts │ │ │ ├── gh3024.ts │ │ │ ├── gh3026.js │ │ │ ├── gh3031.js │ │ │ ├── gh3050.js │ │ │ ├── gh3064.ts │ │ │ ├── gh3070.ts │ │ │ ├── gh3071.ts │ │ │ ├── gh567.ts │ │ │ ├── gh671.js │ │ │ ├── gh869.ts │ │ │ └── gh941.ts │ │ ├── package.json │ │ ├── renderer/ │ │ │ ├── doc.md │ │ │ ├── expandType.ts │ │ │ ├── gh2982.ts │ │ │ ├── gh2995.ts │ │ │ ├── gh3007.ts │ │ │ ├── gh3014.ts │ │ │ ├── gh3052.ts │ │ │ ├── index.ts │ │ │ └── renderer-readme.md │ │ ├── tsconfig.json │ │ ├── typedoc.json │ │ └── validation/ │ │ ├── callbackParameters.ts │ │ ├── class.ts │ │ ├── externalType.ts │ │ ├── function.ts │ │ ├── getSignature.ts │ │ ├── implemented.ts │ │ ├── indexSignature.ts │ │ ├── intentionallyNotDocumented.ts │ │ ├── interface.ts │ │ ├── namespace.ts │ │ ├── object.ts │ │ ├── parameter.ts │ │ ├── return.ts │ │ ├── setSignature.ts │ │ ├── typeParameter.ts │ │ ├── unusedMergeModuleWith.ts │ │ └── variable.ts │ ├── declarationReference.test.ts │ ├── internationalization.test.ts │ ├── issues.c2.test.ts │ ├── merge.test.ts │ ├── models/ │ │ ├── comment.test.ts │ │ ├── kind.test.ts │ │ ├── reflections.test.ts │ │ └── types.test.ts │ ├── module/ │ │ ├── a.ts │ │ └── b.ts │ ├── output/ │ │ ├── Slugger.test.ts │ │ ├── formatter.test.ts │ │ ├── lib.test.tsx │ │ ├── output.test.ts │ │ └── router.test.ts │ ├── packages.test.ts │ ├── plugins/ │ │ ├── absolute.ts │ │ └── relative.ts │ ├── programs.ts │ ├── project.test.ts │ ├── renderer/ │ │ ├── DefaultTheme.test.ts │ │ ├── specs/ │ │ │ ├── classes/ │ │ │ │ ├── BaseClass.json │ │ │ │ ├── GH3007.DOMBase.json │ │ │ │ ├── GH3007.DOMClass.json │ │ │ │ ├── GH3014.json │ │ │ │ ├── GH3052.CustomPromise.json │ │ │ │ ├── GH3052.PromiseReference.json │ │ │ │ ├── GenericClass.json │ │ │ │ ├── ModifiersClass.json │ │ │ │ └── RenderClass.json │ │ │ ├── documents/ │ │ │ │ └── doc.json │ │ │ ├── enums/ │ │ │ │ └── Enumeration.json │ │ │ ├── functions/ │ │ │ │ └── box.json │ │ │ ├── hierarchy.json │ │ │ ├── index.json │ │ │ ├── interfaces/ │ │ │ │ ├── BaseInterface.json │ │ │ │ ├── DisabledGroups.json │ │ │ │ ├── ExpandType.ExpandedByDefault.json │ │ │ │ ├── GH2982.TMXDataNode.json │ │ │ │ ├── GH3007.DOMIterable.json │ │ │ │ ├── NoneCategory.json │ │ │ │ ├── NoneGroup.json │ │ │ │ └── gh2995.json │ │ │ ├── modules/ │ │ │ │ ├── ExpandType.NestedBehavior1.json │ │ │ │ ├── ExpandType.json │ │ │ │ ├── GH2982.json │ │ │ │ ├── GH3007.json │ │ │ │ └── GH3052.json │ │ │ ├── modules.json │ │ │ └── types/ │ │ │ ├── ExpandType.AExpanded.json │ │ │ ├── ExpandType.BExpanded.json │ │ │ ├── ExpandType.Expandable.json │ │ │ ├── ExpandType.Expandable2.json │ │ │ ├── ExpandType.NestedBehavior1.AExpanded.json │ │ │ ├── ExpandType.NestedBehavior1.AllExpanded.json │ │ │ ├── GH2982.TMXNode.json │ │ │ ├── Nested.json │ │ │ └── UnionComments.json │ │ └── testRendererUtils.ts │ ├── slow/ │ │ ├── README.md │ │ ├── entry-point.test.ts │ │ └── internationalization-usage.test.ts │ ├── utils/ │ │ ├── fs.test.ts │ │ ├── general.test.ts │ │ ├── html.test.ts │ │ ├── languageAliases.test.ts │ │ ├── minimalSourceFile.test.ts │ │ ├── options/ │ │ │ ├── declaration.test.ts │ │ │ ├── default-options.test.ts │ │ │ ├── help.test.ts │ │ │ ├── options.test.ts │ │ │ ├── readers/ │ │ │ │ ├── arguments.test.ts │ │ │ │ ├── package-json.test.ts │ │ │ │ ├── tsconfig.test.ts │ │ │ │ └── typedoc.test.ts │ │ │ └── tsdoc-defaults.test.ts │ │ ├── paths.test.ts │ │ ├── plugins.test.ts │ │ └── sort.test.ts │ ├── utils-common/ │ │ ├── array.test.ts │ │ ├── enum.test.ts │ │ ├── events.test.ts │ │ ├── hooks.test.ts │ │ ├── jsx.test.tsx │ │ ├── map.test.ts │ │ ├── path.test.ts │ │ └── validation.test.ts │ ├── utils.ts │ └── validation.test.ts ├── static/ │ └── style.css ├── tsconfig.json └── tsdoc.json ================================================ FILE CONTENTS ================================================ ================================================ FILE: .config/mocha.fast.json ================================================ { "$schema": "https://json.schemastore.org/mocharc.json", "exclude": ["src/test/packages/**", "src/test/slow/**"], "extension": ["ts", "cts", "mts", "tsx"], "spec": ["src/test/**/*.test.ts", "src/test/**/*.test.tsx"], "timeout": 5000, "watch-files": ["src/**/*.ts", "src/**/*.tsx"], "node-option": ["import=tsx", "conditions=typedoc-ts"] } ================================================ FILE: .config/mocha.full.json ================================================ { "$schema": "https://json.schemastore.org/mocharc.json", "timeout": 0, "spec": ["src/test/**/*.test.ts", "src/test/**/*.test.tsx"], "exclude": ["src/test/packages/**"], "node-option": ["import=tsx", "conditions=typedoc-ts"] } ================================================ FILE: .config/mocha.test-explorer.json ================================================ { "$schema": "https://json.schemastore.org/mocharc.json", "extension": ["ts"], "ignore": [], "package": "./package.json", "node-option": ["import=tsx", "conditions=typedoc-ts"], "slow": 500, "spec": ["src/**/*.test.ts", "src/**/*.test.tsx"], "timeout": 0, "watch-files": ["src/**/*.ts", "src/**/*.tsx"] } ================================================ FILE: .config/regconfig.json ================================================ { "core": { "workingDir": "dist/tmp/.reg", "actualDir": "dist/tmp/__screenshots__", "thresholdRate": 0.001, "addIgnore": true, "ximgdiff": { "invocationType": "client" } } } ================================================ FILE: .config/typedoc.json ================================================ { "$schema": "https://typedoc.org/schema.json", "intentionallyNotExported": [ "SORT_STRATEGIES", "_ModelToObject", "EventHooksMomento", "MarkedPlugin", "MeaningKeywords" ], "sort": [ "kind", "instance-first", "required-first", "alphabetical-ignoring-documents" ], "name": "TypeDoc API", // Don't document the debug entry point "entryPoints": ["../src/index.ts"], "outputs": [ { "name": "html", "path": "../docs" }, { "name": "json", "path": "../docs/docs.json" } ], "excludeExternals": true, "externalPattern": ["**/node_modules/**", "../src/lib/types/**"], "excludeInternal": false, "excludePrivate": true, // "excludeReferences": true, "groupReferencesByType": true, "jsDocCompatibility": false, "treatWarningsAsErrors": false, "categorizeByGroup": false, "categoryOrder": ["Reflections", "Types", "Comments", "*"], "groupOrder": ["Common", "Namespaces", "*"], "hostedBaseUrl": "https://typedoc.org/example/", "navigationLinks": { "Docs": "https://typedoc.org", "Example": "https://typedoc.org/example/index.html", "GitHub": "https://github.com/TypeStrong/typedoc" }, "validation": { "notExported": true, "invalidLink": true, "notDocumented": false }, "visibilityFilters": { "protected": false, "private": false, "inherited": true, "external": false, "@internal": false }, "searchInComments": true, "searchInDocuments": true, "searchGroupBoosts": { "Classes": 5.0, "Interfaces": 2.0, "Enumerations": 2.0, "Type Aliases": 2.0 }, "navigation": { "includeCategories": true, "includeGroups": false, "excludeReferences": true }, "includeVersion": true, "logLevel": "Verbose", "externalSymbolLinkMappings": { "@types/markdown-it": { "MarkdownIt": "https://markdown-it.github.io/markdown-it/#MarkdownIt" } }, // Saves a couple seconds when generating docs "skipErrorChecking": true } ================================================ FILE: .editorconfig ================================================ # https://editorconfig.org root = true [*] charset = utf-8 indent_style = space indent_size = 4 end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true [package.json] indent_size = 2 [src/test/converter2/issues/gh2631/crlf.md] end_of_line = crlf ================================================ FILE: .gitattributes ================================================ # Disable core.autocrlf's line ending conversion behavior to prevent test failures on Windows * text=auto eol=lf src/test/converter2/issues/gh2631/crlf.md text=auto eol=crlf *.png binary *.psd binary ================================================ FILE: .github/CODE_OF_CONDUCT.md ================================================ # Contributor Covenant Code of Conduct ## Our Pledge We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. ## Our Standards Examples of behavior that contributes to a positive environment for our community include: - Demonstrating empathy and kindness toward other people - Being respectful of differing opinions, viewpoints, and experiences - Giving and gracefully accepting constructive feedback - Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience - Focusing on what is best not just for us as individuals, but for the overall community Examples of unacceptable behavior include: - The use of sexualized language or imagery, and sexual attention or advances of any kind - Trolling, insulting or derogatory comments, and personal or political attacks - Public or private harassment - Publishing others' private information, such as a physical or email address, without their explicit permission - Other conduct which could reasonably be considered inappropriate in a professional setting ## Enforcement Responsibilities Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate. ## Scope This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at typedoc@gerritbirkeland.com. All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident. ## Enforcement Guidelines Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct: ### 1. Correction **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. **Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested. ### 2. Warning **Community Impact**: A violation through a single incident or series of actions. **Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban. ### 3. Temporary Ban **Community Impact**: A serious violation of community standards, including sustained inappropriate behavior. **Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. ### 4. Permanent Ban **Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. **Consequence**: A permanent ban from any sort of public interaction within the community. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, available at [https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0]. Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][mozilla coc]. For answers to common questions about this code of conduct, see the FAQ at [https://www.contributor-covenant.org/faq][faq]. Translations are available at [https://www.contributor-covenant.org/translations][translations]. [homepage]: https://www.contributor-covenant.org [v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html [mozilla coc]: https://github.com/mozilla/diversity [faq]: https://www.contributor-covenant.org/faq [translations]: https://www.contributor-covenant.org/translations ================================================ FILE: .github/CONTRIBUTING.md ================================================ # Contributing to TypeDoc Thanks for taking the time to contribute! TypeDoc is a volunteer-run project and we couldn't do it without your help. This document includes a set of guidelines for contributing to TypeDoc. These are guidelines, not rules. If something seems off, please feel free to propose changes to this document in a pull request. ## Table of Contents - [Contributing to TypeDoc](#contributing-to-typedoc) - [Table of Contents](#table-of-contents) - [How Can I Contribute?](#how-can-i-contribute) - [Bug Reports](#bug-reports) - [Suggestions](#suggestions) - [Documentation](#documentation) - [Code](#code) - [Setup - Git, GitHub, and Node](#setup---git-github-and-node) - [Installation](#installation) - [Linting, Building, and Testing](#linting-building-and-testing) - [Linting](#linting) - [Building](#building) - [Testing](#testing) - [Pull Requests](#pull-requests) - [Updating Your Branch](#updating-your-branch) ## How Can I Contribute? ### Bug Reports This section guides you through submitting a bug report for TypeDoc. Following these guidelines helps others understand your report and resolve the issue. Before creating a bug report please check [this list][bugs] to see if it has already been reported. If the issue is closed, please open a new issue and link it to the original issue. When creating a bug report, explain the problem and include as much additional information as necessary to help maintainers to reproduce it. Ideally, provide an example project which highlights the problem. - **Use a clear and descriptive title** for the issue to identify the problem - **Describe your project setup**. The easier it is for maintainers to reproduce your problem, the more likely it is to be quickly fixed. - **Explain what you expected to see instead and why** ### Suggestions This section guides you through submitting an enhancement suggestion for Typedoc. Before creating a feature request, please check [this list][suggestions] to see if it has already been requested. When creating an enhancement request, explain your use case and ultimate goal. This will make it possible for contributors to suggest existing alternatives which may already meet your requirements. - **Use a clear and descriptive title** for the issue to identify the suggestion. - **Provide an example where this enhancement would improve TypeDoc** - **If possible, list another documentation generator where this feature exists** ### Documentation TypeDoc is documented in 4 primary areas. - This repo's [README.md](https://github.com/TypeStrong/typedoc/blob/master/README.md) - The website guides hosted at [TypeStrong/typedoc-site](https://github.com/TypeStrong/typedoc-site/) - Doc comments of source files which are rendered in the [api docs](https://typedoc.org/api/) - The [option descriptions](https://github.com/TypeStrong/typedoc/blob/ce0654295698e2bb2badf5f93d388bd977da3c46/src/lib/application.ts#L66) used by the `--help` command If you would like to improve the documentation in any of these areas, please open an issue if there isn't one already to discuss what you would like to improve. Then submit a [Pull Request](#pull-requests) to this repo, (or to [TypeStrong/typedoc-site](https://github.com/TypeStrong/typedoc-site/) in the case of guides). ### Code Unsure of where to begin contributing to TypeDoc? You can start by looking through the issues labeled [good-first-issue] and [help-wanted]. Issues labeled with [good-first-issue] should only require changing a few lines of code and a test or two. Issues labeled with [help-wanted] can be considerably more involved and may require changing multiple files. For instructions on setting up your environment, see the [setup](#setup---git-github-and-node) instructions in this document. Once set up, you may find the [development](https://typedoc.org/guides/development/) page useful for an overview of TypeDoc's architecture. If you have started work on an issue and get stuck or want a second opinion on your implementation feel free to reach out through [Discord]. ## Setup - Git, GitHub, and Node If you don't already have [Git] installed, install it first. You will need it to contribute to TypeDoc. You will also need to install [Node] and pnpm. #### Installation 1. Fork the TypeDoc repository - https://github.com/TypeStrong/typedoc/fork 1. Open a terminal, or "Git Bash" on Windows. 1. Use `cd` to move to the directory that you want to work in. 1. Clone your repository, replace USER with your GitHub username: ```bash git clone https://github.com/USER/typedoc ``` 1. Add the TypeDoc repo as a remote repository ```bash git remote add typedoc https://github.com/TypeStrong/typedoc ``` 1. Install dependencies: ```bash pnpm install ``` 1. Build: ```bash pnpm build ``` 1. Open the typedoc folder in your favorite editor. If you don't have one, try [Visual Studio Code][vscode] ## Linting, Building, and Testing Once you have cloned TypeDoc, you can lint, build, and test the code from your terminal. #### Linting To lint the TypeDoc code, run `pnpm run lint`. This will start eslint and check all files for stylistic problems. You can also install an eslint plugin for your editor to show most style problems as you type. You can automatically fix some style problems by running `pnpx dprint fmt`. #### Building To compile the TypeDoc source, run `pnpm build`. This will start the TypeScript compiler and output the compiled JavaScript to the `dist` folder. #### Testing TypeDoc includes an extensive set of tests that describe its output. To validate any changes you have made run `pnpm test`. This will run a subset of TypeDoc's tests intended for quick development checks. Tests which take more than half a second are located in `src/test/slow`, and will only be run if you run `pnpm run test:full`. If you have changed the TypeDoc output, it will cause tests to fail. Once you have validated that the introduced changes were intended, run `pnpm run rebuild_specs` to update the spec files for the new output. Additional tests are contained within the `converter2` directory that look for specific issues with previous builds and may be more appropriate for adding a test for a bugfix. #### Visual Regression Testing There is also a script to visually compare the differences between changes. To set this up, build the code, then run `node scripts/visual_regression.js`. This will create a baseline which future runs will be compared against after making changes, compiling, and running the visual regression script again. ## Pull Requests Once you have finished working on an issue, you can submit a pull request to have your changes merged into the TypeDoc repository and included in the next release. Before submitting a pull request, make sure that there are no linting problems (`pnpm run lint`), all tests pass (`pnpm test`), and your branch is up to date. Its also a good idea to join the TypeScript [discord] and visit the `#typedoc` channel to discuss how best to implement changes. If your change is user facing, consider updating `CHANGELOG.md` to describe the change you have made. If you don't, the maintainer who merges your pull request will do it for you. Please do not change the project version number in a pull request unless submitting a patch to the `lts` branch. ## Updating Your Branch If the TypeDoc repository has changed since you originally forked it, you will need to update your repository with the latest changes before submitting a pull request. To pull the latest changes from the TypeDoc repo, run `git pull typedoc master`. [bugs]: https://github.com/TypeStrong/typedoc/labels/bug [suggestions]: https://github.com/TypeStrong/typedoc/labels/enhancement [good-first-issue]: https://github.com/TypeStrong/typedoc/labels/good%20first%20issue [help-wanted]: https://github.com/TypeStrong/typedoc/labels/help%20wanted [discord]: https://discord.com/invite/typescript [github]: https://github.com [git]: https://git-scm.com [node]: https://nodejs.org/en/ [vscode]: https://code.visualstudio.com/ ================================================ FILE: .github/FUNDING.yml ================================================ github: gerrit0 ================================================ FILE: .github/ISSUE_TEMPLATE/bug_report.md ================================================ --- name: Bug Report about: Report a bug in TypeDoc type: Bug --- ## Search terms ## Expected Behavior ## Actual Behavior ## Steps to reproduce the bug ## Environment - TypeDoc version: - TypeScript version: - Node.js version: - OS: ================================================ FILE: .github/ISSUE_TEMPLATE/config.yml ================================================ contact_links: - name: Discussions url: https://github.com/TypeStrong/typedoc/discussions about: Please ask questions here. ================================================ FILE: .github/ISSUE_TEMPLATE/feature_request.md ================================================ --- name: Feature Request about: Suggest improvements or new features type: Feature --- ## Search Terms ## Problem ## Suggested Solution ================================================ FILE: .github/SECURITY.md ================================================ # Security Policy ## Supported Versions The TypeDoc team supports the latest minor version. For one minor version prior to the latest, pull requests providing patches to fix security vulnerabilities will be accepted. Support for the previous minor version relies completely on community pull requests. See https://typedoc.org/documents/Overview.html for the current status. ## Patching LTS Versions If you depend on the prior minor version of TypeDoc and want to submit a fix, submit a pull request to the `lts` branch. When merged, a new version will be automatically published with your patch. Be sure to include an update to the version field in `package.json`. Note: Only pull requests which fix security vulnerabilities will be accepted. Additional features and bug fixes are out of scope for old versions. ================================================ FILE: .github/workflows/build-site.yml ================================================ name: Build Site on: push: pull_request: schedule: - cron: "0 5 * * *" jobs: build: runs-on: ubuntu-latest name: Build Site steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Node uses: actions/setup-node@v4 with: node-version: 20 - name: Set up pnpm run: npm i -g pnpm@10 - name: Install run: pnpm install - name: Build run: pnpm run build - name: Build Site run: ./scripts/build_site.sh - name: Upload static files as artifact id: deployment uses: actions/upload-pages-artifact@v3 with: path: docs-site/ deploy: needs: build if: github.ref == 'refs/heads/master' name: Deploy permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 ================================================ FILE: .github/workflows/ci.yml ================================================ name: CI on: [push, pull_request] jobs: build: runs-on: ubuntu-latest strategy: matrix: node: ["18", "20", "22.4.1", "23"] name: Node ${{ matrix.node }} steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Node uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - name: Set up pnpm run: npm i -g pnpm@10 - name: Install run: pnpm install - name: Build run: pnpm run build - name: Test run: | if node -e "process.exit(Number(+process.versions.node.slice(0, 2) < 23))"; then export NODE_OPTIONS="--no-experimental-strip-types" fi pnpm run test:full - name: Lint run: pnpm run lint - name: Circular dependency check uses: gerrit0/circular-dependency-check@v2.0.2 with: entry: | dist/index.js dist/lib/models/index.js dist/browser-utils.js build-release: runs-on: ubuntu-latest name: Node 22 Release steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Node uses: actions/setup-node@v4 with: node-version: 22.4.1 - name: Set up pnpm run: npm i -g pnpm@10 - name: Install run: pnpm install - name: Build run: | node scripts/set_strict.js false pnpm run build - name: Test run: pnpm run test:full - name: Lint run: pnpm run lint build-windows: runs-on: windows-latest name: Node 18 Windows steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Node uses: actions/setup-node@v4 with: node-version: 18 - name: Set up pnpm run: npm i -g pnpm@10 - name: Install run: pnpm install - name: Build run: pnpm run build - name: Test run: pnpm run test:full - name: Lint run: pnpm run lint ================================================ FILE: .github/workflows/publish-beta.yml ================================================ name: Publish Beta on: push: branches: - beta jobs: npm-publish: name: npm-publish runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - id: check uses: EndBug/version-check@v2.1.4 with: diff-search: true - name: Set up Node if: steps.check.outputs.changed == 'true' && contains(steps.check.outputs.version, 'beta') uses: actions/setup-node@v4 with: node-version: "18" - name: Setup pnpm if: steps.check.outputs.changed == 'true' && contains(steps.check.outputs.version, 'beta') run: npm i -g pnpm@10 - name: Install if: steps.check.outputs.changed == 'true' && contains(steps.check.outputs.version, 'beta') run: pnpm install - name: Test if: steps.check.outputs.changed == 'true' && contains(steps.check.outputs.version, 'beta') run: pnpm test - name: Publish if: steps.check.outputs.changed == 'true' && contains(steps.check.outputs.version, 'beta') # We need --no-git-checks because we swap a boolean to allow more lax types # in the published package. run: pnpm publish --tag beta --no-git-checks env: npm_config_//registry.npmjs.org/:_authToken: ${{ secrets.NPM_AUTH_TOKEN }} ================================================ FILE: .github/workflows/publish-lts.yml ================================================ name: Publish LTS on: push: branches: - lts jobs: npm-publish: name: npm-publish runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - id: check uses: EndBug/version-check@v2.1.4 with: diff-search: true - name: Set up Node if: steps.check.outputs.changed == 'true' uses: actions/setup-node@v4 with: node-version: "18" - name: Set up pnpm if: steps.check.outputs.changed == 'true' run: npm i -g pnpm@10 - name: Install if: steps.check.outputs.changed == 'true' run: pnpm install - name: Test if: steps.check.outputs.changed == 'true' run: pnpm test - name: Publish if: steps.check.outputs.changed == 'true' # We need --no-git-checks because we swap a boolean to allow more lax types # in the published package. run: pnpm publish --tag lts --no-git-checks env: npm_config_//registry.npmjs.org/:_authToken: ${{ secrets.NPM_AUTH_TOKEN }} ================================================ FILE: .github/workflows/publish.yml ================================================ name: Publish on: push: branches: - master permissions: id-token: write # Required for OIDC contents: write # Required for git tag jobs: npm-publish: name: npm-publish runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 0 - id: check uses: EndBug/version-check@v2.1.4 with: diff-search: true - name: Set up Node if: steps.check.outputs.changed == 'true' uses: actions/setup-node@v4 with: node-version: "24" - name: Set up pnpm if: steps.check.outputs.changed == 'true' run: npm i -g pnpm@10 - name: Install if: steps.check.outputs.changed == 'true' run: pnpm install - name: Test if: steps.check.outputs.changed == 'true' run: pnpm test - name: Publish if: steps.check.outputs.changed == 'true' # We need --no-git-checks because we swap a boolean to allow more lax types # in the published package and generate some files for publishing. run: pnpm publish --no-git-checks - name: Generate Release if: steps.check.outputs.changed == 'true' run: | git config user.email "typedoc@gerritbirkeland.com" git config user.name "TypeDoc Bot" node scripts/create_release.js env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ================================================ FILE: .gitignore ================================================ .DS_Store .idea .vs .tscache .baseDir.js .baseDir.ts *.swp yarn.lock .nyc_output yarn-error.log typedoc-config.schema.json /src/test/renderer/*/doc /src/test/renderer/testProject/json.json **/node_modules/ !src/test/converter2/behavior/node_modules/ !src/test/converter2/renderer/node_modules/ /coverage/ /dist/ /docs /docs2 /docs-* /td*.json typedoc*.tgz tmp /*.0x/ src/test/renderer/specs/assets/* src/test/renderer/specs/specs.json # Built theme JS static/main.js /example/docs/ ================================================ FILE: .npmrc ================================================ # If these were only for production, we'd care, but there's no # way to ask pnpm to only report production audit findings when doing # an install, so just turn it off. We can still check for findings # with pnpm audit --production. audit = false # While we're on the TS beta, need this flag. legacy-peer-deps = true # This breaks some of the scripts in the scripts directory update-notifier = false ================================================ FILE: .vscode/extensions.json ================================================ { "recommendations": [ "hbenl.vscode-test-explorer", "hbenl.vscode-mocha-test-adapter", "dprint.dprint" ] } ================================================ FILE: .vscode/launch.json ================================================ { // Use IntelliSense to learn about possible Node.js debug attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "args": [ "--import=tsx", "--timeout", "0", "--config", "${workspaceFolder}/.config/mocha.fast.json" ], "internalConsoleOptions": "openOnSessionStart", "name": "Debug Tests", "program": "${workspaceFolder}/node_modules/mocha/bin/mocha.js", "request": "launch", "skipFiles": ["/**"], "type": "node" }, { "name": "Attach", "port": 9229, "request": "attach", "internalConsoleOptions": "openOnSessionStart", "skipFiles": ["/**"], "type": "node", "sourceMaps": true } ] } ================================================ FILE: .vscode/settings.json ================================================ { "files.associations": { "tsdoc.json": "jsonc", // TSDoc allows comments. "typedoc.json": "jsonc" // TypeDoc uses the JSONC parser for its configuration files. }, "typescript.tsdk": "./node_modules/typescript/lib", "dprint.path": "./node_modules/dprint/dprint", // Automatically run the formatter when certain files are saved. "[javascript]": { "editor.defaultFormatter": "dprint.dprint", "editor.formatOnSave": true, "editor.tabSize": 4 }, "[typescript]": { "editor.defaultFormatter": "dprint.dprint", "editor.formatOnSave": true, "editor.tabSize": 4 }, "[typescriptreact]": { "editor.defaultFormatter": "dprint.dprint", "editor.formatOnSave": true, "editor.tabSize": 4 }, "[json]": { "editor.defaultFormatter": "dprint.dprint", "editor.formatOnSave": true, "editor.tabSize": 4 }, "[jsonc]": { "editor.defaultFormatter": "dprint.dprint", "editor.formatOnSave": true, "editor.tabSize": 4 }, "[css]": { "editor.defaultFormatter": "dprint.dprint", "editor.formatOnSave": true, "editor.tabSize": 4 }, "mochaExplorer.nodeArgv": ["--import=tsx", "--conditions=typedoc-ts"], "eslint.workingDirectories": [".", "./example"], "mochaExplorer.configFile": ".config/mocha.test-explorer.json", "cSpell.ignoreRegExpList": [ // Ignore usernames in the Thanks sections of the changelog "/^- +@[A-Z0-9_-]+/igm", // Ignore combined hashes in JSON output for rendering testing "/#[a-z0-9_]+\"/" ], "cSpell.words": [ "callouts", "cname", "Combinatorially", "deconfliction", "deserializers", "dprint", "frontmatter", "githubprivate", "hideconstructor", "linkcode", "linkify", "linkplain", "momento", "Msys", "nodoc", "shiki", "srcset", "tsbuildinfo", "tsdoc", "typedoc", "typeof", "typestrong", "uncategorized", "WCAG" ] } ================================================ FILE: .vscode/tasks.json ================================================ { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "build-tsc", "type": "npm", "script": "build:tsc", "problemMatcher": ["$tsc"], "detail": "Build TypeDoc w/ tsc", "presentation": { "group": "build", "panel": "dedicated" }, "group": { "kind": "build" } }, { "label": "build-themes", "type": "npm", "script": "build:themes", "problemMatcher": ["$esbuild"], "detail": "Build TypeDoc themes", "presentation": { "group": "build", "panel": "dedicated" }, "group": { "kind": "build" } }, { "label": "dev-build-tsc", "type": "shell", "command": "pnpm build:tsc --watch", "problemMatcher": ["$tsc-watch"], "detail": "Build TypeDoc w/ tsc in watch mode", "isBackground": true, "presentation": { "group": "dev", "panel": "dedicated" }, "group": { "kind": "build" } }, { "label": "dev-build-themes", "type": "shell", "command": "pnpm build:themes --watch", "problemMatcher": ["$esbuild-watch"], "detail": "Build TypeDoc themes in watch mode", "isBackground": true, "presentation": { "group": "dev", "panel": "dedicated" }, "group": { "kind": "build" } }, { "label": "dev", "dependsOn": ["dev-build-tsc", "dev-build-themes"], "detail": "Build TypeDoc in watch mode", "problemMatcher": [], "group": { "kind": "build" } }, { "label": "build", "dependsOn": ["build-tsc", "build-themes"], "detail": "Build TypeDoc", "problemMatcher": [], "group": { "kind": "build", "isDefault": true } } ] } ================================================ FILE: CHANGELOG.md ================================================ --- title: Changelog --- ## Unreleased ## v0.28.17 (2026-02-13) ### Bug Fixes - Improved handling of comments for type aliases which have been declaration merged with functions, #3064. - Fixed anchor link generation to members named `$`, #3065. - Corrected typing of the `plugin` option to permit functions, #3066. - Warnings about unused `@param` tags will now be properly suppressed when they come from declaration files and the suppressCommentWarningsInDeclarationFiles option is enabled, #3070. - Fixed conversion of types referencing type parameters on functions, #3071. ### Thanks! - @pjeby ## v0.28.16 (2026-01-12) ### Bug Fixes - Fixed an issue causing TypeDoc to fail to generate documentation when implementing interfaces, #3052. - Fixed an issue preventing automatic entry point discovery on Windows, #3057. - Improved vertical positioning of text icons, #3056. - TypeDoc no longer includes source location information for type literal reflections. This could sometimes cause TypeDoc to infer the wrong path when resolving base paths for display. - Adjusted markdown rendering to allow `markdownItLoader` to override more rendering #3055. ### Features - Added support for regions for `@include` in `.tsx`, `.cjs`, and `.mjs` file references #3048. - Comments for TS-in-JS `@typedef` tags may now specify modifier tags with the inline tag syntax `{@mod}`. This makes it possible to add modifier tags to these members, which previously was not possible as TypeScript's parsing stops for these members at the next non-braced tag, #2916 and #3050. - A `typedoc-config.schema.json` is now included in the root of the package with a JSON schema for TypeDoc's configuration file. The schema for the latest version is also published at https://typedoc.org/schema.json and will automatically be picked up when writing typedoc.json files if you are using VSCode, #3054. ### Thanks! - @a10nik - @kozi - @Lakuna ## v0.28.15 (2025-11-29) ### Features - The `gitRevision` option now accepts the special value `{branch}`, which indicates source links should use the current git branch for links, #3041. - Introduced `validation.invalidPath` for suppressing warnings caused by referencing relative paths which do not exist when building the documentation, #3033. - API: Introduced `Logger.validationWarning` for validation which occurs during conversion rather than during TypeDoc's normal validation step, #3033. ## v0.28.14 (2025-10-11) ### Features - Introduced the `preservedTypeAnnotationTags` option to specify tags whose type annotations should be copied to the output documentation, #3020. API: Introduced `typeAnnotation` on `CommentTag` - Added `excludePrivateClassFields` option to hide `#private` members while allowing `private` members, #3017. - Added support for TypeScript's `@this` tag for JS files which describe `this` parameters, #3026. - API: Re-introduced `relevanceBoost` on `DeclarationReflection` for plugin use, #3036. ### Bug Fixes - Fixed conversion of auto-accessor types on properties with the `accessor` keyword, #3019. - Improved handling of HTML tags within headers for anchor generation, #3023. - Improved support for detecting destructured parameters and renaming them to the name used in the doc comment, #3026. - Constructor type parameters will now inherit their class's type parameter descriptions if not otherwise specified, #3031. - Fixed compatibility with `@microsoft/tsdoc-config` version 0.18.0, #3035. - Custom theme icons will now be used in the "On This Page" sidebar, #3039. ### Thanks! - @iclanton - @jonchardy ## v0.28.13 (2025-09-14) ### Features - The `basePath` option now also affects relative link resolution, TypeDoc will also check for paths relative to the provided base path. If you instead want TypeDoc to only change the rendered base path for sources, use the `displayBasePath` option, #3009. ### Bug Fixes - Fixed bug introduced in 0.28.8 where TypeDoc could not render docs with some mixin classes, #3007. - `@inheritDoc` will now correctly overwrite `@remarks` and `@returns` blocks on the target comment, #3012. - The `externalSymbolLinkMappings` option now works properly on links pointing to inherited/overwritten signatures, #3014. ## v0.28.12 (2025-09-01) ### Bug Fixes - Variables marked with `@enum` now work for symbols imported from another module, #3003. - Improved magic introduced with #2999 to work with imported symbols, #3003. - Fixed relative link resolution to file names containing percent encoded URLs, #3006. - Linking to the project's README file with a relative link will now behave as expected, #3006. - Reduced unnecessary HTML element rendering in default theme. API: `Reflection.hasComment` and `Comment.hasVisibleComponent` now accepts an optional `notRenderedTags` parameter. ## v0.28.11 (2025-08-25) ### Features - Object properties declared with shorthand property assignment will now use the variable's comment if they do not have their own comment, #2999. ### Bug Fixes - Fixed link resolution not working correctly in first comment on the file in some cases, #2994. - Optional methods are now rendered with a trailing `?` in the reflection preview and signature, #2995. - The `compilerOptions` option now functions properly with non-boolean options, #3000. - Configuration errors within the `compilerOptions` option are now handled gracefully, #3000. - Fixed improper casing of "Type Declaration" header, #3002. ## v0.28.10 (2025-08-10) ### Bug Fixes - Fixed inconsistent anchors on module pages for re-exports, #2990. - Markdown references which appear to be footnotes will no longer be checked for links, #2991. ## v0.28.9 (2025-08-01) ### Features - Add support for TypeScript 5.9, #2989. ### Bug Fixes - Fixed bug introduced in 0.28.8 where TypeDoc could not render docs when members inherited from a complex type alias, #2982. - Fixed automatic discovery of entry points when not running in packages mode, #2988. - Fixed discovery of package.json file when running with entry points containing a glob, #2985. ## v0.28.8 (2025-07-28) ### Features - If using JS config files, the `plugin` function can now be given plugin functions to load. - Permit `-` within tag names to support `typescript-json-schema`'s `@TJS-type` tag, #2972. - Exposed `Context.createSymbolId` for use by plugins. ### Bug Fixes - Relative links in `` will now be discovered by TypeDoc, #2975. - Relative links in `` and `` elements will now be discovered by TypeDoc, #2975. - Improved inherited from/overwrites link discovery to point to parent properties in more cases, #2978 ### Thanks! - @jonathanhefner - @laymonage ## v0.28.7 (2025-06-30) ### Features - Introduced the `@sortStrategy` tag to override the `sort` option on a specific reflection, #2965. ### Bug Fixes - Classes and functions exported with `export { type X }` are no longer missing comments, #2970. - Setting `locale` to an unknown value will now cause TypeDoc to operate in English instead of a debug locale. - Array options will now report an error if set to a non-array/non-string value. ## v0.28.6 (2025-06-27) ### Features - TypeDoc now supports resolving relative paths in links to the package directory as belonging to the project, #2961. - Declarations without comments will now check for comments on their export specifier, #2964. ### Bug Fixes - Attempting to highlight a supported language which is not enabled is now a warning, not an error, #2956. - Improved compatibility with CommonMark's link parsing, #2959. - Classes, variables, and functions exported with `export { type X }` are now detected and converted as interfaces/type aliases, #2962. - Improved warning messaging for links to symbols which were resolved, but the symbols were not included in the documentation, #2967. - Fixed an issue preventing nested documents from being deserialized from TypeDoc's JSON output or used in packages mode, #2969. ### Thanks! - @yGuy ## v0.28.5 (2025-05-26) ### Bug Fixes - References to type aliases defined as mapped types will now correctly create a reference to the type alias, #2954. - `ignoredHighlightLanguages` can now be used to prevent warnings for codeblocks containing languages which are supported by Shiki but are not loaded, #2956. ## v0.28.4 (2025-05-04) ### Features - The navigation in the default theme will now attempt to break long names onto multiple lines, #2940. - Added German (de) localization, #2941. ### Bug Fixes - TypeDoc's default theme now uses the same chevron for all collapsible elements, #2924 The `chevronSmall` helper is now deprecated and will be removed with v0.29.0. - Classes/interfaces marked with `@hidden` will no longer appear in the "Hierarchy" section of the docs. - TypeDoc now handles wildcard JSDoc types, #2949. ### Thanks! - @blutorange - @bkeepers ## v0.28.3 (2025-04-20) ### Bug Fixes - `@inline` now functions when referencing tuple types, #2932. - `@link` links to the current page are now rendered, #2934. - `@includeCode` now supports regions in TypeScript files with `.mts` and `.cts` file extensions, #2935. - Aliased symbols (re-exports) are now resolved before checking if they are excluded/external, #2937. - Improved error reporting when paths including Windows separators are provided as globs, #2938. ## v0.28.2 (2025-04-07) ### Features - `@group none` and `@category none` will now render their children without a section heading in the default theme, #2922. - Added `@disableGroups` tag to completely disable the grouping mechanism for a given reflection, #2922. ### Bug Fixes - Variables using `@class` now correctly handle `@category`, #2914. - Variables using `@class` now include constructor parameters, #2914. - Variables using `@class` with a generic first constructor function now adopt that function's type parameters as the class type parameters, #2914. - When printing entry point globs which fail to match any paths, TypeDoc will no longer normalize the glob, #2918. - Inlining types can now handle more type variants, #2920. - Fixed behavior of `externalSymbolLinkMappings` option when URL is set to `#`, #2921. - Fixed broken links within module pages when structure-dir router was used, #2928. - Type parameters on JS classes defined with `@typedef` now correctly handle the constraint, #2929. - API: `toString` on types containing index signatures now behave correctly, #2917. - Added `@inlineType` to the list of tags excluded by default. ## v0.28.1 (2025-03-20) ### Features - The `TypeDocOptions` interface now marks options as optional so it no longer has to be wrapped in `Partial` for use in config files, #2901. - API: Expose control methods for deferred conversion for plugin use (typedoc-plugin-missing-exports) - API: Expose method to disable TypeDoc usage of `localStorage` without clearing it, #2908. ### Bug Fixes - `--watch` can now infer entry points from `package.json` as supported in non-watch mode, #2899. - `@include` with regions now works on files with CRLF line endings, #2902. - Generated page names now correctly handles UTF-8 characters requiring more than 16 bits #2905. - Fixed a crash when converting `module.exports = []`, #2909. - Fixed URL generation which introduced a superfluous `./` in relative links, #2910. ### Thanks! - @jsmith2-coveo - @romainmnr ## v0.28.0 (2025-03-15) ### Breaking Changes - TypeDoc now expects all input globs paths to be specified with `/` path separators, #2825. - TypeDoc's `--entryPointStrategy merge` mode now requires JSON from at least version 0.28.0. - Removed `jp` translations from `lang`, to migrate switch to `ja`. - File name references in `intentionallyNotExported` now use a package name/package relative path instead of an absolute path for matching. - The `source-order` sort ordering now considers package names / package relative paths instead of using the absolute paths to a file. - TypeDoc will only check for a project README file next to the discovered `package.json` file if `--readme` is not set this change improves handling of monorepo setups where some packages have readme files and others do not, #2875. - Function-like variable exports will now only be automatically converted as function types if they are initialized with a function expression. TypeDoc can be instructed to convert them as functions with the `@function` tag, #2881. - Object literal type alias types will now be converted in a way which causes them to be rendered more similarly to how interfaces are rendered, #2817. ### API Breaking Changes - `ProjectReflection.getReflectionFromSymbol` and `ProjectReflection.getSymbolFromReflection` have been moved to `Context` - `Path` and `PathArray` parameter types now always contain normalized paths. - Introduced a `Router` which is used for URL creation. `Reflection.url`, `Reflection.anchor`, and `Reflection.hasOwnDocument` have been removed. - `Deserializer.reviveProject(s)` no longer accepts an option to add project documents. - `Deserializer.reviveProjects` now requires an `alwaysCreateEntryPointModule` option. - `Comment.serializeDisplayParts` no longer requires a serializer argument. - `ReflectionSymbolId.fileName` is now optional, TypeDoc now stores a combination of a package name and package relative path instead. The `fileName` property will be present when initially created, but is not serialized. - Removed `DeclarationReflection.relevanceBoost` attribute which was added for plugins, but never used. - `i18n` proxy is no longer passed to many functions, instead, reference `i18n` exported from the module directly. - `ReflectionKind.singularString` and `ReflectionKind.pluralString` now returns translated strings. The methods on `Internationalization` to do this previously have been removed. - The HTML output structure for the search box has changed to support the new modal. - `DefaultThemeRenderContext`'s `typeDeclaration` and `typeDetailsIfUseful` methods now require both a reflection and a type in order to support `@expandType` ### Features - Add support for TypeScript 5.8.x - The search modal in the HTML output has been rewritten to provide better mobile support - Added a `--router` option which can be used to modify TypeDoc's output folder structure. This can be extended with plugins, #2111. - Introduced the `@primaryExport` modifier tag to provide more fine grained control over export conversion order, #2856 - Introduced `packagesRequiringDocumentation` option for `validation.notDocumented`, TypeDoc will expect comments to be present for symbols in the specified packages. - TypeDoc now exports a `typedoc/browser` entrypoint for parsing and using serialized JSON files, #2528. - Type `packageOptions` as `Partial`, #2878. - TypeDoc will now warn if an option which should only be set at the root level is set in `packageOptions`, #2878. - Introduced `@function` tag to force TypeDoc to convert variable declarations with a type annotation as functions, #2881. - Exposed a `TypeDoc` global object in the HTML theme which can be used to prevent TypeDoc from using `localStorage`, #2872. - Introduced `@preventInline` and `@inlineType` tags for further control extending the `@inline` tag, #2862. - Introduced `@preventExpand` and `@expandType` tags for further control extending the `@expand` tag, #2862. - API: Introduced `DefaultThemeRenderContext.reflectionIcon` for more granular control over displayed reflection icons. ### Bug Fixes - TypeDoc will now only create references for symbols re-exported from modules. - Variable-functions will now prefer placing the comment on the signature if there is only one signature present, #2824. - User filter settings will no longer sometimes cause the search to have fewer visible results than expected. - Fixed handling of expando functions which were also merged with a namespace, #2876. - Fixed rendering of function types within arrays and union types, #2892. - Fixed an issue where if the theme JS didn't load, the page wouldn't be shown, #2894. ### Thanks! - @crimx - @jsmith2-coveo - @phoneticallySAARTHaK - @XeroAlpha ## v0.27.9 (2025-02-25) This will be the last v0.27.x release, see #2868 for discussion on the 0.28 beta. ### Features - Added support for TypeScript 5.8 ## v0.27.8 (2025-02-21) ### Features - The `visibilityFilter` option now supports individual signatures, #2846. - The `favicon` option may now be given a link starting with `https?://` instead of a path, #2851. - TypeDoc now supports specifying `#` as the link in `externalSymbolLinkMappings` to indicate the type should not be linked to, #2853. ### Bug Fixes - Fixed an issue where unrecognized languages would incorrectly be listed in the list of languages with translations, #2852. - Unresolved external type references will no longer incorrectly linked to `undefined`, #2854. ### Thanks! - @pjeby - @XeroAlpha ## v0.27.7 (2025-02-09) ### Features - `@includeCode` and `@inline` can now inject parts of files using region names or line numbers, #2816. - Introduced `ja` translation options, deprecated `jp` in favor of `ja`, #2843. - Improved TypeDoc's `--watch` option to support watching files not caught by TypeScript's watch mode, #2675. - The `@inline` tag now works in more places for generic types. - Visibility filters now consider individual signatures, #2846. ### Bug Fixes - Fixed an issue where TypeDoc would incorrectly ignore type arguments in references, #2823. - Improved narrator support for labeling icons, #2832. - Fixed an issue with `@class` incorrectly handling mapped types, #2842. - TypeDoc will now consider symbols to be external only if all of their declarations are external so that declaration merged members with global symbols can be documented, #2844. - Fixed an issue where TypeDoc would constantly rebuild, #2844. - Fixed an issue where the dropdown arrow in the index group would not respect the state of the dropdown, #2845. ### Thanks! - @pjeby - @shawninder - @tats-u - @XeroAlpha ## v0.27.6 (2024-12-26) ### Features - Added `ignoredHighlightLanguages` option to specify languages which will be allowed in code blocks but not highlighted, #2819. ### Bug Fixes - `@include` and `@includeCode` now work in the readme file, #2814. - TypeDoc will now avoid making references to references, #2811. - Fixed output specific option specification, #2818. - Improved type reference conversion to avoid including defaulted type arguments, #2820. - Fixed parsing of declaration references which include a module and a local reference, #2810. - Improved link resolution logic to prioritize type alias properties with the same symbol over type literal properties within function parameters. ## v0.27.5 (2024-12-14) ### Bug Fixes - Possibly Breaking: TypeDoc will no longer render anchors within the page for deeply nested properties. This only affects links to properties of properties of types, which did not have a clickable link exposed so are unlikely to have been linked to. Furthermore, these links were not always created by TypeDoc, only being created if all parent properties contained comments, #2808. - TypeDoc will now warn if a property which does not have a URL within the rendered document and the parent property/page will be linked to instead, #2808. These warnings can be disabled with the `validation.rewrittenLink` option. - Fix restoration of groups/categories including documents, #2801. - Fixed missed relative paths within markdown link references in documents. - Improved handling of incomplete inline code blocks within markdown. - Direct `https://` links under the `hostedBaseUrl` option's URL will no longer be treated as external, #2809. ### Thanks! - @SacDeNoeuds ## v0.27.4 (2024-12-09) ### Features - API: Introduced new `Converter.EVENT_CREATE_PROJECT` event which fires when a project is created by the converter, #2800. ### Bug Fixes - Switch from gzip to deflate for compressing assets to make output consistent across different operating systems, #2796. - `@include` and `@includeCode` now work for comments on the entry point for projects with a single entry point, #2800. - Cascaded modifier tags will no longer be copied into type literals, #2802. - `@summary` now works to describe functions within modules, #2803. - Corrected navigation showing module link as current when not on module page, #2805. ## v0.27.3 (2024-12-04) ### Features - Added support for PNG favicons, #2790. - Improved support for hosting TypeDoc with strict Content Security Policy rules, #2794. ### Bug Fixes - Add special handling for import types with type errors discarded with ts-expect-error, #2792. - Fixed low contrast in default colors for properties/accessors in light mode, #2795. - The `highlightLanguages` option now permits Shiki aliases to be specified rather than just the language ID, #2798. ### Thanks! - @mikalai-snap - @mistic100 ## v0.27.2 (2024-11-29) ### Bug Fixes - Fix crash with TypeScript 5.5.x, #2789. ## v0.27.1 (2024-11-28) ### Bug Fixes - Include classes which inherit from another package in class hierarchy in packages mode, #2467. - Fixed handling of `@categoryDescription` and `@groupDescription` on module pages, #2787. - Fixed automatic discovery of entry points in packages mode. - Reverted accidental style change for hierarchy page introduced in 0.27.0 - The hierarchy Expand/Collapse link will now only appear if the hierarchies are different. ## v0.27.0 (2024-11-27) ### Breaking Changes - Convert to ESM to enable easier use of ESM-only dependencies. - Drop support for TypeScript <5.0, no longer supported by DefinitelyTyped - Relaxed requirements for file names and generated url fragments. This may result in a different file name structure, #2714. - Anchors to document headings and reflections within a HTML generated pages have changed. They can be partially restored to the previous format by setting `--sluggerConfiguration.lowercase false`. This change was made to more closely match the default behavior of GitHub's markdown rendering and VSCode's autocomplete when creating a relative link to an external markdown file. - Removed the `hideParameterTypesInTitle` option, this was originally added as a workaround for many signatures overflowing the available horizontal space in rendered pages. TypeDoc now has logic to wrap types/signatures smartly, so this option is no longer necessary. - Changed the default `kindSortOrder` to put references last. - Changed the default `sort` order to use `alphabetical-ignoring-documents` instead of `alphabetical`. - Changed default of `suppressCommentWarningsInDeclarationFiles` to `true` - API: Constructor signatures now use the parent class name as their name (e.g. `X`, not `new X`) - API: `@group`, `@category`, `@groupDescription` and `@categoryDescription` will no longer be removed from the reflections they are present on. They are skipped during rendering with the `notRenderedTags` option. ### Features - Add support for TypeScript 5.7 - TypeDoc will now discover entry points from `package.json` exports if they are not provided manually, #1937. - Relative links to markdown files may now include `#anchor` links to reference a heading within them. - Improved support for `@param` comments with nested object types, #2555. - Improved support for `@param` comments which reference a type alias/interface. Important properties on the referenced type can now be highlighted with `@param options.foo`, which will result in the additional note being included under the documentation for that parameter, #2147. Note: This feature is limited to references. It is not supported on other types of types. - Added a new `outputs` option which is an array of outputs. This can be used to render the documentation multiple times with different rendering options or output types, #2597. - Added support for rendering alerts (or callouts) in markdown. - Add support for an `@expand` tag which can be placed on type aliases and interfaces. When a type with `@expand` is referenced and TypeDoc has a place to include additional details about the type, the properties of the type will be included in the page where `@expand` is found. Note that use of this tag can _significantly_ increase the size of your generated documentation if it is applied to commonly used types as it will result in inlining the comments for those types everywhere they are referenced, #2303. - Add support for an `@inline` tag which can be placed on type aliases and interfaces. When a type with `@inline` is referenced, TypeDoc will resolve the referenced type and convert the type as if it was included directly within the referencing type. Note that use of this tag can _significantly_ increase the size of your generated documentation if it is applied to commonly used types as it will result in inlining the comments for those types everywhere they are referenced, #2303. - Introduced a new `@useDeclaredType` tag for type aliases which can sometimes improve their documentation, #2654. - Added a new `@mergeModuleWith` tag which can be used to tell TypeDoc to place a module/namespace's children under a different module/namespace and remove the real parent, #2281. - Added new `@include` and `@includeCode` inline tags to include files within comments/documents. - Add `notRenderedTags` option. This option is similar to the `excludeTags` option, but while `excludeTags` will result in the tag being completely removed from the documentation, `notRenderedTags` only prevents it from being included when rendering. - Added `groupReferencesByType` option. - Added `navigation.excludeReferences` option - Added `useFirstParagraphOfCommentAsSummary` option to configure how TypeDoc handles comments for module members without the `@summary` tag. - Introduced `favicon` option to specify a `.ico` or `.svg` favicon to reference. - Sections within the page and in the "On This Page" navigation are now tied together and will expand/collapse together, #2335. - API: Introduced a new `app.outputs` object for defining new output strategies. - API: TypeDoc's CSS is now wrapped in `@layer typedoc`, #2782. ### Bug Fixes - TypeDoc now properly flags `readonly` index signatures. - TypeDoc will now use the first signature's comment for later signatures in overloads if present, #2718. - Fixed handling of `@enum` if the type was declared before the variable, #2719. - Fixed empty top level modules page in packages mode, #2753. - TypeDoc can now link to type alias properties, #2524. - TypeDoc will now document the merged symbol type when considering globals declared inside `declare global`, #2774 - TypeDoc now converts `declare module "foo"` as a module rather than a namespace, #2778. - Import types in type aliases now use module member references if present, #2779. - Fixed an issue where properties were not properly marked optional in some cases. This primarily affected destructured parameters. - Added `yaml` to the highlight languages supported by default. - TypeDoc now recognizes `txt` as an alias of `text` to indicate a code block should not be highlighted. - Items which are hidden with `@ignore` or `@hidden` but still referenced by other types will no longer produce warnings about not being exported. - If a project only has one module within it, TypeDoc will now consider that module when resolving `@link` tags. - The arrows to indicate whether or not a section is open now work when JavaScript is disabled. - Group/category search boosts are now applied when writing the search index rather than when converting. This prevents issues where boosts used by just one package were incorrectly reported as unused when running with entryPointStrategy set to packages. ### Thanks! - @Huxpro - @mrfigg - @tgreyuk - @XeroAlpha ## v0.26.11 (2024-11-01) ### Features - If `hostedBaseUrl` is set to the root page on a website, TypeDoc will now include `WebSite` structured data, #2760. ### Bug Fixes - Fix support for ESM config files with Node 23, #2752. - Fix type errors when using `"module": "ESNext"` and importing TypeDoc, #2747. - Inherited comments on overloaded methods now consider the overload position when inheriting a comment, #2755. ## v0.26.10 (2024-10-16) ### Bug Fixes - Fixed missing space on page headers, #2748. ## v0.26.9 (2024-10-11) ### Features - Added `headings` option to control optional headings, #2729. - Updated Chinese translations, #2739. - Added a folder icon to page navigation elements which are not links, #2741. ### Bug Fixes - `externalSymbolLinkMappings` now uses the TypeScript reported link target if available, #2725. - TypeDoc will no longer omit the modules page if a project contains only modules/documents, #2730. - Fixed missing breadcrumbs on project page, #2728. - TypeDoc will no longer render an empty readme page if no readme was found. ### Thanks! - @lriggle-strib - @mrfigg - @XeroAlpha ## v0.26.8 (2024-10-04) ### Features - Updated Chinese translations, #2706. - Exported constants no longer render the type and default value if they are the same, #2717. - The HTML output now wraps tag blocks with `
` tags and includes the tag name in a class name, #2723. ### Bug Fixes - Correctly handle external link resolver link text when referencing an external symbol, #2700. - Big integer literals are now supported as default values, #2721. - Corrected handling of `@link` tags present in comments at the start of source files. - The index will now display when a module only contains documents, #2722. - `ReflectionSymbolId.pos` no longer references the position _before_ any doc comments for a symbol. This could cause typedoc-plugin-dt-links to produce links which didn't go to the expected location in a file. ### Thanks! - @Corso02 - @lriggle-strib - @XeroAlpha ## v0.26.7 (2024-09-09) ### Features - Support TypeScript 5.6, #2699. - Added `customJs` option to include a script tag in generated HTML output, #2650. - Added `markdownLinkExternal` option to treat `http[s]://` links in markdown documents and comments as external to be opened in a new tab, #2679. - Added `navigation.excludeReferences` option to prevent re-exports from appearing in the left hand navigation, #2685. - Added support for the `@abstract` tag, #2692. ### Bug Fixes - Fixed an issue where links in packages mode would be resolved incorrectly, #2680. - `@link` tags to symbols which are not included in the documentation will produce invalid link warnings again, #2681. - Fixed handling of `@param` tags on comments attached to function callback parameters, #2683. - The `alphabetical` and `alphabetical-ignoring-documents` sort options now use `localeCompare` to sort, #2684. - Fixed incorrect placement of parameter default values in some signatures with a `this` parameter, #2698. ### Thanks! - @Aryakoste - @waynemwashuma ## v0.26.6 (2024-08-18) ### Features - Use of the `@extends` block tag no longer produces warnings, #2659. This tag should only be used in JavaScript projects to specify the type parameters used when extending a parent class. It will not be rendered. - Added new `navigation.compactFolders` option to prevent TypeDoc from compacting folders, similar to the VSCode option. #2667. ### Bug Fixes - The `suppressCommentWarningsInDeclarationFiles` option now correctly ignores warnings in `.d.cts` and `.d.mts` files, #2647. - Restored re-exports in the page navigation menu, #2671. - JSON serialized projects will no longer contain reflection IDs for other projects created in the same run. Gerrit0/typedoc-plugin-zod#6. - In packages mode the reflection ID counter will no longer be reset when converting projects. This previously could result in links to files not working as expected. ## v0.26.5 (2024-07-21) ### Features - TypeDoc now exposes array option defaults under `OptionDefaults`, #2640. ### Bug Fixes - Constructor parameters which share a name with a property on a parent class will no longer inherit the comment on the parent class, #2636. - Packages mode will now attempt to use the comment declared in the comment class for inherited members, #2622. - TypeDoc no longer crashes when `@document` includes an empty file, #2638. - API: Event listeners added later with the same priority will be called later, #2643. ### Thanks! - @bladerunner2020 ## v0.26.4 (2024-07-10) ### Bug Fixes - The page navigation sidebar no longer incorrectly includes re-exports if the same member is exported with multiple names #2625. - Page navigation now ensures the current page is visible when the page is first loaded, #2626. - If a relative linked image is referenced multiple times, TypeDoc will no longer sometimes produce invalid links to the image #2627. - `@link` tags will now be validated in referenced markdown documents, #2629. - `@link` tags are now resolved in project documents, #2629. - HTML/JSON output generated by TypeDoc now contains a trailing newline, #2632. - TypeDoc now correctly handles markdown documents with CRLF line endings, #2628. - `@hidden` is now properly applied when placed in a function implementation comment, #2634. - Comments on re-exports are now rendered. ### Thanks! - @bukowa - @garrett-hopper ## v0.26.3 (2024-06-28) ### Features - "On This Page" navigation now includes the page groups in collapsible sections, #2616. ### Bug Fixes - `mailto:` links are no longer incorrectly recognized as relative paths, #2613. - Added `@since` to the default list of recognized tags, #2614. - Relative paths to directories will no longer cause the directory to be copied into the media directory, #2617. ## v0.26.2 (2024-06-24) ### Features - Added a `--suppressCommentWarningsInDeclarationFiles` option to disable warnings from parsing comments in declaration files, #2611. - Improved comment discovery to more closely match TypeScript's discovery when getting comments for members of interfaces/classes, #2084, #2545. ### Bug Fixes - The `text` non-highlighted language no longer causes warnings when rendering, #2610. - If a comment on a method is inherited from a parent class, and the child class does not use an `@param` tag from the parent, TypeDoc will no longer warn about the `@param` tag. ## v0.26.1 (2024-06-22) ### Features - Improved Korean translation coverage, #2602. ### Bug Fixes - Added `@author` to the default list of recognized tags, #2603. - Anchor links are no longer incorrectly checked for relative paths, #2604. - Fixed an issue where line numbers reported in error messages could be incorrect, #2605. - Fixed relative link detection for markdown links containing code in their label, #2606. - Fixed an issue with packages mode where TypeDoc would use (much) more memory than required, #2607. - TypeDoc will no longer crash when asked to render highlighted code for an unsupported language, #2609. - Fixed an issue where relatively-linked files would not be copied to the output directory in packages mode. - Fixed an issue where modifier tags were not applied to top level modules in packages mode. - Fixed an issue where excluded tags were not removed from top level modules in packages mode. - `.jsonc` configuration files are now properly read as JSONC, rather than being passed to `require`. ### Thanks! - @KNU-K ## v0.26.0 (2024-06-22) ### Breaking Changes - Drop support for Node 16. - Moved from `marked` to `markdown-it` for parsing as marked has moved to an async model which supporting would significantly complicate TypeDoc's rendering code. This means that any projects setting `markedOptions` needs to be updated to use `markdownItOptions`. Unlike `marked@4`, `markdown-it` pushes lots of functionality to plugins. To use plugins, a JavaScript config file must be used with the `markdownItLoader` option. - Updated Shiki from 0.14 to 1.x. This should mostly be a transparent update which adds another 23 supported languages and 13 supported themes. As Shiki adds additional languages, the time it takes to load the highlighter increases linearly. To avoid rendering taking longer than necessary, TypeDoc now only loads a few common languages. Additional languages can be loaded by setting the `--highlightLanguages` option. - Changed default of `--excludePrivate` to `true`. - Renamed `--sitemapBaseUrl` to `--hostedBaseUrl` to reflect that it can be used for more than just the sitemap. - Removed deprecated `navigation.fullTree` option. - Removed `--media` option, TypeDoc will now detect image links within your comments and markdown documents and automatically copy them to the site. - Removed `--includes` option, use the `@document` tag instead. - Removed `--stripYamlFrontmatter` option, TypeDoc will always do this now. - Renamed the `--htmlLang` option to `--lang`. - Removed the `--gaId` option for Google Analytics integration and corresponding `analytics` theme member, #2600. - All function-likes may now have comments directly attached to them. This is a change from previous versions of TypeDoc where functions comments were always moved down to the signature level. This mostly worked, but caused problems with type aliases, so was partially changed in 0.25.13. This change was extended to apply not only to type aliases, but also other function-likes declared with variables and callable properties. As a part of this change, comments on the implementation signature of overloaded functions will now be added to the function reflection, and will not be inherited by signatures of that function, #2521. - API: TypeDoc now uses a typed event emitter to provide improved type safety, this found a bug where `Converter.EVENT_CREATE_DECLARATION` was emitted for `ProjectReflection` in some circumstances. - API: `MapOptionDeclaration.mapError` has been removed. - API: Deprecated `BindOption` decorator has been removed. - API: `DeclarationReflection.indexSignature` has been renamed to `DeclarationReflection.indexSignatures`. Note: This also affects JSON serialization. TypeDoc will support JSON output from 0.25 through at least 0.26. - API: `JSONOutput.SignatureReflection.typeParameter` has been renamed to `typeParameters` to match the JS API. - API: `DefaultThemeRenderContext.iconsCache` has been removed as it is no longer needed. - API: `DefaultThemeRenderContext.hook` must now be passed `context` if required by the hook. ### Features - Added support for TypeScript 5.5. - Added new `--projectDocuments` option to specify additional Markdown documents to be included in the generated site #247, #1870, #2288, #2565. - TypeDoc now has the architecture in place to support localization. No languages besides English are currently shipped in the package, but it is now possible to add support for additional languages, #2475. - Added support for a `packageOptions` object which specifies options that should be applied to each entry point when running with `--entryPointStrategy packages`, #2523. - `--hostedBaseUrl` will now be used to generate a `` element in the project root page, #2550. - Added support for documenting individual elements of a union type, #2585. Note: This feature is only available on type aliases directly containing unions. - TypeDoc will now log the number of errors/warnings errors encountered, if any, after a run, #2581. - New option, `--customFooterHtml` to add custom HTML to the generated page footer, #2559. - TypeDoc will now copy modifier tags to children if specified in the `--cascadedModifierTags` option, #2056. - TypeDoc will now warn if mutually exclusive modifier tags are specified for a comment (e.g. both `@alpha` and `@beta`), #2056. - Groups and categories can now be collapsed in the page body, #2330. - Added support for JSDoc `@hideconstructor` tag. This tag should only be used to work around TypeScript#58653, prefer the more general `@hidden`/`@ignore` tag to hide members normally, #2577. - Added `--useHostedBaseUrlForAbsoluteLinks` option to use the `--hostedBaseUrl` option to produce absolute links to pages on a site, #940. - Tag headers now generate permalinks in the default theme, #2308. - TypeDoc now attempts to use the "most likely name" for a symbol if the symbol is not present in the documentation, #2574. - Fixed an issue where the "On This Page" section would include markdown if the page contained headings which contained markdown. - TypeDoc will now warn if a block tag is used which is not defined by the `--blockTags` option. - Added three new sort strategies `documents-first`, `documents-last`, and `alphabetical-ignoring-documents` to order markdown documents. - Added new `--alwaysCreateEntryPointModule` option. When set, TypeDoc will always create a `Module` for entry points, even if only one is provided. If `--projectDocuments` is used to add documents, this option defaults to `true`, otherwise, defaults to `false`. - Added new `--highlightLanguages` option to control what Shiki language packages are loaded. - TypeDoc will now render union elements on new lines if there are more than 3 items in the union. - TypeDoc will now only render the "Type Declaration" section if it will provide additional information not already presented in the page. This results in significantly smaller documentation pages in many cases where that section would just repeat what has already been presented in the rendered type. - Added `comment.beforeTags` and `comment.afterTags` hooks for plugin use. Combined with `CommentTag.skipRendering` this can be used to provide custom tag handling at render time. ### Bug Fixes - TypeDoc now supports objects with multiple index signatures, #2470. - Header anchor links in rendered markdown are now more consistent with headers generated by TypeDoc, #2546. - Types rendered in the `Returns` header are now properly colored, #2546. - Links added with the `navigationLinks` option are now moved into the pull out navigation on mobile displays, #2548. - `@license` and `@import` comments will be ignored at the top of files, #2552. - Fixed issue in documentation validation where constructor signatures where improperly considered not documented, #2553. - Keyboard focus is now visible on dropdowns and checkboxes in the default theme, #2556. - The color theme label in the default theme now has an accessible name, #2557. - Fixed issue where search results could not be navigated while Windows Narrator was on, #2563. - `charset` is now correctly cased in `` tag generated by the default theme, #2568. - Fixed very slow conversion on Windows where Msys git was used by typedoc to discover repository links, #2586. - Validation will now be run in watch mode, #2584. - Fixed an issue where custom themes which added dependencies in the `` element could result in broken icons, #2589. - `@default` and `@defaultValue` blocks are now recognized as regular blocks if they include inline tags, #2601. - Navigation folders sharing a name will no longer be saved with a shared key to `localStorage`. - The `--hideParameterTypesInTitle` option no longer applies when rendering function types. - Broken `@link` tags in readme files will now cause a warning when link validation is enabled. - Fixed `externalSymbolLinkMappings` option's support for [meanings](https://typedoc.org/guides/declaration-references/#meaning) in declaration references. - Buttons to copy code now have the `type=button` attribute set to avoid being treated as submit buttons. - `--hostedBaseUrl` will now implicitly add a trailing slash to the generated URL. ### Thanks! - @Aryakoste - @bladerunner2020 - @Dinnerbone - @HarelM - @kraenhansen - @Nil2000 - @steve02081504 - @tristanzander ## v0.25.13 (2024-04-07) ### Features - Added `gitRevision:short` placeholder option to `--sourceLinkTemplate` option, #2529. Links generated by TypeDoc will now default to using the non-short git revision. - Moved "Generated by TypeDoc" footer into a `