@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,222 @@
|
|
|
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
|
+
import * as Path from "path";
|
|
36
|
+
import lunr from "lunr";
|
|
37
|
+
import { Reflection } from "../../models/index.js";
|
|
38
|
+
import { RendererComponent } from "../components.js";
|
|
39
|
+
import { IndexEvent, RendererEvent } from "../events.js";
|
|
40
|
+
import { Option, writeFile } from "../../utils/index.js";
|
|
41
|
+
import { DefaultTheme } from "../themes/default/DefaultTheme.js";
|
|
42
|
+
import { GroupPlugin } from "../../converter/plugins/GroupPlugin.js";
|
|
43
|
+
import { CategoryPlugin } from "../../converter/plugins/CategoryPlugin.js";
|
|
44
|
+
import { compressJson } from "../../utils/compress.js";
|
|
45
|
+
import { i18n } from "#utils";
|
|
46
|
+
/**
|
|
47
|
+
* A plugin that exports an index of the project to a javascript file.
|
|
48
|
+
*
|
|
49
|
+
* The resulting javascript file can be used to build a simple search function.
|
|
50
|
+
*/
|
|
51
|
+
let JavascriptIndexPlugin = (() => {
|
|
52
|
+
let _classSuper = RendererComponent;
|
|
53
|
+
let _searchComments_decorators;
|
|
54
|
+
let _searchComments_initializers = [];
|
|
55
|
+
let _searchComments_extraInitializers = [];
|
|
56
|
+
let _searchDocuments_decorators;
|
|
57
|
+
let _searchDocuments_initializers = [];
|
|
58
|
+
let _searchDocuments_extraInitializers = [];
|
|
59
|
+
let _searchGroupBoosts_decorators;
|
|
60
|
+
let _searchGroupBoosts_initializers = [];
|
|
61
|
+
let _searchGroupBoosts_extraInitializers = [];
|
|
62
|
+
let _searchCategoryBoosts_decorators;
|
|
63
|
+
let _searchCategoryBoosts_initializers = [];
|
|
64
|
+
let _searchCategoryBoosts_extraInitializers = [];
|
|
65
|
+
let _groupReferencesByType_decorators;
|
|
66
|
+
let _groupReferencesByType_initializers = [];
|
|
67
|
+
let _groupReferencesByType_extraInitializers = [];
|
|
68
|
+
return class JavascriptIndexPlugin extends _classSuper {
|
|
69
|
+
static {
|
|
70
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
71
|
+
_searchComments_decorators = [Option("searchInComments")];
|
|
72
|
+
_searchDocuments_decorators = [Option("searchInDocuments")];
|
|
73
|
+
_searchGroupBoosts_decorators = [Option("searchGroupBoosts")];
|
|
74
|
+
_searchCategoryBoosts_decorators = [Option("searchCategoryBoosts")];
|
|
75
|
+
_groupReferencesByType_decorators = [Option("groupReferencesByType")];
|
|
76
|
+
__esDecorate(this, null, _searchComments_decorators, { kind: "accessor", name: "searchComments", static: false, private: false, access: { has: obj => "searchComments" in obj, get: obj => obj.searchComments, set: (obj, value) => { obj.searchComments = value; } }, metadata: _metadata }, _searchComments_initializers, _searchComments_extraInitializers);
|
|
77
|
+
__esDecorate(this, null, _searchDocuments_decorators, { kind: "accessor", name: "searchDocuments", static: false, private: false, access: { has: obj => "searchDocuments" in obj, get: obj => obj.searchDocuments, set: (obj, value) => { obj.searchDocuments = value; } }, metadata: _metadata }, _searchDocuments_initializers, _searchDocuments_extraInitializers);
|
|
78
|
+
__esDecorate(this, null, _searchGroupBoosts_decorators, { kind: "accessor", name: "searchGroupBoosts", static: false, private: false, access: { has: obj => "searchGroupBoosts" in obj, get: obj => obj.searchGroupBoosts, set: (obj, value) => { obj.searchGroupBoosts = value; } }, metadata: _metadata }, _searchGroupBoosts_initializers, _searchGroupBoosts_extraInitializers);
|
|
79
|
+
__esDecorate(this, null, _searchCategoryBoosts_decorators, { kind: "accessor", name: "searchCategoryBoosts", static: false, private: false, access: { has: obj => "searchCategoryBoosts" in obj, get: obj => obj.searchCategoryBoosts, set: (obj, value) => { obj.searchCategoryBoosts = value; } }, metadata: _metadata }, _searchCategoryBoosts_initializers, _searchCategoryBoosts_extraInitializers);
|
|
80
|
+
__esDecorate(this, null, _groupReferencesByType_decorators, { kind: "accessor", name: "groupReferencesByType", static: false, private: false, access: { has: obj => "groupReferencesByType" in obj, get: obj => obj.groupReferencesByType, set: (obj, value) => { obj.groupReferencesByType = value; } }, metadata: _metadata }, _groupReferencesByType_initializers, _groupReferencesByType_extraInitializers);
|
|
81
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
82
|
+
}
|
|
83
|
+
#searchComments_accessor_storage = __runInitializers(this, _searchComments_initializers, void 0);
|
|
84
|
+
get searchComments() { return this.#searchComments_accessor_storage; }
|
|
85
|
+
set searchComments(value) { this.#searchComments_accessor_storage = value; }
|
|
86
|
+
#searchDocuments_accessor_storage = (__runInitializers(this, _searchComments_extraInitializers), __runInitializers(this, _searchDocuments_initializers, void 0));
|
|
87
|
+
get searchDocuments() { return this.#searchDocuments_accessor_storage; }
|
|
88
|
+
set searchDocuments(value) { this.#searchDocuments_accessor_storage = value; }
|
|
89
|
+
#searchGroupBoosts_accessor_storage = (__runInitializers(this, _searchDocuments_extraInitializers), __runInitializers(this, _searchGroupBoosts_initializers, void 0));
|
|
90
|
+
get searchGroupBoosts() { return this.#searchGroupBoosts_accessor_storage; }
|
|
91
|
+
set searchGroupBoosts(value) { this.#searchGroupBoosts_accessor_storage = value; }
|
|
92
|
+
#searchCategoryBoosts_accessor_storage = (__runInitializers(this, _searchGroupBoosts_extraInitializers), __runInitializers(this, _searchCategoryBoosts_initializers, void 0));
|
|
93
|
+
get searchCategoryBoosts() { return this.#searchCategoryBoosts_accessor_storage; }
|
|
94
|
+
set searchCategoryBoosts(value) { this.#searchCategoryBoosts_accessor_storage = value; }
|
|
95
|
+
#groupReferencesByType_accessor_storage = (__runInitializers(this, _searchCategoryBoosts_extraInitializers), __runInitializers(this, _groupReferencesByType_initializers, void 0));
|
|
96
|
+
get groupReferencesByType() { return this.#groupReferencesByType_accessor_storage; }
|
|
97
|
+
set groupReferencesByType(value) { this.#groupReferencesByType_accessor_storage = value; }
|
|
98
|
+
unusedGroupBoosts = (__runInitializers(this, _groupReferencesByType_extraInitializers), new Set());
|
|
99
|
+
unusedCatBoosts = new Set();
|
|
100
|
+
constructor(owner) {
|
|
101
|
+
super(owner);
|
|
102
|
+
this.owner.on(RendererEvent.BEGIN, this.onRendererBegin.bind(this));
|
|
103
|
+
}
|
|
104
|
+
onRendererBegin(_event) {
|
|
105
|
+
this.unusedGroupBoosts = new Set(Object.keys(this.searchGroupBoosts));
|
|
106
|
+
this.unusedCatBoosts = new Set(Object.keys(this.searchCategoryBoosts));
|
|
107
|
+
if (!(this.owner.theme instanceof DefaultTheme)) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
this.owner.preRenderAsyncJobs.push((event) => this.buildSearchIndex(event));
|
|
111
|
+
}
|
|
112
|
+
async buildSearchIndex(event) {
|
|
113
|
+
const theme = this.owner.theme;
|
|
114
|
+
const rows = [];
|
|
115
|
+
const initialSearchResults = this.owner
|
|
116
|
+
.router.getLinkTargets()
|
|
117
|
+
.filter((refl) => refl instanceof Reflection &&
|
|
118
|
+
(refl.isDeclaration() || refl.isDocument()) &&
|
|
119
|
+
refl.name &&
|
|
120
|
+
!refl.flags.isExternal);
|
|
121
|
+
const indexEvent = new IndexEvent(initialSearchResults);
|
|
122
|
+
this.owner.trigger(IndexEvent.PREPARE_INDEX, indexEvent);
|
|
123
|
+
const builder = new lunr.Builder();
|
|
124
|
+
builder.pipeline.add(lunr.trimmer);
|
|
125
|
+
builder.ref("id");
|
|
126
|
+
for (const [key, boost] of Object.entries(indexEvent.searchFieldWeights)) {
|
|
127
|
+
builder.field(key, { boost });
|
|
128
|
+
}
|
|
129
|
+
for (const reflection of indexEvent.searchResults) {
|
|
130
|
+
const boost = this.getBoost(reflection);
|
|
131
|
+
if (boost <= 0) {
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
let parent = reflection.parent;
|
|
135
|
+
if (parent?.isProject()) {
|
|
136
|
+
parent = undefined;
|
|
137
|
+
}
|
|
138
|
+
const row = {
|
|
139
|
+
kind: reflection.kind,
|
|
140
|
+
name: reflection.name,
|
|
141
|
+
url: theme.router.getFullUrl(reflection),
|
|
142
|
+
classes: theme.getReflectionClasses(reflection),
|
|
143
|
+
};
|
|
144
|
+
const icon = theme.getReflectionIcon(reflection);
|
|
145
|
+
if (icon !== reflection.kind) {
|
|
146
|
+
row.icon = icon;
|
|
147
|
+
}
|
|
148
|
+
if (parent) {
|
|
149
|
+
row.parent = parent.getFullName();
|
|
150
|
+
}
|
|
151
|
+
builder.add({
|
|
152
|
+
name: reflection.name,
|
|
153
|
+
comment: this.getCommentSearchText(reflection),
|
|
154
|
+
document: this.getDocumentSearchText(reflection),
|
|
155
|
+
...indexEvent.searchFields[rows.length],
|
|
156
|
+
id: rows.length,
|
|
157
|
+
}, { boost });
|
|
158
|
+
rows.push(row);
|
|
159
|
+
}
|
|
160
|
+
const index = builder.build();
|
|
161
|
+
const jsonFileName = Path.join(event.outputDirectory, "assets", "search.js");
|
|
162
|
+
const data = {
|
|
163
|
+
rows,
|
|
164
|
+
index,
|
|
165
|
+
};
|
|
166
|
+
await writeFile(jsonFileName, `window.searchData = "${await compressJson(data)}";`);
|
|
167
|
+
if (this.unusedGroupBoosts.size &&
|
|
168
|
+
this.application.options.isSet("searchGroupBoosts")) {
|
|
169
|
+
this.application.logger.warn(i18n.not_all_search_group_boosts_used_0(Array.from(this.unusedGroupBoosts).join("\n\t")));
|
|
170
|
+
}
|
|
171
|
+
if (this.unusedCatBoosts.size &&
|
|
172
|
+
this.application.options.isSet("searchCategoryBoosts")) {
|
|
173
|
+
this.application.logger.warn(i18n.not_all_search_category_boosts_used_0(Array.from(this.unusedCatBoosts).join("\n\t")));
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
getBoost(refl) {
|
|
177
|
+
let boost = refl.relevanceBoost ?? 1;
|
|
178
|
+
for (const group of GroupPlugin.getGroups(refl, this.groupReferencesByType)) {
|
|
179
|
+
boost *= this.searchGroupBoosts[group] ?? 1;
|
|
180
|
+
this.unusedGroupBoosts.delete(group);
|
|
181
|
+
}
|
|
182
|
+
for (const cat of CategoryPlugin.getCategories(refl)) {
|
|
183
|
+
boost *= this.searchCategoryBoosts[cat] ?? 1;
|
|
184
|
+
this.unusedCatBoosts.delete(cat);
|
|
185
|
+
}
|
|
186
|
+
return boost;
|
|
187
|
+
}
|
|
188
|
+
getCommentSearchText(reflection) {
|
|
189
|
+
if (!this.searchComments)
|
|
190
|
+
return;
|
|
191
|
+
const comments = [];
|
|
192
|
+
if (reflection.comment)
|
|
193
|
+
comments.push(reflection.comment);
|
|
194
|
+
if (reflection.isDeclaration()) {
|
|
195
|
+
reflection.signatures?.forEach((s) => s.comment && comments.push(s.comment));
|
|
196
|
+
if (reflection.getSignature?.comment) {
|
|
197
|
+
comments.push(reflection.getSignature.comment);
|
|
198
|
+
}
|
|
199
|
+
if (reflection.setSignature?.comment) {
|
|
200
|
+
comments.push(reflection.setSignature.comment);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
if (!comments.length) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
return comments
|
|
207
|
+
.flatMap((c) => {
|
|
208
|
+
return [...c.summary, ...c.blockTags.flatMap((t) => t.content)];
|
|
209
|
+
})
|
|
210
|
+
.map((part) => part.text)
|
|
211
|
+
.join("\n");
|
|
212
|
+
}
|
|
213
|
+
getDocumentSearchText(reflection) {
|
|
214
|
+
if (!this.searchDocuments)
|
|
215
|
+
return;
|
|
216
|
+
if (reflection.isDocument()) {
|
|
217
|
+
return reflection.content.flatMap((c) => c.text).join("\n");
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
})();
|
|
222
|
+
export { JavascriptIndexPlugin };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as Path from "path";
|
|
2
|
+
import { RendererComponent } from "../components.js";
|
|
3
|
+
import { RendererEvent } from "../events.js";
|
|
4
|
+
import { writeFile } from "../../utils/index.js";
|
|
5
|
+
import { DefaultTheme } from "../themes/default/DefaultTheme.js";
|
|
6
|
+
import { compressJson } from "../../utils/compress.js";
|
|
7
|
+
export class NavigationPlugin extends RendererComponent {
|
|
8
|
+
constructor(owner) {
|
|
9
|
+
super(owner);
|
|
10
|
+
this.owner.on(RendererEvent.BEGIN, this.onRendererBegin.bind(this));
|
|
11
|
+
}
|
|
12
|
+
onRendererBegin(_event) {
|
|
13
|
+
if (!(this.owner.theme instanceof DefaultTheme)) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
this.owner.preRenderAsyncJobs.push((event) => this.buildNavigationIndex(event));
|
|
17
|
+
}
|
|
18
|
+
async buildNavigationIndex(event) {
|
|
19
|
+
const navigationJs = Path.join(event.outputDirectory, "assets", "navigation.js");
|
|
20
|
+
const nav = this.owner.theme.getNavigation(event.project);
|
|
21
|
+
await writeFile(navigationJs, `window.navigationData = "${await compressJson(nav)}"`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { RendererComponent } from "../components.js";
|
|
2
|
+
import type { Renderer } from "../index.js";
|
|
3
|
+
export declare class SitemapPlugin extends RendererComponent {
|
|
4
|
+
private get hostedBaseUrl();
|
|
5
|
+
constructor(owner: Renderer);
|
|
6
|
+
private onRendererBegin;
|
|
7
|
+
private buildSitemap;
|
|
8
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import Path from "path";
|
|
2
|
+
import { RendererComponent } from "../components.js";
|
|
3
|
+
import { RendererEvent } from "../events.js";
|
|
4
|
+
import { DefaultTheme } from "../themes/default/DefaultTheme.js";
|
|
5
|
+
import { writeFile } from "#node-utils";
|
|
6
|
+
import { escapeHtml, JSX } from "#utils";
|
|
7
|
+
export class SitemapPlugin extends RendererComponent {
|
|
8
|
+
get hostedBaseUrl() {
|
|
9
|
+
const url = this.application.options.getValue("hostedBaseUrl");
|
|
10
|
+
return !url || url.endsWith("/") ? url : url + "/";
|
|
11
|
+
}
|
|
12
|
+
constructor(owner) {
|
|
13
|
+
super(owner);
|
|
14
|
+
this.owner.on(RendererEvent.BEGIN, this.onRendererBegin.bind(this));
|
|
15
|
+
}
|
|
16
|
+
onRendererBegin(_event) {
|
|
17
|
+
if (!(this.owner.theme instanceof DefaultTheme)) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (!this.hostedBaseUrl) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
this.owner.hooks.on("head.begin", (context) => {
|
|
24
|
+
if (context.page.url === "index.html") {
|
|
25
|
+
return {
|
|
26
|
+
tag: "link",
|
|
27
|
+
props: { rel: "canonical", href: this.hostedBaseUrl },
|
|
28
|
+
children: [],
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return { tag: JSX.Fragment, props: null, children: [] };
|
|
32
|
+
});
|
|
33
|
+
this.owner.preRenderAsyncJobs.push((event) => this.buildSitemap(event));
|
|
34
|
+
}
|
|
35
|
+
async buildSitemap(event) {
|
|
36
|
+
// cSpell:words lastmod urlset
|
|
37
|
+
const sitemapXml = Path.join(event.outputDirectory, "sitemap.xml");
|
|
38
|
+
const lastmod = new Date(this.owner.renderStartTime).toISOString();
|
|
39
|
+
const urls = event.pages.map((page) => {
|
|
40
|
+
return {
|
|
41
|
+
tag: "url",
|
|
42
|
+
children: [
|
|
43
|
+
{
|
|
44
|
+
tag: "loc",
|
|
45
|
+
children: new URL(page.url, this.hostedBaseUrl).toString(),
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
tag: "lastmod",
|
|
49
|
+
children: lastmod,
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
const sitemap = `<?xml version="1.0" encoding="UTF-8"?>\n` +
|
|
55
|
+
stringifyXml({
|
|
56
|
+
tag: "urlset",
|
|
57
|
+
attr: { xmlns: "http://www.sitemaps.org/schemas/sitemap/0.9" },
|
|
58
|
+
children: urls,
|
|
59
|
+
}) +
|
|
60
|
+
"\n";
|
|
61
|
+
await writeFile(sitemapXml, sitemap);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function stringifyXml(xml, indent = 0) {
|
|
65
|
+
const parts = ["\t".repeat(indent), "<", xml.tag];
|
|
66
|
+
for (const [key, val] of Object.entries(xml.attr || {})) {
|
|
67
|
+
parts.push(" ", key, '="', escapeHtml(val), '"');
|
|
68
|
+
}
|
|
69
|
+
parts.push(">");
|
|
70
|
+
if (typeof xml.children === "string") {
|
|
71
|
+
parts.push(escapeHtml(xml.children));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
for (const child of xml.children) {
|
|
75
|
+
parts.push("\n");
|
|
76
|
+
parts.push(stringifyXml(child, indent + 1));
|
|
77
|
+
}
|
|
78
|
+
parts.push("\n", "\t".repeat(indent));
|
|
79
|
+
}
|
|
80
|
+
parts.push("</", xml.tag, ">");
|
|
81
|
+
return parts.join("");
|
|
82
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { MarkedPlugin } from "../themes/MarkedPlugin.js";
|
|
2
|
+
export { AssetsPlugin } from "./AssetsPlugin.js";
|
|
3
|
+
export { HierarchyPlugin } from "./HierarchyPlugin.js";
|
|
4
|
+
export { IconsPlugin } from "./IconsPlugin.js";
|
|
5
|
+
export { JavascriptIndexPlugin } from "./JavascriptIndexPlugin.js";
|
|
6
|
+
export { NavigationPlugin } from "./NavigationPlugin.js";
|
|
7
|
+
export { SitemapPlugin } from "./SitemapPlugin.js";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { MarkedPlugin } from "../themes/MarkedPlugin.js";
|
|
2
|
+
export { AssetsPlugin } from "./AssetsPlugin.js";
|
|
3
|
+
export { HierarchyPlugin } from "./HierarchyPlugin.js";
|
|
4
|
+
export { IconsPlugin } from "./IconsPlugin.js";
|
|
5
|
+
export { JavascriptIndexPlugin } from "./JavascriptIndexPlugin.js";
|
|
6
|
+
export { NavigationPlugin } from "./NavigationPlugin.js";
|
|
7
|
+
export { SitemapPlugin } from "./SitemapPlugin.js";
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import type { Application } from "../application.js";
|
|
2
|
+
import type { Theme } from "./theme.js";
|
|
3
|
+
import { IndexEvent, type MarkdownEvent, PageEvent, RendererEvent } from "./events.js";
|
|
4
|
+
import type { ProjectReflection } from "../models/ProjectReflection.js";
|
|
5
|
+
import { AbstractComponent } from "../utils/index.js";
|
|
6
|
+
import type { Comment, Reflection } from "../models/index.js";
|
|
7
|
+
import type { DefaultThemeRenderContext } from "./themes/default/DefaultThemeRenderContext.js";
|
|
8
|
+
import { EventHooks, JSX } from "#utils";
|
|
9
|
+
import { MarkedPlugin } from "./plugins/index.js";
|
|
10
|
+
import { type Router } from "./router.js";
|
|
11
|
+
/**
|
|
12
|
+
* Describes the hooks available to inject output in the default theme.
|
|
13
|
+
* If the available hooks don't let you put something where you'd like, please open an issue!
|
|
14
|
+
*/
|
|
15
|
+
export interface RendererHooks {
|
|
16
|
+
/**
|
|
17
|
+
* Applied immediately after the opening `<head>` tag.
|
|
18
|
+
*/
|
|
19
|
+
"head.begin": [DefaultThemeRenderContext];
|
|
20
|
+
/**
|
|
21
|
+
* Applied immediately before the closing `</head>` tag.
|
|
22
|
+
*/
|
|
23
|
+
"head.end": [DefaultThemeRenderContext];
|
|
24
|
+
/**
|
|
25
|
+
* Applied immediately after the opening `<body>` tag.
|
|
26
|
+
*/
|
|
27
|
+
"body.begin": [DefaultThemeRenderContext];
|
|
28
|
+
/**
|
|
29
|
+
* Applied immediately before the closing `</body>` tag.
|
|
30
|
+
*/
|
|
31
|
+
"body.end": [DefaultThemeRenderContext];
|
|
32
|
+
/**
|
|
33
|
+
* Applied immediately before the main template.
|
|
34
|
+
*/
|
|
35
|
+
"content.begin": [DefaultThemeRenderContext];
|
|
36
|
+
/**
|
|
37
|
+
* Applied immediately after the main template.
|
|
38
|
+
*/
|
|
39
|
+
"content.end": [DefaultThemeRenderContext];
|
|
40
|
+
/**
|
|
41
|
+
* Applied immediately before calling `context.sidebar`.
|
|
42
|
+
*/
|
|
43
|
+
"sidebar.begin": [DefaultThemeRenderContext];
|
|
44
|
+
/**
|
|
45
|
+
* Applied immediately after calling `context.sidebar`.
|
|
46
|
+
*/
|
|
47
|
+
"sidebar.end": [DefaultThemeRenderContext];
|
|
48
|
+
/**
|
|
49
|
+
* Applied immediately before calling `context.pageSidebar`.
|
|
50
|
+
*/
|
|
51
|
+
"pageSidebar.begin": [DefaultThemeRenderContext];
|
|
52
|
+
/**
|
|
53
|
+
* Applied immediately after calling `context.pageSidebar`.
|
|
54
|
+
*/
|
|
55
|
+
"pageSidebar.end": [DefaultThemeRenderContext];
|
|
56
|
+
/**
|
|
57
|
+
* Applied immediately before the "Generated by TypeDoc" link in the footer.
|
|
58
|
+
*/
|
|
59
|
+
"footer.begin": [DefaultThemeRenderContext];
|
|
60
|
+
/**
|
|
61
|
+
* Applied immediately after the "Generated by TypeDoc" link in the footer.
|
|
62
|
+
*/
|
|
63
|
+
"footer.end": [DefaultThemeRenderContext];
|
|
64
|
+
/**
|
|
65
|
+
* Applied immediately before a comment's tags are rendered.
|
|
66
|
+
*
|
|
67
|
+
* This may be used to set {@link Models.CommentTag.skipRendering} on any tags which
|
|
68
|
+
* should not be rendered.
|
|
69
|
+
*/
|
|
70
|
+
"comment.beforeTags": [DefaultThemeRenderContext, Comment, Reflection];
|
|
71
|
+
/**
|
|
72
|
+
* Applied immediately after a comment's tags are rendered.
|
|
73
|
+
*
|
|
74
|
+
* This may be used to set {@link Models.CommentTag.skipRendering} on any tags which
|
|
75
|
+
* should not be rendered as this hook is called before the tags are actually
|
|
76
|
+
* rendered.
|
|
77
|
+
*/
|
|
78
|
+
"comment.afterTags": [DefaultThemeRenderContext, Comment, Reflection];
|
|
79
|
+
}
|
|
80
|
+
export interface RendererEvents {
|
|
81
|
+
beginRender: [RendererEvent];
|
|
82
|
+
beginPage: [PageEvent];
|
|
83
|
+
endPage: [PageEvent];
|
|
84
|
+
endRender: [RendererEvent];
|
|
85
|
+
parseMarkdown: [MarkdownEvent];
|
|
86
|
+
prepareIndex: [IndexEvent];
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The renderer processes a {@link ProjectReflection} using a {@link Theme} instance and writes
|
|
90
|
+
* the emitted html documents to a output directory. You can specify which theme should be used
|
|
91
|
+
* using the `--theme <name>` command line argument.
|
|
92
|
+
*
|
|
93
|
+
* {@link Renderer} is a subclass of {@link EventDispatcher} and triggers a series of events while
|
|
94
|
+
* a project is being processed. You can listen to these events to control the flow or manipulate
|
|
95
|
+
* the output.
|
|
96
|
+
*
|
|
97
|
+
* * {@link Renderer.EVENT_BEGIN}<br>
|
|
98
|
+
* Triggered before the renderer starts rendering a project. The listener receives
|
|
99
|
+
* an instance of {@link RendererEvent}.
|
|
100
|
+
*
|
|
101
|
+
* * {@link Renderer.EVENT_BEGIN_PAGE}<br>
|
|
102
|
+
* Triggered before a document will be rendered. The listener receives an instance of
|
|
103
|
+
* {@link PageEvent}.
|
|
104
|
+
*
|
|
105
|
+
* * {@link Renderer.EVENT_END_PAGE}<br>
|
|
106
|
+
* Triggered after a document has been rendered, just before it is written to disc. The
|
|
107
|
+
* listener receives an instance of {@link PageEvent}.
|
|
108
|
+
*
|
|
109
|
+
* * {@link Renderer.EVENT_END}<br>
|
|
110
|
+
* Triggered after the renderer has written all documents. The listener receives
|
|
111
|
+
* an instance of {@link RendererEvent}.
|
|
112
|
+
*
|
|
113
|
+
* * {@link Renderer.EVENT_PREPARE_INDEX}<br>
|
|
114
|
+
* Triggered when the JavascriptIndexPlugin is preparing the search index. Listeners receive
|
|
115
|
+
* an instance of {@link IndexEvent}.
|
|
116
|
+
*
|
|
117
|
+
* @summary Writes HTML output from TypeDoc's models
|
|
118
|
+
* @group None
|
|
119
|
+
*/
|
|
120
|
+
export declare class Renderer extends AbstractComponent<Application, RendererEvents> {
|
|
121
|
+
private routers;
|
|
122
|
+
private themes;
|
|
123
|
+
/** @event */
|
|
124
|
+
static readonly EVENT_BEGIN_PAGE = "beginPage";
|
|
125
|
+
/** @event */
|
|
126
|
+
static readonly EVENT_END_PAGE = "endPage";
|
|
127
|
+
/** @event */
|
|
128
|
+
static readonly EVENT_BEGIN = "beginRender";
|
|
129
|
+
/** @event */
|
|
130
|
+
static readonly EVENT_END = "endRender";
|
|
131
|
+
/** @event */
|
|
132
|
+
static readonly EVENT_PREPARE_INDEX = "prepareIndex";
|
|
133
|
+
/**
|
|
134
|
+
* A list of async jobs which must be completed *before* rendering output.
|
|
135
|
+
* They will be called after {@link RendererEvent.BEGIN} has fired, but before any files have been written.
|
|
136
|
+
*
|
|
137
|
+
* This may be used by plugins to register work that must be done to prepare output files. For example: asynchronously
|
|
138
|
+
* transform markdown to HTML.
|
|
139
|
+
*
|
|
140
|
+
* Note: This array is cleared after calling the contained functions on each {@link Renderer.render} call.
|
|
141
|
+
*/
|
|
142
|
+
preRenderAsyncJobs: Array<(output: RendererEvent) => Promise<void>>;
|
|
143
|
+
/**
|
|
144
|
+
* A list of async jobs which must be completed after rendering output files but before generation is considered successful.
|
|
145
|
+
* These functions will be called after all documents have been written to the filesystem.
|
|
146
|
+
*
|
|
147
|
+
* This may be used by plugins to register work that must be done to finalize output files. For example: asynchronously
|
|
148
|
+
* generating an image referenced in a render hook.
|
|
149
|
+
*
|
|
150
|
+
* Note: This array is cleared after calling the contained functions on each {@link Renderer.render} call.
|
|
151
|
+
*/
|
|
152
|
+
postRenderAsyncJobs: Array<(output: RendererEvent) => Promise<void>>;
|
|
153
|
+
/**
|
|
154
|
+
* The theme that is used to render the documentation.
|
|
155
|
+
*/
|
|
156
|
+
theme?: Theme;
|
|
157
|
+
/**
|
|
158
|
+
* The router which is used to determine the pages to render and
|
|
159
|
+
* how to link between pages.
|
|
160
|
+
*/
|
|
161
|
+
router?: Router;
|
|
162
|
+
/**
|
|
163
|
+
* Hooks which will be called when rendering pages.
|
|
164
|
+
* Note:
|
|
165
|
+
* - Hooks added during output will be discarded at the end of rendering.
|
|
166
|
+
* - Hooks added during a page render will be discarded at the end of that page's render.
|
|
167
|
+
*
|
|
168
|
+
* See {@link RendererHooks} for a description of each available hook, and when it will be called.
|
|
169
|
+
*/
|
|
170
|
+
hooks: EventHooks<RendererHooks, JSX.Element>;
|
|
171
|
+
/** @internal */
|
|
172
|
+
private accessor themeName;
|
|
173
|
+
/** @internal */
|
|
174
|
+
private accessor routerName;
|
|
175
|
+
private accessor cleanOutputDir;
|
|
176
|
+
private accessor cname;
|
|
177
|
+
private accessor githubPages;
|
|
178
|
+
/** @internal */
|
|
179
|
+
accessor cacheBust: boolean;
|
|
180
|
+
private accessor pretty;
|
|
181
|
+
renderStartTime: number;
|
|
182
|
+
markedPlugin: MarkedPlugin;
|
|
183
|
+
constructor(owner: Application);
|
|
184
|
+
/**
|
|
185
|
+
* Define a new theme that can be used to render output.
|
|
186
|
+
* This API will likely be changing at some point, to allow more easily overriding parts of the theme without
|
|
187
|
+
* requiring additional boilerplate.
|
|
188
|
+
* @param name
|
|
189
|
+
* @param theme
|
|
190
|
+
*/
|
|
191
|
+
defineTheme(name: string, theme: new (renderer: Renderer) => Theme): void;
|
|
192
|
+
/** @internal intended for test usage only */
|
|
193
|
+
removeTheme(name: string): void;
|
|
194
|
+
/**
|
|
195
|
+
* Define a new router that can be used to determine the output structure.
|
|
196
|
+
* @param name
|
|
197
|
+
* @param router
|
|
198
|
+
*/
|
|
199
|
+
defineRouter(name: string, router: new (app: Application) => Router): void;
|
|
200
|
+
/** @internal intended for test usage only */
|
|
201
|
+
removeRouter(name: string): void;
|
|
202
|
+
/**
|
|
203
|
+
* Render the given project reflection to the specified output directory.
|
|
204
|
+
*
|
|
205
|
+
* @param project The project that should be rendered.
|
|
206
|
+
* @param outputDirectory The path of the directory the documentation should be rendered to.
|
|
207
|
+
*/
|
|
208
|
+
render(project: ProjectReflection, outputDirectory: string): Promise<void>;
|
|
209
|
+
private runPreRenderJobs;
|
|
210
|
+
/**
|
|
211
|
+
* Render a single page.
|
|
212
|
+
*
|
|
213
|
+
* @param page An event describing the current page.
|
|
214
|
+
* @return TRUE if the page has been saved to disc, otherwise FALSE.
|
|
215
|
+
*/
|
|
216
|
+
private renderDocument;
|
|
217
|
+
private prepareRouter;
|
|
218
|
+
private prepareTheme;
|
|
219
|
+
/**
|
|
220
|
+
* Prepare the output directory. If the directory does not exist, it will be
|
|
221
|
+
* created. If the directory exists, it will be emptied.
|
|
222
|
+
*
|
|
223
|
+
* @param directory The path to the directory that should be prepared.
|
|
224
|
+
* @returns TRUE if the directory could be prepared, otherwise FALSE.
|
|
225
|
+
*/
|
|
226
|
+
private prepareOutputDirectory;
|
|
227
|
+
}
|