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