@d-fischer/documen.ts 0.16.9 → 0.17.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 (300) hide show
  1. package/index.html +36 -35
  2. package/lib/common/CustomError.js +1 -4
  3. package/lib/common/CustomError.js.map +1 -1
  4. package/lib/common/Paths.js +1 -2
  5. package/lib/common/components/Badge.js +7 -10
  6. package/lib/common/components/Badge.js.map +1 -1
  7. package/lib/common/components/BetaNotice.js +5 -10
  8. package/lib/common/components/BetaNotice.js.map +1 -1
  9. package/lib/common/components/Button.js +8 -12
  10. package/lib/common/components/Button.js.map +1 -1
  11. package/lib/common/components/CodeBlock.js +45 -61
  12. package/lib/common/components/CodeBlock.js.map +1 -1
  13. package/lib/common/components/CodeLink.js +12 -15
  14. package/lib/common/components/CodeLink.js.map +1 -1
  15. package/lib/common/components/DeprecationNotice.js +5 -10
  16. package/lib/common/components/DeprecationNotice.js.map +1 -1
  17. package/lib/common/components/FunctionParamDesc.js +7 -19
  18. package/lib/common/components/FunctionParamDesc.js.map +1 -1
  19. package/lib/common/components/FunctionParamDescEntry.js +26 -38
  20. package/lib/common/components/FunctionParamDescEntry.js.map +1 -1
  21. package/lib/common/components/FunctionReturnType.js +8 -17
  22. package/lib/common/components/FunctionReturnType.js.map +1 -1
  23. package/lib/common/components/FunctionSignature.js +7 -22
  24. package/lib/common/components/FunctionSignature.js.map +1 -1
  25. package/lib/common/components/InterfaceDetail.js +11 -18
  26. package/lib/common/components/InterfaceDetail.js.map +1 -1
  27. package/lib/common/components/InterfaceRepresentation.js +21 -40
  28. package/lib/common/components/InterfaceRepresentation.js.map +1 -1
  29. package/lib/common/components/MainMenu.js +20 -36
  30. package/lib/common/components/MainMenu.js.map +1 -1
  31. package/lib/common/components/NavMenu.js +6 -9
  32. package/lib/common/components/NavMenu.js.map +1 -1
  33. package/lib/common/components/NavMenuGroup.js +5 -10
  34. package/lib/common/components/NavMenuGroup.js.map +1 -1
  35. package/lib/common/components/NavMenuItem.js +8 -11
  36. package/lib/common/components/NavMenuItem.js.map +1 -1
  37. package/lib/common/components/PageArticle.js +7 -10
  38. package/lib/common/components/PageArticle.js.map +1 -1
  39. package/lib/common/components/SymbolHeader.js +6 -20
  40. package/lib/common/components/SymbolHeader.js.map +1 -1
  41. package/lib/common/components/TypeAliasHint.js +7 -22
  42. package/lib/common/components/TypeAliasHint.js.map +1 -1
  43. package/lib/common/components/TypeLink.js +12 -16
  44. package/lib/common/components/TypeLink.js.map +1 -1
  45. package/lib/common/components/VersionMenu.js +21 -28
  46. package/lib/common/components/VersionMenu.js.map +1 -1
  47. package/lib/common/components/cards/CardToolbar.js +11 -17
  48. package/lib/common/components/cards/CardToolbar.js.map +1 -1
  49. package/lib/common/components/cards/EventCard.js +21 -46
  50. package/lib/common/components/cards/EventCard.js.map +1 -1
  51. package/lib/common/components/cards/FunctionCardHeader.js +13 -25
  52. package/lib/common/components/cards/FunctionCardHeader.js.map +1 -1
  53. package/lib/common/components/cards/MethodCard.js +13 -23
  54. package/lib/common/components/cards/MethodCard.js.map +1 -1
  55. package/lib/common/components/cards/PropertyCard.js +15 -31
  56. package/lib/common/components/cards/PropertyCard.js.map +1 -1
  57. package/lib/common/components/codeBuilders/ReferenceTypeView.js +12 -25
  58. package/lib/common/components/codeBuilders/ReferenceTypeView.js.map +1 -1
  59. package/lib/common/components/codeBuilders/Type.js +30 -75
  60. package/lib/common/components/codeBuilders/Type.js.map +1 -1
  61. package/lib/common/components/overviewTable/OverviewTable.js +6 -21
  62. package/lib/common/components/overviewTable/OverviewTable.js.map +1 -1
  63. package/lib/common/components/overviewTable/OverviewTableEntry.js +13 -22
  64. package/lib/common/components/overviewTable/OverviewTableEntry.js.map +1 -1
  65. package/lib/common/config/Config.js +1 -2
  66. package/lib/common/config/Util.js +4 -8
  67. package/lib/common/config/Util.js.map +1 -1
  68. package/lib/common/config/index.js +5 -9
  69. package/lib/common/config/index.js.map +1 -1
  70. package/lib/common/containers/App.js +10 -18
  71. package/lib/common/containers/App.js.map +1 -1
  72. package/lib/common/containers/AppLayout.js +5 -10
  73. package/lib/common/containers/AppLayout.js.map +1 -1
  74. package/lib/common/containers/Card.js +6 -9
  75. package/lib/common/containers/Card.js.map +1 -1
  76. package/lib/common/containers/PageContent.js +5 -8
  77. package/lib/common/containers/PageContent.js.map +1 -1
  78. package/lib/common/containers/PageHeader.js +5 -8
  79. package/lib/common/containers/PageHeader.js.map +1 -1
  80. package/lib/common/containers/PageSwitch.js +10 -19
  81. package/lib/common/containers/PageSwitch.js.map +1 -1
  82. package/lib/common/containers/ReferencePackageContainer.js +37 -54
  83. package/lib/common/containers/ReferencePackageContainer.js.map +1 -1
  84. package/lib/common/htmlRenderer/HtmlRenderer.js +23 -37
  85. package/lib/common/htmlRenderer/HtmlRenderer.js.map +1 -1
  86. package/lib/common/htmlRenderer/RouterMode.js +1 -2
  87. package/lib/common/htmlRenderer/StaticRouterWithSuffix.js +20 -24
  88. package/lib/common/htmlRenderer/StaticRouterWithSuffix.js.map +1 -1
  89. package/lib/common/pages/ClassPage.js +39 -67
  90. package/lib/common/pages/ClassPage.js.map +1 -1
  91. package/lib/common/pages/DocPage.js +27 -39
  92. package/lib/common/pages/DocPage.js.map +1 -1
  93. package/lib/common/pages/EnumPage.js +20 -40
  94. package/lib/common/pages/EnumPage.js.map +1 -1
  95. package/lib/common/pages/FunctionPage.js +20 -39
  96. package/lib/common/pages/FunctionPage.js.map +1 -1
  97. package/lib/common/pages/InterfacePage.js +20 -32
  98. package/lib/common/pages/InterfacePage.js.map +1 -1
  99. package/lib/common/pages/TypeAliasPage.js +19 -34
  100. package/lib/common/pages/TypeAliasPage.js.map +1 -1
  101. package/lib/common/reference/index.js +1 -3
  102. package/lib/common/reference/index.js.map +1 -1
  103. package/lib/common/theme.js +1 -3
  104. package/lib/common/theme.js.map +1 -1
  105. package/lib/common/tools/ArrayTools.js +7 -18
  106. package/lib/common/tools/ArrayTools.js.map +1 -1
  107. package/lib/common/tools/CodeTools.js +12 -23
  108. package/lib/common/tools/CodeTools.js.map +1 -1
  109. package/lib/common/tools/ConfigTools.js +15 -20
  110. package/lib/common/tools/ConfigTools.js.map +1 -1
  111. package/lib/common/tools/FileTools.js +9 -16
  112. package/lib/common/tools/FileTools.js.map +1 -1
  113. package/lib/common/tools/FunctionTools.js +3 -7
  114. package/lib/common/tools/FunctionTools.js.map +1 -1
  115. package/lib/common/tools/NodeTools.js +22 -33
  116. package/lib/common/tools/NodeTools.js.map +1 -1
  117. package/lib/common/tools/Point.js +1 -2
  118. package/lib/common/tools/ReferenceTools.js +30 -43
  119. package/lib/common/tools/ReferenceTools.js.map +1 -1
  120. package/lib/common/tools/StringTools.js +3 -9
  121. package/lib/common/tools/StringTools.js.map +1 -1
  122. package/lib/common/tools/TypeTools.js +1 -2
  123. package/lib/common/tools/markdown/MarkdownParser.js +21 -28
  124. package/lib/common/tools/markdown/MarkdownParser.js.map +1 -1
  125. package/lib/common/tools/markdown/plugins/customDirectives.js +15 -17
  126. package/lib/common/tools/markdown/plugins/customDirectives.js.map +1 -1
  127. package/lib/common/tools/markdown/plugins/gfmTables.js +7 -12
  128. package/lib/common/tools/markdown/plugins/gfmTables.js.map +1 -1
  129. package/lib/common/tools/markdown/plugins/symbolLinks.js +9 -13
  130. package/lib/common/tools/markdown/plugins/symbolLinks.js.map +1 -1
  131. package/lib/generator/analyzer/AnalyzeContext.js +5 -6
  132. package/lib/generator/analyzer/AnalyzeContext.js.map +1 -1
  133. package/lib/generator/analyzer/DocComment.js +17 -23
  134. package/lib/generator/analyzer/DocComment.js.map +1 -1
  135. package/lib/generator/analyzer/DocCommentTag.js +4 -5
  136. package/lib/generator/analyzer/DocCommentTag.js.map +1 -1
  137. package/lib/generator/analyzer/Project.js +71 -84
  138. package/lib/generator/analyzer/Project.js.map +1 -1
  139. package/lib/generator/analyzer/createReflection.js +87 -101
  140. package/lib/generator/analyzer/createReflection.js.map +1 -1
  141. package/lib/generator/analyzer/createType.js +51 -62
  142. package/lib/generator/analyzer/createType.js.map +1 -1
  143. package/lib/generator/analyzer/reflections/AccessorReflection.js +36 -39
  144. package/lib/generator/analyzer/reflections/AccessorReflection.js.map +1 -1
  145. package/lib/generator/analyzer/reflections/ClassReflection.js +58 -51
  146. package/lib/generator/analyzer/reflections/ClassReflection.js.map +1 -1
  147. package/lib/generator/analyzer/reflections/ConstructorReflection.js +28 -36
  148. package/lib/generator/analyzer/reflections/ConstructorReflection.js.map +1 -1
  149. package/lib/generator/analyzer/reflections/EnumMemberReflection.js +15 -18
  150. package/lib/generator/analyzer/reflections/EnumMemberReflection.js.map +1 -1
  151. package/lib/generator/analyzer/reflections/EnumReflection.js +21 -23
  152. package/lib/generator/analyzer/reflections/EnumReflection.js.map +1 -1
  153. package/lib/generator/analyzer/reflections/FunctionReflection.js +14 -16
  154. package/lib/generator/analyzer/reflections/FunctionReflection.js.map +1 -1
  155. package/lib/generator/analyzer/reflections/Heritage.js +6 -11
  156. package/lib/generator/analyzer/reflections/Heritage.js.map +1 -1
  157. package/lib/generator/analyzer/reflections/InterfaceReflection.js +41 -41
  158. package/lib/generator/analyzer/reflections/InterfaceReflection.js.map +1 -1
  159. package/lib/generator/analyzer/reflections/MethodReflection.js +40 -45
  160. package/lib/generator/analyzer/reflections/MethodReflection.js.map +1 -1
  161. package/lib/generator/analyzer/reflections/ParameterReflection.js +68 -69
  162. package/lib/generator/analyzer/reflections/ParameterReflection.js.map +1 -1
  163. package/lib/generator/analyzer/reflections/PropertyReflection.js +43 -40
  164. package/lib/generator/analyzer/reflections/PropertyReflection.js.map +1 -1
  165. package/lib/generator/analyzer/reflections/ReferenceReflection.js +8 -7
  166. package/lib/generator/analyzer/reflections/ReferenceReflection.js.map +1 -1
  167. package/lib/generator/analyzer/reflections/Reflection.js +35 -38
  168. package/lib/generator/analyzer/reflections/Reflection.js.map +1 -1
  169. package/lib/generator/analyzer/reflections/SignatureReflection.js +42 -46
  170. package/lib/generator/analyzer/reflections/SignatureReflection.js.map +1 -1
  171. package/lib/generator/analyzer/reflections/SymbolBasedReflection.js +6 -13
  172. package/lib/generator/analyzer/reflections/SymbolBasedReflection.js.map +1 -1
  173. package/lib/generator/analyzer/reflections/TypeAliasReflection.js +24 -26
  174. package/lib/generator/analyzer/reflections/TypeAliasReflection.js.map +1 -1
  175. package/lib/generator/analyzer/reflections/TypeLiteralReflection.js +22 -21
  176. package/lib/generator/analyzer/reflections/TypeLiteralReflection.js.map +1 -1
  177. package/lib/generator/analyzer/reflections/TypeParameterReflection.js +38 -39
  178. package/lib/generator/analyzer/reflections/TypeParameterReflection.js.map +1 -1
  179. package/lib/generator/analyzer/types/ArrayType.js +15 -23
  180. package/lib/generator/analyzer/types/ArrayType.js.map +1 -1
  181. package/lib/generator/analyzer/types/FunctionType.js +31 -38
  182. package/lib/generator/analyzer/types/FunctionType.js.map +1 -1
  183. package/lib/generator/analyzer/types/IntersectionType.js +12 -20
  184. package/lib/generator/analyzer/types/IntersectionType.js.map +1 -1
  185. package/lib/generator/analyzer/types/IntrinsicType.js +33 -41
  186. package/lib/generator/analyzer/types/IntrinsicType.js.map +1 -1
  187. package/lib/generator/analyzer/types/LiteralType.js +60 -68
  188. package/lib/generator/analyzer/types/LiteralType.js.map +1 -1
  189. package/lib/generator/analyzer/types/NamedTupleElementType.js +11 -15
  190. package/lib/generator/analyzer/types/NamedTupleElementType.js.map +1 -1
  191. package/lib/generator/analyzer/types/ObjectLiteralType.js +21 -30
  192. package/lib/generator/analyzer/types/ObjectLiteralType.js.map +1 -1
  193. package/lib/generator/analyzer/types/OptionalType.js +11 -17
  194. package/lib/generator/analyzer/types/OptionalType.js.map +1 -1
  195. package/lib/generator/analyzer/types/ReferenceType.js +118 -133
  196. package/lib/generator/analyzer/types/ReferenceType.js.map +1 -1
  197. package/lib/generator/analyzer/types/ReflectionType.js +4 -7
  198. package/lib/generator/analyzer/types/ReflectionType.js.map +1 -1
  199. package/lib/generator/analyzer/types/TupleType.js +27 -31
  200. package/lib/generator/analyzer/types/TupleType.js.map +1 -1
  201. package/lib/generator/analyzer/types/Type.js +1 -5
  202. package/lib/generator/analyzer/types/Type.js.map +1 -1
  203. package/lib/generator/analyzer/types/TypeOperatorType.js +38 -40
  204. package/lib/generator/analyzer/types/TypeOperatorType.js.map +1 -1
  205. package/lib/generator/analyzer/types/UnionType.js +22 -30
  206. package/lib/generator/analyzer/types/UnionType.js.map +1 -1
  207. package/lib/generator/analyzer/types/UnknownType.js +5 -6
  208. package/lib/generator/analyzer/types/UnknownType.js.map +1 -1
  209. package/lib/generator/analyzer/util/expressions.js +8 -13
  210. package/lib/generator/analyzer/util/expressions.js.map +1 -1
  211. package/lib/generator/analyzer/util/functions.js +15 -19
  212. package/lib/generator/analyzer/util/functions.js.map +1 -1
  213. package/lib/generator/analyzer/util/inheritance.js +26 -32
  214. package/lib/generator/analyzer/util/inheritance.js.map +1 -1
  215. package/lib/generator/analyzer/util/promises.js +2 -9
  216. package/lib/generator/analyzer/util/promises.js.map +1 -1
  217. package/lib/generator/analyzer/util/sourceMaps.js +12 -20
  218. package/lib/generator/analyzer/util/sourceMaps.js.map +1 -1
  219. package/lib/generator/analyzer/util/symbols.js +3 -9
  220. package/lib/generator/analyzer/util/symbols.js.map +1 -1
  221. package/lib/generator/analyzer/util/types.js +6 -10
  222. package/lib/generator/analyzer/util/types.js.map +1 -1
  223. package/lib/generator/cli.js +5 -8
  224. package/lib/generator/cli.js.map +1 -1
  225. package/lib/generator/commands/default.js +260 -259
  226. package/lib/generator/commands/default.js.map +1 -1
  227. package/lib/generator/index.js +1 -1
  228. package/lib/generator/modes/Generator.js +20 -31
  229. package/lib/generator/modes/Generator.js.map +1 -1
  230. package/lib/generator/modes/HtmlGenerator.js +214 -228
  231. package/lib/generator/modes/HtmlGenerator.js.map +1 -1
  232. package/lib/generator/modes/MonorepoGenerator.js +143 -159
  233. package/lib/generator/modes/MonorepoGenerator.js.map +1 -1
  234. package/lib/generator/modes/OutputGenerator.js +2 -7
  235. package/lib/generator/modes/OutputGenerator.js.map +1 -1
  236. package/lib/progressiveEnhancement/fsMap.js +2 -5
  237. package/lib/progressiveEnhancement/fsMap.js.map +1 -1
  238. package/package.json +16 -16
  239. package/src/common/components/CodeBlock.tsx +2 -2
  240. package/src/common/components/CodeLink.tsx +2 -2
  241. package/src/common/components/DeprecationNotice.tsx +2 -2
  242. package/src/common/components/FunctionParamDesc.tsx +3 -3
  243. package/src/common/components/FunctionParamDescEntry.tsx +6 -6
  244. package/src/common/components/FunctionReturnType.tsx +3 -3
  245. package/src/common/components/FunctionSignature.tsx +2 -2
  246. package/src/common/components/InterfaceDetail.tsx +15 -7
  247. package/src/common/components/InterfaceRepresentation.tsx +9 -9
  248. package/src/common/components/MainMenu.tsx +4 -4
  249. package/src/common/components/NavMenuItem.tsx +1 -1
  250. package/src/common/components/PageArticle.tsx +2 -2
  251. package/src/common/components/SymbolHeader.tsx +7 -9
  252. package/src/common/components/TypeAliasHint.tsx +3 -5
  253. package/src/common/components/TypeLink.tsx +6 -7
  254. package/src/common/components/VersionMenu.tsx +3 -3
  255. package/src/common/components/cards/CardToolbar.tsx +10 -6
  256. package/src/common/components/cards/EventCard.tsx +19 -23
  257. package/src/common/components/cards/FunctionCardHeader.tsx +8 -8
  258. package/src/common/components/cards/MethodCard.tsx +8 -8
  259. package/src/common/components/cards/PropertyCard.tsx +11 -11
  260. package/src/common/components/codeBuilders/ReferenceTypeView.tsx +4 -4
  261. package/src/common/components/codeBuilders/Type.tsx +4 -4
  262. package/src/common/components/overviewTable/OverviewTable.tsx +2 -2
  263. package/src/common/components/overviewTable/OverviewTableEntry.tsx +7 -7
  264. package/src/common/config/Config.ts +1 -1
  265. package/src/common/config/Util.ts +11 -3
  266. package/src/common/config/index.tsx +2 -2
  267. package/src/common/containers/App.tsx +12 -9
  268. package/src/common/containers/AppLayout.tsx +2 -2
  269. package/src/common/containers/PageHeader.tsx +2 -2
  270. package/src/common/containers/PageSwitch.tsx +7 -7
  271. package/src/common/containers/ReferencePackageContainer.tsx +13 -13
  272. package/src/common/htmlRenderer/HtmlRenderer.tsx +8 -9
  273. package/src/common/htmlRenderer/StaticRouterWithSuffix.tsx +18 -21
  274. package/src/common/pages/ClassPage.tsx +17 -17
  275. package/src/common/pages/DocPage.tsx +10 -10
  276. package/src/common/pages/EnumPage.tsx +14 -14
  277. package/src/common/pages/FunctionPage.tsx +15 -15
  278. package/src/common/pages/InterfacePage.tsx +13 -13
  279. package/src/common/pages/TypeAliasPage.tsx +12 -12
  280. package/src/common/reference/index.ts +0 -1
  281. package/src/common/tools/ArrayTools.ts +27 -11
  282. package/src/common/tools/CodeTools.tsx +1 -1
  283. package/src/common/tools/ConfigTools.ts +1 -1
  284. package/src/common/tools/FunctionTools.ts +2 -3
  285. package/src/common/tools/NodeTools.ts +3 -2
  286. package/src/common/tools/ReferenceTools.ts +10 -11
  287. package/src/common/tools/StringTools.ts +1 -1
  288. package/src/common/tools/markdown/MarkdownParser.tsx +13 -15
  289. package/src/common/tools/markdown/plugins/customDirectives.ts +1 -1
  290. package/src/common/tools/markdown/plugins/symbolLinks.ts +3 -3
  291. package/src/dev/index.tsx +9 -9
  292. package/src/dev/registerServiceWorker.ts +8 -16
  293. package/src/progressiveEnhancement/fsMap.ts +0 -1
  294. package/src/progressiveEnhancement/index.tsx +9 -11
  295. package/tsconfig-dev.json +1 -6
  296. package/tsconfig-enhance.json +1 -5
  297. package/tsconfig-html.json +1 -5
  298. package/tsconfig.json +7 -21
  299. package/types/globals.d.ts +0 -1
  300. package/types/react-router-hash-link.d.ts +0 -8
@@ -1,12 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DocCommentTag = void 0;
4
- class DocCommentTag {
1
+ export class DocCommentTag {
2
+ relatedName;
3
+ text;
4
+ name;
5
5
  constructor(name, relatedName, text) {
6
6
  this.relatedName = relatedName;
7
7
  this.text = text;
8
8
  this.name = name.toLowerCase();
9
9
  }
10
10
  }
11
- exports.DocCommentTag = DocCommentTag;
12
11
  //# sourceMappingURL=DocCommentTag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocCommentTag.js","sourceRoot":"","sources":["../../../src/generator/analyzer/DocCommentTag.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IAGzB,YAAY,IAAY,EAAkB,WAAoB,EAAkB,IAAa;QAAnD,gBAAW,GAAX,WAAW,CAAS;QAAkB,SAAI,GAAJ,IAAI,CAAS;QAC5F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;CACD;AAND,sCAMC"}
1
+ {"version":3,"file":"DocCommentTag.js","sourceRoot":"","sources":["../../../src/generator/analyzer/DocCommentTag.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAa;IAGiB;IAAsC;IAFvE,IAAI,CAAC;IAEd,YAAY,IAAY,EAAkB,WAAoB,EAAkB,IAAa;QAAnD,gBAAW,GAAX,WAAW,CAAS;QAAkB,SAAI,GAAJ,IAAI,CAAS;QAC5F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;CACD"}
@@ -1,54 +1,47 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Project = void 0;
4
- const tslib_1 = require("tslib");
5
- const assert_1 = tslib_1.__importDefault(require("assert"));
6
- const path_1 = tslib_1.__importDefault(require("path"));
7
- const ts = tslib_1.__importStar(require("typescript"));
8
- const ConfigTools_1 = require("../../common/tools/ConfigTools");
9
- const AnalyzeContext_1 = require("./AnalyzeContext");
10
- const createReflection_1 = require("./createReflection");
11
- const symbols_1 = require("./util/symbols");
12
- class Project {
1
+ import assert from 'assert';
2
+ import path from 'path';
3
+ import * as ts from 'typescript';
4
+ import { parseConfig } from '../../common/tools/ConfigTools.js';
5
+ import { AnalyzeContext } from './AnalyzeContext.js';
6
+ import { createReflection } from './createReflection.js';
7
+ import { nodeToSymbol } from './util/symbols.js';
8
+ export class Project {
9
+ _config;
10
+ _symbolsByPackage = new Map();
11
+ _packageNameToDir = new Map();
12
+ _reflectionsById = new Map();
13
+ _packageNamesByReflectionId = new Map();
14
+ _nextReflectionId = 1;
15
+ _symbolsByReflectionId = new Map();
16
+ _reflectionIdsBySymbol = new Map();
17
+ _brokenReferences = new Map();
13
18
  static getEntryPointForPackageFolder(dir, pkg, tsconfig) {
14
19
  let mainJsFile = pkg.main;
15
- const lastPathPart = mainJsFile.split(path_1.default.delimiter).reverse()[0];
20
+ const lastPathPart = mainJsFile.split(path.delimiter).at(-1);
16
21
  if (!/\.m?js]$/.test(lastPathPart)) {
17
- mainJsFile = path_1.default.join(mainJsFile, 'index.js');
22
+ mainJsFile = path.join(mainJsFile, 'index.js');
18
23
  }
19
- const fullOutPath = path_1.default.join(dir, mainJsFile);
20
- const innerOutPath = path_1.default.relative(tsconfig.options.outDir, fullOutPath);
21
- return path_1.default.join(tsconfig.options.rootDir, innerOutPath.replace(/\.m?js$/, '.ts'));
24
+ const fullOutPath = path.join(dir, mainJsFile);
25
+ const innerOutPath = path.relative(tsconfig.options.outDir, fullOutPath);
26
+ return path.join(tsconfig.options.rootDir, innerOutPath.replace(/\.m?js$/, '.ts'));
22
27
  }
23
28
  constructor(_config) {
24
29
  this._config = _config;
25
- this._symbolsByPackage = new Map();
26
- this._packageNameToDir = new Map();
27
- this._reflectionsById = new Map();
28
- this._packageNamesByReflectionId = new Map();
29
- this._nextReflectionId = 1;
30
- this._symbolsByReflectionId = new Map();
31
- this._reflectionIdsBySymbol = new Map();
32
- this._brokenReferences = new Map();
33
- }
34
- analyzeSinglePackage(packageJson) {
35
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
- const parsedConfig = (0, ConfigTools_1.parseConfig)(path_1.default.join(this._config.baseDir, 'tsconfig.json'));
37
- const scopeLength = this._config.packageScope ? this._config.packageScope.length + 2 : 0;
38
- const packageName = packageJson.name.slice(scopeLength);
39
- yield this._analyzePackage(packageName, this._config.baseDir, packageJson, parsedConfig);
40
- });
41
30
  }
42
- analyzeMonorepoPackage(packageDirName, packageJson, tsProgram) {
43
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
44
- (0, assert_1.default)(this._config.monorepoRoot);
45
- const packageFolder = path_1.default.join(this._config.baseDir, this._config.monorepoRoot, packageDirName);
46
- const parsedConfig = (0, ConfigTools_1.parseConfig)(path_1.default.join(packageFolder, 'tsconfig.json'));
47
- const scopeLength = this._config.packageScope ? this._config.packageScope.length + 2 : 0;
48
- const packageName = packageJson.name.slice(scopeLength);
49
- this._packageNameToDir.set(packageName, packageDirName);
50
- yield this._analyzePackage(packageName, packageFolder, packageJson, parsedConfig, tsProgram);
51
- });
31
+ async analyzeSinglePackage(packageJson) {
32
+ const parsedConfig = parseConfig(path.join(this._config.baseDir, 'tsconfig.json'));
33
+ const scopeLength = this._config.packageScope ? this._config.packageScope.length + 2 : 0;
34
+ const packageName = packageJson.name.slice(scopeLength);
35
+ await this._analyzePackage(packageName, this._config.baseDir, packageJson, parsedConfig);
36
+ }
37
+ async analyzeMonorepoPackage(packageDirName, packageJson, tsProgram) {
38
+ assert(this._config.monorepoRoot);
39
+ const packageFolder = path.join(this._config.baseDir, this._config.monorepoRoot, packageDirName);
40
+ const parsedConfig = parseConfig(path.join(packageFolder, 'tsconfig.json'));
41
+ const scopeLength = this._config.packageScope ? this._config.packageScope.length + 2 : 0;
42
+ const packageName = packageJson.name.slice(scopeLength);
43
+ this._packageNameToDir.set(packageName, packageDirName);
44
+ await this._analyzePackage(packageName, packageFolder, packageJson, parsedConfig, tsProgram);
52
45
  }
53
46
  serialize() {
54
47
  const packages = [...this._symbolsByPackage.entries()].map(([packageName, packageSymbols]) => ({
@@ -74,7 +67,7 @@ class Project {
74
67
  }
75
68
  findIdAtPosition(fullPath, line, column) {
76
69
  for (const [id, rs] of this._reflectionsById) {
77
- const declarations = rs.declarations;
70
+ const { declarations } = rs;
78
71
  for (const declaration of declarations) {
79
72
  const declSf = declaration.getSourceFile();
80
73
  if (declSf.fileName !== fullPath) {
@@ -130,7 +123,7 @@ class Project {
130
123
  }
131
124
  const sf = node.getSourceFile();
132
125
  const { fileName } = sf;
133
- const relativeFileName = path_1.default.relative(this._config.baseDir, fileName);
126
+ const relativeFileName = path.relative(this._config.baseDir, fileName);
134
127
  const pos = node.getStart();
135
128
  const { character, line } = sf.getLineAndCharacterOfPosition(pos);
136
129
  return {
@@ -140,24 +133,23 @@ class Project {
140
133
  };
141
134
  }
142
135
  findExternalPackageReference(declaration, originalName) {
143
- var _a;
144
136
  const sf = declaration.getSourceFile();
145
- const nodeModulesPath = path_1.default.join(this._config.baseDir, 'node_modules');
137
+ const nodeModulesPath = path.join(this._config.baseDir, 'node_modules');
146
138
  if (sf.fileName.startsWith(nodeModulesPath)) {
147
- const parts = sf.fileName.slice(nodeModulesPath.length + 1).split(path_1.default.sep);
139
+ const parts = sf.fileName.slice(nodeModulesPath.length + 1).split(path.sep);
148
140
  let packageName = parts.shift();
149
141
  let packagePathName = packageName;
150
142
  if (packageName.startsWith('@')) {
151
143
  const scopedName = parts.shift();
152
144
  packageName += `/${scopedName}`;
153
- packagePathName = path_1.default.join(packagePathName, scopedName);
145
+ packagePathName = path.join(packagePathName, scopedName);
154
146
  }
155
147
  // eslint-disable-next-line @typescript-eslint/no-require-imports,@typescript-eslint/no-var-requires
156
- const packageJson = require(path_1.default.join(nodeModulesPath, packagePathName, 'package.json'));
148
+ const packageJson = require(path.join(nodeModulesPath, packagePathName, 'package.json'));
157
149
  if ('documentation' in packageJson) {
158
150
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
159
151
  const documentation = packageJson.documentation;
160
- const baseUrl = (_a = documentation.url) !== null && _a !== void 0 ? _a : packageJson.homepage;
152
+ const baseUrl = documentation.url ?? packageJson.homepage;
161
153
  if (baseUrl) {
162
154
  const symbolKind = this._getTypeDeclarationKind(declaration);
163
155
  if (symbolKind) {
@@ -189,41 +181,36 @@ class Project {
189
181
  }
190
182
  return undefined;
191
183
  }
192
- _analyzePackage(packageName, packageFolder, packageJson, tsconfig, program) {
193
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
194
- const { options, fileNames } = tsconfig;
195
- program !== null && program !== void 0 ? program : (program = ts.createProgram({
196
- options,
197
- rootNames: fileNames
198
- }));
199
- const checker = program.getTypeChecker();
200
- const ctx = new AnalyzeContext_1.AnalyzeContext(this, checker, packageName);
201
- const pathToEntryPoint = Project.getEntryPointForPackageFolder(packageFolder, packageJson, tsconfig);
202
- const sf = program.getSourceFile(pathToEntryPoint);
203
- const children = sf.statements;
204
- const fileExports = children
205
- .filter((child) => ts.isExportDeclaration(child))
206
- .flatMap(expDecl => {
207
- const clause = expDecl.exportClause;
208
- if (ts.isNamedExports(clause)) {
209
- return clause.elements;
210
- }
211
- else {
212
- throw new Error(`Namespace exports not supported yet (file: ${expDecl.getSourceFile().fileName})`);
213
- }
214
- })
215
- .map(exp => {
216
- const id = exp.name;
217
- return (0, symbols_1.nodeToSymbol)(ctx, id);
218
- });
219
- const result = [];
220
- for (const sym of fileExports) {
221
- const reflection = yield (0, createReflection_1.createReflection)(ctx, sym);
222
- result.push(reflection);
184
+ async _analyzePackage(packageName, packageFolder, packageJson, tsconfig, program) {
185
+ const { options, fileNames } = tsconfig;
186
+ program ??= ts.createProgram({
187
+ options,
188
+ rootNames: fileNames
189
+ });
190
+ const checker = program.getTypeChecker();
191
+ const ctx = new AnalyzeContext(this, checker, packageName);
192
+ const pathToEntryPoint = Project.getEntryPointForPackageFolder(packageFolder, packageJson, tsconfig);
193
+ const sf = program.getSourceFile(pathToEntryPoint);
194
+ const children = sf.statements;
195
+ const fileExports = children
196
+ .filter((child) => ts.isExportDeclaration(child))
197
+ .flatMap(expDecl => {
198
+ const clause = expDecl.exportClause;
199
+ if (ts.isNamedExports(clause)) {
200
+ return clause.elements;
223
201
  }
224
- this._symbolsByPackage.set(packageName, result);
202
+ throw new Error(`Namespace exports not supported yet (file: ${expDecl.getSourceFile().fileName})`);
203
+ })
204
+ .map(exp => {
205
+ const id = exp.name;
206
+ return nodeToSymbol(ctx, id);
225
207
  });
208
+ const result = [];
209
+ for (const sym of fileExports) {
210
+ const reflection = await createReflection(ctx, sym);
211
+ result.push(reflection);
212
+ }
213
+ this._symbolsByPackage.set(packageName, result);
226
214
  }
227
215
  }
228
- exports.Project = Project;
229
216
  //# sourceMappingURL=Project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Project.js","sourceRoot":"","sources":["../../../src/generator/analyzer/Project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Project.js","sourceRoot":"","sources":["../../../src/generator/analyzer/Project.ts"],"names":[],"mappings":"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"}
@@ -1,110 +1,96 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createReflection = exports.createReflectionInternal = exports.findSourceMappedId = void 0;
4
- const tslib_1 = require("tslib");
5
- const assert_1 = tslib_1.__importDefault(require("assert"));
6
- const path_1 = tslib_1.__importDefault(require("path"));
7
- const ts = tslib_1.__importStar(require("typescript"));
8
- const AccessorReflection_1 = require("./reflections/AccessorReflection");
9
- const ClassReflection_1 = require("./reflections/ClassReflection");
10
- const EnumReflection_1 = require("./reflections/EnumReflection");
11
- const FunctionReflection_1 = require("./reflections/FunctionReflection");
12
- const InterfaceReflection_1 = require("./reflections/InterfaceReflection");
13
- const MethodReflection_1 = require("./reflections/MethodReflection");
14
- const ParameterReflection_1 = require("./reflections/ParameterReflection");
15
- const PropertyReflection_1 = require("./reflections/PropertyReflection");
16
- const ReferenceReflection_1 = require("./reflections/ReferenceReflection");
17
- const SymbolBasedReflection_1 = require("./reflections/SymbolBasedReflection");
18
- const TypeAliasReflection_1 = require("./reflections/TypeAliasReflection");
19
- const sourceMaps_1 = require("./util/sourceMaps");
20
- function findSourceMappedId(ctx, declaration) {
21
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
22
- const declSf = declaration.getSourceFile();
23
- if (declSf.fileName.endsWith('.d.ts')) {
24
- const declFullText = declSf.getFullText();
25
- const endComments = ts.getLeadingCommentRanges(declFullText, declSf.endOfFileToken.getFullStart());
26
- const lastCommentRange = endComments === null || endComments === void 0 ? void 0 : endComments.pop();
27
- if (lastCommentRange) {
28
- const lastComment = declFullText.substring(lastCommentRange.pos, lastCommentRange.end);
29
- const mapUrlMatch = /^\/\/# sourceMappingURL=(.+)$/.exec(lastComment);
30
- const url = mapUrlMatch === null || mapUrlMatch === void 0 ? void 0 : mapUrlMatch[1];
31
- if (url) {
32
- const consumer = yield (0, sourceMaps_1.getSourceMapConsumer)(path_1.default.dirname(declSf.fileName), url);
33
- const lac = declSf.getLineAndCharacterOfPosition(declaration.getStart());
34
- const origPos = consumer.originalPositionFor({
35
- line: lac.line + 1,
36
- column: lac.character
37
- });
38
- if (origPos.source) {
39
- const fullPath = path_1.default.resolve(path_1.default.dirname(declSf.fileName), path_1.default.dirname(url), origPos.source);
40
- return ctx.project.findIdAtPosition(fullPath, origPos.line - 1, origPos.column);
41
- }
1
+ import assert from 'assert';
2
+ import path from 'path';
3
+ import * as ts from 'typescript';
4
+ import { AccessorReflection } from './reflections/AccessorReflection.js';
5
+ import { ClassReflection } from './reflections/ClassReflection.js';
6
+ import { EnumReflection } from './reflections/EnumReflection.js';
7
+ import { FunctionReflection } from './reflections/FunctionReflection.js';
8
+ import { InterfaceReflection } from './reflections/InterfaceReflection.js';
9
+ import { MethodReflection } from './reflections/MethodReflection.js';
10
+ import { ParameterReflection } from './reflections/ParameterReflection.js';
11
+ import { PropertyReflection } from './reflections/PropertyReflection.js';
12
+ import { ReferenceReflection } from './reflections/ReferenceReflection.js';
13
+ import { SymbolBasedReflection } from './reflections/SymbolBasedReflection.js';
14
+ import { TypeAliasReflection } from './reflections/TypeAliasReflection.js';
15
+ import { getSourceMapConsumer } from './util/sourceMaps.js';
16
+ export async function findSourceMappedId(ctx, declaration) {
17
+ const declSf = declaration.getSourceFile();
18
+ if (declSf.fileName.endsWith('.d.ts')) {
19
+ const declFullText = declSf.getFullText();
20
+ const endComments = ts.getLeadingCommentRanges(declFullText, declSf.endOfFileToken.getFullStart());
21
+ const lastCommentRange = endComments?.pop();
22
+ if (lastCommentRange) {
23
+ const lastComment = declFullText.substring(lastCommentRange.pos, lastCommentRange.end);
24
+ const mapUrlMatch = /^\/\/# sourceMappingURL=(.+)$/.exec(lastComment);
25
+ const url = mapUrlMatch?.[1];
26
+ if (url) {
27
+ const consumer = await getSourceMapConsumer(path.dirname(declSf.fileName), url);
28
+ const lac = declSf.getLineAndCharacterOfPosition(declaration.getStart());
29
+ const origPos = consumer.originalPositionFor({
30
+ line: lac.line + 1,
31
+ column: lac.character
32
+ });
33
+ if (origPos.source) {
34
+ const fullPath = path.resolve(path.dirname(declSf.fileName), path.dirname(url), origPos.source);
35
+ return ctx.project.findIdAtPosition(fullPath, origPos.line - 1, origPos.column);
42
36
  }
43
37
  }
44
38
  }
45
- return undefined;
46
- });
39
+ }
40
+ return undefined;
47
41
  }
48
- exports.findSourceMappedId = findSourceMappedId;
49
- function createReflectionInternal(ctx, symbol, parent) {
50
- var _a;
51
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
52
- const declaration = (_a = symbol.getDeclarations()) === null || _a === void 0 ? void 0 : _a[0];
53
- (0, assert_1.default)(declaration);
54
- const sourceMappedId = yield findSourceMappedId(ctx, declaration);
55
- if (sourceMappedId !== undefined) {
56
- if ((ts.isPropertyDeclaration(declaration) ||
57
- ts.isPropertySignature(declaration) ||
58
- ts.isMethodDeclaration(declaration) ||
59
- ts.isMethodSignature(declaration)) &&
60
- parent instanceof SymbolBasedReflection_1.SymbolBasedReflection) {
61
- const propParentSymbol = ctx.checker.getSymbolAtLocation(declaration.parent);
62
- if (propParentSymbol !== parent.symbol) {
63
- return yield PropertyReflection_1.PropertyReflection.fromSymbol(ctx, symbol, parent);
64
- }
65
- }
66
- return new ReferenceReflection_1.ReferenceReflection(ctx, symbol, sourceMappedId);
67
- }
68
- if (ts.isInterfaceDeclaration(declaration)) {
69
- return yield InterfaceReflection_1.InterfaceReflection.fromSymbol(ctx, symbol);
70
- }
71
- if (ts.isFunctionDeclaration(declaration)) {
72
- return yield FunctionReflection_1.FunctionReflection.fromSymbol(ctx, symbol);
73
- }
74
- if (ts.isClassDeclaration(declaration)) {
75
- return yield ClassReflection_1.ClassReflection.fromSymbol(ctx, symbol);
76
- }
77
- if (ts.isMethodDeclaration(declaration) || ts.isMethodSignature(declaration)) {
78
- return yield MethodReflection_1.MethodReflection.fromSymbol(ctx, symbol, parent);
79
- }
80
- if (ts.isAccessor(declaration)) {
81
- return yield AccessorReflection_1.AccessorReflection.fromSymbol(ctx, symbol, parent);
82
- }
83
- if (ts.isTypeAliasDeclaration(declaration)) {
84
- return yield TypeAliasReflection_1.TypeAliasReflection.fromSymbol(ctx, symbol);
85
- }
86
- if (ts.isPropertyDeclaration(declaration) ||
42
+ export async function createReflectionInternal(ctx, symbol, parent) {
43
+ const declaration = symbol.getDeclarations()?.[0];
44
+ assert(declaration);
45
+ const sourceMappedId = await findSourceMappedId(ctx, declaration);
46
+ if (sourceMappedId !== undefined) {
47
+ if ((ts.isPropertyDeclaration(declaration) ||
87
48
  ts.isPropertySignature(declaration) ||
88
- // eslint-disable-next-line no-bitwise
89
- symbol.flags & ts.SymbolFlags.Property) {
90
- return yield PropertyReflection_1.PropertyReflection.fromSymbol(ctx, symbol, parent);
91
- }
92
- if (ts.isParameter(declaration)) {
93
- return yield ParameterReflection_1.ParameterReflection.fromSymbol(ctx, symbol, declaration);
94
- }
95
- if (ts.isEnumDeclaration(declaration)) {
96
- return yield EnumReflection_1.EnumReflection.fromSymbol(ctx, symbol);
49
+ ts.isMethodDeclaration(declaration) ||
50
+ ts.isMethodSignature(declaration)) &&
51
+ parent instanceof SymbolBasedReflection) {
52
+ const propParentSymbol = ctx.checker.getSymbolAtLocation(declaration.parent);
53
+ if (propParentSymbol !== parent.symbol) {
54
+ return await PropertyReflection.fromSymbol(ctx, symbol, parent);
55
+ }
97
56
  }
98
- return yield SymbolBasedReflection_1.SymbolBasedReflection.unknown(ctx, symbol);
99
- });
57
+ return new ReferenceReflection(ctx, symbol, sourceMappedId);
58
+ }
59
+ if (ts.isInterfaceDeclaration(declaration)) {
60
+ return await InterfaceReflection.fromSymbol(ctx, symbol);
61
+ }
62
+ if (ts.isFunctionDeclaration(declaration)) {
63
+ return await FunctionReflection.fromSymbol(ctx, symbol);
64
+ }
65
+ if (ts.isClassDeclaration(declaration)) {
66
+ return await ClassReflection.fromSymbol(ctx, symbol);
67
+ }
68
+ if (ts.isMethodDeclaration(declaration) || ts.isMethodSignature(declaration)) {
69
+ return await MethodReflection.fromSymbol(ctx, symbol, parent);
70
+ }
71
+ if (ts.isAccessor(declaration)) {
72
+ return await AccessorReflection.fromSymbol(ctx, symbol, parent);
73
+ }
74
+ if (ts.isTypeAliasDeclaration(declaration)) {
75
+ return await TypeAliasReflection.fromSymbol(ctx, symbol);
76
+ }
77
+ if (ts.isPropertyDeclaration(declaration) ||
78
+ ts.isPropertySignature(declaration) ||
79
+ // eslint-disable-next-line no-bitwise
80
+ symbol.flags & ts.SymbolFlags.Property) {
81
+ return await PropertyReflection.fromSymbol(ctx, symbol, parent);
82
+ }
83
+ if (ts.isParameter(declaration)) {
84
+ return await ParameterReflection.fromSymbol(ctx, symbol, declaration);
85
+ }
86
+ if (ts.isEnumDeclaration(declaration)) {
87
+ return await EnumReflection.fromSymbol(ctx, symbol);
88
+ }
89
+ return await SymbolBasedReflection.unknown(ctx, symbol);
100
90
  }
101
- exports.createReflectionInternal = createReflectionInternal;
102
- function createReflection(ctx, symbol, parent) {
103
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
104
- const reflection = yield createReflectionInternal(ctx, symbol, parent);
105
- ctx.project.registerForPackageName(ctx.packageName, reflection);
106
- return reflection;
107
- });
91
+ export async function createReflection(ctx, symbol, parent) {
92
+ const reflection = await createReflectionInternal(ctx, symbol, parent);
93
+ ctx.project.registerForPackageName(ctx.packageName, reflection);
94
+ return reflection;
108
95
  }
109
- exports.createReflection = createReflection;
110
96
  //# sourceMappingURL=createReflection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createReflection.js","sourceRoot":"","sources":["../../../src/generator/analyzer/createReflection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createReflection.js","sourceRoot":"","sources":["../../../src/generator/analyzer/createReflection.ts"],"names":[],"mappings":"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"}