@depup/typedoc 0.28.17-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +34 -0
  3. package/bin/package.json +3 -0
  4. package/bin/typedoc +24 -0
  5. package/changes.json +22 -0
  6. package/dist/browser-locales/de.d.ts +2 -0
  7. package/dist/browser-locales/de.js +62 -0
  8. package/dist/browser-locales/en.d.ts +2 -0
  9. package/dist/browser-locales/en.js +62 -0
  10. package/dist/browser-locales/ja.d.ts +2 -0
  11. package/dist/browser-locales/ja.js +62 -0
  12. package/dist/browser-locales/ko.d.ts +2 -0
  13. package/dist/browser-locales/ko.js +62 -0
  14. package/dist/browser-locales/zh.d.ts +2 -0
  15. package/dist/browser-locales/zh.js +62 -0
  16. package/dist/browser-utils.d.ts +3 -0
  17. package/dist/browser-utils.js +3 -0
  18. package/dist/index.d.ts +49 -0
  19. package/dist/index.js +46 -0
  20. package/dist/lib/application-events.d.ts +5 -0
  21. package/dist/lib/application-events.js +5 -0
  22. package/dist/lib/application.d.ts +195 -0
  23. package/dist/lib/application.js +715 -0
  24. package/dist/lib/cli.d.ts +1 -0
  25. package/dist/lib/cli.js +111 -0
  26. package/dist/lib/converter/comments/blockLexer.d.ts +4 -0
  27. package/dist/lib/converter/comments/blockLexer.js +391 -0
  28. package/dist/lib/converter/comments/declarationReferenceResolver.d.ts +3 -0
  29. package/dist/lib/converter/comments/declarationReferenceResolver.js +218 -0
  30. package/dist/lib/converter/comments/discovery.d.ts +14 -0
  31. package/dist/lib/converter/comments/discovery.js +563 -0
  32. package/dist/lib/converter/comments/index.d.ts +37 -0
  33. package/dist/lib/converter/comments/index.js +241 -0
  34. package/dist/lib/converter/comments/lexer.d.ts +17 -0
  35. package/dist/lib/converter/comments/lexer.js +10 -0
  36. package/dist/lib/converter/comments/lineLexer.d.ts +3 -0
  37. package/dist/lib/converter/comments/lineLexer.js +279 -0
  38. package/dist/lib/converter/comments/linkResolver.d.ts +20 -0
  39. package/dist/lib/converter/comments/linkResolver.js +186 -0
  40. package/dist/lib/converter/comments/parser.d.ts +18 -0
  41. package/dist/lib/converter/comments/parser.js +538 -0
  42. package/dist/lib/converter/comments/rawLexer.d.ts +8 -0
  43. package/dist/lib/converter/comments/rawLexer.js +218 -0
  44. package/dist/lib/converter/comments/tagName.d.ts +8 -0
  45. package/dist/lib/converter/comments/tagName.js +58 -0
  46. package/dist/lib/converter/comments/textParser.d.ts +33 -0
  47. package/dist/lib/converter/comments/textParser.js +372 -0
  48. package/dist/lib/converter/components.d.ts +4 -0
  49. package/dist/lib/converter/components.js +3 -0
  50. package/dist/lib/converter/context.d.ts +101 -0
  51. package/dist/lib/converter/context.js +311 -0
  52. package/dist/lib/converter/convert-expression.d.ts +9 -0
  53. package/dist/lib/converter/convert-expression.js +58 -0
  54. package/dist/lib/converter/converter-events.d.ts +13 -0
  55. package/dist/lib/converter/converter-events.js +13 -0
  56. package/dist/lib/converter/converter.d.ts +238 -0
  57. package/dist/lib/converter/converter.js +705 -0
  58. package/dist/lib/converter/factories/index-signature.d.ts +3 -0
  59. package/dist/lib/converter/factories/index-signature.js +50 -0
  60. package/dist/lib/converter/factories/signature.d.ts +14 -0
  61. package/dist/lib/converter/factories/signature.js +353 -0
  62. package/dist/lib/converter/factories/symbol-id.d.ts +3 -0
  63. package/dist/lib/converter/factories/symbol-id.js +47 -0
  64. package/dist/lib/converter/index.d.ts +5 -0
  65. package/dist/lib/converter/index.js +3 -0
  66. package/dist/lib/converter/jsdoc.d.ts +4 -0
  67. package/dist/lib/converter/jsdoc.js +135 -0
  68. package/dist/lib/converter/plugins/CategoryPlugin.d.ts +48 -0
  69. package/dist/lib/converter/plugins/CategoryPlugin.js +278 -0
  70. package/dist/lib/converter/plugins/CommentPlugin.d.ts +128 -0
  71. package/dist/lib/converter/plugins/CommentPlugin.js +770 -0
  72. package/dist/lib/converter/plugins/GroupPlugin.d.ts +48 -0
  73. package/dist/lib/converter/plugins/GroupPlugin.js +281 -0
  74. package/dist/lib/converter/plugins/ImplementsPlugin.d.ts +42 -0
  75. package/dist/lib/converter/plugins/ImplementsPlugin.js +438 -0
  76. package/dist/lib/converter/plugins/IncludePlugin.d.ts +14 -0
  77. package/dist/lib/converter/plugins/IncludePlugin.js +254 -0
  78. package/dist/lib/converter/plugins/InheritDocPlugin.d.ts +32 -0
  79. package/dist/lib/converter/plugins/InheritDocPlugin.js +220 -0
  80. package/dist/lib/converter/plugins/LinkResolverPlugin.d.ts +13 -0
  81. package/dist/lib/converter/plugins/LinkResolverPlugin.js +88 -0
  82. package/dist/lib/converter/plugins/MergeModuleWithPlugin.d.ts +12 -0
  83. package/dist/lib/converter/plugins/MergeModuleWithPlugin.js +50 -0
  84. package/dist/lib/converter/plugins/PackagePlugin.d.ts +31 -0
  85. package/dist/lib/converter/plugins/PackagePlugin.js +188 -0
  86. package/dist/lib/converter/plugins/SourcePlugin.d.ts +36 -0
  87. package/dist/lib/converter/plugins/SourcePlugin.js +215 -0
  88. package/dist/lib/converter/plugins/TypePlugin.d.ts +16 -0
  89. package/dist/lib/converter/plugins/TypePlugin.js +108 -0
  90. package/dist/lib/converter/plugins/index.d.ts +10 -0
  91. package/dist/lib/converter/plugins/index.js +10 -0
  92. package/dist/lib/converter/symbols.d.ts +3 -0
  93. package/dist/lib/converter/symbols.js +861 -0
  94. package/dist/lib/converter/types.d.ts +10 -0
  95. package/dist/lib/converter/types.js +833 -0
  96. package/dist/lib/converter/utils/nodes.d.ts +7 -0
  97. package/dist/lib/converter/utils/nodes.js +26 -0
  98. package/dist/lib/converter/utils/reflections.d.ts +2 -0
  99. package/dist/lib/converter/utils/reflections.js +17 -0
  100. package/dist/lib/converter/utils/repository.d.ts +96 -0
  101. package/dist/lib/converter/utils/repository.js +295 -0
  102. package/dist/lib/converter/utils/symbols.d.ts +2 -0
  103. package/dist/lib/converter/utils/symbols.js +12 -0
  104. package/dist/lib/debug/index.d.ts +2 -0
  105. package/dist/lib/debug/index.js +2 -0
  106. package/dist/lib/debug/reflectionLifetimes.d.ts +3 -0
  107. package/dist/lib/debug/reflectionLifetimes.js +27 -0
  108. package/dist/lib/debug/rendererUrls.d.ts +6 -0
  109. package/dist/lib/debug/rendererUrls.js +68 -0
  110. package/dist/lib/internationalization/index.d.ts +7 -0
  111. package/dist/lib/internationalization/index.js +7 -0
  112. package/dist/lib/internationalization/internationalization.d.ts +65 -0
  113. package/dist/lib/internationalization/internationalization.js +64 -0
  114. package/dist/lib/internationalization/locale-utils.cjs +8 -0
  115. package/dist/lib/internationalization/locale-utils.d.cts +8 -0
  116. package/dist/lib/internationalization/locales/de.cjs +401 -0
  117. package/dist/lib/internationalization/locales/de.d.cts +368 -0
  118. package/dist/lib/internationalization/locales/en.cjs +411 -0
  119. package/dist/lib/internationalization/locales/en.d.cts +380 -0
  120. package/dist/lib/internationalization/locales/ja.cjs +320 -0
  121. package/dist/lib/internationalization/locales/ja.d.cts +307 -0
  122. package/dist/lib/internationalization/locales/ko.cjs +233 -0
  123. package/dist/lib/internationalization/locales/ko.d.cts +221 -0
  124. package/dist/lib/internationalization/locales/zh.cjs +488 -0
  125. package/dist/lib/internationalization/locales/zh.d.cts +452 -0
  126. package/dist/lib/internationalization/translatable.d.ts +21 -0
  127. package/dist/lib/internationalization/translatable.js +8 -0
  128. package/dist/lib/models/Comment.d.ts +241 -0
  129. package/dist/lib/models/Comment.js +534 -0
  130. package/dist/lib/models/ContainerReflection.d.ts +56 -0
  131. package/dist/lib/models/ContainerReflection.js +159 -0
  132. package/dist/lib/models/DeclarationReflection.d.ts +149 -0
  133. package/dist/lib/models/DeclarationReflection.js +287 -0
  134. package/dist/lib/models/DocumentReflection.d.ts +32 -0
  135. package/dist/lib/models/DocumentReflection.js +66 -0
  136. package/dist/lib/models/FileRegistry.d.ts +46 -0
  137. package/dist/lib/models/FileRegistry.js +133 -0
  138. package/dist/lib/models/ParameterReflection.d.ts +21 -0
  139. package/dist/lib/models/ParameterReflection.js +39 -0
  140. package/dist/lib/models/ProjectReflection.d.ts +112 -0
  141. package/dist/lib/models/ProjectReflection.js +417 -0
  142. package/dist/lib/models/ReferenceReflection.d.ts +49 -0
  143. package/dist/lib/models/ReferenceReflection.js +85 -0
  144. package/dist/lib/models/Reflection.d.ts +229 -0
  145. package/dist/lib/models/Reflection.js +495 -0
  146. package/dist/lib/models/ReflectionCategory.d.ts +31 -0
  147. package/dist/lib/models/ReflectionCategory.js +56 -0
  148. package/dist/lib/models/ReflectionGroup.d.ts +38 -0
  149. package/dist/lib/models/ReflectionGroup.js +72 -0
  150. package/dist/lib/models/ReflectionSymbolId.d.ts +63 -0
  151. package/dist/lib/models/ReflectionSymbolId.js +85 -0
  152. package/dist/lib/models/SignatureReflection.d.ts +50 -0
  153. package/dist/lib/models/SignatureReflection.js +96 -0
  154. package/dist/lib/models/SourceReference.d.ts +33 -0
  155. package/dist/lib/models/SourceReference.js +50 -0
  156. package/dist/lib/models/TypeParameterReflection.d.ts +30 -0
  157. package/dist/lib/models/TypeParameterReflection.js +45 -0
  158. package/dist/lib/models/index.d.ts +19 -0
  159. package/dist/lib/models/index.js +19 -0
  160. package/dist/lib/models/kind.d.ts +84 -0
  161. package/dist/lib/models/kind.js +231 -0
  162. package/dist/lib/models/types.d.ts +553 -0
  163. package/dist/lib/models/types.js +1296 -0
  164. package/dist/lib/models/utils.d.ts +1 -0
  165. package/dist/lib/models/utils.js +26 -0
  166. package/dist/lib/models/variant.d.ts +21 -0
  167. package/dist/lib/models/variant.js +1 -0
  168. package/dist/lib/output/components.d.ts +53 -0
  169. package/dist/lib/output/components.js +133 -0
  170. package/dist/lib/output/events.d.ts +175 -0
  171. package/dist/lib/output/events.js +195 -0
  172. package/dist/lib/output/formatter.d.ts +88 -0
  173. package/dist/lib/output/formatter.js +660 -0
  174. package/dist/lib/output/index.d.ts +9 -0
  175. package/dist/lib/output/index.js +7 -0
  176. package/dist/lib/output/output.d.ts +14 -0
  177. package/dist/lib/output/output.js +92 -0
  178. package/dist/lib/output/plugins/AssetsPlugin.d.ts +20 -0
  179. package/dist/lib/output/plugins/AssetsPlugin.js +160 -0
  180. package/dist/lib/output/plugins/HierarchyPlugin.d.ts +7 -0
  181. package/dist/lib/output/plugins/HierarchyPlugin.js +65 -0
  182. package/dist/lib/output/plugins/IconsPlugin.d.ts +12 -0
  183. package/dist/lib/output/plugins/IconsPlugin.js +54 -0
  184. package/dist/lib/output/plugins/JavascriptIndexPlugin.d.ts +22 -0
  185. package/dist/lib/output/plugins/JavascriptIndexPlugin.js +222 -0
  186. package/dist/lib/output/plugins/NavigationPlugin.d.ts +7 -0
  187. package/dist/lib/output/plugins/NavigationPlugin.js +23 -0
  188. package/dist/lib/output/plugins/SitemapPlugin.d.ts +8 -0
  189. package/dist/lib/output/plugins/SitemapPlugin.js +82 -0
  190. package/dist/lib/output/plugins/index.d.ts +7 -0
  191. package/dist/lib/output/plugins/index.js +7 -0
  192. package/dist/lib/output/renderer.d.ts +227 -0
  193. package/dist/lib/output/renderer.js +387 -0
  194. package/dist/lib/output/router.d.ts +187 -0
  195. package/dist/lib/output/router.js +520 -0
  196. package/dist/lib/output/theme.d.ts +22 -0
  197. package/dist/lib/output/theme.js +17 -0
  198. package/dist/lib/output/themes/MarkedPlugin.d.ts +62 -0
  199. package/dist/lib/output/themes/MarkedPlugin.js +461 -0
  200. package/dist/lib/output/themes/default/DefaultTheme.d.ts +72 -0
  201. package/dist/lib/output/themes/default/DefaultTheme.js +367 -0
  202. package/dist/lib/output/themes/default/DefaultThemeRenderContext.d.ts +105 -0
  203. package/dist/lib/output/themes/default/DefaultThemeRenderContext.js +151 -0
  204. package/dist/lib/output/themes/default/Slugger.d.ts +13 -0
  205. package/dist/lib/output/themes/default/Slugger.js +60 -0
  206. package/dist/lib/output/themes/default/layouts/default.d.ts +6 -0
  207. package/dist/lib/output/themes/default/layouts/default.js +89 -0
  208. package/dist/lib/output/themes/default/partials/anchor-icon.d.ts +5 -0
  209. package/dist/lib/output/themes/default/partials/anchor-icon.js +9 -0
  210. package/dist/lib/output/themes/default/partials/breadcrumb.d.ts +4 -0
  211. package/dist/lib/output/themes/default/partials/breadcrumb.js +11 -0
  212. package/dist/lib/output/themes/default/partials/comment.d.ts +8 -0
  213. package/dist/lib/output/themes/default/partials/comment.js +80 -0
  214. package/dist/lib/output/themes/default/partials/footer.d.ts +3 -0
  215. package/dist/lib/output/themes/default/partials/footer.js +37 -0
  216. package/dist/lib/output/themes/default/partials/header.d.ts +5 -0
  217. package/dist/lib/output/themes/default/partials/header.js +39 -0
  218. package/dist/lib/output/themes/default/partials/hierarchy.d.ts +4 -0
  219. package/dist/lib/output/themes/default/partials/hierarchy.js +32 -0
  220. package/dist/lib/output/themes/default/partials/icon.d.ts +20 -0
  221. package/dist/lib/output/themes/default/partials/icon.js +101 -0
  222. package/dist/lib/output/themes/default/partials/index.d.ts +4 -0
  223. package/dist/lib/output/themes/default/partials/index.js +24 -0
  224. package/dist/lib/output/themes/default/partials/member.d.ts +4 -0
  225. package/dist/lib/output/themes/default/partials/member.declaration.d.ts +4 -0
  226. package/dist/lib/output/themes/default/partials/member.declaration.js +35 -0
  227. package/dist/lib/output/themes/default/partials/member.getterSetter.d.ts +4 -0
  228. package/dist/lib/output/themes/default/partials/member.getterSetter.js +12 -0
  229. package/dist/lib/output/themes/default/partials/member.js +36 -0
  230. package/dist/lib/output/themes/default/partials/member.signature.body.d.ts +6 -0
  231. package/dist/lib/output/themes/default/partials/member.signature.body.js +33 -0
  232. package/dist/lib/output/themes/default/partials/member.signature.title.d.ts +5 -0
  233. package/dist/lib/output/themes/default/partials/member.signature.title.js +9 -0
  234. package/dist/lib/output/themes/default/partials/member.signatures.d.ts +4 -0
  235. package/dist/lib/output/themes/default/partials/member.signatures.js +9 -0
  236. package/dist/lib/output/themes/default/partials/member.sources.d.ts +4 -0
  237. package/dist/lib/output/themes/default/partials/member.sources.js +55 -0
  238. package/dist/lib/output/themes/default/partials/members.d.ts +4 -0
  239. package/dist/lib/output/themes/default/partials/members.js +17 -0
  240. package/dist/lib/output/themes/default/partials/moduleReflection.d.ts +5 -0
  241. package/dist/lib/output/themes/default/partials/moduleReflection.js +68 -0
  242. package/dist/lib/output/themes/default/partials/navigation.d.ts +10 -0
  243. package/dist/lib/output/themes/default/partials/navigation.js +144 -0
  244. package/dist/lib/output/themes/default/partials/reflectionPreview.d.ts +4 -0
  245. package/dist/lib/output/themes/default/partials/reflectionPreview.js +26 -0
  246. package/dist/lib/output/themes/default/partials/toolbar.d.ts +5 -0
  247. package/dist/lib/output/themes/default/partials/toolbar.js +13 -0
  248. package/dist/lib/output/themes/default/partials/type.d.ts +5 -0
  249. package/dist/lib/output/themes/default/partials/type.js +9 -0
  250. package/dist/lib/output/themes/default/partials/typeAndParent.d.ts +4 -0
  251. package/dist/lib/output/themes/default/partials/typeAndParent.js +28 -0
  252. package/dist/lib/output/themes/default/partials/typeDetails.d.ts +8 -0
  253. package/dist/lib/output/themes/default/partials/typeDetails.js +284 -0
  254. package/dist/lib/output/themes/default/partials/typeParameters.d.ts +4 -0
  255. package/dist/lib/output/themes/default/partials/typeParameters.js +26 -0
  256. package/dist/lib/output/themes/default/templates/document.d.ts +5 -0
  257. package/dist/lib/output/themes/default/templates/document.js +3 -0
  258. package/dist/lib/output/themes/default/templates/hierarchy.d.ts +5 -0
  259. package/dist/lib/output/themes/default/templates/hierarchy.js +31 -0
  260. package/dist/lib/output/themes/default/templates/index.d.ts +5 -0
  261. package/dist/lib/output/themes/default/templates/index.js +3 -0
  262. package/dist/lib/output/themes/default/templates/reflection.d.ts +5 -0
  263. package/dist/lib/output/themes/default/templates/reflection.js +53 -0
  264. package/dist/lib/output/themes/lib.d.ts +44 -0
  265. package/dist/lib/output/themes/lib.js +218 -0
  266. package/dist/lib/serialization/components.d.ts +22 -0
  267. package/dist/lib/serialization/components.js +1 -0
  268. package/dist/lib/serialization/deserializer.d.ts +70 -0
  269. package/dist/lib/serialization/deserializer.js +235 -0
  270. package/dist/lib/serialization/events.d.ts +17 -0
  271. package/dist/lib/serialization/events.js +18 -0
  272. package/dist/lib/serialization/index.d.ts +5 -0
  273. package/dist/lib/serialization/index.js +4 -0
  274. package/dist/lib/serialization/schema.d.ts +283 -0
  275. package/dist/lib/serialization/schema.js +32 -0
  276. package/dist/lib/serialization/serializer.d.ts +52 -0
  277. package/dist/lib/serialization/serializer.js +65 -0
  278. package/dist/lib/utils/ValidatingFileRegistry.d.ts +12 -0
  279. package/dist/lib/utils/ValidatingFileRegistry.js +52 -0
  280. package/dist/lib/utils/component.d.ts +38 -0
  281. package/dist/lib/utils/component.js +41 -0
  282. package/dist/lib/utils/compress.d.ts +7 -0
  283. package/dist/lib/utils/compress.js +13 -0
  284. package/dist/lib/utils/declaration-maps.d.ts +3 -0
  285. package/dist/lib/utils/declaration-maps.js +51 -0
  286. package/dist/lib/utils/entry-point.d.ts +50 -0
  287. package/dist/lib/utils/entry-point.js +330 -0
  288. package/dist/lib/utils/fs.d.ts +65 -0
  289. package/dist/lib/utils/fs.js +372 -0
  290. package/dist/lib/utils/general.d.ts +4 -0
  291. package/dist/lib/utils/general.js +25 -0
  292. package/dist/lib/utils/highlighter.d.ts +9 -0
  293. package/dist/lib/utils/highlighter.js +150 -0
  294. package/dist/lib/utils/html-entities.d.ts +8926 -0
  295. package/dist/lib/utils/html-entities.js +2329 -0
  296. package/dist/lib/utils/html.d.ts +67 -0
  297. package/dist/lib/utils/html.js +635 -0
  298. package/dist/lib/utils/index.d.ts +17 -0
  299. package/dist/lib/utils/index.js +15 -0
  300. package/dist/lib/utils/loggers.d.ts +10 -0
  301. package/dist/lib/utils/loggers.js +71 -0
  302. package/dist/lib/utils/options/declaration.d.ts +514 -0
  303. package/dist/lib/utils/options/declaration.js +443 -0
  304. package/dist/lib/utils/options/defaults.d.ts +20 -0
  305. package/dist/lib/utils/options/defaults.js +104 -0
  306. package/dist/lib/utils/options/help.d.ts +7 -0
  307. package/dist/lib/utils/options/help.js +63 -0
  308. package/dist/lib/utils/options/index.d.ts +6 -0
  309. package/dist/lib/utils/options/index.js +4 -0
  310. package/dist/lib/utils/options/options.d.ts +199 -0
  311. package/dist/lib/utils/options/options.js +273 -0
  312. package/dist/lib/utils/options/readers/arguments.d.ts +15 -0
  313. package/dist/lib/utils/options/readers/arguments.js +109 -0
  314. package/dist/lib/utils/options/readers/index.d.ts +4 -0
  315. package/dist/lib/utils/options/readers/index.js +4 -0
  316. package/dist/lib/utils/options/readers/package-json.d.ts +9 -0
  317. package/dist/lib/utils/options/readers/package-json.js +40 -0
  318. package/dist/lib/utils/options/readers/tsconfig.d.ts +14 -0
  319. package/dist/lib/utils/options/readers/tsconfig.js +172 -0
  320. package/dist/lib/utils/options/readers/typedoc.d.ts +33 -0
  321. package/dist/lib/utils/options/readers/typedoc.js +136 -0
  322. package/dist/lib/utils/options/sources/index.d.ts +1 -0
  323. package/dist/lib/utils/options/sources/index.js +1 -0
  324. package/dist/lib/utils/options/sources/typedoc.d.ts +2 -0
  325. package/dist/lib/utils/options/sources/typedoc.js +876 -0
  326. package/dist/lib/utils/options/tsdoc-defaults.d.ts +6 -0
  327. package/dist/lib/utils/options/tsdoc-defaults.js +94 -0
  328. package/dist/lib/utils/package-manifest.d.ts +11 -0
  329. package/dist/lib/utils/package-manifest.js +84 -0
  330. package/dist/lib/utils/paths.d.ts +27 -0
  331. package/dist/lib/utils/paths.js +127 -0
  332. package/dist/lib/utils/perf.d.ts +6 -0
  333. package/dist/lib/utils/perf.js +86 -0
  334. package/dist/lib/utils/plugins.d.ts +3 -0
  335. package/dist/lib/utils/plugins.js +61 -0
  336. package/dist/lib/utils/reflections.d.ts +5 -0
  337. package/dist/lib/utils/reflections.js +64 -0
  338. package/dist/lib/utils/sort.d.ts +11 -0
  339. package/dist/lib/utils/sort.js +153 -0
  340. package/dist/lib/utils/tsconfig.d.ts +5 -0
  341. package/dist/lib/utils/tsconfig.js +60 -0
  342. package/dist/lib/utils/tsutils.d.ts +3 -0
  343. package/dist/lib/utils/tsutils.js +23 -0
  344. package/dist/lib/utils-common/array.d.ts +57 -0
  345. package/dist/lib/utils-common/array.js +152 -0
  346. package/dist/lib/utils-common/declarationReference.d.ts +42 -0
  347. package/dist/lib/utils-common/declarationReference.js +341 -0
  348. package/dist/lib/utils-common/enum.d.ts +9 -0
  349. package/dist/lib/utils-common/enum.js +27 -0
  350. package/dist/lib/utils-common/events.d.ts +29 -0
  351. package/dist/lib/utils-common/events.js +49 -0
  352. package/dist/lib/utils-common/general.d.ts +40 -0
  353. package/dist/lib/utils-common/general.js +22 -0
  354. package/dist/lib/utils-common/hooks.d.ts +51 -0
  355. package/dist/lib/utils-common/hooks.js +90 -0
  356. package/dist/lib/utils-common/i18n.d.ts +18 -0
  357. package/dist/lib/utils-common/i18n.js +39 -0
  358. package/dist/lib/utils-common/index.d.ts +16 -0
  359. package/dist/lib/utils-common/index.js +17 -0
  360. package/dist/lib/utils-common/jsx.d.ts +53 -0
  361. package/dist/lib/utils-common/jsx.elements.d.ts +949 -0
  362. package/dist/lib/utils-common/jsx.elements.js +3 -0
  363. package/dist/lib/utils-common/jsx.js +187 -0
  364. package/dist/lib/utils-common/logger.d.ts +97 -0
  365. package/dist/lib/utils-common/logger.js +129 -0
  366. package/dist/lib/utils-common/map.d.ts +23 -0
  367. package/dist/lib/utils-common/map.js +63 -0
  368. package/dist/lib/utils-common/minimalSourceFile.d.ts +12 -0
  369. package/dist/lib/utils-common/minimalSourceFile.js +43 -0
  370. package/dist/lib/utils-common/path.d.ts +42 -0
  371. package/dist/lib/utils-common/path.js +130 -0
  372. package/dist/lib/utils-common/set.d.ts +3 -0
  373. package/dist/lib/utils-common/set.js +23 -0
  374. package/dist/lib/utils-common/string.d.ts +11 -0
  375. package/dist/lib/utils-common/string.js +84 -0
  376. package/dist/lib/utils-common/validation.d.ts +33 -0
  377. package/dist/lib/utils-common/validation.js +50 -0
  378. package/dist/lib/validation/documentation.d.ts +3 -0
  379. package/dist/lib/validation/documentation.js +91 -0
  380. package/dist/lib/validation/exports.d.ts +3 -0
  381. package/dist/lib/validation/exports.js +65 -0
  382. package/dist/lib/validation/links.d.ts +3 -0
  383. package/dist/lib/validation/links.js +78 -0
  384. package/dist/lib/validation/unusedMergeModuleWith.d.ts +3 -0
  385. package/dist/lib/validation/unusedMergeModuleWith.js +12 -0
  386. package/package.json +161 -0
  387. package/static/main.js +58 -0
  388. package/static/style.css +1633 -0
  389. package/tsdoc.json +247 -0
  390. package/typedoc-config.schema.json +941 -0
@@ -0,0 +1,7 @@
1
+ import ts from "typescript";
2
+ export declare function isNamedNode(node: unknown): node is {
3
+ readonly name: ts.Identifier | ts.PrivateIdentifier | ts.ComputedPropertyName;
4
+ };
5
+ export declare function getHeritageTypes(declarations: readonly (ts.ClassDeclaration | ts.InterfaceDeclaration)[], kind: ts.SyntaxKind.ImplementsKeyword | ts.SyntaxKind.ExtendsKeyword): ts.ExpressionWithTypeArguments[];
6
+ export declare function isObjectType(type: ts.Type): type is ts.ObjectType;
7
+ export declare function isTypeReference(type: ts.Type): type is ts.TypeReference;
@@ -0,0 +1,26 @@
1
+ import ts from "typescript";
2
+ export function isNamedNode(node) {
3
+ const name = node.name;
4
+ return !!name && (ts.isMemberName(name) || ts.isComputedPropertyName(name));
5
+ }
6
+ export function getHeritageTypes(declarations, kind) {
7
+ const exprs = declarations.flatMap((d) => (d.heritageClauses ?? [])
8
+ .filter((hc) => hc.token === kind)
9
+ .flatMap((hc) => hc.types));
10
+ const seenTexts = new Set();
11
+ return exprs.filter((expr) => {
12
+ const text = expr.getText();
13
+ if (seenTexts.has(text)) {
14
+ return false;
15
+ }
16
+ seenTexts.add(text);
17
+ return true;
18
+ });
19
+ }
20
+ export function isObjectType(type) {
21
+ return typeof type.objectFlags === "number";
22
+ }
23
+ export function isTypeReference(type) {
24
+ return (isObjectType(type) &&
25
+ (type.objectFlags & ts.ObjectFlags.Reference) !== 0);
26
+ }
@@ -0,0 +1,2 @@
1
+ import { type SomeType } from "../../models/index.js";
2
+ export declare function removeUndefined(type: SomeType): SomeType;
@@ -0,0 +1,17 @@
1
+ import { IntrinsicType, UnionType } from "../../models/index.js";
2
+ export function removeUndefined(type) {
3
+ if (type instanceof UnionType) {
4
+ const types = type.types.filter((t) => {
5
+ if (t instanceof IntrinsicType) {
6
+ return t.name !== "undefined";
7
+ }
8
+ return true;
9
+ });
10
+ if (types.length === 1) {
11
+ return types[0];
12
+ }
13
+ type.types = types;
14
+ return type;
15
+ }
16
+ return type;
17
+ }
@@ -0,0 +1,96 @@
1
+ import { type Logger } from "#utils";
2
+ export declare function gitIsInstalled(): boolean;
3
+ export interface Repository {
4
+ readonly path: string;
5
+ getURL(fileName: string, line: number): string | undefined;
6
+ }
7
+ export declare class AssumedRepository implements Repository {
8
+ readonly path: string;
9
+ readonly gitRevision: string;
10
+ readonly sourceLinkTemplate: string;
11
+ constructor(path: string, gitRevision: string, sourceLinkTemplate: string);
12
+ getURL(fileName: string, line: number): string | undefined;
13
+ }
14
+ /**
15
+ * Stores data of a repository.
16
+ */
17
+ export declare class GitRepository implements Repository {
18
+ /**
19
+ * The path of this repository on disk.
20
+ */
21
+ path: string;
22
+ /**
23
+ * All files tracked by the repository.
24
+ */
25
+ files: Set<string>;
26
+ urlTemplate: string;
27
+ gitRevision: string;
28
+ /**
29
+ * Create a new Repository instance.
30
+ *
31
+ * @param path The root path of the repository.
32
+ */
33
+ constructor(path: string, gitRevision: string, urlTemplate: string);
34
+ /**
35
+ * Get the URL of the given file on GitHub or Bitbucket.
36
+ *
37
+ * @param fileName The file whose URL should be determined.
38
+ * @returns A URL pointing to the web preview of the given file or undefined.
39
+ */
40
+ getURL(fileName: string, line: number): string | undefined;
41
+ /**
42
+ * Try to create a new repository instance.
43
+ *
44
+ * Checks whether the given path is the root of a valid repository and if so
45
+ * creates a new instance of {@link GitRepository}.
46
+ *
47
+ * @param path The potential repository root.
48
+ * @returns A new instance of {@link GitRepository} or undefined.
49
+ */
50
+ static tryCreateRepository(path: string, sourceLinkTemplate: string, gitRevision: string, gitRemote: string, logger: Logger): GitRepository | undefined;
51
+ }
52
+ /**
53
+ * Responsible for keeping track of 0-N repositories which exist on a machine.
54
+ * This used to be inlined in SourcePlugin, moved out for easy unit testing.
55
+ *
56
+ * Git repositories can be nested. Files should be resolved to a repo as shown
57
+ * below:
58
+ * ```text
59
+ * /project
60
+ * /project/.git (A)
61
+ * /project/file.js (A)
62
+ * /project/folder/file.js (A)
63
+ * /project/sub/.git (B)
64
+ * /project/sub/file.js (B)
65
+ * ```
66
+ *
67
+ * In order words, it is not safe to assume that just because a file is within
68
+ * the `/project` directory, that it belongs to repo `A`. As calling git is
69
+ * expensive (~20-300ms depending on the machine, antivirus, etc.) we check for
70
+ * `.git` folders manually, and only call git if one is found.
71
+ *
72
+ * Symlinked files have the potential to further complicate this. If TypeScript's
73
+ * `preserveSymlinks` option is on, then this may be passed the path to a symlinked
74
+ * file. Unlike TypeScript, we will resolve the path, as the repo link should really
75
+ * point to the actual file.
76
+ */
77
+ export declare class RepositoryManager {
78
+ private basePath;
79
+ private gitRevision;
80
+ private gitRemote;
81
+ private sourceLinkTemplate;
82
+ private disableGit;
83
+ private logger;
84
+ private cache;
85
+ private assumedRepo;
86
+ constructor(basePath: string, gitRevision: string, gitRemote: string, sourceLinkTemplate: string, disableGit: boolean, logger: Logger);
87
+ /**
88
+ * Check whether the given file is placed inside a repository.
89
+ *
90
+ * @param fileName The name of the file a repository should be looked for.
91
+ * @returns The found repository info or undefined.
92
+ */
93
+ getRepository(fileName: string): Repository | undefined;
94
+ private getRepositoryFolder;
95
+ }
96
+ export declare function guessSourceUrlTemplate(remotes: string[]): string | undefined;
@@ -0,0 +1,295 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { spawnSync } from "child_process";
36
+ import { normalizePath } from "../../utils/index.js";
37
+ import { i18n, NonEnumerable } from "#utils";
38
+ import { dirname, join } from "path";
39
+ import { existsSync } from "fs";
40
+ const TEN_MEGABYTES = 1024 * 10000;
41
+ function git(...args) {
42
+ return spawnSync("git", args, {
43
+ encoding: "utf-8",
44
+ windowsHide: true,
45
+ maxBuffer: TEN_MEGABYTES,
46
+ });
47
+ }
48
+ let haveGit;
49
+ export function gitIsInstalled() {
50
+ haveGit ??= git("--version").status === 0;
51
+ return haveGit;
52
+ }
53
+ export class AssumedRepository {
54
+ path;
55
+ gitRevision;
56
+ sourceLinkTemplate;
57
+ constructor(path, gitRevision, sourceLinkTemplate) {
58
+ this.path = path;
59
+ this.gitRevision = gitRevision;
60
+ this.sourceLinkTemplate = sourceLinkTemplate;
61
+ }
62
+ getURL(fileName, line) {
63
+ const replacements = {
64
+ gitRevision: this.gitRevision,
65
+ "gitRevision:short": this.gitRevision.substring(0, 8),
66
+ path: fileName.substring(this.path.length + 1),
67
+ line,
68
+ };
69
+ return this.sourceLinkTemplate.replace(/\{(gitRevision|gitRevision:short|path|line)\}/g, (_, key) => replacements[key]);
70
+ }
71
+ }
72
+ /**
73
+ * Stores data of a repository.
74
+ */
75
+ let GitRepository = (() => {
76
+ let _files_decorators;
77
+ let _files_initializers = [];
78
+ let _files_extraInitializers = [];
79
+ return class GitRepository {
80
+ static {
81
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
82
+ _files_decorators = [NonEnumerable];
83
+ __esDecorate(null, null, _files_decorators, { kind: "field", name: "files", static: false, private: false, access: { has: obj => "files" in obj, get: obj => obj.files, set: (obj, value) => { obj.files = value; } }, metadata: _metadata }, _files_initializers, _files_extraInitializers);
84
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
85
+ }
86
+ /**
87
+ * The path of this repository on disk.
88
+ */
89
+ path;
90
+ /**
91
+ * All files tracked by the repository.
92
+ */
93
+ files = __runInitializers(this, _files_initializers, new Set());
94
+ urlTemplate = __runInitializers(this, _files_extraInitializers);
95
+ gitRevision;
96
+ /**
97
+ * Create a new Repository instance.
98
+ *
99
+ * @param path The root path of the repository.
100
+ */
101
+ constructor(path, gitRevision, urlTemplate) {
102
+ this.path = path;
103
+ this.gitRevision = gitRevision;
104
+ this.urlTemplate = urlTemplate;
105
+ const out = git("-C", path, "ls-files", "-z");
106
+ if (out.status === 0) {
107
+ out.stdout.split("\0").forEach((file) => {
108
+ if (file !== "") {
109
+ this.files.add(normalizePath(path + "/" + file));
110
+ }
111
+ });
112
+ }
113
+ }
114
+ /**
115
+ * Get the URL of the given file on GitHub or Bitbucket.
116
+ *
117
+ * @param fileName The file whose URL should be determined.
118
+ * @returns A URL pointing to the web preview of the given file or undefined.
119
+ */
120
+ getURL(fileName, line) {
121
+ if (!this.files.has(fileName)) {
122
+ return;
123
+ }
124
+ const replacements = {
125
+ gitRevision: this.gitRevision,
126
+ "gitRevision:short": this.gitRevision.substring(0, 8),
127
+ path: fileName.substring(this.path.length + 1),
128
+ line,
129
+ };
130
+ return this.urlTemplate.replace(/\{(gitRevision|gitRevision:short|path|line)\}/g, (_, key) => replacements[key]);
131
+ }
132
+ /**
133
+ * Try to create a new repository instance.
134
+ *
135
+ * Checks whether the given path is the root of a valid repository and if so
136
+ * creates a new instance of {@link GitRepository}.
137
+ *
138
+ * @param path The potential repository root.
139
+ * @returns A new instance of {@link GitRepository} or undefined.
140
+ */
141
+ static tryCreateRepository(path, sourceLinkTemplate, gitRevision, gitRemote, logger) {
142
+ if (gitRevision === "{branch}") {
143
+ gitRevision = git("-C", path, "branch", "--show-current").stdout.trim();
144
+ }
145
+ gitRevision ||= git("-C", path, "rev-parse", "HEAD").stdout.trim();
146
+ if (gitRevision == "HEAD")
147
+ return; // Will only happen in a repo with no commits.
148
+ let urlTemplate;
149
+ if (sourceLinkTemplate) {
150
+ urlTemplate = sourceLinkTemplate;
151
+ }
152
+ else {
153
+ const remotesOut = git("-C", path, "remote", "get-url", gitRemote);
154
+ if (remotesOut.status === 0) {
155
+ urlTemplate = guessSourceUrlTemplate(remotesOut.stdout.split("\n"));
156
+ }
157
+ else {
158
+ logger.warn(i18n.git_remote_0_not_valid(gitRemote));
159
+ }
160
+ }
161
+ if (!urlTemplate)
162
+ return;
163
+ return new GitRepository(normalizePath(path), gitRevision, urlTemplate);
164
+ }
165
+ };
166
+ })();
167
+ export { GitRepository };
168
+ /**
169
+ * Responsible for keeping track of 0-N repositories which exist on a machine.
170
+ * This used to be inlined in SourcePlugin, moved out for easy unit testing.
171
+ *
172
+ * Git repositories can be nested. Files should be resolved to a repo as shown
173
+ * below:
174
+ * ```text
175
+ * /project
176
+ * /project/.git (A)
177
+ * /project/file.js (A)
178
+ * /project/folder/file.js (A)
179
+ * /project/sub/.git (B)
180
+ * /project/sub/file.js (B)
181
+ * ```
182
+ *
183
+ * In order words, it is not safe to assume that just because a file is within
184
+ * the `/project` directory, that it belongs to repo `A`. As calling git is
185
+ * expensive (~20-300ms depending on the machine, antivirus, etc.) we check for
186
+ * `.git` folders manually, and only call git if one is found.
187
+ *
188
+ * Symlinked files have the potential to further complicate this. If TypeScript's
189
+ * `preserveSymlinks` option is on, then this may be passed the path to a symlinked
190
+ * file. Unlike TypeScript, we will resolve the path, as the repo link should really
191
+ * point to the actual file.
192
+ */
193
+ export class RepositoryManager {
194
+ basePath;
195
+ gitRevision;
196
+ gitRemote;
197
+ sourceLinkTemplate;
198
+ disableGit;
199
+ logger;
200
+ cache = new Map();
201
+ assumedRepo;
202
+ constructor(basePath, gitRevision, gitRemote, sourceLinkTemplate, disableGit, logger) {
203
+ this.basePath = basePath;
204
+ this.gitRevision = gitRevision;
205
+ this.gitRemote = gitRemote;
206
+ this.sourceLinkTemplate = sourceLinkTemplate;
207
+ this.disableGit = disableGit;
208
+ this.logger = logger;
209
+ this.assumedRepo = new AssumedRepository(this.basePath, this.gitRevision, this.sourceLinkTemplate);
210
+ }
211
+ /**
212
+ * Check whether the given file is placed inside a repository.
213
+ *
214
+ * @param fileName The name of the file a repository should be looked for.
215
+ * @returns The found repository info or undefined.
216
+ */
217
+ getRepository(fileName) {
218
+ if (this.disableGit) {
219
+ return this.assumedRepo;
220
+ }
221
+ return this.getRepositoryFolder(normalizePath(dirname(fileName)));
222
+ }
223
+ getRepositoryFolder(dir) {
224
+ if (this.cache.has(dir)) {
225
+ return this.cache.get(dir);
226
+ }
227
+ if (existsSync(join(dir, ".git"))) {
228
+ // This might just be a git repo, or we might be in some self-recursive symlink
229
+ // loop, and the repo is actually somewhere else. Ask Git where the repo actually is.
230
+ const repo = git("-C", dir, "rev-parse", "--show-toplevel");
231
+ if (repo.status === 0) {
232
+ const repoDir = repo.stdout.replace("\n", "");
233
+ // This check is only necessary if we're in a symlink loop, otherwise
234
+ // it will always be true.
235
+ if (!this.cache.has(repoDir)) {
236
+ this.cache.set(repoDir, GitRepository.tryCreateRepository(repoDir, this.sourceLinkTemplate, this.gitRevision, this.gitRemote, this.logger));
237
+ }
238
+ this.cache.set(dir, this.cache.get(repoDir));
239
+ }
240
+ else {
241
+ // Not a git repo, probably corrupt.
242
+ this.cache.set(dir, undefined);
243
+ }
244
+ }
245
+ else {
246
+ // We may be at the root of the file system, in which case there is no repo.
247
+ this.cache.set(dir, undefined);
248
+ this.cache.set(dir, this.getRepositoryFolder(dirname(dir)));
249
+ }
250
+ return this.cache.get(dir);
251
+ }
252
+ }
253
+ // Should have three capturing groups:
254
+ // 1. hostname
255
+ // 2. user
256
+ // 3. project
257
+ const repoExpressions = [
258
+ /(github(?!.us)(?:\.[a-z]+)*\.[a-z]{2,})[:/]([^/]+)\/(.*)/,
259
+ /(\w+\.githubprivate.com)[:/]([^/]+)\/(.*)/, // GitHub enterprise
260
+ /(\w+\.ghe.com)[:/]([^/]+)\/(.*)/, // GitHub enterprise
261
+ /(\w+\.github.us)[:/]([^/]+)\/(.*)/, // GitHub enterprise
262
+ /(bitbucket.org)[:/]([^/]+)\/(.*)/,
263
+ /(gitlab.com)[:/]([^/]+)\/(.*)/,
264
+ ];
265
+ export function guessSourceUrlTemplate(remotes) {
266
+ let hostname = "";
267
+ let user = "";
268
+ let project = "";
269
+ outer: for (const repoLink of remotes) {
270
+ for (const regex of repoExpressions) {
271
+ const match = regex.exec(repoLink);
272
+ if (match) {
273
+ hostname = match[1];
274
+ user = match[2];
275
+ project = match[3];
276
+ break outer;
277
+ }
278
+ }
279
+ }
280
+ if (!hostname)
281
+ return;
282
+ if (project.endsWith(".git")) {
283
+ project = project.slice(0, -4);
284
+ }
285
+ let sourcePath = "blob";
286
+ let anchorPrefix = "L";
287
+ if (hostname.includes("gitlab")) {
288
+ sourcePath = "-/blob";
289
+ }
290
+ else if (hostname.includes("bitbucket")) {
291
+ sourcePath = "src";
292
+ anchorPrefix = "lines-";
293
+ }
294
+ return `https://${hostname}/${user}/${project}/${sourcePath}/{gitRevision}/{path}#${anchorPrefix}{line}`;
295
+ }
@@ -0,0 +1,2 @@
1
+ import ts from "typescript";
2
+ export declare function resolveAliasedSymbol(symbol: ts.Symbol, checker: ts.TypeChecker): ts.Symbol;
@@ -0,0 +1,12 @@
1
+ import ts from "typescript";
2
+ export function resolveAliasedSymbol(symbol, checker) {
3
+ const seen = new Set();
4
+ while (ts.SymbolFlags.Alias & symbol.flags) {
5
+ symbol = checker.getAliasedSymbol(symbol);
6
+ // #2438, with declaration files, we might have an aliased symbol which eventually points to itself.
7
+ if (seen.has(symbol))
8
+ return symbol;
9
+ seen.add(symbol);
10
+ }
11
+ return symbol;
12
+ }
@@ -0,0 +1,2 @@
1
+ export { debugReflectionLifetimes } from "./reflectionLifetimes.js";
2
+ export { debugRendererUrls } from "./rendererUrls.js";
@@ -0,0 +1,2 @@
1
+ export { debugReflectionLifetimes } from "./reflectionLifetimes.js";
2
+ export { debugRendererUrls } from "./rendererUrls.js";
@@ -0,0 +1,3 @@
1
+ import type { Application } from "../application.js";
2
+ export declare function debugReflectionLifetimes(app: Application, kindFilter?: number): void;
3
+ export declare function load(app: Application): void;
@@ -0,0 +1,27 @@
1
+ import { ConverterEvents } from "../converter/converter-events.js";
2
+ import { ReflectionKind } from "../models/index.js";
3
+ export function debugReflectionLifetimes(app, kindFilter = ReflectionKind.All) {
4
+ app.converter.on(ConverterEvents.CREATE_PROJECT, logCreate);
5
+ app.converter.on(ConverterEvents.CREATE_SIGNATURE, logCreate);
6
+ app.converter.on(ConverterEvents.CREATE_TYPE_PARAMETER, logCreate);
7
+ app.converter.on(ConverterEvents.CREATE_DECLARATION, logCreate);
8
+ app.converter.on(ConverterEvents.CREATE_DOCUMENT, logCreate);
9
+ app.converter.on(ConverterEvents.CREATE_PARAMETER, logCreate);
10
+ app.converter.on(ConverterEvents.CREATE_PROJECT, (_context, project) => {
11
+ const oldRemove = project["_removeReflection"];
12
+ project["_removeReflection"] = function (reflection) {
13
+ if (reflection.kindOf(kindFilter)) {
14
+ console.log("Remove", reflection.id, reflection.getFullName());
15
+ }
16
+ return oldRemove.call(this, reflection);
17
+ };
18
+ });
19
+ function logCreate(_context, refl) {
20
+ if (refl.kindOf(kindFilter)) {
21
+ console.log("Create", refl.variant, refl.id, refl.getFullName());
22
+ }
23
+ }
24
+ }
25
+ export function load(app) {
26
+ debugReflectionLifetimes(app);
27
+ }
@@ -0,0 +1,6 @@
1
+ import type { Application } from "../application.js";
2
+ export declare function debugRendererUrls(app: Application, { json, logs }?: {
3
+ logs?: true;
4
+ json?: boolean | undefined;
5
+ }): void;
6
+ export declare function load(app: Application): void;
@@ -0,0 +1,68 @@
1
+ /* eslint-disable no-console */
2
+ import { join } from "node:path";
3
+ import { Reflection, ReflectionKind } from "../models/index.js";
4
+ function makeSerializer(router) {
5
+ const serializer = {
6
+ priority: 0,
7
+ supports(x) {
8
+ return x instanceof Reflection;
9
+ },
10
+ toObject(item, obj) {
11
+ if (router.hasUrl(item)) {
12
+ obj.url = router.getFullUrl(item);
13
+ obj.hasOwnDocument = router.hasOwnDocument(item);
14
+ }
15
+ delete obj.sources;
16
+ delete obj.groups;
17
+ delete obj.categories;
18
+ delete obj.readme;
19
+ delete obj.content;
20
+ obj.kind = ReflectionKind[obj.kind];
21
+ delete obj.flags;
22
+ delete obj.defaultValue;
23
+ delete obj.symbolIdMap;
24
+ delete obj.files;
25
+ delete obj.packageName;
26
+ delete obj.variant;
27
+ delete obj.extendedTypes;
28
+ delete obj.inheritedFrom;
29
+ if (!["reflection", "reference"].includes(obj.type?.type)) {
30
+ delete obj.type;
31
+ }
32
+ if (obj.comment) {
33
+ obj.comment.summary = obj.comment.summary.filter((part) => part.kind === "inline-tag");
34
+ obj.comment.blockTags = obj.comment.blockTags?.filter((tag) => {
35
+ tag.content = tag.content.filter((part) => part.kind === "inline-tag");
36
+ return tag.content.length;
37
+ });
38
+ if (!obj.comment.summary.length &&
39
+ !obj.comment.blockTags?.length &&
40
+ !obj.comment.modifierTags) {
41
+ delete obj.comment;
42
+ }
43
+ }
44
+ return obj;
45
+ },
46
+ };
47
+ return serializer;
48
+ }
49
+ export function debugRendererUrls(app, { json = false, logs = false } = { logs: true }) {
50
+ app.renderer.postRenderAsyncJobs.push(async (evt) => {
51
+ const router = app.renderer.router;
52
+ if (json) {
53
+ const serializer = makeSerializer(router);
54
+ app.serializer.addSerializer(serializer);
55
+ await app.generateJson(evt.project, join(evt.outputDirectory, "url_debug.json"));
56
+ app.serializer.removeSerializer(serializer);
57
+ }
58
+ if (logs) {
59
+ for (const id in evt.project.reflections) {
60
+ const refl = evt.project.reflections[id];
61
+ console.log(refl.id, refl.getFullName(), router.hasUrl(refl) ? router.getFullUrl(refl) : undefined);
62
+ }
63
+ }
64
+ });
65
+ }
66
+ export function load(app) {
67
+ debugRendererUrls(app);
68
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Internationalization module for localized strings in output.
3
+ * @summary Internationalization module for localized strings in output.
4
+ * @module
5
+ */
6
+ export { i18n, type TranslatedString } from "#utils";
7
+ export { Internationalization, type TranslatableStrings, type TranslationProxy } from "./internationalization.js";
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Internationalization module for localized strings in output.
3
+ * @summary Internationalization module for localized strings in output.
4
+ * @module
5
+ */
6
+ export { i18n } from "#utils";
7
+ export { Internationalization } from "./internationalization.js";
@@ -0,0 +1,65 @@
1
+ import { type TranslatedString } from "#utils";
2
+ import { type BuiltinTranslatableStringArgs } from "./translatable.js";
3
+ /**
4
+ * ### What is translatable?
5
+ * TypeDoc includes a lot of literal strings. By convention, messages which are displayed
6
+ * to the user at the INFO level or above should be present in this object to be available
7
+ * for translation. Messages at the VERBOSE level need not be translated as they are primarily
8
+ * intended for debugging. ERROR/WARNING deprecation messages related to TypeDoc's API, or
9
+ * requesting users submit a bug report need not be translated.
10
+ *
11
+ * Errors thrown by TypeDoc are generally *not* considered translatable as they are not
12
+ * displayed to the user. An exception to this is errors thrown by the `validate` method
13
+ * on options, as option readers will use them to report errors to the user.
14
+ *
15
+ * ### Interface Keys
16
+ * This object uses a similar convention as TypeScript, where the specified key should
17
+ * indicate where placeholders are present by including a number in the name. This is
18
+ * so that translations can easily tell that they are including the appropriate placeholders.
19
+ * This will also be validated at runtime by the {@link Internationalization} class, but
20
+ * it's better to have that hint when editing as well.
21
+ *
22
+ * This interface defines the available translatable strings, and the number of placeholders
23
+ * that are required to use each string. Plugins may use declaration merging to add members
24
+ * to this interface to use TypeDoc's internationalization module.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * declare module "typedoc" {
29
+ * interface TranslatableStrings {
30
+ * // Define a translatable string with no arguments
31
+ * plugin_msg: [];
32
+ * // Define a translatable string requiring one argument
33
+ * plugin_msg_0: [string];
34
+ * }
35
+ * }
36
+ * ```
37
+ */
38
+ export interface TranslatableStrings extends BuiltinTranslatableStringArgs {
39
+ }
40
+ /**
41
+ * Dynamic proxy type built from {@link TranslatableStrings}
42
+ */
43
+ export type TranslationProxy = {
44
+ [K in keyof TranslatableStrings]: (...args: TranslatableStrings[K]) => TranslatedString;
45
+ };
46
+ /**
47
+ * Load TypeDoc's translations for a specified language
48
+ */
49
+ export declare function loadTranslations(lang: string): Record<string, string>;
50
+ /**
51
+ * Get languages which TypeDoc includes translations for
52
+ */
53
+ export declare function getNativelySupportedLanguages(): string[];
54
+ /**
55
+ * Responsible for maintaining loaded internationalized strings.
56
+ */
57
+ export declare class Internationalization {
58
+ private locales;
59
+ private loadedLocale;
60
+ constructor();
61
+ setLocale(locale: string): void;
62
+ addTranslations(locale: string, translations: Record<string, string>): void;
63
+ hasTranslations(locale: string): boolean;
64
+ getSupportedLanguages(): string[];
65
+ }