driftdetect-core 0.4.5 → 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 (578) hide show
  1. package/LICENSE +21 -0
  2. package/dist/boundaries/boundary-scanner.d.ts.map +1 -1
  3. package/dist/boundaries/boundary-scanner.js +184 -18
  4. package/dist/boundaries/boundary-scanner.js.map +1 -1
  5. package/dist/boundaries/types.d.ts +34 -2
  6. package/dist/boundaries/types.d.ts.map +1 -1
  7. package/dist/call-graph/analysis/graph-builder.d.ts +3 -0
  8. package/dist/call-graph/analysis/graph-builder.d.ts.map +1 -1
  9. package/dist/call-graph/analysis/graph-builder.js +81 -18
  10. package/dist/call-graph/analysis/graph-builder.js.map +1 -1
  11. package/dist/call-graph/extractors/csharp-data-access-extractor.d.ts +8 -0
  12. package/dist/call-graph/extractors/csharp-data-access-extractor.d.ts.map +1 -1
  13. package/dist/call-graph/extractors/csharp-data-access-extractor.js +18 -5
  14. package/dist/call-graph/extractors/csharp-data-access-extractor.js.map +1 -1
  15. package/dist/call-graph/extractors/csharp-extractor.d.ts +35 -0
  16. package/dist/call-graph/extractors/csharp-extractor.d.ts.map +1 -1
  17. package/dist/call-graph/extractors/csharp-extractor.js +362 -4
  18. package/dist/call-graph/extractors/csharp-extractor.js.map +1 -1
  19. package/dist/call-graph/extractors/csharp-hybrid-extractor.d.ts +37 -0
  20. package/dist/call-graph/extractors/csharp-hybrid-extractor.d.ts.map +1 -0
  21. package/dist/call-graph/extractors/csharp-hybrid-extractor.js +408 -0
  22. package/dist/call-graph/extractors/csharp-hybrid-extractor.js.map +1 -0
  23. package/dist/call-graph/extractors/data-access-extractor.d.ts +16 -2
  24. package/dist/call-graph/extractors/data-access-extractor.d.ts.map +1 -1
  25. package/dist/call-graph/extractors/data-access-extractor.js +114 -5
  26. package/dist/call-graph/extractors/data-access-extractor.js.map +1 -1
  27. package/dist/call-graph/extractors/hybrid-extractor-base.d.ts +102 -0
  28. package/dist/call-graph/extractors/hybrid-extractor-base.d.ts.map +1 -0
  29. package/dist/call-graph/extractors/hybrid-extractor-base.js +289 -0
  30. package/dist/call-graph/extractors/hybrid-extractor-base.js.map +1 -0
  31. package/dist/call-graph/extractors/index.d.ts +17 -13
  32. package/dist/call-graph/extractors/index.d.ts.map +1 -1
  33. package/dist/call-graph/extractors/index.js +24 -23
  34. package/dist/call-graph/extractors/index.js.map +1 -1
  35. package/dist/call-graph/extractors/java-data-access-extractor.d.ts +8 -0
  36. package/dist/call-graph/extractors/java-data-access-extractor.d.ts.map +1 -1
  37. package/dist/call-graph/extractors/java-data-access-extractor.js +20 -6
  38. package/dist/call-graph/extractors/java-data-access-extractor.js.map +1 -1
  39. package/dist/call-graph/extractors/java-extractor.d.ts +15 -0
  40. package/dist/call-graph/extractors/java-extractor.d.ts.map +1 -1
  41. package/dist/call-graph/extractors/java-extractor.js +120 -4
  42. package/dist/call-graph/extractors/java-extractor.js.map +1 -1
  43. package/dist/call-graph/extractors/java-hybrid-extractor.d.ts +36 -0
  44. package/dist/call-graph/extractors/java-hybrid-extractor.d.ts.map +1 -0
  45. package/dist/call-graph/extractors/java-hybrid-extractor.js +426 -0
  46. package/dist/call-graph/extractors/java-hybrid-extractor.js.map +1 -0
  47. package/dist/call-graph/extractors/php-data-access-extractor.d.ts +8 -0
  48. package/dist/call-graph/extractors/php-data-access-extractor.d.ts.map +1 -1
  49. package/dist/call-graph/extractors/php-data-access-extractor.js +20 -6
  50. package/dist/call-graph/extractors/php-data-access-extractor.js.map +1 -1
  51. package/dist/call-graph/extractors/php-extractor.d.ts +48 -1
  52. package/dist/call-graph/extractors/php-extractor.d.ts.map +1 -1
  53. package/dist/call-graph/extractors/php-extractor.js +460 -6
  54. package/dist/call-graph/extractors/php-extractor.js.map +1 -1
  55. package/dist/call-graph/extractors/php-hybrid-extractor.d.ts +35 -0
  56. package/dist/call-graph/extractors/php-hybrid-extractor.d.ts.map +1 -0
  57. package/dist/call-graph/extractors/php-hybrid-extractor.js +393 -0
  58. package/dist/call-graph/extractors/php-hybrid-extractor.js.map +1 -0
  59. package/dist/call-graph/extractors/python-data-access-extractor.d.ts +8 -0
  60. package/dist/call-graph/extractors/python-data-access-extractor.d.ts.map +1 -1
  61. package/dist/call-graph/extractors/python-data-access-extractor.js +20 -6
  62. package/dist/call-graph/extractors/python-data-access-extractor.js.map +1 -1
  63. package/dist/call-graph/extractors/python-hybrid-extractor.d.ts +85 -0
  64. package/dist/call-graph/extractors/python-hybrid-extractor.d.ts.map +1 -0
  65. package/dist/call-graph/extractors/python-hybrid-extractor.js +462 -0
  66. package/dist/call-graph/extractors/python-hybrid-extractor.js.map +1 -0
  67. package/dist/call-graph/extractors/regex/base-regex-extractor.d.ts +154 -0
  68. package/dist/call-graph/extractors/regex/base-regex-extractor.d.ts.map +1 -0
  69. package/dist/call-graph/extractors/regex/base-regex-extractor.js +346 -0
  70. package/dist/call-graph/extractors/regex/base-regex-extractor.js.map +1 -0
  71. package/dist/call-graph/extractors/regex/csharp-regex.d.ts +34 -0
  72. package/dist/call-graph/extractors/regex/csharp-regex.d.ts.map +1 -0
  73. package/dist/call-graph/extractors/regex/csharp-regex.js +393 -0
  74. package/dist/call-graph/extractors/regex/csharp-regex.js.map +1 -0
  75. package/dist/call-graph/extractors/regex/index.d.ts +25 -0
  76. package/dist/call-graph/extractors/regex/index.d.ts.map +1 -0
  77. package/dist/call-graph/extractors/regex/index.js +66 -0
  78. package/dist/call-graph/extractors/regex/index.js.map +1 -0
  79. package/dist/call-graph/extractors/regex/java-regex.d.ts +34 -0
  80. package/dist/call-graph/extractors/regex/java-regex.d.ts.map +1 -0
  81. package/dist/call-graph/extractors/regex/java-regex.js +327 -0
  82. package/dist/call-graph/extractors/regex/java-regex.js.map +1 -0
  83. package/dist/call-graph/extractors/regex/php-regex.d.ts +30 -0
  84. package/dist/call-graph/extractors/regex/php-regex.d.ts.map +1 -0
  85. package/dist/call-graph/extractors/regex/php-regex.js +333 -0
  86. package/dist/call-graph/extractors/regex/php-regex.js.map +1 -0
  87. package/dist/call-graph/extractors/regex/python-regex.d.ts +46 -0
  88. package/dist/call-graph/extractors/regex/python-regex.d.ts.map +1 -0
  89. package/dist/call-graph/extractors/regex/python-regex.js +380 -0
  90. package/dist/call-graph/extractors/regex/python-regex.js.map +1 -0
  91. package/dist/call-graph/extractors/regex/typescript-regex.d.ts +27 -0
  92. package/dist/call-graph/extractors/regex/typescript-regex.d.ts.map +1 -0
  93. package/dist/call-graph/extractors/regex/typescript-regex.js +349 -0
  94. package/dist/call-graph/extractors/regex/typescript-regex.js.map +1 -0
  95. package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts +11 -0
  96. package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts.map +1 -1
  97. package/dist/call-graph/extractors/semantic-data-access-scanner.js +53 -2
  98. package/dist/call-graph/extractors/semantic-data-access-scanner.js.map +1 -1
  99. package/dist/call-graph/extractors/types.d.ts +111 -0
  100. package/dist/call-graph/extractors/types.d.ts.map +1 -0
  101. package/dist/call-graph/extractors/types.js +68 -0
  102. package/dist/call-graph/extractors/types.js.map +1 -0
  103. package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts +8 -0
  104. package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts.map +1 -1
  105. package/dist/call-graph/extractors/typescript-data-access-extractor.js +31 -10
  106. package/dist/call-graph/extractors/typescript-data-access-extractor.js.map +1 -1
  107. package/dist/call-graph/extractors/typescript-hybrid-extractor.d.ts +116 -0
  108. package/dist/call-graph/extractors/typescript-hybrid-extractor.d.ts.map +1 -0
  109. package/dist/call-graph/extractors/typescript-hybrid-extractor.js +635 -0
  110. package/dist/call-graph/extractors/typescript-hybrid-extractor.js.map +1 -0
  111. package/dist/call-graph/index.d.ts +2 -4
  112. package/dist/call-graph/index.d.ts.map +1 -1
  113. package/dist/call-graph/index.js +5 -6
  114. package/dist/call-graph/index.js.map +1 -1
  115. package/dist/error-handling/error-handling-analyzer.d.ts +73 -0
  116. package/dist/error-handling/error-handling-analyzer.d.ts.map +1 -0
  117. package/dist/error-handling/error-handling-analyzer.js +706 -0
  118. package/dist/error-handling/error-handling-analyzer.js.map +1 -0
  119. package/dist/error-handling/index.d.ts +8 -0
  120. package/dist/error-handling/index.d.ts.map +1 -0
  121. package/dist/error-handling/index.js +8 -0
  122. package/dist/error-handling/index.js.map +1 -0
  123. package/dist/error-handling/types.d.ts +307 -0
  124. package/dist/error-handling/types.d.ts.map +1 -0
  125. package/dist/error-handling/types.js +7 -0
  126. package/dist/error-handling/types.js.map +1 -0
  127. package/dist/index.d.ts +18 -2
  128. package/dist/index.d.ts.map +1 -1
  129. package/dist/index.js +44 -5
  130. package/dist/index.js.map +1 -1
  131. package/dist/lake/pattern-shard-store.d.ts +6 -0
  132. package/dist/lake/pattern-shard-store.d.ts.map +1 -1
  133. package/dist/lake/pattern-shard-store.js +6 -0
  134. package/dist/lake/pattern-shard-store.js.map +1 -1
  135. package/dist/language-intelligence/base-normalizer.d.ts +68 -0
  136. package/dist/language-intelligence/base-normalizer.d.ts.map +1 -0
  137. package/dist/language-intelligence/base-normalizer.js +210 -0
  138. package/dist/language-intelligence/base-normalizer.js.map +1 -0
  139. package/dist/language-intelligence/framework-registry.d.ts +89 -0
  140. package/dist/language-intelligence/framework-registry.d.ts.map +1 -0
  141. package/dist/language-intelligence/framework-registry.js +165 -0
  142. package/dist/language-intelligence/framework-registry.js.map +1 -0
  143. package/dist/language-intelligence/frameworks/aspnet.d.ts +11 -0
  144. package/dist/language-intelligence/frameworks/aspnet.d.ts.map +1 -0
  145. package/dist/language-intelligence/frameworks/aspnet.js +325 -0
  146. package/dist/language-intelligence/frameworks/aspnet.js.map +1 -0
  147. package/dist/language-intelligence/frameworks/fastapi.d.ts +11 -0
  148. package/dist/language-intelligence/frameworks/fastapi.d.ts.map +1 -0
  149. package/dist/language-intelligence/frameworks/fastapi.js +188 -0
  150. package/dist/language-intelligence/frameworks/fastapi.js.map +1 -0
  151. package/dist/language-intelligence/frameworks/index.d.ts +32 -0
  152. package/dist/language-intelligence/frameworks/index.d.ts.map +1 -0
  153. package/dist/language-intelligence/frameworks/index.js +51 -0
  154. package/dist/language-intelligence/frameworks/index.js.map +1 -0
  155. package/dist/language-intelligence/frameworks/laravel.d.ts +12 -0
  156. package/dist/language-intelligence/frameworks/laravel.d.ts.map +1 -0
  157. package/dist/language-intelligence/frameworks/laravel.js +194 -0
  158. package/dist/language-intelligence/frameworks/laravel.js.map +1 -0
  159. package/dist/language-intelligence/frameworks/nestjs.d.ts +11 -0
  160. package/dist/language-intelligence/frameworks/nestjs.d.ts.map +1 -0
  161. package/dist/language-intelligence/frameworks/nestjs.js +307 -0
  162. package/dist/language-intelligence/frameworks/nestjs.js.map +1 -0
  163. package/dist/language-intelligence/frameworks/spring.d.ts +11 -0
  164. package/dist/language-intelligence/frameworks/spring.d.ts.map +1 -0
  165. package/dist/language-intelligence/frameworks/spring.js +369 -0
  166. package/dist/language-intelligence/frameworks/spring.js.map +1 -0
  167. package/dist/language-intelligence/index.d.ts +33 -0
  168. package/dist/language-intelligence/index.d.ts.map +1 -0
  169. package/dist/language-intelligence/index.js +37 -0
  170. package/dist/language-intelligence/index.js.map +1 -0
  171. package/dist/language-intelligence/language-intelligence.d.ts +99 -0
  172. package/dist/language-intelligence/language-intelligence.d.ts.map +1 -0
  173. package/dist/language-intelligence/language-intelligence.js +239 -0
  174. package/dist/language-intelligence/language-intelligence.js.map +1 -0
  175. package/dist/language-intelligence/normalizers/csharp-normalizer.d.ts +39 -0
  176. package/dist/language-intelligence/normalizers/csharp-normalizer.d.ts.map +1 -0
  177. package/dist/language-intelligence/normalizers/csharp-normalizer.js +86 -0
  178. package/dist/language-intelligence/normalizers/csharp-normalizer.js.map +1 -0
  179. package/dist/language-intelligence/normalizers/index.d.ts +25 -0
  180. package/dist/language-intelligence/normalizers/index.d.ts.map +1 -0
  181. package/dist/language-intelligence/normalizers/index.js +60 -0
  182. package/dist/language-intelligence/normalizers/index.js.map +1 -0
  183. package/dist/language-intelligence/normalizers/java-normalizer.d.ts +39 -0
  184. package/dist/language-intelligence/normalizers/java-normalizer.d.ts.map +1 -0
  185. package/dist/language-intelligence/normalizers/java-normalizer.js +96 -0
  186. package/dist/language-intelligence/normalizers/java-normalizer.js.map +1 -0
  187. package/dist/language-intelligence/normalizers/php-normalizer.d.ts +39 -0
  188. package/dist/language-intelligence/normalizers/php-normalizer.d.ts.map +1 -0
  189. package/dist/language-intelligence/normalizers/php-normalizer.js +86 -0
  190. package/dist/language-intelligence/normalizers/php-normalizer.js.map +1 -0
  191. package/dist/language-intelligence/normalizers/python-normalizer.d.ts +39 -0
  192. package/dist/language-intelligence/normalizers/python-normalizer.d.ts.map +1 -0
  193. package/dist/language-intelligence/normalizers/python-normalizer.js +95 -0
  194. package/dist/language-intelligence/normalizers/python-normalizer.js.map +1 -0
  195. package/dist/language-intelligence/normalizers/typescript-normalizer.d.ts +39 -0
  196. package/dist/language-intelligence/normalizers/typescript-normalizer.d.ts.map +1 -0
  197. package/dist/language-intelligence/normalizers/typescript-normalizer.js +84 -0
  198. package/dist/language-intelligence/normalizers/typescript-normalizer.js.map +1 -0
  199. package/dist/language-intelligence/types.d.ts +270 -0
  200. package/dist/language-intelligence/types.d.ts.map +1 -0
  201. package/dist/language-intelligence/types.js +9 -0
  202. package/dist/language-intelligence/types.js.map +1 -0
  203. package/dist/module-coupling/coupling-analyzer.d.ts +73 -0
  204. package/dist/module-coupling/coupling-analyzer.d.ts.map +1 -0
  205. package/dist/module-coupling/coupling-analyzer.js +668 -0
  206. package/dist/module-coupling/coupling-analyzer.js.map +1 -0
  207. package/dist/module-coupling/index.d.ts +9 -0
  208. package/dist/module-coupling/index.d.ts.map +1 -0
  209. package/dist/module-coupling/index.js +9 -0
  210. package/dist/module-coupling/index.js.map +1 -0
  211. package/dist/module-coupling/types.d.ts +273 -0
  212. package/dist/module-coupling/types.d.ts.map +1 -0
  213. package/dist/module-coupling/types.js +8 -0
  214. package/dist/module-coupling/types.js.map +1 -0
  215. package/dist/patterns/adapters/index.d.ts +11 -0
  216. package/dist/patterns/adapters/index.d.ts.map +1 -0
  217. package/dist/patterns/adapters/index.js +11 -0
  218. package/dist/patterns/adapters/index.js.map +1 -0
  219. package/dist/patterns/adapters/pattern-store-adapter.d.ts +59 -0
  220. package/dist/patterns/adapters/pattern-store-adapter.d.ts.map +1 -0
  221. package/dist/patterns/adapters/pattern-store-adapter.js +468 -0
  222. package/dist/patterns/adapters/pattern-store-adapter.js.map +1 -0
  223. package/dist/patterns/adapters/service-factory.d.ts +40 -0
  224. package/dist/patterns/adapters/service-factory.d.ts.map +1 -0
  225. package/dist/patterns/adapters/service-factory.js +144 -0
  226. package/dist/patterns/adapters/service-factory.js.map +1 -0
  227. package/dist/patterns/errors.d.ts +32 -0
  228. package/dist/patterns/errors.d.ts.map +1 -0
  229. package/dist/patterns/errors.js +45 -0
  230. package/dist/patterns/errors.js.map +1 -0
  231. package/dist/patterns/impl/cached-repository.d.ts +79 -0
  232. package/dist/patterns/impl/cached-repository.d.ts.map +1 -0
  233. package/dist/patterns/impl/cached-repository.js +296 -0
  234. package/dist/patterns/impl/cached-repository.js.map +1 -0
  235. package/dist/patterns/impl/file-repository.d.ts +75 -0
  236. package/dist/patterns/impl/file-repository.d.ts.map +1 -0
  237. package/dist/patterns/impl/file-repository.js +507 -0
  238. package/dist/patterns/impl/file-repository.js.map +1 -0
  239. package/dist/patterns/impl/index.d.ts +16 -0
  240. package/dist/patterns/impl/index.d.ts.map +1 -0
  241. package/dist/patterns/impl/index.js +21 -0
  242. package/dist/patterns/impl/index.js.map +1 -0
  243. package/dist/patterns/impl/memory-repository.d.ts +56 -0
  244. package/dist/patterns/impl/memory-repository.d.ts.map +1 -0
  245. package/dist/patterns/impl/memory-repository.js +323 -0
  246. package/dist/patterns/impl/memory-repository.js.map +1 -0
  247. package/dist/patterns/impl/pattern-service.d.ts +52 -0
  248. package/dist/patterns/impl/pattern-service.d.ts.map +1 -0
  249. package/dist/patterns/impl/pattern-service.js +382 -0
  250. package/dist/patterns/impl/pattern-service.js.map +1 -0
  251. package/dist/patterns/impl/repository-factory.d.ts +44 -0
  252. package/dist/patterns/impl/repository-factory.d.ts.map +1 -0
  253. package/dist/patterns/impl/repository-factory.js +140 -0
  254. package/dist/patterns/impl/repository-factory.js.map +1 -0
  255. package/dist/patterns/impl/unified-file-repository.d.ts +111 -0
  256. package/dist/patterns/impl/unified-file-repository.d.ts.map +1 -0
  257. package/dist/patterns/impl/unified-file-repository.js +677 -0
  258. package/dist/patterns/impl/unified-file-repository.js.map +1 -0
  259. package/dist/patterns/index.d.ts +23 -0
  260. package/dist/patterns/index.d.ts.map +1 -0
  261. package/dist/patterns/index.js +41 -0
  262. package/dist/patterns/index.js.map +1 -0
  263. package/dist/patterns/repository.d.ts +241 -0
  264. package/dist/patterns/repository.d.ts.map +1 -0
  265. package/dist/patterns/repository.js +23 -0
  266. package/dist/patterns/repository.js.map +1 -0
  267. package/dist/patterns/service.d.ts +245 -0
  268. package/dist/patterns/service.d.ts.map +1 -0
  269. package/dist/patterns/service.js +25 -0
  270. package/dist/patterns/service.js.map +1 -0
  271. package/dist/patterns/types.d.ts +227 -0
  272. package/dist/patterns/types.d.ts.map +1 -0
  273. package/dist/patterns/types.js +117 -0
  274. package/dist/patterns/types.js.map +1 -0
  275. package/dist/scanner/file-processor-worker.d.ts +66 -0
  276. package/dist/scanner/file-processor-worker.d.ts.map +1 -0
  277. package/dist/scanner/file-processor-worker.js +189 -0
  278. package/dist/scanner/file-processor-worker.js.map +1 -0
  279. package/dist/scanner/index.d.ts +2 -0
  280. package/dist/scanner/index.d.ts.map +1 -1
  281. package/dist/scanner/index.js +2 -0
  282. package/dist/scanner/index.js.map +1 -1
  283. package/dist/scanner/threaded-worker-pool.d.ts +182 -0
  284. package/dist/scanner/threaded-worker-pool.d.ts.map +1 -0
  285. package/dist/scanner/threaded-worker-pool.js +243 -0
  286. package/dist/scanner/threaded-worker-pool.js.map +1 -0
  287. package/dist/store/pattern-store.d.ts +6 -0
  288. package/dist/store/pattern-store.d.ts.map +1 -1
  289. package/dist/store/pattern-store.js +6 -0
  290. package/dist/store/pattern-store.js.map +1 -1
  291. package/dist/store/types.d.ts +6 -3
  292. package/dist/store/types.d.ts.map +1 -1
  293. package/dist/store/types.js.map +1 -1
  294. package/dist/test-topology/extractors/base-test-extractor.d.ts +89 -0
  295. package/dist/test-topology/extractors/base-test-extractor.d.ts.map +1 -0
  296. package/dist/test-topology/extractors/base-test-extractor.js +187 -0
  297. package/dist/test-topology/extractors/base-test-extractor.js.map +1 -0
  298. package/dist/test-topology/extractors/csharp-test-extractor.d.ts +23 -0
  299. package/dist/test-topology/extractors/csharp-test-extractor.d.ts.map +1 -0
  300. package/dist/test-topology/extractors/csharp-test-extractor.js +367 -0
  301. package/dist/test-topology/extractors/csharp-test-extractor.js.map +1 -0
  302. package/dist/test-topology/extractors/index.d.ts +12 -0
  303. package/dist/test-topology/extractors/index.d.ts.map +1 -0
  304. package/dist/test-topology/extractors/index.js +12 -0
  305. package/dist/test-topology/extractors/index.js.map +1 -0
  306. package/dist/test-topology/extractors/java-test-extractor.d.ts +20 -0
  307. package/dist/test-topology/extractors/java-test-extractor.d.ts.map +1 -0
  308. package/dist/test-topology/extractors/java-test-extractor.js +275 -0
  309. package/dist/test-topology/extractors/java-test-extractor.js.map +1 -0
  310. package/dist/test-topology/extractors/php-test-extractor.d.ts +24 -0
  311. package/dist/test-topology/extractors/php-test-extractor.d.ts.map +1 -0
  312. package/dist/test-topology/extractors/php-test-extractor.js +409 -0
  313. package/dist/test-topology/extractors/php-test-extractor.js.map +1 -0
  314. package/dist/test-topology/extractors/python-test-extractor.d.ts +23 -0
  315. package/dist/test-topology/extractors/python-test-extractor.d.ts.map +1 -0
  316. package/dist/test-topology/extractors/python-test-extractor.js +342 -0
  317. package/dist/test-topology/extractors/python-test-extractor.js.map +1 -0
  318. package/dist/test-topology/extractors/regex/csharp-test-regex.d.ts +51 -0
  319. package/dist/test-topology/extractors/regex/csharp-test-regex.d.ts.map +1 -0
  320. package/dist/test-topology/extractors/regex/csharp-test-regex.js +383 -0
  321. package/dist/test-topology/extractors/regex/csharp-test-regex.js.map +1 -0
  322. package/dist/test-topology/extractors/regex/index.d.ts +18 -0
  323. package/dist/test-topology/extractors/regex/index.d.ts.map +1 -0
  324. package/dist/test-topology/extractors/regex/index.js +43 -0
  325. package/dist/test-topology/extractors/regex/index.js.map +1 -0
  326. package/dist/test-topology/extractors/regex/java-test-regex.d.ts +50 -0
  327. package/dist/test-topology/extractors/regex/java-test-regex.d.ts.map +1 -0
  328. package/dist/test-topology/extractors/regex/java-test-regex.js +370 -0
  329. package/dist/test-topology/extractors/regex/java-test-regex.js.map +1 -0
  330. package/dist/test-topology/extractors/regex/php-test-regex.d.ts +56 -0
  331. package/dist/test-topology/extractors/regex/php-test-regex.d.ts.map +1 -0
  332. package/dist/test-topology/extractors/regex/php-test-regex.js +503 -0
  333. package/dist/test-topology/extractors/regex/php-test-regex.js.map +1 -0
  334. package/dist/test-topology/extractors/regex/python-test-regex.d.ts +57 -0
  335. package/dist/test-topology/extractors/regex/python-test-regex.d.ts.map +1 -0
  336. package/dist/test-topology/extractors/regex/python-test-regex.js +381 -0
  337. package/dist/test-topology/extractors/regex/python-test-regex.js.map +1 -0
  338. package/dist/test-topology/extractors/regex/typescript-test-regex.d.ts +60 -0
  339. package/dist/test-topology/extractors/regex/typescript-test-regex.d.ts.map +1 -0
  340. package/dist/test-topology/extractors/regex/typescript-test-regex.js +368 -0
  341. package/dist/test-topology/extractors/regex/typescript-test-regex.js.map +1 -0
  342. package/dist/test-topology/extractors/typescript-test-extractor.d.ts +24 -0
  343. package/dist/test-topology/extractors/typescript-test-extractor.d.ts.map +1 -0
  344. package/dist/test-topology/extractors/typescript-test-extractor.js +266 -0
  345. package/dist/test-topology/extractors/typescript-test-extractor.js.map +1 -0
  346. package/dist/test-topology/hybrid-test-topology-analyzer.d.ts +98 -0
  347. package/dist/test-topology/hybrid-test-topology-analyzer.d.ts.map +1 -0
  348. package/dist/test-topology/hybrid-test-topology-analyzer.js +555 -0
  349. package/dist/test-topology/hybrid-test-topology-analyzer.js.map +1 -0
  350. package/dist/test-topology/index.d.ts +16 -0
  351. package/dist/test-topology/index.d.ts.map +1 -0
  352. package/dist/test-topology/index.js +19 -0
  353. package/dist/test-topology/index.js.map +1 -0
  354. package/dist/test-topology/test-topology-analyzer.d.ts +85 -0
  355. package/dist/test-topology/test-topology-analyzer.d.ts.map +1 -0
  356. package/dist/test-topology/test-topology-analyzer.js +538 -0
  357. package/dist/test-topology/test-topology-analyzer.js.map +1 -0
  358. package/dist/test-topology/types.d.ts +300 -0
  359. package/dist/test-topology/types.d.ts.map +1 -0
  360. package/dist/test-topology/types.js +7 -0
  361. package/dist/test-topology/types.js.map +1 -0
  362. package/dist/unified-provider/compat/index.d.ts +11 -0
  363. package/dist/unified-provider/compat/index.d.ts.map +1 -0
  364. package/dist/unified-provider/compat/index.js +13 -0
  365. package/dist/unified-provider/compat/index.js.map +1 -0
  366. package/dist/unified-provider/compat/legacy-extractors.d.ts +63 -0
  367. package/dist/unified-provider/compat/legacy-extractors.d.ts.map +1 -0
  368. package/dist/unified-provider/compat/legacy-extractors.js +80 -0
  369. package/dist/unified-provider/compat/legacy-extractors.js.map +1 -0
  370. package/dist/unified-provider/compat/legacy-scanner.d.ts +28 -0
  371. package/dist/unified-provider/compat/legacy-scanner.d.ts.map +1 -0
  372. package/dist/unified-provider/compat/legacy-scanner.js +31 -0
  373. package/dist/unified-provider/compat/legacy-scanner.js.map +1 -0
  374. package/dist/unified-provider/index.d.ts +28 -0
  375. package/dist/unified-provider/index.d.ts.map +1 -0
  376. package/dist/unified-provider/index.js +47 -0
  377. package/dist/unified-provider/index.js.map +1 -0
  378. package/dist/unified-provider/integration/index.d.ts +9 -0
  379. package/dist/unified-provider/integration/index.d.ts.map +1 -0
  380. package/dist/unified-provider/integration/index.js +11 -0
  381. package/dist/unified-provider/integration/index.js.map +1 -0
  382. package/dist/unified-provider/integration/unified-data-access-adapter.d.ts +75 -0
  383. package/dist/unified-provider/integration/unified-data-access-adapter.d.ts.map +1 -0
  384. package/dist/unified-provider/integration/unified-data-access-adapter.js +210 -0
  385. package/dist/unified-provider/integration/unified-data-access-adapter.js.map +1 -0
  386. package/dist/unified-provider/integration/unified-scanner.d.ts +90 -0
  387. package/dist/unified-provider/integration/unified-scanner.d.ts.map +1 -0
  388. package/dist/unified-provider/integration/unified-scanner.js +369 -0
  389. package/dist/unified-provider/integration/unified-scanner.js.map +1 -0
  390. package/dist/unified-provider/matching/base-matcher.d.ts +80 -0
  391. package/dist/unified-provider/matching/base-matcher.d.ts.map +1 -0
  392. package/dist/unified-provider/matching/base-matcher.js +196 -0
  393. package/dist/unified-provider/matching/base-matcher.js.map +1 -0
  394. package/dist/unified-provider/matching/django-matcher.d.ts +32 -0
  395. package/dist/unified-provider/matching/django-matcher.d.ts.map +1 -0
  396. package/dist/unified-provider/matching/django-matcher.js +107 -0
  397. package/dist/unified-provider/matching/django-matcher.js.map +1 -0
  398. package/dist/unified-provider/matching/drizzle-matcher.d.ts +25 -0
  399. package/dist/unified-provider/matching/drizzle-matcher.d.ts.map +1 -0
  400. package/dist/unified-provider/matching/drizzle-matcher.js +123 -0
  401. package/dist/unified-provider/matching/drizzle-matcher.js.map +1 -0
  402. package/dist/unified-provider/matching/efcore-matcher.d.ts +27 -0
  403. package/dist/unified-provider/matching/efcore-matcher.d.ts.map +1 -0
  404. package/dist/unified-provider/matching/efcore-matcher.js +88 -0
  405. package/dist/unified-provider/matching/efcore-matcher.js.map +1 -0
  406. package/dist/unified-provider/matching/eloquent-matcher.d.ts +32 -0
  407. package/dist/unified-provider/matching/eloquent-matcher.d.ts.map +1 -0
  408. package/dist/unified-provider/matching/eloquent-matcher.js +162 -0
  409. package/dist/unified-provider/matching/eloquent-matcher.js.map +1 -0
  410. package/dist/unified-provider/matching/index.d.ts +19 -0
  411. package/dist/unified-provider/matching/index.d.ts.map +1 -0
  412. package/dist/unified-provider/matching/index.js +24 -0
  413. package/dist/unified-provider/matching/index.js.map +1 -0
  414. package/dist/unified-provider/matching/knex-matcher.d.ts +26 -0
  415. package/dist/unified-provider/matching/knex-matcher.d.ts.map +1 -0
  416. package/dist/unified-provider/matching/knex-matcher.js +109 -0
  417. package/dist/unified-provider/matching/knex-matcher.js.map +1 -0
  418. package/dist/unified-provider/matching/matcher-registry.d.ts +55 -0
  419. package/dist/unified-provider/matching/matcher-registry.d.ts.map +1 -0
  420. package/dist/unified-provider/matching/matcher-registry.js +130 -0
  421. package/dist/unified-provider/matching/matcher-registry.js.map +1 -0
  422. package/dist/unified-provider/matching/mongoose-matcher.d.ts +30 -0
  423. package/dist/unified-provider/matching/mongoose-matcher.d.ts.map +1 -0
  424. package/dist/unified-provider/matching/mongoose-matcher.js +132 -0
  425. package/dist/unified-provider/matching/mongoose-matcher.js.map +1 -0
  426. package/dist/unified-provider/matching/prisma-matcher.d.ts +31 -0
  427. package/dist/unified-provider/matching/prisma-matcher.d.ts.map +1 -0
  428. package/dist/unified-provider/matching/prisma-matcher.js +123 -0
  429. package/dist/unified-provider/matching/prisma-matcher.js.map +1 -0
  430. package/dist/unified-provider/matching/raw-sql-matcher.d.ts +31 -0
  431. package/dist/unified-provider/matching/raw-sql-matcher.d.ts.map +1 -0
  432. package/dist/unified-provider/matching/raw-sql-matcher.js +173 -0
  433. package/dist/unified-provider/matching/raw-sql-matcher.js.map +1 -0
  434. package/dist/unified-provider/matching/sequelize-matcher.d.ts +28 -0
  435. package/dist/unified-provider/matching/sequelize-matcher.d.ts.map +1 -0
  436. package/dist/unified-provider/matching/sequelize-matcher.js +132 -0
  437. package/dist/unified-provider/matching/sequelize-matcher.js.map +1 -0
  438. package/dist/unified-provider/matching/spring-data-matcher.d.ts +32 -0
  439. package/dist/unified-provider/matching/spring-data-matcher.d.ts.map +1 -0
  440. package/dist/unified-provider/matching/spring-data-matcher.js +112 -0
  441. package/dist/unified-provider/matching/spring-data-matcher.js.map +1 -0
  442. package/dist/unified-provider/matching/sqlalchemy-matcher.d.ts +32 -0
  443. package/dist/unified-provider/matching/sqlalchemy-matcher.d.ts.map +1 -0
  444. package/dist/unified-provider/matching/sqlalchemy-matcher.js +201 -0
  445. package/dist/unified-provider/matching/sqlalchemy-matcher.js.map +1 -0
  446. package/dist/unified-provider/matching/supabase-matcher.d.ts +27 -0
  447. package/dist/unified-provider/matching/supabase-matcher.d.ts.map +1 -0
  448. package/dist/unified-provider/matching/supabase-matcher.js +122 -0
  449. package/dist/unified-provider/matching/supabase-matcher.js.map +1 -0
  450. package/dist/unified-provider/matching/typeorm-matcher.d.ts +32 -0
  451. package/dist/unified-provider/matching/typeorm-matcher.d.ts.map +1 -0
  452. package/dist/unified-provider/matching/typeorm-matcher.js +169 -0
  453. package/dist/unified-provider/matching/typeorm-matcher.js.map +1 -0
  454. package/dist/unified-provider/migration/deprecated-extractors.d.ts +104 -0
  455. package/dist/unified-provider/migration/deprecated-extractors.d.ts.map +1 -0
  456. package/dist/unified-provider/migration/deprecated-extractors.js +129 -0
  457. package/dist/unified-provider/migration/deprecated-extractors.js.map +1 -0
  458. package/dist/unified-provider/migration/deprecated-scanner.d.ts +40 -0
  459. package/dist/unified-provider/migration/deprecated-scanner.d.ts.map +1 -0
  460. package/dist/unified-provider/migration/deprecated-scanner.js +49 -0
  461. package/dist/unified-provider/migration/deprecated-scanner.js.map +1 -0
  462. package/dist/unified-provider/migration/index.d.ts +41 -0
  463. package/dist/unified-provider/migration/index.d.ts.map +1 -0
  464. package/dist/unified-provider/migration/index.js +43 -0
  465. package/dist/unified-provider/migration/index.js.map +1 -0
  466. package/dist/unified-provider/normalization/base-normalizer.d.ts +188 -0
  467. package/dist/unified-provider/normalization/base-normalizer.d.ts.map +1 -0
  468. package/dist/unified-provider/normalization/base-normalizer.js +339 -0
  469. package/dist/unified-provider/normalization/base-normalizer.js.map +1 -0
  470. package/dist/unified-provider/normalization/csharp-normalizer.d.ts +58 -0
  471. package/dist/unified-provider/normalization/csharp-normalizer.d.ts.map +1 -0
  472. package/dist/unified-provider/normalization/csharp-normalizer.js +467 -0
  473. package/dist/unified-provider/normalization/csharp-normalizer.js.map +1 -0
  474. package/dist/unified-provider/normalization/index.d.ts +23 -0
  475. package/dist/unified-provider/normalization/index.d.ts.map +1 -0
  476. package/dist/unified-provider/normalization/index.js +62 -0
  477. package/dist/unified-provider/normalization/index.js.map +1 -0
  478. package/dist/unified-provider/normalization/java-normalizer.d.ts +54 -0
  479. package/dist/unified-provider/normalization/java-normalizer.d.ts.map +1 -0
  480. package/dist/unified-provider/normalization/java-normalizer.js +453 -0
  481. package/dist/unified-provider/normalization/java-normalizer.js.map +1 -0
  482. package/dist/unified-provider/normalization/php-normalizer.d.ts +54 -0
  483. package/dist/unified-provider/normalization/php-normalizer.d.ts.map +1 -0
  484. package/dist/unified-provider/normalization/php-normalizer.js +489 -0
  485. package/dist/unified-provider/normalization/php-normalizer.js.map +1 -0
  486. package/dist/unified-provider/normalization/python-normalizer.d.ts +61 -0
  487. package/dist/unified-provider/normalization/python-normalizer.d.ts.map +1 -0
  488. package/dist/unified-provider/normalization/python-normalizer.js +548 -0
  489. package/dist/unified-provider/normalization/python-normalizer.js.map +1 -0
  490. package/dist/unified-provider/normalization/typescript-normalizer.d.ts +60 -0
  491. package/dist/unified-provider/normalization/typescript-normalizer.d.ts.map +1 -0
  492. package/dist/unified-provider/normalization/typescript-normalizer.js +608 -0
  493. package/dist/unified-provider/normalization/typescript-normalizer.js.map +1 -0
  494. package/dist/unified-provider/parsing/index.d.ts +5 -0
  495. package/dist/unified-provider/parsing/index.d.ts.map +1 -0
  496. package/dist/unified-provider/parsing/index.js +5 -0
  497. package/dist/unified-provider/parsing/index.js.map +1 -0
  498. package/dist/unified-provider/parsing/parser-registry.d.ts +70 -0
  499. package/dist/unified-provider/parsing/parser-registry.d.ts.map +1 -0
  500. package/dist/unified-provider/parsing/parser-registry.js +260 -0
  501. package/dist/unified-provider/parsing/parser-registry.js.map +1 -0
  502. package/dist/unified-provider/provider/index.d.ts +5 -0
  503. package/dist/unified-provider/provider/index.d.ts.map +1 -0
  504. package/dist/unified-provider/provider/index.js +5 -0
  505. package/dist/unified-provider/provider/index.js.map +1 -0
  506. package/dist/unified-provider/provider/unified-language-provider.d.ts +56 -0
  507. package/dist/unified-provider/provider/unified-language-provider.d.ts.map +1 -0
  508. package/dist/unified-provider/provider/unified-language-provider.js +212 -0
  509. package/dist/unified-provider/provider/unified-language-provider.js.map +1 -0
  510. package/dist/unified-provider/types.d.ts +389 -0
  511. package/dist/unified-provider/types.d.ts.map +1 -0
  512. package/dist/unified-provider/types.js +9 -0
  513. package/dist/unified-provider/types.js.map +1 -0
  514. package/dist/wrappers/clustering/clusterer.d.ts +43 -0
  515. package/dist/wrappers/clustering/clusterer.d.ts.map +1 -0
  516. package/dist/wrappers/clustering/clusterer.js +374 -0
  517. package/dist/wrappers/clustering/clusterer.js.map +1 -0
  518. package/dist/wrappers/clustering/exclusions.d.ts +47 -0
  519. package/dist/wrappers/clustering/exclusions.d.ts.map +1 -0
  520. package/dist/wrappers/clustering/exclusions.js +318 -0
  521. package/dist/wrappers/clustering/exclusions.js.map +1 -0
  522. package/dist/wrappers/clustering/index.d.ts +6 -0
  523. package/dist/wrappers/clustering/index.d.ts.map +1 -0
  524. package/dist/wrappers/clustering/index.js +6 -0
  525. package/dist/wrappers/clustering/index.js.map +1 -0
  526. package/dist/wrappers/detection/detector.d.ts +69 -0
  527. package/dist/wrappers/detection/detector.d.ts.map +1 -0
  528. package/dist/wrappers/detection/detector.js +279 -0
  529. package/dist/wrappers/detection/detector.js.map +1 -0
  530. package/dist/wrappers/detection/index.d.ts +5 -0
  531. package/dist/wrappers/detection/index.d.ts.map +1 -0
  532. package/dist/wrappers/detection/index.js +5 -0
  533. package/dist/wrappers/detection/index.js.map +1 -0
  534. package/dist/wrappers/export/index.d.ts +5 -0
  535. package/dist/wrappers/export/index.d.ts.map +1 -0
  536. package/dist/wrappers/export/index.js +5 -0
  537. package/dist/wrappers/export/index.js.map +1 -0
  538. package/dist/wrappers/export/json.d.ts +127 -0
  539. package/dist/wrappers/export/json.d.ts.map +1 -0
  540. package/dist/wrappers/export/json.js +160 -0
  541. package/dist/wrappers/export/json.js.map +1 -0
  542. package/dist/wrappers/index.d.ts +56 -0
  543. package/dist/wrappers/index.d.ts.map +1 -0
  544. package/dist/wrappers/index.js +159 -0
  545. package/dist/wrappers/index.js.map +1 -0
  546. package/dist/wrappers/integration/adapter.d.ts +52 -0
  547. package/dist/wrappers/integration/adapter.d.ts.map +1 -0
  548. package/dist/wrappers/integration/adapter.js +209 -0
  549. package/dist/wrappers/integration/adapter.js.map +1 -0
  550. package/dist/wrappers/integration/index.d.ts +9 -0
  551. package/dist/wrappers/integration/index.d.ts.map +1 -0
  552. package/dist/wrappers/integration/index.js +12 -0
  553. package/dist/wrappers/integration/index.js.map +1 -0
  554. package/dist/wrappers/integration/pattern-adapter.d.ts +52 -0
  555. package/dist/wrappers/integration/pattern-adapter.d.ts.map +1 -0
  556. package/dist/wrappers/integration/pattern-adapter.js +192 -0
  557. package/dist/wrappers/integration/pattern-adapter.js.map +1 -0
  558. package/dist/wrappers/integration/scanner.d.ts +85 -0
  559. package/dist/wrappers/integration/scanner.d.ts.map +1 -0
  560. package/dist/wrappers/integration/scanner.js +367 -0
  561. package/dist/wrappers/integration/scanner.js.map +1 -0
  562. package/dist/wrappers/primitives/discovery.d.ts +57 -0
  563. package/dist/wrappers/primitives/discovery.d.ts.map +1 -0
  564. package/dist/wrappers/primitives/discovery.js +389 -0
  565. package/dist/wrappers/primitives/discovery.js.map +1 -0
  566. package/dist/wrappers/primitives/index.d.ts +6 -0
  567. package/dist/wrappers/primitives/index.d.ts.map +1 -0
  568. package/dist/wrappers/primitives/index.js +6 -0
  569. package/dist/wrappers/primitives/index.js.map +1 -0
  570. package/dist/wrappers/primitives/registry.d.ts +63 -0
  571. package/dist/wrappers/primitives/registry.d.ts.map +1 -0
  572. package/dist/wrappers/primitives/registry.js +447 -0
  573. package/dist/wrappers/primitives/registry.js.map +1 -0
  574. package/dist/wrappers/types.d.ts +137 -0
  575. package/dist/wrappers/types.d.ts.map +1 -0
  576. package/dist/wrappers/types.js +7 -0
  577. package/dist/wrappers/types.js.map +1 -0
  578. package/package.json +23 -18
@@ -0,0 +1,169 @@
1
+ /**
2
+ * TypeORM Pattern Matcher
3
+ *
4
+ * Matches TypeORM patterns:
5
+ * - repository.find()
6
+ * - repository.findOne({ where: { id: 1 } })
7
+ * - repository.save(entity)
8
+ * - repository.delete({ id: 1 })
9
+ * - Entity.find()
10
+ * - getRepository(Entity).find()
11
+ */
12
+ import { BaseMatcher } from './base-matcher.js';
13
+ /**
14
+ * TypeORM pattern matcher
15
+ */
16
+ export class TypeORMMatcher extends BaseMatcher {
17
+ id = 'typeorm';
18
+ name = 'TypeORM';
19
+ languages = ['typescript', 'javascript'];
20
+ priority = 90;
21
+ readMethods = [
22
+ 'find', 'findOne', 'findOneBy', 'findBy', 'findAndCount',
23
+ 'findOneOrFail', 'findOneByOrFail', 'count', 'countBy',
24
+ 'exist', 'existsBy', 'query', 'createQueryBuilder',
25
+ ];
26
+ writeMethods = [
27
+ 'save', 'insert', 'update', 'upsert', 'increment', 'decrement',
28
+ ];
29
+ deleteMethods = [
30
+ 'delete', 'remove', 'softDelete', 'softRemove', 'restore',
31
+ ];
32
+ match(chain) {
33
+ // Pattern 1: repository.method() where repository name contains 'repository' or 'repo'
34
+ const repoMatch = this.matchRepositoryPattern(chain);
35
+ if (repoMatch)
36
+ return repoMatch;
37
+ // Pattern 2: Entity.method() where Entity is PascalCase
38
+ const entityMatch = this.matchEntityPattern(chain);
39
+ if (entityMatch)
40
+ return entityMatch;
41
+ // Pattern 3: getRepository(Entity).method()
42
+ const getRepoMatch = this.matchGetRepositoryPattern(chain);
43
+ if (getRepoMatch)
44
+ return getRepoMatch;
45
+ return null;
46
+ }
47
+ matchRepositoryPattern(chain) {
48
+ const receiver = chain.receiver.toLowerCase();
49
+ if (!receiver.includes('repository') && !receiver.includes('repo')) {
50
+ return null;
51
+ }
52
+ if (chain.segments.length < 1)
53
+ return null;
54
+ const methodSegment = chain.segments[0];
55
+ if (!methodSegment?.isCall)
56
+ return null;
57
+ const operation = this.getOperation(methodSegment.name);
58
+ if (!operation)
59
+ return null;
60
+ const table = this.inferTableName(chain.receiver);
61
+ const fields = this.extractFields(methodSegment.args);
62
+ return this.createMatch({
63
+ table,
64
+ fields,
65
+ operation,
66
+ confidence: 0.85,
67
+ metadata: { pattern: 'repository' },
68
+ });
69
+ }
70
+ matchEntityPattern(chain) {
71
+ // Entity must be PascalCase and not a common JS class
72
+ if (!/^[A-Z][a-zA-Z0-9]*$/.test(chain.receiver))
73
+ return null;
74
+ const commonClasses = [
75
+ 'Array', 'Object', 'String', 'Number', 'Boolean', 'Promise',
76
+ 'Map', 'Set', 'Date', 'Error', 'RegExp', 'JSON', 'Math',
77
+ 'Console', 'Buffer', 'Process',
78
+ ];
79
+ if (commonClasses.includes(chain.receiver))
80
+ return null;
81
+ if (chain.segments.length < 1)
82
+ return null;
83
+ const methodSegment = chain.segments[0];
84
+ if (!methodSegment?.isCall)
85
+ return null;
86
+ const operation = this.getOperation(methodSegment.name);
87
+ if (!operation)
88
+ return null;
89
+ const table = this.inferTableName(chain.receiver);
90
+ const fields = this.extractFields(methodSegment.args);
91
+ return this.createMatch({
92
+ table,
93
+ fields,
94
+ operation,
95
+ confidence: 0.75, // Lower confidence for entity pattern
96
+ metadata: { pattern: 'entity' },
97
+ });
98
+ }
99
+ matchGetRepositoryPattern(chain) {
100
+ // Look for getRepository in the chain
101
+ const getRepoIndex = chain.segments.findIndex(s => s.name === 'getRepository' && s.isCall);
102
+ if (getRepoIndex === -1)
103
+ return null;
104
+ const getRepoSegment = chain.segments[getRepoIndex];
105
+ if (!getRepoSegment || getRepoSegment.args.length === 0)
106
+ return null;
107
+ // Get entity name from argument
108
+ const entityArg = getRepoSegment.args[0];
109
+ if (!entityArg)
110
+ return null;
111
+ const entityName = entityArg.type === 'identifier'
112
+ ? entityArg.value
113
+ : entityArg.stringValue ?? 'unknown';
114
+ // Find the method call after getRepository
115
+ const methodSegment = chain.segments[getRepoIndex + 1];
116
+ if (!methodSegment?.isCall)
117
+ return null;
118
+ const operation = this.getOperation(methodSegment.name);
119
+ if (!operation)
120
+ return null;
121
+ const table = this.inferTableName(entityName);
122
+ const fields = this.extractFields(methodSegment.args);
123
+ return this.createMatch({
124
+ table,
125
+ fields,
126
+ operation,
127
+ confidence: 0.9,
128
+ metadata: { pattern: 'getRepository', entityName },
129
+ });
130
+ }
131
+ getOperation(methodName) {
132
+ if (this.readMethods.includes(methodName))
133
+ return 'read';
134
+ if (this.writeMethods.includes(methodName))
135
+ return 'write';
136
+ if (this.deleteMethods.includes(methodName))
137
+ return 'delete';
138
+ return null;
139
+ }
140
+ extractFields(args) {
141
+ if (args.length === 0)
142
+ return [];
143
+ const firstArg = args[0];
144
+ if (!firstArg || firstArg.type !== 'object' || !firstArg.properties) {
145
+ return [];
146
+ }
147
+ const fields = [];
148
+ // Extract from 'where' option
149
+ const whereArg = firstArg.properties['where'];
150
+ if (whereArg?.type === 'object' && whereArg.properties) {
151
+ fields.push(...Object.keys(whereArg.properties));
152
+ }
153
+ // Extract from 'select' option
154
+ const selectArg = firstArg.properties['select'];
155
+ if (selectArg?.type === 'object' && selectArg.properties) {
156
+ fields.push(...Object.keys(selectArg.properties));
157
+ }
158
+ // Extract from 'relations' option
159
+ const relationsArg = firstArg.properties['relations'];
160
+ if (relationsArg?.type === 'array' && relationsArg.elements) {
161
+ for (const elem of relationsArg.elements) {
162
+ if (elem.stringValue)
163
+ fields.push(elem.stringValue);
164
+ }
165
+ }
166
+ return [...new Set(fields)];
167
+ }
168
+ }
169
+ //# sourceMappingURL=typeorm-matcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeorm-matcher.js","sourceRoot":"","sources":["../../../src/unified-provider/matching/typeorm-matcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,WAAW;IACpC,EAAE,GAAG,SAAS,CAAC;IACf,IAAI,GAAG,SAAS,CAAC;IACjB,SAAS,GAAsB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC5D,QAAQ,GAAG,EAAE,CAAC;IAEN,WAAW,GAAG;QAC7B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc;QACxD,eAAe,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS;QACtD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,oBAAoB;KACnD,CAAC;IAEe,YAAY,GAAG;QAC9B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW;KAC/D,CAAC;IAEe,aAAa,GAAG;QAC/B,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS;KAC1D,CAAC;IAEF,KAAK,CAAC,KAAuB;QAC3B,uFAAuF;QACvF,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;QAEhC,wDAAwD;QACxD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC;QAEpC,4CAA4C;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC3D,IAAI,YAAY;YAAE,OAAO,YAAY,CAAC;QAEtC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,KAAuB;QACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAE3C,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC,WAAW,CAAC;YACtB,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,KAAuB;QAChD,sDAAsD;QACtD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAE7D,MAAM,aAAa,GAAG;YACpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;YAC3D,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;YACvD,SAAS,EAAE,QAAQ,EAAE,SAAS;SAC/B,CAAC;QACF,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAExD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAE3C,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC,WAAW,CAAC;YACtB,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU,EAAE,IAAI,EAAE,sCAAsC;YACxD,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;SAChC,CAAC,CAAC;IACL,CAAC;IAEO,yBAAyB,CAAC,KAAuB;QACvD,sCAAsC;QACtC,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAChD,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,MAAM,CACvC,CAAC;QAEF,IAAI,YAAY,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAErC,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAErE,gCAAgC;QAChC,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,KAAK,YAAY;YAChD,CAAC,CAAC,SAAS,CAAC,KAAK;YACjB,CAAC,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC;QAEvC,2CAA2C;QAC3C,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC,WAAW,CAAC;YACtB,KAAK;YACL,MAAM;YACN,SAAS;YACT,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE;SACnD,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,UAAkB;QACrC,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,MAAM,CAAC;QACzD,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,OAAO,CAAC;QAC3D,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,IAAqB;QACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACpE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,QAAQ,EAAE,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,+BAA+B;QAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,SAAS,EAAE,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,kCAAkC;QAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,YAAY,EAAE,IAAI,KAAK,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC5D,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBACzC,IAAI,IAAI,CAAC,WAAW;oBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9B,CAAC;CACF"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Deprecated Extractor Wrappers
3
+ *
4
+ * Provides backward compatibility for code using the old language-specific extractors.
5
+ * These wrappers delegate to the new UnifiedDataAccessAdapter while maintaining
6
+ * the same interface as the original extractors.
7
+ *
8
+ * @deprecated Use UnifiedDataAccessAdapter from './integration/unified-data-access-adapter.js' instead.
9
+ * These wrappers will be removed in a future major version.
10
+ */
11
+ import type { DataAccessPoint } from '../../boundaries/types.js';
12
+ import type { CallGraphLanguage } from '../../call-graph/types.js';
13
+ import { UnifiedDataAccessAdapter } from '../integration/unified-data-access-adapter.js';
14
+ /**
15
+ * Result type for data access extraction (compatible with old interface)
16
+ */
17
+ export interface DataAccessExtractionResult {
18
+ accessPoints: DataAccessPoint[];
19
+ language: string;
20
+ errors: string[];
21
+ }
22
+ /**
23
+ * Base class for deprecated extractors
24
+ * @deprecated Use UnifiedDataAccessAdapter instead
25
+ */
26
+ declare abstract class DeprecatedExtractor {
27
+ abstract readonly language: CallGraphLanguage;
28
+ abstract readonly extensions: string[];
29
+ private adapter;
30
+ protected getAdapter(): UnifiedDataAccessAdapter;
31
+ canHandle(filePath: string): boolean;
32
+ extract(_source: string, _filePath: string): DataAccessExtractionResult;
33
+ /**
34
+ * Async extraction method (recommended migration path)
35
+ */
36
+ extractAsync(source: string, filePath: string): Promise<DataAccessExtractionResult>;
37
+ }
38
+ /**
39
+ * @deprecated Use UnifiedDataAccessAdapter instead
40
+ */
41
+ export declare class TypeScriptDataAccessExtractor extends DeprecatedExtractor {
42
+ readonly language: CallGraphLanguage;
43
+ readonly extensions: string[];
44
+ }
45
+ /**
46
+ * @deprecated Use UnifiedDataAccessAdapter instead
47
+ */
48
+ export declare class PythonDataAccessExtractor extends DeprecatedExtractor {
49
+ readonly language: CallGraphLanguage;
50
+ readonly extensions: string[];
51
+ }
52
+ /**
53
+ * @deprecated Use UnifiedDataAccessAdapter instead
54
+ */
55
+ export declare class CSharpDataAccessExtractor extends DeprecatedExtractor {
56
+ readonly language: CallGraphLanguage;
57
+ readonly extensions: string[];
58
+ }
59
+ /**
60
+ * @deprecated Use UnifiedDataAccessAdapter instead
61
+ */
62
+ export declare class JavaDataAccessExtractor extends DeprecatedExtractor {
63
+ readonly language: CallGraphLanguage;
64
+ readonly extensions: string[];
65
+ }
66
+ /**
67
+ * @deprecated Use UnifiedDataAccessAdapter instead
68
+ */
69
+ export declare class PhpDataAccessExtractor extends DeprecatedExtractor {
70
+ readonly language: CallGraphLanguage;
71
+ readonly extensions: string[];
72
+ }
73
+ /**
74
+ * @deprecated Use createUnifiedDataAccessAdapter instead
75
+ */
76
+ export declare function createTypeScriptDataAccessExtractor(): TypeScriptDataAccessExtractor;
77
+ /**
78
+ * @deprecated Use createUnifiedDataAccessAdapter instead
79
+ */
80
+ export declare function createPythonDataAccessExtractor(): PythonDataAccessExtractor;
81
+ /**
82
+ * @deprecated Use createUnifiedDataAccessAdapter instead
83
+ */
84
+ export declare function createCSharpDataAccessExtractor(): CSharpDataAccessExtractor;
85
+ /**
86
+ * @deprecated Use createUnifiedDataAccessAdapter instead
87
+ */
88
+ export declare function createJavaDataAccessExtractor(): JavaDataAccessExtractor;
89
+ /**
90
+ * @deprecated Use createUnifiedDataAccessAdapter instead
91
+ */
92
+ export declare function createPhpDataAccessExtractor(): PhpDataAccessExtractor;
93
+ /**
94
+ * @deprecated Use createUnifiedDataAccessAdapter instead
95
+ */
96
+ export declare function createDataAccessExtractors(): {
97
+ typescript: TypeScriptDataAccessExtractor;
98
+ python: PythonDataAccessExtractor;
99
+ csharp: CSharpDataAccessExtractor;
100
+ java: JavaDataAccessExtractor;
101
+ php: PhpDataAccessExtractor;
102
+ };
103
+ export {};
104
+ //# sourceMappingURL=deprecated-extractors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecated-extractors.d.ts","sourceRoot":"","sources":["../../../src/unified-provider/migration/deprecated-extractors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EACL,wBAAwB,EAEzB,MAAM,+CAA+C,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,uBAAe,mBAAmB;IAChC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAEvC,OAAO,CAAC,OAAO,CAAyC;IAExD,SAAS,CAAC,UAAU,IAAI,wBAAwB;IAOhD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKpC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,0BAA0B;IAkBvE;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAQ1F;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,mBAAmB;IACpE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAgB;IACpD,QAAQ,CAAC,UAAU,WAAkD;CACtE;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,mBAAmB;IAChE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAY;IAChD,QAAQ,CAAC,UAAU,WAAmB;CACvC;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,mBAAmB;IAChE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAY;IAChD,QAAQ,CAAC,UAAU,WAAW;CAC/B;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,mBAAmB;IAC9D,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAU;IAC9C,QAAQ,CAAC,UAAU,WAAa;CACjC;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAS;IAC7C,QAAQ,CAAC,UAAU,WAAsB;CAC1C;AAED;;GAEG;AACH,wBAAgB,mCAAmC,IAAI,6BAA6B,CAEnF;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,yBAAyB,CAE3E;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,yBAAyB,CAE3E;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,uBAAuB,CAEvE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,sBAAsB,CAErE;AAED;;GAEG;AACH,wBAAgB,0BAA0B;;;;;;EAQzC"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Deprecated Extractor Wrappers
3
+ *
4
+ * Provides backward compatibility for code using the old language-specific extractors.
5
+ * These wrappers delegate to the new UnifiedDataAccessAdapter while maintaining
6
+ * the same interface as the original extractors.
7
+ *
8
+ * @deprecated Use UnifiedDataAccessAdapter from './integration/unified-data-access-adapter.js' instead.
9
+ * These wrappers will be removed in a future major version.
10
+ */
11
+ import { UnifiedDataAccessAdapter, createUnifiedDataAccessAdapter, } from '../integration/unified-data-access-adapter.js';
12
+ /**
13
+ * Base class for deprecated extractors
14
+ * @deprecated Use UnifiedDataAccessAdapter instead
15
+ */
16
+ class DeprecatedExtractor {
17
+ adapter = null;
18
+ getAdapter() {
19
+ if (!this.adapter) {
20
+ this.adapter = createUnifiedDataAccessAdapter();
21
+ }
22
+ return this.adapter;
23
+ }
24
+ canHandle(filePath) {
25
+ const ext = filePath.split('.').pop()?.toLowerCase();
26
+ return ext ? this.extensions.some(e => e.slice(1) === ext) : false;
27
+ }
28
+ extract(_source, _filePath) {
29
+ // Log deprecation warning in development
30
+ if (process.env['NODE_ENV'] !== 'production') {
31
+ console.warn(`[DEPRECATED] ${this.constructor.name} is deprecated. ` +
32
+ 'Use UnifiedDataAccessAdapter from "@driftdetect/core/unified-provider" instead.');
33
+ }
34
+ // Note: The old extractors were synchronous, but the new adapter is async.
35
+ // For backward compatibility, we need to handle this carefully.
36
+ // In practice, most consumers should migrate to the async API.
37
+ throw new Error(`${this.constructor.name}.extract() is deprecated and no longer synchronous. ` +
38
+ 'Use UnifiedDataAccessAdapter.extract() which returns a Promise.');
39
+ }
40
+ /**
41
+ * Async extraction method (recommended migration path)
42
+ */
43
+ async extractAsync(source, filePath) {
44
+ const result = await this.getAdapter().extract(source, filePath);
45
+ return {
46
+ accessPoints: result.accessPoints,
47
+ language: result.language,
48
+ errors: result.errors,
49
+ };
50
+ }
51
+ }
52
+ /**
53
+ * @deprecated Use UnifiedDataAccessAdapter instead
54
+ */
55
+ export class TypeScriptDataAccessExtractor extends DeprecatedExtractor {
56
+ language = 'typescript';
57
+ extensions = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'];
58
+ }
59
+ /**
60
+ * @deprecated Use UnifiedDataAccessAdapter instead
61
+ */
62
+ export class PythonDataAccessExtractor extends DeprecatedExtractor {
63
+ language = 'python';
64
+ extensions = ['.py', '.pyw'];
65
+ }
66
+ /**
67
+ * @deprecated Use UnifiedDataAccessAdapter instead
68
+ */
69
+ export class CSharpDataAccessExtractor extends DeprecatedExtractor {
70
+ language = 'csharp';
71
+ extensions = ['.cs'];
72
+ }
73
+ /**
74
+ * @deprecated Use UnifiedDataAccessAdapter instead
75
+ */
76
+ export class JavaDataAccessExtractor extends DeprecatedExtractor {
77
+ language = 'java';
78
+ extensions = ['.java'];
79
+ }
80
+ /**
81
+ * @deprecated Use UnifiedDataAccessAdapter instead
82
+ */
83
+ export class PhpDataAccessExtractor extends DeprecatedExtractor {
84
+ language = 'php';
85
+ extensions = ['.php', '.phtml'];
86
+ }
87
+ /**
88
+ * @deprecated Use createUnifiedDataAccessAdapter instead
89
+ */
90
+ export function createTypeScriptDataAccessExtractor() {
91
+ return new TypeScriptDataAccessExtractor();
92
+ }
93
+ /**
94
+ * @deprecated Use createUnifiedDataAccessAdapter instead
95
+ */
96
+ export function createPythonDataAccessExtractor() {
97
+ return new PythonDataAccessExtractor();
98
+ }
99
+ /**
100
+ * @deprecated Use createUnifiedDataAccessAdapter instead
101
+ */
102
+ export function createCSharpDataAccessExtractor() {
103
+ return new CSharpDataAccessExtractor();
104
+ }
105
+ /**
106
+ * @deprecated Use createUnifiedDataAccessAdapter instead
107
+ */
108
+ export function createJavaDataAccessExtractor() {
109
+ return new JavaDataAccessExtractor();
110
+ }
111
+ /**
112
+ * @deprecated Use createUnifiedDataAccessAdapter instead
113
+ */
114
+ export function createPhpDataAccessExtractor() {
115
+ return new PhpDataAccessExtractor();
116
+ }
117
+ /**
118
+ * @deprecated Use createUnifiedDataAccessAdapter instead
119
+ */
120
+ export function createDataAccessExtractors() {
121
+ return {
122
+ typescript: createTypeScriptDataAccessExtractor(),
123
+ python: createPythonDataAccessExtractor(),
124
+ csharp: createCSharpDataAccessExtractor(),
125
+ java: createJavaDataAccessExtractor(),
126
+ php: createPhpDataAccessExtractor(),
127
+ };
128
+ }
129
+ //# sourceMappingURL=deprecated-extractors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecated-extractors.js","sourceRoot":"","sources":["../../../src/unified-provider/migration/deprecated-extractors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Deprecated Scanner Wrapper
3
+ *
4
+ * Provides backward compatibility for code using the old SemanticDataAccessScanner.
5
+ * This wrapper delegates to the new UnifiedScanner while maintaining the same interface.
6
+ *
7
+ * @deprecated Use UnifiedScanner from './integration/unified-scanner.js' instead.
8
+ * This wrapper will be removed in a future major version.
9
+ */
10
+ import { detectProjectStack, type UnifiedScannerConfig, type UnifiedScanResult, type DetectedStack } from '../integration/unified-scanner.js';
11
+ export type SemanticScannerConfig = UnifiedScannerConfig;
12
+ export type SemanticScanResult = UnifiedScanResult;
13
+ export { type DetectedStack };
14
+ /**
15
+ * @deprecated Use UnifiedScanner instead.
16
+ * This class is a compatibility wrapper that delegates to UnifiedScanner.
17
+ */
18
+ export declare class SemanticDataAccessScanner {
19
+ private readonly scanner;
20
+ constructor(config: SemanticScannerConfig);
21
+ /**
22
+ * Scan files for data access patterns
23
+ * @deprecated Use UnifiedScanner.scanFiles() instead
24
+ */
25
+ scanFiles(files: string[]): Promise<SemanticScanResult>;
26
+ /**
27
+ * Scan directory with glob patterns
28
+ * @deprecated Use UnifiedScanner.scanDirectory() instead
29
+ */
30
+ scanDirectory(options?: {
31
+ patterns?: string[];
32
+ ignorePatterns?: string[];
33
+ }): Promise<SemanticScanResult>;
34
+ }
35
+ /**
36
+ * @deprecated Use createUnifiedScanner instead.
37
+ */
38
+ export declare function createSemanticDataAccessScanner(config: SemanticScannerConfig): SemanticDataAccessScanner;
39
+ export { detectProjectStack };
40
+ //# sourceMappingURL=deprecated-scanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecated-scanner.d.ts","sourceRoot":"","sources":["../../../src/unified-provider/migration/deprecated-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAGL,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,mCAAmC,CAAC;AAG3C,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AACzD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACnD,OAAO,EAAE,KAAK,aAAa,EAAE,CAAC;AAE9B;;;GAGG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAE7B,MAAM,EAAE,qBAAqB;IAWzC;;;OAGG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAI7D;;;OAGG;IACG,aAAa,CAAC,OAAO,GAAE;QAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAGrC;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,qBAAqB,GAAG,yBAAyB,CAExG;AAGD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Deprecated Scanner Wrapper
3
+ *
4
+ * Provides backward compatibility for code using the old SemanticDataAccessScanner.
5
+ * This wrapper delegates to the new UnifiedScanner while maintaining the same interface.
6
+ *
7
+ * @deprecated Use UnifiedScanner from './integration/unified-scanner.js' instead.
8
+ * This wrapper will be removed in a future major version.
9
+ */
10
+ import { UnifiedScanner, createUnifiedScanner, detectProjectStack, } from '../integration/unified-scanner.js';
11
+ export {};
12
+ /**
13
+ * @deprecated Use UnifiedScanner instead.
14
+ * This class is a compatibility wrapper that delegates to UnifiedScanner.
15
+ */
16
+ export class SemanticDataAccessScanner {
17
+ scanner;
18
+ constructor(config) {
19
+ // Log deprecation warning in development
20
+ if (process.env['NODE_ENV'] !== 'production') {
21
+ console.warn('[DEPRECATED] SemanticDataAccessScanner is deprecated. ' +
22
+ 'Use UnifiedScanner from "@driftdetect/core/unified-provider" instead.');
23
+ }
24
+ this.scanner = createUnifiedScanner(config);
25
+ }
26
+ /**
27
+ * Scan files for data access patterns
28
+ * @deprecated Use UnifiedScanner.scanFiles() instead
29
+ */
30
+ async scanFiles(files) {
31
+ return this.scanner.scanFiles(files);
32
+ }
33
+ /**
34
+ * Scan directory with glob patterns
35
+ * @deprecated Use UnifiedScanner.scanDirectory() instead
36
+ */
37
+ async scanDirectory(options = {}) {
38
+ return this.scanner.scanDirectory(options);
39
+ }
40
+ }
41
+ /**
42
+ * @deprecated Use createUnifiedScanner instead.
43
+ */
44
+ export function createSemanticDataAccessScanner(config) {
45
+ return new SemanticDataAccessScanner(config);
46
+ }
47
+ // Re-export detectProjectStack (not deprecated, same implementation)
48
+ export { detectProjectStack };
49
+ //# sourceMappingURL=deprecated-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecated-scanner.js","sourceRoot":"","sources":["../../../src/unified-provider/migration/deprecated-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GAInB,MAAM,mCAAmC,CAAC;AAK3C,OAAO,EAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,OAAO,yBAAyB;IACnB,OAAO,CAAiB;IAEzC,YAAY,MAA6B;QACvC,yCAAyC;QACzC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;YAC7C,OAAO,CAAC,IAAI,CACV,wDAAwD;gBACxD,uEAAuE,CACxE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,KAAe;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,UAGhB,EAAE;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAA6B;IAC3E,OAAO,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,qEAAqE;AACrE,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Migration Module
3
+ *
4
+ * Provides backward-compatible wrappers for deprecated APIs.
5
+ * These wrappers delegate to the new UnifiedLanguageProvider while
6
+ * maintaining the same interface as the original implementations.
7
+ *
8
+ * Migration Guide:
9
+ * ================
10
+ *
11
+ * OLD (deprecated):
12
+ * ```typescript
13
+ * import { SemanticDataAccessScanner, createSemanticDataAccessScanner } from 'driftdetect-core';
14
+ * const scanner = createSemanticDataAccessScanner({ rootDir: '/path' });
15
+ * const result = await scanner.scanDirectory();
16
+ * ```
17
+ *
18
+ * NEW (recommended):
19
+ * ```typescript
20
+ * import { UnifiedScanner, createUnifiedScanner } from 'driftdetect-core';
21
+ * const scanner = createUnifiedScanner({ rootDir: '/path' });
22
+ * const result = await scanner.scanDirectory();
23
+ * ```
24
+ *
25
+ * OLD (deprecated):
26
+ * ```typescript
27
+ * import { TypeScriptDataAccessExtractor } from 'driftdetect-core';
28
+ * const extractor = new TypeScriptDataAccessExtractor();
29
+ * const result = extractor.extract(source, filePath);
30
+ * ```
31
+ *
32
+ * NEW (recommended):
33
+ * ```typescript
34
+ * import { UnifiedDataAccessAdapter, createUnifiedDataAccessAdapter } from 'driftdetect-core';
35
+ * const adapter = createUnifiedDataAccessAdapter();
36
+ * const result = await adapter.extract(source, filePath);
37
+ * ```
38
+ */
39
+ export { SemanticDataAccessScanner, createSemanticDataAccessScanner, detectProjectStack, type SemanticScannerConfig, type SemanticScanResult, type DetectedStack, } from './deprecated-scanner.js';
40
+ export { TypeScriptDataAccessExtractor, PythonDataAccessExtractor, CSharpDataAccessExtractor, JavaDataAccessExtractor, PhpDataAccessExtractor, createTypeScriptDataAccessExtractor, createPythonDataAccessExtractor, createCSharpDataAccessExtractor, createJavaDataAccessExtractor, createPhpDataAccessExtractor, createDataAccessExtractors, type DataAccessExtractionResult, } from './deprecated-extractors.js';
41
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/unified-provider/migration/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,mCAAmC,EACnC,+BAA+B,EAC/B,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,0BAA0B,GAChC,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Migration Module
3
+ *
4
+ * Provides backward-compatible wrappers for deprecated APIs.
5
+ * These wrappers delegate to the new UnifiedLanguageProvider while
6
+ * maintaining the same interface as the original implementations.
7
+ *
8
+ * Migration Guide:
9
+ * ================
10
+ *
11
+ * OLD (deprecated):
12
+ * ```typescript
13
+ * import { SemanticDataAccessScanner, createSemanticDataAccessScanner } from 'driftdetect-core';
14
+ * const scanner = createSemanticDataAccessScanner({ rootDir: '/path' });
15
+ * const result = await scanner.scanDirectory();
16
+ * ```
17
+ *
18
+ * NEW (recommended):
19
+ * ```typescript
20
+ * import { UnifiedScanner, createUnifiedScanner } from 'driftdetect-core';
21
+ * const scanner = createUnifiedScanner({ rootDir: '/path' });
22
+ * const result = await scanner.scanDirectory();
23
+ * ```
24
+ *
25
+ * OLD (deprecated):
26
+ * ```typescript
27
+ * import { TypeScriptDataAccessExtractor } from 'driftdetect-core';
28
+ * const extractor = new TypeScriptDataAccessExtractor();
29
+ * const result = extractor.extract(source, filePath);
30
+ * ```
31
+ *
32
+ * NEW (recommended):
33
+ * ```typescript
34
+ * import { UnifiedDataAccessAdapter, createUnifiedDataAccessAdapter } from 'driftdetect-core';
35
+ * const adapter = createUnifiedDataAccessAdapter();
36
+ * const result = await adapter.extract(source, filePath);
37
+ * ```
38
+ */
39
+ // Deprecated Scanner (wraps UnifiedScanner)
40
+ export { SemanticDataAccessScanner, createSemanticDataAccessScanner, detectProjectStack, } from './deprecated-scanner.js';
41
+ // Deprecated Extractors (wrap UnifiedDataAccessAdapter)
42
+ export { TypeScriptDataAccessExtractor, PythonDataAccessExtractor, CSharpDataAccessExtractor, JavaDataAccessExtractor, PhpDataAccessExtractor, createTypeScriptDataAccessExtractor, createPythonDataAccessExtractor, createCSharpDataAccessExtractor, createJavaDataAccessExtractor, createPhpDataAccessExtractor, createDataAccessExtractors, } from './deprecated-extractors.js';
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/unified-provider/migration/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,4CAA4C;AAC5C,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,kBAAkB,GAInB,MAAM,yBAAyB,CAAC;AAEjC,wDAAwD;AACxD,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,mCAAmC,EACnC,+BAA+B,EAC/B,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,0BAA0B,GAE3B,MAAM,4BAA4B,CAAC"}