@proteinjs/reflection-build 1.4.7 → 1.4.8

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 (281) hide show
  1. package/dist/test/examples/source-repository/a/generated/index.js +1 -1
  2. package/dist/test/examples/source-repository/a/generated/index.js.map +1 -1
  3. package/dist/test/examples/source-repository/b/generated/index.js +1 -1
  4. package/dist/test/examples/source-repository/b/generated/index.js.map +1 -1
  5. package/package.json +4 -5
  6. package/test/examples/source-repository/a/dist/generated/index.js +1 -1
  7. package/test/examples/source-repository/a/dist/generated/index.js.map +1 -1
  8. package/test/examples/source-repository/a/generated/index.ts +33 -38
  9. package/test/examples/source-repository/a/node_modules/.package-lock.json +63 -6
  10. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/.eslintrc.js +20 -0
  11. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/.prettierignore +4 -0
  12. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/.prettierrc +8 -0
  13. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/CHANGELOG.md +58 -0
  14. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/index.d.ts +5 -0
  15. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/index.js +18 -0
  16. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/index.js.map +1 -0
  17. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.d.ts +19 -0
  18. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.js +555 -0
  19. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.js.map +1 -0
  20. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/Loadable.d.ts +3 -0
  21. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/Loadable.js +5 -0
  22. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/Loadable.js.map +1 -0
  23. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/SourceRepository.d.ts +45 -0
  24. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/SourceRepository.js +176 -0
  25. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/SourceRepository.js.map +1 -0
  26. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.d.ts +11 -0
  27. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.js +9 -0
  28. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.js.map +1 -0
  29. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.d.ts +13 -0
  30. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.js +19 -0
  31. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.js.map +1 -0
  32. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/types.d.ts +221 -0
  33. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/types.js +234 -0
  34. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/dist/src/types.js.map +1 -0
  35. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/index.ts +5 -0
  36. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/jest.config.js +9 -0
  37. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/package.json +42 -0
  38. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/src/FlattenedSourceGraph.ts +702 -0
  39. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/src/Loadable.ts +2 -0
  40. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/src/SourceRepository.ts +250 -0
  41. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/src/SourceRepositoryFilter.ts +15 -0
  42. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/src/sourceGraphTypes.ts +14 -0
  43. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/src/types.ts +236 -0
  44. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/tsconfig.json +19 -0
  45. package/test/examples/source-repository/a/node_modules/@proteinjs/reflection/types/@dagrejs/graphlib.d.ts +1 -0
  46. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/CHANGELOG.md +11 -0
  47. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.d.ts +44 -1
  48. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js +207 -142
  49. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js.map +1 -1
  50. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/package.json +2 -2
  51. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/PackageUtil.ts +176 -102
  52. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/test/PackageUtil.symlinkDependencies.test.ts +76 -0
  53. package/test/examples/source-repository/a/node_modules/bindings/LICENSE.md +22 -0
  54. package/test/examples/source-repository/a/node_modules/bindings/README.md +98 -0
  55. package/test/examples/source-repository/a/node_modules/bindings/bindings.js +221 -0
  56. package/test/examples/source-repository/a/node_modules/bindings/package.json +28 -0
  57. package/test/examples/source-repository/a/node_modules/file-uri-to-path/.travis.yml +30 -0
  58. package/test/examples/source-repository/a/node_modules/file-uri-to-path/History.md +21 -0
  59. package/test/examples/source-repository/a/node_modules/file-uri-to-path/LICENSE +20 -0
  60. package/test/examples/source-repository/a/node_modules/file-uri-to-path/README.md +74 -0
  61. package/test/examples/source-repository/a/node_modules/file-uri-to-path/index.d.ts +2 -0
  62. package/test/examples/source-repository/a/node_modules/file-uri-to-path/index.js +66 -0
  63. package/test/examples/source-repository/a/node_modules/file-uri-to-path/package.json +32 -0
  64. package/test/examples/source-repository/a/node_modules/file-uri-to-path/test/test.js +24 -0
  65. package/test/examples/source-repository/a/node_modules/file-uri-to-path/test/tests.json +13 -0
  66. package/test/examples/source-repository/a/node_modules/fsevents/LICENSE +22 -0
  67. package/test/examples/source-repository/a/node_modules/fsevents/README.md +89 -0
  68. package/test/examples/source-repository/a/node_modules/fsevents/fsevents.d.ts +46 -0
  69. package/test/examples/source-repository/a/node_modules/fsevents/fsevents.js +83 -0
  70. package/test/examples/source-repository/a/node_modules/fsevents/fsevents.node +0 -0
  71. package/test/examples/source-repository/a/node_modules/fsevents/package.json +62 -0
  72. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/.travis.yml +103 -0
  73. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/ISSUE_TEMPLATE.md +8 -0
  74. package/{LICENSE → test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/LICENSE} +6 -5
  75. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/Readme.md +78 -0
  76. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/binding.gyp +21 -0
  77. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/.target.mk +53 -0
  78. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Makefile +352 -0
  79. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Release/.deps/Release/.node.d +1 -0
  80. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Release/.deps/Release/obj.target/fse/fsevents.o.d.raw +79 -0
  81. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Release/.node +0 -0
  82. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/binding.Makefile +6 -0
  83. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/fse.target.mk +191 -0
  84. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/gyp-mac-tool +766 -0
  85. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/fsevents.cc +88 -0
  86. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/fsevents.js +106 -0
  87. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/install.js +13 -0
  88. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/package.json +34 -0
  89. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/async.cc +43 -0
  90. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/constants.cc +110 -0
  91. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/methods.cc +44 -0
  92. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/storage.cc +27 -0
  93. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/thread.cc +71 -0
  94. package/test/examples/source-repository/a/node_modules/nan/CHANGELOG.md +557 -0
  95. package/test/examples/source-repository/a/node_modules/nan/CMakeLists.txt +138 -0
  96. package/test/examples/source-repository/a/node_modules/nan/LICENSE.md +9 -0
  97. package/test/examples/source-repository/a/node_modules/nan/README.md +456 -0
  98. package/test/examples/source-repository/a/node_modules/nan/doc/asyncworker.md +146 -0
  99. package/test/examples/source-repository/a/node_modules/nan/doc/buffers.md +54 -0
  100. package/test/examples/source-repository/a/node_modules/nan/doc/callback.md +76 -0
  101. package/test/examples/source-repository/a/node_modules/nan/doc/converters.md +41 -0
  102. package/test/examples/source-repository/a/node_modules/nan/doc/errors.md +226 -0
  103. package/test/examples/source-repository/a/node_modules/nan/doc/json.md +62 -0
  104. package/test/examples/source-repository/a/node_modules/nan/doc/maybe_types.md +583 -0
  105. package/test/examples/source-repository/a/node_modules/nan/doc/methods.md +672 -0
  106. package/test/examples/source-repository/a/node_modules/nan/doc/new.md +147 -0
  107. package/test/examples/source-repository/a/node_modules/nan/doc/node_misc.md +123 -0
  108. package/test/examples/source-repository/a/node_modules/nan/doc/object_wrappers.md +263 -0
  109. package/test/examples/source-repository/a/node_modules/nan/doc/persistent.md +296 -0
  110. package/test/examples/source-repository/a/node_modules/nan/doc/scopes.md +73 -0
  111. package/test/examples/source-repository/a/node_modules/nan/doc/script.md +58 -0
  112. package/test/examples/source-repository/a/node_modules/nan/doc/string_bytes.md +62 -0
  113. package/test/examples/source-repository/a/node_modules/nan/doc/v8_internals.md +199 -0
  114. package/test/examples/source-repository/a/node_modules/nan/doc/v8_misc.md +85 -0
  115. package/test/examples/source-repository/a/node_modules/nan/include_dirs.js +1 -0
  116. package/test/examples/source-repository/a/node_modules/nan/nan.h +2958 -0
  117. package/test/examples/source-repository/a/node_modules/nan/nan_callbacks.h +92 -0
  118. package/test/examples/source-repository/a/node_modules/nan/nan_callbacks_12_inl.h +520 -0
  119. package/test/examples/source-repository/a/node_modules/nan/nan_callbacks_pre_12_inl.h +520 -0
  120. package/test/examples/source-repository/a/node_modules/nan/nan_converters.h +72 -0
  121. package/test/examples/source-repository/a/node_modules/nan/nan_converters_43_inl.h +68 -0
  122. package/test/examples/source-repository/a/node_modules/nan/nan_converters_pre_43_inl.h +42 -0
  123. package/test/examples/source-repository/a/node_modules/nan/nan_define_own_property_helper.h +29 -0
  124. package/test/examples/source-repository/a/node_modules/nan/nan_implementation_12_inl.h +430 -0
  125. package/test/examples/source-repository/a/node_modules/nan/nan_implementation_pre_12_inl.h +263 -0
  126. package/test/examples/source-repository/a/node_modules/nan/nan_json.h +166 -0
  127. package/test/examples/source-repository/a/node_modules/nan/nan_maybe_43_inl.h +356 -0
  128. package/test/examples/source-repository/a/node_modules/nan/nan_maybe_pre_43_inl.h +268 -0
  129. package/test/examples/source-repository/a/node_modules/nan/nan_new.h +340 -0
  130. package/test/examples/source-repository/a/node_modules/nan/nan_object_wrap.h +156 -0
  131. package/test/examples/source-repository/a/node_modules/nan/nan_persistent_12_inl.h +132 -0
  132. package/test/examples/source-repository/a/node_modules/nan/nan_persistent_pre_12_inl.h +242 -0
  133. package/test/examples/source-repository/a/node_modules/nan/nan_private.h +73 -0
  134. package/test/examples/source-repository/a/node_modules/nan/nan_scriptorigin.h +76 -0
  135. package/test/examples/source-repository/a/node_modules/nan/nan_string_bytes.h +305 -0
  136. package/test/examples/source-repository/a/node_modules/nan/nan_typedarray_contents.h +96 -0
  137. package/test/examples/source-repository/a/node_modules/nan/nan_weak.h +437 -0
  138. package/test/examples/source-repository/a/node_modules/nan/package.json +38 -0
  139. package/test/examples/source-repository/a/node_modules/nan/tools/1to2.js +412 -0
  140. package/test/examples/source-repository/a/node_modules/nan/tools/README.md +14 -0
  141. package/test/examples/source-repository/a/node_modules/nan/tools/package.json +19 -0
  142. package/test/examples/source-repository/a/package-lock.json +12 -8
  143. package/test/examples/source-repository/a/package.json +3 -3
  144. package/test/examples/source-repository/b/dist/generated/index.js +1 -1
  145. package/test/examples/source-repository/b/dist/generated/index.js.map +1 -1
  146. package/test/examples/source-repository/b/generated/index.ts +11 -10
  147. package/test/examples/source-repository/b/node_modules/.package-lock.json +61 -4
  148. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/.eslintrc.js +20 -0
  149. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/.prettierignore +4 -0
  150. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/.prettierrc +8 -0
  151. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/CHANGELOG.md +58 -0
  152. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/index.d.ts +5 -0
  153. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/index.js +18 -0
  154. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/index.js.map +1 -0
  155. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.d.ts +19 -0
  156. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.js +555 -0
  157. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.js.map +1 -0
  158. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/Loadable.d.ts +3 -0
  159. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/Loadable.js +5 -0
  160. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/Loadable.js.map +1 -0
  161. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepository.d.ts +45 -0
  162. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepository.js +176 -0
  163. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepository.js.map +1 -0
  164. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.d.ts +11 -0
  165. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.js +9 -0
  166. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.js.map +1 -0
  167. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.d.ts +13 -0
  168. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.js +19 -0
  169. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.js.map +1 -0
  170. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/types.d.ts +221 -0
  171. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/types.js +234 -0
  172. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/types.js.map +1 -0
  173. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/index.ts +5 -0
  174. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/jest.config.js +9 -0
  175. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/package.json +42 -0
  176. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/FlattenedSourceGraph.ts +702 -0
  177. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/Loadable.ts +2 -0
  178. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/SourceRepository.ts +250 -0
  179. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/SourceRepositoryFilter.ts +15 -0
  180. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/sourceGraphTypes.ts +14 -0
  181. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/types.ts +236 -0
  182. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/tsconfig.json +19 -0
  183. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/types/@dagrejs/graphlib.d.ts +1 -0
  184. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/CHANGELOG.md +11 -0
  185. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.d.ts +44 -1
  186. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js +207 -142
  187. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js.map +1 -1
  188. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/package.json +2 -2
  189. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/PackageUtil.ts +176 -102
  190. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/test/PackageUtil.symlinkDependencies.test.ts +76 -0
  191. package/test/examples/source-repository/b/node_modules/bindings/LICENSE.md +22 -0
  192. package/test/examples/source-repository/b/node_modules/bindings/README.md +98 -0
  193. package/test/examples/source-repository/b/node_modules/bindings/bindings.js +221 -0
  194. package/test/examples/source-repository/b/node_modules/bindings/package.json +28 -0
  195. package/test/examples/source-repository/b/node_modules/file-uri-to-path/.travis.yml +30 -0
  196. package/test/examples/source-repository/b/node_modules/file-uri-to-path/History.md +21 -0
  197. package/test/examples/source-repository/b/node_modules/file-uri-to-path/LICENSE +20 -0
  198. package/test/examples/source-repository/b/node_modules/file-uri-to-path/README.md +74 -0
  199. package/test/examples/source-repository/b/node_modules/file-uri-to-path/index.d.ts +2 -0
  200. package/test/examples/source-repository/b/node_modules/file-uri-to-path/index.js +66 -0
  201. package/test/examples/source-repository/b/node_modules/file-uri-to-path/package.json +32 -0
  202. package/test/examples/source-repository/b/node_modules/file-uri-to-path/test/test.js +24 -0
  203. package/test/examples/source-repository/b/node_modules/file-uri-to-path/test/tests.json +13 -0
  204. package/test/examples/source-repository/b/node_modules/fsevents/LICENSE +22 -0
  205. package/test/examples/source-repository/b/node_modules/fsevents/README.md +89 -0
  206. package/test/examples/source-repository/b/node_modules/fsevents/fsevents.d.ts +46 -0
  207. package/test/examples/source-repository/b/node_modules/fsevents/fsevents.js +83 -0
  208. package/test/examples/source-repository/b/node_modules/fsevents/fsevents.node +0 -0
  209. package/test/examples/source-repository/b/node_modules/fsevents/package.json +62 -0
  210. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/.travis.yml +103 -0
  211. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/ISSUE_TEMPLATE.md +8 -0
  212. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/LICENSE +22 -0
  213. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/Readme.md +78 -0
  214. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/binding.gyp +21 -0
  215. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/.target.mk +53 -0
  216. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Makefile +352 -0
  217. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Release/.deps/Release/.node.d +1 -0
  218. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Release/.deps/Release/obj.target/fse/fsevents.o.d.raw +79 -0
  219. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Release/.node +0 -0
  220. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/binding.Makefile +6 -0
  221. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/fse.target.mk +191 -0
  222. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/gyp-mac-tool +766 -0
  223. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/fsevents.cc +88 -0
  224. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/fsevents.js +106 -0
  225. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/install.js +13 -0
  226. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/package.json +34 -0
  227. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/async.cc +43 -0
  228. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/constants.cc +110 -0
  229. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/methods.cc +44 -0
  230. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/storage.cc +27 -0
  231. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/thread.cc +71 -0
  232. package/test/examples/source-repository/b/node_modules/nan/CHANGELOG.md +557 -0
  233. package/test/examples/source-repository/b/node_modules/nan/CMakeLists.txt +138 -0
  234. package/test/examples/source-repository/b/node_modules/nan/LICENSE.md +9 -0
  235. package/test/examples/source-repository/b/node_modules/nan/README.md +456 -0
  236. package/test/examples/source-repository/b/node_modules/nan/doc/asyncworker.md +146 -0
  237. package/test/examples/source-repository/b/node_modules/nan/doc/buffers.md +54 -0
  238. package/test/examples/source-repository/b/node_modules/nan/doc/callback.md +76 -0
  239. package/test/examples/source-repository/b/node_modules/nan/doc/converters.md +41 -0
  240. package/test/examples/source-repository/b/node_modules/nan/doc/errors.md +226 -0
  241. package/test/examples/source-repository/b/node_modules/nan/doc/json.md +62 -0
  242. package/test/examples/source-repository/b/node_modules/nan/doc/maybe_types.md +583 -0
  243. package/test/examples/source-repository/b/node_modules/nan/doc/methods.md +672 -0
  244. package/test/examples/source-repository/b/node_modules/nan/doc/new.md +147 -0
  245. package/test/examples/source-repository/b/node_modules/nan/doc/node_misc.md +123 -0
  246. package/test/examples/source-repository/b/node_modules/nan/doc/object_wrappers.md +263 -0
  247. package/test/examples/source-repository/b/node_modules/nan/doc/persistent.md +296 -0
  248. package/test/examples/source-repository/b/node_modules/nan/doc/scopes.md +73 -0
  249. package/test/examples/source-repository/b/node_modules/nan/doc/script.md +58 -0
  250. package/test/examples/source-repository/b/node_modules/nan/doc/string_bytes.md +62 -0
  251. package/test/examples/source-repository/b/node_modules/nan/doc/v8_internals.md +199 -0
  252. package/test/examples/source-repository/b/node_modules/nan/doc/v8_misc.md +85 -0
  253. package/test/examples/source-repository/b/node_modules/nan/include_dirs.js +1 -0
  254. package/test/examples/source-repository/b/node_modules/nan/nan.h +2958 -0
  255. package/test/examples/source-repository/b/node_modules/nan/nan_callbacks.h +92 -0
  256. package/test/examples/source-repository/b/node_modules/nan/nan_callbacks_12_inl.h +520 -0
  257. package/test/examples/source-repository/b/node_modules/nan/nan_callbacks_pre_12_inl.h +520 -0
  258. package/test/examples/source-repository/b/node_modules/nan/nan_converters.h +72 -0
  259. package/test/examples/source-repository/b/node_modules/nan/nan_converters_43_inl.h +68 -0
  260. package/test/examples/source-repository/b/node_modules/nan/nan_converters_pre_43_inl.h +42 -0
  261. package/test/examples/source-repository/b/node_modules/nan/nan_define_own_property_helper.h +29 -0
  262. package/test/examples/source-repository/b/node_modules/nan/nan_implementation_12_inl.h +430 -0
  263. package/test/examples/source-repository/b/node_modules/nan/nan_implementation_pre_12_inl.h +263 -0
  264. package/test/examples/source-repository/b/node_modules/nan/nan_json.h +166 -0
  265. package/test/examples/source-repository/b/node_modules/nan/nan_maybe_43_inl.h +356 -0
  266. package/test/examples/source-repository/b/node_modules/nan/nan_maybe_pre_43_inl.h +268 -0
  267. package/test/examples/source-repository/b/node_modules/nan/nan_new.h +340 -0
  268. package/test/examples/source-repository/b/node_modules/nan/nan_object_wrap.h +156 -0
  269. package/test/examples/source-repository/b/node_modules/nan/nan_persistent_12_inl.h +132 -0
  270. package/test/examples/source-repository/b/node_modules/nan/nan_persistent_pre_12_inl.h +242 -0
  271. package/test/examples/source-repository/b/node_modules/nan/nan_private.h +73 -0
  272. package/test/examples/source-repository/b/node_modules/nan/nan_scriptorigin.h +76 -0
  273. package/test/examples/source-repository/b/node_modules/nan/nan_string_bytes.h +305 -0
  274. package/test/examples/source-repository/b/node_modules/nan/nan_typedarray_contents.h +96 -0
  275. package/test/examples/source-repository/b/node_modules/nan/nan_weak.h +437 -0
  276. package/test/examples/source-repository/b/node_modules/nan/package.json +38 -0
  277. package/test/examples/source-repository/b/node_modules/nan/tools/1to2.js +412 -0
  278. package/test/examples/source-repository/b/node_modules/nan/tools/README.md +14 -0
  279. package/test/examples/source-repository/b/node_modules/nan/tools/package.json +19 -0
  280. package/test/examples/source-repository/b/package-lock.json +10 -6
  281. package/test/examples/source-repository/b/package.json +3 -3
@@ -0,0 +1,250 @@
1
+ import { Graph } from '@dagrejs/graphlib';
2
+ import { graphSerializer, isInstanceOf } from '@proteinjs/util';
3
+ import { SourceType } from './sourceGraphTypes';
4
+ import {
5
+ VariableDeclaration,
6
+ TypeAliasDeclaration,
7
+ ClassDeclaration,
8
+ InterfaceDeclaration,
9
+ Class,
10
+ Variable,
11
+ TypeAlias,
12
+ Interface,
13
+ PackageScope,
14
+ } from './types';
15
+ import { FlattenedSourceGraph, flattenSourceGraph } from './FlattenedSourceGraph';
16
+ import { SOURCE_REPOSITORY_FILTER_QUALIFIED_NAME, getSourceRepositoryFilters } from './SourceRepositoryFilter';
17
+
18
+ type TypeMap = { [qualifiedName: string]: Interface | TypeAlias | Class | Variable };
19
+
20
+ export class SourceRepository {
21
+ public readonly sourceGraph = new Graph();
22
+ private readonly sourceLinks: { [qualifiedName: string]: any } = {};
23
+ public flattenedSourceGraph: FlattenedSourceGraph = { variables: {}, typeAliases: {}, classes: {}, interfaces: {} };
24
+ // private readonly typeCache: { [type: string]: (ClassDeclaration|VariableDeclaration)[] } = {};
25
+ private readonly objectCache: { [type: string]: any[] } = {};
26
+
27
+ private constructor() {}
28
+
29
+ static get(): SourceRepository {
30
+ if (!SourceRepository.getGlobal().__proteinjs_reflection_SourceRepository) {
31
+ SourceRepository.getGlobal().__proteinjs_reflection_SourceRepository = new SourceRepository();
32
+ }
33
+
34
+ return SourceRepository.getGlobal().__proteinjs_reflection_SourceRepository;
35
+ }
36
+
37
+ private static getGlobal(): any {
38
+ if (typeof window !== 'undefined') {
39
+ return window;
40
+ }
41
+
42
+ return globalThis;
43
+ }
44
+
45
+ interface(qualifiedInterfaceName: string) {
46
+ return this.flattenedSourceGraph.interfaces[qualifiedInterfaceName];
47
+ }
48
+
49
+ interfaceExtends(_interface: Interface, type: string) {
50
+ return typeof _interface.allParents[type] !== 'undefined';
51
+ }
52
+
53
+ /**
54
+ * Same as SourceRepository.objects except assumes it will find only 1 object.
55
+ *
56
+ * @param extendingType a Type or Interface that the Class or Variable extends
57
+ * @return variable or instantiated class that extends `extendingType`
58
+ */
59
+ object<T>(extendingType: string): T {
60
+ return this.objects<T>(extendingType)[0];
61
+ }
62
+
63
+ /**
64
+ * @param extendingType a Type, Interface, or Class that the Class or Variable extends
65
+ * @return variables and instantiated classes that extend `extendingType`
66
+ */
67
+ objects<T>(extendingType: string): T[] {
68
+ if (this.objectCache[extendingType]) {
69
+ return this.objectCache[extendingType];
70
+ }
71
+
72
+ const baseChildren = this.baseChildren(extendingType);
73
+ const extendingObjects: T[] = [];
74
+ for (const baseChildQualifiedName in baseChildren) {
75
+ const child = baseChildren[baseChildQualifiedName];
76
+ if (isInstanceOf(child, Class)) {
77
+ extendingObjects.push(new (child as any)._constructor());
78
+ } else if (isInstanceOf(child, Variable)) {
79
+ extendingObjects.push((child as any).value);
80
+ }
81
+ }
82
+
83
+ this.objectCache[extendingType] = extendingObjects;
84
+ return extendingObjects;
85
+ }
86
+
87
+ /**
88
+ * @param extendingType a Type, Interface, or Class that the Class or Variable extends
89
+ * @returns a hashmap (key is qualified name) of base child types (vs the instantiated objects provided by the objects method) that extend `extendingType`
90
+ */
91
+ baseChildren(extendingType: string): TypeMap {
92
+ const _interface = SourceRepository.get().flattenedSourceGraph.interfaces[extendingType];
93
+ const typeAlias = SourceRepository.get().flattenedSourceGraph.typeAliases[extendingType];
94
+ const _class = SourceRepository.get().flattenedSourceGraph.classes[extendingType];
95
+ let baseChildren: TypeMap;
96
+ if (_interface) {
97
+ baseChildren = _interface.baseChildren;
98
+ } else if (typeAlias) {
99
+ baseChildren = typeAlias.baseChildren;
100
+ } else if (_class) {
101
+ baseChildren = _class.baseChildren;
102
+ } else {
103
+ throw new Error(`Unable to find type: ${extendingType}`);
104
+ }
105
+
106
+ if (extendingType === SOURCE_REPOSITORY_FILTER_QUALIFIED_NAME) {
107
+ return baseChildren;
108
+ }
109
+
110
+ return this.filterObjects(baseChildren);
111
+ }
112
+
113
+ /**
114
+ * @param extendingType a Type, Interface, or Class that the Class or Variable extends
115
+ * @returns a hashmap (key is qualified name) of direct child types (vs the instantiated objects provided by the objects method) that extend `extendingType`
116
+ */
117
+ directChildren(extendingType: string): TypeMap {
118
+ const _interface = SourceRepository.get().flattenedSourceGraph.interfaces[extendingType];
119
+ const typeAlias = SourceRepository.get().flattenedSourceGraph.typeAliases[extendingType];
120
+ const _class = SourceRepository.get().flattenedSourceGraph.classes[extendingType];
121
+ let directChildren: any;
122
+ if (_interface) {
123
+ directChildren = _interface.directChildren;
124
+ } else if (typeAlias) {
125
+ directChildren = typeAlias.directChildren;
126
+ } else if (_class) {
127
+ directChildren = _class.directChildren;
128
+ } else {
129
+ throw new Error(`Unable to find type: ${extendingType}`);
130
+ }
131
+
132
+ if (extendingType === SOURCE_REPOSITORY_FILTER_QUALIFIED_NAME) {
133
+ return directChildren;
134
+ }
135
+
136
+ return this.filterObjects(directChildren);
137
+ }
138
+
139
+ private filterObjects(typeMap: TypeMap): TypeMap {
140
+ const filteredTypeMap: TypeMap = {};
141
+ const filters = getSourceRepositoryFilters();
142
+ for (const qualifiedName of Object.keys(typeMap)) {
143
+ const packageScope = typeMap[qualifiedName];
144
+ let filtered = true;
145
+ for (const filter of filters) {
146
+ if (!filter.filterObject(qualifiedName)) {
147
+ filtered = false;
148
+ break;
149
+ }
150
+ }
151
+
152
+ if (filtered) {
153
+ filteredTypeMap[qualifiedName] = packageScope;
154
+ }
155
+ }
156
+
157
+ return filteredTypeMap;
158
+ }
159
+
160
+ static merge(serializedSourceGraph: string, sourceLinks: { [qualifiedName: string]: any }) {
161
+ const unescapedSerializedSourceGraph = serializedSourceGraph.replace(/\\'/g, "'");
162
+ const sourceGraph = graphSerializer.deserialize(unescapedSerializedSourceGraph);
163
+ for (const nodeName of sourceGraph.nodes()) {
164
+ const nodeValue = sourceGraph.node(nodeName);
165
+ if (!nodeValue) {
166
+ continue;
167
+ }
168
+
169
+ SourceRepository.get().sourceGraph.setNode(nodeName, SourceRepository.deserializeClass(nodeValue));
170
+ }
171
+
172
+ for (const edge of sourceGraph.edges()) {
173
+ const edgeValue = sourceGraph.edge(edge);
174
+ SourceRepository.get().sourceGraph.setEdge(edge, edgeValue);
175
+ }
176
+
177
+ Object.assign(SourceRepository.get().sourceLinks, sourceLinks);
178
+ SourceRepository.get().flattenedSourceGraph = flattenSourceGraph(
179
+ SourceRepository.get().sourceGraph,
180
+ SourceRepository.get().sourceLinks
181
+ );
182
+ }
183
+
184
+ private static deserializeClass(classJson: any): any {
185
+ if (classJson.sourceType === SourceType.variable) {
186
+ return VariableDeclaration.deserialize(classJson);
187
+ } else if (classJson.sourceType === SourceType.typeAlias) {
188
+ return TypeAliasDeclaration.deserialize(classJson);
189
+ } else if (classJson.sourceType === SourceType.class) {
190
+ return ClassDeclaration.deserialize(classJson);
191
+ } else if (classJson.sourceType === SourceType.interface) {
192
+ return InterfaceDeclaration.deserialize(classJson);
193
+ }
194
+
195
+ return classJson;
196
+ }
197
+
198
+ // objects<T>(type: string): T[] {
199
+ // if (!this.objectCache[type]) {
200
+ // this.objectCache[type] = this.types(type).map((type) => {
201
+ // if (type instanceof VariableDeclaration)
202
+ // return type.value;
203
+
204
+ // if (type instanceof ClassDeclaration)
205
+ // return new type._constructor();
206
+
207
+ // return null;
208
+ // });
209
+ // }
210
+
211
+ // return this.objectCache[type];
212
+ // }
213
+
214
+ // types(parentType: string): (ClassDeclaration|VariableDeclaration)[] {
215
+ // if (!this.typeCache[parentType]) {
216
+ // const node = this.sourceGraph.node(parentType);
217
+ // if (!node)
218
+ // throw new Error(`Failed to find types, reason: parent type does not exist: ${parentType}`);
219
+
220
+ // const collectedTypes: (ClassDeclaration|VariableDeclaration)[] = [];
221
+ // this.collectTypes(parentType, collectedTypes);
222
+ // this.typeCache[parentType] = collectedTypes;
223
+ // }
224
+
225
+ // return this.typeCache[parentType];
226
+ // }
227
+
228
+ // private collectTypes(type: string, collectedTypes: (ClassDeclaration|VariableDeclaration)[]): void {
229
+ // const childTypes = this.sourceGraph.successors(type);
230
+ // if (!childTypes)
231
+ // return;
232
+
233
+ // for (const childType of childTypes) {
234
+ // const childNode = this.sourceGraph.node(childType);
235
+ // if (!childNode)
236
+ // continue;
237
+
238
+ // const sourceLink = this.sourceLinks[childNode.qualifiedName];
239
+ // if (childNode instanceof VariableDeclaration) {
240
+ // childNode.value = sourceLink;
241
+ // collectedTypes.push(childNode);
242
+ // } else if (childNode instanceof ClassDeclaration && !childNode.isAbstract) {
243
+ // childNode._constructor = sourceLink;
244
+ // collectedTypes.push(childNode);
245
+ // }
246
+
247
+ // this.collectTypes(childType, collectedTypes);
248
+ // }
249
+ // }
250
+ }
@@ -0,0 +1,15 @@
1
+ import { Loadable } from './Loadable';
2
+ import { SourceRepository } from './SourceRepository';
3
+
4
+ export const SOURCE_REPOSITORY_FILTER_QUALIFIED_NAME = '@proteinjs/reflection/SourceRepositoryFilter';
5
+ export const getSourceRepositoryFilters = () =>
6
+ SourceRepository.get().objects<SourceRepositoryFilter>(SOURCE_REPOSITORY_FILTER_QUALIFIED_NAME);
7
+
8
+ export interface SourceRepositoryFilter extends Loadable {
9
+ /**
10
+ * Filter objects that would be returned by `SourceRepository.object` and `SourceRepository.objects`
11
+ * @param qualifiedName the package-qualified name of the object to be filtered (ie. `@dependency/package/ClassName`)
12
+ * @return true if the object should be returned by the `SourceRepository`
13
+ */
14
+ filterObject(qualifiedName: string): boolean;
15
+ }
@@ -0,0 +1,14 @@
1
+ export enum SourceType {
2
+ variable,
3
+ typeAlias,
4
+ class,
5
+ interface,
6
+ }
7
+
8
+ export enum SourceRelationship {
9
+ hasType = 'has type',
10
+ extendsType = 'extends type',
11
+ extendsClass = 'extends class',
12
+ implementsInterface = 'implements interface',
13
+ extendsInterface = 'extends interface',
14
+ }
@@ -0,0 +1,236 @@
1
+ export abstract class PackageScope {
2
+ public readonly qualifiedName: string;
3
+
4
+ constructor(
5
+ public readonly packageName: string,
6
+ public readonly name: string,
7
+ public readonly filePath?: string
8
+ ) {
9
+ this.qualifiedName = `${packageName}/${name}`;
10
+ }
11
+ }
12
+
13
+ export class Variable extends PackageScope {
14
+ constructor(
15
+ packageName: string,
16
+ name: string,
17
+ filePath: string,
18
+ public readonly isExported: boolean,
19
+ public readonly isConst: boolean,
20
+ public readonly value: any,
21
+ public readonly typeParameters: { [qualifiedName: string]: (TypeAlias | Interface)[] } = {},
22
+ public directParentTypes: { [qualifiedName: string]: TypeAlias | Interface } = {},
23
+ public allParentTypes: { [qualifiedName: string]: TypeAlias | Interface } = {},
24
+ public rootParentTypes: { [qualifiedName: string]: TypeAlias | Interface } = {}
25
+ ) {
26
+ super(packageName, name, filePath);
27
+ }
28
+ }
29
+
30
+ export class TypeAlias extends PackageScope {
31
+ constructor(
32
+ packageName: string,
33
+ name: string,
34
+ filePath?: string,
35
+ public readonly typeParameters: { [qualifiedName: string]: (TypeAlias | Interface)[] } = {},
36
+ public readonly directParents: { [qualifiedName: string]: TypeAlias | Interface } = {},
37
+ public allParents: { [qualifiedName: string]: TypeAlias | Interface } = {},
38
+ public rootParents: { [qualifiedName: string]: TypeAlias | Interface } = {},
39
+ public directChildren: { [qualifiedName: string]: TypeAlias | Variable } = {},
40
+ public allChildren: { [qualifiedName: string]: TypeAlias | Variable } = {},
41
+ public baseChildren: { [qualifiedName: string]: TypeAlias | Variable } = {}
42
+ ) {
43
+ super(packageName, name, filePath);
44
+ }
45
+ }
46
+
47
+ export class Class extends PackageScope {
48
+ constructor(
49
+ packageName: string,
50
+ name: string,
51
+ filePath: string,
52
+ public readonly isAbstract: boolean,
53
+ public readonly isStatic: boolean,
54
+ public readonly visibility: Visibility,
55
+ public readonly properties: Property[],
56
+ public readonly methods: Method[],
57
+ public readonly _constructor: any,
58
+ public readonly directParents: { [qualifiedName: string]: Class | Interface | TypeAlias } = {},
59
+ public readonly typeParameters: { [qualifiedName: string]: (TypeAlias | Interface | TypeAlias)[] } = {},
60
+ public allParents: { [qualifiedName: string]: Class | Interface | TypeAlias } = {},
61
+ public rootParents: { [qualifiedName: string]: Class | Interface | TypeAlias } = {},
62
+ public directChildren: { [qualifiedName: string]: Class } = {},
63
+ public allChildren: { [qualifiedName: string]: Class } = {},
64
+ public baseChildren: { [qualifiedName: string]: Class } = {}
65
+ ) {
66
+ super(packageName, name, filePath);
67
+ }
68
+ }
69
+
70
+ export class Interface extends PackageScope {
71
+ constructor(
72
+ packageName: string,
73
+ name: string,
74
+ public readonly properties: Property[],
75
+ public readonly methods: Method[],
76
+ filePath?: string,
77
+ public readonly typeParameters: { [qualifiedName: string]: (TypeAlias | Interface)[] } = {},
78
+ public readonly directParents: { [qualifiedName: string]: Interface | TypeAlias } = {},
79
+ public allParents: { [qualifiedName: string]: Interface | TypeAlias } = {},
80
+ public rootParents: { [qualifiedName: string]: Interface | TypeAlias } = {},
81
+ public readonly directChildren: { [qualifiedName: string]: Interface | TypeAlias | Class | Variable } = {},
82
+ public allChildren: { [qualifiedName: string]: Interface | TypeAlias | Class | Variable } = {},
83
+ public baseChildren: { [qualifiedName: string]: Interface | TypeAlias | Class | Variable } = {}
84
+ ) {
85
+ super(packageName, name, filePath);
86
+ }
87
+ }
88
+
89
+ export class Method {
90
+ constructor(
91
+ public readonly name: string,
92
+ public readonly returnType: TypeAliasDeclaration | undefined,
93
+ public readonly isAsync: boolean,
94
+ public readonly isOptional: boolean,
95
+ public readonly isAbstract: boolean,
96
+ public readonly isStatic: boolean,
97
+ public readonly visibility: Visibility,
98
+ public readonly parameters: Parameter[]
99
+ // public readonly variables: VariableDeclaration[]
100
+ ) {}
101
+ }
102
+
103
+ export type Visibility = 'public' | 'protected' | 'private' | undefined;
104
+
105
+ export class Property {
106
+ constructor(
107
+ public readonly name: string,
108
+ public readonly type: TypeAliasDeclaration | undefined,
109
+ public readonly isOptional: boolean,
110
+ public readonly isAbstract: boolean,
111
+ public readonly isStatic: boolean,
112
+ public readonly visibility: Visibility
113
+ ) {}
114
+ }
115
+
116
+ export class Parameter {
117
+ constructor(
118
+ public readonly name: string,
119
+ public readonly type: TypeAliasDeclaration | undefined
120
+ // public readonly isOptional: boolean
121
+ ) {}
122
+ }
123
+
124
+ /**
125
+ * Declarations are intermediary types created by the parser. They do not contain the deeply-nested, relational
126
+ * information possible at runtime.
127
+ *
128
+ * Note: The declaration types specified in typescript-parser are not used because they are not package-scoped.
129
+ * The typescript-parser package is a file-level parser, and reflection is a package-level parser.
130
+ */
131
+
132
+ export class VariableDeclaration extends PackageScope {
133
+ constructor(
134
+ packageName: string,
135
+ name: string,
136
+ filePath: string,
137
+ public type: TypeAliasDeclaration,
138
+ public isExported: boolean,
139
+ public isConst: boolean
140
+ ) {
141
+ super(packageName, name, filePath);
142
+ }
143
+
144
+ static deserialize(json: any): VariableDeclaration {
145
+ return new VariableDeclaration(
146
+ json.packageName,
147
+ json.name,
148
+ json.filePath,
149
+ json.type,
150
+ json.isExported,
151
+ json.isConst
152
+ );
153
+ }
154
+ }
155
+
156
+ export class TypeAliasDeclaration extends PackageScope {
157
+ constructor(
158
+ packageName: string,
159
+ name: string,
160
+ public typeParameters?: string[],
161
+ public directParents?: TypeAliasDeclaration[],
162
+ filePath?: string
163
+ ) {
164
+ super(packageName, name, filePath);
165
+ }
166
+
167
+ static deserialize(json: any): TypeAliasDeclaration {
168
+ return new TypeAliasDeclaration(
169
+ json.packageName,
170
+ json.name,
171
+ json.typeParameters,
172
+ json.directParents,
173
+ json.filePath
174
+ );
175
+ }
176
+ }
177
+
178
+ export class ClassDeclaration extends PackageScope {
179
+ constructor(
180
+ packageName: string,
181
+ name: string,
182
+ public readonly isAbstract: boolean,
183
+ public readonly isStatic: boolean,
184
+ public readonly visibility: Visibility,
185
+ public readonly properties: Property[],
186
+ public readonly methods: Method[],
187
+ public readonly typeParameters: string[],
188
+ public readonly directParentInterfaces: InterfaceDeclaration[],
189
+ public readonly directParentClasses: ClassDeclaration[],
190
+ filePath?: string
191
+ ) {
192
+ super(packageName, name, filePath);
193
+ }
194
+
195
+ static deserialize(json: any): ClassDeclaration {
196
+ return new ClassDeclaration(
197
+ json.packageName,
198
+ json.name,
199
+ json.isAbstract,
200
+ json.isStatic,
201
+ json.visibility,
202
+ json.properties,
203
+ json.methods,
204
+ json.typeParameters,
205
+ json.directParentInterfaces,
206
+ json.directParentClasses,
207
+ json.filePath
208
+ );
209
+ }
210
+ }
211
+
212
+ export class InterfaceDeclaration extends PackageScope {
213
+ constructor(
214
+ packageName: string,
215
+ name: string,
216
+ public readonly properties: Property[],
217
+ public readonly methods: Method[],
218
+ public readonly typeParameters: string[],
219
+ public readonly directParents: InterfaceDeclaration[],
220
+ filePath?: string
221
+ ) {
222
+ super(packageName, name, filePath);
223
+ }
224
+
225
+ static deserialize(json: any): InterfaceDeclaration {
226
+ return new InterfaceDeclaration(
227
+ json.packageName,
228
+ json.name,
229
+ json.properties,
230
+ json.methods,
231
+ json.typeParameters,
232
+ json.directParents,
233
+ json.filePath
234
+ );
235
+ }
236
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es5",
4
+ "module": "commonjs",
5
+ "declaration": true,
6
+ "sourceMap": true,
7
+ "outDir": "./dist/",
8
+ "strict": true,
9
+ "noImplicitAny": true,
10
+ "esModuleInterop": true,
11
+ "skipLibCheck": true,
12
+ "forceConsistentCasingInFileNames": true,
13
+ "resolveJsonModule": true,
14
+ "baseUrl": "./",
15
+ "paths": { "*": ["types/*"] },
16
+ "types": ["node", "jest"]
17
+ },
18
+ "include": ["./index.ts"]
19
+ }
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.9.0](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.8.1...@proteinjs/util-node@1.9.0) (2026-06-24)
7
+
8
+
9
+ ### Features
10
+
11
+ * symlink-workspace links each package's transitive workspace-dep closure ([55a7c25](https://github.com/proteinjs/util/commit/55a7c2541f500bec4e12bb05454acadd6b4c4b66))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [1.8.1](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.8.0...@proteinjs/util-node@1.8.1) (2026-04-14)
7
18
 
8
19
 
@@ -101,9 +101,52 @@ export declare class PackageUtil {
101
101
  static getWorkspaceMetadata(workspacePath: string): Promise<WorkspaceMetadata>;
102
102
  /**
103
103
  * Symlink the dependencies of `localPackage` to other local packages in the workspace.
104
+ *
105
+ * This links the package's full TRANSITIVE closure of workspace dependencies,
106
+ * not just its directly-declared ones. A package's `package.json` only lists
107
+ * its direct deps, but those deps pull in workspace packages of their own
108
+ * (e.g. `flow-server` declares `@n3xah/space-server`, which itself depends on
109
+ * `@n3xah/space-common`). Node resolves a transitive dep like `space-common`
110
+ * out of the consumer's own `node_modules` first, so if we only symlinked
111
+ * direct deps, npm would satisfy `space-common` with a stale registry copy
112
+ * that lags the live workspace source — causing schema/version drift. By
113
+ * linking the whole closure, every workspace package a package can reach at
114
+ * runtime resolves to the live source tree.
115
+ *
104
116
  * @param localPackage package to symlink the dependencies of
105
117
  * @param localPackageMap `LocalPackageMap` of the workspace
106
- * @param logger optionally provide a logger to capture this method's logging
107
118
  */
108
119
  static symlinkDependencies(localPackage: LocalPackage, localPackageMap: LocalPackageMap): Promise<void>;
120
+ /**
121
+ * Compute the transitive closure of workspace dependencies for `localPackage`.
122
+ *
123
+ * Reuses `getPackageDependencyGraph`, which already crawls `dependencies` and
124
+ * `devDependencies` (transitively, across the whole workspace) and adds an
125
+ * edge `consumer -> dependency` for each. So the workspace deps reachable from
126
+ * a package are exactly the nodes reachable by following `successors` from its
127
+ * node. We do a cycle-safe traversal (a `visited` set), since the dependency
128
+ * graph can contain cycles. The package itself is excluded from the result.
129
+ *
130
+ * Only names present in `localPackageMap` are returned — i.e. packages that
131
+ * actually live in the workspace and can be symlinked (the graph already
132
+ * filters to file:/relative/workspace deps in `addDependencies`, but we filter
133
+ * again here so the result is exactly the set of linkable packages).
134
+ *
135
+ * @returns workspace package names this package transitively depends on
136
+ */
137
+ private static getTransitiveWorkspaceDependencies;
138
+ /**
139
+ * Symlink a single workspace package into `nodeModulesPath`, and create
140
+ * `node_modules/.bin/<name>` shims for any `bin` it declares.
141
+ *
142
+ * This is the per-dependency linking logic used by `symlinkDependencies` for
143
+ * each package in the transitive closure. The caller is responsible for
144
+ * deciding WHICH packages to link; this method just links the one named.
145
+ *
146
+ * @param dependencyPackageName name of the workspace package to link
147
+ * @param nodeModulesPath absolute path to the consumer's `node_modules`
148
+ * @param packageDir absolute path to the consumer package's directory (cwd for `ln`)
149
+ * @param localPackageMap `LocalPackageMap` of the workspace
150
+ */
151
+ private static symlinkPackage;
109
152
  }