@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,47 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /**
4
+ * Disposable copies of an example package under `test/examples`, each at its own absolute
5
+ * location, built the way the `reflection-build` bin builds a package (the package dir arrives
6
+ * as INIT_CWD), compiled with tsc and packed with `npm pack` — so a test can compare what two
7
+ * builds of the same sources ship, or what one build refuses.
8
+ */
9
+ export declare class ExamplePackageFixture {
10
+ readonly packageName: string;
11
+ private static readonly NODE_MODULES;
12
+ private readonly sources;
13
+ private readonly tmpRoot;
14
+ private readonly links;
15
+ /**
16
+ * @param example the example's directory under `test/examples`
17
+ * @param packageName the name its copies are built under (a fixture name, never a published package's)
18
+ */
19
+ constructor(example: string, packageName: string);
20
+ /** `packageName/name`: the qualified name this package declares `name` under. */
21
+ qualified(name: string): string;
22
+ /** Copies the example package to `<tmp>/<location>` and returns its absolute path. */
23
+ materialize(location: string): string;
24
+ /** Runs reflection-build in `packageDir`; returns the generated index it wrote (rejects when the build refuses). */
25
+ generate(packageDir: string): Promise<string>;
26
+ /** tsc over the package (its tsconfig includes the generated index). */
27
+ compile(packageDir: string): void;
28
+ /** `npm pack` of the package; returns the tarball's sha256. */
29
+ packSha256(packageDir: string): string;
30
+ sha256(bytes: Buffer | string): string;
31
+ /** The source graph a generated index embeds, read the way the runtime reads it. */
32
+ graphOf(generatedIndex: string): {
33
+ nodes: {
34
+ v: string;
35
+ value?: any;
36
+ }[];
37
+ edges: {
38
+ v: string;
39
+ w: string;
40
+ }[];
41
+ };
42
+ /** Removes the copies; each linked node_modules is unlinked first, never descended into. */
43
+ dispose(): void;
44
+ private packageJson;
45
+ private tsconfig;
46
+ private copyTree;
47
+ }
@@ -0,0 +1,207 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ exports.ExamplePackageFixture = void 0;
63
+ var crypto = __importStar(require("crypto"));
64
+ var fs = __importStar(require("fs"));
65
+ var os = __importStar(require("os"));
66
+ var path = __importStar(require("path"));
67
+ var child_process_1 = require("child_process");
68
+ var build_1 = require("../src/build");
69
+ /**
70
+ * Disposable copies of an example package under `test/examples`, each at its own absolute
71
+ * location, built the way the `reflection-build` bin builds a package (the package dir arrives
72
+ * as INIT_CWD), compiled with tsc and packed with `npm pack` — so a test can compare what two
73
+ * builds of the same sources ship, or what one build refuses.
74
+ */
75
+ var ExamplePackageFixture = /** @class */ (function () {
76
+ /**
77
+ * @param example the example's directory under `test/examples`
78
+ * @param packageName the name its copies are built under (a fixture name, never a published package's)
79
+ */
80
+ function ExamplePackageFixture(example, packageName) {
81
+ this.packageName = packageName;
82
+ this.links = [];
83
+ this.sources = path.join(__dirname, 'examples', example);
84
+ this.tmpRoot = fs.mkdtempSync(path.join(os.tmpdir(), "refl-".concat(example, "-")));
85
+ }
86
+ /** `packageName/name`: the qualified name this package declares `name` under. */
87
+ ExamplePackageFixture.prototype.qualified = function (name) {
88
+ return "".concat(this.packageName, "/").concat(name);
89
+ };
90
+ /** Copies the example package to `<tmp>/<location>` and returns its absolute path. */
91
+ ExamplePackageFixture.prototype.materialize = function (location) {
92
+ var packageDir = path.join(this.tmpRoot, location);
93
+ fs.mkdirSync(path.dirname(packageDir), { recursive: true });
94
+ this.copyTree(this.sources, packageDir);
95
+ fs.writeFileSync(path.join(packageDir, 'package.json'), JSON.stringify(this.packageJson(), null, 2));
96
+ fs.writeFileSync(path.join(packageDir, 'tsconfig.json'), JSON.stringify(this.tsconfig(), null, 2));
97
+ var link = path.join(packageDir, 'node_modules');
98
+ fs.symlinkSync(ExamplePackageFixture.NODE_MODULES, link, 'dir');
99
+ this.links.push(link);
100
+ return packageDir;
101
+ };
102
+ /** Runs reflection-build in `packageDir`; returns the generated index it wrote (rejects when the build refuses). */
103
+ ExamplePackageFixture.prototype.generate = function (packageDir) {
104
+ return __awaiter(this, void 0, void 0, function () {
105
+ var initCwd;
106
+ return __generator(this, function (_a) {
107
+ switch (_a.label) {
108
+ case 0:
109
+ initCwd = process.env.INIT_CWD;
110
+ process.env.INIT_CWD = packageDir;
111
+ _a.label = 1;
112
+ case 1:
113
+ _a.trys.push([1, , 3, 4]);
114
+ return [4 /*yield*/, (0, build_1.build)()];
115
+ case 2:
116
+ _a.sent();
117
+ return [3 /*break*/, 4];
118
+ case 3:
119
+ if (initCwd === undefined) {
120
+ delete process.env.INIT_CWD;
121
+ }
122
+ else {
123
+ process.env.INIT_CWD = initCwd;
124
+ }
125
+ return [7 /*endfinally*/];
126
+ case 4: return [2 /*return*/, fs.readFileSync(path.join(packageDir, 'generated', 'index.ts'), 'utf-8')];
127
+ }
128
+ });
129
+ });
130
+ };
131
+ /** tsc over the package (its tsconfig includes the generated index). */
132
+ ExamplePackageFixture.prototype.compile = function (packageDir) {
133
+ (0, child_process_1.execFileSync)(process.execPath, [require.resolve('typescript/bin/tsc'), '-p', packageDir], { stdio: 'pipe' });
134
+ };
135
+ /** `npm pack` of the package; returns the tarball's sha256. */
136
+ ExamplePackageFixture.prototype.packSha256 = function (packageDir) {
137
+ var destination = fs.mkdtempSync(path.join(this.tmpRoot, 'pack-'));
138
+ (0, child_process_1.execFileSync)('npm', ['pack', '--pack-destination', destination], { cwd: packageDir, stdio: 'pipe' });
139
+ var tarball = fs.readdirSync(destination)[0];
140
+ return this.sha256(fs.readFileSync(path.join(destination, tarball)));
141
+ };
142
+ ExamplePackageFixture.prototype.sha256 = function (bytes) {
143
+ return crypto.createHash('sha256').update(bytes).digest('hex');
144
+ };
145
+ /** The source graph a generated index embeds, read the way the runtime reads it. */
146
+ ExamplePackageFixture.prototype.graphOf = function (generatedIndex) {
147
+ var literal = generatedIndex.match(/const sourceGraph = (".*");/);
148
+ if (!literal) {
149
+ throw new Error('no serialized sourceGraph in the generated index');
150
+ }
151
+ return JSON.parse(JSON.parse(literal[1]).replace(/\\'/g, "'"));
152
+ };
153
+ /** Removes the copies; each linked node_modules is unlinked first, never descended into. */
154
+ ExamplePackageFixture.prototype.dispose = function () {
155
+ for (var _i = 0, _a = this.links; _i < _a.length; _i++) {
156
+ var link = _a[_i];
157
+ fs.unlinkSync(link);
158
+ }
159
+ (0, child_process_1.execFileSync)('rm', ['-rf', this.tmpRoot]);
160
+ };
161
+ ExamplePackageFixture.prototype.packageJson = function () {
162
+ return {
163
+ name: this.packageName,
164
+ version: '0.0.1',
165
+ private: true,
166
+ main: './dist/generated/index.js',
167
+ types: './dist/generated/index.d.ts',
168
+ files: ['dist/**'],
169
+ dependencies: { '@proteinjs/reflection': '^1.2.1' },
170
+ };
171
+ };
172
+ ExamplePackageFixture.prototype.tsconfig = function () {
173
+ return {
174
+ compilerOptions: {
175
+ noEmitOnError: true,
176
+ target: 'es5',
177
+ module: 'commonjs',
178
+ declaration: true,
179
+ sourceMap: true,
180
+ outDir: './dist/',
181
+ strict: true,
182
+ esModuleInterop: true,
183
+ skipLibCheck: true,
184
+ types: [],
185
+ },
186
+ include: ['./index.ts', './generated/index.ts'],
187
+ };
188
+ };
189
+ ExamplePackageFixture.prototype.copyTree = function (from, to) {
190
+ fs.mkdirSync(to, { recursive: true });
191
+ for (var _i = 0, _a = fs.readdirSync(from, { withFileTypes: true }); _i < _a.length; _i++) {
192
+ var entry = _a[_i];
193
+ var source = path.join(from, entry.name);
194
+ var target = path.join(to, entry.name);
195
+ if (entry.isDirectory()) {
196
+ this.copyTree(source, target);
197
+ }
198
+ else {
199
+ fs.copyFileSync(source, target);
200
+ }
201
+ }
202
+ };
203
+ ExamplePackageFixture.NODE_MODULES = path.join(__dirname, '..', 'node_modules');
204
+ return ExamplePackageFixture;
205
+ }());
206
+ exports.ExamplePackageFixture = ExamplePackageFixture;
207
+ //# sourceMappingURL=ExamplePackageFixture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExamplePackageFixture.js","sourceRoot":"","sources":["../../test/ExamplePackageFixture.ts"],"names":[],"mappings":"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"}
@@ -144,7 +144,7 @@ describe('graph emit: package-relative filePaths', function () {
144
144
  }
145
145
  // Fixture a declares sources under src/ — the graph must actually carry them.
146
146
  expect(checked.length).toBeGreaterThan(0);
147
- expect(checked.every(function (p) { return p.startsWith('src' + path.sep) || p.startsWith('index.'); })).toBe(true);
147
+ expect(checked.every(function (p) { return p.startsWith('src/') || p.startsWith('index.'); })).toBe(true);
148
148
  });
149
149
  it('sourceLink imports still resolve to the linked source files (outcome: links survive)', function () {
150
150
  var importLines = emitted.match(/import \{ .+ \} from '.+';/g) || [];
@@ -1 +1 @@
1
- {"version":3,"file":"GraphEmitRelativePaths.test.js","sourceRoot":"","sources":["../../test/GraphEmitRelativePaths.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GraphEmitRelativePaths.test.js","sourceRoot":"","sources":["../../test/GraphEmitRelativePaths.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,57 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ var path = __importStar(require("path"));
27
+ var PackageSourceFiles_1 = require("../src/parser/PackageSourceFiles");
28
+ /**
29
+ * The two machine-specific inputs `PackageSourceFiles` closes where they enter the generated
30
+ * index: the platform's path separator and the machine's collation. The Windows half cannot run
31
+ * on the machine that runs this suite, so the class is loaded once more against `path.win32` in
32
+ * an isolated module registry — the same code, Windows paths in.
33
+ */
34
+ describe('PackageSourceFiles', function () {
35
+ test('relativePath writes / separators and no leading ./ from Windows paths', function () {
36
+ jest.isolateModules(function () {
37
+ jest.doMock('path', function () { return path.win32; });
38
+ var OnWindows = require('../src/parser/PackageSourceFiles').PackageSourceFiles;
39
+ expect(OnWindows.relativePath('C:\\work\\pkg', 'C:\\work\\pkg\\src\\beta\\deep\\Gamma.ts')).toBe('src/beta/deep/Gamma.ts');
40
+ expect(OnWindows.relativePath('C:\\work\\pkg\\generated', 'C:\\work\\pkg\\src\\alpha\\Alpha.ts')).toBe('../src/alpha/Alpha.ts');
41
+ expect(OnWindows.relativePath('C:\\work\\pkg\\generated', 'C:\\work\\pkg')).toBe('..');
42
+ });
43
+ });
44
+ test('relativePath writes the same form from POSIX paths', function () {
45
+ expect(PackageSourceFiles_1.PackageSourceFiles.relativePath('/work/pkg', '/work/pkg/src/beta/deep/Gamma.ts')).toBe('src/beta/deep/Gamma.ts');
46
+ expect(PackageSourceFiles_1.PackageSourceFiles.relativePath('/work/pkg/generated', '/work/pkg/src/alpha/Alpha.ts')).toBe('../src/alpha/Alpha.ts');
47
+ });
48
+ test('compare orders by code unit, so upper case sorts before lower case on every machine', function () {
49
+ // 'Z' is 0x5a, 'd' is 0x64: code-unit order puts ZetaPlugin first; a locale collation would not.
50
+ expect(PackageSourceFiles_1.PackageSourceFiles.compare('src/zeta/ZetaPlugin.ts', 'src/zeta/defaults.ts')).toBeLessThan(0);
51
+ expect(PackageSourceFiles_1.PackageSourceFiles.compare('src/zeta/defaults.ts', 'src/zeta/ZetaPlugin.ts')).toBeGreaterThan(0);
52
+ expect(PackageSourceFiles_1.PackageSourceFiles.compare('src/a.ts', 'src/a.ts')).toBe(0);
53
+ // A shorter path sorts before its extension: 'SourceRecord.ts' before 'SourceRecordLoader.ts' ('.' is 0x2e, 'L' is 0x4c).
54
+ expect(PackageSourceFiles_1.PackageSourceFiles.compare('src/SourceRecord.ts', 'src/SourceRecordLoader.ts')).toBeLessThan(0);
55
+ });
56
+ });
57
+ //# sourceMappingURL=PackageSourceFiles.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageSourceFiles.test.js","sourceRoot":"","sources":["../../test/PackageSourceFiles.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA6B;AAC7B,uEAAsE;AAEtE;;;;;GAKG;AACH,QAAQ,CAAC,oBAAoB,EAAE;IAC7B,IAAI,CAAC,uEAAuE,EAAE;QAC5E,IAAI,CAAC,cAAc,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,cAAM,OAAA,IAAI,CAAC,KAAK,EAAV,CAAU,CAAC,CAAC;YAC9B,IAAoB,SAAS,GAAK,OAAO,CAAC,kCAAkC,CAAC,mBAAhD,CAAiD;YACtF,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,eAAe,EAAE,0CAA0C,CAAC,CAAC,CAAC,IAAI,CAC9F,wBAAwB,CACzB,CAAC;YACF,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,0BAA0B,EAAE,qCAAqC,CAAC,CAAC,CAAC,IAAI,CACpG,uBAAuB,CACxB,CAAC;YACF,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE;QACzD,MAAM,CAAC,uCAAkB,CAAC,YAAY,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAC,CAAC,IAAI,CAC3F,wBAAwB,CACzB,CAAC;QACF,MAAM,CAAC,uCAAkB,CAAC,YAAY,CAAC,qBAAqB,EAAE,8BAA8B,CAAC,CAAC,CAAC,IAAI,CACjG,uBAAuB,CACxB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qFAAqF,EAAE;QAC1F,iGAAiG;QACjG,MAAM,CAAC,uCAAkB,CAAC,OAAO,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrG,MAAM,CAAC,uCAAkB,CAAC,OAAO,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxG,MAAM,CAAC,uCAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnE,0HAA0H;QAC1H,MAAM,CAAC,uCAAkB,CAAC,OAAO,CAAC,qBAAqB,EAAE,2BAA2B,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -75,6 +75,24 @@ var writeGeneratedIndex_1 = require("../src/codegen/writeGeneratedIndex");
75
75
  */
76
76
  describe('ReflectionDoctor', function () {
77
77
  var fixtureA = path.join(__dirname, 'examples', 'source-repository', 'a');
78
+ var emitFixture = function (pkgDirToBuild) { return __awaiter(void 0, void 0, void 0, function () {
79
+ var generatedDir, generatedIndexPath, distGeneratedDir;
80
+ return __generator(this, function (_a) {
81
+ switch (_a.label) {
82
+ case 0:
83
+ generatedDir = path.join(pkgDirToBuild, 'generated');
84
+ fs.mkdirSync(generatedDir, { recursive: true });
85
+ generatedIndexPath = path.join(generatedDir, 'index.ts');
86
+ return [4 /*yield*/, (0, writeGeneratedIndex_1.writeGeneratedIndex)(pkgDirToBuild, generatedDir, generatedIndexPath, ['src'])];
87
+ case 1:
88
+ _a.sent();
89
+ distGeneratedDir = path.join(pkgDirToBuild, 'dist', 'generated');
90
+ fs.mkdirSync(distGeneratedDir, { recursive: true });
91
+ fs.copyFileSync(generatedIndexPath, path.join(distGeneratedDir, 'index.js'));
92
+ return [2 /*return*/];
93
+ }
94
+ });
95
+ }); };
78
96
  describe('inventory + healthy fixture (fixture a)', function () {
79
97
  it('reports dependency graphs, own graph size, and no orphans', function () { return __awaiter(void 0, void 0, void 0, function () {
80
98
  var doctor, report;
@@ -138,24 +156,6 @@ describe('ReflectionDoctor', function () {
138
156
  });
139
157
  describe('broken chains (crafted fixture)', function () {
140
158
  var pkgDir;
141
- var emitFixture = function (pkgDirToBuild) { return __awaiter(void 0, void 0, void 0, function () {
142
- var generatedDir, generatedIndexPath, distGeneratedDir;
143
- return __generator(this, function (_a) {
144
- switch (_a.label) {
145
- case 0:
146
- generatedDir = path.join(pkgDirToBuild, 'generated');
147
- fs.mkdirSync(generatedDir, { recursive: true });
148
- generatedIndexPath = path.join(generatedDir, 'index.ts');
149
- return [4 /*yield*/, (0, writeGeneratedIndex_1.writeGeneratedIndex)(pkgDirToBuild, generatedDir, generatedIndexPath, ['src'])];
150
- case 1:
151
- _a.sent();
152
- distGeneratedDir = path.join(pkgDirToBuild, 'dist', 'generated');
153
- fs.mkdirSync(distGeneratedDir, { recursive: true });
154
- fs.copyFileSync(generatedIndexPath, path.join(distGeneratedDir, 'index.js'));
155
- return [2 /*return*/];
156
- }
157
- });
158
- }); };
159
159
  beforeEach(function () {
160
160
  pkgDir = fs.mkdtempSync(path.join(os.tmpdir(), 'refl-doctor-'));
161
161
  fs.writeFileSync(path.join(pkgDir, 'package.json'), JSON.stringify({ name: '@test/doctor-fixture', version: '1.0.0', dependencies: {} }, null, 2));
@@ -312,5 +312,42 @@ describe('ReflectionDoctor', function () {
312
312
  });
313
313
  }); });
314
314
  });
315
+ describe('a name two files declare (crafted fixture)', function () {
316
+ var pkgDir;
317
+ beforeEach(function () {
318
+ pkgDir = fs.mkdtempSync(path.join(os.tmpdir(), 'refl-doctor-shared-'));
319
+ fs.writeFileSync(path.join(pkgDir, 'package.json'), JSON.stringify({ name: '@test/doctor-shared-name', version: '1.0.0', dependencies: {} }, null, 2));
320
+ fs.mkdirSync(path.join(pkgDir, 'src', 'alpha'), { recursive: true });
321
+ fs.writeFileSync(path.join(pkgDir, 'src', 'index.ts'), "export * from './alpha/Widget';\n");
322
+ fs.writeFileSync(path.join(pkgDir, 'src', 'alpha', 'Widget.ts'), "import { Loadable } from '@proteinjs/reflection';\n\nexport interface Widget extends Loadable {}\n");
323
+ });
324
+ afterEach(function () {
325
+ fs.rmdirSync(pkgDir, { recursive: true });
326
+ });
327
+ it('reports a name that reaches the graph from two files, with every declaring file, as the build would refuse it', function () { return __awaiter(void 0, void 0, void 0, function () {
328
+ var report;
329
+ return __generator(this, function (_a) {
330
+ switch (_a.label) {
331
+ case 0:
332
+ // Built while one file declared the name; a second file declares it since.
333
+ return [4 /*yield*/, emitFixture(pkgDir)];
334
+ case 1:
335
+ // Built while one file declared the name; a second file declares it since.
336
+ _a.sent();
337
+ fs.mkdirSync(path.join(pkgDir, 'src', 'beta'));
338
+ fs.writeFileSync(path.join(pkgDir, 'src', 'beta', 'Widget.ts'), "export class Widget {}\n");
339
+ return [4 /*yield*/, new ReflectionDoctor_1.ReflectionDoctor(pkgDir).diagnose()];
340
+ case 2:
341
+ report = _a.sent();
342
+ expect(report.sharedNames).toEqual([
343
+ { qualifiedName: '@test/doctor-shared-name/Widget', filePaths: ['src/alpha/Widget.ts', 'src/beta/Widget.ts'] },
344
+ ]);
345
+ expect(report.healthy).toBe(false);
346
+ expect(report.text).toContain(' @test/doctor-shared-name/Widget\n declared in src/alpha/Widget.ts\n declared in src/beta/Widget.ts');
347
+ return [2 /*return*/];
348
+ }
349
+ });
350
+ }); });
351
+ });
315
352
  });
316
353
  //# sourceMappingURL=ReflectionDoctor.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectionDoctor.test.js","sourceRoot":"","sources":["../../test/ReflectionDoctor.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyB;AACzB,qCAAyB;AACzB,yCAA6B;AAC7B,4DAA2D;AAC3D,0EAAyE;AAEzE;;;;;;;;GAQG;AACH,QAAQ,CAAC,kBAAkB,EAAE;IAC3B,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAE5E,QAAQ,CAAC,yCAAyC,EAAE;QAClD,EAAE,CAAC,2DAA2D,EAAE;;;;;wBACxD,MAAM,GAAG,IAAI,mCAAgB,CAAC,QAAQ,CAAC,CAAC;wBAC/B,qBAAM,MAAM,CAAC,QAAQ,EAAE,EAAA;;wBAAhC,MAAM,GAAG,SAAuB;wBAEtC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;wBACnF,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;wBAC5E,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;wBAC5C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;wBAC5C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;wBAClD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBACjD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBAC5C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;;;;aACrE,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE;;;;;wBACjE,MAAM,GAAG,IAAI,mCAAgB,CAAC,QAAQ,CAAC,CAAC;wBAC1B,qBAAM,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,EAAA;;wBAAxE,WAAW,GAAG,SAA0D;wBAE9E,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,uEAAuE,CAAC,CAAC;wBAC5G,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAChC,kFAAkF,CACnF,CAAC;wBACF,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;wBAChD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAC;wBACvF,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;wBAClD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,wEAAwE,CAAC,CAAC;;;;aACjH,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE;;;;;wBACnE,MAAM,GAAG,IAAI,mCAAgB,CAAC,QAAQ,CAAC,CAAC;wBAC1B,qBAAM,MAAM,CAAC,OAAO,CAAC,uCAAuC,CAAC,EAAA;;wBAA3E,WAAW,GAAG,SAA6D;wBAEjF,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;wBACtD,+EAA+E;wBAC/E,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,gEAAgE,CAAC,CAAC;wBACrG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;;;;aACpD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE;QAC1C,IAAI,MAAc,CAAC;QAEnB,IAAM,WAAW,GAAG,UAAO,aAAqB;;;;;wBACxC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;wBAC3D,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC1C,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;wBAC/D,qBAAM,IAAA,yCAAmB,EAAC,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC,EAAA;;wBAAnF,SAAmF,CAAC;wBAG9E,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;wBACvE,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBACpD,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;;;;aAC9E,CAAC;QAEF,UAAU,CAAC;YACT,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;YAChE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EACjC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAC9F,CAAC;YACF,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YACvC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,6BAA6B,CAAC,CAAC;YACtF,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,EACrC,mGAAmG,CACpG,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC;YACR,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kFAAkF,EAAE;;;;4BACrF,qBAAM,WAAW,CAAC,MAAM,CAAC,EAAA;;wBAAzB,SAAyB,CAAC;wBACpB,MAAM,GAAG,IAAI,mCAAgB,CAAC,MAAM,CAAC,CAAC;wBAC7B,qBAAM,MAAM,CAAC,QAAQ,EAAE,EAAA;;wBAAhC,MAAM,GAAG,SAAuB;wBAEtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;wBACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;wBAC5E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;wBAC/E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;wBACvE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACnC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;;;;aAC9D,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE;;;;4BACjD,qBAAM,WAAW,CAAC,MAAM,CAAC,EAAA;;wBAAzB,SAAyB,CAAC;wBACpB,MAAM,GAAG,IAAI,mCAAgB,CAAC,MAAM,CAAC,CAAC;wBACxB,qBAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAA;;wBAA5C,WAAW,GAAG,SAA8B;wBAElD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAC;wBACvF,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;wBACxE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;wBACtD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;wBACrE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;;;;aACpE,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE;;;;;wBACxD,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;wBAC5F,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC;wBACtD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;wBACpF,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;wBACvE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC1C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;wBAEjG,qBAAM,WAAW,CAAC,MAAM,CAAC,EAAA;;wBAAzB,SAAyB,CAAC;wBACpB,MAAM,GAAG,IAAI,mCAAgB,CAAC,MAAM,CAAC,CAAC;wBAC7B,qBAAM,MAAM,CAAC,QAAQ,EAAE,EAAA;;wBAAhC,MAAM,GAAG,SAAuB;wBAEtC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;wBACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;wBAClE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;;;;aACvE,CAAC,CAAC;QAEH,EAAE,CAAC,yFAAyF,EAAE;;;;;wBAC5F,uFAAuF;wBACvF,mFAAmF;wBACnF,iFAAiF;wBACjF,yBAAyB;wBACzB,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,EAClC,kIAAkI,CACnI,CAAC;wBACF,qBAAM,WAAW,CAAC,MAAM,CAAC,EAAA;;wBAAzB,SAAyB,CAAC;wBAEpB,MAAM,GAAG,IAAI,mCAAgB,CAAC,MAAM,CAAC,CAAC;wBAC7B,qBAAM,MAAM,CAAC,QAAQ,EAAE,EAAA;;wBAAhC,MAAM,GAAG,SAAuB;wBACtC,6DAA6D;wBAC7D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;wBACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;;;;aAChF,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE;;;;4BAC9D,qBAAM,WAAW,CAAC,MAAM,CAAC,EAAA;;wBAAzB,SAAyB,CAAC;wBAC1B,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EACnC,iGAAiG,CAClG,CAAC;wBAEI,MAAM,GAAG,IAAI,mCAAgB,CAAC,MAAM,CAAC,CAAC;wBAC7B,qBAAM,MAAM,CAAC,QAAQ,EAAE,EAAA;;wBAAhC,MAAM,GAAG,SAAuB;wBACtC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;wBAC5E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;aACpC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE;;;;;wBACtE,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,EACrC,4FAA4F,CAC7F,CAAC;wBACF,qBAAM,WAAW,CAAC,MAAM,CAAC,EAAA;;wBAAzB,SAAyB,CAAC;wBAEpB,MAAM,GAAG,IAAI,mCAAgB,CAAC,MAAM,CAAC,CAAC;wBACxB,qBAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAA;;wBAA5C,WAAW,GAAG,SAA8B;wBAClD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;wBACtD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;;;;aACjD,CAAC,CAAC;QAEH,EAAE,CAAC,kFAAkF,EAAE;;;;4BACrF,qBAAM,WAAW,CAAC,MAAM,CAAC,EAAA;;wBAAzB,SAAyB,CAAC;wBAC1B,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EACnC,iGAAiG,CAClG,CAAC;wBAEI,MAAM,GAAG,IAAI,mCAAgB,CAAC,MAAM,CAAC,CAAC;wBACxB,qBAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAA;;wBAA1C,WAAW,GAAG,SAA4B;wBAChD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;wBAC7D,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;;;;aAClD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ReflectionDoctor.test.js","sourceRoot":"","sources":["../../test/ReflectionDoctor.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};