driftdetect-core 0.4.4 → 0.4.6

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 (277) 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.map +1 -1
  12. package/dist/call-graph/extractors/csharp-data-access-extractor.js +10 -5
  13. package/dist/call-graph/extractors/csharp-data-access-extractor.js.map +1 -1
  14. package/dist/call-graph/extractors/data-access-extractor.d.ts +16 -2
  15. package/dist/call-graph/extractors/data-access-extractor.d.ts.map +1 -1
  16. package/dist/call-graph/extractors/data-access-extractor.js +114 -5
  17. package/dist/call-graph/extractors/data-access-extractor.js.map +1 -1
  18. package/dist/call-graph/extractors/java-data-access-extractor.d.ts.map +1 -1
  19. package/dist/call-graph/extractors/java-data-access-extractor.js +12 -6
  20. package/dist/call-graph/extractors/java-data-access-extractor.js.map +1 -1
  21. package/dist/call-graph/extractors/php-data-access-extractor.d.ts.map +1 -1
  22. package/dist/call-graph/extractors/php-data-access-extractor.js +12 -6
  23. package/dist/call-graph/extractors/php-data-access-extractor.js.map +1 -1
  24. package/dist/call-graph/extractors/python-data-access-extractor.d.ts.map +1 -1
  25. package/dist/call-graph/extractors/python-data-access-extractor.js +12 -6
  26. package/dist/call-graph/extractors/python-data-access-extractor.js.map +1 -1
  27. package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts +4 -0
  28. package/dist/call-graph/extractors/semantic-data-access-scanner.d.ts.map +1 -1
  29. package/dist/call-graph/extractors/semantic-data-access-scanner.js +46 -2
  30. package/dist/call-graph/extractors/semantic-data-access-scanner.js.map +1 -1
  31. package/dist/call-graph/extractors/typescript-data-access-extractor.d.ts.map +1 -1
  32. package/dist/call-graph/extractors/typescript-data-access-extractor.js +23 -10
  33. package/dist/call-graph/extractors/typescript-data-access-extractor.js.map +1 -1
  34. package/dist/call-graph/index.d.ts +2 -4
  35. package/dist/call-graph/index.d.ts.map +1 -1
  36. package/dist/call-graph/index.js +5 -6
  37. package/dist/call-graph/index.js.map +1 -1
  38. package/dist/index.d.ts +4 -2
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +15 -5
  41. package/dist/index.js.map +1 -1
  42. package/dist/language-intelligence/base-normalizer.d.ts +68 -0
  43. package/dist/language-intelligence/base-normalizer.d.ts.map +1 -0
  44. package/dist/language-intelligence/base-normalizer.js +210 -0
  45. package/dist/language-intelligence/base-normalizer.js.map +1 -0
  46. package/dist/language-intelligence/framework-registry.d.ts +89 -0
  47. package/dist/language-intelligence/framework-registry.d.ts.map +1 -0
  48. package/dist/language-intelligence/framework-registry.js +165 -0
  49. package/dist/language-intelligence/framework-registry.js.map +1 -0
  50. package/dist/language-intelligence/frameworks/aspnet.d.ts +11 -0
  51. package/dist/language-intelligence/frameworks/aspnet.d.ts.map +1 -0
  52. package/dist/language-intelligence/frameworks/aspnet.js +325 -0
  53. package/dist/language-intelligence/frameworks/aspnet.js.map +1 -0
  54. package/dist/language-intelligence/frameworks/fastapi.d.ts +11 -0
  55. package/dist/language-intelligence/frameworks/fastapi.d.ts.map +1 -0
  56. package/dist/language-intelligence/frameworks/fastapi.js +188 -0
  57. package/dist/language-intelligence/frameworks/fastapi.js.map +1 -0
  58. package/dist/language-intelligence/frameworks/index.d.ts +32 -0
  59. package/dist/language-intelligence/frameworks/index.d.ts.map +1 -0
  60. package/dist/language-intelligence/frameworks/index.js +51 -0
  61. package/dist/language-intelligence/frameworks/index.js.map +1 -0
  62. package/dist/language-intelligence/frameworks/laravel.d.ts +12 -0
  63. package/dist/language-intelligence/frameworks/laravel.d.ts.map +1 -0
  64. package/dist/language-intelligence/frameworks/laravel.js +194 -0
  65. package/dist/language-intelligence/frameworks/laravel.js.map +1 -0
  66. package/dist/language-intelligence/frameworks/nestjs.d.ts +11 -0
  67. package/dist/language-intelligence/frameworks/nestjs.d.ts.map +1 -0
  68. package/dist/language-intelligence/frameworks/nestjs.js +307 -0
  69. package/dist/language-intelligence/frameworks/nestjs.js.map +1 -0
  70. package/dist/language-intelligence/frameworks/spring.d.ts +11 -0
  71. package/dist/language-intelligence/frameworks/spring.d.ts.map +1 -0
  72. package/dist/language-intelligence/frameworks/spring.js +369 -0
  73. package/dist/language-intelligence/frameworks/spring.js.map +1 -0
  74. package/dist/language-intelligence/index.d.ts +33 -0
  75. package/dist/language-intelligence/index.d.ts.map +1 -0
  76. package/dist/language-intelligence/index.js +37 -0
  77. package/dist/language-intelligence/index.js.map +1 -0
  78. package/dist/language-intelligence/language-intelligence.d.ts +99 -0
  79. package/dist/language-intelligence/language-intelligence.d.ts.map +1 -0
  80. package/dist/language-intelligence/language-intelligence.js +239 -0
  81. package/dist/language-intelligence/language-intelligence.js.map +1 -0
  82. package/dist/language-intelligence/normalizers/csharp-normalizer.d.ts +39 -0
  83. package/dist/language-intelligence/normalizers/csharp-normalizer.d.ts.map +1 -0
  84. package/dist/language-intelligence/normalizers/csharp-normalizer.js +86 -0
  85. package/dist/language-intelligence/normalizers/csharp-normalizer.js.map +1 -0
  86. package/dist/language-intelligence/normalizers/index.d.ts +25 -0
  87. package/dist/language-intelligence/normalizers/index.d.ts.map +1 -0
  88. package/dist/language-intelligence/normalizers/index.js +60 -0
  89. package/dist/language-intelligence/normalizers/index.js.map +1 -0
  90. package/dist/language-intelligence/normalizers/java-normalizer.d.ts +39 -0
  91. package/dist/language-intelligence/normalizers/java-normalizer.d.ts.map +1 -0
  92. package/dist/language-intelligence/normalizers/java-normalizer.js +96 -0
  93. package/dist/language-intelligence/normalizers/java-normalizer.js.map +1 -0
  94. package/dist/language-intelligence/normalizers/php-normalizer.d.ts +39 -0
  95. package/dist/language-intelligence/normalizers/php-normalizer.d.ts.map +1 -0
  96. package/dist/language-intelligence/normalizers/php-normalizer.js +86 -0
  97. package/dist/language-intelligence/normalizers/php-normalizer.js.map +1 -0
  98. package/dist/language-intelligence/normalizers/python-normalizer.d.ts +39 -0
  99. package/dist/language-intelligence/normalizers/python-normalizer.d.ts.map +1 -0
  100. package/dist/language-intelligence/normalizers/python-normalizer.js +95 -0
  101. package/dist/language-intelligence/normalizers/python-normalizer.js.map +1 -0
  102. package/dist/language-intelligence/normalizers/typescript-normalizer.d.ts +39 -0
  103. package/dist/language-intelligence/normalizers/typescript-normalizer.d.ts.map +1 -0
  104. package/dist/language-intelligence/normalizers/typescript-normalizer.js +84 -0
  105. package/dist/language-intelligence/normalizers/typescript-normalizer.js.map +1 -0
  106. package/dist/language-intelligence/types.d.ts +270 -0
  107. package/dist/language-intelligence/types.d.ts.map +1 -0
  108. package/dist/language-intelligence/types.js +9 -0
  109. package/dist/language-intelligence/types.js.map +1 -0
  110. package/dist/scanner/file-processor-worker.d.ts +66 -0
  111. package/dist/scanner/file-processor-worker.d.ts.map +1 -0
  112. package/dist/scanner/file-processor-worker.js +189 -0
  113. package/dist/scanner/file-processor-worker.js.map +1 -0
  114. package/dist/scanner/index.d.ts +2 -0
  115. package/dist/scanner/index.d.ts.map +1 -1
  116. package/dist/scanner/index.js +2 -0
  117. package/dist/scanner/index.js.map +1 -1
  118. package/dist/scanner/threaded-worker-pool.d.ts +182 -0
  119. package/dist/scanner/threaded-worker-pool.d.ts.map +1 -0
  120. package/dist/scanner/threaded-worker-pool.js +243 -0
  121. package/dist/scanner/threaded-worker-pool.js.map +1 -0
  122. package/dist/store/types.d.ts +6 -3
  123. package/dist/store/types.d.ts.map +1 -1
  124. package/dist/store/types.js.map +1 -1
  125. package/dist/unified-provider/compat/index.d.ts +11 -0
  126. package/dist/unified-provider/compat/index.d.ts.map +1 -0
  127. package/dist/unified-provider/compat/index.js +13 -0
  128. package/dist/unified-provider/compat/index.js.map +1 -0
  129. package/dist/unified-provider/compat/legacy-extractors.d.ts +63 -0
  130. package/dist/unified-provider/compat/legacy-extractors.d.ts.map +1 -0
  131. package/dist/unified-provider/compat/legacy-extractors.js +80 -0
  132. package/dist/unified-provider/compat/legacy-extractors.js.map +1 -0
  133. package/dist/unified-provider/compat/legacy-scanner.d.ts +28 -0
  134. package/dist/unified-provider/compat/legacy-scanner.d.ts.map +1 -0
  135. package/dist/unified-provider/compat/legacy-scanner.js +31 -0
  136. package/dist/unified-provider/compat/legacy-scanner.js.map +1 -0
  137. package/dist/unified-provider/index.d.ts +28 -0
  138. package/dist/unified-provider/index.d.ts.map +1 -0
  139. package/dist/unified-provider/index.js +47 -0
  140. package/dist/unified-provider/index.js.map +1 -0
  141. package/dist/unified-provider/integration/index.d.ts +9 -0
  142. package/dist/unified-provider/integration/index.d.ts.map +1 -0
  143. package/dist/unified-provider/integration/index.js +11 -0
  144. package/dist/unified-provider/integration/index.js.map +1 -0
  145. package/dist/unified-provider/integration/unified-data-access-adapter.d.ts +75 -0
  146. package/dist/unified-provider/integration/unified-data-access-adapter.d.ts.map +1 -0
  147. package/dist/unified-provider/integration/unified-data-access-adapter.js +210 -0
  148. package/dist/unified-provider/integration/unified-data-access-adapter.js.map +1 -0
  149. package/dist/unified-provider/integration/unified-scanner.d.ts +90 -0
  150. package/dist/unified-provider/integration/unified-scanner.d.ts.map +1 -0
  151. package/dist/unified-provider/integration/unified-scanner.js +369 -0
  152. package/dist/unified-provider/integration/unified-scanner.js.map +1 -0
  153. package/dist/unified-provider/matching/base-matcher.d.ts +80 -0
  154. package/dist/unified-provider/matching/base-matcher.d.ts.map +1 -0
  155. package/dist/unified-provider/matching/base-matcher.js +196 -0
  156. package/dist/unified-provider/matching/base-matcher.js.map +1 -0
  157. package/dist/unified-provider/matching/django-matcher.d.ts +32 -0
  158. package/dist/unified-provider/matching/django-matcher.d.ts.map +1 -0
  159. package/dist/unified-provider/matching/django-matcher.js +107 -0
  160. package/dist/unified-provider/matching/django-matcher.js.map +1 -0
  161. package/dist/unified-provider/matching/drizzle-matcher.d.ts +25 -0
  162. package/dist/unified-provider/matching/drizzle-matcher.d.ts.map +1 -0
  163. package/dist/unified-provider/matching/drizzle-matcher.js +123 -0
  164. package/dist/unified-provider/matching/drizzle-matcher.js.map +1 -0
  165. package/dist/unified-provider/matching/efcore-matcher.d.ts +27 -0
  166. package/dist/unified-provider/matching/efcore-matcher.d.ts.map +1 -0
  167. package/dist/unified-provider/matching/efcore-matcher.js +88 -0
  168. package/dist/unified-provider/matching/efcore-matcher.js.map +1 -0
  169. package/dist/unified-provider/matching/eloquent-matcher.d.ts +32 -0
  170. package/dist/unified-provider/matching/eloquent-matcher.d.ts.map +1 -0
  171. package/dist/unified-provider/matching/eloquent-matcher.js +162 -0
  172. package/dist/unified-provider/matching/eloquent-matcher.js.map +1 -0
  173. package/dist/unified-provider/matching/index.d.ts +19 -0
  174. package/dist/unified-provider/matching/index.d.ts.map +1 -0
  175. package/dist/unified-provider/matching/index.js +24 -0
  176. package/dist/unified-provider/matching/index.js.map +1 -0
  177. package/dist/unified-provider/matching/knex-matcher.d.ts +26 -0
  178. package/dist/unified-provider/matching/knex-matcher.d.ts.map +1 -0
  179. package/dist/unified-provider/matching/knex-matcher.js +109 -0
  180. package/dist/unified-provider/matching/knex-matcher.js.map +1 -0
  181. package/dist/unified-provider/matching/matcher-registry.d.ts +55 -0
  182. package/dist/unified-provider/matching/matcher-registry.d.ts.map +1 -0
  183. package/dist/unified-provider/matching/matcher-registry.js +130 -0
  184. package/dist/unified-provider/matching/matcher-registry.js.map +1 -0
  185. package/dist/unified-provider/matching/mongoose-matcher.d.ts +30 -0
  186. package/dist/unified-provider/matching/mongoose-matcher.d.ts.map +1 -0
  187. package/dist/unified-provider/matching/mongoose-matcher.js +132 -0
  188. package/dist/unified-provider/matching/mongoose-matcher.js.map +1 -0
  189. package/dist/unified-provider/matching/prisma-matcher.d.ts +31 -0
  190. package/dist/unified-provider/matching/prisma-matcher.d.ts.map +1 -0
  191. package/dist/unified-provider/matching/prisma-matcher.js +123 -0
  192. package/dist/unified-provider/matching/prisma-matcher.js.map +1 -0
  193. package/dist/unified-provider/matching/raw-sql-matcher.d.ts +31 -0
  194. package/dist/unified-provider/matching/raw-sql-matcher.d.ts.map +1 -0
  195. package/dist/unified-provider/matching/raw-sql-matcher.js +173 -0
  196. package/dist/unified-provider/matching/raw-sql-matcher.js.map +1 -0
  197. package/dist/unified-provider/matching/sequelize-matcher.d.ts +28 -0
  198. package/dist/unified-provider/matching/sequelize-matcher.d.ts.map +1 -0
  199. package/dist/unified-provider/matching/sequelize-matcher.js +132 -0
  200. package/dist/unified-provider/matching/sequelize-matcher.js.map +1 -0
  201. package/dist/unified-provider/matching/spring-data-matcher.d.ts +32 -0
  202. package/dist/unified-provider/matching/spring-data-matcher.d.ts.map +1 -0
  203. package/dist/unified-provider/matching/spring-data-matcher.js +112 -0
  204. package/dist/unified-provider/matching/spring-data-matcher.js.map +1 -0
  205. package/dist/unified-provider/matching/sqlalchemy-matcher.d.ts +32 -0
  206. package/dist/unified-provider/matching/sqlalchemy-matcher.d.ts.map +1 -0
  207. package/dist/unified-provider/matching/sqlalchemy-matcher.js +201 -0
  208. package/dist/unified-provider/matching/sqlalchemy-matcher.js.map +1 -0
  209. package/dist/unified-provider/matching/supabase-matcher.d.ts +27 -0
  210. package/dist/unified-provider/matching/supabase-matcher.d.ts.map +1 -0
  211. package/dist/unified-provider/matching/supabase-matcher.js +122 -0
  212. package/dist/unified-provider/matching/supabase-matcher.js.map +1 -0
  213. package/dist/unified-provider/matching/typeorm-matcher.d.ts +32 -0
  214. package/dist/unified-provider/matching/typeorm-matcher.d.ts.map +1 -0
  215. package/dist/unified-provider/matching/typeorm-matcher.js +169 -0
  216. package/dist/unified-provider/matching/typeorm-matcher.js.map +1 -0
  217. package/dist/unified-provider/migration/deprecated-extractors.d.ts +104 -0
  218. package/dist/unified-provider/migration/deprecated-extractors.d.ts.map +1 -0
  219. package/dist/unified-provider/migration/deprecated-extractors.js +129 -0
  220. package/dist/unified-provider/migration/deprecated-extractors.js.map +1 -0
  221. package/dist/unified-provider/migration/deprecated-scanner.d.ts +40 -0
  222. package/dist/unified-provider/migration/deprecated-scanner.d.ts.map +1 -0
  223. package/dist/unified-provider/migration/deprecated-scanner.js +49 -0
  224. package/dist/unified-provider/migration/deprecated-scanner.js.map +1 -0
  225. package/dist/unified-provider/migration/index.d.ts +41 -0
  226. package/dist/unified-provider/migration/index.d.ts.map +1 -0
  227. package/dist/unified-provider/migration/index.js +43 -0
  228. package/dist/unified-provider/migration/index.js.map +1 -0
  229. package/dist/unified-provider/normalization/base-normalizer.d.ts +188 -0
  230. package/dist/unified-provider/normalization/base-normalizer.d.ts.map +1 -0
  231. package/dist/unified-provider/normalization/base-normalizer.js +339 -0
  232. package/dist/unified-provider/normalization/base-normalizer.js.map +1 -0
  233. package/dist/unified-provider/normalization/csharp-normalizer.d.ts +58 -0
  234. package/dist/unified-provider/normalization/csharp-normalizer.d.ts.map +1 -0
  235. package/dist/unified-provider/normalization/csharp-normalizer.js +467 -0
  236. package/dist/unified-provider/normalization/csharp-normalizer.js.map +1 -0
  237. package/dist/unified-provider/normalization/index.d.ts +23 -0
  238. package/dist/unified-provider/normalization/index.d.ts.map +1 -0
  239. package/dist/unified-provider/normalization/index.js +62 -0
  240. package/dist/unified-provider/normalization/index.js.map +1 -0
  241. package/dist/unified-provider/normalization/java-normalizer.d.ts +54 -0
  242. package/dist/unified-provider/normalization/java-normalizer.d.ts.map +1 -0
  243. package/dist/unified-provider/normalization/java-normalizer.js +453 -0
  244. package/dist/unified-provider/normalization/java-normalizer.js.map +1 -0
  245. package/dist/unified-provider/normalization/php-normalizer.d.ts +54 -0
  246. package/dist/unified-provider/normalization/php-normalizer.d.ts.map +1 -0
  247. package/dist/unified-provider/normalization/php-normalizer.js +489 -0
  248. package/dist/unified-provider/normalization/php-normalizer.js.map +1 -0
  249. package/dist/unified-provider/normalization/python-normalizer.d.ts +61 -0
  250. package/dist/unified-provider/normalization/python-normalizer.d.ts.map +1 -0
  251. package/dist/unified-provider/normalization/python-normalizer.js +548 -0
  252. package/dist/unified-provider/normalization/python-normalizer.js.map +1 -0
  253. package/dist/unified-provider/normalization/typescript-normalizer.d.ts +60 -0
  254. package/dist/unified-provider/normalization/typescript-normalizer.d.ts.map +1 -0
  255. package/dist/unified-provider/normalization/typescript-normalizer.js +608 -0
  256. package/dist/unified-provider/normalization/typescript-normalizer.js.map +1 -0
  257. package/dist/unified-provider/parsing/index.d.ts +5 -0
  258. package/dist/unified-provider/parsing/index.d.ts.map +1 -0
  259. package/dist/unified-provider/parsing/index.js +5 -0
  260. package/dist/unified-provider/parsing/index.js.map +1 -0
  261. package/dist/unified-provider/parsing/parser-registry.d.ts +70 -0
  262. package/dist/unified-provider/parsing/parser-registry.d.ts.map +1 -0
  263. package/dist/unified-provider/parsing/parser-registry.js +260 -0
  264. package/dist/unified-provider/parsing/parser-registry.js.map +1 -0
  265. package/dist/unified-provider/provider/index.d.ts +5 -0
  266. package/dist/unified-provider/provider/index.d.ts.map +1 -0
  267. package/dist/unified-provider/provider/index.js +5 -0
  268. package/dist/unified-provider/provider/index.js.map +1 -0
  269. package/dist/unified-provider/provider/unified-language-provider.d.ts +56 -0
  270. package/dist/unified-provider/provider/unified-language-provider.d.ts.map +1 -0
  271. package/dist/unified-provider/provider/unified-language-provider.js +212 -0
  272. package/dist/unified-provider/provider/unified-language-provider.js.map +1 -0
  273. package/dist/unified-provider/types.d.ts +389 -0
  274. package/dist/unified-provider/types.d.ts.map +1 -0
  275. package/dist/unified-provider/types.js +9 -0
  276. package/dist/unified-provider/types.js.map +1 -0
  277. package/package.json +21 -17
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Laravel Framework Patterns
3
+ *
4
+ * Semantic mappings for Laravel patterns.
5
+ * Note: Laravel uses less decorators and more conventions/method calls.
6
+ */
7
+ /**
8
+ * Laravel framework patterns
9
+ */
10
+ export const LARAVEL_PATTERNS = {
11
+ framework: 'laravel',
12
+ displayName: 'Laravel',
13
+ languages: ['php'],
14
+ decoratorMappings: [
15
+ // Route attributes (PHP 8+)
16
+ {
17
+ pattern: /#\[Route\s*\(/,
18
+ semantic: {
19
+ category: 'routing',
20
+ intent: 'HTTP route definition',
21
+ isEntryPoint: true,
22
+ isInjectable: false,
23
+ requiresAuth: false,
24
+ },
25
+ extractArgs: (raw) => {
26
+ const pathMatch = raw.match(/["']([^"']+)["']/);
27
+ const methodMatch = raw.match(/methods?:\s*\[?["'](\w+)["']/i);
28
+ return {
29
+ ...(pathMatch?.[1] !== undefined && { path: pathMatch[1] }),
30
+ ...(methodMatch?.[1] !== undefined && { methods: [methodMatch[1].toUpperCase()] }),
31
+ };
32
+ },
33
+ },
34
+ // Middleware attribute
35
+ {
36
+ pattern: /#\[Middleware\s*\(/,
37
+ semantic: {
38
+ category: 'middleware',
39
+ intent: 'Route middleware',
40
+ isEntryPoint: false,
41
+ isInjectable: false,
42
+ requiresAuth: false,
43
+ },
44
+ extractArgs: (raw) => {
45
+ const middlewareMatch = raw.match(/["']([^"']+)["']/);
46
+ return middlewareMatch?.[1] !== undefined ? { middleware: [middlewareMatch[1]] } : {};
47
+ },
48
+ },
49
+ // Auth middleware
50
+ {
51
+ pattern: /#\[Middleware\s*\(\s*["']auth/,
52
+ semantic: {
53
+ category: 'auth',
54
+ intent: 'Authentication required',
55
+ isEntryPoint: false,
56
+ isInjectable: false,
57
+ requiresAuth: true,
58
+ },
59
+ extractArgs: () => ({}),
60
+ },
61
+ // Validation
62
+ {
63
+ pattern: /#\[Validate\s*\(/,
64
+ semantic: {
65
+ category: 'validation',
66
+ intent: 'Request validation',
67
+ isEntryPoint: false,
68
+ isInjectable: false,
69
+ requiresAuth: false,
70
+ },
71
+ extractArgs: () => ({}),
72
+ },
73
+ // Testing
74
+ {
75
+ pattern: /#\[Test\]/,
76
+ semantic: {
77
+ category: 'test',
78
+ intent: 'Test method',
79
+ isEntryPoint: false,
80
+ isInjectable: false,
81
+ requiresAuth: false,
82
+ },
83
+ extractArgs: () => ({}),
84
+ },
85
+ {
86
+ pattern: /#\[DataProvider\s*\(/,
87
+ semantic: {
88
+ category: 'test',
89
+ intent: 'Test data provider',
90
+ isEntryPoint: false,
91
+ isInjectable: false,
92
+ requiresAuth: false,
93
+ },
94
+ extractArgs: () => ({}),
95
+ },
96
+ // Caching
97
+ {
98
+ pattern: /#\[Cache\s*\(/,
99
+ semantic: {
100
+ category: 'caching',
101
+ intent: 'Cache result',
102
+ isEntryPoint: false,
103
+ isInjectable: false,
104
+ requiresAuth: false,
105
+ },
106
+ extractArgs: () => ({}),
107
+ },
108
+ // Queue/Jobs
109
+ {
110
+ pattern: /#\[Queue\s*\(/,
111
+ semantic: {
112
+ category: 'messaging',
113
+ intent: 'Queue job',
114
+ isEntryPoint: true,
115
+ isInjectable: false,
116
+ requiresAuth: false,
117
+ },
118
+ extractArgs: () => ({}),
119
+ },
120
+ // Events
121
+ {
122
+ pattern: /#\[Listener\s*\(/,
123
+ semantic: {
124
+ category: 'messaging',
125
+ intent: 'Event listener',
126
+ isEntryPoint: true,
127
+ isInjectable: false,
128
+ requiresAuth: false,
129
+ },
130
+ extractArgs: () => ({}),
131
+ },
132
+ // Scheduling
133
+ {
134
+ pattern: /#\[Schedule\s*\(/,
135
+ semantic: {
136
+ category: 'scheduling',
137
+ intent: 'Scheduled task',
138
+ isEntryPoint: true,
139
+ isInjectable: false,
140
+ requiresAuth: false,
141
+ },
142
+ extractArgs: () => ({}),
143
+ },
144
+ ],
145
+ // Detection patterns
146
+ detectionPatterns: {
147
+ imports: [
148
+ /use\s+Illuminate\\/,
149
+ /use\s+Laravel\\/,
150
+ /use\s+App\\Http\\Controllers/,
151
+ ],
152
+ decorators: [
153
+ /#\[Route\s*\(/,
154
+ /#\[Middleware\s*\(/,
155
+ ],
156
+ filePatterns: [
157
+ /Controller\.php$/,
158
+ /Request\.php$/,
159
+ /Model\.php$/,
160
+ ],
161
+ },
162
+ // Entry point patterns
163
+ entryPointPatterns: [
164
+ /#\[Route\s*\(/,
165
+ /Route::(get|post|put|delete|patch|any)\s*\(/,
166
+ /#\[Queue\s*\(/,
167
+ /#\[Listener\s*\(/,
168
+ /#\[Schedule\s*\(/,
169
+ ],
170
+ // DI patterns (Laravel uses constructor injection by convention)
171
+ diPatterns: [
172
+ /app\s*\(\s*['"][^'"]+['"]\s*\)/,
173
+ /resolve\s*\(/,
174
+ ],
175
+ // ORM patterns (Eloquent)
176
+ ormPatterns: [
177
+ /extends\s+Model/,
178
+ /::where\s*\(/,
179
+ /::find\s*\(/,
180
+ /::create\s*\(/,
181
+ /->save\s*\(/,
182
+ /DB::table\s*\(/,
183
+ /DB::select\s*\(/,
184
+ ],
185
+ // Auth patterns
186
+ authPatterns: [
187
+ /middleware\s*\(\s*['"]auth/,
188
+ /#\[Middleware\s*\(\s*["']auth/,
189
+ /Gate::allows\s*\(/,
190
+ /->authorize\s*\(/,
191
+ /Policy/,
192
+ ],
193
+ };
194
+ //# sourceMappingURL=laravel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"laravel.js","sourceRoot":"","sources":["../../../src/language-intelligence/frameworks/laravel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * NestJS Framework Patterns
3
+ *
4
+ * Semantic mappings for NestJS decorators.
5
+ */
6
+ import type { FrameworkPattern } from '../types.js';
7
+ /**
8
+ * NestJS framework patterns
9
+ */
10
+ export declare const NESTJS_PATTERNS: FrameworkPattern;
11
+ //# sourceMappingURL=nestjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nestjs.d.ts","sourceRoot":"","sources":["../../../src/language-intelligence/frameworks/nestjs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAkC,MAAM,aAAa,CAAC;AA4BpF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,gBA8R7B,CAAC"}
@@ -0,0 +1,307 @@
1
+ /**
2
+ * NestJS Framework Patterns
3
+ *
4
+ * Semantic mappings for NestJS decorators.
5
+ */
6
+ /**
7
+ * Extract HTTP method from NestJS decorator
8
+ * Note: NestJS @All() decorator matches all methods - we return undefined to indicate "any method"
9
+ * The decorator string may or may not have the @ prefix depending on the extractor
10
+ */
11
+ function extractHttpMethod(raw) {
12
+ const match = raw.match(/^@?(Get|Post|Put|Delete|Patch|Head|Options|All)\s*\(/i);
13
+ if (match && match[1]) {
14
+ const method = match[1].toUpperCase();
15
+ // 'ALL', 'HEAD', 'OPTIONS' are not in our HttpMethod type - return undefined
16
+ if (method === 'ALL' || method === 'HEAD' || method === 'OPTIONS') {
17
+ return undefined;
18
+ }
19
+ return method;
20
+ }
21
+ return undefined;
22
+ }
23
+ /**
24
+ * Extract path from NestJS decorator
25
+ */
26
+ function extractPath(raw) {
27
+ const match = raw.match(/\(\s*["']([^"']+)["']/);
28
+ return match?.[1];
29
+ }
30
+ /**
31
+ * NestJS framework patterns
32
+ */
33
+ export const NESTJS_PATTERNS = {
34
+ framework: 'nestjs',
35
+ displayName: 'NestJS',
36
+ languages: ['typescript'],
37
+ decoratorMappings: [
38
+ // HTTP Endpoint decorators
39
+ {
40
+ pattern: /^(Get|Post|Put|Delete|Patch|Head|Options|All)\s*\(/i,
41
+ semantic: {
42
+ category: 'routing',
43
+ intent: 'HTTP endpoint handler',
44
+ isEntryPoint: true,
45
+ isInjectable: false,
46
+ requiresAuth: false,
47
+ },
48
+ extractArgs: (raw) => {
49
+ const method = extractHttpMethod(raw);
50
+ const path = extractPath(raw);
51
+ return {
52
+ ...(path !== undefined && { path }),
53
+ ...(method !== undefined && { methods: [method] }),
54
+ };
55
+ },
56
+ },
57
+ // Controller
58
+ {
59
+ pattern: /^Controller\s*\(/,
60
+ semantic: {
61
+ category: 'routing',
62
+ intent: 'HTTP controller class',
63
+ isEntryPoint: true,
64
+ isInjectable: true,
65
+ requiresAuth: false,
66
+ },
67
+ extractArgs: (raw) => {
68
+ const path = extractPath(raw);
69
+ return path !== undefined ? { path } : {};
70
+ },
71
+ },
72
+ // Dependency Injection
73
+ {
74
+ pattern: /^Injectable\s*\(/,
75
+ semantic: {
76
+ category: 'di',
77
+ intent: 'Injectable service',
78
+ isEntryPoint: false,
79
+ isInjectable: true,
80
+ requiresAuth: false,
81
+ },
82
+ extractArgs: (raw) => {
83
+ const scopeMatch = raw.match(/scope:\s*Scope\.(\w+)/);
84
+ const scope = scopeMatch?.[1]?.toLowerCase();
85
+ if (scope === 'default' || scope === 'singleton')
86
+ return { scope: 'singleton' };
87
+ if (scope === 'request')
88
+ return { scope: 'scoped' };
89
+ if (scope === 'transient')
90
+ return { scope: 'transient' };
91
+ return { scope: 'singleton' };
92
+ },
93
+ },
94
+ {
95
+ pattern: /^Inject\s*\(/,
96
+ semantic: {
97
+ category: 'di',
98
+ intent: 'Dependency injection token',
99
+ isEntryPoint: false,
100
+ isInjectable: false,
101
+ requiresAuth: false,
102
+ },
103
+ extractArgs: () => ({}),
104
+ },
105
+ // Module
106
+ {
107
+ pattern: /^Module\s*\(/,
108
+ semantic: {
109
+ category: 'di',
110
+ intent: 'NestJS module definition',
111
+ isEntryPoint: false,
112
+ isInjectable: false,
113
+ requiresAuth: false,
114
+ },
115
+ extractArgs: () => ({}),
116
+ },
117
+ // Guards (Auth)
118
+ {
119
+ pattern: /^UseGuards\s*\(/,
120
+ semantic: {
121
+ category: 'auth',
122
+ intent: 'Route guard (authentication/authorization)',
123
+ isEntryPoint: false,
124
+ isInjectable: false,
125
+ requiresAuth: true,
126
+ },
127
+ extractArgs: (raw) => {
128
+ const guardMatch = raw.match(/UseGuards\s*\(\s*(\w+)/);
129
+ return guardMatch?.[1] !== undefined ? { guard: guardMatch[1] } : {};
130
+ },
131
+ },
132
+ // Pipes (Validation)
133
+ {
134
+ pattern: /^UsePipes\s*\(/,
135
+ semantic: {
136
+ category: 'validation',
137
+ intent: 'Validation pipe',
138
+ isEntryPoint: false,
139
+ isInjectable: false,
140
+ requiresAuth: false,
141
+ },
142
+ extractArgs: () => ({}),
143
+ },
144
+ // Interceptors
145
+ {
146
+ pattern: /^UseInterceptors\s*\(/,
147
+ semantic: {
148
+ category: 'middleware',
149
+ intent: 'Request/response interceptor',
150
+ isEntryPoint: false,
151
+ isInjectable: false,
152
+ requiresAuth: false,
153
+ },
154
+ extractArgs: () => ({}),
155
+ },
156
+ // Parameter decorators
157
+ {
158
+ pattern: /^Body\s*\(/,
159
+ semantic: {
160
+ category: 'routing',
161
+ intent: 'Request body parameter',
162
+ isEntryPoint: false,
163
+ isInjectable: false,
164
+ requiresAuth: false,
165
+ },
166
+ extractArgs: () => ({}),
167
+ },
168
+ {
169
+ pattern: /^Param\s*\(/,
170
+ semantic: {
171
+ category: 'routing',
172
+ intent: 'Route parameter',
173
+ isEntryPoint: false,
174
+ isInjectable: false,
175
+ requiresAuth: false,
176
+ },
177
+ extractArgs: () => ({}),
178
+ },
179
+ {
180
+ pattern: /^Query\s*\(/,
181
+ semantic: {
182
+ category: 'routing',
183
+ intent: 'Query parameter',
184
+ isEntryPoint: false,
185
+ isInjectable: false,
186
+ requiresAuth: false,
187
+ },
188
+ extractArgs: () => ({}),
189
+ },
190
+ // WebSocket
191
+ {
192
+ pattern: /^WebSocketGateway\s*\(/,
193
+ semantic: {
194
+ category: 'routing',
195
+ intent: 'WebSocket gateway',
196
+ isEntryPoint: true,
197
+ isInjectable: true,
198
+ requiresAuth: false,
199
+ },
200
+ extractArgs: () => ({}),
201
+ },
202
+ {
203
+ pattern: /^SubscribeMessage\s*\(/,
204
+ semantic: {
205
+ category: 'routing',
206
+ intent: 'WebSocket message handler',
207
+ isEntryPoint: true,
208
+ isInjectable: false,
209
+ requiresAuth: false,
210
+ },
211
+ extractArgs: (raw) => {
212
+ const eventMatch = raw.match(/["']([^"']+)["']/);
213
+ return eventMatch?.[1] !== undefined ? { event: eventMatch[1] } : {};
214
+ },
215
+ },
216
+ // Scheduling
217
+ {
218
+ pattern: /^Cron\s*\(/,
219
+ semantic: {
220
+ category: 'scheduling',
221
+ intent: 'Cron job',
222
+ isEntryPoint: true,
223
+ isInjectable: false,
224
+ requiresAuth: false,
225
+ },
226
+ extractArgs: (raw) => {
227
+ const cronMatch = raw.match(/["']([^"']+)["']/);
228
+ return cronMatch?.[1] !== undefined ? { cron: cronMatch[1] } : {};
229
+ },
230
+ },
231
+ {
232
+ pattern: /^Interval\s*\(/,
233
+ semantic: {
234
+ category: 'scheduling',
235
+ intent: 'Interval task',
236
+ isEntryPoint: true,
237
+ isInjectable: false,
238
+ requiresAuth: false,
239
+ },
240
+ extractArgs: () => ({}),
241
+ },
242
+ // Testing
243
+ {
244
+ pattern: /^Test\s*\(/,
245
+ semantic: {
246
+ category: 'test',
247
+ intent: 'Test method',
248
+ isEntryPoint: false,
249
+ isInjectable: false,
250
+ requiresAuth: false,
251
+ },
252
+ extractArgs: () => ({}),
253
+ },
254
+ ],
255
+ // Detection patterns
256
+ detectionPatterns: {
257
+ imports: [
258
+ /from\s+['"]@nestjs\//,
259
+ /import.*from\s+['"]@nestjs\//,
260
+ ],
261
+ decorators: [
262
+ /@Controller\s*\(/,
263
+ /@Injectable\s*\(/,
264
+ /@Module\s*\(/,
265
+ ],
266
+ filePatterns: [
267
+ /\.controller\.ts$/,
268
+ /\.service\.ts$/,
269
+ /\.module\.ts$/,
270
+ /\.guard\.ts$/,
271
+ /\.pipe\.ts$/,
272
+ ],
273
+ },
274
+ // Entry point patterns
275
+ entryPointPatterns: [
276
+ /@Controller\s*\(/,
277
+ /@Get\s*\(/,
278
+ /@Post\s*\(/,
279
+ /@Put\s*\(/,
280
+ /@Delete\s*\(/,
281
+ /@Patch\s*\(/,
282
+ /@WebSocketGateway\s*\(/,
283
+ /@SubscribeMessage\s*\(/,
284
+ /@Cron\s*\(/,
285
+ /@Interval\s*\(/,
286
+ ],
287
+ // DI patterns
288
+ diPatterns: [
289
+ /@Injectable\s*\(/,
290
+ /@Inject\s*\(/,
291
+ /@Module\s*\(/,
292
+ ],
293
+ // ORM patterns (TypeORM typically used with NestJS)
294
+ ormPatterns: [
295
+ /@Entity\s*\(/,
296
+ /@Column\s*\(/,
297
+ /@Repository\s*\(/,
298
+ /InjectRepository\s*\(/,
299
+ ],
300
+ // Auth patterns
301
+ authPatterns: [
302
+ /@UseGuards\s*\(/,
303
+ /AuthGuard/,
304
+ /JwtAuthGuard/,
305
+ ],
306
+ };
307
+ //# sourceMappingURL=nestjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nestjs.js","sourceRoot":"","sources":["../../../src/language-intelligence/frameworks/nestjs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Spring Boot Framework Patterns
3
+ *
4
+ * Semantic mappings for Spring Boot annotations.
5
+ */
6
+ import type { FrameworkPattern } from '../types.js';
7
+ /**
8
+ * Spring Boot framework patterns
9
+ */
10
+ export declare const SPRING_PATTERNS: FrameworkPattern;
11
+ //# sourceMappingURL=spring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spring.d.ts","sourceRoot":"","sources":["../../../src/language-intelligence/frameworks/spring.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAkC,MAAM,aAAa,CAAC;AA6CpF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,gBA+U7B,CAAC"}