@proteinjs/reflection-build 1.2.0 → 1.2.1

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 (295) 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 +59 -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 +13 -0
  47. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/Fs.d.ts +23 -0
  48. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/Fs.js +67 -0
  49. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/Fs.js.map +1 -1
  50. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/GitUtil.d.ts +297 -10
  51. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/GitUtil.js +349 -112
  52. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/GitUtil.js.map +1 -1
  53. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/cmd.d.ts +10 -1
  54. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/cmd.js +91 -48
  55. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/cmd.js.map +1 -1
  56. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/package.json +2 -2
  57. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/Fs.ts +75 -0
  58. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/GitUtil.ts +248 -110
  59. package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/cmd.ts +84 -59
  60. package/test/examples/source-repository/a/node_modules/bindings/LICENSE.md +22 -0
  61. package/test/examples/source-repository/a/node_modules/bindings/README.md +98 -0
  62. package/test/examples/source-repository/a/node_modules/bindings/bindings.js +221 -0
  63. package/test/examples/source-repository/a/node_modules/bindings/package.json +28 -0
  64. package/test/examples/source-repository/a/node_modules/file-uri-to-path/.travis.yml +30 -0
  65. package/test/examples/source-repository/a/node_modules/file-uri-to-path/History.md +21 -0
  66. package/test/examples/source-repository/a/node_modules/file-uri-to-path/LICENSE +20 -0
  67. package/test/examples/source-repository/a/node_modules/file-uri-to-path/README.md +74 -0
  68. package/test/examples/source-repository/a/node_modules/file-uri-to-path/index.d.ts +2 -0
  69. package/test/examples/source-repository/a/node_modules/file-uri-to-path/index.js +66 -0
  70. package/test/examples/source-repository/a/node_modules/file-uri-to-path/package.json +32 -0
  71. package/test/examples/source-repository/a/node_modules/file-uri-to-path/test/test.js +24 -0
  72. package/test/examples/source-repository/a/node_modules/file-uri-to-path/test/tests.json +13 -0
  73. package/test/examples/source-repository/a/node_modules/fsevents/LICENSE +22 -0
  74. package/test/examples/source-repository/a/node_modules/fsevents/README.md +89 -0
  75. package/test/examples/source-repository/a/node_modules/fsevents/fsevents.d.ts +46 -0
  76. package/test/examples/source-repository/a/node_modules/fsevents/fsevents.js +83 -0
  77. package/test/examples/source-repository/a/node_modules/fsevents/fsevents.node +0 -0
  78. package/test/examples/source-repository/a/node_modules/fsevents/package.json +62 -0
  79. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/.travis.yml +103 -0
  80. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/ISSUE_TEMPLATE.md +8 -0
  81. package/{LICENSE → test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/LICENSE} +6 -5
  82. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/Readme.md +78 -0
  83. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/binding.gyp +21 -0
  84. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/.target.mk +53 -0
  85. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Makefile +352 -0
  86. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Release/.deps/Release/.node.d +1 -0
  87. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Release/.deps/Release/obj.target/fse/fsevents.o.d.raw +75 -0
  88. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Release/.node +0 -0
  89. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/binding.Makefile +6 -0
  90. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/fse.target.mk +188 -0
  91. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/gyp-mac-tool +772 -0
  92. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/fsevents.cc +88 -0
  93. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/fsevents.js +106 -0
  94. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/install.js +13 -0
  95. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/package.json +34 -0
  96. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/async.cc +43 -0
  97. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/constants.cc +110 -0
  98. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/methods.cc +44 -0
  99. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/storage.cc +27 -0
  100. package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/src/thread.cc +71 -0
  101. package/test/examples/source-repository/a/node_modules/nan/CHANGELOG.md +557 -0
  102. package/test/examples/source-repository/a/node_modules/nan/CMakeLists.txt +138 -0
  103. package/test/examples/source-repository/a/node_modules/nan/LICENSE.md +9 -0
  104. package/test/examples/source-repository/a/node_modules/nan/README.md +456 -0
  105. package/test/examples/source-repository/a/node_modules/nan/doc/asyncworker.md +146 -0
  106. package/test/examples/source-repository/a/node_modules/nan/doc/buffers.md +54 -0
  107. package/test/examples/source-repository/a/node_modules/nan/doc/callback.md +76 -0
  108. package/test/examples/source-repository/a/node_modules/nan/doc/converters.md +41 -0
  109. package/test/examples/source-repository/a/node_modules/nan/doc/errors.md +226 -0
  110. package/test/examples/source-repository/a/node_modules/nan/doc/json.md +62 -0
  111. package/test/examples/source-repository/a/node_modules/nan/doc/maybe_types.md +583 -0
  112. package/test/examples/source-repository/a/node_modules/nan/doc/methods.md +672 -0
  113. package/test/examples/source-repository/a/node_modules/nan/doc/new.md +147 -0
  114. package/test/examples/source-repository/a/node_modules/nan/doc/node_misc.md +123 -0
  115. package/test/examples/source-repository/a/node_modules/nan/doc/object_wrappers.md +263 -0
  116. package/test/examples/source-repository/a/node_modules/nan/doc/persistent.md +296 -0
  117. package/test/examples/source-repository/a/node_modules/nan/doc/scopes.md +73 -0
  118. package/test/examples/source-repository/a/node_modules/nan/doc/script.md +58 -0
  119. package/test/examples/source-repository/a/node_modules/nan/doc/string_bytes.md +62 -0
  120. package/test/examples/source-repository/a/node_modules/nan/doc/v8_internals.md +199 -0
  121. package/test/examples/source-repository/a/node_modules/nan/doc/v8_misc.md +85 -0
  122. package/test/examples/source-repository/a/node_modules/nan/include_dirs.js +1 -0
  123. package/test/examples/source-repository/a/node_modules/nan/nan.h +2958 -0
  124. package/test/examples/source-repository/a/node_modules/nan/nan_callbacks.h +92 -0
  125. package/test/examples/source-repository/a/node_modules/nan/nan_callbacks_12_inl.h +520 -0
  126. package/test/examples/source-repository/a/node_modules/nan/nan_callbacks_pre_12_inl.h +520 -0
  127. package/test/examples/source-repository/a/node_modules/nan/nan_converters.h +72 -0
  128. package/test/examples/source-repository/a/node_modules/nan/nan_converters_43_inl.h +68 -0
  129. package/test/examples/source-repository/a/node_modules/nan/nan_converters_pre_43_inl.h +42 -0
  130. package/test/examples/source-repository/a/node_modules/nan/nan_define_own_property_helper.h +29 -0
  131. package/test/examples/source-repository/a/node_modules/nan/nan_implementation_12_inl.h +430 -0
  132. package/test/examples/source-repository/a/node_modules/nan/nan_implementation_pre_12_inl.h +263 -0
  133. package/test/examples/source-repository/a/node_modules/nan/nan_json.h +166 -0
  134. package/test/examples/source-repository/a/node_modules/nan/nan_maybe_43_inl.h +356 -0
  135. package/test/examples/source-repository/a/node_modules/nan/nan_maybe_pre_43_inl.h +268 -0
  136. package/test/examples/source-repository/a/node_modules/nan/nan_new.h +340 -0
  137. package/test/examples/source-repository/a/node_modules/nan/nan_object_wrap.h +156 -0
  138. package/test/examples/source-repository/a/node_modules/nan/nan_persistent_12_inl.h +132 -0
  139. package/test/examples/source-repository/a/node_modules/nan/nan_persistent_pre_12_inl.h +242 -0
  140. package/test/examples/source-repository/a/node_modules/nan/nan_private.h +73 -0
  141. package/test/examples/source-repository/a/node_modules/nan/nan_scriptorigin.h +76 -0
  142. package/test/examples/source-repository/a/node_modules/nan/nan_string_bytes.h +305 -0
  143. package/test/examples/source-repository/a/node_modules/nan/nan_typedarray_contents.h +96 -0
  144. package/test/examples/source-repository/a/node_modules/nan/nan_weak.h +437 -0
  145. package/test/examples/source-repository/a/node_modules/nan/package.json +38 -0
  146. package/test/examples/source-repository/a/node_modules/nan/tools/1to2.js +412 -0
  147. package/test/examples/source-repository/a/node_modules/nan/tools/README.md +14 -0
  148. package/test/examples/source-repository/a/node_modules/nan/tools/package.json +19 -0
  149. package/test/examples/source-repository/a/package-lock.json +8 -8
  150. package/test/examples/source-repository/a/package.json +3 -3
  151. package/test/examples/source-repository/b/dist/generated/index.js +1 -1
  152. package/test/examples/source-repository/b/dist/generated/index.js.map +1 -1
  153. package/test/examples/source-repository/b/generated/index.ts +11 -10
  154. package/test/examples/source-repository/b/node_modules/.package-lock.json +57 -4
  155. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/.eslintrc.js +20 -0
  156. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/.prettierignore +4 -0
  157. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/.prettierrc +8 -0
  158. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/CHANGELOG.md +58 -0
  159. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/index.d.ts +5 -0
  160. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/index.js +18 -0
  161. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/index.js.map +1 -0
  162. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.d.ts +19 -0
  163. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.js +555 -0
  164. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/FlattenedSourceGraph.js.map +1 -0
  165. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/Loadable.d.ts +3 -0
  166. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/Loadable.js +5 -0
  167. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/Loadable.js.map +1 -0
  168. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepository.d.ts +45 -0
  169. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepository.js +176 -0
  170. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepository.js.map +1 -0
  171. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.d.ts +11 -0
  172. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.js +9 -0
  173. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/SourceRepositoryFilter.js.map +1 -0
  174. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.d.ts +13 -0
  175. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.js +19 -0
  176. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/sourceGraphTypes.js.map +1 -0
  177. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/types.d.ts +221 -0
  178. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/types.js +234 -0
  179. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/dist/src/types.js.map +1 -0
  180. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/index.ts +5 -0
  181. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/jest.config.js +9 -0
  182. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/package.json +42 -0
  183. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/FlattenedSourceGraph.ts +702 -0
  184. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/Loadable.ts +2 -0
  185. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/SourceRepository.ts +250 -0
  186. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/SourceRepositoryFilter.ts +15 -0
  187. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/sourceGraphTypes.ts +14 -0
  188. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/src/types.ts +236 -0
  189. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/tsconfig.json +19 -0
  190. package/test/examples/source-repository/b/node_modules/@proteinjs/reflection/types/@dagrejs/graphlib.d.ts +1 -0
  191. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/CHANGELOG.md +13 -0
  192. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.d.ts +23 -0
  193. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.js +67 -0
  194. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/Fs.js.map +1 -1
  195. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/GitUtil.d.ts +297 -10
  196. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/GitUtil.js +349 -112
  197. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/GitUtil.js.map +1 -1
  198. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/cmd.d.ts +10 -1
  199. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/cmd.js +91 -48
  200. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/cmd.js.map +1 -1
  201. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/package.json +2 -2
  202. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/Fs.ts +75 -0
  203. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/GitUtil.ts +248 -110
  204. package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/cmd.ts +84 -59
  205. package/test/examples/source-repository/b/node_modules/bindings/LICENSE.md +22 -0
  206. package/test/examples/source-repository/b/node_modules/bindings/README.md +98 -0
  207. package/test/examples/source-repository/b/node_modules/bindings/bindings.js +221 -0
  208. package/test/examples/source-repository/b/node_modules/bindings/package.json +28 -0
  209. package/test/examples/source-repository/b/node_modules/file-uri-to-path/.travis.yml +30 -0
  210. package/test/examples/source-repository/b/node_modules/file-uri-to-path/History.md +21 -0
  211. package/test/examples/source-repository/b/node_modules/file-uri-to-path/LICENSE +20 -0
  212. package/test/examples/source-repository/b/node_modules/file-uri-to-path/README.md +74 -0
  213. package/test/examples/source-repository/b/node_modules/file-uri-to-path/index.d.ts +2 -0
  214. package/test/examples/source-repository/b/node_modules/file-uri-to-path/index.js +66 -0
  215. package/test/examples/source-repository/b/node_modules/file-uri-to-path/package.json +32 -0
  216. package/test/examples/source-repository/b/node_modules/file-uri-to-path/test/test.js +24 -0
  217. package/test/examples/source-repository/b/node_modules/file-uri-to-path/test/tests.json +13 -0
  218. package/test/examples/source-repository/b/node_modules/fsevents/LICENSE +22 -0
  219. package/test/examples/source-repository/b/node_modules/fsevents/README.md +89 -0
  220. package/test/examples/source-repository/b/node_modules/fsevents/fsevents.d.ts +46 -0
  221. package/test/examples/source-repository/b/node_modules/fsevents/fsevents.js +83 -0
  222. package/test/examples/source-repository/b/node_modules/fsevents/fsevents.node +0 -0
  223. package/test/examples/source-repository/b/node_modules/fsevents/package.json +62 -0
  224. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/.travis.yml +103 -0
  225. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/ISSUE_TEMPLATE.md +8 -0
  226. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/LICENSE +22 -0
  227. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/Readme.md +78 -0
  228. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/binding.gyp +21 -0
  229. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/.target.mk +53 -0
  230. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Makefile +352 -0
  231. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Release/.deps/Release/.node.d +1 -0
  232. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Release/.deps/Release/obj.target/fse/fsevents.o.d.raw +75 -0
  233. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Release/.node +0 -0
  234. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/binding.Makefile +6 -0
  235. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/fse.target.mk +188 -0
  236. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/gyp-mac-tool +772 -0
  237. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/fsevents.cc +88 -0
  238. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/fsevents.js +106 -0
  239. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/install.js +13 -0
  240. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/package.json +34 -0
  241. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/async.cc +43 -0
  242. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/constants.cc +110 -0
  243. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/methods.cc +44 -0
  244. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/storage.cc +27 -0
  245. package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/src/thread.cc +71 -0
  246. package/test/examples/source-repository/b/node_modules/nan/CHANGELOG.md +557 -0
  247. package/test/examples/source-repository/b/node_modules/nan/CMakeLists.txt +138 -0
  248. package/test/examples/source-repository/b/node_modules/nan/LICENSE.md +9 -0
  249. package/test/examples/source-repository/b/node_modules/nan/README.md +456 -0
  250. package/test/examples/source-repository/b/node_modules/nan/doc/asyncworker.md +146 -0
  251. package/test/examples/source-repository/b/node_modules/nan/doc/buffers.md +54 -0
  252. package/test/examples/source-repository/b/node_modules/nan/doc/callback.md +76 -0
  253. package/test/examples/source-repository/b/node_modules/nan/doc/converters.md +41 -0
  254. package/test/examples/source-repository/b/node_modules/nan/doc/errors.md +226 -0
  255. package/test/examples/source-repository/b/node_modules/nan/doc/json.md +62 -0
  256. package/test/examples/source-repository/b/node_modules/nan/doc/maybe_types.md +583 -0
  257. package/test/examples/source-repository/b/node_modules/nan/doc/methods.md +672 -0
  258. package/test/examples/source-repository/b/node_modules/nan/doc/new.md +147 -0
  259. package/test/examples/source-repository/b/node_modules/nan/doc/node_misc.md +123 -0
  260. package/test/examples/source-repository/b/node_modules/nan/doc/object_wrappers.md +263 -0
  261. package/test/examples/source-repository/b/node_modules/nan/doc/persistent.md +296 -0
  262. package/test/examples/source-repository/b/node_modules/nan/doc/scopes.md +73 -0
  263. package/test/examples/source-repository/b/node_modules/nan/doc/script.md +58 -0
  264. package/test/examples/source-repository/b/node_modules/nan/doc/string_bytes.md +62 -0
  265. package/test/examples/source-repository/b/node_modules/nan/doc/v8_internals.md +199 -0
  266. package/test/examples/source-repository/b/node_modules/nan/doc/v8_misc.md +85 -0
  267. package/test/examples/source-repository/b/node_modules/nan/include_dirs.js +1 -0
  268. package/test/examples/source-repository/b/node_modules/nan/nan.h +2958 -0
  269. package/test/examples/source-repository/b/node_modules/nan/nan_callbacks.h +92 -0
  270. package/test/examples/source-repository/b/node_modules/nan/nan_callbacks_12_inl.h +520 -0
  271. package/test/examples/source-repository/b/node_modules/nan/nan_callbacks_pre_12_inl.h +520 -0
  272. package/test/examples/source-repository/b/node_modules/nan/nan_converters.h +72 -0
  273. package/test/examples/source-repository/b/node_modules/nan/nan_converters_43_inl.h +68 -0
  274. package/test/examples/source-repository/b/node_modules/nan/nan_converters_pre_43_inl.h +42 -0
  275. package/test/examples/source-repository/b/node_modules/nan/nan_define_own_property_helper.h +29 -0
  276. package/test/examples/source-repository/b/node_modules/nan/nan_implementation_12_inl.h +430 -0
  277. package/test/examples/source-repository/b/node_modules/nan/nan_implementation_pre_12_inl.h +263 -0
  278. package/test/examples/source-repository/b/node_modules/nan/nan_json.h +166 -0
  279. package/test/examples/source-repository/b/node_modules/nan/nan_maybe_43_inl.h +356 -0
  280. package/test/examples/source-repository/b/node_modules/nan/nan_maybe_pre_43_inl.h +268 -0
  281. package/test/examples/source-repository/b/node_modules/nan/nan_new.h +340 -0
  282. package/test/examples/source-repository/b/node_modules/nan/nan_object_wrap.h +156 -0
  283. package/test/examples/source-repository/b/node_modules/nan/nan_persistent_12_inl.h +132 -0
  284. package/test/examples/source-repository/b/node_modules/nan/nan_persistent_pre_12_inl.h +242 -0
  285. package/test/examples/source-repository/b/node_modules/nan/nan_private.h +73 -0
  286. package/test/examples/source-repository/b/node_modules/nan/nan_scriptorigin.h +76 -0
  287. package/test/examples/source-repository/b/node_modules/nan/nan_string_bytes.h +305 -0
  288. package/test/examples/source-repository/b/node_modules/nan/nan_typedarray_contents.h +96 -0
  289. package/test/examples/source-repository/b/node_modules/nan/nan_weak.h +437 -0
  290. package/test/examples/source-repository/b/node_modules/nan/package.json +38 -0
  291. package/test/examples/source-repository/b/node_modules/nan/tools/1to2.js +412 -0
  292. package/test/examples/source-repository/b/node_modules/nan/tools/README.md +14 -0
  293. package/test/examples/source-repository/b/node_modules/nan/tools/package.json +19 -0
  294. package/test/examples/source-repository/b/package-lock.json +6 -6
  295. 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,19 @@
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.5.0](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.4.2...@proteinjs/util-node@1.5.0) (2025-10-14)
7
+
8
+
9
+ ### Features
10
+
11
+ * `cmd` return `CmdResult` to be able to programmatically access log output and exit code. ([7dad1a1](https://github.com/proteinjs/util/commit/7dad1a158d692dab502d112b4beb0e3662a1cc70))
12
+ * Added `Fs.grep` ([0c6b07f](https://github.com/proteinjs/util/commit/0c6b07f549122de8cc6e33ddd2480cdf38f531a3))
13
+ * Added various git commands ([5adbfd7](https://github.com/proteinjs/util/commit/5adbfd7a05a10af3fde0949dd5c8eed02a9da571))
14
+
15
+
16
+
17
+
18
+
6
19
  ## [1.4.2](https://github.com/proteinjs/util/compare/@proteinjs/util-node@1.4.1...@proteinjs/util-node@1.4.2) (2025-04-11)
7
20
 
8
21
  **Note:** Version bump only for package @proteinjs/util-node
@@ -11,6 +11,11 @@ export interface FileDescriptor {
11
11
  path: string;
12
12
  projectRelativePath: string;
13
13
  }
14
+ export type GrepMatch = {
15
+ path: string;
16
+ line: number;
17
+ excerpt: string;
18
+ };
14
19
  export declare class Fs {
15
20
  static exists(path: string): Promise<boolean>;
16
21
  static createFolder(path: string): Promise<void>;
@@ -27,4 +32,22 @@ export declare class Fs {
27
32
  static rename(oldPath: string, newName: string): Promise<void>;
28
33
  static copy(sourcePath: string, destinationPath: string): Promise<void>;
29
34
  static move(sourcePath: string, destinationPath: string): Promise<void>;
35
+ /**
36
+ * Minimal, robust grep wrapper.
37
+ * - Literal search (-F) to avoid regex surprises like "parentheses not balanced"
38
+ * - Recursive (-R), show file and line (-nH), no color, ignore binary (-I)
39
+ * - Excludes heavy dirs: node_modules, dist, .git, generated, protein
40
+ * - Optional maxColumns (default 500) truncates each output line via `cut -c1-N`
41
+ * - Returns { code, stdout, stderr } without throwing on non-zero exit codes.
42
+ */
43
+ static grep(params: {
44
+ pattern: string;
45
+ dir?: string;
46
+ maxResults?: number;
47
+ maxColumns?: number;
48
+ }): Promise<{
49
+ code: number;
50
+ stdout: string;
51
+ stderr: string;
52
+ }>;
30
53
  }
@@ -53,6 +53,7 @@ var path_1 = __importDefault(require("path"));
53
53
  var fs_extra_1 = __importDefault(require("fs-extra"));
54
54
  var promises_1 = __importDefault(require("fs/promises"));
55
55
  var globby_1 = __importDefault(require("globby"));
56
+ var cmd_1 = require("./cmd");
56
57
  var Fs = /** @class */ (function () {
57
58
  function Fs() {
58
59
  }
@@ -295,6 +296,72 @@ var Fs = /** @class */ (function () {
295
296
  });
296
297
  });
297
298
  };
299
+ /**
300
+ * Minimal, robust grep wrapper.
301
+ * - Literal search (-F) to avoid regex surprises like "parentheses not balanced"
302
+ * - Recursive (-R), show file and line (-nH), no color, ignore binary (-I)
303
+ * - Excludes heavy dirs: node_modules, dist, .git, generated, protein
304
+ * - Optional maxColumns (default 500) truncates each output line via `cut -c1-N`
305
+ * - Returns { code, stdout, stderr } without throwing on non-zero exit codes.
306
+ */
307
+ Fs.grep = function (params) {
308
+ return __awaiter(this, void 0, void 0, function () {
309
+ var _a, pattern, dir, maxResults, maxColumns, cwd, args, shEscape, cols, grepCmd, pipeline, res, res, e_1, code, stdout, stderr;
310
+ return __generator(this, function (_b) {
311
+ switch (_b.label) {
312
+ case 0:
313
+ _a = params || {}, pattern = _a.pattern, dir = _a.dir, maxResults = _a.maxResults, maxColumns = _a.maxColumns;
314
+ if (!pattern || typeof pattern !== 'string') {
315
+ throw new Error('Fs.grep: "pattern" (string) is required.');
316
+ }
317
+ cwd = dir || process.cwd();
318
+ args = [
319
+ '-R',
320
+ '-n',
321
+ '-H',
322
+ '-I',
323
+ '--color=never',
324
+ '-F',
325
+ '--exclude-dir=node_modules',
326
+ '--exclude-dir=dist',
327
+ '--exclude-dir=.git',
328
+ '--exclude-dir=generated',
329
+ '--exclude-dir=protein',
330
+ '--exclude=CHANGELOG.md',
331
+ ];
332
+ if (typeof maxResults === 'number' && maxResults > 0) {
333
+ args.push('-m', String(maxResults));
334
+ }
335
+ // Use -e to ensure the pattern is treated as a single argument
336
+ args.push('-e', pattern, '.');
337
+ shEscape = function (s) { return "'".concat(String(s).replace(/'/g, "'\\''"), "'"); };
338
+ cols = typeof maxColumns === 'number' ? maxColumns : 500;
339
+ _b.label = 1;
340
+ case 1:
341
+ _b.trys.push([1, 6, , 7]);
342
+ if (!(cols > 0)) return [3 /*break*/, 3];
343
+ grepCmd = __spreadArray(['grep'], args, true).map(shEscape).join(' ');
344
+ pipeline = "set -o pipefail; ".concat(grepCmd, " | cut -c1-").concat(cols);
345
+ return [4 /*yield*/, (0, cmd_1.cmd)('bash', ['-lc', pipeline], { cwd: cwd })];
346
+ case 2:
347
+ res = _b.sent();
348
+ return [2 /*return*/, res]; // { code: 0, stdout, stderr: '' } on success
349
+ case 3: return [4 /*yield*/, (0, cmd_1.cmd)('grep', args, { cwd: cwd })];
350
+ case 4:
351
+ res = _b.sent();
352
+ return [2 /*return*/, res];
353
+ case 5: return [3 /*break*/, 7];
354
+ case 6:
355
+ e_1 = _b.sent();
356
+ code = typeof (e_1 === null || e_1 === void 0 ? void 0 : e_1.code) === 'number' ? e_1.code : -1;
357
+ stdout = typeof (e_1 === null || e_1 === void 0 ? void 0 : e_1.stdout) === 'string' ? e_1.stdout : '';
358
+ stderr = typeof (e_1 === null || e_1 === void 0 ? void 0 : e_1.stderr) === 'string' ? e_1.stderr : String(e_1);
359
+ return [2 /*return*/, { code: code, stdout: stdout, stderr: stderr }];
360
+ case 7: return [2 /*return*/];
361
+ }
362
+ });
363
+ });
364
+ };
298
365
  return Fs;
299
366
  }());
300
367
  exports.Fs = Fs;