@depup/typedoc 0.28.17-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +34 -0
- package/bin/package.json +3 -0
- package/bin/typedoc +24 -0
- package/changes.json +22 -0
- package/dist/browser-locales/de.d.ts +2 -0
- package/dist/browser-locales/de.js +62 -0
- package/dist/browser-locales/en.d.ts +2 -0
- package/dist/browser-locales/en.js +62 -0
- package/dist/browser-locales/ja.d.ts +2 -0
- package/dist/browser-locales/ja.js +62 -0
- package/dist/browser-locales/ko.d.ts +2 -0
- package/dist/browser-locales/ko.js +62 -0
- package/dist/browser-locales/zh.d.ts +2 -0
- package/dist/browser-locales/zh.js +62 -0
- package/dist/browser-utils.d.ts +3 -0
- package/dist/browser-utils.js +3 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.js +46 -0
- package/dist/lib/application-events.d.ts +5 -0
- package/dist/lib/application-events.js +5 -0
- package/dist/lib/application.d.ts +195 -0
- package/dist/lib/application.js +715 -0
- package/dist/lib/cli.d.ts +1 -0
- package/dist/lib/cli.js +111 -0
- package/dist/lib/converter/comments/blockLexer.d.ts +4 -0
- package/dist/lib/converter/comments/blockLexer.js +391 -0
- package/dist/lib/converter/comments/declarationReferenceResolver.d.ts +3 -0
- package/dist/lib/converter/comments/declarationReferenceResolver.js +218 -0
- package/dist/lib/converter/comments/discovery.d.ts +14 -0
- package/dist/lib/converter/comments/discovery.js +563 -0
- package/dist/lib/converter/comments/index.d.ts +37 -0
- package/dist/lib/converter/comments/index.js +241 -0
- package/dist/lib/converter/comments/lexer.d.ts +17 -0
- package/dist/lib/converter/comments/lexer.js +10 -0
- package/dist/lib/converter/comments/lineLexer.d.ts +3 -0
- package/dist/lib/converter/comments/lineLexer.js +279 -0
- package/dist/lib/converter/comments/linkResolver.d.ts +20 -0
- package/dist/lib/converter/comments/linkResolver.js +186 -0
- package/dist/lib/converter/comments/parser.d.ts +18 -0
- package/dist/lib/converter/comments/parser.js +538 -0
- package/dist/lib/converter/comments/rawLexer.d.ts +8 -0
- package/dist/lib/converter/comments/rawLexer.js +218 -0
- package/dist/lib/converter/comments/tagName.d.ts +8 -0
- package/dist/lib/converter/comments/tagName.js +58 -0
- package/dist/lib/converter/comments/textParser.d.ts +33 -0
- package/dist/lib/converter/comments/textParser.js +372 -0
- package/dist/lib/converter/components.d.ts +4 -0
- package/dist/lib/converter/components.js +3 -0
- package/dist/lib/converter/context.d.ts +101 -0
- package/dist/lib/converter/context.js +311 -0
- package/dist/lib/converter/convert-expression.d.ts +9 -0
- package/dist/lib/converter/convert-expression.js +58 -0
- package/dist/lib/converter/converter-events.d.ts +13 -0
- package/dist/lib/converter/converter-events.js +13 -0
- package/dist/lib/converter/converter.d.ts +238 -0
- package/dist/lib/converter/converter.js +705 -0
- package/dist/lib/converter/factories/index-signature.d.ts +3 -0
- package/dist/lib/converter/factories/index-signature.js +50 -0
- package/dist/lib/converter/factories/signature.d.ts +14 -0
- package/dist/lib/converter/factories/signature.js +353 -0
- package/dist/lib/converter/factories/symbol-id.d.ts +3 -0
- package/dist/lib/converter/factories/symbol-id.js +47 -0
- package/dist/lib/converter/index.d.ts +5 -0
- package/dist/lib/converter/index.js +3 -0
- package/dist/lib/converter/jsdoc.d.ts +4 -0
- package/dist/lib/converter/jsdoc.js +135 -0
- package/dist/lib/converter/plugins/CategoryPlugin.d.ts +48 -0
- package/dist/lib/converter/plugins/CategoryPlugin.js +278 -0
- package/dist/lib/converter/plugins/CommentPlugin.d.ts +128 -0
- package/dist/lib/converter/plugins/CommentPlugin.js +770 -0
- package/dist/lib/converter/plugins/GroupPlugin.d.ts +48 -0
- package/dist/lib/converter/plugins/GroupPlugin.js +281 -0
- package/dist/lib/converter/plugins/ImplementsPlugin.d.ts +42 -0
- package/dist/lib/converter/plugins/ImplementsPlugin.js +438 -0
- package/dist/lib/converter/plugins/IncludePlugin.d.ts +14 -0
- package/dist/lib/converter/plugins/IncludePlugin.js +254 -0
- package/dist/lib/converter/plugins/InheritDocPlugin.d.ts +32 -0
- package/dist/lib/converter/plugins/InheritDocPlugin.js +220 -0
- package/dist/lib/converter/plugins/LinkResolverPlugin.d.ts +13 -0
- package/dist/lib/converter/plugins/LinkResolverPlugin.js +88 -0
- package/dist/lib/converter/plugins/MergeModuleWithPlugin.d.ts +12 -0
- package/dist/lib/converter/plugins/MergeModuleWithPlugin.js +50 -0
- package/dist/lib/converter/plugins/PackagePlugin.d.ts +31 -0
- package/dist/lib/converter/plugins/PackagePlugin.js +188 -0
- package/dist/lib/converter/plugins/SourcePlugin.d.ts +36 -0
- package/dist/lib/converter/plugins/SourcePlugin.js +215 -0
- package/dist/lib/converter/plugins/TypePlugin.d.ts +16 -0
- package/dist/lib/converter/plugins/TypePlugin.js +108 -0
- package/dist/lib/converter/plugins/index.d.ts +10 -0
- package/dist/lib/converter/plugins/index.js +10 -0
- package/dist/lib/converter/symbols.d.ts +3 -0
- package/dist/lib/converter/symbols.js +861 -0
- package/dist/lib/converter/types.d.ts +10 -0
- package/dist/lib/converter/types.js +833 -0
- package/dist/lib/converter/utils/nodes.d.ts +7 -0
- package/dist/lib/converter/utils/nodes.js +26 -0
- package/dist/lib/converter/utils/reflections.d.ts +2 -0
- package/dist/lib/converter/utils/reflections.js +17 -0
- package/dist/lib/converter/utils/repository.d.ts +96 -0
- package/dist/lib/converter/utils/repository.js +295 -0
- package/dist/lib/converter/utils/symbols.d.ts +2 -0
- package/dist/lib/converter/utils/symbols.js +12 -0
- package/dist/lib/debug/index.d.ts +2 -0
- package/dist/lib/debug/index.js +2 -0
- package/dist/lib/debug/reflectionLifetimes.d.ts +3 -0
- package/dist/lib/debug/reflectionLifetimes.js +27 -0
- package/dist/lib/debug/rendererUrls.d.ts +6 -0
- package/dist/lib/debug/rendererUrls.js +68 -0
- package/dist/lib/internationalization/index.d.ts +7 -0
- package/dist/lib/internationalization/index.js +7 -0
- package/dist/lib/internationalization/internationalization.d.ts +65 -0
- package/dist/lib/internationalization/internationalization.js +64 -0
- package/dist/lib/internationalization/locale-utils.cjs +8 -0
- package/dist/lib/internationalization/locale-utils.d.cts +8 -0
- package/dist/lib/internationalization/locales/de.cjs +401 -0
- package/dist/lib/internationalization/locales/de.d.cts +368 -0
- package/dist/lib/internationalization/locales/en.cjs +411 -0
- package/dist/lib/internationalization/locales/en.d.cts +380 -0
- package/dist/lib/internationalization/locales/ja.cjs +320 -0
- package/dist/lib/internationalization/locales/ja.d.cts +307 -0
- package/dist/lib/internationalization/locales/ko.cjs +233 -0
- package/dist/lib/internationalization/locales/ko.d.cts +221 -0
- package/dist/lib/internationalization/locales/zh.cjs +488 -0
- package/dist/lib/internationalization/locales/zh.d.cts +452 -0
- package/dist/lib/internationalization/translatable.d.ts +21 -0
- package/dist/lib/internationalization/translatable.js +8 -0
- package/dist/lib/models/Comment.d.ts +241 -0
- package/dist/lib/models/Comment.js +534 -0
- package/dist/lib/models/ContainerReflection.d.ts +56 -0
- package/dist/lib/models/ContainerReflection.js +159 -0
- package/dist/lib/models/DeclarationReflection.d.ts +149 -0
- package/dist/lib/models/DeclarationReflection.js +287 -0
- package/dist/lib/models/DocumentReflection.d.ts +32 -0
- package/dist/lib/models/DocumentReflection.js +66 -0
- package/dist/lib/models/FileRegistry.d.ts +46 -0
- package/dist/lib/models/FileRegistry.js +133 -0
- package/dist/lib/models/ParameterReflection.d.ts +21 -0
- package/dist/lib/models/ParameterReflection.js +39 -0
- package/dist/lib/models/ProjectReflection.d.ts +112 -0
- package/dist/lib/models/ProjectReflection.js +417 -0
- package/dist/lib/models/ReferenceReflection.d.ts +49 -0
- package/dist/lib/models/ReferenceReflection.js +85 -0
- package/dist/lib/models/Reflection.d.ts +229 -0
- package/dist/lib/models/Reflection.js +495 -0
- package/dist/lib/models/ReflectionCategory.d.ts +31 -0
- package/dist/lib/models/ReflectionCategory.js +56 -0
- package/dist/lib/models/ReflectionGroup.d.ts +38 -0
- package/dist/lib/models/ReflectionGroup.js +72 -0
- package/dist/lib/models/ReflectionSymbolId.d.ts +63 -0
- package/dist/lib/models/ReflectionSymbolId.js +85 -0
- package/dist/lib/models/SignatureReflection.d.ts +50 -0
- package/dist/lib/models/SignatureReflection.js +96 -0
- package/dist/lib/models/SourceReference.d.ts +33 -0
- package/dist/lib/models/SourceReference.js +50 -0
- package/dist/lib/models/TypeParameterReflection.d.ts +30 -0
- package/dist/lib/models/TypeParameterReflection.js +45 -0
- package/dist/lib/models/index.d.ts +19 -0
- package/dist/lib/models/index.js +19 -0
- package/dist/lib/models/kind.d.ts +84 -0
- package/dist/lib/models/kind.js +231 -0
- package/dist/lib/models/types.d.ts +553 -0
- package/dist/lib/models/types.js +1296 -0
- package/dist/lib/models/utils.d.ts +1 -0
- package/dist/lib/models/utils.js +26 -0
- package/dist/lib/models/variant.d.ts +21 -0
- package/dist/lib/models/variant.js +1 -0
- package/dist/lib/output/components.d.ts +53 -0
- package/dist/lib/output/components.js +133 -0
- package/dist/lib/output/events.d.ts +175 -0
- package/dist/lib/output/events.js +195 -0
- package/dist/lib/output/formatter.d.ts +88 -0
- package/dist/lib/output/formatter.js +660 -0
- package/dist/lib/output/index.d.ts +9 -0
- package/dist/lib/output/index.js +7 -0
- package/dist/lib/output/output.d.ts +14 -0
- package/dist/lib/output/output.js +92 -0
- package/dist/lib/output/plugins/AssetsPlugin.d.ts +20 -0
- package/dist/lib/output/plugins/AssetsPlugin.js +160 -0
- package/dist/lib/output/plugins/HierarchyPlugin.d.ts +7 -0
- package/dist/lib/output/plugins/HierarchyPlugin.js +65 -0
- package/dist/lib/output/plugins/IconsPlugin.d.ts +12 -0
- package/dist/lib/output/plugins/IconsPlugin.js +54 -0
- package/dist/lib/output/plugins/JavascriptIndexPlugin.d.ts +22 -0
- package/dist/lib/output/plugins/JavascriptIndexPlugin.js +222 -0
- package/dist/lib/output/plugins/NavigationPlugin.d.ts +7 -0
- package/dist/lib/output/plugins/NavigationPlugin.js +23 -0
- package/dist/lib/output/plugins/SitemapPlugin.d.ts +8 -0
- package/dist/lib/output/plugins/SitemapPlugin.js +82 -0
- package/dist/lib/output/plugins/index.d.ts +7 -0
- package/dist/lib/output/plugins/index.js +7 -0
- package/dist/lib/output/renderer.d.ts +227 -0
- package/dist/lib/output/renderer.js +387 -0
- package/dist/lib/output/router.d.ts +187 -0
- package/dist/lib/output/router.js +520 -0
- package/dist/lib/output/theme.d.ts +22 -0
- package/dist/lib/output/theme.js +17 -0
- package/dist/lib/output/themes/MarkedPlugin.d.ts +62 -0
- package/dist/lib/output/themes/MarkedPlugin.js +461 -0
- package/dist/lib/output/themes/default/DefaultTheme.d.ts +72 -0
- package/dist/lib/output/themes/default/DefaultTheme.js +367 -0
- package/dist/lib/output/themes/default/DefaultThemeRenderContext.d.ts +105 -0
- package/dist/lib/output/themes/default/DefaultThemeRenderContext.js +151 -0
- package/dist/lib/output/themes/default/Slugger.d.ts +13 -0
- package/dist/lib/output/themes/default/Slugger.js +60 -0
- package/dist/lib/output/themes/default/layouts/default.d.ts +6 -0
- package/dist/lib/output/themes/default/layouts/default.js +89 -0
- package/dist/lib/output/themes/default/partials/anchor-icon.d.ts +5 -0
- package/dist/lib/output/themes/default/partials/anchor-icon.js +9 -0
- package/dist/lib/output/themes/default/partials/breadcrumb.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/breadcrumb.js +11 -0
- package/dist/lib/output/themes/default/partials/comment.d.ts +8 -0
- package/dist/lib/output/themes/default/partials/comment.js +80 -0
- package/dist/lib/output/themes/default/partials/footer.d.ts +3 -0
- package/dist/lib/output/themes/default/partials/footer.js +37 -0
- package/dist/lib/output/themes/default/partials/header.d.ts +5 -0
- package/dist/lib/output/themes/default/partials/header.js +39 -0
- package/dist/lib/output/themes/default/partials/hierarchy.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/hierarchy.js +32 -0
- package/dist/lib/output/themes/default/partials/icon.d.ts +20 -0
- package/dist/lib/output/themes/default/partials/icon.js +101 -0
- package/dist/lib/output/themes/default/partials/index.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/index.js +24 -0
- package/dist/lib/output/themes/default/partials/member.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/member.declaration.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/member.declaration.js +35 -0
- package/dist/lib/output/themes/default/partials/member.getterSetter.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/member.getterSetter.js +12 -0
- package/dist/lib/output/themes/default/partials/member.js +36 -0
- package/dist/lib/output/themes/default/partials/member.signature.body.d.ts +6 -0
- package/dist/lib/output/themes/default/partials/member.signature.body.js +33 -0
- package/dist/lib/output/themes/default/partials/member.signature.title.d.ts +5 -0
- package/dist/lib/output/themes/default/partials/member.signature.title.js +9 -0
- package/dist/lib/output/themes/default/partials/member.signatures.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/member.signatures.js +9 -0
- package/dist/lib/output/themes/default/partials/member.sources.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/member.sources.js +55 -0
- package/dist/lib/output/themes/default/partials/members.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/members.js +17 -0
- package/dist/lib/output/themes/default/partials/moduleReflection.d.ts +5 -0
- package/dist/lib/output/themes/default/partials/moduleReflection.js +68 -0
- package/dist/lib/output/themes/default/partials/navigation.d.ts +10 -0
- package/dist/lib/output/themes/default/partials/navigation.js +144 -0
- package/dist/lib/output/themes/default/partials/reflectionPreview.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/reflectionPreview.js +26 -0
- package/dist/lib/output/themes/default/partials/toolbar.d.ts +5 -0
- package/dist/lib/output/themes/default/partials/toolbar.js +13 -0
- package/dist/lib/output/themes/default/partials/type.d.ts +5 -0
- package/dist/lib/output/themes/default/partials/type.js +9 -0
- package/dist/lib/output/themes/default/partials/typeAndParent.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/typeAndParent.js +28 -0
- package/dist/lib/output/themes/default/partials/typeDetails.d.ts +8 -0
- package/dist/lib/output/themes/default/partials/typeDetails.js +284 -0
- package/dist/lib/output/themes/default/partials/typeParameters.d.ts +4 -0
- package/dist/lib/output/themes/default/partials/typeParameters.js +26 -0
- package/dist/lib/output/themes/default/templates/document.d.ts +5 -0
- package/dist/lib/output/themes/default/templates/document.js +3 -0
- package/dist/lib/output/themes/default/templates/hierarchy.d.ts +5 -0
- package/dist/lib/output/themes/default/templates/hierarchy.js +31 -0
- package/dist/lib/output/themes/default/templates/index.d.ts +5 -0
- package/dist/lib/output/themes/default/templates/index.js +3 -0
- package/dist/lib/output/themes/default/templates/reflection.d.ts +5 -0
- package/dist/lib/output/themes/default/templates/reflection.js +53 -0
- package/dist/lib/output/themes/lib.d.ts +44 -0
- package/dist/lib/output/themes/lib.js +218 -0
- package/dist/lib/serialization/components.d.ts +22 -0
- package/dist/lib/serialization/components.js +1 -0
- package/dist/lib/serialization/deserializer.d.ts +70 -0
- package/dist/lib/serialization/deserializer.js +235 -0
- package/dist/lib/serialization/events.d.ts +17 -0
- package/dist/lib/serialization/events.js +18 -0
- package/dist/lib/serialization/index.d.ts +5 -0
- package/dist/lib/serialization/index.js +4 -0
- package/dist/lib/serialization/schema.d.ts +283 -0
- package/dist/lib/serialization/schema.js +32 -0
- package/dist/lib/serialization/serializer.d.ts +52 -0
- package/dist/lib/serialization/serializer.js +65 -0
- package/dist/lib/utils/ValidatingFileRegistry.d.ts +12 -0
- package/dist/lib/utils/ValidatingFileRegistry.js +52 -0
- package/dist/lib/utils/component.d.ts +38 -0
- package/dist/lib/utils/component.js +41 -0
- package/dist/lib/utils/compress.d.ts +7 -0
- package/dist/lib/utils/compress.js +13 -0
- package/dist/lib/utils/declaration-maps.d.ts +3 -0
- package/dist/lib/utils/declaration-maps.js +51 -0
- package/dist/lib/utils/entry-point.d.ts +50 -0
- package/dist/lib/utils/entry-point.js +330 -0
- package/dist/lib/utils/fs.d.ts +65 -0
- package/dist/lib/utils/fs.js +372 -0
- package/dist/lib/utils/general.d.ts +4 -0
- package/dist/lib/utils/general.js +25 -0
- package/dist/lib/utils/highlighter.d.ts +9 -0
- package/dist/lib/utils/highlighter.js +150 -0
- package/dist/lib/utils/html-entities.d.ts +8926 -0
- package/dist/lib/utils/html-entities.js +2329 -0
- package/dist/lib/utils/html.d.ts +67 -0
- package/dist/lib/utils/html.js +635 -0
- package/dist/lib/utils/index.d.ts +17 -0
- package/dist/lib/utils/index.js +15 -0
- package/dist/lib/utils/loggers.d.ts +10 -0
- package/dist/lib/utils/loggers.js +71 -0
- package/dist/lib/utils/options/declaration.d.ts +514 -0
- package/dist/lib/utils/options/declaration.js +443 -0
- package/dist/lib/utils/options/defaults.d.ts +20 -0
- package/dist/lib/utils/options/defaults.js +104 -0
- package/dist/lib/utils/options/help.d.ts +7 -0
- package/dist/lib/utils/options/help.js +63 -0
- package/dist/lib/utils/options/index.d.ts +6 -0
- package/dist/lib/utils/options/index.js +4 -0
- package/dist/lib/utils/options/options.d.ts +199 -0
- package/dist/lib/utils/options/options.js +273 -0
- package/dist/lib/utils/options/readers/arguments.d.ts +15 -0
- package/dist/lib/utils/options/readers/arguments.js +109 -0
- package/dist/lib/utils/options/readers/index.d.ts +4 -0
- package/dist/lib/utils/options/readers/index.js +4 -0
- package/dist/lib/utils/options/readers/package-json.d.ts +9 -0
- package/dist/lib/utils/options/readers/package-json.js +40 -0
- package/dist/lib/utils/options/readers/tsconfig.d.ts +14 -0
- package/dist/lib/utils/options/readers/tsconfig.js +172 -0
- package/dist/lib/utils/options/readers/typedoc.d.ts +33 -0
- package/dist/lib/utils/options/readers/typedoc.js +136 -0
- package/dist/lib/utils/options/sources/index.d.ts +1 -0
- package/dist/lib/utils/options/sources/index.js +1 -0
- package/dist/lib/utils/options/sources/typedoc.d.ts +2 -0
- package/dist/lib/utils/options/sources/typedoc.js +876 -0
- package/dist/lib/utils/options/tsdoc-defaults.d.ts +6 -0
- package/dist/lib/utils/options/tsdoc-defaults.js +94 -0
- package/dist/lib/utils/package-manifest.d.ts +11 -0
- package/dist/lib/utils/package-manifest.js +84 -0
- package/dist/lib/utils/paths.d.ts +27 -0
- package/dist/lib/utils/paths.js +127 -0
- package/dist/lib/utils/perf.d.ts +6 -0
- package/dist/lib/utils/perf.js +86 -0
- package/dist/lib/utils/plugins.d.ts +3 -0
- package/dist/lib/utils/plugins.js +61 -0
- package/dist/lib/utils/reflections.d.ts +5 -0
- package/dist/lib/utils/reflections.js +64 -0
- package/dist/lib/utils/sort.d.ts +11 -0
- package/dist/lib/utils/sort.js +153 -0
- package/dist/lib/utils/tsconfig.d.ts +5 -0
- package/dist/lib/utils/tsconfig.js +60 -0
- package/dist/lib/utils/tsutils.d.ts +3 -0
- package/dist/lib/utils/tsutils.js +23 -0
- package/dist/lib/utils-common/array.d.ts +57 -0
- package/dist/lib/utils-common/array.js +152 -0
- package/dist/lib/utils-common/declarationReference.d.ts +42 -0
- package/dist/lib/utils-common/declarationReference.js +341 -0
- package/dist/lib/utils-common/enum.d.ts +9 -0
- package/dist/lib/utils-common/enum.js +27 -0
- package/dist/lib/utils-common/events.d.ts +29 -0
- package/dist/lib/utils-common/events.js +49 -0
- package/dist/lib/utils-common/general.d.ts +40 -0
- package/dist/lib/utils-common/general.js +22 -0
- package/dist/lib/utils-common/hooks.d.ts +51 -0
- package/dist/lib/utils-common/hooks.js +90 -0
- package/dist/lib/utils-common/i18n.d.ts +18 -0
- package/dist/lib/utils-common/i18n.js +39 -0
- package/dist/lib/utils-common/index.d.ts +16 -0
- package/dist/lib/utils-common/index.js +17 -0
- package/dist/lib/utils-common/jsx.d.ts +53 -0
- package/dist/lib/utils-common/jsx.elements.d.ts +949 -0
- package/dist/lib/utils-common/jsx.elements.js +3 -0
- package/dist/lib/utils-common/jsx.js +187 -0
- package/dist/lib/utils-common/logger.d.ts +97 -0
- package/dist/lib/utils-common/logger.js +129 -0
- package/dist/lib/utils-common/map.d.ts +23 -0
- package/dist/lib/utils-common/map.js +63 -0
- package/dist/lib/utils-common/minimalSourceFile.d.ts +12 -0
- package/dist/lib/utils-common/minimalSourceFile.js +43 -0
- package/dist/lib/utils-common/path.d.ts +42 -0
- package/dist/lib/utils-common/path.js +130 -0
- package/dist/lib/utils-common/set.d.ts +3 -0
- package/dist/lib/utils-common/set.js +23 -0
- package/dist/lib/utils-common/string.d.ts +11 -0
- package/dist/lib/utils-common/string.js +84 -0
- package/dist/lib/utils-common/validation.d.ts +33 -0
- package/dist/lib/utils-common/validation.js +50 -0
- package/dist/lib/validation/documentation.d.ts +3 -0
- package/dist/lib/validation/documentation.js +91 -0
- package/dist/lib/validation/exports.d.ts +3 -0
- package/dist/lib/validation/exports.js +65 -0
- package/dist/lib/validation/links.d.ts +3 -0
- package/dist/lib/validation/links.js +78 -0
- package/dist/lib/validation/unusedMergeModuleWith.d.ts +3 -0
- package/dist/lib/validation/unusedMergeModuleWith.js +12 -0
- package/package.json +161 -0
- package/static/main.js +58 -0
- package/static/style.css +1633 -0
- package/tsdoc.json +247 -0
- package/typedoc-config.schema.json +941 -0
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Holds all logic used render and output the final documentation.
|
|
37
|
+
*
|
|
38
|
+
* The {@link Renderer} class is the central controller within this namespace. When invoked it creates
|
|
39
|
+
* an instance of {@link Theme} which defines the layout of the documentation and fires a
|
|
40
|
+
* series of {@link RendererEvent} events. Instances of {@link BasePlugin} can listen to these events and
|
|
41
|
+
* alter the generated output.
|
|
42
|
+
*/
|
|
43
|
+
import * as fs from "fs";
|
|
44
|
+
import * as path from "path";
|
|
45
|
+
import { IndexEvent, PageEvent, RendererEvent } from "./events.js";
|
|
46
|
+
import { writeFileSync } from "../utils/fs.js";
|
|
47
|
+
import { DefaultTheme } from "./themes/default/DefaultTheme.js";
|
|
48
|
+
import { AbstractComponent, Option } from "../utils/index.js";
|
|
49
|
+
import { EventHooks, i18n, JSX } from "#utils";
|
|
50
|
+
import { AssetsPlugin, HierarchyPlugin, IconsPlugin, JavascriptIndexPlugin, MarkedPlugin, NavigationPlugin, SitemapPlugin, } from "./plugins/index.js";
|
|
51
|
+
import { CategoryRouter, GroupRouter, KindDirRouter, KindRouter, StructureDirRouter, StructureRouter, } from "./router.js";
|
|
52
|
+
/**
|
|
53
|
+
* The renderer processes a {@link ProjectReflection} using a {@link Theme} instance and writes
|
|
54
|
+
* the emitted html documents to a output directory. You can specify which theme should be used
|
|
55
|
+
* using the `--theme <name>` command line argument.
|
|
56
|
+
*
|
|
57
|
+
* {@link Renderer} is a subclass of {@link EventDispatcher} and triggers a series of events while
|
|
58
|
+
* a project is being processed. You can listen to these events to control the flow or manipulate
|
|
59
|
+
* the output.
|
|
60
|
+
*
|
|
61
|
+
* * {@link Renderer.EVENT_BEGIN}<br>
|
|
62
|
+
* Triggered before the renderer starts rendering a project. The listener receives
|
|
63
|
+
* an instance of {@link RendererEvent}.
|
|
64
|
+
*
|
|
65
|
+
* * {@link Renderer.EVENT_BEGIN_PAGE}<br>
|
|
66
|
+
* Triggered before a document will be rendered. The listener receives an instance of
|
|
67
|
+
* {@link PageEvent}.
|
|
68
|
+
*
|
|
69
|
+
* * {@link Renderer.EVENT_END_PAGE}<br>
|
|
70
|
+
* Triggered after a document has been rendered, just before it is written to disc. The
|
|
71
|
+
* listener receives an instance of {@link PageEvent}.
|
|
72
|
+
*
|
|
73
|
+
* * {@link Renderer.EVENT_END}<br>
|
|
74
|
+
* Triggered after the renderer has written all documents. The listener receives
|
|
75
|
+
* an instance of {@link RendererEvent}.
|
|
76
|
+
*
|
|
77
|
+
* * {@link Renderer.EVENT_PREPARE_INDEX}<br>
|
|
78
|
+
* Triggered when the JavascriptIndexPlugin is preparing the search index. Listeners receive
|
|
79
|
+
* an instance of {@link IndexEvent}.
|
|
80
|
+
*
|
|
81
|
+
* @summary Writes HTML output from TypeDoc's models
|
|
82
|
+
* @group None
|
|
83
|
+
*/
|
|
84
|
+
let Renderer = (() => {
|
|
85
|
+
let _classSuper = AbstractComponent;
|
|
86
|
+
let _themeName_decorators;
|
|
87
|
+
let _themeName_initializers = [];
|
|
88
|
+
let _themeName_extraInitializers = [];
|
|
89
|
+
let _routerName_decorators;
|
|
90
|
+
let _routerName_initializers = [];
|
|
91
|
+
let _routerName_extraInitializers = [];
|
|
92
|
+
let _cleanOutputDir_decorators;
|
|
93
|
+
let _cleanOutputDir_initializers = [];
|
|
94
|
+
let _cleanOutputDir_extraInitializers = [];
|
|
95
|
+
let _cname_decorators;
|
|
96
|
+
let _cname_initializers = [];
|
|
97
|
+
let _cname_extraInitializers = [];
|
|
98
|
+
let _githubPages_decorators;
|
|
99
|
+
let _githubPages_initializers = [];
|
|
100
|
+
let _githubPages_extraInitializers = [];
|
|
101
|
+
let _cacheBust_decorators;
|
|
102
|
+
let _cacheBust_initializers = [];
|
|
103
|
+
let _cacheBust_extraInitializers = [];
|
|
104
|
+
let _pretty_decorators;
|
|
105
|
+
let _pretty_initializers = [];
|
|
106
|
+
let _pretty_extraInitializers = [];
|
|
107
|
+
return class Renderer extends _classSuper {
|
|
108
|
+
static {
|
|
109
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
110
|
+
_themeName_decorators = [Option("theme")];
|
|
111
|
+
_routerName_decorators = [Option("router")];
|
|
112
|
+
_cleanOutputDir_decorators = [Option("cleanOutputDir")];
|
|
113
|
+
_cname_decorators = [Option("cname")];
|
|
114
|
+
_githubPages_decorators = [Option("githubPages")];
|
|
115
|
+
_cacheBust_decorators = [Option("cacheBust")];
|
|
116
|
+
_pretty_decorators = [Option("pretty")];
|
|
117
|
+
__esDecorate(this, null, _themeName_decorators, { kind: "accessor", name: "themeName", static: false, private: false, access: { has: obj => "themeName" in obj, get: obj => obj.themeName, set: (obj, value) => { obj.themeName = value; } }, metadata: _metadata }, _themeName_initializers, _themeName_extraInitializers);
|
|
118
|
+
__esDecorate(this, null, _routerName_decorators, { kind: "accessor", name: "routerName", static: false, private: false, access: { has: obj => "routerName" in obj, get: obj => obj.routerName, set: (obj, value) => { obj.routerName = value; } }, metadata: _metadata }, _routerName_initializers, _routerName_extraInitializers);
|
|
119
|
+
__esDecorate(this, null, _cleanOutputDir_decorators, { kind: "accessor", name: "cleanOutputDir", static: false, private: false, access: { has: obj => "cleanOutputDir" in obj, get: obj => obj.cleanOutputDir, set: (obj, value) => { obj.cleanOutputDir = value; } }, metadata: _metadata }, _cleanOutputDir_initializers, _cleanOutputDir_extraInitializers);
|
|
120
|
+
__esDecorate(this, null, _cname_decorators, { kind: "accessor", name: "cname", static: false, private: false, access: { has: obj => "cname" in obj, get: obj => obj.cname, set: (obj, value) => { obj.cname = value; } }, metadata: _metadata }, _cname_initializers, _cname_extraInitializers);
|
|
121
|
+
__esDecorate(this, null, _githubPages_decorators, { kind: "accessor", name: "githubPages", static: false, private: false, access: { has: obj => "githubPages" in obj, get: obj => obj.githubPages, set: (obj, value) => { obj.githubPages = value; } }, metadata: _metadata }, _githubPages_initializers, _githubPages_extraInitializers);
|
|
122
|
+
__esDecorate(this, null, _cacheBust_decorators, { kind: "accessor", name: "cacheBust", static: false, private: false, access: { has: obj => "cacheBust" in obj, get: obj => obj.cacheBust, set: (obj, value) => { obj.cacheBust = value; } }, metadata: _metadata }, _cacheBust_initializers, _cacheBust_extraInitializers);
|
|
123
|
+
__esDecorate(this, null, _pretty_decorators, { kind: "accessor", name: "pretty", static: false, private: false, access: { has: obj => "pretty" in obj, get: obj => obj.pretty, set: (obj, value) => { obj.pretty = value; } }, metadata: _metadata }, _pretty_initializers, _pretty_extraInitializers);
|
|
124
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
125
|
+
}
|
|
126
|
+
routers = new Map([
|
|
127
|
+
["kind", KindRouter],
|
|
128
|
+
["structure", StructureRouter],
|
|
129
|
+
["kind-dir", KindDirRouter],
|
|
130
|
+
["structure-dir", StructureDirRouter],
|
|
131
|
+
["group", GroupRouter],
|
|
132
|
+
["category", CategoryRouter],
|
|
133
|
+
]);
|
|
134
|
+
themes = new Map([
|
|
135
|
+
["default", DefaultTheme],
|
|
136
|
+
]);
|
|
137
|
+
/** @event */
|
|
138
|
+
static EVENT_BEGIN_PAGE = PageEvent.BEGIN;
|
|
139
|
+
/** @event */
|
|
140
|
+
static EVENT_END_PAGE = PageEvent.END;
|
|
141
|
+
/** @event */
|
|
142
|
+
static EVENT_BEGIN = RendererEvent.BEGIN;
|
|
143
|
+
/** @event */
|
|
144
|
+
static EVENT_END = RendererEvent.END;
|
|
145
|
+
/** @event */
|
|
146
|
+
static EVENT_PREPARE_INDEX = IndexEvent.PREPARE_INDEX;
|
|
147
|
+
/**
|
|
148
|
+
* A list of async jobs which must be completed *before* rendering output.
|
|
149
|
+
* They will be called after {@link RendererEvent.BEGIN} has fired, but before any files have been written.
|
|
150
|
+
*
|
|
151
|
+
* This may be used by plugins to register work that must be done to prepare output files. For example: asynchronously
|
|
152
|
+
* transform markdown to HTML.
|
|
153
|
+
*
|
|
154
|
+
* Note: This array is cleared after calling the contained functions on each {@link Renderer.render} call.
|
|
155
|
+
*/
|
|
156
|
+
preRenderAsyncJobs = [];
|
|
157
|
+
/**
|
|
158
|
+
* A list of async jobs which must be completed after rendering output files but before generation is considered successful.
|
|
159
|
+
* These functions will be called after all documents have been written to the filesystem.
|
|
160
|
+
*
|
|
161
|
+
* This may be used by plugins to register work that must be done to finalize output files. For example: asynchronously
|
|
162
|
+
* generating an image referenced in a render hook.
|
|
163
|
+
*
|
|
164
|
+
* Note: This array is cleared after calling the contained functions on each {@link Renderer.render} call.
|
|
165
|
+
*/
|
|
166
|
+
postRenderAsyncJobs = [];
|
|
167
|
+
/**
|
|
168
|
+
* The theme that is used to render the documentation.
|
|
169
|
+
*/
|
|
170
|
+
theme;
|
|
171
|
+
/**
|
|
172
|
+
* The router which is used to determine the pages to render and
|
|
173
|
+
* how to link between pages.
|
|
174
|
+
*/
|
|
175
|
+
router;
|
|
176
|
+
/**
|
|
177
|
+
* Hooks which will be called when rendering pages.
|
|
178
|
+
* Note:
|
|
179
|
+
* - Hooks added during output will be discarded at the end of rendering.
|
|
180
|
+
* - Hooks added during a page render will be discarded at the end of that page's render.
|
|
181
|
+
*
|
|
182
|
+
* See {@link RendererHooks} for a description of each available hook, and when it will be called.
|
|
183
|
+
*/
|
|
184
|
+
hooks = new EventHooks();
|
|
185
|
+
#themeName_accessor_storage = __runInitializers(this, _themeName_initializers, void 0);
|
|
186
|
+
/** @internal */
|
|
187
|
+
get themeName() { return this.#themeName_accessor_storage; }
|
|
188
|
+
set themeName(value) { this.#themeName_accessor_storage = value; }
|
|
189
|
+
#routerName_accessor_storage = (__runInitializers(this, _themeName_extraInitializers), __runInitializers(this, _routerName_initializers, void 0));
|
|
190
|
+
/** @internal */
|
|
191
|
+
get routerName() { return this.#routerName_accessor_storage; }
|
|
192
|
+
set routerName(value) { this.#routerName_accessor_storage = value; }
|
|
193
|
+
#cleanOutputDir_accessor_storage = (__runInitializers(this, _routerName_extraInitializers), __runInitializers(this, _cleanOutputDir_initializers, void 0));
|
|
194
|
+
get cleanOutputDir() { return this.#cleanOutputDir_accessor_storage; }
|
|
195
|
+
set cleanOutputDir(value) { this.#cleanOutputDir_accessor_storage = value; }
|
|
196
|
+
#cname_accessor_storage = (__runInitializers(this, _cleanOutputDir_extraInitializers), __runInitializers(this, _cname_initializers, void 0));
|
|
197
|
+
get cname() { return this.#cname_accessor_storage; }
|
|
198
|
+
set cname(value) { this.#cname_accessor_storage = value; }
|
|
199
|
+
#githubPages_accessor_storage = (__runInitializers(this, _cname_extraInitializers), __runInitializers(this, _githubPages_initializers, void 0));
|
|
200
|
+
get githubPages() { return this.#githubPages_accessor_storage; }
|
|
201
|
+
set githubPages(value) { this.#githubPages_accessor_storage = value; }
|
|
202
|
+
#cacheBust_accessor_storage = (__runInitializers(this, _githubPages_extraInitializers), __runInitializers(this, _cacheBust_initializers, void 0));
|
|
203
|
+
/** @internal */
|
|
204
|
+
get cacheBust() { return this.#cacheBust_accessor_storage; }
|
|
205
|
+
set cacheBust(value) { this.#cacheBust_accessor_storage = value; }
|
|
206
|
+
#pretty_accessor_storage = (__runInitializers(this, _cacheBust_extraInitializers), __runInitializers(this, _pretty_initializers, void 0));
|
|
207
|
+
get pretty() { return this.#pretty_accessor_storage; }
|
|
208
|
+
set pretty(value) { this.#pretty_accessor_storage = value; }
|
|
209
|
+
renderStartTime = (__runInitializers(this, _pretty_extraInitializers), -1);
|
|
210
|
+
markedPlugin;
|
|
211
|
+
constructor(owner) {
|
|
212
|
+
super(owner);
|
|
213
|
+
this.markedPlugin = new MarkedPlugin(this);
|
|
214
|
+
new AssetsPlugin(this);
|
|
215
|
+
new IconsPlugin(this);
|
|
216
|
+
new HierarchyPlugin(this);
|
|
217
|
+
new JavascriptIndexPlugin(this);
|
|
218
|
+
new NavigationPlugin(this);
|
|
219
|
+
new SitemapPlugin(this);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Define a new theme that can be used to render output.
|
|
223
|
+
* This API will likely be changing at some point, to allow more easily overriding parts of the theme without
|
|
224
|
+
* requiring additional boilerplate.
|
|
225
|
+
* @param name
|
|
226
|
+
* @param theme
|
|
227
|
+
*/
|
|
228
|
+
defineTheme(name, theme) {
|
|
229
|
+
if (this.themes.has(name)) {
|
|
230
|
+
throw new Error(`The theme "${name}" has already been defined.`);
|
|
231
|
+
}
|
|
232
|
+
this.themes.set(name, theme);
|
|
233
|
+
}
|
|
234
|
+
/** @internal intended for test usage only */
|
|
235
|
+
removeTheme(name) {
|
|
236
|
+
this.themes.delete(name);
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Define a new router that can be used to determine the output structure.
|
|
240
|
+
* @param name
|
|
241
|
+
* @param router
|
|
242
|
+
*/
|
|
243
|
+
defineRouter(name, router) {
|
|
244
|
+
if (this.routers.has(name)) {
|
|
245
|
+
throw new Error(`The router "${name}" has already been defined.`);
|
|
246
|
+
}
|
|
247
|
+
this.routers.set(name, router);
|
|
248
|
+
}
|
|
249
|
+
/** @internal intended for test usage only */
|
|
250
|
+
removeRouter(name) {
|
|
251
|
+
this.routers.delete(name);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Render the given project reflection to the specified output directory.
|
|
255
|
+
*
|
|
256
|
+
* @param project The project that should be rendered.
|
|
257
|
+
* @param outputDirectory The path of the directory the documentation should be rendered to.
|
|
258
|
+
*/
|
|
259
|
+
async render(project, outputDirectory) {
|
|
260
|
+
JSX.setRenderSettings({ pretty: this.pretty });
|
|
261
|
+
const momento = this.hooks.saveMomento();
|
|
262
|
+
this.renderStartTime = Date.now();
|
|
263
|
+
if (!this.prepareRouter() ||
|
|
264
|
+
!this.prepareTheme() ||
|
|
265
|
+
!(await this.prepareOutputDirectory(outputDirectory))) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
const pages = this.router.buildPages(project);
|
|
269
|
+
const output = new RendererEvent(outputDirectory, project, pages);
|
|
270
|
+
this.trigger(RendererEvent.BEGIN, output);
|
|
271
|
+
await this.runPreRenderJobs(output);
|
|
272
|
+
this.application.logger.verbose(`There are ${pages.length} pages to write.`);
|
|
273
|
+
for (const page of pages) {
|
|
274
|
+
this.renderDocument(outputDirectory, page, project);
|
|
275
|
+
}
|
|
276
|
+
this.postRenderAsyncJobs.push(async (o) => await this.theme.postRender(o));
|
|
277
|
+
await Promise.all(this.postRenderAsyncJobs.map((job) => job(output)));
|
|
278
|
+
this.postRenderAsyncJobs = [];
|
|
279
|
+
this.trigger(RendererEvent.END, output);
|
|
280
|
+
this.theme = void 0;
|
|
281
|
+
this.router = void 0;
|
|
282
|
+
this.hooks.restoreMomento(momento);
|
|
283
|
+
}
|
|
284
|
+
async runPreRenderJobs(output) {
|
|
285
|
+
const start = Date.now();
|
|
286
|
+
this.preRenderAsyncJobs.push(async (o) => await this.theme.preRender(o));
|
|
287
|
+
await Promise.all(this.preRenderAsyncJobs.map((job) => job(output)));
|
|
288
|
+
this.preRenderAsyncJobs = [];
|
|
289
|
+
this.application.logger.verbose(`Pre render async jobs took ${Date.now() - start}ms`);
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Render a single page.
|
|
293
|
+
*
|
|
294
|
+
* @param page An event describing the current page.
|
|
295
|
+
* @return TRUE if the page has been saved to disc, otherwise FALSE.
|
|
296
|
+
*/
|
|
297
|
+
renderDocument(outputDirectory, page, project) {
|
|
298
|
+
const momento = this.hooks.saveMomento();
|
|
299
|
+
const event = new PageEvent(page.model);
|
|
300
|
+
event.url = page.url;
|
|
301
|
+
event.filename = path.join(outputDirectory, page.url);
|
|
302
|
+
event.pageKind = page.kind;
|
|
303
|
+
event.project = project;
|
|
304
|
+
this.trigger(PageEvent.BEGIN, event);
|
|
305
|
+
event.contents = this.theme.render(event);
|
|
306
|
+
this.trigger(PageEvent.END, event);
|
|
307
|
+
this.hooks.restoreMomento(momento);
|
|
308
|
+
try {
|
|
309
|
+
writeFileSync(event.filename, event.contents);
|
|
310
|
+
}
|
|
311
|
+
catch (error) {
|
|
312
|
+
this.application.logger.error(i18n.could_not_write_0(event.filename));
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
prepareRouter() {
|
|
316
|
+
if (!this.theme) {
|
|
317
|
+
const ctor = this.routers.get(this.routerName);
|
|
318
|
+
if (!ctor) {
|
|
319
|
+
this.application.logger.error(i18n.router_0_is_not_defined_available_are_1(this.routerName, [...this.routers.keys()].join(", ")));
|
|
320
|
+
return false;
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
this.router = new ctor(this.application);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
return true;
|
|
327
|
+
}
|
|
328
|
+
prepareTheme() {
|
|
329
|
+
if (!this.theme) {
|
|
330
|
+
const ctor = this.themes.get(this.themeName);
|
|
331
|
+
if (!ctor) {
|
|
332
|
+
this.application.logger.error(i18n.theme_0_is_not_defined_available_are_1(this.themeName, [...this.themes.keys()].join(", ")));
|
|
333
|
+
return false;
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
this.theme = new ctor(this);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
return true;
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Prepare the output directory. If the directory does not exist, it will be
|
|
343
|
+
* created. If the directory exists, it will be emptied.
|
|
344
|
+
*
|
|
345
|
+
* @param directory The path to the directory that should be prepared.
|
|
346
|
+
* @returns TRUE if the directory could be prepared, otherwise FALSE.
|
|
347
|
+
*/
|
|
348
|
+
async prepareOutputDirectory(directory) {
|
|
349
|
+
if (this.cleanOutputDir) {
|
|
350
|
+
try {
|
|
351
|
+
await fs.promises.rm(directory, {
|
|
352
|
+
recursive: true,
|
|
353
|
+
force: true,
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
catch (error) {
|
|
357
|
+
this.application.logger.warn(i18n.could_not_empty_output_directory_0(directory));
|
|
358
|
+
return false;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
try {
|
|
362
|
+
fs.mkdirSync(directory, { recursive: true });
|
|
363
|
+
}
|
|
364
|
+
catch (error) {
|
|
365
|
+
this.application.logger.error(i18n.could_not_create_output_directory_0(directory));
|
|
366
|
+
return false;
|
|
367
|
+
}
|
|
368
|
+
if (this.githubPages) {
|
|
369
|
+
try {
|
|
370
|
+
const text = "TypeDoc added this file to prevent GitHub Pages from " +
|
|
371
|
+
"using Jekyll. You can turn off this behavior by setting " +
|
|
372
|
+
"the `githubPages` option to false.";
|
|
373
|
+
fs.writeFileSync(path.join(directory, ".nojekyll"), text);
|
|
374
|
+
}
|
|
375
|
+
catch (error) {
|
|
376
|
+
this.application.logger.warn(i18n.could_not_write_0(path.join(directory, ".nojekyll")));
|
|
377
|
+
return false;
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
if (this.cname) {
|
|
381
|
+
fs.writeFileSync(path.join(directory, "CNAME"), this.cname);
|
|
382
|
+
}
|
|
383
|
+
return true;
|
|
384
|
+
}
|
|
385
|
+
};
|
|
386
|
+
})();
|
|
387
|
+
export { Renderer };
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import type { Application } from "../application.js";
|
|
2
|
+
import { ProjectReflection, Reflection, ReflectionKind } from "../models/index.js";
|
|
3
|
+
import { type TypeDocOptionMap } from "../utils/index.js";
|
|
4
|
+
import { Slugger } from "./themes/default/Slugger.js";
|
|
5
|
+
/**
|
|
6
|
+
* The type of page which should be rendered. This may be extended in the future.
|
|
7
|
+
*
|
|
8
|
+
* Note: TypeDoc any string may be used as the page kind. TypeDoc defines a few
|
|
9
|
+
* described by this object.
|
|
10
|
+
* @enum
|
|
11
|
+
*/
|
|
12
|
+
export declare const PageKind: {
|
|
13
|
+
readonly Index: "index";
|
|
14
|
+
readonly Reflection: "reflection";
|
|
15
|
+
readonly Document: "document";
|
|
16
|
+
readonly Hierarchy: "hierarchy";
|
|
17
|
+
};
|
|
18
|
+
export type PageKind = (typeof PageKind)[keyof typeof PageKind] | string & {};
|
|
19
|
+
/**
|
|
20
|
+
* A router target is something that may be linked to within a page. Notably,
|
|
21
|
+
* {@link Reflection} is compatible with this interface. TypeDoc supports non-reflection
|
|
22
|
+
* router targets, but does not currently create any.
|
|
23
|
+
*/
|
|
24
|
+
export type RouterTarget = {
|
|
25
|
+
name: string;
|
|
26
|
+
parent: RouterTarget;
|
|
27
|
+
} | Reflection;
|
|
28
|
+
export interface PageDefinition<out Model extends RouterTarget = RouterTarget> {
|
|
29
|
+
readonly url: string;
|
|
30
|
+
readonly kind: PageKind;
|
|
31
|
+
readonly model: Model;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Interface which routers must conform to.
|
|
35
|
+
*/
|
|
36
|
+
export interface Router {
|
|
37
|
+
/**
|
|
38
|
+
* Should return a list of pages which should be rendered.
|
|
39
|
+
* This will be called once per render.
|
|
40
|
+
*/
|
|
41
|
+
buildPages(project: ProjectReflection): PageDefinition[];
|
|
42
|
+
/**
|
|
43
|
+
* Can be used to check if the target can be linked to.
|
|
44
|
+
*/
|
|
45
|
+
hasUrl(target: RouterTarget): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Get a list of all targets which can be linked to.
|
|
48
|
+
* This is used for creating the search index.
|
|
49
|
+
*/
|
|
50
|
+
getLinkTargets(): RouterTarget[];
|
|
51
|
+
/**
|
|
52
|
+
* Gets an anchor for this target within its containing page.
|
|
53
|
+
* May be undefined if this target owns its own page.
|
|
54
|
+
*/
|
|
55
|
+
getAnchor(refl: RouterTarget): string | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* Returns true if the target has its own page, false if embedded within
|
|
58
|
+
* another page.
|
|
59
|
+
*/
|
|
60
|
+
hasOwnDocument(refl: RouterTarget): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Should return a URL which when clicked on the page containing `from`
|
|
63
|
+
* takes the user to the page/anchor containing `to`.
|
|
64
|
+
*/
|
|
65
|
+
relativeUrl(from: RouterTarget, to: RouterTarget): string;
|
|
66
|
+
/**
|
|
67
|
+
* Should return a URL relative to the project base. This is used for
|
|
68
|
+
* determining links to items in the assets folder.
|
|
69
|
+
*/
|
|
70
|
+
baseRelativeUrl(from: RouterTarget, target: string): string;
|
|
71
|
+
/**
|
|
72
|
+
* Get the full URL to the target. In TypeDoc's default router this
|
|
73
|
+
* is equivalent to `relativeUrl(project, refl)`, but this might not be
|
|
74
|
+
* the case for custom routers which place the project somewhere else
|
|
75
|
+
* besides `index.html`.
|
|
76
|
+
*
|
|
77
|
+
* The URL returned by this by the frontend JS when building dynamic URLs
|
|
78
|
+
* for the search, full hierarchy, and navigation components.
|
|
79
|
+
*/
|
|
80
|
+
getFullUrl(refl: RouterTarget): string;
|
|
81
|
+
/**
|
|
82
|
+
* Responsible for getting a slugger for the given target. If a
|
|
83
|
+
* target is not associated with a page, the slugger for the parent
|
|
84
|
+
* target should be returned instead.
|
|
85
|
+
*/
|
|
86
|
+
getSlugger(reflection: RouterTarget): Slugger;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Base router class intended to make it easier to implement a router.
|
|
90
|
+
*
|
|
91
|
+
* Child classes need only {@link getIdealBaseName}, this class will take care
|
|
92
|
+
* of the recursing through child reflections.
|
|
93
|
+
* @group Routers
|
|
94
|
+
*/
|
|
95
|
+
export declare abstract class BaseRouter implements Router {
|
|
96
|
+
readonly application: Application;
|
|
97
|
+
extension: string;
|
|
98
|
+
protected usedFileNames: Set<string>;
|
|
99
|
+
protected sluggers: Map<RouterTarget, Slugger>;
|
|
100
|
+
protected fullUrls: Map<RouterTarget, string>;
|
|
101
|
+
protected anchors: Map<RouterTarget, string>;
|
|
102
|
+
protected accessor sluggerConfiguration: TypeDocOptionMap["sluggerConfiguration"];
|
|
103
|
+
protected accessor includeHierarchySummary: boolean;
|
|
104
|
+
constructor(application: Application);
|
|
105
|
+
/**
|
|
106
|
+
* Should return the base-relative desired file name for a router target.
|
|
107
|
+
* This name may not be used exactly as TypeDoc will detect conflicts
|
|
108
|
+
* and automatically introduce a unique identifier to the URL to resolve
|
|
109
|
+
* them.
|
|
110
|
+
*/
|
|
111
|
+
protected abstract getIdealBaseName(reflection: RouterTarget): string;
|
|
112
|
+
buildPages(project: ProjectReflection): PageDefinition[];
|
|
113
|
+
hasUrl(target: RouterTarget): boolean;
|
|
114
|
+
getLinkTargets(): RouterTarget[];
|
|
115
|
+
getAnchor(target: RouterTarget): string | undefined;
|
|
116
|
+
hasOwnDocument(target: RouterTarget): boolean;
|
|
117
|
+
relativeUrl(from: RouterTarget, to: RouterTarget): string;
|
|
118
|
+
baseRelativeUrl(from: RouterTarget, target: string): string;
|
|
119
|
+
getFullUrl(target: RouterTarget): string;
|
|
120
|
+
getSlugger(target: RouterTarget): Slugger;
|
|
121
|
+
/**
|
|
122
|
+
* Should the page kind to use if a reflection should have its own rendered
|
|
123
|
+
* page in the output. Note that once `undefined` is returned, children of
|
|
124
|
+
* that reflection will not have their own document.
|
|
125
|
+
*/
|
|
126
|
+
protected getPageKind(target: RouterTarget): PageKind | undefined;
|
|
127
|
+
protected buildChildPages(target: RouterTarget, outPages: PageDefinition[]): void;
|
|
128
|
+
protected buildAnchors(target: RouterTarget, pageTarget: RouterTarget): void;
|
|
129
|
+
/** Strip non-url safe characters from the specified string. */
|
|
130
|
+
protected getUrlSafeName(name: string): string;
|
|
131
|
+
protected getFileName(baseName: string): string;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Router which places reflections in folders according to their kind.
|
|
135
|
+
* @group Routers
|
|
136
|
+
*/
|
|
137
|
+
export declare class KindRouter extends BaseRouter {
|
|
138
|
+
directories: Map<ReflectionKind, string>;
|
|
139
|
+
protected getIdealBaseName(reflection: Reflection): string;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Router which places reflections in folders according to their kind,
|
|
143
|
+
* but creates each page as `/index.html` to allow for clean URLs.
|
|
144
|
+
* @group Routers
|
|
145
|
+
*/
|
|
146
|
+
export declare class KindDirRouter extends KindRouter {
|
|
147
|
+
private fixLink;
|
|
148
|
+
protected buildChildPages(reflection: Reflection, outPages: PageDefinition[]): void;
|
|
149
|
+
getFullUrl(refl: Reflection): string;
|
|
150
|
+
relativeUrl(from: Reflection, to: Reflection): string;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Router which places reflections in folders according to the module structure.
|
|
154
|
+
* @group Routers
|
|
155
|
+
*/
|
|
156
|
+
export declare class StructureRouter extends BaseRouter {
|
|
157
|
+
protected getIdealBaseName(reflection: Reflection): string;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Router which places reflections in folders according to the module structure,
|
|
161
|
+
* but creates each page as `/index.html` to allow for clean URLs.
|
|
162
|
+
* @group Routers
|
|
163
|
+
*/
|
|
164
|
+
export declare class StructureDirRouter extends StructureRouter {
|
|
165
|
+
private fixLink;
|
|
166
|
+
protected buildChildPages(reflection: Reflection, outPages: PageDefinition[]): void;
|
|
167
|
+
getFullUrl(refl: Reflection): string;
|
|
168
|
+
relativeUrl(from: Reflection, to: Reflection): string;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Router which places reflections in folders according to `@group` tags.
|
|
172
|
+
* @group Routers
|
|
173
|
+
*/
|
|
174
|
+
export declare class GroupRouter extends BaseRouter {
|
|
175
|
+
private accessor groupReferencesByType;
|
|
176
|
+
private getGroup;
|
|
177
|
+
protected getIdealBaseName(reflection: Reflection): string;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Router which places reflections in folders according to `@category` tags.
|
|
181
|
+
* @group Routers
|
|
182
|
+
*/
|
|
183
|
+
export declare class CategoryRouter extends BaseRouter {
|
|
184
|
+
private accessor defaultCategory;
|
|
185
|
+
private getCategory;
|
|
186
|
+
protected getIdealBaseName(reflection: Reflection): string;
|
|
187
|
+
}
|