typedoc 0.28.18 → 0.28.20
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/README.md +12 -13
- package/bin/typedoc +1 -1
- package/dist/browser-locales/fr.d.ts +2 -0
- package/dist/browser-locales/fr.js +62 -0
- package/dist/browser-utils.js +29 -2
- package/dist/cli.js +111 -0
- package/dist/index.js +17888 -44
- package/dist/models.js +3736 -0
- package/dist/node-utils.js +7018 -0
- package/dist/serialization.js +430 -0
- package/dist/{lib → types}/application-events.d.ts +2 -0
- package/dist/{lib → types}/application.d.ts +51 -8
- package/dist/{lib → types}/converter/comments/declarationReferenceResolver.d.ts +1 -1
- package/dist/{lib → types}/converter/comments/discovery.d.ts +3 -3
- package/dist/{lib → types}/converter/comments/index.d.ts +4 -4
- package/dist/{lib → types}/converter/comments/lexer.d.ts +1 -1
- package/dist/{lib → types}/converter/comments/linkResolver.d.ts +1 -1
- package/dist/{lib → types}/converter/comments/parser.d.ts +3 -4
- package/dist/{lib → types}/converter/comments/textParser.d.ts +8 -2
- package/dist/{lib → types}/converter/components.d.ts +1 -1
- package/dist/{lib → types}/converter/context.d.ts +2 -2
- package/dist/{lib → types}/converter/converter.d.ts +6 -8
- package/dist/{lib → types}/converter/factories/signature.d.ts +1 -1
- package/dist/{lib → types}/converter/index.d.ts +1 -0
- package/dist/{lib → types}/converter/plugins/CategoryPlugin.d.ts +2 -2
- package/dist/{lib → types}/converter/plugins/GroupPlugin.d.ts +2 -3
- package/dist/{lib → types}/converter/plugins/IncludePlugin.d.ts +1 -1
- package/dist/{lib → types}/converter/plugins/InheritDocPlugin.d.ts +1 -1
- package/dist/{lib → types}/converter/plugins/LinkResolverPlugin.d.ts +3 -3
- package/dist/{lib → types}/converter/plugins/SourcePlugin.d.ts +1 -2
- package/dist/{lib → types}/converter/plugins/TypePlugin.d.ts +1 -1
- package/dist/{lib → types}/converter/types.d.ts +1 -1
- package/dist/{lib/converter/utils → types/converter/utilities}/reflections.d.ts +1 -1
- package/dist/{lib/converter/utils → types/converter/utilities}/repository.d.ts +14 -13
- package/dist/{index.d.ts → types/index.d.ts} +15 -16
- package/dist/{lib → types}/internationalization/internationalization.d.ts +0 -8
- package/dist/types/internationalization/locale-utils.d.ts +3 -0
- package/dist/types/internationalization/locales/de.d.ts +368 -0
- package/dist/{lib/internationalization/locales/en.d.cts → types/internationalization/locales/en.d.ts} +2 -1
- package/dist/types/internationalization/locales/fr.d.ts +346 -0
- package/dist/types/internationalization/locales/ja.d.ts +307 -0
- package/dist/types/internationalization/locales/ko.d.ts +221 -0
- package/dist/types/internationalization/locales/zh.d.ts +452 -0
- package/dist/{lib → types}/internationalization/translatable.d.ts +1 -1
- package/dist/{lib → types}/models/FileRegistry.d.ts +6 -1
- package/dist/{lib → types}/models/ReflectionSymbolId.d.ts +9 -3
- package/dist/{lib → types}/models/SourceReference.d.ts +5 -3
- package/dist/types/models.d.ts +1 -0
- package/dist/types/node-utils.d.ts +1 -0
- package/dist/{lib → types}/output/components.d.ts +3 -3
- package/dist/{lib → types}/output/events.d.ts +1 -2
- package/dist/{lib → types}/output/formatter.d.ts +1 -2
- package/dist/{lib → types}/output/output.d.ts +2 -2
- package/dist/{lib → types}/output/renderer.d.ts +4 -5
- package/dist/{lib → types}/output/router.d.ts +3 -2
- package/dist/{lib → types}/output/themes/MarkedPlugin.d.ts +3 -3
- package/dist/{lib → types}/output/themes/default/DefaultTheme.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/DefaultThemeRenderContext.d.ts +25 -25
- package/dist/{lib → types}/output/themes/default/layouts/default.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/anchor-icon.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/breadcrumb.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/comment.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/header.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/hierarchy.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/icon.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/index.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/member.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/member.getterSetter.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/member.signature.body.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/member.signature.title.d.ts +2 -2
- package/dist/{lib → types}/output/themes/default/partials/member.signatures.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/member.sources.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/members.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/moduleReflection.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/navigation.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/reflectionPreview.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/toolbar.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/partials/type.d.ts +2 -2
- package/dist/{lib → types}/output/themes/default/partials/typeDetails.d.ts +2 -2
- package/dist/{lib → types}/output/themes/default/partials/typeParameters.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/templates/document.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/templates/hierarchy.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/templates/index.d.ts +1 -1
- package/dist/{lib → types}/output/themes/default/templates/reflection.d.ts +1 -1
- package/dist/{lib → types}/output/themes/lib.d.ts +1 -1
- package/dist/types/serialization.d.ts +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/{lib → types}/utils/ValidatingFileRegistry.d.ts +1 -1
- package/dist/{lib → types}/utils/entry-point.d.ts +2 -2
- package/dist/{lib → types}/utils/general.d.ts +3 -0
- package/dist/types/utils/index.d.ts +22 -0
- package/dist/{lib → types}/utils/options/declaration.d.ts +2 -1
- package/dist/{lib → types}/utils/options/defaults.d.ts +1 -1
- package/dist/{lib → types}/utils/options/index.d.ts +2 -1
- package/dist/{lib → types}/utils/options/options.d.ts +1 -1
- package/dist/{lib → types}/utils/options/tsdoc-defaults.d.ts +1 -1
- package/dist/{lib → types}/utils/reflections.d.ts +1 -1
- package/dist/{lib → types}/utils/sort.d.ts +1 -2
- package/dist/{lib → types}/utils-common/general.d.ts +4 -4
- package/dist/{lib → types}/utils-common/jsx.elements.d.ts +16 -0
- package/dist/types/utils-common.d.ts +1 -0
- package/dist/{lib → types}/validation/documentation.d.ts +1 -1
- package/dist/{lib → types}/validation/exports.d.ts +1 -1
- package/dist/types/validation/filePaths.d.ts +3 -0
- package/dist/{lib → types}/validation/links.d.ts +1 -1
- package/dist/{lib → types}/validation/unusedMergeModuleWith.d.ts +1 -1
- package/dist/utils-common.js +1311 -0
- package/package.json +46 -37
- package/static/main.js +4 -4
- package/static/style.css +18 -3
- package/tsdoc.json +4 -0
- package/typedoc-config.schema.json +2 -0
- package/dist/lib/application-events.js +0 -5
- package/dist/lib/application.js +0 -716
- package/dist/lib/cli.js +0 -111
- package/dist/lib/converter/comments/blockLexer.js +0 -391
- package/dist/lib/converter/comments/declarationReferenceResolver.js +0 -218
- package/dist/lib/converter/comments/discovery.js +0 -563
- package/dist/lib/converter/comments/index.js +0 -241
- package/dist/lib/converter/comments/lexer.js +0 -10
- package/dist/lib/converter/comments/lineLexer.js +0 -279
- package/dist/lib/converter/comments/linkResolver.js +0 -186
- package/dist/lib/converter/comments/parser.js +0 -538
- package/dist/lib/converter/comments/rawLexer.js +0 -218
- package/dist/lib/converter/comments/tagName.js +0 -58
- package/dist/lib/converter/comments/textParser.js +0 -372
- package/dist/lib/converter/components.js +0 -3
- package/dist/lib/converter/context.js +0 -311
- package/dist/lib/converter/convert-expression.js +0 -58
- package/dist/lib/converter/converter-events.js +0 -13
- package/dist/lib/converter/converter.js +0 -705
- package/dist/lib/converter/factories/index-signature.js +0 -50
- package/dist/lib/converter/factories/signature.js +0 -353
- package/dist/lib/converter/factories/symbol-id.js +0 -50
- package/dist/lib/converter/index.js +0 -3
- package/dist/lib/converter/jsdoc.js +0 -135
- package/dist/lib/converter/plugins/CategoryPlugin.js +0 -278
- package/dist/lib/converter/plugins/CommentPlugin.js +0 -770
- package/dist/lib/converter/plugins/GroupPlugin.js +0 -281
- package/dist/lib/converter/plugins/ImplementsPlugin.js +0 -438
- package/dist/lib/converter/plugins/IncludePlugin.js +0 -254
- package/dist/lib/converter/plugins/InheritDocPlugin.js +0 -220
- package/dist/lib/converter/plugins/LinkResolverPlugin.js +0 -88
- package/dist/lib/converter/plugins/MergeModuleWithPlugin.js +0 -50
- package/dist/lib/converter/plugins/PackagePlugin.js +0 -188
- package/dist/lib/converter/plugins/SourcePlugin.js +0 -215
- package/dist/lib/converter/plugins/TypePlugin.js +0 -108
- package/dist/lib/converter/plugins/index.js +0 -10
- package/dist/lib/converter/symbols.js +0 -861
- package/dist/lib/converter/types.js +0 -833
- package/dist/lib/converter/utils/nodes.js +0 -26
- package/dist/lib/converter/utils/reflections.js +0 -17
- package/dist/lib/converter/utils/repository.js +0 -295
- package/dist/lib/converter/utils/symbols.js +0 -12
- package/dist/lib/debug/index.js +0 -2
- package/dist/lib/debug/reflectionLifetimes.js +0 -27
- package/dist/lib/debug/rendererUrls.js +0 -68
- package/dist/lib/internationalization/index.js +0 -7
- package/dist/lib/internationalization/internationalization.js +0 -64
- package/dist/lib/internationalization/locale-utils.cjs +0 -8
- package/dist/lib/internationalization/locale-utils.d.cts +0 -8
- package/dist/lib/internationalization/locales/de.cjs +0 -401
- package/dist/lib/internationalization/locales/de.d.cts +0 -368
- package/dist/lib/internationalization/locales/en.cjs +0 -411
- package/dist/lib/internationalization/locales/ja.cjs +0 -320
- package/dist/lib/internationalization/locales/ja.d.cts +0 -307
- package/dist/lib/internationalization/locales/ko.cjs +0 -233
- package/dist/lib/internationalization/locales/ko.d.cts +0 -221
- package/dist/lib/internationalization/locales/zh.cjs +0 -488
- package/dist/lib/internationalization/locales/zh.d.cts +0 -452
- package/dist/lib/internationalization/translatable.js +0 -8
- package/dist/lib/models/Comment.js +0 -534
- package/dist/lib/models/ContainerReflection.js +0 -159
- package/dist/lib/models/DeclarationReflection.js +0 -287
- package/dist/lib/models/DocumentReflection.js +0 -66
- package/dist/lib/models/FileRegistry.js +0 -133
- package/dist/lib/models/ParameterReflection.js +0 -39
- package/dist/lib/models/ProjectReflection.js +0 -417
- package/dist/lib/models/ReferenceReflection.js +0 -85
- package/dist/lib/models/Reflection.js +0 -495
- package/dist/lib/models/ReflectionCategory.js +0 -56
- package/dist/lib/models/ReflectionGroup.js +0 -72
- package/dist/lib/models/ReflectionSymbolId.js +0 -85
- package/dist/lib/models/SignatureReflection.js +0 -96
- package/dist/lib/models/SourceReference.js +0 -50
- package/dist/lib/models/TypeParameterReflection.js +0 -45
- package/dist/lib/models/index.js +0 -19
- package/dist/lib/models/kind.js +0 -231
- package/dist/lib/models/types.js +0 -1296
- package/dist/lib/models/utils.js +0 -26
- package/dist/lib/models/variant.js +0 -1
- package/dist/lib/output/components.js +0 -133
- package/dist/lib/output/events.js +0 -195
- package/dist/lib/output/formatter.js +0 -660
- package/dist/lib/output/index.js +0 -7
- package/dist/lib/output/output.js +0 -92
- package/dist/lib/output/plugins/AssetsPlugin.js +0 -160
- package/dist/lib/output/plugins/HierarchyPlugin.js +0 -65
- package/dist/lib/output/plugins/IconsPlugin.js +0 -54
- package/dist/lib/output/plugins/JavascriptIndexPlugin.js +0 -222
- package/dist/lib/output/plugins/NavigationPlugin.js +0 -23
- package/dist/lib/output/plugins/SitemapPlugin.js +0 -82
- package/dist/lib/output/plugins/index.js +0 -7
- package/dist/lib/output/renderer.js +0 -387
- package/dist/lib/output/router.js +0 -520
- package/dist/lib/output/theme.js +0 -17
- package/dist/lib/output/themes/MarkedPlugin.js +0 -461
- package/dist/lib/output/themes/default/DefaultTheme.js +0 -367
- package/dist/lib/output/themes/default/DefaultThemeRenderContext.js +0 -151
- package/dist/lib/output/themes/default/Slugger.js +0 -60
- package/dist/lib/output/themes/default/layouts/default.js +0 -89
- package/dist/lib/output/themes/default/partials/anchor-icon.js +0 -9
- package/dist/lib/output/themes/default/partials/breadcrumb.js +0 -11
- package/dist/lib/output/themes/default/partials/comment.js +0 -80
- package/dist/lib/output/themes/default/partials/footer.js +0 -37
- package/dist/lib/output/themes/default/partials/header.js +0 -39
- package/dist/lib/output/themes/default/partials/hierarchy.js +0 -32
- package/dist/lib/output/themes/default/partials/icon.js +0 -101
- package/dist/lib/output/themes/default/partials/index.js +0 -24
- package/dist/lib/output/themes/default/partials/member.declaration.js +0 -35
- package/dist/lib/output/themes/default/partials/member.getterSetter.js +0 -12
- package/dist/lib/output/themes/default/partials/member.js +0 -36
- package/dist/lib/output/themes/default/partials/member.signature.body.js +0 -33
- package/dist/lib/output/themes/default/partials/member.signature.title.js +0 -9
- package/dist/lib/output/themes/default/partials/member.signatures.js +0 -9
- package/dist/lib/output/themes/default/partials/member.sources.js +0 -55
- package/dist/lib/output/themes/default/partials/members.js +0 -17
- package/dist/lib/output/themes/default/partials/moduleReflection.js +0 -68
- package/dist/lib/output/themes/default/partials/navigation.js +0 -144
- package/dist/lib/output/themes/default/partials/reflectionPreview.js +0 -26
- package/dist/lib/output/themes/default/partials/toolbar.js +0 -13
- package/dist/lib/output/themes/default/partials/type.js +0 -9
- package/dist/lib/output/themes/default/partials/typeAndParent.js +0 -28
- package/dist/lib/output/themes/default/partials/typeDetails.js +0 -284
- package/dist/lib/output/themes/default/partials/typeParameters.js +0 -26
- package/dist/lib/output/themes/default/templates/document.js +0 -3
- package/dist/lib/output/themes/default/templates/hierarchy.js +0 -31
- package/dist/lib/output/themes/default/templates/index.js +0 -3
- package/dist/lib/output/themes/default/templates/reflection.js +0 -53
- package/dist/lib/output/themes/lib.js +0 -218
- package/dist/lib/serialization/components.js +0 -1
- package/dist/lib/serialization/deserializer.js +0 -235
- package/dist/lib/serialization/events.js +0 -18
- package/dist/lib/serialization/index.js +0 -4
- package/dist/lib/serialization/schema.js +0 -32
- package/dist/lib/serialization/serializer.js +0 -65
- package/dist/lib/utils/ValidatingFileRegistry.js +0 -52
- package/dist/lib/utils/component.js +0 -41
- package/dist/lib/utils/compress.js +0 -13
- package/dist/lib/utils/declaration-maps.js +0 -51
- package/dist/lib/utils/entry-point.js +0 -330
- package/dist/lib/utils/fs.js +0 -372
- package/dist/lib/utils/general.js +0 -25
- package/dist/lib/utils/highlighter.js +0 -150
- package/dist/lib/utils/html-entities.js +0 -2329
- package/dist/lib/utils/html.js +0 -635
- package/dist/lib/utils/index.d.ts +0 -17
- package/dist/lib/utils/index.js +0 -15
- package/dist/lib/utils/loggers.js +0 -71
- package/dist/lib/utils/options/declaration.js +0 -443
- package/dist/lib/utils/options/defaults.js +0 -104
- package/dist/lib/utils/options/help.js +0 -63
- package/dist/lib/utils/options/index.js +0 -4
- package/dist/lib/utils/options/options.js +0 -273
- package/dist/lib/utils/options/readers/arguments.js +0 -109
- package/dist/lib/utils/options/readers/index.js +0 -4
- package/dist/lib/utils/options/readers/package-json.js +0 -40
- package/dist/lib/utils/options/readers/tsconfig.js +0 -172
- package/dist/lib/utils/options/readers/typedoc.js +0 -136
- package/dist/lib/utils/options/sources/index.js +0 -1
- package/dist/lib/utils/options/sources/typedoc.js +0 -876
- package/dist/lib/utils/options/tsdoc-defaults.js +0 -94
- package/dist/lib/utils/package-manifest.js +0 -84
- package/dist/lib/utils/paths.js +0 -127
- package/dist/lib/utils/perf.js +0 -86
- package/dist/lib/utils/plugins.js +0 -61
- package/dist/lib/utils/reflections.js +0 -64
- package/dist/lib/utils/sort.js +0 -153
- package/dist/lib/utils/tsconfig.js +0 -60
- package/dist/lib/utils/tsutils.js +0 -23
- package/dist/lib/utils-common/array.js +0 -152
- package/dist/lib/utils-common/declarationReference.js +0 -341
- package/dist/lib/utils-common/enum.js +0 -27
- package/dist/lib/utils-common/events.js +0 -49
- package/dist/lib/utils-common/general.js +0 -22
- package/dist/lib/utils-common/hooks.js +0 -90
- package/dist/lib/utils-common/i18n.js +0 -39
- package/dist/lib/utils-common/index.js +0 -17
- package/dist/lib/utils-common/jsx.elements.js +0 -3
- package/dist/lib/utils-common/jsx.js +0 -187
- package/dist/lib/utils-common/logger.js +0 -129
- package/dist/lib/utils-common/map.js +0 -63
- package/dist/lib/utils-common/minimalSourceFile.js +0 -43
- package/dist/lib/utils-common/path.js +0 -130
- package/dist/lib/utils-common/set.js +0 -23
- package/dist/lib/utils-common/string.js +0 -84
- package/dist/lib/utils-common/validation.js +0 -50
- package/dist/lib/validation/documentation.js +0 -91
- package/dist/lib/validation/exports.js +0 -65
- package/dist/lib/validation/links.js +0 -78
- package/dist/lib/validation/unusedMergeModuleWith.js +0 -12
- /package/dist/{browser-utils.d.ts → types/browser-utils.d.ts} +0 -0
- /package/dist/{lib → types}/cli.d.ts +0 -0
- /package/dist/{lib → types}/converter/comments/blockLexer.d.ts +0 -0
- /package/dist/{lib → types}/converter/comments/lineLexer.d.ts +0 -0
- /package/dist/{lib → types}/converter/comments/rawLexer.d.ts +0 -0
- /package/dist/{lib → types}/converter/comments/tagName.d.ts +0 -0
- /package/dist/{lib → types}/converter/convert-expression.d.ts +0 -0
- /package/dist/{lib → types}/converter/converter-events.d.ts +0 -0
- /package/dist/{lib → types}/converter/factories/index-signature.d.ts +0 -0
- /package/dist/{lib → types}/converter/factories/symbol-id.d.ts +0 -0
- /package/dist/{lib → types}/converter/jsdoc.d.ts +0 -0
- /package/dist/{lib → types}/converter/plugins/CommentPlugin.d.ts +0 -0
- /package/dist/{lib → types}/converter/plugins/ImplementsPlugin.d.ts +0 -0
- /package/dist/{lib → types}/converter/plugins/MergeModuleWithPlugin.d.ts +0 -0
- /package/dist/{lib → types}/converter/plugins/PackagePlugin.d.ts +0 -0
- /package/dist/{lib → types}/converter/plugins/index.d.ts +0 -0
- /package/dist/{lib → types}/converter/symbols.d.ts +0 -0
- /package/dist/{lib/converter/utils → types/converter/utilities}/nodes.d.ts +0 -0
- /package/dist/{lib/converter/utils → types/converter/utilities}/symbols.d.ts +0 -0
- /package/dist/{lib → types}/debug/index.d.ts +0 -0
- /package/dist/{lib → types}/debug/reflectionLifetimes.d.ts +0 -0
- /package/dist/{lib → types}/debug/rendererUrls.d.ts +0 -0
- /package/dist/{lib → types}/internationalization/index.d.ts +0 -0
- /package/dist/{lib → types}/models/Comment.d.ts +0 -0
- /package/dist/{lib → types}/models/ContainerReflection.d.ts +0 -0
- /package/dist/{lib → types}/models/DeclarationReflection.d.ts +0 -0
- /package/dist/{lib → types}/models/DocumentReflection.d.ts +0 -0
- /package/dist/{lib → types}/models/ParameterReflection.d.ts +0 -0
- /package/dist/{lib → types}/models/ProjectReflection.d.ts +0 -0
- /package/dist/{lib → types}/models/ReferenceReflection.d.ts +0 -0
- /package/dist/{lib → types}/models/Reflection.d.ts +0 -0
- /package/dist/{lib → types}/models/ReflectionCategory.d.ts +0 -0
- /package/dist/{lib → types}/models/ReflectionGroup.d.ts +0 -0
- /package/dist/{lib → types}/models/SignatureReflection.d.ts +0 -0
- /package/dist/{lib → types}/models/TypeParameterReflection.d.ts +0 -0
- /package/dist/{lib → types}/models/index.d.ts +0 -0
- /package/dist/{lib → types}/models/kind.d.ts +0 -0
- /package/dist/{lib → types}/models/types.d.ts +0 -0
- /package/dist/{lib → types}/models/utils.d.ts +0 -0
- /package/dist/{lib → types}/models/variant.d.ts +0 -0
- /package/dist/{lib → types}/output/index.d.ts +0 -0
- /package/dist/{lib → types}/output/plugins/AssetsPlugin.d.ts +0 -0
- /package/dist/{lib → types}/output/plugins/HierarchyPlugin.d.ts +0 -0
- /package/dist/{lib → types}/output/plugins/IconsPlugin.d.ts +0 -0
- /package/dist/{lib → types}/output/plugins/JavascriptIndexPlugin.d.ts +0 -0
- /package/dist/{lib → types}/output/plugins/NavigationPlugin.d.ts +0 -0
- /package/dist/{lib → types}/output/plugins/SitemapPlugin.d.ts +0 -0
- /package/dist/{lib → types}/output/plugins/index.d.ts +0 -0
- /package/dist/{lib → types}/output/theme.d.ts +0 -0
- /package/dist/{lib → types}/output/themes/default/Slugger.d.ts +0 -0
- /package/dist/{lib → types}/output/themes/default/partials/footer.d.ts +0 -0
- /package/dist/{lib → types}/output/themes/default/partials/member.declaration.d.ts +0 -0
- /package/dist/{lib → types}/output/themes/default/partials/typeAndParent.d.ts +0 -0
- /package/dist/{lib → types}/serialization/components.d.ts +0 -0
- /package/dist/{lib → types}/serialization/deserializer.d.ts +0 -0
- /package/dist/{lib → types}/serialization/events.d.ts +0 -0
- /package/dist/{lib → types}/serialization/index.d.ts +0 -0
- /package/dist/{lib → types}/serialization/schema.d.ts +0 -0
- /package/dist/{lib → types}/serialization/serializer.d.ts +0 -0
- /package/dist/{lib → types}/utils/component.d.ts +0 -0
- /package/dist/{lib → types}/utils/compress.d.ts +0 -0
- /package/dist/{lib → types}/utils/declaration-maps.d.ts +0 -0
- /package/dist/{lib → types}/utils/fs.d.ts +0 -0
- /package/dist/{lib → types}/utils/highlighter.d.ts +0 -0
- /package/dist/{lib → types}/utils/html-entities.d.ts +0 -0
- /package/dist/{lib → types}/utils/html.d.ts +0 -0
- /package/dist/{lib → types}/utils/loggers.d.ts +0 -0
- /package/dist/{lib → types}/utils/options/help.d.ts +0 -0
- /package/dist/{lib → types}/utils/options/readers/arguments.d.ts +0 -0
- /package/dist/{lib → types}/utils/options/readers/index.d.ts +0 -0
- /package/dist/{lib → types}/utils/options/readers/package-json.d.ts +0 -0
- /package/dist/{lib → types}/utils/options/readers/tsconfig.d.ts +0 -0
- /package/dist/{lib → types}/utils/options/readers/typedoc.d.ts +0 -0
- /package/dist/{lib → types}/utils/options/sources/index.d.ts +0 -0
- /package/dist/{lib → types}/utils/options/sources/typedoc.d.ts +0 -0
- /package/dist/{lib → types}/utils/package-manifest.d.ts +0 -0
- /package/dist/{lib → types}/utils/paths.d.ts +0 -0
- /package/dist/{lib → types}/utils/perf.d.ts +0 -0
- /package/dist/{lib → types}/utils/plugins.d.ts +0 -0
- /package/dist/{lib → types}/utils/tsconfig.d.ts +0 -0
- /package/dist/{lib → types}/utils/tsutils.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/array.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/declarationReference.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/enum.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/events.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/hooks.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/i18n.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/index.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/jsx.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/logger.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/map.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/minimalSourceFile.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/path.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/set.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/string.d.ts +0 -0
- /package/dist/{lib → types}/utils-common/validation.d.ts +0 -0
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
import { resolve } from "path";
|
|
3
|
-
import { ParameterType } from "./declaration.js";
|
|
4
|
-
import { normalizePath } from "../paths.js";
|
|
5
|
-
import { convert, getDefaultValue, } from "./declaration.js";
|
|
6
|
-
import { addTypeDocOptions } from "./sources/index.js";
|
|
7
|
-
import { getOptionsHelp } from "./help.js";
|
|
8
|
-
import { getSimilarValues, i18n, insertOrderSorted, unique } from "#utils";
|
|
9
|
-
const optionSnapshots = new WeakMap();
|
|
10
|
-
/**
|
|
11
|
-
* Maintains a collection of option declarations split into TypeDoc options
|
|
12
|
-
* and TypeScript options. Ensures options are of the correct type for calling
|
|
13
|
-
* code.
|
|
14
|
-
*
|
|
15
|
-
* ### Option Discovery
|
|
16
|
-
*
|
|
17
|
-
* Since plugins commonly add custom options, and TypeDoc does not permit options which have
|
|
18
|
-
* not been declared to be set, options must be read twice. The first time options are read,
|
|
19
|
-
* a noop logger is passed so that any errors are ignored. Then, after loading plugins, options
|
|
20
|
-
* are read again, this time with the logger specified by the application.
|
|
21
|
-
*
|
|
22
|
-
* Options are read in a specific order.
|
|
23
|
-
* 1. argv (0) - Must be read first since it should change the files read when
|
|
24
|
-
* passing --options or --tsconfig.
|
|
25
|
-
* 2. typedoc-json (100) - Read next so that it can specify the tsconfig.json file to read.
|
|
26
|
-
* 3. tsconfig-json (200) - Last config file reader, cannot specify the typedoc.json file to read.
|
|
27
|
-
* 4. argv (300) - Read argv again since any options set there should override those set in config
|
|
28
|
-
* files.
|
|
29
|
-
*
|
|
30
|
-
* @group None
|
|
31
|
-
* @summary Contains all of TypeDoc's option declarations & values
|
|
32
|
-
*/
|
|
33
|
-
export class Options {
|
|
34
|
-
_readers = [];
|
|
35
|
-
_declarations = new Map();
|
|
36
|
-
_values = {};
|
|
37
|
-
_setOptions = new Set();
|
|
38
|
-
_compilerOptions = {};
|
|
39
|
-
_fileNames = [];
|
|
40
|
-
_projectReferences = [];
|
|
41
|
-
/**
|
|
42
|
-
* In packages mode, the directory of the package being converted.
|
|
43
|
-
*/
|
|
44
|
-
packageDir;
|
|
45
|
-
constructor() {
|
|
46
|
-
addTypeDocOptions(this);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Clones the options, intended for use in packages mode.
|
|
50
|
-
*/
|
|
51
|
-
copyForPackage(packageDir) {
|
|
52
|
-
const options = new Options();
|
|
53
|
-
options.packageDir = packageDir;
|
|
54
|
-
options._readers = this._readers.filter((reader) => reader.supportsPackages);
|
|
55
|
-
options._declarations = new Map(this._declarations);
|
|
56
|
-
options.reset();
|
|
57
|
-
for (const [key, val] of Object.entries(this.getValue("packageOptions"))) {
|
|
58
|
-
options.setValue(key, val, packageDir);
|
|
59
|
-
}
|
|
60
|
-
return options;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Take a snapshot of option values now, used in tests only.
|
|
64
|
-
* @internal
|
|
65
|
-
*/
|
|
66
|
-
snapshot() {
|
|
67
|
-
const key = {};
|
|
68
|
-
optionSnapshots.set(key, {
|
|
69
|
-
values: { ...this._values },
|
|
70
|
-
set: new Set(this._setOptions),
|
|
71
|
-
});
|
|
72
|
-
return key;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Take a snapshot of option values now, used in tests only.
|
|
76
|
-
* @internal
|
|
77
|
-
*/
|
|
78
|
-
restore(snapshot) {
|
|
79
|
-
const data = optionSnapshots.get(snapshot);
|
|
80
|
-
this._values = { ...data.values };
|
|
81
|
-
this._setOptions = new Set(data.set);
|
|
82
|
-
}
|
|
83
|
-
reset(name) {
|
|
84
|
-
if (name != null) {
|
|
85
|
-
const declaration = this.getDeclaration(name);
|
|
86
|
-
if (!declaration) {
|
|
87
|
-
throw new Error(`Cannot reset an option (${name}) which has not been declared.`);
|
|
88
|
-
}
|
|
89
|
-
this._values[declaration.name] = getDefaultValue(declaration);
|
|
90
|
-
this._setOptions.delete(declaration.name);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
for (const declaration of this.getDeclarations()) {
|
|
94
|
-
this._values[declaration.name] = getDefaultValue(declaration);
|
|
95
|
-
}
|
|
96
|
-
this._setOptions.clear();
|
|
97
|
-
this._compilerOptions = {};
|
|
98
|
-
this._fileNames = [];
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Adds an option reader that will be used to read configuration values
|
|
103
|
-
* from the command line, configuration files, or other locations.
|
|
104
|
-
* @param reader
|
|
105
|
-
*/
|
|
106
|
-
addReader(reader) {
|
|
107
|
-
insertOrderSorted(this._readers, reader);
|
|
108
|
-
}
|
|
109
|
-
async read(logger, cwd = process.cwd(), usedFile = () => { }) {
|
|
110
|
-
for (const reader of this._readers) {
|
|
111
|
-
await reader.read(this, logger, cwd, usedFile);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
addDeclaration(declaration) {
|
|
115
|
-
const decl = this.getDeclaration(declaration.name);
|
|
116
|
-
if (decl) {
|
|
117
|
-
throw new Error(`The option ${declaration.name} has already been registered`);
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
this._declarations.set(declaration.name, declaration);
|
|
121
|
-
}
|
|
122
|
-
this._values[declaration.name] = getDefaultValue(declaration);
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Gets a declaration by one of its names.
|
|
126
|
-
* @param name
|
|
127
|
-
*/
|
|
128
|
-
getDeclaration(name) {
|
|
129
|
-
return this._declarations.get(name);
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Gets all declared options.
|
|
133
|
-
*/
|
|
134
|
-
getDeclarations() {
|
|
135
|
-
return unique(this._declarations.values());
|
|
136
|
-
}
|
|
137
|
-
isSet(name) {
|
|
138
|
-
if (!this._declarations.has(name)) {
|
|
139
|
-
throw new Error(`Tried to check if an undefined option (${name}) was set`);
|
|
140
|
-
}
|
|
141
|
-
return this._setOptions.has(name);
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Gets all of the TypeDoc option values defined in this option container.
|
|
145
|
-
*/
|
|
146
|
-
getRawValues() {
|
|
147
|
-
return this._values;
|
|
148
|
-
}
|
|
149
|
-
getValue(name) {
|
|
150
|
-
const declaration = this.getDeclaration(name);
|
|
151
|
-
if (!declaration) {
|
|
152
|
-
const nearNames = this.getSimilarOptions(name);
|
|
153
|
-
throw new Error(i18n.unknown_option_0_you_may_have_meant_1(name, nearNames.join("\n\t")));
|
|
154
|
-
}
|
|
155
|
-
return this._values[declaration.name];
|
|
156
|
-
}
|
|
157
|
-
setValue(name, value, configPath) {
|
|
158
|
-
const declaration = this.getDeclaration(name);
|
|
159
|
-
if (!declaration) {
|
|
160
|
-
const nearNames = this.getSimilarOptions(name);
|
|
161
|
-
throw new Error(i18n.unknown_option_0_you_may_have_meant_1(name, nearNames.join("\n\t")));
|
|
162
|
-
}
|
|
163
|
-
let oldValue = this._values[declaration.name];
|
|
164
|
-
if (typeof oldValue === "undefined") {
|
|
165
|
-
oldValue = getDefaultValue(declaration);
|
|
166
|
-
}
|
|
167
|
-
const converted = convert(value, declaration, configPath ?? process.cwd(), oldValue);
|
|
168
|
-
if (declaration.type === ParameterType.Flags) {
|
|
169
|
-
this._values[declaration.name] = Object.assign({}, this._values[declaration.name], converted);
|
|
170
|
-
}
|
|
171
|
-
else if (declaration.name === "outputs") {
|
|
172
|
-
// This is very unfortunate... there's probably some smarter way to define options
|
|
173
|
-
// so that this can be done intelligently via the convert function.
|
|
174
|
-
this._values[declaration.name] = converted.map((c) => {
|
|
175
|
-
return {
|
|
176
|
-
...c,
|
|
177
|
-
path: normalizePath(resolve(configPath ?? process.cwd(), c.path)),
|
|
178
|
-
};
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
this._values[declaration.name] = converted;
|
|
183
|
-
}
|
|
184
|
-
this._setOptions.add(name);
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Gets the set compiler options.
|
|
188
|
-
*/
|
|
189
|
-
getCompilerOptions(logger) {
|
|
190
|
-
return this.fixCompilerOptions(this._compilerOptions, logger);
|
|
191
|
-
}
|
|
192
|
-
/** @internal */
|
|
193
|
-
fixCompilerOptions(options, logger) {
|
|
194
|
-
const overrides = this.getValue("compilerOptions");
|
|
195
|
-
const result = { ...options };
|
|
196
|
-
if (overrides) {
|
|
197
|
-
const tsOptions = ts.convertCompilerOptionsFromJson(overrides, ".", "typedoc-overrides.json");
|
|
198
|
-
if (tsOptions.errors.length) {
|
|
199
|
-
for (const error of tsOptions.errors) {
|
|
200
|
-
logger.error(i18n.failed_to_apply_compilerOptions_overrides_0(ts.flattenDiagnosticMessageText(error.messageText, "\n")));
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
for (const key in overrides) {
|
|
205
|
-
result[key] = tsOptions.options[key];
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
if (this.getValue("emit") !== "both") {
|
|
210
|
-
result.noEmit = true;
|
|
211
|
-
delete result.emitDeclarationOnly;
|
|
212
|
-
}
|
|
213
|
-
return result;
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Gets the file names discovered through reading a tsconfig file.
|
|
217
|
-
*/
|
|
218
|
-
getFileNames() {
|
|
219
|
-
return this._fileNames;
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Gets the project references - used in solution style tsconfig setups.
|
|
223
|
-
*/
|
|
224
|
-
getProjectReferences() {
|
|
225
|
-
return this._projectReferences;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Sets the compiler options that will be used to get a TS program.
|
|
229
|
-
*/
|
|
230
|
-
setCompilerOptions(fileNames, options, projectReferences) {
|
|
231
|
-
// We do this here instead of in the tsconfig reader so that API consumers which
|
|
232
|
-
// supply a program to `Converter.convert` instead of letting TypeDoc create one
|
|
233
|
-
// can just set the compiler options, and not need to know about this mapping.
|
|
234
|
-
// It feels a bit like a hack... but it's better to have it here than to put it
|
|
235
|
-
// in Application or Converter.
|
|
236
|
-
if (options.stripInternal && !this.isSet("excludeInternal")) {
|
|
237
|
-
this.setValue("excludeInternal", true);
|
|
238
|
-
}
|
|
239
|
-
this._fileNames = fileNames;
|
|
240
|
-
this._compilerOptions = { ...options };
|
|
241
|
-
this._projectReferences = projectReferences ?? [];
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* Discover similar option names to the given name, for use in error reporting.
|
|
245
|
-
*/
|
|
246
|
-
getSimilarOptions(missingName) {
|
|
247
|
-
return getSimilarValues(this._declarations.keys(), missingName);
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Get the help message to be displayed to the user if `--help` is passed.
|
|
251
|
-
*/
|
|
252
|
-
getHelp() {
|
|
253
|
-
return getOptionsHelp(this);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* Binds an option to an accessor. Does not register the option.
|
|
258
|
-
*
|
|
259
|
-
* Note: This is a standard ES decorator. It will not work with pre-TS 5.0 experimental decorators enabled.
|
|
260
|
-
*/
|
|
261
|
-
export function Option(name) {
|
|
262
|
-
return (_, _context) => {
|
|
263
|
-
return {
|
|
264
|
-
get() {
|
|
265
|
-
const options = "options" in this ? this.options : this.application.options;
|
|
266
|
-
return options.getValue(name);
|
|
267
|
-
},
|
|
268
|
-
set(_value) {
|
|
269
|
-
throw new Error(`Options may not be set via the Option decorator when setting ${name}`);
|
|
270
|
-
},
|
|
271
|
-
};
|
|
272
|
-
};
|
|
273
|
-
}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { ok } from "assert";
|
|
2
|
-
import { ParameterType } from "../declaration.js";
|
|
3
|
-
import { i18n } from "#utils";
|
|
4
|
-
const ARRAY_OPTION_TYPES = new Set([
|
|
5
|
-
ParameterType.Array,
|
|
6
|
-
ParameterType.PathArray,
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
8
|
-
ParameterType.ModuleArray,
|
|
9
|
-
ParameterType.PluginArray,
|
|
10
|
-
ParameterType.GlobArray,
|
|
11
|
-
]);
|
|
12
|
-
/**
|
|
13
|
-
* Obtains option values from command-line arguments
|
|
14
|
-
*/
|
|
15
|
-
export class ArgumentsReader {
|
|
16
|
-
name = "arguments";
|
|
17
|
-
order;
|
|
18
|
-
supportsPackages = false;
|
|
19
|
-
args;
|
|
20
|
-
skipErrorReporting = false;
|
|
21
|
-
constructor(priority, args = process.argv.slice(2)) {
|
|
22
|
-
this.order = priority;
|
|
23
|
-
this.args = args;
|
|
24
|
-
}
|
|
25
|
-
ignoreErrors() {
|
|
26
|
-
this.skipErrorReporting = true;
|
|
27
|
-
return this;
|
|
28
|
-
}
|
|
29
|
-
read(container, logger) {
|
|
30
|
-
// Make container's type more lax, we do the appropriate checks manually.
|
|
31
|
-
const options = container;
|
|
32
|
-
const seen = new Set();
|
|
33
|
-
let index = 0;
|
|
34
|
-
const trySet = (name, value) => {
|
|
35
|
-
try {
|
|
36
|
-
options.setValue(name, value);
|
|
37
|
-
}
|
|
38
|
-
catch (err) {
|
|
39
|
-
ok(err instanceof Error);
|
|
40
|
-
if (!this.skipErrorReporting) {
|
|
41
|
-
logger.error(err.message);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
while (index < this.args.length) {
|
|
46
|
-
const name = this.args[index];
|
|
47
|
-
const decl = name.startsWith("-")
|
|
48
|
-
? (index++, options.getDeclaration(name.replace(/^--?/, "")))
|
|
49
|
-
: options.getDeclaration("entryPoints");
|
|
50
|
-
if (decl) {
|
|
51
|
-
if (decl.configFileOnly) {
|
|
52
|
-
if (!this.skipErrorReporting) {
|
|
53
|
-
logger.error(i18n.option_0_can_only_be_specified_by_config_file(decl.name));
|
|
54
|
-
}
|
|
55
|
-
continue;
|
|
56
|
-
}
|
|
57
|
-
if (seen.has(decl.name) && ARRAY_OPTION_TYPES.has(decl.type)) {
|
|
58
|
-
trySet(decl.name, options.getValue(decl.name).concat(this.args[index]));
|
|
59
|
-
}
|
|
60
|
-
else if (decl.type === ParameterType.Boolean ||
|
|
61
|
-
decl.type === ParameterType.Flags) {
|
|
62
|
-
const value = String(this.args.at(index)).toLowerCase();
|
|
63
|
-
if (value === "true" || value === "false") {
|
|
64
|
-
trySet(decl.name, value === "true");
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
trySet(decl.name, true);
|
|
68
|
-
// Bool option didn't consume the next argument as expected.
|
|
69
|
-
index--;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
if (index === this.args.length) {
|
|
74
|
-
// Only boolean values have optional values.
|
|
75
|
-
if (!this.skipErrorReporting) {
|
|
76
|
-
logger.warn(i18n.option_0_expected_a_value_but_none_provided(decl.name));
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
trySet(decl.name, this.args[index]);
|
|
80
|
-
}
|
|
81
|
-
seen.add(decl.name);
|
|
82
|
-
index++;
|
|
83
|
-
continue;
|
|
84
|
-
}
|
|
85
|
-
if (name.includes(".")) {
|
|
86
|
-
const actualName = name.split(".")[0].replace(/^--?/, "");
|
|
87
|
-
const decl = options.getDeclaration(actualName);
|
|
88
|
-
if (decl && decl.type === ParameterType.Flags) {
|
|
89
|
-
const flagName = name.split(".", 2)[1];
|
|
90
|
-
const value = String(this.args.at(index)).toLowerCase();
|
|
91
|
-
if (value === "true" || value === "false") {
|
|
92
|
-
trySet(decl.name, { [flagName]: value === "true" });
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
trySet(decl.name, { [flagName]: true });
|
|
96
|
-
// Bool option didn't consume the next argument as expected.
|
|
97
|
-
index--;
|
|
98
|
-
}
|
|
99
|
-
index++;
|
|
100
|
-
continue;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
if (!this.skipErrorReporting) {
|
|
104
|
-
logger.error(i18n.unknown_option_0_may_have_meant_1(name, options.getSimilarOptions(name).join("\n\t")));
|
|
105
|
-
}
|
|
106
|
-
index++;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { ok } from "assert";
|
|
2
|
-
import { nicePath } from "../../paths.js";
|
|
3
|
-
import { discoverPackageJson } from "../../fs.js";
|
|
4
|
-
import { dirname } from "path";
|
|
5
|
-
import { i18n } from "#utils";
|
|
6
|
-
export class PackageJsonReader {
|
|
7
|
-
// Should run after the TypeDoc config reader but before the TS config
|
|
8
|
-
// reader, so that it can still specify a path to a `tsconfig.json` file.
|
|
9
|
-
order = 150;
|
|
10
|
-
supportsPackages = true;
|
|
11
|
-
name = "package-json";
|
|
12
|
-
read(container, logger, cwd, usedFile) {
|
|
13
|
-
const result = discoverPackageJson(cwd, usedFile);
|
|
14
|
-
if (!result) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const { file, content } = result;
|
|
18
|
-
if ("typedoc" in content) {
|
|
19
|
-
logger.warn(i18n.typedoc_key_in_0_ignored(nicePath(file)));
|
|
20
|
-
}
|
|
21
|
-
const optsKey = "typedocOptions";
|
|
22
|
-
if (!(optsKey in content)) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
const opts = content[optsKey];
|
|
26
|
-
if (opts === null || typeof opts !== "object") {
|
|
27
|
-
logger.error(i18n.typedoc_options_must_be_object_in_0(nicePath(file)));
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
for (const [opt, val] of Object.entries(opts)) {
|
|
31
|
-
try {
|
|
32
|
-
container.setValue(opt, val, dirname(file));
|
|
33
|
-
}
|
|
34
|
-
catch (err) {
|
|
35
|
-
ok(err instanceof Error);
|
|
36
|
-
logger.error(err.message);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { dirname, join, resolve } from "path";
|
|
2
|
-
import ts from "typescript";
|
|
3
|
-
import { isFile } from "../../fs.js";
|
|
4
|
-
import { ok } from "assert";
|
|
5
|
-
import { i18n, unique, Validation } from "#utils";
|
|
6
|
-
import { nicePath, normalizePath } from "../../paths.js";
|
|
7
|
-
import { createRequire } from "module";
|
|
8
|
-
import { tsdocBlockTags, tsdocInlineTags, tsdocModifierTags } from "../tsdoc-defaults.js";
|
|
9
|
-
import { findTsConfigFile, getTypeDocOptionsFromTsConfig, readTsConfig } from "../../tsconfig.js";
|
|
10
|
-
import { diagnostics } from "../../loggers.js";
|
|
11
|
-
function isSupportForTags(obj) {
|
|
12
|
-
return (Validation.validate({}, obj) &&
|
|
13
|
-
Object.entries(obj).every(([key, val]) => {
|
|
14
|
-
return (/^@[a-zA-Z][a-zA-Z0-9]*$/.test(key) && typeof val === "boolean");
|
|
15
|
-
}));
|
|
16
|
-
}
|
|
17
|
-
const tsDocSchema = {
|
|
18
|
-
$schema: Validation.optional(String),
|
|
19
|
-
extends: Validation.optional([Array, String]),
|
|
20
|
-
noStandardTags: Validation.optional(Boolean),
|
|
21
|
-
tagDefinitions: Validation.optional([
|
|
22
|
-
Array,
|
|
23
|
-
{
|
|
24
|
-
tagName: Validation.isTagString,
|
|
25
|
-
syntaxKind: ["inline", "block", "modifier"],
|
|
26
|
-
allowMultiple: Validation.optional(Boolean),
|
|
27
|
-
[Validation.additionalProperties]: false,
|
|
28
|
-
},
|
|
29
|
-
]),
|
|
30
|
-
supportForTags: Validation.optional(isSupportForTags),
|
|
31
|
-
// The official parser has code to support for these two, but
|
|
32
|
-
// the schema doesn't allow them... just silently ignore them for now.
|
|
33
|
-
supportedHtmlElements: Validation.optional({}),
|
|
34
|
-
reportUnsupportedHtmlElements: Validation.optional(Boolean),
|
|
35
|
-
[Validation.additionalProperties]: false,
|
|
36
|
-
};
|
|
37
|
-
export class TSConfigReader {
|
|
38
|
-
/**
|
|
39
|
-
* Note: Runs after the {@link TypeDocReader}.
|
|
40
|
-
*/
|
|
41
|
-
order = 200;
|
|
42
|
-
name = "tsconfig-json";
|
|
43
|
-
supportsPackages = true;
|
|
44
|
-
seenTsdocPaths = new Set();
|
|
45
|
-
read(container, logger, cwd, usedFile) {
|
|
46
|
-
const file = container.getValue("tsconfig") || cwd;
|
|
47
|
-
let fileToRead = findTsConfigFile(file, usedFile);
|
|
48
|
-
if (!fileToRead) {
|
|
49
|
-
// If the user didn't give us this option, we shouldn't complain about not being able to find it.
|
|
50
|
-
if (container.isSet("tsconfig")) {
|
|
51
|
-
logger.error(i18n.tsconfig_file_0_does_not_exist(nicePath(file)));
|
|
52
|
-
}
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
fileToRead = normalizePath(resolve(fileToRead));
|
|
56
|
-
logger.verbose(`Reading tsconfig at ${nicePath(fileToRead)}`);
|
|
57
|
-
this.addTagsFromTsdocJson(container, logger, resolve(fileToRead));
|
|
58
|
-
const parsed = readTsConfig(fileToRead, logger);
|
|
59
|
-
if (!parsed) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
diagnostics(logger, parsed.errors);
|
|
63
|
-
if (parsed.errors.length) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
const typedocOptions = getTypeDocOptionsFromTsConfig(fileToRead);
|
|
67
|
-
if (typedocOptions.options) {
|
|
68
|
-
logger.error(i18n.tsconfig_file_specifies_options_file());
|
|
69
|
-
delete typedocOptions.options;
|
|
70
|
-
}
|
|
71
|
-
if (typedocOptions.tsconfig) {
|
|
72
|
-
logger.error(i18n.tsconfig_file_specifies_tsconfig_file());
|
|
73
|
-
delete typedocOptions.tsconfig;
|
|
74
|
-
}
|
|
75
|
-
container.setCompilerOptions(parsed.fileNames, parsed.options, parsed.projectReferences);
|
|
76
|
-
for (const [key, val] of Object.entries(typedocOptions || {})) {
|
|
77
|
-
try {
|
|
78
|
-
// We catch the error, so can ignore the strict type checks
|
|
79
|
-
container.setValue(key, val, join(fileToRead, ".."));
|
|
80
|
-
}
|
|
81
|
-
catch (error) {
|
|
82
|
-
ok(error instanceof Error);
|
|
83
|
-
logger.error(error.message);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
addTagsFromTsdocJson(container, logger, tsconfig) {
|
|
88
|
-
this.seenTsdocPaths.clear();
|
|
89
|
-
const tsdoc = join(dirname(tsconfig), "tsdoc.json");
|
|
90
|
-
if (!isFile(tsdoc)) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const overwritten = ["blockTags", "inlineTags", "modifierTags"].filter((opt) => container.isSet(opt));
|
|
94
|
-
if (overwritten.length) {
|
|
95
|
-
logger.warn(i18n.tags_0_defined_in_typedoc_json_overwritten_by_tsdoc_json(overwritten.join(", ")));
|
|
96
|
-
}
|
|
97
|
-
const config = this.readTsDoc(logger, tsdoc);
|
|
98
|
-
if (!config)
|
|
99
|
-
return;
|
|
100
|
-
const supported = (tag) => {
|
|
101
|
-
return config.supportForTags
|
|
102
|
-
? !!config.supportForTags[tag.tagName]
|
|
103
|
-
: true;
|
|
104
|
-
};
|
|
105
|
-
const blockTags = [];
|
|
106
|
-
const inlineTags = [];
|
|
107
|
-
const modifierTags = [];
|
|
108
|
-
if (!config.noStandardTags) {
|
|
109
|
-
blockTags.push(...tsdocBlockTags);
|
|
110
|
-
inlineTags.push(...tsdocInlineTags);
|
|
111
|
-
modifierTags.push(...tsdocModifierTags);
|
|
112
|
-
}
|
|
113
|
-
for (const { tagName, syntaxKind } of config.tagDefinitions?.filter(supported) || []) {
|
|
114
|
-
const arr = {
|
|
115
|
-
block: blockTags,
|
|
116
|
-
inline: inlineTags,
|
|
117
|
-
modifier: modifierTags,
|
|
118
|
-
}[syntaxKind];
|
|
119
|
-
arr.push(tagName);
|
|
120
|
-
}
|
|
121
|
-
container.setValue("blockTags", unique(blockTags));
|
|
122
|
-
container.setValue("inlineTags", unique(inlineTags));
|
|
123
|
-
container.setValue("modifierTags", unique(modifierTags));
|
|
124
|
-
}
|
|
125
|
-
readTsDoc(logger, path) {
|
|
126
|
-
if (this.seenTsdocPaths.has(path)) {
|
|
127
|
-
logger.error(i18n.circular_reference_extends_0(nicePath(path)));
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
this.seenTsdocPaths.add(path);
|
|
131
|
-
const { config, error } = ts.readConfigFile(normalizePath(path), ts.sys.readFile);
|
|
132
|
-
if (error) {
|
|
133
|
-
logger.error(i18n.failed_read_tsdoc_json_0(nicePath(path)));
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
if (!Validation.validate(tsDocSchema, config)) {
|
|
137
|
-
logger.error(i18n.invalid_tsdoc_json_0(nicePath(path)));
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
const workingConfig = {};
|
|
141
|
-
if (config.extends) {
|
|
142
|
-
const resolver = createRequire(path);
|
|
143
|
-
for (const extendedPath of config.extends) {
|
|
144
|
-
let resolvedPath;
|
|
145
|
-
try {
|
|
146
|
-
resolvedPath = resolver.resolve(extendedPath);
|
|
147
|
-
}
|
|
148
|
-
catch {
|
|
149
|
-
logger.error(i18n.failed_resolve_0_to_file_in_1(extendedPath, nicePath(path)));
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
const parentConfig = this.readTsDoc(logger, resolvedPath);
|
|
153
|
-
if (!parentConfig)
|
|
154
|
-
return;
|
|
155
|
-
mergeConfigs(parentConfig, workingConfig);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
mergeConfigs(config, workingConfig);
|
|
159
|
-
return workingConfig;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
function mergeConfigs(from, into) {
|
|
163
|
-
if (from.supportForTags) {
|
|
164
|
-
into.supportForTags ||= {};
|
|
165
|
-
Object.assign(into.supportForTags, from.supportForTags);
|
|
166
|
-
}
|
|
167
|
-
if (from.tagDefinitions) {
|
|
168
|
-
into.tagDefinitions ||= [];
|
|
169
|
-
into.tagDefinitions.push(...from.tagDefinitions);
|
|
170
|
-
}
|
|
171
|
-
into.noStandardTags = from.noStandardTags ?? into.noStandardTags;
|
|
172
|
-
}
|