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,82 +0,0 @@
1
- import Path from "path";
2
- import { RendererComponent } from "../components.js";
3
- import { RendererEvent } from "../events.js";
4
- import { DefaultTheme } from "../themes/default/DefaultTheme.js";
5
- import { writeFile } from "#node-utils";
6
- import { escapeHtml, JSX } from "#utils";
7
- export class SitemapPlugin extends RendererComponent {
8
- get hostedBaseUrl() {
9
- const url = this.application.options.getValue("hostedBaseUrl");
10
- return !url || url.endsWith("/") ? url : url + "/";
11
- }
12
- constructor(owner) {
13
- super(owner);
14
- this.owner.on(RendererEvent.BEGIN, this.onRendererBegin.bind(this));
15
- }
16
- onRendererBegin(_event) {
17
- if (!(this.owner.theme instanceof DefaultTheme)) {
18
- return;
19
- }
20
- if (!this.hostedBaseUrl) {
21
- return;
22
- }
23
- this.owner.hooks.on("head.begin", (context) => {
24
- if (context.page.url === "index.html") {
25
- return {
26
- tag: "link",
27
- props: { rel: "canonical", href: this.hostedBaseUrl },
28
- children: [],
29
- };
30
- }
31
- return { tag: JSX.Fragment, props: null, children: [] };
32
- });
33
- this.owner.preRenderAsyncJobs.push((event) => this.buildSitemap(event));
34
- }
35
- async buildSitemap(event) {
36
- // cSpell:words lastmod urlset
37
- const sitemapXml = Path.join(event.outputDirectory, "sitemap.xml");
38
- const lastmod = new Date(this.owner.renderStartTime).toISOString();
39
- const urls = event.pages.map((page) => {
40
- return {
41
- tag: "url",
42
- children: [
43
- {
44
- tag: "loc",
45
- children: new URL(page.url, this.hostedBaseUrl).toString(),
46
- },
47
- {
48
- tag: "lastmod",
49
- children: lastmod,
50
- },
51
- ],
52
- };
53
- });
54
- const sitemap = `<?xml version="1.0" encoding="UTF-8"?>\n` +
55
- stringifyXml({
56
- tag: "urlset",
57
- attr: { xmlns: "http://www.sitemaps.org/schemas/sitemap/0.9" },
58
- children: urls,
59
- }) +
60
- "\n";
61
- await writeFile(sitemapXml, sitemap);
62
- }
63
- }
64
- function stringifyXml(xml, indent = 0) {
65
- const parts = ["\t".repeat(indent), "<", xml.tag];
66
- for (const [key, val] of Object.entries(xml.attr || {})) {
67
- parts.push(" ", key, '="', escapeHtml(val), '"');
68
- }
69
- parts.push(">");
70
- if (typeof xml.children === "string") {
71
- parts.push(escapeHtml(xml.children));
72
- }
73
- else {
74
- for (const child of xml.children) {
75
- parts.push("\n");
76
- parts.push(stringifyXml(child, indent + 1));
77
- }
78
- parts.push("\n", "\t".repeat(indent));
79
- }
80
- parts.push("</", xml.tag, ">");
81
- return parts.join("");
82
- }
@@ -1,7 +0,0 @@
1
- export { MarkedPlugin } from "../themes/MarkedPlugin.js";
2
- export { AssetsPlugin } from "./AssetsPlugin.js";
3
- export { HierarchyPlugin } from "./HierarchyPlugin.js";
4
- export { IconsPlugin } from "./IconsPlugin.js";
5
- export { JavascriptIndexPlugin } from "./JavascriptIndexPlugin.js";
6
- export { NavigationPlugin } from "./NavigationPlugin.js";
7
- export { SitemapPlugin } from "./SitemapPlugin.js";
@@ -1,387 +0,0 @@
1
- var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
- function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
- var _, done = false;
7
- for (var i = decorators.length - 1; i >= 0; i--) {
8
- var context = {};
9
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
- context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
- if (kind === "accessor") {
14
- if (result === void 0) continue;
15
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
- if (_ = accept(result.get)) descriptor.get = _;
17
- if (_ = accept(result.set)) descriptor.set = _;
18
- if (_ = accept(result.init)) initializers.unshift(_);
19
- }
20
- else if (_ = accept(result)) {
21
- if (kind === "field") initializers.unshift(_);
22
- else descriptor[key] = _;
23
- }
24
- }
25
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
- done = true;
27
- };
28
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
- var useValue = arguments.length > 2;
30
- for (var i = 0; i < initializers.length; i++) {
31
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
- }
33
- return useValue ? value : void 0;
34
- };
35
- /**
36
- * Holds all logic used render and output the final documentation.
37
- *
38
- * The {@link Renderer} class is the central controller within this namespace. When invoked it creates
39
- * an instance of {@link Theme} which defines the layout of the documentation and fires a
40
- * series of {@link RendererEvent} events. Instances of {@link BasePlugin} can listen to these events and
41
- * alter the generated output.
42
- */
43
- import * as fs from "fs";
44
- import * as path from "path";
45
- import { IndexEvent, PageEvent, RendererEvent } from "./events.js";
46
- import { writeFileSync } from "../utils/fs.js";
47
- import { DefaultTheme } from "./themes/default/DefaultTheme.js";
48
- import { AbstractComponent, Option } from "../utils/index.js";
49
- import { EventHooks, i18n, JSX } from "#utils";
50
- import { AssetsPlugin, HierarchyPlugin, IconsPlugin, JavascriptIndexPlugin, MarkedPlugin, NavigationPlugin, SitemapPlugin, } from "./plugins/index.js";
51
- import { CategoryRouter, GroupRouter, KindDirRouter, KindRouter, StructureDirRouter, StructureRouter, } from "./router.js";
52
- /**
53
- * The renderer processes a {@link ProjectReflection} using a {@link Theme} instance and writes
54
- * the emitted html documents to a output directory. You can specify which theme should be used
55
- * using the `--theme <name>` command line argument.
56
- *
57
- * {@link Renderer} is a subclass of {@link EventDispatcher} and triggers a series of events while
58
- * a project is being processed. You can listen to these events to control the flow or manipulate
59
- * the output.
60
- *
61
- * * {@link Renderer.EVENT_BEGIN}<br>
62
- * Triggered before the renderer starts rendering a project. The listener receives
63
- * an instance of {@link RendererEvent}.
64
- *
65
- * * {@link Renderer.EVENT_BEGIN_PAGE}<br>
66
- * Triggered before a document will be rendered. The listener receives an instance of
67
- * {@link PageEvent}.
68
- *
69
- * * {@link Renderer.EVENT_END_PAGE}<br>
70
- * Triggered after a document has been rendered, just before it is written to disc. The
71
- * listener receives an instance of {@link PageEvent}.
72
- *
73
- * * {@link Renderer.EVENT_END}<br>
74
- * Triggered after the renderer has written all documents. The listener receives
75
- * an instance of {@link RendererEvent}.
76
- *
77
- * * {@link Renderer.EVENT_PREPARE_INDEX}<br>
78
- * Triggered when the JavascriptIndexPlugin is preparing the search index. Listeners receive
79
- * an instance of {@link IndexEvent}.
80
- *
81
- * @summary Writes HTML output from TypeDoc's models
82
- * @group None
83
- */
84
- let Renderer = (() => {
85
- let _classSuper = AbstractComponent;
86
- let _themeName_decorators;
87
- let _themeName_initializers = [];
88
- let _themeName_extraInitializers = [];
89
- let _routerName_decorators;
90
- let _routerName_initializers = [];
91
- let _routerName_extraInitializers = [];
92
- let _cleanOutputDir_decorators;
93
- let _cleanOutputDir_initializers = [];
94
- let _cleanOutputDir_extraInitializers = [];
95
- let _cname_decorators;
96
- let _cname_initializers = [];
97
- let _cname_extraInitializers = [];
98
- let _githubPages_decorators;
99
- let _githubPages_initializers = [];
100
- let _githubPages_extraInitializers = [];
101
- let _cacheBust_decorators;
102
- let _cacheBust_initializers = [];
103
- let _cacheBust_extraInitializers = [];
104
- let _pretty_decorators;
105
- let _pretty_initializers = [];
106
- let _pretty_extraInitializers = [];
107
- return class Renderer extends _classSuper {
108
- static {
109
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
110
- _themeName_decorators = [Option("theme")];
111
- _routerName_decorators = [Option("router")];
112
- _cleanOutputDir_decorators = [Option("cleanOutputDir")];
113
- _cname_decorators = [Option("cname")];
114
- _githubPages_decorators = [Option("githubPages")];
115
- _cacheBust_decorators = [Option("cacheBust")];
116
- _pretty_decorators = [Option("pretty")];
117
- __esDecorate(this, null, _themeName_decorators, { kind: "accessor", name: "themeName", static: false, private: false, access: { has: obj => "themeName" in obj, get: obj => obj.themeName, set: (obj, value) => { obj.themeName = value; } }, metadata: _metadata }, _themeName_initializers, _themeName_extraInitializers);
118
- __esDecorate(this, null, _routerName_decorators, { kind: "accessor", name: "routerName", static: false, private: false, access: { has: obj => "routerName" in obj, get: obj => obj.routerName, set: (obj, value) => { obj.routerName = value; } }, metadata: _metadata }, _routerName_initializers, _routerName_extraInitializers);
119
- __esDecorate(this, null, _cleanOutputDir_decorators, { kind: "accessor", name: "cleanOutputDir", static: false, private: false, access: { has: obj => "cleanOutputDir" in obj, get: obj => obj.cleanOutputDir, set: (obj, value) => { obj.cleanOutputDir = value; } }, metadata: _metadata }, _cleanOutputDir_initializers, _cleanOutputDir_extraInitializers);
120
- __esDecorate(this, null, _cname_decorators, { kind: "accessor", name: "cname", static: false, private: false, access: { has: obj => "cname" in obj, get: obj => obj.cname, set: (obj, value) => { obj.cname = value; } }, metadata: _metadata }, _cname_initializers, _cname_extraInitializers);
121
- __esDecorate(this, null, _githubPages_decorators, { kind: "accessor", name: "githubPages", static: false, private: false, access: { has: obj => "githubPages" in obj, get: obj => obj.githubPages, set: (obj, value) => { obj.githubPages = value; } }, metadata: _metadata }, _githubPages_initializers, _githubPages_extraInitializers);
122
- __esDecorate(this, null, _cacheBust_decorators, { kind: "accessor", name: "cacheBust", static: false, private: false, access: { has: obj => "cacheBust" in obj, get: obj => obj.cacheBust, set: (obj, value) => { obj.cacheBust = value; } }, metadata: _metadata }, _cacheBust_initializers, _cacheBust_extraInitializers);
123
- __esDecorate(this, null, _pretty_decorators, { kind: "accessor", name: "pretty", static: false, private: false, access: { has: obj => "pretty" in obj, get: obj => obj.pretty, set: (obj, value) => { obj.pretty = value; } }, metadata: _metadata }, _pretty_initializers, _pretty_extraInitializers);
124
- if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
125
- }
126
- routers = new Map([
127
- ["kind", KindRouter],
128
- ["structure", StructureRouter],
129
- ["kind-dir", KindDirRouter],
130
- ["structure-dir", StructureDirRouter],
131
- ["group", GroupRouter],
132
- ["category", CategoryRouter],
133
- ]);
134
- themes = new Map([
135
- ["default", DefaultTheme],
136
- ]);
137
- /** @event */
138
- static EVENT_BEGIN_PAGE = PageEvent.BEGIN;
139
- /** @event */
140
- static EVENT_END_PAGE = PageEvent.END;
141
- /** @event */
142
- static EVENT_BEGIN = RendererEvent.BEGIN;
143
- /** @event */
144
- static EVENT_END = RendererEvent.END;
145
- /** @event */
146
- static EVENT_PREPARE_INDEX = IndexEvent.PREPARE_INDEX;
147
- /**
148
- * A list of async jobs which must be completed *before* rendering output.
149
- * They will be called after {@link RendererEvent.BEGIN} has fired, but before any files have been written.
150
- *
151
- * This may be used by plugins to register work that must be done to prepare output files. For example: asynchronously
152
- * transform markdown to HTML.
153
- *
154
- * Note: This array is cleared after calling the contained functions on each {@link Renderer.render} call.
155
- */
156
- preRenderAsyncJobs = [];
157
- /**
158
- * A list of async jobs which must be completed after rendering output files but before generation is considered successful.
159
- * These functions will be called after all documents have been written to the filesystem.
160
- *
161
- * This may be used by plugins to register work that must be done to finalize output files. For example: asynchronously
162
- * generating an image referenced in a render hook.
163
- *
164
- * Note: This array is cleared after calling the contained functions on each {@link Renderer.render} call.
165
- */
166
- postRenderAsyncJobs = [];
167
- /**
168
- * The theme that is used to render the documentation.
169
- */
170
- theme;
171
- /**
172
- * The router which is used to determine the pages to render and
173
- * how to link between pages.
174
- */
175
- router;
176
- /**
177
- * Hooks which will be called when rendering pages.
178
- * Note:
179
- * - Hooks added during output will be discarded at the end of rendering.
180
- * - Hooks added during a page render will be discarded at the end of that page's render.
181
- *
182
- * See {@link RendererHooks} for a description of each available hook, and when it will be called.
183
- */
184
- hooks = new EventHooks();
185
- #themeName_accessor_storage = __runInitializers(this, _themeName_initializers, void 0);
186
- /** @internal */
187
- get themeName() { return this.#themeName_accessor_storage; }
188
- set themeName(value) { this.#themeName_accessor_storage = value; }
189
- #routerName_accessor_storage = (__runInitializers(this, _themeName_extraInitializers), __runInitializers(this, _routerName_initializers, void 0));
190
- /** @internal */
191
- get routerName() { return this.#routerName_accessor_storage; }
192
- set routerName(value) { this.#routerName_accessor_storage = value; }
193
- #cleanOutputDir_accessor_storage = (__runInitializers(this, _routerName_extraInitializers), __runInitializers(this, _cleanOutputDir_initializers, void 0));
194
- get cleanOutputDir() { return this.#cleanOutputDir_accessor_storage; }
195
- set cleanOutputDir(value) { this.#cleanOutputDir_accessor_storage = value; }
196
- #cname_accessor_storage = (__runInitializers(this, _cleanOutputDir_extraInitializers), __runInitializers(this, _cname_initializers, void 0));
197
- get cname() { return this.#cname_accessor_storage; }
198
- set cname(value) { this.#cname_accessor_storage = value; }
199
- #githubPages_accessor_storage = (__runInitializers(this, _cname_extraInitializers), __runInitializers(this, _githubPages_initializers, void 0));
200
- get githubPages() { return this.#githubPages_accessor_storage; }
201
- set githubPages(value) { this.#githubPages_accessor_storage = value; }
202
- #cacheBust_accessor_storage = (__runInitializers(this, _githubPages_extraInitializers), __runInitializers(this, _cacheBust_initializers, void 0));
203
- /** @internal */
204
- get cacheBust() { return this.#cacheBust_accessor_storage; }
205
- set cacheBust(value) { this.#cacheBust_accessor_storage = value; }
206
- #pretty_accessor_storage = (__runInitializers(this, _cacheBust_extraInitializers), __runInitializers(this, _pretty_initializers, void 0));
207
- get pretty() { return this.#pretty_accessor_storage; }
208
- set pretty(value) { this.#pretty_accessor_storage = value; }
209
- renderStartTime = (__runInitializers(this, _pretty_extraInitializers), -1);
210
- markedPlugin;
211
- constructor(owner) {
212
- super(owner);
213
- this.markedPlugin = new MarkedPlugin(this);
214
- new AssetsPlugin(this);
215
- new IconsPlugin(this);
216
- new HierarchyPlugin(this);
217
- new JavascriptIndexPlugin(this);
218
- new NavigationPlugin(this);
219
- new SitemapPlugin(this);
220
- }
221
- /**
222
- * Define a new theme that can be used to render output.
223
- * This API will likely be changing at some point, to allow more easily overriding parts of the theme without
224
- * requiring additional boilerplate.
225
- * @param name
226
- * @param theme
227
- */
228
- defineTheme(name, theme) {
229
- if (this.themes.has(name)) {
230
- throw new Error(`The theme "${name}" has already been defined.`);
231
- }
232
- this.themes.set(name, theme);
233
- }
234
- /** @internal intended for test usage only */
235
- removeTheme(name) {
236
- this.themes.delete(name);
237
- }
238
- /**
239
- * Define a new router that can be used to determine the output structure.
240
- * @param name
241
- * @param router
242
- */
243
- defineRouter(name, router) {
244
- if (this.routers.has(name)) {
245
- throw new Error(`The router "${name}" has already been defined.`);
246
- }
247
- this.routers.set(name, router);
248
- }
249
- /** @internal intended for test usage only */
250
- removeRouter(name) {
251
- this.routers.delete(name);
252
- }
253
- /**
254
- * Render the given project reflection to the specified output directory.
255
- *
256
- * @param project The project that should be rendered.
257
- * @param outputDirectory The path of the directory the documentation should be rendered to.
258
- */
259
- async render(project, outputDirectory) {
260
- JSX.setRenderSettings({ pretty: this.pretty });
261
- const momento = this.hooks.saveMomento();
262
- this.renderStartTime = Date.now();
263
- if (!this.prepareRouter() ||
264
- !this.prepareTheme() ||
265
- !(await this.prepareOutputDirectory(outputDirectory))) {
266
- return;
267
- }
268
- const pages = this.router.buildPages(project);
269
- const output = new RendererEvent(outputDirectory, project, pages);
270
- this.trigger(RendererEvent.BEGIN, output);
271
- await this.runPreRenderJobs(output);
272
- this.application.logger.verbose(`There are ${pages.length} pages to write.`);
273
- for (const page of pages) {
274
- this.renderDocument(outputDirectory, page, project);
275
- }
276
- this.postRenderAsyncJobs.push(async (o) => await this.theme.postRender(o));
277
- await Promise.all(this.postRenderAsyncJobs.map((job) => job(output)));
278
- this.postRenderAsyncJobs = [];
279
- this.trigger(RendererEvent.END, output);
280
- this.theme = void 0;
281
- this.router = void 0;
282
- this.hooks.restoreMomento(momento);
283
- }
284
- async runPreRenderJobs(output) {
285
- const start = Date.now();
286
- this.preRenderAsyncJobs.push(async (o) => await this.theme.preRender(o));
287
- await Promise.all(this.preRenderAsyncJobs.map((job) => job(output)));
288
- this.preRenderAsyncJobs = [];
289
- this.application.logger.verbose(`Pre render async jobs took ${Date.now() - start}ms`);
290
- }
291
- /**
292
- * Render a single page.
293
- *
294
- * @param page An event describing the current page.
295
- * @return TRUE if the page has been saved to disc, otherwise FALSE.
296
- */
297
- renderDocument(outputDirectory, page, project) {
298
- const momento = this.hooks.saveMomento();
299
- const event = new PageEvent(page.model);
300
- event.url = page.url;
301
- event.filename = path.join(outputDirectory, page.url);
302
- event.pageKind = page.kind;
303
- event.project = project;
304
- this.trigger(PageEvent.BEGIN, event);
305
- event.contents = this.theme.render(event);
306
- this.trigger(PageEvent.END, event);
307
- this.hooks.restoreMomento(momento);
308
- try {
309
- writeFileSync(event.filename, event.contents);
310
- }
311
- catch (error) {
312
- this.application.logger.error(i18n.could_not_write_0(event.filename));
313
- }
314
- }
315
- prepareRouter() {
316
- if (!this.theme) {
317
- const ctor = this.routers.get(this.routerName);
318
- if (!ctor) {
319
- this.application.logger.error(i18n.router_0_is_not_defined_available_are_1(this.routerName, [...this.routers.keys()].join(", ")));
320
- return false;
321
- }
322
- else {
323
- this.router = new ctor(this.application);
324
- }
325
- }
326
- return true;
327
- }
328
- prepareTheme() {
329
- if (!this.theme) {
330
- const ctor = this.themes.get(this.themeName);
331
- if (!ctor) {
332
- this.application.logger.error(i18n.theme_0_is_not_defined_available_are_1(this.themeName, [...this.themes.keys()].join(", ")));
333
- return false;
334
- }
335
- else {
336
- this.theme = new ctor(this);
337
- }
338
- }
339
- return true;
340
- }
341
- /**
342
- * Prepare the output directory. If the directory does not exist, it will be
343
- * created. If the directory exists, it will be emptied.
344
- *
345
- * @param directory The path to the directory that should be prepared.
346
- * @returns TRUE if the directory could be prepared, otherwise FALSE.
347
- */
348
- async prepareOutputDirectory(directory) {
349
- if (this.cleanOutputDir) {
350
- try {
351
- await fs.promises.rm(directory, {
352
- recursive: true,
353
- force: true,
354
- });
355
- }
356
- catch (error) {
357
- this.application.logger.warn(i18n.could_not_empty_output_directory_0(directory));
358
- return false;
359
- }
360
- }
361
- try {
362
- fs.mkdirSync(directory, { recursive: true });
363
- }
364
- catch (error) {
365
- this.application.logger.error(i18n.could_not_create_output_directory_0(directory));
366
- return false;
367
- }
368
- if (this.githubPages) {
369
- try {
370
- const text = "TypeDoc added this file to prevent GitHub Pages from " +
371
- "using Jekyll. You can turn off this behavior by setting " +
372
- "the `githubPages` option to false.";
373
- fs.writeFileSync(path.join(directory, ".nojekyll"), text);
374
- }
375
- catch (error) {
376
- this.application.logger.warn(i18n.could_not_write_0(path.join(directory, ".nojekyll")));
377
- return false;
378
- }
379
- }
380
- if (this.cname) {
381
- fs.writeFileSync(path.join(directory, "CNAME"), this.cname);
382
- }
383
- return true;
384
- }
385
- };
386
- })();
387
- export { Renderer };