driftdetect-core 0.4.6 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/dist/call-graph/extractors/csharp-data-access-extractor.d.ts +8 -0
  2. package/dist/call-graph/extractors/csharp-data-access-extractor.d.ts.map +1 -1
  3. package/dist/call-graph/extractors/csharp-data-access-extractor.js +8 -0
  4. package/dist/call-graph/extractors/csharp-data-access-extractor.js.map +1 -1
  5. package/dist/call-graph/extractors/csharp-extractor.d.ts +35 -0
  6. package/dist/call-graph/extractors/csharp-extractor.d.ts.map +1 -1
  7. package/dist/call-graph/extractors/csharp-extractor.js +362 -4
  8. package/dist/call-graph/extractors/csharp-extractor.js.map +1 -1
  9. package/dist/call-graph/extractors/csharp-hybrid-extractor.d.ts +37 -0
  10. package/dist/call-graph/extractors/csharp-hybrid-extractor.d.ts.map +1 -0
  11. package/dist/call-graph/extractors/csharp-hybrid-extractor.js +408 -0
  12. package/dist/call-graph/extractors/csharp-hybrid-extractor.js.map +1 -0
  13. package/dist/call-graph/extractors/hybrid-extractor-base.d.ts +102 -0
  14. package/dist/call-graph/extractors/hybrid-extractor-base.d.ts.map +1 -0
  15. package/dist/call-graph/extractors/hybrid-extractor-base.js +289 -0
  16. package/dist/call-graph/extractors/hybrid-extractor-base.js.map +1 -0
  17. package/dist/call-graph/extractors/index.d.ts +17 -13
  18. package/dist/call-graph/extractors/index.d.ts.map +1 -1
  19. package/dist/call-graph/extractors/index.js +24 -23
  20. package/dist/call-graph/extractors/index.js.map +1 -1
  21. package/dist/call-graph/extractors/java-data-access-extractor.d.ts +8 -0
  22. package/dist/call-graph/extractors/java-data-access-extractor.d.ts.map +1 -1
  23. package/dist/call-graph/extractors/java-data-access-extractor.js +8 -0
  24. package/dist/call-graph/extractors/java-data-access-extractor.js.map +1 -1
  25. package/dist/call-graph/extractors/java-extractor.d.ts +15 -0
  26. package/dist/call-graph/extractors/java-extractor.d.ts.map +1 -1
  27. package/dist/call-graph/extractors/java-extractor.js +120 -4
  28. package/dist/call-graph/extractors/java-extractor.js.map +1 -1
  29. package/dist/call-graph/extractors/java-hybrid-extractor.d.ts +36 -0
  30. package/dist/call-graph/extractors/java-hybrid-extractor.d.ts.map +1 -0
  31. package/dist/call-graph/extractors/java-hybrid-extractor.js +426 -0
  32. package/dist/call-graph/extractors/java-hybrid-extractor.js.map +1 -0
  33. package/dist/call-graph/extractors/php-data-access-extractor.d.ts +8 -0
  34. package/dist/call-graph/extractors/php-data-access-extractor.d.ts.map +1 -1
  35. package/dist/call-graph/extractors/php-data-access-extractor.js +8 -0
  36. package/dist/call-graph/extractors/php-data-access-extractor.js.map +1 -1
  37. package/dist/call-graph/extractors/php-extractor.d.ts +48 -1
  38. package/dist/call-graph/extractors/php-extractor.d.ts.map +1 -1
  39. package/dist/call-graph/extractors/php-extractor.js +460 -6
  40. package/dist/call-graph/extractors/php-extractor.js.map +1 -1
  41. package/dist/call-graph/extractors/php-hybrid-extractor.d.ts +35 -0
  42. package/dist/call-graph/extractors/php-hybrid-extractor.d.ts.map +1 -0
  43. package/dist/call-graph/extractors/php-hybrid-extractor.js +393 -0
  44. package/dist/call-graph/extractors/php-hybrid-extractor.js.map +1 -0
  45. package/dist/call-graph/extractors/python-data-access-extractor.d.ts +8 -0
  46. package/dist/call-graph/extractors/python-data-access-extractor.d.ts.map +1 -1
  47. package/dist/call-graph/extractors/python-data-access-extractor.js +8 -0
  48. package/dist/call-graph/extractors/python-data-access-extractor.js.map +1 -1
  49. package/dist/call-graph/extractors/python-hybrid-extractor.d.ts +85 -0
  50. package/dist/call-graph/extractors/python-hybrid-extractor.d.ts.map +1 -0
  51. package/dist/call-graph/extractors/python-hybrid-extractor.js +462 -0
  52. package/dist/call-graph/extractors/python-hybrid-extractor.js.map +1 -0
  53. package/dist/call-graph/extractors/regex/base-regex-extractor.d.ts +154 -0
  54. package/dist/call-graph/extractors/regex/base-regex-extractor.d.ts.map +1 -0
  55. package/dist/call-graph/extractors/regex/base-regex-extractor.js +346 -0
  56. package/dist/call-graph/extractors/regex/base-regex-extractor.js.map +1 -0
  57. package/dist/call-graph/extractors/regex/csharp-regex.d.ts +34 -0
  58. package/dist/call-graph/extractors/regex/csharp-regex.d.ts.map +1 -0
  59. package/dist/call-graph/extractors/regex/csharp-regex.js +393 -0
  60. package/dist/call-graph/extractors/regex/csharp-regex.js.map +1 -0
  61. package/dist/call-graph/extractors/regex/index.d.ts +25 -0
  62. package/dist/call-graph/extractors/regex/index.d.ts.map +1 -0
  63. package/dist/call-graph/extractors/regex/index.js +66 -0
  64. package/dist/call-graph/extractors/regex/index.js.map +1 -0
  65. package/dist/call-graph/extractors/regex/java-regex.d.ts +34 -0
  66. package/dist/call-graph/extractors/regex/java-regex.d.ts.map +1 -0
  67. package/dist/call-graph/extractors/regex/java-regex.js +327 -0
  68. package/dist/call-graph/extractors/regex/java-regex.js.map +1 -0
  69. package/dist/call-graph/extractors/regex/php-regex.d.ts +30 -0
  70. package/dist/call-graph/extractors/regex/php-regex.d.ts.map +1 -0
  71. package/dist/call-graph/extractors/regex/php-regex.js +333 -0
  72. package/dist/call-graph/extractors/regex/php-regex.js.map +1 -0
  73. package/dist/call-graph/extractors/regex/python-regex.d.ts +46 -0
  74. package/dist/call-graph/extractors/regex/python-regex.d.ts.map +1 -0
  75. package/dist/call-graph/extractors/regex/python-regex.js +380 -0
  76. package/dist/call-graph/extractors/regex/python-regex.js.map +1 -0
  77. package/dist/call-graph/extractors/regex/typescript-regex.d.ts +27 -0
  78. package/dist/call-graph/extractors/regex/typescript-regex.d.ts.map +1 -0
  79. package/dist/call-graph/extractors/regex/typescript-regex.js +349 -0
  80. package/dist/call-graph/extractors/regex/typescript-regex.js.map +1 -0
  81. package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts +7 -0
  82. package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts.map +1 -1
  83. package/dist/call-graph/extractors/semantic-data-access-scanner.js +7 -0
  84. package/dist/call-graph/extractors/semantic-data-access-scanner.js.map +1 -1
  85. package/dist/call-graph/extractors/types.d.ts +111 -0
  86. package/dist/call-graph/extractors/types.d.ts.map +1 -0
  87. package/dist/call-graph/extractors/types.js +68 -0
  88. package/dist/call-graph/extractors/types.js.map +1 -0
  89. package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts +8 -0
  90. package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts.map +1 -1
  91. package/dist/call-graph/extractors/typescript-data-access-extractor.js +8 -0
  92. package/dist/call-graph/extractors/typescript-data-access-extractor.js.map +1 -1
  93. package/dist/call-graph/extractors/typescript-hybrid-extractor.d.ts +116 -0
  94. package/dist/call-graph/extractors/typescript-hybrid-extractor.d.ts.map +1 -0
  95. package/dist/call-graph/extractors/typescript-hybrid-extractor.js +635 -0
  96. package/dist/call-graph/extractors/typescript-hybrid-extractor.js.map +1 -0
  97. package/dist/error-handling/error-handling-analyzer.d.ts +73 -0
  98. package/dist/error-handling/error-handling-analyzer.d.ts.map +1 -0
  99. package/dist/error-handling/error-handling-analyzer.js +706 -0
  100. package/dist/error-handling/error-handling-analyzer.js.map +1 -0
  101. package/dist/error-handling/index.d.ts +8 -0
  102. package/dist/error-handling/index.d.ts.map +1 -0
  103. package/dist/error-handling/index.js +8 -0
  104. package/dist/error-handling/index.js.map +1 -0
  105. package/dist/error-handling/types.d.ts +307 -0
  106. package/dist/error-handling/types.d.ts.map +1 -0
  107. package/dist/error-handling/types.js +7 -0
  108. package/dist/error-handling/types.js.map +1 -0
  109. package/dist/index.d.ts +14 -0
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +29 -0
  112. package/dist/index.js.map +1 -1
  113. package/dist/lake/pattern-shard-store.d.ts +6 -0
  114. package/dist/lake/pattern-shard-store.d.ts.map +1 -1
  115. package/dist/lake/pattern-shard-store.js +6 -0
  116. package/dist/lake/pattern-shard-store.js.map +1 -1
  117. package/dist/module-coupling/coupling-analyzer.d.ts +73 -0
  118. package/dist/module-coupling/coupling-analyzer.d.ts.map +1 -0
  119. package/dist/module-coupling/coupling-analyzer.js +668 -0
  120. package/dist/module-coupling/coupling-analyzer.js.map +1 -0
  121. package/dist/module-coupling/index.d.ts +9 -0
  122. package/dist/module-coupling/index.d.ts.map +1 -0
  123. package/dist/module-coupling/index.js +9 -0
  124. package/dist/module-coupling/index.js.map +1 -0
  125. package/dist/module-coupling/types.d.ts +273 -0
  126. package/dist/module-coupling/types.d.ts.map +1 -0
  127. package/dist/module-coupling/types.js +8 -0
  128. package/dist/module-coupling/types.js.map +1 -0
  129. package/dist/patterns/adapters/index.d.ts +11 -0
  130. package/dist/patterns/adapters/index.d.ts.map +1 -0
  131. package/dist/patterns/adapters/index.js +11 -0
  132. package/dist/patterns/adapters/index.js.map +1 -0
  133. package/dist/patterns/adapters/pattern-store-adapter.d.ts +59 -0
  134. package/dist/patterns/adapters/pattern-store-adapter.d.ts.map +1 -0
  135. package/dist/patterns/adapters/pattern-store-adapter.js +468 -0
  136. package/dist/patterns/adapters/pattern-store-adapter.js.map +1 -0
  137. package/dist/patterns/adapters/service-factory.d.ts +40 -0
  138. package/dist/patterns/adapters/service-factory.d.ts.map +1 -0
  139. package/dist/patterns/adapters/service-factory.js +144 -0
  140. package/dist/patterns/adapters/service-factory.js.map +1 -0
  141. package/dist/patterns/errors.d.ts +32 -0
  142. package/dist/patterns/errors.d.ts.map +1 -0
  143. package/dist/patterns/errors.js +45 -0
  144. package/dist/patterns/errors.js.map +1 -0
  145. package/dist/patterns/impl/cached-repository.d.ts +79 -0
  146. package/dist/patterns/impl/cached-repository.d.ts.map +1 -0
  147. package/dist/patterns/impl/cached-repository.js +296 -0
  148. package/dist/patterns/impl/cached-repository.js.map +1 -0
  149. package/dist/patterns/impl/file-repository.d.ts +75 -0
  150. package/dist/patterns/impl/file-repository.d.ts.map +1 -0
  151. package/dist/patterns/impl/file-repository.js +507 -0
  152. package/dist/patterns/impl/file-repository.js.map +1 -0
  153. package/dist/patterns/impl/index.d.ts +16 -0
  154. package/dist/patterns/impl/index.d.ts.map +1 -0
  155. package/dist/patterns/impl/index.js +21 -0
  156. package/dist/patterns/impl/index.js.map +1 -0
  157. package/dist/patterns/impl/memory-repository.d.ts +56 -0
  158. package/dist/patterns/impl/memory-repository.d.ts.map +1 -0
  159. package/dist/patterns/impl/memory-repository.js +323 -0
  160. package/dist/patterns/impl/memory-repository.js.map +1 -0
  161. package/dist/patterns/impl/pattern-service.d.ts +52 -0
  162. package/dist/patterns/impl/pattern-service.d.ts.map +1 -0
  163. package/dist/patterns/impl/pattern-service.js +382 -0
  164. package/dist/patterns/impl/pattern-service.js.map +1 -0
  165. package/dist/patterns/impl/repository-factory.d.ts +44 -0
  166. package/dist/patterns/impl/repository-factory.d.ts.map +1 -0
  167. package/dist/patterns/impl/repository-factory.js +140 -0
  168. package/dist/patterns/impl/repository-factory.js.map +1 -0
  169. package/dist/patterns/impl/unified-file-repository.d.ts +111 -0
  170. package/dist/patterns/impl/unified-file-repository.d.ts.map +1 -0
  171. package/dist/patterns/impl/unified-file-repository.js +677 -0
  172. package/dist/patterns/impl/unified-file-repository.js.map +1 -0
  173. package/dist/patterns/index.d.ts +23 -0
  174. package/dist/patterns/index.d.ts.map +1 -0
  175. package/dist/patterns/index.js +41 -0
  176. package/dist/patterns/index.js.map +1 -0
  177. package/dist/patterns/repository.d.ts +241 -0
  178. package/dist/patterns/repository.d.ts.map +1 -0
  179. package/dist/patterns/repository.js +23 -0
  180. package/dist/patterns/repository.js.map +1 -0
  181. package/dist/patterns/service.d.ts +245 -0
  182. package/dist/patterns/service.d.ts.map +1 -0
  183. package/dist/patterns/service.js +25 -0
  184. package/dist/patterns/service.js.map +1 -0
  185. package/dist/patterns/types.d.ts +227 -0
  186. package/dist/patterns/types.d.ts.map +1 -0
  187. package/dist/patterns/types.js +117 -0
  188. package/dist/patterns/types.js.map +1 -0
  189. package/dist/store/pattern-store.d.ts +6 -0
  190. package/dist/store/pattern-store.d.ts.map +1 -1
  191. package/dist/store/pattern-store.js +6 -0
  192. package/dist/store/pattern-store.js.map +1 -1
  193. package/dist/test-topology/extractors/base-test-extractor.d.ts +89 -0
  194. package/dist/test-topology/extractors/base-test-extractor.d.ts.map +1 -0
  195. package/dist/test-topology/extractors/base-test-extractor.js +187 -0
  196. package/dist/test-topology/extractors/base-test-extractor.js.map +1 -0
  197. package/dist/test-topology/extractors/csharp-test-extractor.d.ts +23 -0
  198. package/dist/test-topology/extractors/csharp-test-extractor.d.ts.map +1 -0
  199. package/dist/test-topology/extractors/csharp-test-extractor.js +367 -0
  200. package/dist/test-topology/extractors/csharp-test-extractor.js.map +1 -0
  201. package/dist/test-topology/extractors/index.d.ts +12 -0
  202. package/dist/test-topology/extractors/index.d.ts.map +1 -0
  203. package/dist/test-topology/extractors/index.js +12 -0
  204. package/dist/test-topology/extractors/index.js.map +1 -0
  205. package/dist/test-topology/extractors/java-test-extractor.d.ts +20 -0
  206. package/dist/test-topology/extractors/java-test-extractor.d.ts.map +1 -0
  207. package/dist/test-topology/extractors/java-test-extractor.js +275 -0
  208. package/dist/test-topology/extractors/java-test-extractor.js.map +1 -0
  209. package/dist/test-topology/extractors/php-test-extractor.d.ts +24 -0
  210. package/dist/test-topology/extractors/php-test-extractor.d.ts.map +1 -0
  211. package/dist/test-topology/extractors/php-test-extractor.js +409 -0
  212. package/dist/test-topology/extractors/php-test-extractor.js.map +1 -0
  213. package/dist/test-topology/extractors/python-test-extractor.d.ts +23 -0
  214. package/dist/test-topology/extractors/python-test-extractor.d.ts.map +1 -0
  215. package/dist/test-topology/extractors/python-test-extractor.js +342 -0
  216. package/dist/test-topology/extractors/python-test-extractor.js.map +1 -0
  217. package/dist/test-topology/extractors/regex/csharp-test-regex.d.ts +51 -0
  218. package/dist/test-topology/extractors/regex/csharp-test-regex.d.ts.map +1 -0
  219. package/dist/test-topology/extractors/regex/csharp-test-regex.js +383 -0
  220. package/dist/test-topology/extractors/regex/csharp-test-regex.js.map +1 -0
  221. package/dist/test-topology/extractors/regex/index.d.ts +18 -0
  222. package/dist/test-topology/extractors/regex/index.d.ts.map +1 -0
  223. package/dist/test-topology/extractors/regex/index.js +43 -0
  224. package/dist/test-topology/extractors/regex/index.js.map +1 -0
  225. package/dist/test-topology/extractors/regex/java-test-regex.d.ts +50 -0
  226. package/dist/test-topology/extractors/regex/java-test-regex.d.ts.map +1 -0
  227. package/dist/test-topology/extractors/regex/java-test-regex.js +370 -0
  228. package/dist/test-topology/extractors/regex/java-test-regex.js.map +1 -0
  229. package/dist/test-topology/extractors/regex/php-test-regex.d.ts +56 -0
  230. package/dist/test-topology/extractors/regex/php-test-regex.d.ts.map +1 -0
  231. package/dist/test-topology/extractors/regex/php-test-regex.js +503 -0
  232. package/dist/test-topology/extractors/regex/php-test-regex.js.map +1 -0
  233. package/dist/test-topology/extractors/regex/python-test-regex.d.ts +57 -0
  234. package/dist/test-topology/extractors/regex/python-test-regex.d.ts.map +1 -0
  235. package/dist/test-topology/extractors/regex/python-test-regex.js +381 -0
  236. package/dist/test-topology/extractors/regex/python-test-regex.js.map +1 -0
  237. package/dist/test-topology/extractors/regex/typescript-test-regex.d.ts +60 -0
  238. package/dist/test-topology/extractors/regex/typescript-test-regex.d.ts.map +1 -0
  239. package/dist/test-topology/extractors/regex/typescript-test-regex.js +368 -0
  240. package/dist/test-topology/extractors/regex/typescript-test-regex.js.map +1 -0
  241. package/dist/test-topology/extractors/typescript-test-extractor.d.ts +24 -0
  242. package/dist/test-topology/extractors/typescript-test-extractor.d.ts.map +1 -0
  243. package/dist/test-topology/extractors/typescript-test-extractor.js +266 -0
  244. package/dist/test-topology/extractors/typescript-test-extractor.js.map +1 -0
  245. package/dist/test-topology/hybrid-test-topology-analyzer.d.ts +98 -0
  246. package/dist/test-topology/hybrid-test-topology-analyzer.d.ts.map +1 -0
  247. package/dist/test-topology/hybrid-test-topology-analyzer.js +555 -0
  248. package/dist/test-topology/hybrid-test-topology-analyzer.js.map +1 -0
  249. package/dist/test-topology/index.d.ts +16 -0
  250. package/dist/test-topology/index.d.ts.map +1 -0
  251. package/dist/test-topology/index.js +19 -0
  252. package/dist/test-topology/index.js.map +1 -0
  253. package/dist/test-topology/test-topology-analyzer.d.ts +85 -0
  254. package/dist/test-topology/test-topology-analyzer.d.ts.map +1 -0
  255. package/dist/test-topology/test-topology-analyzer.js +538 -0
  256. package/dist/test-topology/test-topology-analyzer.js.map +1 -0
  257. package/dist/test-topology/types.d.ts +300 -0
  258. package/dist/test-topology/types.d.ts.map +1 -0
  259. package/dist/test-topology/types.js +7 -0
  260. package/dist/test-topology/types.js.map +1 -0
  261. package/dist/wrappers/clustering/clusterer.d.ts +43 -0
  262. package/dist/wrappers/clustering/clusterer.d.ts.map +1 -0
  263. package/dist/wrappers/clustering/clusterer.js +374 -0
  264. package/dist/wrappers/clustering/clusterer.js.map +1 -0
  265. package/dist/wrappers/clustering/exclusions.d.ts +47 -0
  266. package/dist/wrappers/clustering/exclusions.d.ts.map +1 -0
  267. package/dist/wrappers/clustering/exclusions.js +318 -0
  268. package/dist/wrappers/clustering/exclusions.js.map +1 -0
  269. package/dist/wrappers/clustering/index.d.ts +6 -0
  270. package/dist/wrappers/clustering/index.d.ts.map +1 -0
  271. package/dist/wrappers/clustering/index.js +6 -0
  272. package/dist/wrappers/clustering/index.js.map +1 -0
  273. package/dist/wrappers/detection/detector.d.ts +69 -0
  274. package/dist/wrappers/detection/detector.d.ts.map +1 -0
  275. package/dist/wrappers/detection/detector.js +279 -0
  276. package/dist/wrappers/detection/detector.js.map +1 -0
  277. package/dist/wrappers/detection/index.d.ts +5 -0
  278. package/dist/wrappers/detection/index.d.ts.map +1 -0
  279. package/dist/wrappers/detection/index.js +5 -0
  280. package/dist/wrappers/detection/index.js.map +1 -0
  281. package/dist/wrappers/export/index.d.ts +5 -0
  282. package/dist/wrappers/export/index.d.ts.map +1 -0
  283. package/dist/wrappers/export/index.js +5 -0
  284. package/dist/wrappers/export/index.js.map +1 -0
  285. package/dist/wrappers/export/json.d.ts +127 -0
  286. package/dist/wrappers/export/json.d.ts.map +1 -0
  287. package/dist/wrappers/export/json.js +160 -0
  288. package/dist/wrappers/export/json.js.map +1 -0
  289. package/dist/wrappers/index.d.ts +56 -0
  290. package/dist/wrappers/index.d.ts.map +1 -0
  291. package/dist/wrappers/index.js +159 -0
  292. package/dist/wrappers/index.js.map +1 -0
  293. package/dist/wrappers/integration/adapter.d.ts +52 -0
  294. package/dist/wrappers/integration/adapter.d.ts.map +1 -0
  295. package/dist/wrappers/integration/adapter.js +209 -0
  296. package/dist/wrappers/integration/adapter.js.map +1 -0
  297. package/dist/wrappers/integration/index.d.ts +9 -0
  298. package/dist/wrappers/integration/index.d.ts.map +1 -0
  299. package/dist/wrappers/integration/index.js +12 -0
  300. package/dist/wrappers/integration/index.js.map +1 -0
  301. package/dist/wrappers/integration/pattern-adapter.d.ts +52 -0
  302. package/dist/wrappers/integration/pattern-adapter.d.ts.map +1 -0
  303. package/dist/wrappers/integration/pattern-adapter.js +192 -0
  304. package/dist/wrappers/integration/pattern-adapter.js.map +1 -0
  305. package/dist/wrappers/integration/scanner.d.ts +85 -0
  306. package/dist/wrappers/integration/scanner.d.ts.map +1 -0
  307. package/dist/wrappers/integration/scanner.js +367 -0
  308. package/dist/wrappers/integration/scanner.js.map +1 -0
  309. package/dist/wrappers/primitives/discovery.d.ts +57 -0
  310. package/dist/wrappers/primitives/discovery.d.ts.map +1 -0
  311. package/dist/wrappers/primitives/discovery.js +389 -0
  312. package/dist/wrappers/primitives/discovery.js.map +1 -0
  313. package/dist/wrappers/primitives/index.d.ts +6 -0
  314. package/dist/wrappers/primitives/index.d.ts.map +1 -0
  315. package/dist/wrappers/primitives/index.js +6 -0
  316. package/dist/wrappers/primitives/index.js.map +1 -0
  317. package/dist/wrappers/primitives/registry.d.ts +63 -0
  318. package/dist/wrappers/primitives/registry.d.ts.map +1 -0
  319. package/dist/wrappers/primitives/registry.js +447 -0
  320. package/dist/wrappers/primitives/registry.js.map +1 -0
  321. package/dist/wrappers/types.d.ts +137 -0
  322. package/dist/wrappers/types.d.ts.map +1 -0
  323. package/dist/wrappers/types.js +7 -0
  324. package/dist/wrappers/types.js.map +1 -0
  325. package/package.json +5 -1
@@ -0,0 +1,327 @@
1
+ /**
2
+ * Java Regex Extractor
3
+ *
4
+ * Regex-based fallback extractor for Java when tree-sitter is unavailable.
5
+ */
6
+ import { BaseRegexExtractor } from './base-regex-extractor.js';
7
+ /**
8
+ * Java regex patterns
9
+ */
10
+ const JAVA_PATTERNS = {
11
+ language: 'java',
12
+ functions: [],
13
+ classes: [],
14
+ imports: [],
15
+ exports: [],
16
+ calls: [],
17
+ };
18
+ /**
19
+ * Java regex-based extractor
20
+ */
21
+ export class JavaRegexExtractor extends BaseRegexExtractor {
22
+ language = 'java';
23
+ extensions = ['.java'];
24
+ patterns = JAVA_PATTERNS;
25
+ // ==========================================================================
26
+ // Function Extraction
27
+ // ==========================================================================
28
+ extractFunctions(cleanSource, originalSource, _filePath) {
29
+ const functions = [];
30
+ const seen = new Set();
31
+ // Pattern: method declarations
32
+ // [modifiers] [<generics>] returnType methodName(params) [throws ...] {
33
+ const methodPattern = /(?:@\w+(?:\([^)]*\))?\s*)*(?:public|private|protected|static|final|abstract|synchronized|native|\s)*(?:<[^>]+>\s+)?(\w+(?:<[^>]+>)?)\s+(\w+)\s*\(([^)]*)\)\s*(?:throws\s+[^{]+)?\s*\{/g;
34
+ let match;
35
+ while ((match = methodPattern.exec(cleanSource)) !== null) {
36
+ const returnType = match[1];
37
+ const name = match[2];
38
+ const paramsStr = match[3] || '';
39
+ const startLine = this.getLineNumber(originalSource, match.index);
40
+ const key = `${name}:${startLine}`;
41
+ if (seen.has(key))
42
+ continue;
43
+ seen.add(key);
44
+ // Skip if this looks like a control structure
45
+ if (['if', 'for', 'while', 'switch', 'catch', 'try'].includes(name))
46
+ continue;
47
+ const endIndex = this.findBlockEnd(cleanSource, match.index);
48
+ const endLine = this.getLineNumber(originalSource, endIndex);
49
+ const isStatic = match[0].includes('static');
50
+ const isPublic = match[0].includes('public');
51
+ const isConstructor = returnType === name; // Constructor has same name as return type
52
+ const params = this.parseJavaParameters(paramsStr);
53
+ const decorators = this.getAnnotationsAbove(cleanSource, match.index);
54
+ const funcOpts = {
55
+ name,
56
+ startLine,
57
+ endLine,
58
+ parameters: params,
59
+ isMethod: true,
60
+ isStatic,
61
+ isExported: isPublic,
62
+ isConstructor,
63
+ decorators,
64
+ };
65
+ if (!isConstructor)
66
+ funcOpts.returnType = returnType;
67
+ functions.push(this.createFunction(funcOpts));
68
+ }
69
+ return functions;
70
+ }
71
+ /**
72
+ * Get annotations above a method
73
+ */
74
+ getAnnotationsAbove(source, methodIndex) {
75
+ const annotations = [];
76
+ const beforeMethod = source.slice(0, methodIndex);
77
+ const lines = beforeMethod.split('\n');
78
+ for (let i = lines.length - 1; i >= 0; i--) {
79
+ const line = lines[i].trim();
80
+ if (line.startsWith('@')) {
81
+ annotations.unshift(line);
82
+ }
83
+ else if (line && !line.startsWith('//') && !line.startsWith('*')) {
84
+ break;
85
+ }
86
+ }
87
+ return annotations;
88
+ }
89
+ /**
90
+ * Parse Java parameters
91
+ */
92
+ parseJavaParameters(paramsStr) {
93
+ if (!paramsStr.trim())
94
+ return [];
95
+ const params = [];
96
+ // Split by comma, but be careful of generics
97
+ const parts = [];
98
+ let current = '';
99
+ let depth = 0;
100
+ for (const char of paramsStr) {
101
+ if (char === '<')
102
+ depth++;
103
+ else if (char === '>')
104
+ depth--;
105
+ else if (char === ',' && depth === 0) {
106
+ parts.push(current.trim());
107
+ current = '';
108
+ continue;
109
+ }
110
+ current += char;
111
+ }
112
+ if (current.trim())
113
+ parts.push(current.trim());
114
+ for (const part of parts) {
115
+ const trimmed = part.trim();
116
+ if (!trimmed)
117
+ continue;
118
+ // Handle varargs
119
+ const isRest = trimmed.includes('...');
120
+ // Pattern: [final] Type name or Type... name
121
+ const paramMatch = trimmed.match(/(?:final\s+)?(\w+(?:<[^>]+>)?(?:\[\])?(?:\.\.\.)?)\s+(\w+)/);
122
+ if (paramMatch) {
123
+ const type = paramMatch[1].replace('...', '');
124
+ const name = paramMatch[2];
125
+ params.push({ name, type, hasDefault: false, isRest });
126
+ }
127
+ }
128
+ return params;
129
+ }
130
+ // ==========================================================================
131
+ // Class Extraction
132
+ // ==========================================================================
133
+ extractClasses(cleanSource, originalSource, _filePath) {
134
+ const classes = [];
135
+ // Pattern: class Name<T> extends Base implements Interface1, Interface2 {
136
+ const classPattern = /(?:public|private|protected|abstract|final|static|\s)*class\s+(\w+)(?:<[^>]+>)?(?:\s+extends\s+(\w+(?:<[^>]+>)?))?(?:\s+implements\s+([^{]+))?\s*\{/g;
137
+ let match;
138
+ while ((match = classPattern.exec(cleanSource)) !== null) {
139
+ const name = match[1];
140
+ const startLine = this.getLineNumber(originalSource, match.index);
141
+ const endIndex = this.findBlockEnd(cleanSource, match.index);
142
+ const endLine = this.getLineNumber(originalSource, endIndex);
143
+ const baseClasses = [];
144
+ if (match[2])
145
+ baseClasses.push(match[2].replace(/<[^>]+>/, ''));
146
+ if (match[3]) {
147
+ const interfaces = match[3].split(',').map(i => i.trim().replace(/<[^>]+>/, '')).filter(i => i);
148
+ baseClasses.push(...interfaces);
149
+ }
150
+ const classBody = cleanSource.slice(match.index, endIndex);
151
+ const methods = this.extractMethodNames(classBody);
152
+ const isPublic = match[0].includes('public');
153
+ classes.push(this.createClass({
154
+ name,
155
+ startLine,
156
+ endLine,
157
+ baseClasses,
158
+ methods,
159
+ isExported: isPublic,
160
+ }));
161
+ }
162
+ // Also extract interfaces
163
+ const interfacePattern = /(?:public\s+)?interface\s+(\w+)(?:<[^>]+>)?(?:\s+extends\s+([^{]+))?\s*\{/g;
164
+ while ((match = interfacePattern.exec(cleanSource)) !== null) {
165
+ const name = match[1];
166
+ const startLine = this.getLineNumber(originalSource, match.index);
167
+ const endIndex = this.findBlockEnd(cleanSource, match.index);
168
+ const endLine = this.getLineNumber(originalSource, endIndex);
169
+ const baseClasses = match[2]
170
+ ? match[2].split(',').map(i => i.trim().replace(/<[^>]+>/, '')).filter(i => i)
171
+ : [];
172
+ classes.push(this.createClass({
173
+ name,
174
+ startLine,
175
+ endLine,
176
+ baseClasses,
177
+ methods: [],
178
+ isExported: match[0].includes('public'),
179
+ }));
180
+ }
181
+ // Also extract enums
182
+ const enumPattern = /(?:public\s+)?enum\s+(\w+)(?:\s+implements\s+([^{]+))?\s*\{/g;
183
+ while ((match = enumPattern.exec(cleanSource)) !== null) {
184
+ const name = match[1];
185
+ const startLine = this.getLineNumber(originalSource, match.index);
186
+ const endIndex = this.findBlockEnd(cleanSource, match.index);
187
+ const endLine = this.getLineNumber(originalSource, endIndex);
188
+ classes.push(this.createClass({
189
+ name,
190
+ startLine,
191
+ endLine,
192
+ baseClasses: [],
193
+ methods: [],
194
+ isExported: match[0].includes('public'),
195
+ }));
196
+ }
197
+ return classes;
198
+ }
199
+ /**
200
+ * Extract method names from a class body
201
+ */
202
+ extractMethodNames(classBody) {
203
+ const methods = [];
204
+ const methodPattern = /(?:public|private|protected|static|final|abstract|synchronized|\s)*(?:<[^>]+>\s+)?(\w+(?:<[^>]+>)?)\s+(\w+)\s*\([^)]*\)\s*(?:throws\s+[^{]+)?\s*\{/g;
205
+ let match;
206
+ while ((match = methodPattern.exec(classBody)) !== null) {
207
+ const name = match[2];
208
+ if (!['if', 'for', 'while', 'switch', 'catch', 'try'].includes(name)) {
209
+ methods.push(name);
210
+ }
211
+ }
212
+ return methods;
213
+ }
214
+ // ==========================================================================
215
+ // Import Extraction
216
+ // ==========================================================================
217
+ extractImports(cleanSource, originalSource, _filePath) {
218
+ const imports = [];
219
+ // Pattern: import [static] package.Class;
220
+ const importPattern = /import\s+(?:static\s+)?([^;]+);/g;
221
+ let match;
222
+ while ((match = importPattern.exec(cleanSource)) !== null) {
223
+ const source = match[1].trim();
224
+ const line = this.getLineNumber(originalSource, match.index);
225
+ const isStatic = match[0].includes('static');
226
+ // Handle wildcard imports
227
+ if (source.endsWith('.*')) {
228
+ imports.push(this.createImport({
229
+ source: source.slice(0, -2),
230
+ names: [{ imported: '*', local: '*', isNamespace: true }],
231
+ line,
232
+ }));
233
+ continue;
234
+ }
235
+ const className = source.split('.').pop();
236
+ imports.push(this.createImport({
237
+ source,
238
+ names: [{ imported: className, local: className, isDefault: false, isNamespace: false }],
239
+ line,
240
+ isTypeOnly: !isStatic,
241
+ }));
242
+ }
243
+ return imports;
244
+ }
245
+ // ==========================================================================
246
+ // Export Extraction
247
+ // ==========================================================================
248
+ extractExports(cleanSource, originalSource, _filePath) {
249
+ const exports = [];
250
+ // Java doesn't have explicit exports, but we can detect package declarations
251
+ const packagePattern = /package\s+([^;]+);/g;
252
+ let match;
253
+ while ((match = packagePattern.exec(cleanSource)) !== null) {
254
+ const name = match[1].trim();
255
+ const line = this.getLineNumber(originalSource, match.index);
256
+ exports.push(this.createExport({ name, line }));
257
+ }
258
+ return exports;
259
+ }
260
+ // ==========================================================================
261
+ // Call Extraction
262
+ // ==========================================================================
263
+ extractCalls(cleanSource, originalSource, _filePath) {
264
+ const calls = [];
265
+ const seen = new Set();
266
+ // Pattern 1: Method calls - obj.method(...)
267
+ const methodCallPattern = /(\w+)\.(\w+)\s*\(/g;
268
+ let match;
269
+ while ((match = methodCallPattern.exec(cleanSource)) !== null) {
270
+ const receiver = match[1];
271
+ const calleeName = match[2];
272
+ const line = this.getLineNumber(originalSource, match.index);
273
+ const key = `${receiver}.${calleeName}:${line}`;
274
+ if (seen.has(key))
275
+ continue;
276
+ seen.add(key);
277
+ // Skip this.method calls for now
278
+ if (receiver === 'this' || receiver === 'super')
279
+ continue;
280
+ calls.push(this.createCall({
281
+ calleeName,
282
+ receiver,
283
+ fullExpression: `${receiver}.${calleeName}`,
284
+ line,
285
+ isMethodCall: true,
286
+ }));
287
+ }
288
+ // Pattern 2: Static method calls - Class.method(...)
289
+ // Already covered by pattern 1
290
+ // Pattern 3: Direct method calls (within same class) - method(...)
291
+ const funcCallPattern = /(?<![.\w])(\w+)\s*\(/g;
292
+ while ((match = funcCallPattern.exec(cleanSource)) !== null) {
293
+ const calleeName = match[1];
294
+ const line = this.getLineNumber(originalSource, match.index);
295
+ const key = `${calleeName}:${line}`;
296
+ if (seen.has(key))
297
+ continue;
298
+ seen.add(key);
299
+ // Skip keywords
300
+ if (['if', 'for', 'while', 'switch', 'catch', 'try', 'return', 'throw', 'new', 'class', 'interface', 'enum', 'synchronized', 'assert'].includes(calleeName))
301
+ continue;
302
+ calls.push(this.createCall({
303
+ calleeName,
304
+ fullExpression: calleeName,
305
+ line,
306
+ }));
307
+ }
308
+ // Pattern 4: Constructor calls - new Class(...)
309
+ const newPattern = /new\s+(\w+)(?:<[^>]*>)?\s*\(/g;
310
+ while ((match = newPattern.exec(cleanSource)) !== null) {
311
+ const calleeName = match[1];
312
+ const line = this.getLineNumber(originalSource, match.index);
313
+ const key = `new:${calleeName}:${line}`;
314
+ if (seen.has(key))
315
+ continue;
316
+ seen.add(key);
317
+ calls.push(this.createCall({
318
+ calleeName,
319
+ fullExpression: `new ${calleeName}`,
320
+ line,
321
+ isConstructorCall: true,
322
+ }));
323
+ }
324
+ return calls;
325
+ }
326
+ }
327
+ //# sourceMappingURL=java-regex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"java-regex.js","sourceRoot":"","sources":["../../../../src/call-graph/extractors/regex/java-regex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * PHP Regex Extractor
3
+ *
4
+ * Regex-based fallback extractor for PHP when tree-sitter is unavailable.
5
+ */
6
+ import { BaseRegexExtractor } from './base-regex-extractor.js';
7
+ import type { CallGraphLanguage, FunctionExtraction, CallExtraction, ImportExtraction, ExportExtraction, ClassExtraction } from '../../types.js';
8
+ import type { LanguagePatterns } from '../types.js';
9
+ /**
10
+ * PHP regex-based extractor
11
+ */
12
+ export declare class PhpRegexExtractor extends BaseRegexExtractor {
13
+ readonly language: CallGraphLanguage;
14
+ readonly extensions: string[];
15
+ protected readonly patterns: LanguagePatterns;
16
+ protected extractFunctions(cleanSource: string, originalSource: string, _filePath: string): FunctionExtraction[];
17
+ /**
18
+ * Parse PHP parameters
19
+ */
20
+ private parsePhpParameters;
21
+ protected extractClasses(cleanSource: string, originalSource: string, _filePath: string): ClassExtraction[];
22
+ /**
23
+ * Extract method names from a class body
24
+ */
25
+ private extractMethodNames;
26
+ protected extractImports(cleanSource: string, originalSource: string, _filePath: string): ImportExtraction[];
27
+ protected extractExports(cleanSource: string, originalSource: string, _filePath: string): ExportExtraction[];
28
+ protected extractCalls(cleanSource: string, originalSource: string, _filePath: string): CallExtraction[];
29
+ }
30
+ //# sourceMappingURL=php-regex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"php-regex.d.ts","sourceRoot":"","sources":["../../../../src/call-graph/extractors/regex/php-regex.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAcpD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB;IACvD,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAS;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAmE;IAChG,SAAS,CAAC,QAAQ,CAAC,QAAQ,mBAAgB;IAM3C,SAAS,CAAC,gBAAgB,CACxB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,kBAAkB,EAAE;IA8CvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8C1B,SAAS,CAAC,cAAc,CACtB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,eAAe,EAAE;IA6EpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B,SAAS,CAAC,cAAc,CACtB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,gBAAgB,EAAE;IA6DrB,SAAS,CAAC,cAAc,CACtB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,gBAAgB,EAAE;IAqBrB,SAAS,CAAC,YAAY,CACpB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,cAAc,EAAE;CA4FpB"}