@proteinjs/reflection-build 2.0.2 → 2.1.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 (246) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/src/ReflectionDoctor.d.ts +6 -1
  3. package/dist/src/ReflectionDoctor.js +53 -51
  4. package/dist/src/ReflectionDoctor.js.map +1 -1
  5. package/dist/src/codegen/CanonicalSourceGraph.d.ts +22 -0
  6. package/dist/src/codegen/CanonicalSourceGraph.js +60 -0
  7. package/dist/src/codegen/CanonicalSourceGraph.js.map +1 -0
  8. package/dist/src/codegen/writeGeneratedIndex.d.ts +12 -3
  9. package/dist/src/codegen/writeGeneratedIndex.js +21 -13
  10. package/dist/src/codegen/writeGeneratedIndex.js.map +1 -1
  11. package/dist/src/parser/PackageSourceFiles.d.ts +30 -0
  12. package/dist/src/parser/PackageSourceFiles.js +151 -0
  13. package/dist/src/parser/PackageSourceFiles.js.map +1 -0
  14. package/dist/src/parser/SharedQualifiedNames.d.ts +43 -0
  15. package/dist/src/parser/SharedQualifiedNames.js +81 -0
  16. package/dist/src/parser/SharedQualifiedNames.js.map +1 -0
  17. package/dist/src/parser/createGraphBuilder.d.ts +6 -1
  18. package/dist/src/parser/createGraphBuilder.js +16 -31
  19. package/dist/src/parser/createGraphBuilder.js.map +1 -1
  20. package/dist/src/parser/createSourceGraph.d.ts +6 -1
  21. package/dist/src/parser/createSourceGraph.js +23 -38
  22. package/dist/src/parser/createSourceGraph.js.map +1 -1
  23. package/dist/test/Class.test.js +1 -1
  24. package/dist/test/Class.test.js.map +1 -1
  25. package/dist/test/ExamplePackageFixture.d.ts +47 -0
  26. package/dist/test/ExamplePackageFixture.js +207 -0
  27. package/dist/test/ExamplePackageFixture.js.map +1 -0
  28. package/dist/test/GraphEmitRelativePaths.test.js +1 -1
  29. package/dist/test/GraphEmitRelativePaths.test.js.map +1 -1
  30. package/dist/test/PackageSourceFiles.test.d.ts +1 -0
  31. package/dist/test/PackageSourceFiles.test.js +57 -0
  32. package/dist/test/PackageSourceFiles.test.js.map +1 -0
  33. package/dist/test/ReflectionDoctor.test.js +55 -18
  34. package/dist/test/ReflectionDoctor.test.js.map +1 -1
  35. package/dist/test/ReproducibleGeneratedIndex.test.d.ts +1 -0
  36. package/dist/test/ReproducibleGeneratedIndex.test.js +224 -0
  37. package/dist/test/ReproducibleGeneratedIndex.test.js.map +1 -0
  38. package/dist/test/SharedQualifiedNames.test.d.ts +1 -0
  39. package/dist/test/SharedQualifiedNames.test.js +186 -0
  40. package/dist/test/SharedQualifiedNames.test.js.map +1 -0
  41. package/dist/test/examples/reproducible/index.d.ts +4 -0
  42. package/dist/test/examples/reproducible/index.js +21 -0
  43. package/dist/test/examples/reproducible/index.js.map +1 -0
  44. package/dist/test/examples/reproducible/src/alpha/Alpha.d.ts +10 -0
  45. package/dist/test/examples/reproducible/src/alpha/Alpha.js +18 -0
  46. package/dist/test/examples/reproducible/src/alpha/Alpha.js.map +1 -0
  47. package/dist/test/examples/reproducible/src/alpha/Defaults.d.ts +2 -0
  48. package/dist/test/examples/reproducible/src/alpha/Defaults.js +6 -0
  49. package/dist/test/examples/reproducible/src/alpha/Defaults.js.map +1 -0
  50. package/dist/test/examples/reproducible/src/beta/Beta.d.ts +5 -0
  51. package/dist/test/examples/reproducible/src/beta/Beta.js +12 -0
  52. package/dist/test/examples/reproducible/src/beta/Beta.js.map +1 -0
  53. package/dist/test/examples/reproducible/src/beta/deep/Gamma.d.ts +4 -0
  54. package/dist/test/examples/reproducible/src/beta/deep/Gamma.js +11 -0
  55. package/dist/test/examples/reproducible/src/beta/deep/Gamma.js.map +1 -0
  56. package/dist/test/examples/reproducible/src/zeta/Defaults.d.ts +2 -0
  57. package/dist/test/examples/reproducible/src/zeta/Defaults.js +6 -0
  58. package/dist/test/examples/reproducible/src/zeta/Defaults.js.map +1 -0
  59. package/dist/test/examples/reproducible/src/zeta/Zeta.d.ts +7 -0
  60. package/dist/test/examples/reproducible/src/zeta/Zeta.js +18 -0
  61. package/dist/test/examples/reproducible/src/zeta/Zeta.js.map +1 -0
  62. package/dist/test/examples/shared-name/index.d.ts +1 -0
  63. package/dist/test/examples/shared-name/index.js +18 -0
  64. package/dist/test/examples/shared-name/index.js.map +1 -0
  65. package/dist/test/examples/shared-name/src/alpha/Widget.d.ts +4 -0
  66. package/dist/test/examples/shared-name/src/alpha/Widget.js +3 -0
  67. package/dist/test/examples/shared-name/src/alpha/Widget.js.map +1 -0
  68. package/dist/test/examples/shared-name/src/beta/Widget.d.ts +3 -0
  69. package/dist/test/examples/shared-name/src/beta/Widget.js +13 -0
  70. package/dist/test/examples/shared-name/src/beta/Widget.js.map +1 -0
  71. package/dist/test/examples/shared-name/src/gamma/Gear.d.ts +7 -0
  72. package/dist/test/examples/shared-name/src/gamma/Gear.js +5 -0
  73. package/dist/test/examples/shared-name/src/gamma/Gear.js.map +1 -0
  74. package/dist/test/examples/shared-name-pruned/index.d.ts +1 -0
  75. package/dist/test/examples/shared-name-pruned/index.js +18 -0
  76. package/dist/test/examples/shared-name-pruned/index.js.map +1 -0
  77. package/dist/test/examples/shared-name-pruned/src/alpha/Limits.d.ts +3 -0
  78. package/dist/test/examples/shared-name-pruned/src/alpha/Limits.js +6 -0
  79. package/dist/test/examples/shared-name-pruned/src/alpha/Limits.js.map +1 -0
  80. package/dist/test/examples/shared-name-pruned/src/alpha/Shape.d.ts +3 -0
  81. package/dist/test/examples/shared-name-pruned/src/alpha/Shape.js +3 -0
  82. package/dist/test/examples/shared-name-pruned/src/alpha/Shape.js.map +1 -0
  83. package/dist/test/examples/shared-name-pruned/src/alpha/Tile.d.ts +7 -0
  84. package/dist/test/examples/shared-name-pruned/src/alpha/Tile.js +11 -0
  85. package/dist/test/examples/shared-name-pruned/src/alpha/Tile.js.map +1 -0
  86. package/dist/test/examples/shared-name-pruned/src/beta/Limits.d.ts +3 -0
  87. package/dist/test/examples/shared-name-pruned/src/beta/Limits.js +6 -0
  88. package/dist/test/examples/shared-name-pruned/src/beta/Limits.js.map +1 -0
  89. package/dist/test/examples/shared-name-pruned/src/beta/Shape.d.ts +3 -0
  90. package/dist/test/examples/shared-name-pruned/src/beta/Shape.js +3 -0
  91. package/dist/test/examples/shared-name-pruned/src/beta/Shape.js.map +1 -0
  92. package/dist/test/examples/source-repository/a/generated/index.js +28 -28
  93. package/dist/test/examples/source-repository/a/generated/index.js.map +1 -1
  94. package/dist/test/examples/source-repository/a/src/ExtendsForeignType.d.ts +1 -1
  95. package/dist/test/examples/source-repository/a/src/ExtendsForeignType.js +5 -5
  96. package/dist/test/examples/source-repository/a/src/ExtendsForeignType.js.map +1 -1
  97. package/dist/test/examples/source-repository/b/generated/index.js +3 -3
  98. package/dist/test/examples/source-repository/b/generated/index.js.map +1 -1
  99. package/package.json +5 -5
  100. package/src/ReflectionDoctor.ts +37 -17
  101. package/src/codegen/CanonicalSourceGraph.ts +50 -0
  102. package/src/codegen/writeGeneratedIndex.ts +35 -9
  103. package/src/parser/PackageSourceFiles.ts +66 -0
  104. package/src/parser/SharedQualifiedNames.ts +76 -0
  105. package/src/parser/createGraphBuilder.ts +25 -10
  106. package/src/parser/createSourceGraph.ts +14 -16
  107. package/test/Class.test.ts +1 -1
  108. package/test/ExamplePackageFixture.ts +142 -0
  109. package/test/GraphEmitRelativePaths.test.ts +1 -1
  110. package/test/PackageSourceFiles.test.ts +42 -0
  111. package/test/ReflectionDoctor.test.ts +50 -12
  112. package/test/ReproducibleGeneratedIndex.test.ts +114 -0
  113. package/test/SharedQualifiedNames.test.ts +89 -0
  114. package/test/examples/reproducible/index.ts +4 -0
  115. package/test/examples/reproducible/src/alpha/Alpha.ts +13 -0
  116. package/test/examples/reproducible/src/alpha/Defaults.ts +4 -0
  117. package/test/examples/reproducible/src/beta/Beta.ts +7 -0
  118. package/test/examples/reproducible/src/beta/deep/Gamma.ts +5 -0
  119. package/test/examples/reproducible/src/zeta/Defaults.ts +4 -0
  120. package/test/examples/reproducible/src/zeta/Zeta.ts +9 -0
  121. package/test/examples/shared-name/index.ts +1 -0
  122. package/test/examples/shared-name/src/alpha/Widget.ts +6 -0
  123. package/test/examples/shared-name/src/beta/Widget.ts +5 -0
  124. package/test/examples/shared-name/src/gamma/Gear.ts +9 -0
  125. package/test/examples/shared-name-pruned/index.ts +1 -0
  126. package/test/examples/shared-name-pruned/src/alpha/Limits.ts +2 -0
  127. package/test/examples/shared-name-pruned/src/alpha/Shape.ts +3 -0
  128. package/test/examples/shared-name-pruned/src/alpha/Tile.ts +9 -0
  129. package/test/examples/shared-name-pruned/src/beta/Limits.ts +2 -0
  130. package/test/examples/shared-name-pruned/src/beta/Shape.ts +4 -0
  131. package/test/examples/source-repository/a/dist/codegen/CanonicalSourceGraph.d.ts +22 -0
  132. package/test/examples/source-repository/a/dist/codegen/CanonicalSourceGraph.js +60 -0
  133. package/test/examples/source-repository/a/dist/codegen/CanonicalSourceGraph.js.map +1 -0
  134. package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.d.ts +12 -3
  135. package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.js +21 -13
  136. package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.js.map +1 -1
  137. package/test/examples/source-repository/a/dist/generated/index.js +28 -28
  138. package/test/examples/source-repository/a/dist/generated/index.js.map +1 -1
  139. package/test/examples/source-repository/a/dist/parser/PackageSourceFiles.d.ts +30 -0
  140. package/test/examples/source-repository/a/dist/parser/PackageSourceFiles.js +151 -0
  141. package/test/examples/source-repository/a/dist/parser/PackageSourceFiles.js.map +1 -0
  142. package/test/examples/source-repository/a/dist/parser/SharedQualifiedNames.d.ts +43 -0
  143. package/test/examples/source-repository/a/dist/parser/SharedQualifiedNames.js +81 -0
  144. package/test/examples/source-repository/a/dist/parser/SharedQualifiedNames.js.map +1 -0
  145. package/test/examples/source-repository/a/dist/parser/createGraphBuilder.d.ts +6 -1
  146. package/test/examples/source-repository/a/dist/parser/createGraphBuilder.js +16 -31
  147. package/test/examples/source-repository/a/dist/parser/createGraphBuilder.js.map +1 -1
  148. package/test/examples/source-repository/a/dist/parser/createSourceGraph.d.ts +6 -1
  149. package/test/examples/source-repository/a/dist/parser/createSourceGraph.js +23 -38
  150. package/test/examples/source-repository/a/dist/parser/createSourceGraph.js.map +1 -1
  151. package/test/examples/source-repository/a/dist/src/ExtendsForeignType.d.ts +1 -1
  152. package/test/examples/source-repository/a/dist/src/ExtendsForeignType.js +5 -5
  153. package/test/examples/source-repository/a/dist/src/ExtendsForeignType.js.map +1 -1
  154. package/test/examples/source-repository/a/generated/index.ts +44 -44
  155. package/test/examples/source-repository/a/node_modules/.package-lock.json +13 -13
  156. package/test/examples/source-repository/a/node_modules/@proteinjs/util/CHANGELOG.md +8 -0
  157. package/test/examples/source-repository/a/node_modules/@proteinjs/util/LICENSE +21 -0
  158. package/test/examples/source-repository/a/node_modules/@proteinjs/util/package.json +3 -2
  159. package/test/examples/source-repository/a/node_modules/@proteinjs/util/tsconfig.json +1 -0
  160. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/CHANGELOG.md +63 -0
  161. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/LICENSE +21 -0
  162. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/index.d.ts +1 -0
  163. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/index.js +1 -0
  164. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/index.js.map +1 -1
  165. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/ArgsMap.js +7 -4
  166. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/ArgsMap.js.map +1 -1
  167. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/Fs.js +16 -12
  168. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/Fs.js.map +1 -1
  169. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.d.ts +59 -13
  170. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js +119 -80
  171. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js.map +1 -1
  172. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/WorkspaceDeclaration.d.ts +91 -0
  173. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/WorkspaceDeclaration.js +608 -0
  174. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/WorkspaceDeclaration.js.map +1 -0
  175. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/promisifiedFs.d.ts +0 -1
  176. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/index.ts +1 -0
  177. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/package.json +4 -3
  178. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/ArgsMap.ts +7 -4
  179. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/Fs.ts +12 -9
  180. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/PackageUtil.ts +92 -38
  181. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/WorkspaceDeclaration.ts +340 -0
  182. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/test/ArgsMap.test.ts +35 -0
  183. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/test/Fs.getFilePathsMatchingGlob.test.ts +70 -0
  184. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/test/PackageUtil.getLocalPackageMap.test.ts +107 -0
  185. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/test/PackageUtil.pathKeyedIdentity.test.ts +169 -0
  186. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/test/WorkspaceDeclaration.test.ts +174 -0
  187. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/tsconfig.json +1 -0
  188. package/test/examples/source-repository/a/package-lock.json +16 -16
  189. package/test/examples/source-repository/a/package.json +3 -3
  190. package/test/examples/source-repository/a/src/ExtendsForeignType.ts +1 -1
  191. package/test/examples/source-repository/b/dist/codegen/CanonicalSourceGraph.d.ts +22 -0
  192. package/test/examples/source-repository/b/dist/codegen/CanonicalSourceGraph.js +60 -0
  193. package/test/examples/source-repository/b/dist/codegen/CanonicalSourceGraph.js.map +1 -0
  194. package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.d.ts +12 -3
  195. package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.js +21 -13
  196. package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.js.map +1 -1
  197. package/test/examples/source-repository/b/dist/generated/index.js +3 -3
  198. package/test/examples/source-repository/b/dist/generated/index.js.map +1 -1
  199. package/test/examples/source-repository/b/dist/parser/PackageSourceFiles.d.ts +30 -0
  200. package/test/examples/source-repository/b/dist/parser/PackageSourceFiles.js +151 -0
  201. package/test/examples/source-repository/b/dist/parser/PackageSourceFiles.js.map +1 -0
  202. package/test/examples/source-repository/b/dist/parser/SharedQualifiedNames.d.ts +43 -0
  203. package/test/examples/source-repository/b/dist/parser/SharedQualifiedNames.js +81 -0
  204. package/test/examples/source-repository/b/dist/parser/SharedQualifiedNames.js.map +1 -0
  205. package/test/examples/source-repository/b/dist/parser/createGraphBuilder.d.ts +6 -1
  206. package/test/examples/source-repository/b/dist/parser/createGraphBuilder.js +16 -31
  207. package/test/examples/source-repository/b/dist/parser/createGraphBuilder.js.map +1 -1
  208. package/test/examples/source-repository/b/dist/parser/createSourceGraph.d.ts +6 -1
  209. package/test/examples/source-repository/b/dist/parser/createSourceGraph.js +23 -38
  210. package/test/examples/source-repository/b/dist/parser/createSourceGraph.js.map +1 -1
  211. package/test/examples/source-repository/b/generated/index.ts +6 -6
  212. package/test/examples/source-repository/b/node_modules/.package-lock.json +10 -10
  213. package/test/examples/source-repository/b/node_modules/@proteinjs/util/CHANGELOG.md +8 -0
  214. package/test/examples/source-repository/b/node_modules/@proteinjs/util/LICENSE +21 -0
  215. package/test/examples/source-repository/b/node_modules/@proteinjs/util/package.json +3 -2
  216. package/test/examples/source-repository/b/node_modules/@proteinjs/util/tsconfig.json +1 -0
  217. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/CHANGELOG.md +63 -0
  218. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/LICENSE +21 -0
  219. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/index.d.ts +1 -0
  220. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/index.js +1 -0
  221. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/index.js.map +1 -1
  222. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/ArgsMap.js +7 -4
  223. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/ArgsMap.js.map +1 -1
  224. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.js +16 -12
  225. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.js.map +1 -1
  226. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.d.ts +59 -13
  227. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js +119 -80
  228. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js.map +1 -1
  229. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/WorkspaceDeclaration.d.ts +91 -0
  230. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/WorkspaceDeclaration.js +608 -0
  231. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/WorkspaceDeclaration.js.map +1 -0
  232. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/promisifiedFs.d.ts +0 -1
  233. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/index.ts +1 -0
  234. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/package.json +4 -3
  235. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/ArgsMap.ts +7 -4
  236. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/Fs.ts +12 -9
  237. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/PackageUtil.ts +92 -38
  238. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/WorkspaceDeclaration.ts +340 -0
  239. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/test/ArgsMap.test.ts +35 -0
  240. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/test/Fs.getFilePathsMatchingGlob.test.ts +70 -0
  241. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/test/PackageUtil.getLocalPackageMap.test.ts +107 -0
  242. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/test/PackageUtil.pathKeyedIdentity.test.ts +169 -0
  243. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/test/WorkspaceDeclaration.test.ts +174 -0
  244. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/tsconfig.json +1 -0
  245. package/test/examples/source-repository/b/package-lock.json +13 -13
  246. package/test/examples/source-repository/b/package.json +3 -3
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
62
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
63
+ if (ar || !(i in from)) {
64
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
65
+ ar[i] = from[i];
66
+ }
67
+ }
68
+ return to.concat(ar || Array.prototype.slice.call(from));
69
+ };
70
+ var __importDefault = (this && this.__importDefault) || function (mod) {
71
+ return (mod && mod.__esModule) ? mod : { "default": mod };
72
+ };
73
+ Object.defineProperty(exports, "__esModule", { value: true });
74
+ exports.PackageSourceFiles = void 0;
75
+ var path = __importStar(require("path"));
76
+ var globby_1 = __importDefault(require("globby"));
77
+ /**
78
+ * The TypeScript sources of a package, in one reproducible order.
79
+ *
80
+ * Every build of the same sources must write the same bytes, whatever machine or directory it
81
+ * runs in. Two machine-specific inputs are closed here, where they enter:
82
+ *
83
+ * - ORDER. The glob returns files in the order its concurrent directory reads complete, which
84
+ * varies with the filesystem and from run to run. The parse order decides the graph's
85
+ * insertion order, which declaration a name exported by two files holds (the last one parsed;
86
+ * the build refuses such a name when it survives the prune — `SharedQualifiedNames`), and the
87
+ * order that refusal lists the files in. `list()` therefore orders the files by their
88
+ * package-relative path, compared by code unit — never by `localeCompare`, whose collation
89
+ * depends on the machine's locale data.
90
+ * - LOCATION. `relativePath()` is the only form a source path takes in a generated artifact:
91
+ * relative, with `/` separators on every platform, no leading `./`.
92
+ */
93
+ var PackageSourceFiles = /** @class */ (function () {
94
+ function PackageSourceFiles(packageDir, sourceRootsRel, excludedDirs) {
95
+ if (excludedDirs === void 0) { excludedDirs = []; }
96
+ this.packageDir = packageDir;
97
+ this.sourceRootsRel = sourceRootsRel;
98
+ this.excludedDirs = excludedDirs;
99
+ }
100
+ /** Absolute paths of the package's `.ts`/`.tsx` sources under the source roots, in package-relative path order. */
101
+ PackageSourceFiles.prototype.list = function () {
102
+ return __awaiter(this, void 0, void 0, function () {
103
+ var sourceFilePaths;
104
+ var _this = this;
105
+ return __generator(this, function (_a) {
106
+ switch (_a.label) {
107
+ case 0: return [4 /*yield*/, (0, globby_1.default)(__spreadArray(__spreadArray([], this.includePatterns(), true), this.excludePatterns(), true))];
108
+ case 1:
109
+ sourceFilePaths = _a.sent();
110
+ return [2 /*return*/, Array.from(new Set(sourceFilePaths))
111
+ .map(function (absolutePath) { return ({
112
+ absolutePath: absolutePath,
113
+ relativePath: PackageSourceFiles.relativePath(_this.packageDir, absolutePath),
114
+ }); })
115
+ .sort(function (a, b) { return PackageSourceFiles.compare(a.relativePath, b.relativePath); })
116
+ .map(function (_a) {
117
+ var absolutePath = _a.absolutePath;
118
+ return absolutePath;
119
+ })];
120
+ }
121
+ });
122
+ });
123
+ };
124
+ /** `filePath` relative to `fromDir`, with `/` separators on every platform and no leading `./`. */
125
+ PackageSourceFiles.relativePath = function (fromDir, filePath) {
126
+ return path.relative(fromDir, filePath).split(path.sep).join('/');
127
+ };
128
+ /** Code-unit order: the same on every machine, unlike `localeCompare`. */
129
+ PackageSourceFiles.compare = function (a, b) {
130
+ if (a < b) {
131
+ return -1;
132
+ }
133
+ return a > b ? 1 : 0;
134
+ };
135
+ PackageSourceFiles.prototype.includePatterns = function () {
136
+ var patterns = [];
137
+ for (var _i = 0, _a = this.sourceRootsRel; _i < _a.length; _i++) {
138
+ var rel = _a[_i];
139
+ var root = path.join(this.packageDir, rel);
140
+ patterns.push(path.join(root, '**/*.ts'));
141
+ patterns.push(path.join(root, '**/*.tsx'));
142
+ }
143
+ return patterns;
144
+ };
145
+ PackageSourceFiles.prototype.excludePatterns = function () {
146
+ return __spreadArray(['!**/node_modules/**', '!**/generated/**'], this.excludedDirs.map(function (dir) { return "!".concat(dir); }), true);
147
+ };
148
+ return PackageSourceFiles;
149
+ }());
150
+ exports.PackageSourceFiles = PackageSourceFiles;
151
+ //# sourceMappingURL=PackageSourceFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageSourceFiles.js","sourceRoot":"","sources":["../../../src/parser/PackageSourceFiles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA6B;AAC7B,kDAA4B;AAE5B;;;;;;;;;;;;;;;GAeG;AACH;IACE,4BACmB,UAAkB,EAClB,cAAwB,EACxB,YAA2B;QAA3B,6BAAA,EAAA,iBAA2B;QAF3B,eAAU,GAAV,UAAU,CAAQ;QAClB,mBAAc,GAAd,cAAc,CAAU;QACxB,iBAAY,GAAZ,YAAY,CAAe;IAC3C,CAAC;IAEJ,mHAAmH;IAC7G,iCAAI,GAAV;;;;;;4BACoC,qBAAM,IAAA,gBAAM,kCAAK,IAAI,CAAC,eAAe,EAAE,SAAK,IAAI,CAAC,eAAe,EAAE,QAAE,EAAA;;wBAAhG,eAAe,GAAa,SAAoE;wBACtG,sBAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;iCACxC,GAAG,CAAC,UAAC,YAAY,IAAK,OAAA,CAAC;gCACtB,YAAY,cAAA;gCACZ,YAAY,EAAE,kBAAkB,CAAC,YAAY,CAAC,KAAI,CAAC,UAAU,EAAE,YAAY,CAAC;6BAC7E,CAAC,EAHqB,CAGrB,CAAC;iCACF,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,EAA1D,CAA0D,CAAC;iCAC1E,GAAG,CAAC,UAAC,EAAgB;oCAAd,YAAY,kBAAA;gCAAO,OAAA,YAAY;4BAAZ,CAAY,CAAC,EAAC;;;;KAC5C;IAED,mGAAmG;IAC5F,+BAAY,GAAnB,UAAoB,OAAe,EAAE,QAAgB;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,0EAA0E;IACnE,0BAAO,GAAd,UAAe,CAAS,EAAE,CAAS;QACjC,IAAI,CAAC,GAAG,CAAC,EAAE;YACT,OAAO,CAAC,CAAC,CAAC;SACX;QAED,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAEO,4CAAe,GAAvB;QACE,IAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAkB,UAAmB,EAAnB,KAAA,IAAI,CAAC,cAAc,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;YAAlC,IAAM,GAAG,SAAA;YACZ,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;SAC5C;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,4CAAe,GAAvB;QACE,sBAAQ,qBAAqB,EAAE,kBAAkB,GAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,WAAI,GAAG,CAAE,EAAT,CAAS,CAAC,QAAE;IACnG,CAAC;IACH,yBAAC;AAAD,CAAC,AA9CD,IA8CC;AA9CY,gDAAkB"}
@@ -0,0 +1,43 @@
1
+ import { Graph } from '@dagrejs/graphlib';
2
+ /** A qualified name that two or more source files declare. */
3
+ export interface SharedQualifiedName {
4
+ qualifiedName: string;
5
+ /** Every file that declares it: package-relative, `/`-separated, in the order the sources parse. */
6
+ filePaths: string[];
7
+ }
8
+ /**
9
+ * One qualified name, one declaring file, for every name that reaches the generated index.
10
+ *
11
+ * The source graph holds ONE node per qualified name. When two files export the same name, the
12
+ * declaration parsed last takes the node (its value, its `filePath`, and so the class or value
13
+ * the source link hands `objects()`), while the parent edges of both stay on it. The other
14
+ * declaration leaves no trace, so the emitted graph cannot show the collision. This class records
15
+ * every file that declares each name while the graph is built, and names the collisions that are
16
+ * left in a graph.
17
+ *
18
+ * The rule applies to the graph AFTER `removeNonLoadables`, never before. Types, consts and
19
+ * functions exported under one name by two files are ordinary TypeScript: while none of them is
20
+ * Loadable, the prune drops the name and it never reaches the index. A name that survives the
21
+ * prune is an authoring error the graph cannot represent, and the build refuses it rather than
22
+ * ship the last file's declaration.
23
+ *
24
+ * Order: files are kept in the order they are recorded, which is the parse order —
25
+ * `PackageSourceFiles.list()` order, package-relative path by code unit — and names in the order
26
+ * their first declaration was recorded. Both are the same on every machine.
27
+ */
28
+ export declare class SharedQualifiedNames {
29
+ private readonly filePathsByName;
30
+ /**
31
+ * The build's refusal: one error naming the package and, for each shared name, every file that
32
+ * declares it. Returns without effect when `sharedNames` is empty.
33
+ */
34
+ static refuse(packageName: string, sharedNames: SharedQualifiedName[]): void;
35
+ /** The names left in `prunedGraph` that two or more files declare. */
36
+ in(prunedGraph: Graph): SharedQualifiedName[];
37
+ /**
38
+ * Records that the package-relative `filePath` declares `qualifiedName`. The graph builder calls
39
+ * this for every declaration it sets on the graph; a file that declares a name twice (a const
40
+ * and a type of one name, say) counts once.
41
+ */
42
+ record(qualifiedName: string, filePath: string): void;
43
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SharedQualifiedNames = void 0;
13
+ /**
14
+ * One qualified name, one declaring file, for every name that reaches the generated index.
15
+ *
16
+ * The source graph holds ONE node per qualified name. When two files export the same name, the
17
+ * declaration parsed last takes the node (its value, its `filePath`, and so the class or value
18
+ * the source link hands `objects()`), while the parent edges of both stay on it. The other
19
+ * declaration leaves no trace, so the emitted graph cannot show the collision. This class records
20
+ * every file that declares each name while the graph is built, and names the collisions that are
21
+ * left in a graph.
22
+ *
23
+ * The rule applies to the graph AFTER `removeNonLoadables`, never before. Types, consts and
24
+ * functions exported under one name by two files are ordinary TypeScript: while none of them is
25
+ * Loadable, the prune drops the name and it never reaches the index. A name that survives the
26
+ * prune is an authoring error the graph cannot represent, and the build refuses it rather than
27
+ * ship the last file's declaration.
28
+ *
29
+ * Order: files are kept in the order they are recorded, which is the parse order —
30
+ * `PackageSourceFiles.list()` order, package-relative path by code unit — and names in the order
31
+ * their first declaration was recorded. Both are the same on every machine.
32
+ */
33
+ var SharedQualifiedNames = /** @class */ (function () {
34
+ function SharedQualifiedNames() {
35
+ this.filePathsByName = new Map();
36
+ }
37
+ /**
38
+ * The build's refusal: one error naming the package and, for each shared name, every file that
39
+ * declares it. Returns without effect when `sharedNames` is empty.
40
+ */
41
+ SharedQualifiedNames.refuse = function (packageName, sharedNames) {
42
+ if (sharedNames.length === 0) {
43
+ return;
44
+ }
45
+ throw new Error(__spreadArray([
46
+ "reflection-build refused ".concat(packageName, ": a name that reaches the generated index is declared in more than one file."),
47
+ 'The index holds one declaration per qualified name, so the file parsed last would replace the others without a trace.',
48
+ 'Give each declaration its own name (no index was written):'
49
+ ], sharedNames.map(function (_a) {
50
+ var qualifiedName = _a.qualifiedName, filePaths = _a.filePaths;
51
+ return " ".concat(qualifiedName, ": ").concat(filePaths.join(', '));
52
+ }), true).join('\n'));
53
+ };
54
+ /** The names left in `prunedGraph` that two or more files declare. */
55
+ SharedQualifiedNames.prototype.in = function (prunedGraph) {
56
+ var shared = [];
57
+ this.filePathsByName.forEach(function (filePaths, qualifiedName) {
58
+ if (filePaths.length > 1 && prunedGraph.hasNode(qualifiedName)) {
59
+ shared.push({ qualifiedName: qualifiedName, filePaths: __spreadArray([], filePaths, true) });
60
+ }
61
+ });
62
+ return shared;
63
+ };
64
+ /**
65
+ * Records that the package-relative `filePath` declares `qualifiedName`. The graph builder calls
66
+ * this for every declaration it sets on the graph; a file that declares a name twice (a const
67
+ * and a type of one name, say) counts once.
68
+ */
69
+ SharedQualifiedNames.prototype.record = function (qualifiedName, filePath) {
70
+ var filePaths = this.filePathsByName.get(qualifiedName);
71
+ if (!filePaths) {
72
+ this.filePathsByName.set(qualifiedName, [filePath]);
73
+ }
74
+ else if (!filePaths.includes(filePath)) {
75
+ filePaths.push(filePath);
76
+ }
77
+ };
78
+ return SharedQualifiedNames;
79
+ }());
80
+ exports.SharedQualifiedNames = SharedQualifiedNames;
81
+ //# sourceMappingURL=SharedQualifiedNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SharedQualifiedNames.js","sourceRoot":"","sources":["../../../src/parser/SharedQualifiedNames.ts"],"names":[],"mappings":";;;;;;;;;;;;AASA;;;;;;;;;;;;;;;;;;;GAmBG;AACH;IAAA;QACmB,oBAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;IA6CjE,CAAC;IA3CC;;;OAGG;IACI,2BAAM,GAAb,UAAc,WAAmB,EAAE,WAAkC;QACnE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,OAAO;SACR;QAED,MAAM,IAAI,KAAK,CACb;YACE,mCAA4B,WAAW,iFAA8E;YACrH,uHAAuH;YACvH,4DAA4D;WACzD,WAAW,CAAC,GAAG,CAAC,UAAC,EAA4B;gBAA1B,aAAa,mBAAA,EAAE,SAAS,eAAA;YAAO,OAAA,YAAK,aAAa,eAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE;QAA7C,CAA6C,CAAC,QACnG,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,iCAAE,GAAF,UAAG,WAAkB;QACnB,IAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAC,SAAS,EAAE,aAAa;YACpD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,eAAA,EAAE,SAAS,oBAAM,SAAS,OAAC,EAAE,CAAC,CAAC;aAC3D;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,qCAAM,GAAN,UAAO,aAAqB,EAAE,QAAgB;QAC5C,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,EAAE;YACd,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;SACrD;aAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACxC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1B;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AA9CD,IA8CC;AA9CY,oDAAoB"}
@@ -1,3 +1,8 @@
1
1
  import * as graphlib from '@dagrejs/graphlib';
2
2
  import { File } from '../../modules/typescript-parser';
3
- export declare function createGraphBuilder(graph: graphlib.Graph, packageJson: any, packageJsonDir: string): (parsedFile: File) => Promise<void>;
3
+ import { SharedQualifiedNames } from './SharedQualifiedNames';
4
+ /**
5
+ * @param sharedNames records the file of every declaration set on the graph: the graph keeps one
6
+ * node per qualified name, so it cannot show a name two files declare
7
+ */
8
+ export declare function createGraphBuilder(graph: graphlib.Graph, packageJson: any, packageJsonDir: string, sharedNames: SharedQualifiedNames): (parsedFile: File) => Promise<void>;
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -60,7 +37,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
60
37
  };
61
38
  Object.defineProperty(exports, "__esModule", { value: true });
62
39
  exports.createGraphBuilder = void 0;
63
- var path = __importStar(require("path"));
64
40
  var typescript_parser_1 = require("../../modules/typescript-parser");
65
41
  var reflection_1 = require("@proteinjs/reflection");
66
42
  var util_1 = require("@proteinjs/util");
@@ -69,15 +45,24 @@ var PackageNameFinder_1 = require("./types/PackageNameFinder");
69
45
  var createTypeAliasDeclaration_1 = require("./types/createTypeAliasDeclaration");
70
46
  var createClassDeclaration_1 = require("./types/createClassDeclaration");
71
47
  var createInterfaceDeclaration_1 = require("./types/createInterfaceDeclaration");
72
- function createGraphBuilder(graph, packageJson, packageJsonDir) {
48
+ var PackageSourceFiles_1 = require("./PackageSourceFiles");
49
+ /**
50
+ * @param sharedNames records the file of every declaration set on the graph: the graph keeps one
51
+ * node per qualified name, so it cannot show a name two files declare
52
+ */
53
+ function createGraphBuilder(graph, packageJson, packageJsonDir, sharedNames) {
73
54
  var _this = this;
74
55
  var packageName = packageJson.name;
75
56
  return function (parsedFile) { return __awaiter(_this, void 0, void 0, function () {
76
- var filePath, _i, _a, declaration, packageNameFinder, variableDeclaration, typeAliasDeclaration, classDeclaration, _b, _c, parentInterface, _d, _e, parentClass, interfaceDeclaration, _f, _g, parentInterface;
57
+ var filePath, setDeclaration, _i, _a, declaration, packageNameFinder, variableDeclaration, typeAliasDeclaration, classDeclaration, _b, _c, parentInterface, _d, _e, parentClass, interfaceDeclaration, _f, _g, parentInterface;
77
58
  return __generator(this, function (_h) {
78
59
  switch (_h.label) {
79
60
  case 0:
80
- filePath = path.relative(packageJsonDir, parsedFile.filePath);
61
+ filePath = PackageSourceFiles_1.PackageSourceFiles.relativePath(packageJsonDir, parsedFile.filePath);
62
+ setDeclaration = function (qualifiedName, value) {
63
+ graph.setNode(qualifiedName, value);
64
+ sharedNames.record(qualifiedName, filePath);
65
+ };
81
66
  _i = 0, _a = parsedFile.declarations;
82
67
  _h.label = 1;
83
68
  case 1:
@@ -94,7 +79,7 @@ function createGraphBuilder(graph, packageJson, packageJsonDir) {
94
79
  return [4 /*yield*/, (0, createVariableDeclaration_1.createVariableDeclaration)(declaration, packageNameFinder, filePath)];
95
80
  case 2:
96
81
  variableDeclaration = _h.sent();
97
- graph.setNode(variableDeclaration.qualifiedName, Object.assign(variableDeclaration, { sourceType: reflection_1.SourceType.variable }));
82
+ setDeclaration(variableDeclaration.qualifiedName, Object.assign(variableDeclaration, { sourceType: reflection_1.SourceType.variable }));
98
83
  addTypeAliasDeclaration(variableDeclaration.type, variableDeclaration.qualifiedName, reflection_1.SourceRelationship.hasType, graph);
99
84
  return [3 /*break*/, 9];
100
85
  case 3:
@@ -102,7 +87,7 @@ function createGraphBuilder(graph, packageJson, packageJsonDir) {
102
87
  return [4 /*yield*/, (0, createTypeAliasDeclaration_1.createTypeAliasDeclaration)(declaration, packageNameFinder, filePath)];
103
88
  case 4:
104
89
  typeAliasDeclaration = _h.sent();
105
- graph.setNode(typeAliasDeclaration.qualifiedName, Object.assign(typeAliasDeclaration, { sourceType: reflection_1.SourceType.typeAlias }));
90
+ setDeclaration(typeAliasDeclaration.qualifiedName, Object.assign(typeAliasDeclaration, { sourceType: reflection_1.SourceType.typeAlias }));
106
91
  addTypeAliasDeclaration(typeAliasDeclaration, typeAliasDeclaration.qualifiedName, reflection_1.SourceRelationship.extendsType, graph);
107
92
  return [3 /*break*/, 9];
108
93
  case 5:
@@ -110,7 +95,7 @@ function createGraphBuilder(graph, packageJson, packageJsonDir) {
110
95
  return [4 /*yield*/, (0, createClassDeclaration_1.createClassDeclaration)(declaration, packageNameFinder, filePath)];
111
96
  case 6:
112
97
  classDeclaration = _h.sent();
113
- graph.setNode(classDeclaration.qualifiedName, Object.assign(classDeclaration, { sourceType: reflection_1.SourceType.class }));
98
+ setDeclaration(classDeclaration.qualifiedName, Object.assign(classDeclaration, { sourceType: reflection_1.SourceType.class }));
114
99
  for (_b = 0, _c = classDeclaration.directParentInterfaces; _b < _c.length; _b++) {
115
100
  parentInterface = _c[_b];
116
101
  if (parentInterface.packageName.startsWith('/')) {
@@ -137,7 +122,7 @@ function createGraphBuilder(graph, packageJson, packageJsonDir) {
137
122
  return [4 /*yield*/, (0, createInterfaceDeclaration_1.createInterfaceDeclaration)(declaration, packageNameFinder, filePath)];
138
123
  case 8:
139
124
  interfaceDeclaration = _h.sent();
140
- graph.setNode(interfaceDeclaration.qualifiedName, Object.assign(interfaceDeclaration, { sourceType: reflection_1.SourceType.interface }));
125
+ setDeclaration(interfaceDeclaration.qualifiedName, Object.assign(interfaceDeclaration, { sourceType: reflection_1.SourceType.interface }));
141
126
  for (_f = 0, _g = interfaceDeclaration.directParents; _f < _g.length; _f++) {
142
127
  parentInterface = _g[_f];
143
128
  if (parentInterface.packageName.startsWith('/')) {
@@ -1 +1 @@
1
- {"version":3,"file":"createGraphBuilder.js","sourceRoot":"","sources":["../../../src/parser/createGraphBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createGraphBuilder.js","sourceRoot":"","sources":["../../../src/parser/createGraphBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,7 @@
1
1
  import * as graphlib from '@dagrejs/graphlib';
2
- export declare function createSourceGraph(dir: string, excludedDirs?: string[], sourceRootsRel?: string | string[]): Promise<graphlib.Graph>;
2
+ import { SharedQualifiedNames } from './SharedQualifiedNames';
3
+ /**
4
+ * @param sharedNames receives the file of every declaration the graph holds a node for; the
5
+ * build reads the names two files declare from it after the prune
6
+ */
7
+ export declare function createSourceGraph(dir: string, excludedDirs?: string[], sourceRootsRel?: string | string[], sharedNames?: SharedQualifiedNames): Promise<graphlib.Graph>;
@@ -58,71 +58,56 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
58
58
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
59
  }
60
60
  };
61
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
62
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
63
- if (ar || !(i in from)) {
64
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
65
- ar[i] = from[i];
66
- }
67
- }
68
- return to.concat(ar || Array.prototype.slice.call(from));
69
- };
70
- var __importDefault = (this && this.__importDefault) || function (mod) {
71
- return (mod && mod.__esModule) ? mod : { "default": mod };
72
- };
73
61
  Object.defineProperty(exports, "__esModule", { value: true });
74
62
  exports.createSourceGraph = void 0;
75
63
  var graphlib = __importStar(require("@dagrejs/graphlib"));
76
- var globby_1 = __importDefault(require("globby"));
77
64
  var path = __importStar(require("path"));
78
65
  var typescript_parser_1 = require("../../modules/typescript-parser");
79
66
  var util_node_1 = require("@proteinjs/util-node");
80
67
  var createGraphBuilder_1 = require("./createGraphBuilder");
81
- function createSourceGraph(dir, excludedDirs, sourceRootsRel) {
68
+ var PackageSourceFiles_1 = require("./PackageSourceFiles");
69
+ var SharedQualifiedNames_1 = require("./SharedQualifiedNames");
70
+ /**
71
+ * @param sharedNames receives the file of every declaration the graph holds a node for; the
72
+ * build reads the names two files declare from it after the prune
73
+ */
74
+ function createSourceGraph(dir, excludedDirs, sourceRootsRel, sharedNames) {
82
75
  if (excludedDirs === void 0) { excludedDirs = []; }
83
76
  if (sourceRootsRel === void 0) { sourceRootsRel = 'src'; }
77
+ if (sharedNames === void 0) { sharedNames = new SharedQualifiedNames_1.SharedQualifiedNames(); }
84
78
  return __awaiter(this, void 0, void 0, function () {
85
- var packageJsonPath, packageJson, roots, patterns, _i, roots_1, rel, root, excludePatterns, sourceFilePaths, uniqueFilePaths, graph, addSourceFile, parser, _a, uniqueFilePaths_1, sourceFilePath, sourceFile;
86
- return __generator(this, function (_b) {
87
- switch (_b.label) {
79
+ var packageJsonPath, packageJson, roots, sourceFilePaths, graph, addSourceFile, parser, _i, sourceFilePaths_1, sourceFilePath, sourceFile;
80
+ return __generator(this, function (_a) {
81
+ switch (_a.label) {
88
82
  case 0:
89
83
  packageJsonPath = path.join(dir, 'package.json');
90
84
  return [4 /*yield*/, util_node_1.promisifiedFs.exists(packageJsonPath)];
91
85
  case 1:
92
- if (!(_b.sent())) {
86
+ if (!(_a.sent())) {
93
87
  throw new Error("Unable to find package.json in dir: ".concat(dir));
94
88
  }
95
89
  packageJson = require(packageJsonPath);
96
90
  roots = Array.isArray(sourceRootsRel) ? sourceRootsRel : [sourceRootsRel];
97
- patterns = [];
98
- for (_i = 0, roots_1 = roots; _i < roots_1.length; _i++) {
99
- rel = roots_1[_i];
100
- root = path.join(dir, rel);
101
- patterns.push(path.join(root, '**/*.ts'));
102
- patterns.push(path.join(root, '**/*.tsx'));
103
- }
104
- excludePatterns = __spreadArray(['!**/node_modules/**', '!**/generated/**'], excludedDirs.map(function (d) { return "!".concat(d); }), true);
105
- return [4 /*yield*/, (0, globby_1.default)(__spreadArray(__spreadArray([], patterns, true), excludePatterns, true))];
91
+ return [4 /*yield*/, new PackageSourceFiles_1.PackageSourceFiles(dir, roots, excludedDirs).list()];
106
92
  case 2:
107
- sourceFilePaths = _b.sent();
108
- uniqueFilePaths = Array.from(new Set(sourceFilePaths));
93
+ sourceFilePaths = _a.sent();
109
94
  graph = new graphlib.Graph();
110
- addSourceFile = (0, createGraphBuilder_1.createGraphBuilder)(graph, packageJson, dir);
95
+ addSourceFile = (0, createGraphBuilder_1.createGraphBuilder)(graph, packageJson, dir, sharedNames);
111
96
  parser = new typescript_parser_1.TypescriptParser();
112
- _a = 0, uniqueFilePaths_1 = uniqueFilePaths;
113
- _b.label = 3;
97
+ _i = 0, sourceFilePaths_1 = sourceFilePaths;
98
+ _a.label = 3;
114
99
  case 3:
115
- if (!(_a < uniqueFilePaths_1.length)) return [3 /*break*/, 7];
116
- sourceFilePath = uniqueFilePaths_1[_a];
100
+ if (!(_i < sourceFilePaths_1.length)) return [3 /*break*/, 7];
101
+ sourceFilePath = sourceFilePaths_1[_i];
117
102
  return [4 /*yield*/, parser.parseFile(sourceFilePath, path.dirname(sourceFilePath))];
118
103
  case 4:
119
- sourceFile = _b.sent();
104
+ sourceFile = _a.sent();
120
105
  return [4 /*yield*/, addSourceFile(sourceFile)];
121
106
  case 5:
122
- _b.sent();
123
- _b.label = 6;
107
+ _a.sent();
108
+ _a.label = 6;
124
109
  case 6:
125
- _a++;
110
+ _i++;
126
111
  return [3 /*break*/, 3];
127
112
  case 7: return [2 /*return*/, graph];
128
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createSourceGraph.js","sourceRoot":"","sources":["../../../src/parser/createSourceGraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA8C;AAC9C,kDAA4B;AAC5B,yCAA6B;AAC7B,qEAAmE;AACnE,kDAAqD;AACrD,2DAA0D;AAE1D,SAAsB,iBAAiB,CACrC,GAAW,EACX,YAA2B,EAC3B,cAAyC;IADzC,6BAAA,EAAA,iBAA2B;IAC3B,+BAAA,EAAA,sBAAyC;;;;;;oBAEnC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;oBACjD,qBAAM,yBAAa,CAAC,MAAM,CAAC,eAAe,CAAC,EAAA;;oBAAjD,IAAI,CAAC,CAAC,SAA2C,CAAC,EAAE;wBAClD,MAAM,IAAI,KAAK,CAAC,8CAAuC,GAAG,CAAE,CAAC,CAAC;qBAC/D;oBAEK,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;oBACvC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;oBAE1E,QAAQ,GAAa,EAAE,CAAC;oBAC9B,WAAuB,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;wBAAd,GAAG;wBACN,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBACjC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;wBAC1C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;qBAC5C;oBAEK,eAAe,kBAAI,qBAAqB,EAAE,kBAAkB,GAAK,YAAY,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,WAAI,CAAC,CAAE,EAAP,CAAO,CAAC,OAAC,CAAC;oBAEjF,qBAAM,IAAA,gBAAM,kCAAK,QAAQ,SAAK,eAAe,QAAE,EAAA;;oBAAjE,eAAe,GAAG,SAA+C;oBACjE,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;oBAEvD,KAAK,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAC7B,aAAa,GAAG,IAAA,uCAAkB,EAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;oBAC5D,MAAM,GAAG,IAAI,oCAAgB,EAAE,CAAC;0BAEM,EAAf,mCAAe;;;yBAAf,CAAA,6BAAe,CAAA;oBAAjC,cAAc;oBACJ,qBAAM,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAA;;oBAAjF,UAAU,GAAG,SAAoE;oBACvF,qBAAM,aAAa,CAAC,UAAU,CAAC,EAAA;;oBAA/B,SAA+B,CAAC;;;oBAFL,IAAe,CAAA;;wBAK5C,sBAAO,KAAK,EAAC;;;;CACd;AAnCD,8CAmCC"}
1
+ {"version":3,"file":"createSourceGraph.js","sourceRoot":"","sources":["../../../src/parser/createSourceGraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA8C;AAC9C,yCAA6B;AAC7B,qEAAmE;AACnE,kDAAqD;AACrD,2DAA0D;AAC1D,2DAA0D;AAC1D,+DAA8D;AAE9D;;;GAGG;AACH,SAAsB,iBAAiB,CACrC,GAAW,EACX,YAA2B,EAC3B,cAAyC,EACzC,WAA8D;IAF9D,6BAAA,EAAA,iBAA2B;IAC3B,+BAAA,EAAA,sBAAyC;IACzC,4BAAA,EAAA,kBAAwC,2CAAoB,EAAE;;;;;;oBAExD,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;oBACjD,qBAAM,yBAAa,CAAC,MAAM,CAAC,eAAe,CAAC,EAAA;;oBAAjD,IAAI,CAAC,CAAC,SAA2C,CAAC,EAAE;wBAClD,MAAM,IAAI,KAAK,CAAC,8CAAuC,GAAG,CAAE,CAAC,CAAC;qBAC/D;oBAEK,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;oBACvC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;oBACxD,qBAAM,IAAI,uCAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,EAAA;;oBAA/E,eAAe,GAAG,SAA6D;oBAE/E,KAAK,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAC7B,aAAa,GAAG,IAAA,uCAAkB,EAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;oBACzE,MAAM,GAAG,IAAI,oCAAgB,EAAE,CAAC;0BAKM,EAAf,mCAAe;;;yBAAf,CAAA,6BAAe,CAAA;oBAAjC,cAAc;oBACJ,qBAAM,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAA;;oBAAjF,UAAU,GAAG,SAAoE;oBACvF,qBAAM,aAAa,CAAC,UAAU,CAAC,EAAA;;oBAA/B,SAA+B,CAAC;;;oBAFL,IAAe,CAAA;;wBAK5C,sBAAO,KAAK,EAAC;;;;CACd;AA5BD,8CA4BC"}
@@ -67,7 +67,7 @@ test('do not load non-loadable classes', function () { return __awaiter(void 0,
67
67
  expect(sourceRepository.flattenedSourceGraph.classes['@proteinjs/reflection-build-test-b/NotLoadableForeignAbstractClass']).toBeUndefined();
68
68
  expect(sourceRepository.flattenedSourceGraph.classes['@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignInterface']).toBeUndefined();
69
69
  expect(sourceRepository.flattenedSourceGraph.classes['@proteinjs/reflection-build-test-a/ImplementsNotLoadableForeignAbstractClass']).toBeUndefined();
70
- expect(sourceRepository.flattenedSourceGraph.classes['@proteinjs/reflection-build-test-a/ImplementsExtendsLocalNotLoadableInterface']).toBeUndefined();
70
+ expect(sourceRepository.flattenedSourceGraph.classes['@proteinjs/reflection-build-test-a/ImplementsExtendsNotLoadableForeignInterface']).toBeUndefined();
71
71
  expect(sourceRepository.flattenedSourceGraph.classes['@proteinjs/reflection-build-test-a/ExtendsNotLoadableForeignAbstractClass']).toBeUndefined();
72
72
  expect(sourceRepository.flattenedSourceGraph.classes['@proteinjs/reflection-build-test-a/ImplementsExtendsNotLoadableForeignAbstractClass']).toBeUndefined();
73
73
  return [2 /*return*/];
@@ -1 +1 @@
1
- {"version":3,"file":"Class.test.js","sourceRoot":"","sources":["../../test/Class.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Class.test.js","sourceRoot":"","sources":["../../test/Class.test.ts"],"names":[],"mappings":"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"}