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.
Files changed (397) hide show
  1. package/README.md +12 -13
  2. package/bin/typedoc +1 -1
  3. package/dist/browser-locales/fr.d.ts +2 -0
  4. package/dist/browser-locales/fr.js +62 -0
  5. package/dist/browser-utils.js +29 -2
  6. package/dist/cli.js +111 -0
  7. package/dist/index.js +17888 -44
  8. package/dist/models.js +3736 -0
  9. package/dist/node-utils.js +7018 -0
  10. package/dist/serialization.js +430 -0
  11. package/dist/{lib → types}/application-events.d.ts +2 -0
  12. package/dist/{lib → types}/application.d.ts +51 -8
  13. package/dist/{lib → types}/converter/comments/declarationReferenceResolver.d.ts +1 -1
  14. package/dist/{lib → types}/converter/comments/discovery.d.ts +3 -3
  15. package/dist/{lib → types}/converter/comments/index.d.ts +4 -4
  16. package/dist/{lib → types}/converter/comments/lexer.d.ts +1 -1
  17. package/dist/{lib → types}/converter/comments/linkResolver.d.ts +1 -1
  18. package/dist/{lib → types}/converter/comments/parser.d.ts +3 -4
  19. package/dist/{lib → types}/converter/comments/textParser.d.ts +8 -2
  20. package/dist/{lib → types}/converter/components.d.ts +1 -1
  21. package/dist/{lib → types}/converter/context.d.ts +2 -2
  22. package/dist/{lib → types}/converter/converter.d.ts +6 -8
  23. package/dist/{lib → types}/converter/factories/signature.d.ts +1 -1
  24. package/dist/{lib → types}/converter/index.d.ts +1 -0
  25. package/dist/{lib → types}/converter/plugins/CategoryPlugin.d.ts +2 -2
  26. package/dist/{lib → types}/converter/plugins/GroupPlugin.d.ts +2 -3
  27. package/dist/{lib → types}/converter/plugins/IncludePlugin.d.ts +1 -1
  28. package/dist/{lib → types}/converter/plugins/InheritDocPlugin.d.ts +1 -1
  29. package/dist/{lib → types}/converter/plugins/LinkResolverPlugin.d.ts +3 -3
  30. package/dist/{lib → types}/converter/plugins/SourcePlugin.d.ts +1 -2
  31. package/dist/{lib → types}/converter/plugins/TypePlugin.d.ts +1 -1
  32. package/dist/{lib → types}/converter/types.d.ts +1 -1
  33. package/dist/{lib/converter/utils → types/converter/utilities}/reflections.d.ts +1 -1
  34. package/dist/{lib/converter/utils → types/converter/utilities}/repository.d.ts +14 -13
  35. package/dist/{index.d.ts → types/index.d.ts} +15 -16
  36. package/dist/{lib → types}/internationalization/internationalization.d.ts +0 -8
  37. package/dist/types/internationalization/locale-utils.d.ts +3 -0
  38. package/dist/types/internationalization/locales/de.d.ts +368 -0
  39. package/dist/{lib/internationalization/locales/en.d.cts → types/internationalization/locales/en.d.ts} +2 -1
  40. package/dist/types/internationalization/locales/fr.d.ts +346 -0
  41. package/dist/types/internationalization/locales/ja.d.ts +307 -0
  42. package/dist/types/internationalization/locales/ko.d.ts +221 -0
  43. package/dist/types/internationalization/locales/zh.d.ts +452 -0
  44. package/dist/{lib → types}/internationalization/translatable.d.ts +1 -1
  45. package/dist/{lib → types}/models/FileRegistry.d.ts +6 -1
  46. package/dist/{lib → types}/models/ReflectionSymbolId.d.ts +9 -3
  47. package/dist/{lib → types}/models/SourceReference.d.ts +5 -3
  48. package/dist/types/models.d.ts +1 -0
  49. package/dist/types/node-utils.d.ts +1 -0
  50. package/dist/{lib → types}/output/components.d.ts +3 -3
  51. package/dist/{lib → types}/output/events.d.ts +1 -2
  52. package/dist/{lib → types}/output/formatter.d.ts +1 -2
  53. package/dist/{lib → types}/output/output.d.ts +2 -2
  54. package/dist/{lib → types}/output/renderer.d.ts +4 -5
  55. package/dist/{lib → types}/output/router.d.ts +3 -2
  56. package/dist/{lib → types}/output/themes/MarkedPlugin.d.ts +3 -3
  57. package/dist/{lib → types}/output/themes/default/DefaultTheme.d.ts +1 -1
  58. package/dist/{lib → types}/output/themes/default/DefaultThemeRenderContext.d.ts +25 -25
  59. package/dist/{lib → types}/output/themes/default/layouts/default.d.ts +1 -1
  60. package/dist/{lib → types}/output/themes/default/partials/anchor-icon.d.ts +1 -1
  61. package/dist/{lib → types}/output/themes/default/partials/breadcrumb.d.ts +1 -1
  62. package/dist/{lib → types}/output/themes/default/partials/comment.d.ts +1 -1
  63. package/dist/{lib → types}/output/themes/default/partials/header.d.ts +1 -1
  64. package/dist/{lib → types}/output/themes/default/partials/hierarchy.d.ts +1 -1
  65. package/dist/{lib → types}/output/themes/default/partials/icon.d.ts +1 -1
  66. package/dist/{lib → types}/output/themes/default/partials/index.d.ts +1 -1
  67. package/dist/{lib → types}/output/themes/default/partials/member.d.ts +1 -1
  68. package/dist/{lib → types}/output/themes/default/partials/member.getterSetter.d.ts +1 -1
  69. package/dist/{lib → types}/output/themes/default/partials/member.signature.body.d.ts +1 -1
  70. package/dist/{lib → types}/output/themes/default/partials/member.signature.title.d.ts +2 -2
  71. package/dist/{lib → types}/output/themes/default/partials/member.signatures.d.ts +1 -1
  72. package/dist/{lib → types}/output/themes/default/partials/member.sources.d.ts +1 -1
  73. package/dist/{lib → types}/output/themes/default/partials/members.d.ts +1 -1
  74. package/dist/{lib → types}/output/themes/default/partials/moduleReflection.d.ts +1 -1
  75. package/dist/{lib → types}/output/themes/default/partials/navigation.d.ts +1 -1
  76. package/dist/{lib → types}/output/themes/default/partials/reflectionPreview.d.ts +1 -1
  77. package/dist/{lib → types}/output/themes/default/partials/toolbar.d.ts +1 -1
  78. package/dist/{lib → types}/output/themes/default/partials/type.d.ts +2 -2
  79. package/dist/{lib → types}/output/themes/default/partials/typeDetails.d.ts +2 -2
  80. package/dist/{lib → types}/output/themes/default/partials/typeParameters.d.ts +1 -1
  81. package/dist/{lib → types}/output/themes/default/templates/document.d.ts +1 -1
  82. package/dist/{lib → types}/output/themes/default/templates/hierarchy.d.ts +1 -1
  83. package/dist/{lib → types}/output/themes/default/templates/index.d.ts +1 -1
  84. package/dist/{lib → types}/output/themes/default/templates/reflection.d.ts +1 -1
  85. package/dist/{lib → types}/output/themes/lib.d.ts +1 -1
  86. package/dist/types/serialization.d.ts +1 -0
  87. package/dist/types/tsconfig.tsbuildinfo +1 -0
  88. package/dist/{lib → types}/utils/ValidatingFileRegistry.d.ts +1 -1
  89. package/dist/{lib → types}/utils/entry-point.d.ts +2 -2
  90. package/dist/{lib → types}/utils/general.d.ts +3 -0
  91. package/dist/types/utils/index.d.ts +22 -0
  92. package/dist/{lib → types}/utils/options/declaration.d.ts +2 -1
  93. package/dist/{lib → types}/utils/options/defaults.d.ts +1 -1
  94. package/dist/{lib → types}/utils/options/index.d.ts +2 -1
  95. package/dist/{lib → types}/utils/options/options.d.ts +1 -1
  96. package/dist/{lib → types}/utils/options/tsdoc-defaults.d.ts +1 -1
  97. package/dist/{lib → types}/utils/reflections.d.ts +1 -1
  98. package/dist/{lib → types}/utils/sort.d.ts +1 -2
  99. package/dist/{lib → types}/utils-common/general.d.ts +4 -4
  100. package/dist/{lib → types}/utils-common/jsx.elements.d.ts +16 -0
  101. package/dist/types/utils-common.d.ts +1 -0
  102. package/dist/{lib → types}/validation/documentation.d.ts +1 -1
  103. package/dist/{lib → types}/validation/exports.d.ts +1 -1
  104. package/dist/types/validation/filePaths.d.ts +3 -0
  105. package/dist/{lib → types}/validation/links.d.ts +1 -1
  106. package/dist/{lib → types}/validation/unusedMergeModuleWith.d.ts +1 -1
  107. package/dist/utils-common.js +1311 -0
  108. package/package.json +46 -37
  109. package/static/main.js +4 -4
  110. package/static/style.css +18 -3
  111. package/tsdoc.json +4 -0
  112. package/typedoc-config.schema.json +2 -0
  113. package/dist/lib/application-events.js +0 -5
  114. package/dist/lib/application.js +0 -716
  115. package/dist/lib/cli.js +0 -111
  116. package/dist/lib/converter/comments/blockLexer.js +0 -391
  117. package/dist/lib/converter/comments/declarationReferenceResolver.js +0 -218
  118. package/dist/lib/converter/comments/discovery.js +0 -563
  119. package/dist/lib/converter/comments/index.js +0 -241
  120. package/dist/lib/converter/comments/lexer.js +0 -10
  121. package/dist/lib/converter/comments/lineLexer.js +0 -279
  122. package/dist/lib/converter/comments/linkResolver.js +0 -186
  123. package/dist/lib/converter/comments/parser.js +0 -538
  124. package/dist/lib/converter/comments/rawLexer.js +0 -218
  125. package/dist/lib/converter/comments/tagName.js +0 -58
  126. package/dist/lib/converter/comments/textParser.js +0 -372
  127. package/dist/lib/converter/components.js +0 -3
  128. package/dist/lib/converter/context.js +0 -311
  129. package/dist/lib/converter/convert-expression.js +0 -58
  130. package/dist/lib/converter/converter-events.js +0 -13
  131. package/dist/lib/converter/converter.js +0 -705
  132. package/dist/lib/converter/factories/index-signature.js +0 -50
  133. package/dist/lib/converter/factories/signature.js +0 -353
  134. package/dist/lib/converter/factories/symbol-id.js +0 -50
  135. package/dist/lib/converter/index.js +0 -3
  136. package/dist/lib/converter/jsdoc.js +0 -135
  137. package/dist/lib/converter/plugins/CategoryPlugin.js +0 -278
  138. package/dist/lib/converter/plugins/CommentPlugin.js +0 -770
  139. package/dist/lib/converter/plugins/GroupPlugin.js +0 -281
  140. package/dist/lib/converter/plugins/ImplementsPlugin.js +0 -438
  141. package/dist/lib/converter/plugins/IncludePlugin.js +0 -254
  142. package/dist/lib/converter/plugins/InheritDocPlugin.js +0 -220
  143. package/dist/lib/converter/plugins/LinkResolverPlugin.js +0 -88
  144. package/dist/lib/converter/plugins/MergeModuleWithPlugin.js +0 -50
  145. package/dist/lib/converter/plugins/PackagePlugin.js +0 -188
  146. package/dist/lib/converter/plugins/SourcePlugin.js +0 -215
  147. package/dist/lib/converter/plugins/TypePlugin.js +0 -108
  148. package/dist/lib/converter/plugins/index.js +0 -10
  149. package/dist/lib/converter/symbols.js +0 -861
  150. package/dist/lib/converter/types.js +0 -833
  151. package/dist/lib/converter/utils/nodes.js +0 -26
  152. package/dist/lib/converter/utils/reflections.js +0 -17
  153. package/dist/lib/converter/utils/repository.js +0 -295
  154. package/dist/lib/converter/utils/symbols.js +0 -12
  155. package/dist/lib/debug/index.js +0 -2
  156. package/dist/lib/debug/reflectionLifetimes.js +0 -27
  157. package/dist/lib/debug/rendererUrls.js +0 -68
  158. package/dist/lib/internationalization/index.js +0 -7
  159. package/dist/lib/internationalization/internationalization.js +0 -64
  160. package/dist/lib/internationalization/locale-utils.cjs +0 -8
  161. package/dist/lib/internationalization/locale-utils.d.cts +0 -8
  162. package/dist/lib/internationalization/locales/de.cjs +0 -401
  163. package/dist/lib/internationalization/locales/de.d.cts +0 -368
  164. package/dist/lib/internationalization/locales/en.cjs +0 -411
  165. package/dist/lib/internationalization/locales/ja.cjs +0 -320
  166. package/dist/lib/internationalization/locales/ja.d.cts +0 -307
  167. package/dist/lib/internationalization/locales/ko.cjs +0 -233
  168. package/dist/lib/internationalization/locales/ko.d.cts +0 -221
  169. package/dist/lib/internationalization/locales/zh.cjs +0 -488
  170. package/dist/lib/internationalization/locales/zh.d.cts +0 -452
  171. package/dist/lib/internationalization/translatable.js +0 -8
  172. package/dist/lib/models/Comment.js +0 -534
  173. package/dist/lib/models/ContainerReflection.js +0 -159
  174. package/dist/lib/models/DeclarationReflection.js +0 -287
  175. package/dist/lib/models/DocumentReflection.js +0 -66
  176. package/dist/lib/models/FileRegistry.js +0 -133
  177. package/dist/lib/models/ParameterReflection.js +0 -39
  178. package/dist/lib/models/ProjectReflection.js +0 -417
  179. package/dist/lib/models/ReferenceReflection.js +0 -85
  180. package/dist/lib/models/Reflection.js +0 -495
  181. package/dist/lib/models/ReflectionCategory.js +0 -56
  182. package/dist/lib/models/ReflectionGroup.js +0 -72
  183. package/dist/lib/models/ReflectionSymbolId.js +0 -85
  184. package/dist/lib/models/SignatureReflection.js +0 -96
  185. package/dist/lib/models/SourceReference.js +0 -50
  186. package/dist/lib/models/TypeParameterReflection.js +0 -45
  187. package/dist/lib/models/index.js +0 -19
  188. package/dist/lib/models/kind.js +0 -231
  189. package/dist/lib/models/types.js +0 -1296
  190. package/dist/lib/models/utils.js +0 -26
  191. package/dist/lib/models/variant.js +0 -1
  192. package/dist/lib/output/components.js +0 -133
  193. package/dist/lib/output/events.js +0 -195
  194. package/dist/lib/output/formatter.js +0 -660
  195. package/dist/lib/output/index.js +0 -7
  196. package/dist/lib/output/output.js +0 -92
  197. package/dist/lib/output/plugins/AssetsPlugin.js +0 -160
  198. package/dist/lib/output/plugins/HierarchyPlugin.js +0 -65
  199. package/dist/lib/output/plugins/IconsPlugin.js +0 -54
  200. package/dist/lib/output/plugins/JavascriptIndexPlugin.js +0 -222
  201. package/dist/lib/output/plugins/NavigationPlugin.js +0 -23
  202. package/dist/lib/output/plugins/SitemapPlugin.js +0 -82
  203. package/dist/lib/output/plugins/index.js +0 -7
  204. package/dist/lib/output/renderer.js +0 -387
  205. package/dist/lib/output/router.js +0 -520
  206. package/dist/lib/output/theme.js +0 -17
  207. package/dist/lib/output/themes/MarkedPlugin.js +0 -461
  208. package/dist/lib/output/themes/default/DefaultTheme.js +0 -367
  209. package/dist/lib/output/themes/default/DefaultThemeRenderContext.js +0 -151
  210. package/dist/lib/output/themes/default/Slugger.js +0 -60
  211. package/dist/lib/output/themes/default/layouts/default.js +0 -89
  212. package/dist/lib/output/themes/default/partials/anchor-icon.js +0 -9
  213. package/dist/lib/output/themes/default/partials/breadcrumb.js +0 -11
  214. package/dist/lib/output/themes/default/partials/comment.js +0 -80
  215. package/dist/lib/output/themes/default/partials/footer.js +0 -37
  216. package/dist/lib/output/themes/default/partials/header.js +0 -39
  217. package/dist/lib/output/themes/default/partials/hierarchy.js +0 -32
  218. package/dist/lib/output/themes/default/partials/icon.js +0 -101
  219. package/dist/lib/output/themes/default/partials/index.js +0 -24
  220. package/dist/lib/output/themes/default/partials/member.declaration.js +0 -35
  221. package/dist/lib/output/themes/default/partials/member.getterSetter.js +0 -12
  222. package/dist/lib/output/themes/default/partials/member.js +0 -36
  223. package/dist/lib/output/themes/default/partials/member.signature.body.js +0 -33
  224. package/dist/lib/output/themes/default/partials/member.signature.title.js +0 -9
  225. package/dist/lib/output/themes/default/partials/member.signatures.js +0 -9
  226. package/dist/lib/output/themes/default/partials/member.sources.js +0 -55
  227. package/dist/lib/output/themes/default/partials/members.js +0 -17
  228. package/dist/lib/output/themes/default/partials/moduleReflection.js +0 -68
  229. package/dist/lib/output/themes/default/partials/navigation.js +0 -144
  230. package/dist/lib/output/themes/default/partials/reflectionPreview.js +0 -26
  231. package/dist/lib/output/themes/default/partials/toolbar.js +0 -13
  232. package/dist/lib/output/themes/default/partials/type.js +0 -9
  233. package/dist/lib/output/themes/default/partials/typeAndParent.js +0 -28
  234. package/dist/lib/output/themes/default/partials/typeDetails.js +0 -284
  235. package/dist/lib/output/themes/default/partials/typeParameters.js +0 -26
  236. package/dist/lib/output/themes/default/templates/document.js +0 -3
  237. package/dist/lib/output/themes/default/templates/hierarchy.js +0 -31
  238. package/dist/lib/output/themes/default/templates/index.js +0 -3
  239. package/dist/lib/output/themes/default/templates/reflection.js +0 -53
  240. package/dist/lib/output/themes/lib.js +0 -218
  241. package/dist/lib/serialization/components.js +0 -1
  242. package/dist/lib/serialization/deserializer.js +0 -235
  243. package/dist/lib/serialization/events.js +0 -18
  244. package/dist/lib/serialization/index.js +0 -4
  245. package/dist/lib/serialization/schema.js +0 -32
  246. package/dist/lib/serialization/serializer.js +0 -65
  247. package/dist/lib/utils/ValidatingFileRegistry.js +0 -52
  248. package/dist/lib/utils/component.js +0 -41
  249. package/dist/lib/utils/compress.js +0 -13
  250. package/dist/lib/utils/declaration-maps.js +0 -51
  251. package/dist/lib/utils/entry-point.js +0 -330
  252. package/dist/lib/utils/fs.js +0 -372
  253. package/dist/lib/utils/general.js +0 -25
  254. package/dist/lib/utils/highlighter.js +0 -150
  255. package/dist/lib/utils/html-entities.js +0 -2329
  256. package/dist/lib/utils/html.js +0 -635
  257. package/dist/lib/utils/index.d.ts +0 -17
  258. package/dist/lib/utils/index.js +0 -15
  259. package/dist/lib/utils/loggers.js +0 -71
  260. package/dist/lib/utils/options/declaration.js +0 -443
  261. package/dist/lib/utils/options/defaults.js +0 -104
  262. package/dist/lib/utils/options/help.js +0 -63
  263. package/dist/lib/utils/options/index.js +0 -4
  264. package/dist/lib/utils/options/options.js +0 -273
  265. package/dist/lib/utils/options/readers/arguments.js +0 -109
  266. package/dist/lib/utils/options/readers/index.js +0 -4
  267. package/dist/lib/utils/options/readers/package-json.js +0 -40
  268. package/dist/lib/utils/options/readers/tsconfig.js +0 -172
  269. package/dist/lib/utils/options/readers/typedoc.js +0 -136
  270. package/dist/lib/utils/options/sources/index.js +0 -1
  271. package/dist/lib/utils/options/sources/typedoc.js +0 -876
  272. package/dist/lib/utils/options/tsdoc-defaults.js +0 -94
  273. package/dist/lib/utils/package-manifest.js +0 -84
  274. package/dist/lib/utils/paths.js +0 -127
  275. package/dist/lib/utils/perf.js +0 -86
  276. package/dist/lib/utils/plugins.js +0 -61
  277. package/dist/lib/utils/reflections.js +0 -64
  278. package/dist/lib/utils/sort.js +0 -153
  279. package/dist/lib/utils/tsconfig.js +0 -60
  280. package/dist/lib/utils/tsutils.js +0 -23
  281. package/dist/lib/utils-common/array.js +0 -152
  282. package/dist/lib/utils-common/declarationReference.js +0 -341
  283. package/dist/lib/utils-common/enum.js +0 -27
  284. package/dist/lib/utils-common/events.js +0 -49
  285. package/dist/lib/utils-common/general.js +0 -22
  286. package/dist/lib/utils-common/hooks.js +0 -90
  287. package/dist/lib/utils-common/i18n.js +0 -39
  288. package/dist/lib/utils-common/index.js +0 -17
  289. package/dist/lib/utils-common/jsx.elements.js +0 -3
  290. package/dist/lib/utils-common/jsx.js +0 -187
  291. package/dist/lib/utils-common/logger.js +0 -129
  292. package/dist/lib/utils-common/map.js +0 -63
  293. package/dist/lib/utils-common/minimalSourceFile.js +0 -43
  294. package/dist/lib/utils-common/path.js +0 -130
  295. package/dist/lib/utils-common/set.js +0 -23
  296. package/dist/lib/utils-common/string.js +0 -84
  297. package/dist/lib/utils-common/validation.js +0 -50
  298. package/dist/lib/validation/documentation.js +0 -91
  299. package/dist/lib/validation/exports.js +0 -65
  300. package/dist/lib/validation/links.js +0 -78
  301. package/dist/lib/validation/unusedMergeModuleWith.js +0 -12
  302. /package/dist/{browser-utils.d.ts → types/browser-utils.d.ts} +0 -0
  303. /package/dist/{lib → types}/cli.d.ts +0 -0
  304. /package/dist/{lib → types}/converter/comments/blockLexer.d.ts +0 -0
  305. /package/dist/{lib → types}/converter/comments/lineLexer.d.ts +0 -0
  306. /package/dist/{lib → types}/converter/comments/rawLexer.d.ts +0 -0
  307. /package/dist/{lib → types}/converter/comments/tagName.d.ts +0 -0
  308. /package/dist/{lib → types}/converter/convert-expression.d.ts +0 -0
  309. /package/dist/{lib → types}/converter/converter-events.d.ts +0 -0
  310. /package/dist/{lib → types}/converter/factories/index-signature.d.ts +0 -0
  311. /package/dist/{lib → types}/converter/factories/symbol-id.d.ts +0 -0
  312. /package/dist/{lib → types}/converter/jsdoc.d.ts +0 -0
  313. /package/dist/{lib → types}/converter/plugins/CommentPlugin.d.ts +0 -0
  314. /package/dist/{lib → types}/converter/plugins/ImplementsPlugin.d.ts +0 -0
  315. /package/dist/{lib → types}/converter/plugins/MergeModuleWithPlugin.d.ts +0 -0
  316. /package/dist/{lib → types}/converter/plugins/PackagePlugin.d.ts +0 -0
  317. /package/dist/{lib → types}/converter/plugins/index.d.ts +0 -0
  318. /package/dist/{lib → types}/converter/symbols.d.ts +0 -0
  319. /package/dist/{lib/converter/utils → types/converter/utilities}/nodes.d.ts +0 -0
  320. /package/dist/{lib/converter/utils → types/converter/utilities}/symbols.d.ts +0 -0
  321. /package/dist/{lib → types}/debug/index.d.ts +0 -0
  322. /package/dist/{lib → types}/debug/reflectionLifetimes.d.ts +0 -0
  323. /package/dist/{lib → types}/debug/rendererUrls.d.ts +0 -0
  324. /package/dist/{lib → types}/internationalization/index.d.ts +0 -0
  325. /package/dist/{lib → types}/models/Comment.d.ts +0 -0
  326. /package/dist/{lib → types}/models/ContainerReflection.d.ts +0 -0
  327. /package/dist/{lib → types}/models/DeclarationReflection.d.ts +0 -0
  328. /package/dist/{lib → types}/models/DocumentReflection.d.ts +0 -0
  329. /package/dist/{lib → types}/models/ParameterReflection.d.ts +0 -0
  330. /package/dist/{lib → types}/models/ProjectReflection.d.ts +0 -0
  331. /package/dist/{lib → types}/models/ReferenceReflection.d.ts +0 -0
  332. /package/dist/{lib → types}/models/Reflection.d.ts +0 -0
  333. /package/dist/{lib → types}/models/ReflectionCategory.d.ts +0 -0
  334. /package/dist/{lib → types}/models/ReflectionGroup.d.ts +0 -0
  335. /package/dist/{lib → types}/models/SignatureReflection.d.ts +0 -0
  336. /package/dist/{lib → types}/models/TypeParameterReflection.d.ts +0 -0
  337. /package/dist/{lib → types}/models/index.d.ts +0 -0
  338. /package/dist/{lib → types}/models/kind.d.ts +0 -0
  339. /package/dist/{lib → types}/models/types.d.ts +0 -0
  340. /package/dist/{lib → types}/models/utils.d.ts +0 -0
  341. /package/dist/{lib → types}/models/variant.d.ts +0 -0
  342. /package/dist/{lib → types}/output/index.d.ts +0 -0
  343. /package/dist/{lib → types}/output/plugins/AssetsPlugin.d.ts +0 -0
  344. /package/dist/{lib → types}/output/plugins/HierarchyPlugin.d.ts +0 -0
  345. /package/dist/{lib → types}/output/plugins/IconsPlugin.d.ts +0 -0
  346. /package/dist/{lib → types}/output/plugins/JavascriptIndexPlugin.d.ts +0 -0
  347. /package/dist/{lib → types}/output/plugins/NavigationPlugin.d.ts +0 -0
  348. /package/dist/{lib → types}/output/plugins/SitemapPlugin.d.ts +0 -0
  349. /package/dist/{lib → types}/output/plugins/index.d.ts +0 -0
  350. /package/dist/{lib → types}/output/theme.d.ts +0 -0
  351. /package/dist/{lib → types}/output/themes/default/Slugger.d.ts +0 -0
  352. /package/dist/{lib → types}/output/themes/default/partials/footer.d.ts +0 -0
  353. /package/dist/{lib → types}/output/themes/default/partials/member.declaration.d.ts +0 -0
  354. /package/dist/{lib → types}/output/themes/default/partials/typeAndParent.d.ts +0 -0
  355. /package/dist/{lib → types}/serialization/components.d.ts +0 -0
  356. /package/dist/{lib → types}/serialization/deserializer.d.ts +0 -0
  357. /package/dist/{lib → types}/serialization/events.d.ts +0 -0
  358. /package/dist/{lib → types}/serialization/index.d.ts +0 -0
  359. /package/dist/{lib → types}/serialization/schema.d.ts +0 -0
  360. /package/dist/{lib → types}/serialization/serializer.d.ts +0 -0
  361. /package/dist/{lib → types}/utils/component.d.ts +0 -0
  362. /package/dist/{lib → types}/utils/compress.d.ts +0 -0
  363. /package/dist/{lib → types}/utils/declaration-maps.d.ts +0 -0
  364. /package/dist/{lib → types}/utils/fs.d.ts +0 -0
  365. /package/dist/{lib → types}/utils/highlighter.d.ts +0 -0
  366. /package/dist/{lib → types}/utils/html-entities.d.ts +0 -0
  367. /package/dist/{lib → types}/utils/html.d.ts +0 -0
  368. /package/dist/{lib → types}/utils/loggers.d.ts +0 -0
  369. /package/dist/{lib → types}/utils/options/help.d.ts +0 -0
  370. /package/dist/{lib → types}/utils/options/readers/arguments.d.ts +0 -0
  371. /package/dist/{lib → types}/utils/options/readers/index.d.ts +0 -0
  372. /package/dist/{lib → types}/utils/options/readers/package-json.d.ts +0 -0
  373. /package/dist/{lib → types}/utils/options/readers/tsconfig.d.ts +0 -0
  374. /package/dist/{lib → types}/utils/options/readers/typedoc.d.ts +0 -0
  375. /package/dist/{lib → types}/utils/options/sources/index.d.ts +0 -0
  376. /package/dist/{lib → types}/utils/options/sources/typedoc.d.ts +0 -0
  377. /package/dist/{lib → types}/utils/package-manifest.d.ts +0 -0
  378. /package/dist/{lib → types}/utils/paths.d.ts +0 -0
  379. /package/dist/{lib → types}/utils/perf.d.ts +0 -0
  380. /package/dist/{lib → types}/utils/plugins.d.ts +0 -0
  381. /package/dist/{lib → types}/utils/tsconfig.d.ts +0 -0
  382. /package/dist/{lib → types}/utils/tsutils.d.ts +0 -0
  383. /package/dist/{lib → types}/utils-common/array.d.ts +0 -0
  384. /package/dist/{lib → types}/utils-common/declarationReference.d.ts +0 -0
  385. /package/dist/{lib → types}/utils-common/enum.d.ts +0 -0
  386. /package/dist/{lib → types}/utils-common/events.d.ts +0 -0
  387. /package/dist/{lib → types}/utils-common/hooks.d.ts +0 -0
  388. /package/dist/{lib → types}/utils-common/i18n.d.ts +0 -0
  389. /package/dist/{lib → types}/utils-common/index.d.ts +0 -0
  390. /package/dist/{lib → types}/utils-common/jsx.d.ts +0 -0
  391. /package/dist/{lib → types}/utils-common/logger.d.ts +0 -0
  392. /package/dist/{lib → types}/utils-common/map.d.ts +0 -0
  393. /package/dist/{lib → types}/utils-common/minimalSourceFile.d.ts +0 -0
  394. /package/dist/{lib → types}/utils-common/path.d.ts +0 -0
  395. /package/dist/{lib → types}/utils-common/set.d.ts +0 -0
  396. /package/dist/{lib → types}/utils-common/string.d.ts +0 -0
  397. /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,4 +0,0 @@
1
- export { ArgumentsReader } from "./arguments.js";
2
- export { PackageJsonReader } from "./package-json.js";
3
- export { TSConfigReader } from "./tsconfig.js";
4
- export { TypeDocReader } from "./typedoc.js";
@@ -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
- }