@colbymchenry/codegraph 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/README.md +23 -7
  2. package/npm-shim.js +43 -0
  3. package/package.json +13 -51
  4. package/LICENSE +0 -21
  5. package/dist/bin/codegraph.d.ts +0 -21
  6. package/dist/bin/codegraph.d.ts.map +0 -1
  7. package/dist/bin/codegraph.js +0 -1257
  8. package/dist/bin/codegraph.js.map +0 -1
  9. package/dist/bin/node-version-check.d.ts +0 -20
  10. package/dist/bin/node-version-check.d.ts.map +0 -1
  11. package/dist/bin/node-version-check.js +0 -42
  12. package/dist/bin/node-version-check.js.map +0 -1
  13. package/dist/bin/uninstall.d.ts +0 -14
  14. package/dist/bin/uninstall.d.ts.map +0 -1
  15. package/dist/bin/uninstall.js +0 -36
  16. package/dist/bin/uninstall.js.map +0 -1
  17. package/dist/config.d.ts +0 -51
  18. package/dist/config.d.ts.map +0 -1
  19. package/dist/config.js +0 -321
  20. package/dist/config.js.map +0 -1
  21. package/dist/context/formatter.d.ts +0 -30
  22. package/dist/context/formatter.d.ts.map +0 -1
  23. package/dist/context/formatter.js +0 -244
  24. package/dist/context/formatter.js.map +0 -1
  25. package/dist/context/index.d.ts +0 -97
  26. package/dist/context/index.d.ts.map +0 -1
  27. package/dist/context/index.js +0 -1050
  28. package/dist/context/index.js.map +0 -1
  29. package/dist/db/index.d.ts +0 -72
  30. package/dist/db/index.d.ts.map +0 -1
  31. package/dist/db/index.js +0 -200
  32. package/dist/db/index.js.map +0 -1
  33. package/dist/db/migrations.d.ts +0 -44
  34. package/dist/db/migrations.d.ts.map +0 -1
  35. package/dist/db/migrations.js +0 -131
  36. package/dist/db/migrations.js.map +0 -1
  37. package/dist/db/queries.d.ts +0 -253
  38. package/dist/db/queries.d.ts.map +0 -1
  39. package/dist/db/queries.js +0 -1207
  40. package/dist/db/queries.js.map +0 -1
  41. package/dist/db/schema.sql +0 -151
  42. package/dist/db/sqlite-adapter.d.ts +0 -52
  43. package/dist/db/sqlite-adapter.d.ts.map +0 -1
  44. package/dist/db/sqlite-adapter.js +0 -237
  45. package/dist/db/sqlite-adapter.js.map +0 -1
  46. package/dist/directory.d.ts +0 -57
  47. package/dist/directory.d.ts.map +0 -1
  48. package/dist/directory.js +0 -264
  49. package/dist/directory.js.map +0 -1
  50. package/dist/errors.d.ts +0 -136
  51. package/dist/errors.d.ts.map +0 -1
  52. package/dist/errors.js +0 -219
  53. package/dist/errors.js.map +0 -1
  54. package/dist/extraction/dfm-extractor.d.ts +0 -31
  55. package/dist/extraction/dfm-extractor.d.ts.map +0 -1
  56. package/dist/extraction/dfm-extractor.js +0 -151
  57. package/dist/extraction/dfm-extractor.js.map +0 -1
  58. package/dist/extraction/grammars.d.ts +0 -78
  59. package/dist/extraction/grammars.d.ts.map +0 -1
  60. package/dist/extraction/grammars.js +0 -322
  61. package/dist/extraction/grammars.js.map +0 -1
  62. package/dist/extraction/index.d.ts +0 -130
  63. package/dist/extraction/index.d.ts.map +0 -1
  64. package/dist/extraction/index.js +0 -1305
  65. package/dist/extraction/index.js.map +0 -1
  66. package/dist/extraction/languages/c-cpp.d.ts +0 -4
  67. package/dist/extraction/languages/c-cpp.d.ts.map +0 -1
  68. package/dist/extraction/languages/c-cpp.js +0 -126
  69. package/dist/extraction/languages/c-cpp.js.map +0 -1
  70. package/dist/extraction/languages/csharp.d.ts +0 -3
  71. package/dist/extraction/languages/csharp.d.ts.map +0 -1
  72. package/dist/extraction/languages/csharp.js +0 -72
  73. package/dist/extraction/languages/csharp.js.map +0 -1
  74. package/dist/extraction/languages/dart.d.ts +0 -3
  75. package/dist/extraction/languages/dart.d.ts.map +0 -1
  76. package/dist/extraction/languages/dart.js +0 -192
  77. package/dist/extraction/languages/dart.js.map +0 -1
  78. package/dist/extraction/languages/go.d.ts +0 -3
  79. package/dist/extraction/languages/go.d.ts.map +0 -1
  80. package/dist/extraction/languages/go.js +0 -58
  81. package/dist/extraction/languages/go.js.map +0 -1
  82. package/dist/extraction/languages/index.d.ts +0 -10
  83. package/dist/extraction/languages/index.d.ts.map +0 -1
  84. package/dist/extraction/languages/index.js +0 -45
  85. package/dist/extraction/languages/index.js.map +0 -1
  86. package/dist/extraction/languages/java.d.ts +0 -3
  87. package/dist/extraction/languages/java.d.ts.map +0 -1
  88. package/dist/extraction/languages/java.js +0 -64
  89. package/dist/extraction/languages/java.js.map +0 -1
  90. package/dist/extraction/languages/javascript.d.ts +0 -3
  91. package/dist/extraction/languages/javascript.d.ts.map +0 -1
  92. package/dist/extraction/languages/javascript.js +0 -90
  93. package/dist/extraction/languages/javascript.js.map +0 -1
  94. package/dist/extraction/languages/kotlin.d.ts +0 -3
  95. package/dist/extraction/languages/kotlin.d.ts.map +0 -1
  96. package/dist/extraction/languages/kotlin.js +0 -253
  97. package/dist/extraction/languages/kotlin.js.map +0 -1
  98. package/dist/extraction/languages/pascal.d.ts +0 -3
  99. package/dist/extraction/languages/pascal.d.ts.map +0 -1
  100. package/dist/extraction/languages/pascal.js +0 -66
  101. package/dist/extraction/languages/pascal.js.map +0 -1
  102. package/dist/extraction/languages/php.d.ts +0 -3
  103. package/dist/extraction/languages/php.d.ts.map +0 -1
  104. package/dist/extraction/languages/php.js +0 -107
  105. package/dist/extraction/languages/php.js.map +0 -1
  106. package/dist/extraction/languages/python.d.ts +0 -3
  107. package/dist/extraction/languages/python.d.ts.map +0 -1
  108. package/dist/extraction/languages/python.js +0 -56
  109. package/dist/extraction/languages/python.js.map +0 -1
  110. package/dist/extraction/languages/ruby.d.ts +0 -3
  111. package/dist/extraction/languages/ruby.d.ts.map +0 -1
  112. package/dist/extraction/languages/ruby.js +0 -114
  113. package/dist/extraction/languages/ruby.js.map +0 -1
  114. package/dist/extraction/languages/rust.d.ts +0 -3
  115. package/dist/extraction/languages/rust.d.ts.map +0 -1
  116. package/dist/extraction/languages/rust.js +0 -109
  117. package/dist/extraction/languages/rust.js.map +0 -1
  118. package/dist/extraction/languages/scala.d.ts +0 -3
  119. package/dist/extraction/languages/scala.d.ts.map +0 -1
  120. package/dist/extraction/languages/scala.js +0 -139
  121. package/dist/extraction/languages/scala.js.map +0 -1
  122. package/dist/extraction/languages/swift.d.ts +0 -3
  123. package/dist/extraction/languages/swift.d.ts.map +0 -1
  124. package/dist/extraction/languages/swift.js +0 -91
  125. package/dist/extraction/languages/swift.js.map +0 -1
  126. package/dist/extraction/languages/typescript.d.ts +0 -3
  127. package/dist/extraction/languages/typescript.d.ts.map +0 -1
  128. package/dist/extraction/languages/typescript.js +0 -129
  129. package/dist/extraction/languages/typescript.js.map +0 -1
  130. package/dist/extraction/liquid-extractor.d.ts +0 -52
  131. package/dist/extraction/liquid-extractor.d.ts.map +0 -1
  132. package/dist/extraction/liquid-extractor.js +0 -313
  133. package/dist/extraction/liquid-extractor.js.map +0 -1
  134. package/dist/extraction/parse-worker.d.ts +0 -8
  135. package/dist/extraction/parse-worker.d.ts.map +0 -1
  136. package/dist/extraction/parse-worker.js +0 -94
  137. package/dist/extraction/parse-worker.js.map +0 -1
  138. package/dist/extraction/svelte-extractor.d.ts +0 -56
  139. package/dist/extraction/svelte-extractor.d.ts.map +0 -1
  140. package/dist/extraction/svelte-extractor.js +0 -272
  141. package/dist/extraction/svelte-extractor.js.map +0 -1
  142. package/dist/extraction/tree-sitter-helpers.d.ts +0 -28
  143. package/dist/extraction/tree-sitter-helpers.d.ts.map +0 -1
  144. package/dist/extraction/tree-sitter-helpers.js +0 -103
  145. package/dist/extraction/tree-sitter-helpers.js.map +0 -1
  146. package/dist/extraction/tree-sitter-types.d.ts +0 -179
  147. package/dist/extraction/tree-sitter-types.d.ts.map +0 -1
  148. package/dist/extraction/tree-sitter-types.js +0 -10
  149. package/dist/extraction/tree-sitter-types.js.map +0 -1
  150. package/dist/extraction/tree-sitter.d.ts +0 -233
  151. package/dist/extraction/tree-sitter.d.ts.map +0 -1
  152. package/dist/extraction/tree-sitter.js +0 -2393
  153. package/dist/extraction/tree-sitter.js.map +0 -1
  154. package/dist/extraction/vue-extractor.d.ts +0 -36
  155. package/dist/extraction/vue-extractor.d.ts.map +0 -1
  156. package/dist/extraction/vue-extractor.js +0 -163
  157. package/dist/extraction/vue-extractor.js.map +0 -1
  158. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  159. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  160. package/dist/graph/index.d.ts +0 -8
  161. package/dist/graph/index.d.ts.map +0 -1
  162. package/dist/graph/index.js +0 -13
  163. package/dist/graph/index.js.map +0 -1
  164. package/dist/graph/queries.d.ts +0 -106
  165. package/dist/graph/queries.d.ts.map +0 -1
  166. package/dist/graph/queries.js +0 -366
  167. package/dist/graph/queries.js.map +0 -1
  168. package/dist/graph/traversal.d.ts +0 -127
  169. package/dist/graph/traversal.d.ts.map +0 -1
  170. package/dist/graph/traversal.js +0 -493
  171. package/dist/graph/traversal.js.map +0 -1
  172. package/dist/index.d.ts +0 -447
  173. package/dist/index.d.ts.map +0 -1
  174. package/dist/index.js +0 -825
  175. package/dist/index.js.map +0 -1
  176. package/dist/installer/claude-md-template.d.ts +0 -14
  177. package/dist/installer/claude-md-template.d.ts.map +0 -1
  178. package/dist/installer/claude-md-template.js +0 -21
  179. package/dist/installer/claude-md-template.js.map +0 -1
  180. package/dist/installer/config-writer.d.ts +0 -29
  181. package/dist/installer/config-writer.d.ts.map +0 -1
  182. package/dist/installer/config-writer.js +0 -111
  183. package/dist/installer/config-writer.js.map +0 -1
  184. package/dist/installer/index.d.ts +0 -65
  185. package/dist/installer/index.d.ts.map +0 -1
  186. package/dist/installer/index.js +0 -406
  187. package/dist/installer/index.js.map +0 -1
  188. package/dist/installer/instructions-template.d.ts +0 -28
  189. package/dist/installer/instructions-template.d.ts.map +0 -1
  190. package/dist/installer/instructions-template.js +0 -64
  191. package/dist/installer/instructions-template.js.map +0 -1
  192. package/dist/installer/targets/claude.d.ts +0 -31
  193. package/dist/installer/targets/claude.d.ts.map +0 -1
  194. package/dist/installer/targets/claude.js +0 -308
  195. package/dist/installer/targets/claude.js.map +0 -1
  196. package/dist/installer/targets/codex.d.ts +0 -18
  197. package/dist/installer/targets/codex.d.ts.map +0 -1
  198. package/dist/installer/targets/codex.js +0 -185
  199. package/dist/installer/targets/codex.js.map +0 -1
  200. package/dist/installer/targets/cursor.d.ts +0 -35
  201. package/dist/installer/targets/cursor.d.ts.map +0 -1
  202. package/dist/installer/targets/cursor.js +0 -229
  203. package/dist/installer/targets/cursor.js.map +0 -1
  204. package/dist/installer/targets/opencode.d.ts +0 -30
  205. package/dist/installer/targets/opencode.d.ts.map +0 -1
  206. package/dist/installer/targets/opencode.js +0 -235
  207. package/dist/installer/targets/opencode.js.map +0 -1
  208. package/dist/installer/targets/registry.d.ts +0 -35
  209. package/dist/installer/targets/registry.d.ts.map +0 -1
  210. package/dist/installer/targets/registry.js +0 -83
  211. package/dist/installer/targets/registry.js.map +0 -1
  212. package/dist/installer/targets/shared.d.ts +0 -77
  213. package/dist/installer/targets/shared.d.ts.map +0 -1
  214. package/dist/installer/targets/shared.js +0 -246
  215. package/dist/installer/targets/shared.js.map +0 -1
  216. package/dist/installer/targets/toml.d.ts +0 -52
  217. package/dist/installer/targets/toml.d.ts.map +0 -1
  218. package/dist/installer/targets/toml.js +0 -147
  219. package/dist/installer/targets/toml.js.map +0 -1
  220. package/dist/installer/targets/types.d.ts +0 -116
  221. package/dist/installer/targets/types.d.ts.map +0 -1
  222. package/dist/installer/targets/types.js +0 -16
  223. package/dist/installer/targets/types.js.map +0 -1
  224. package/dist/mcp/index.d.ts +0 -94
  225. package/dist/mcp/index.d.ts.map +0 -1
  226. package/dist/mcp/index.js +0 -453
  227. package/dist/mcp/index.js.map +0 -1
  228. package/dist/mcp/server-instructions.d.ts +0 -19
  229. package/dist/mcp/server-instructions.d.ts.map +0 -1
  230. package/dist/mcp/server-instructions.js +0 -71
  231. package/dist/mcp/server-instructions.js.map +0 -1
  232. package/dist/mcp/tools.d.ts +0 -257
  233. package/dist/mcp/tools.d.ts.map +0 -1
  234. package/dist/mcp/tools.js +0 -1633
  235. package/dist/mcp/tools.js.map +0 -1
  236. package/dist/mcp/transport.d.ts +0 -106
  237. package/dist/mcp/transport.d.ts.map +0 -1
  238. package/dist/mcp/transport.js +0 -233
  239. package/dist/mcp/transport.js.map +0 -1
  240. package/dist/resolution/frameworks/cargo-workspace.d.ts +0 -18
  241. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +0 -1
  242. package/dist/resolution/frameworks/cargo-workspace.js +0 -225
  243. package/dist/resolution/frameworks/cargo-workspace.js.map +0 -1
  244. package/dist/resolution/frameworks/csharp.d.ts +0 -8
  245. package/dist/resolution/frameworks/csharp.d.ts.map +0 -1
  246. package/dist/resolution/frameworks/csharp.js +0 -213
  247. package/dist/resolution/frameworks/csharp.js.map +0 -1
  248. package/dist/resolution/frameworks/express.d.ts +0 -8
  249. package/dist/resolution/frameworks/express.d.ts.map +0 -1
  250. package/dist/resolution/frameworks/express.js +0 -225
  251. package/dist/resolution/frameworks/express.js.map +0 -1
  252. package/dist/resolution/frameworks/go.d.ts +0 -8
  253. package/dist/resolution/frameworks/go.d.ts.map +0 -1
  254. package/dist/resolution/frameworks/go.js +0 -158
  255. package/dist/resolution/frameworks/go.js.map +0 -1
  256. package/dist/resolution/frameworks/index.d.ts +0 -42
  257. package/dist/resolution/frameworks/index.d.ts.map +0 -1
  258. package/dist/resolution/frameworks/index.js +0 -133
  259. package/dist/resolution/frameworks/index.js.map +0 -1
  260. package/dist/resolution/frameworks/java.d.ts +0 -8
  261. package/dist/resolution/frameworks/java.d.ts.map +0 -1
  262. package/dist/resolution/frameworks/java.js +0 -177
  263. package/dist/resolution/frameworks/java.js.map +0 -1
  264. package/dist/resolution/frameworks/laravel.d.ts +0 -13
  265. package/dist/resolution/frameworks/laravel.d.ts.map +0 -1
  266. package/dist/resolution/frameworks/laravel.js +0 -248
  267. package/dist/resolution/frameworks/laravel.js.map +0 -1
  268. package/dist/resolution/frameworks/nestjs.d.ts +0 -26
  269. package/dist/resolution/frameworks/nestjs.d.ts.map +0 -1
  270. package/dist/resolution/frameworks/nestjs.js +0 -374
  271. package/dist/resolution/frameworks/nestjs.js.map +0 -1
  272. package/dist/resolution/frameworks/python.d.ts +0 -10
  273. package/dist/resolution/frameworks/python.d.ts.map +0 -1
  274. package/dist/resolution/frameworks/python.js +0 -278
  275. package/dist/resolution/frameworks/python.js.map +0 -1
  276. package/dist/resolution/frameworks/react.d.ts +0 -8
  277. package/dist/resolution/frameworks/react.d.ts.map +0 -1
  278. package/dist/resolution/frameworks/react.js +0 -272
  279. package/dist/resolution/frameworks/react.js.map +0 -1
  280. package/dist/resolution/frameworks/ruby.d.ts +0 -8
  281. package/dist/resolution/frameworks/ruby.d.ts.map +0 -1
  282. package/dist/resolution/frameworks/ruby.js +0 -198
  283. package/dist/resolution/frameworks/ruby.js.map +0 -1
  284. package/dist/resolution/frameworks/rust.d.ts +0 -8
  285. package/dist/resolution/frameworks/rust.d.ts.map +0 -1
  286. package/dist/resolution/frameworks/rust.js +0 -207
  287. package/dist/resolution/frameworks/rust.js.map +0 -1
  288. package/dist/resolution/frameworks/svelte.d.ts +0 -9
  289. package/dist/resolution/frameworks/svelte.d.ts.map +0 -1
  290. package/dist/resolution/frameworks/svelte.js +0 -249
  291. package/dist/resolution/frameworks/svelte.js.map +0 -1
  292. package/dist/resolution/frameworks/swift.d.ts +0 -10
  293. package/dist/resolution/frameworks/swift.d.ts.map +0 -1
  294. package/dist/resolution/frameworks/swift.js +0 -376
  295. package/dist/resolution/frameworks/swift.js.map +0 -1
  296. package/dist/resolution/frameworks/vue.d.ts +0 -9
  297. package/dist/resolution/frameworks/vue.d.ts.map +0 -1
  298. package/dist/resolution/frameworks/vue.js +0 -306
  299. package/dist/resolution/frameworks/vue.js.map +0 -1
  300. package/dist/resolution/import-resolver.d.ts +0 -40
  301. package/dist/resolution/import-resolver.d.ts.map +0 -1
  302. package/dist/resolution/import-resolver.js +0 -663
  303. package/dist/resolution/import-resolver.js.map +0 -1
  304. package/dist/resolution/index.d.ts +0 -106
  305. package/dist/resolution/index.d.ts.map +0 -1
  306. package/dist/resolution/index.js +0 -709
  307. package/dist/resolution/index.js.map +0 -1
  308. package/dist/resolution/name-matcher.d.ts +0 -32
  309. package/dist/resolution/name-matcher.d.ts.map +0 -1
  310. package/dist/resolution/name-matcher.js +0 -384
  311. package/dist/resolution/name-matcher.js.map +0 -1
  312. package/dist/resolution/path-aliases.d.ts +0 -68
  313. package/dist/resolution/path-aliases.d.ts.map +0 -1
  314. package/dist/resolution/path-aliases.js +0 -238
  315. package/dist/resolution/path-aliases.js.map +0 -1
  316. package/dist/resolution/strip-comments.d.ts +0 -27
  317. package/dist/resolution/strip-comments.d.ts.map +0 -1
  318. package/dist/resolution/strip-comments.js +0 -441
  319. package/dist/resolution/strip-comments.js.map +0 -1
  320. package/dist/resolution/types.d.ts +0 -172
  321. package/dist/resolution/types.d.ts.map +0 -1
  322. package/dist/resolution/types.js +0 -8
  323. package/dist/resolution/types.js.map +0 -1
  324. package/dist/search/query-parser.d.ts +0 -57
  325. package/dist/search/query-parser.d.ts.map +0 -1
  326. package/dist/search/query-parser.js +0 -177
  327. package/dist/search/query-parser.js.map +0 -1
  328. package/dist/search/query-utils.d.ts +0 -53
  329. package/dist/search/query-utils.d.ts.map +0 -1
  330. package/dist/search/query-utils.js +0 -350
  331. package/dist/search/query-utils.js.map +0 -1
  332. package/dist/sync/git-hooks.d.ts +0 -45
  333. package/dist/sync/git-hooks.d.ts.map +0 -1
  334. package/dist/sync/git-hooks.js +0 -223
  335. package/dist/sync/git-hooks.js.map +0 -1
  336. package/dist/sync/index.d.ts +0 -17
  337. package/dist/sync/index.d.ts.map +0 -1
  338. package/dist/sync/index.js +0 -28
  339. package/dist/sync/index.js.map +0 -1
  340. package/dist/sync/watch-policy.d.ts +0 -48
  341. package/dist/sync/watch-policy.d.ts.map +0 -1
  342. package/dist/sync/watch-policy.js +0 -124
  343. package/dist/sync/watch-policy.js.map +0 -1
  344. package/dist/sync/watcher.d.ts +0 -81
  345. package/dist/sync/watcher.d.ts.map +0 -1
  346. package/dist/sync/watcher.js +0 -194
  347. package/dist/sync/watcher.js.map +0 -1
  348. package/dist/types.d.ts +0 -423
  349. package/dist/types.d.ts.map +0 -1
  350. package/dist/types.js +0 -256
  351. package/dist/types.js.map +0 -1
  352. package/dist/ui/glyphs.d.ts +0 -42
  353. package/dist/ui/glyphs.d.ts.map +0 -1
  354. package/dist/ui/glyphs.js +0 -78
  355. package/dist/ui/glyphs.js.map +0 -1
  356. package/dist/ui/shimmer-progress.d.ts +0 -11
  357. package/dist/ui/shimmer-progress.d.ts.map +0 -1
  358. package/dist/ui/shimmer-progress.js +0 -90
  359. package/dist/ui/shimmer-progress.js.map +0 -1
  360. package/dist/ui/shimmer-worker.d.ts +0 -2
  361. package/dist/ui/shimmer-worker.d.ts.map +0 -1
  362. package/dist/ui/shimmer-worker.js +0 -118
  363. package/dist/ui/shimmer-worker.js.map +0 -1
  364. package/dist/ui/types.d.ts +0 -17
  365. package/dist/ui/types.d.ts.map +0 -1
  366. package/dist/ui/types.js +0 -3
  367. package/dist/ui/types.js.map +0 -1
  368. package/dist/utils.d.ts +0 -205
  369. package/dist/utils.d.ts.map +0 -1
  370. package/dist/utils.js +0 -549
  371. package/dist/utils.js.map +0 -1
  372. package/scripts/agent-eval/audit.sh +0 -68
  373. package/scripts/agent-eval/itrun.sh +0 -107
  374. package/scripts/agent-eval/parse-run.mjs +0 -45
  375. package/scripts/agent-eval/parse-session.mjs +0 -93
  376. package/scripts/agent-eval/run-agent.sh +0 -34
  377. package/scripts/agent-eval/run-all.sh +0 -67
  378. package/scripts/extract-release-notes.mjs +0 -130
  379. package/scripts/local-install.sh +0 -41
  380. package/scripts/patch-tree-sitter-dart.js +0 -112
  381. package/scripts/release.sh +0 -68
@@ -1,225 +0,0 @@
1
- "use strict";
2
- /**
3
- * Express/Node.js Framework Resolver
4
- *
5
- * Handles Express and general Node.js patterns.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.expressResolver = void 0;
9
- const strip_comments_1 = require("../strip-comments");
10
- function extractTailIdent(expr) {
11
- const cleaned = expr.replace(/\s+/g, '').replace(/\(\)$/, '');
12
- const m = cleaned.match(/(?:\.|^)([A-Za-z_][A-Za-z0-9_]*)$/);
13
- return m ? m[1] : null;
14
- }
15
- exports.expressResolver = {
16
- name: 'express',
17
- languages: ['javascript', 'typescript'],
18
- detect(context) {
19
- // Check for Express in package.json
20
- const packageJson = context.readFile('package.json');
21
- if (packageJson) {
22
- try {
23
- const pkg = JSON.parse(packageJson);
24
- const deps = { ...pkg.dependencies, ...pkg.devDependencies };
25
- if (deps.express || deps.fastify || deps.koa || deps.hapi) {
26
- return true;
27
- }
28
- }
29
- catch {
30
- // Invalid JSON
31
- }
32
- }
33
- // Check for common Express patterns
34
- const allFiles = context.getAllFiles();
35
- for (const file of allFiles) {
36
- if (file.includes('routes') ||
37
- file.includes('controllers') ||
38
- file.includes('middleware')) {
39
- const content = context.readFile(file);
40
- if (content && (content.includes('express') || content.includes('app.get') || content.includes('router.get'))) {
41
- return true;
42
- }
43
- }
44
- }
45
- return false;
46
- },
47
- resolve(ref, context) {
48
- // Pattern 1: Middleware references
49
- if (isMiddlewareName(ref.referenceName)) {
50
- const result = resolveMiddleware(ref.referenceName, context);
51
- if (result) {
52
- return {
53
- original: ref,
54
- targetNodeId: result,
55
- confidence: 0.8,
56
- resolvedBy: 'framework',
57
- };
58
- }
59
- }
60
- // Pattern 2: Controller method references
61
- const controllerMatch = ref.referenceName.match(/^(\w+)Controller\.(\w+)$/);
62
- if (controllerMatch) {
63
- const [, controller, method] = controllerMatch;
64
- const result = resolveControllerMethod(controller, method, context);
65
- if (result) {
66
- return {
67
- original: ref,
68
- targetNodeId: result,
69
- confidence: 0.85,
70
- resolvedBy: 'framework',
71
- };
72
- }
73
- }
74
- // Pattern 3: Service/helper references
75
- const serviceMatch = ref.referenceName.match(/^(\w+)(Service|Helper|Utils?)\.(\w+)$/);
76
- if (serviceMatch) {
77
- const [, name, suffix, method] = serviceMatch;
78
- const result = resolveServiceMethod(name + suffix, method, context);
79
- if (result) {
80
- return {
81
- original: ref,
82
- targetNodeId: result,
83
- confidence: 0.8,
84
- resolvedBy: 'framework',
85
- };
86
- }
87
- }
88
- return null;
89
- },
90
- extract(filePath, content) {
91
- if (!/\.(m?js|tsx?|cjs)$/.test(filePath))
92
- return { nodes: [], references: [] };
93
- const nodes = [];
94
- const references = [];
95
- const now = Date.now();
96
- const lang = detectLanguage(filePath);
97
- const safe = (0, strip_comments_1.stripCommentsForRegex)(content, lang);
98
- // (app|router).METHOD('/path', handler-expr)
99
- const regex = /\b(app|router)\.(get|post|put|patch|delete|all|use)\s*\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+)\)/g;
100
- let match;
101
- while ((match = regex.exec(safe)) !== null) {
102
- const [, _obj, method, routePath, handlers] = match;
103
- if (method === 'use' && !routePath.startsWith('/'))
104
- continue;
105
- const line = safe.slice(0, match.index).split('\n').length;
106
- const routeNode = {
107
- id: `route:${filePath}:${line}:${method.toUpperCase()}:${routePath}`,
108
- kind: 'route',
109
- name: `${method.toUpperCase()} ${routePath}`,
110
- qualifiedName: `${filePath}::${method.toUpperCase()}:${routePath}`,
111
- filePath,
112
- startLine: line,
113
- endLine: line,
114
- startColumn: 0,
115
- endColumn: match[0].length,
116
- language: detectLanguage(filePath),
117
- updatedAt: now,
118
- };
119
- nodes.push(routeNode);
120
- // Handler is the LAST comma-separated argument; earlier ones are middleware.
121
- const parts = handlers.split(',').map((s) => s.trim()).filter(Boolean);
122
- const last = parts[parts.length - 1];
123
- const handlerName = last ? extractTailIdent(last) : null;
124
- if (handlerName) {
125
- references.push({
126
- fromNodeId: routeNode.id,
127
- referenceName: handlerName,
128
- referenceKind: 'references',
129
- line,
130
- column: 0,
131
- filePath,
132
- language: detectLanguage(filePath),
133
- });
134
- }
135
- }
136
- return { nodes, references };
137
- },
138
- };
139
- /**
140
- * Check if a name looks like middleware
141
- */
142
- function isMiddlewareName(name) {
143
- const middlewarePatterns = [
144
- /^auth$/i,
145
- /^authenticate$/i,
146
- /^authorization$/i,
147
- /^validate/i,
148
- /^sanitize/i,
149
- /^rateLimit/i,
150
- /^cors$/i,
151
- /^helmet$/i,
152
- /^logger$/i,
153
- /^errorHandler$/i,
154
- /^notFound$/i,
155
- /Middleware$/i,
156
- ];
157
- return middlewarePatterns.some((p) => p.test(name));
158
- }
159
- /**
160
- * Resolve middleware reference using name-based lookup
161
- */
162
- function resolveMiddleware(name, context) {
163
- // Try exact name first
164
- const candidates = context.getNodesByName(name);
165
- const match = candidates.find((n) => n.name.toLowerCase() === name.toLowerCase() ||
166
- n.name.toLowerCase() === name.replace(/Middleware$/i, '').toLowerCase());
167
- if (match)
168
- return match.id;
169
- // Try without Middleware suffix
170
- const baseName = name.replace(/Middleware$/i, '');
171
- if (baseName !== name) {
172
- const baseCandidates = context.getNodesByName(baseName);
173
- const MIDDLEWARE_DIRS = ['/middleware/', '/middlewares/'];
174
- const preferred = baseCandidates.filter((n) => MIDDLEWARE_DIRS.some((d) => n.filePath.includes(d)));
175
- if (preferred.length > 0)
176
- return preferred[0].id;
177
- if (baseCandidates.length > 0)
178
- return baseCandidates[0].id;
179
- }
180
- return null;
181
- }
182
- /**
183
- * Resolve controller method using name-based lookup
184
- */
185
- function resolveControllerMethod(controller, method, context) {
186
- // Look for the method name directly
187
- const methodCandidates = context.getNodesByName(method);
188
- const methodNodes = methodCandidates.filter((n) => (n.kind === 'method' || n.kind === 'function') &&
189
- n.filePath.toLowerCase().includes(controller.toLowerCase()));
190
- if (methodNodes.length > 0)
191
- return methodNodes[0].id;
192
- // Fall back: look for controller class, then find the method in its file
193
- const controllerName = controller + 'Controller';
194
- const controllerCandidates = context.getNodesByName(controllerName);
195
- for (const ctrl of controllerCandidates) {
196
- const nodesInFile = context.getNodesInFile(ctrl.filePath);
197
- const methodNode = nodesInFile.find((n) => (n.kind === 'method' || n.kind === 'function') && n.name === method);
198
- if (methodNode)
199
- return methodNode.id;
200
- }
201
- return null;
202
- }
203
- /**
204
- * Resolve service/helper method using name-based lookup
205
- */
206
- function resolveServiceMethod(serviceName, method, context) {
207
- // Look for the method in files matching the service name
208
- const methodCandidates = context.getNodesByName(method);
209
- const stripped = serviceName.replace(/(Service|Helper|Utils?)$/i, '').toLowerCase();
210
- const methodNodes = methodCandidates.filter((n) => (n.kind === 'method' || n.kind === 'function') &&
211
- n.filePath.toLowerCase().includes(stripped));
212
- if (methodNodes.length > 0)
213
- return methodNodes[0].id;
214
- return null;
215
- }
216
- /**
217
- * Detect language from file extension
218
- */
219
- function detectLanguage(filePath) {
220
- if (filePath.endsWith('.ts') || filePath.endsWith('.tsx')) {
221
- return 'typescript';
222
- }
223
- return 'javascript';
224
- }
225
- //# sourceMappingURL=express.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"express.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/express.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Go Framework Resolver
3
- *
4
- * Handles Gin, Echo, Fiber, Chi, and standard library patterns.
5
- */
6
- import { FrameworkResolver } from '../types';
7
- export declare const goResolver: FrameworkResolver;
8
- //# sourceMappingURL=go.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/go.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAiD,MAAM,UAAU,CAAC;AAG5F,eAAO,MAAM,UAAU,EAAE,iBA0HxB,CAAC"}
@@ -1,158 +0,0 @@
1
- "use strict";
2
- /**
3
- * Go Framework Resolver
4
- *
5
- * Handles Gin, Echo, Fiber, Chi, and standard library patterns.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.goResolver = void 0;
9
- const strip_comments_1 = require("../strip-comments");
10
- exports.goResolver = {
11
- name: 'go',
12
- languages: ['go'],
13
- detect(context) {
14
- // Check for go.mod file (Go modules)
15
- const goMod = context.readFile('go.mod');
16
- if (goMod) {
17
- return true;
18
- }
19
- // Check for .go files
20
- const allFiles = context.getAllFiles();
21
- return allFiles.some((f) => f.endsWith('.go'));
22
- },
23
- resolve(ref, context) {
24
- // Pattern 1: Handler references
25
- if (ref.referenceName.endsWith('Handler') || ref.referenceName.startsWith('Handle')) {
26
- const result = resolveByNameAndKind(ref.referenceName, 'function', HANDLER_DIRS, context);
27
- if (result) {
28
- return {
29
- original: ref,
30
- targetNodeId: result,
31
- confidence: 0.8,
32
- resolvedBy: 'framework',
33
- };
34
- }
35
- }
36
- // Pattern 2: Service/Repository references
37
- if (ref.referenceName.endsWith('Service') || ref.referenceName.endsWith('Repository') || ref.referenceName.endsWith('Store')) {
38
- const result = resolveByNameAndKind(ref.referenceName, null, SERVICE_DIRS, context, SERVICE_KINDS);
39
- if (result) {
40
- return {
41
- original: ref,
42
- targetNodeId: result,
43
- confidence: 0.8,
44
- resolvedBy: 'framework',
45
- };
46
- }
47
- }
48
- // Pattern 3: Middleware references
49
- if (ref.referenceName.endsWith('Middleware') || ref.referenceName.startsWith('Auth') || ref.referenceName.startsWith('Log')) {
50
- const result = resolveByNameAndKind(ref.referenceName, 'function', MIDDLEWARE_DIRS, context);
51
- if (result) {
52
- return {
53
- original: ref,
54
- targetNodeId: result,
55
- confidence: 0.75,
56
- resolvedBy: 'framework',
57
- };
58
- }
59
- }
60
- // Pattern 4: Model/Entity references (typically PascalCase structs)
61
- if (/^[A-Z][a-zA-Z]+$/.test(ref.referenceName)) {
62
- const result = resolveByNameAndKind(ref.referenceName, 'struct', MODEL_DIRS, context);
63
- if (result) {
64
- return {
65
- original: ref,
66
- targetNodeId: result,
67
- confidence: 0.7,
68
- resolvedBy: 'framework',
69
- };
70
- }
71
- }
72
- return null;
73
- },
74
- extract(filePath, content) {
75
- if (!filePath.endsWith('.go'))
76
- return { nodes: [], references: [] };
77
- const nodes = [];
78
- const references = [];
79
- const now = Date.now();
80
- const safe = (0, strip_comments_1.stripCommentsForRegex)(content, 'go');
81
- // (router|r|mux|app).METHOD("/path", handler)
82
- // Handles Gin (GET/POST/...), Chi (Get/Post/...), net/http (HandleFunc/Handle).
83
- const routeRegex = /\b(?:router|r|mux|app|e)\.(GET|POST|PUT|PATCH|DELETE|OPTIONS|HEAD|Get|Post|Put|Patch|Delete|Handle|HandleFunc)\s*\(\s*"([^"]+)"\s*,\s*([^)]+)\)/g;
84
- let match;
85
- while ((match = routeRegex.exec(safe)) !== null) {
86
- const [, rawMethod, routePath, handlerExpr] = match;
87
- const line = safe.slice(0, match.index).split('\n').length;
88
- const method = rawMethod === 'Handle' || rawMethod === 'HandleFunc'
89
- ? 'ANY'
90
- : rawMethod.toUpperCase();
91
- const routeNode = {
92
- id: `route:${filePath}:${line}:${method}:${routePath}`,
93
- kind: 'route',
94
- name: `${method} ${routePath}`,
95
- qualifiedName: `${filePath}::route:${routePath}`,
96
- filePath,
97
- startLine: line,
98
- endLine: line,
99
- startColumn: 0,
100
- endColumn: match[0].length,
101
- language: 'go',
102
- updatedAt: now,
103
- };
104
- nodes.push(routeNode);
105
- const handlerName = extractGoTailIdent(handlerExpr);
106
- if (handlerName) {
107
- references.push({
108
- fromNodeId: routeNode.id,
109
- referenceName: handlerName,
110
- referenceKind: 'references',
111
- line,
112
- column: 0,
113
- filePath,
114
- language: 'go',
115
- });
116
- }
117
- }
118
- return { nodes, references };
119
- },
120
- };
121
- /** Extract the last identifier from an expression like `pkg.Sub.handler` or `handler`. */
122
- function extractGoTailIdent(expr) {
123
- const cleaned = expr.trim().replace(/\s+/g, '').replace(/\(\)$/, '');
124
- const m = cleaned.match(/(?:\.|^)([A-Za-z_][A-Za-z0-9_]*)$/);
125
- return m ? m[1] : null;
126
- }
127
- // Directory patterns for framework resolution
128
- const HANDLER_DIRS = ['handler', 'handlers', 'api', 'routes', 'controller', 'controllers'];
129
- const SERVICE_DIRS = ['service', 'services', 'repository', 'store', 'pkg'];
130
- const MIDDLEWARE_DIRS = ['middleware', 'middlewares'];
131
- const MODEL_DIRS = ['model', 'models', 'entity', 'entities', 'domain', 'pkg'];
132
- const SERVICE_KINDS = new Set(['struct', 'interface']);
133
- /**
134
- * Resolve a symbol by name using indexed queries instead of scanning all files.
135
- * Uses getNodesByName (O(log n) indexed lookup) instead of iterating every file.
136
- */
137
- function resolveByNameAndKind(name, kind, preferredDirs, context, kinds) {
138
- const candidates = context.getNodesByName(name);
139
- if (candidates.length === 0)
140
- return null;
141
- // Filter by kind
142
- const kindFiltered = candidates.filter((n) => {
143
- if (kinds)
144
- return kinds.has(n.kind);
145
- if (kind)
146
- return n.kind === kind;
147
- return true;
148
- });
149
- if (kindFiltered.length === 0)
150
- return null;
151
- // Prefer candidates in framework-conventional directories
152
- const preferred = kindFiltered.filter((n) => preferredDirs.some((d) => n.filePath.includes(`/${d}/`)));
153
- if (preferred.length > 0)
154
- return preferred[0].id;
155
- // Fall back to any match
156
- return kindFiltered[0].id;
157
- }
158
- //# sourceMappingURL=go.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"go.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/go.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Framework Resolver Registry
3
- *
4
- * Manages framework-specific resolvers.
5
- */
6
- import { FrameworkResolver, ResolutionContext } from '../types';
7
- import type { Language } from '../../types';
8
- /**
9
- * Get all framework resolvers
10
- */
11
- export declare function getAllFrameworkResolvers(): FrameworkResolver[];
12
- /**
13
- * Get a resolver by name
14
- */
15
- export declare function getFrameworkResolver(name: string): FrameworkResolver | undefined;
16
- /**
17
- * Detect which frameworks are used in a project
18
- */
19
- export declare function detectFrameworks(context: ResolutionContext): FrameworkResolver[];
20
- /**
21
- * Filter a list of detected frameworks down to ones that apply to a given language.
22
- * Frameworks without an explicit `languages` list are treated as universal.
23
- */
24
- export declare function getApplicableFrameworks(detected: FrameworkResolver[], language: Language): FrameworkResolver[];
25
- /**
26
- * Register a custom framework resolver
27
- */
28
- export declare function registerFrameworkResolver(resolver: FrameworkResolver): void;
29
- export { laravelResolver, FACADE_MAPPINGS } from './laravel';
30
- export { expressResolver } from './express';
31
- export { nestjsResolver } from './nestjs';
32
- export { reactResolver } from './react';
33
- export { svelteResolver } from './svelte';
34
- export { vueResolver } from './vue';
35
- export { djangoResolver, flaskResolver, fastapiResolver } from './python';
36
- export { railsResolver } from './ruby';
37
- export { springResolver } from './java';
38
- export { goResolver } from './go';
39
- export { rustResolver } from './rust';
40
- export { aspnetResolver } from './csharp';
41
- export { swiftUIResolver, uikitResolver, vaporResolver } from './swift';
42
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA+C5C;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,iBAAiB,EAAE,CAE9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEhF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAQhF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,QAAQ,EAAE,QAAQ,GACjB,iBAAiB,EAAE,CAIrB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAO3E;AAGD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
@@ -1,133 +0,0 @@
1
- "use strict";
2
- /**
3
- * Framework Resolver Registry
4
- *
5
- * Manages framework-specific resolvers.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.vaporResolver = exports.uikitResolver = exports.swiftUIResolver = exports.aspnetResolver = exports.rustResolver = exports.goResolver = exports.springResolver = exports.railsResolver = exports.fastapiResolver = exports.flaskResolver = exports.djangoResolver = exports.vueResolver = exports.svelteResolver = exports.reactResolver = exports.nestjsResolver = exports.expressResolver = exports.FACADE_MAPPINGS = exports.laravelResolver = void 0;
9
- exports.getAllFrameworkResolvers = getAllFrameworkResolvers;
10
- exports.getFrameworkResolver = getFrameworkResolver;
11
- exports.detectFrameworks = detectFrameworks;
12
- exports.getApplicableFrameworks = getApplicableFrameworks;
13
- exports.registerFrameworkResolver = registerFrameworkResolver;
14
- const laravel_1 = require("./laravel");
15
- const express_1 = require("./express");
16
- const nestjs_1 = require("./nestjs");
17
- const react_1 = require("./react");
18
- const svelte_1 = require("./svelte");
19
- const vue_1 = require("./vue");
20
- const python_1 = require("./python");
21
- const ruby_1 = require("./ruby");
22
- const java_1 = require("./java");
23
- const go_1 = require("./go");
24
- const rust_1 = require("./rust");
25
- const csharp_1 = require("./csharp");
26
- const swift_1 = require("./swift");
27
- /**
28
- * All registered framework resolvers
29
- */
30
- const FRAMEWORK_RESOLVERS = [
31
- // PHP
32
- laravel_1.laravelResolver,
33
- // JavaScript/TypeScript
34
- express_1.expressResolver,
35
- nestjs_1.nestjsResolver,
36
- react_1.reactResolver,
37
- svelte_1.svelteResolver,
38
- vue_1.vueResolver,
39
- // Python
40
- python_1.djangoResolver,
41
- python_1.flaskResolver,
42
- python_1.fastapiResolver,
43
- // Ruby
44
- ruby_1.railsResolver,
45
- // Java
46
- java_1.springResolver,
47
- // Go
48
- go_1.goResolver,
49
- // Rust
50
- rust_1.rustResolver,
51
- // C#
52
- csharp_1.aspnetResolver,
53
- // Swift
54
- swift_1.swiftUIResolver,
55
- swift_1.uikitResolver,
56
- swift_1.vaporResolver,
57
- ];
58
- /**
59
- * Get all framework resolvers
60
- */
61
- function getAllFrameworkResolvers() {
62
- return FRAMEWORK_RESOLVERS;
63
- }
64
- /**
65
- * Get a resolver by name
66
- */
67
- function getFrameworkResolver(name) {
68
- return FRAMEWORK_RESOLVERS.find((r) => r.name === name);
69
- }
70
- /**
71
- * Detect which frameworks are used in a project
72
- */
73
- function detectFrameworks(context) {
74
- return FRAMEWORK_RESOLVERS.filter((resolver) => {
75
- try {
76
- return resolver.detect(context);
77
- }
78
- catch {
79
- return false;
80
- }
81
- });
82
- }
83
- /**
84
- * Filter a list of detected frameworks down to ones that apply to a given language.
85
- * Frameworks without an explicit `languages` list are treated as universal.
86
- */
87
- function getApplicableFrameworks(detected, language) {
88
- return detected.filter((fw) => !fw.languages || fw.languages.includes(language));
89
- }
90
- /**
91
- * Register a custom framework resolver
92
- */
93
- function registerFrameworkResolver(resolver) {
94
- // Remove existing resolver with same name
95
- const index = FRAMEWORK_RESOLVERS.findIndex((r) => r.name === resolver.name);
96
- if (index !== -1) {
97
- FRAMEWORK_RESOLVERS.splice(index, 1);
98
- }
99
- FRAMEWORK_RESOLVERS.push(resolver);
100
- }
101
- // Re-export framework resolvers
102
- var laravel_2 = require("./laravel");
103
- Object.defineProperty(exports, "laravelResolver", { enumerable: true, get: function () { return laravel_2.laravelResolver; } });
104
- Object.defineProperty(exports, "FACADE_MAPPINGS", { enumerable: true, get: function () { return laravel_2.FACADE_MAPPINGS; } });
105
- var express_2 = require("./express");
106
- Object.defineProperty(exports, "expressResolver", { enumerable: true, get: function () { return express_2.expressResolver; } });
107
- var nestjs_2 = require("./nestjs");
108
- Object.defineProperty(exports, "nestjsResolver", { enumerable: true, get: function () { return nestjs_2.nestjsResolver; } });
109
- var react_2 = require("./react");
110
- Object.defineProperty(exports, "reactResolver", { enumerable: true, get: function () { return react_2.reactResolver; } });
111
- var svelte_2 = require("./svelte");
112
- Object.defineProperty(exports, "svelteResolver", { enumerable: true, get: function () { return svelte_2.svelteResolver; } });
113
- var vue_2 = require("./vue");
114
- Object.defineProperty(exports, "vueResolver", { enumerable: true, get: function () { return vue_2.vueResolver; } });
115
- var python_2 = require("./python");
116
- Object.defineProperty(exports, "djangoResolver", { enumerable: true, get: function () { return python_2.djangoResolver; } });
117
- Object.defineProperty(exports, "flaskResolver", { enumerable: true, get: function () { return python_2.flaskResolver; } });
118
- Object.defineProperty(exports, "fastapiResolver", { enumerable: true, get: function () { return python_2.fastapiResolver; } });
119
- var ruby_2 = require("./ruby");
120
- Object.defineProperty(exports, "railsResolver", { enumerable: true, get: function () { return ruby_2.railsResolver; } });
121
- var java_2 = require("./java");
122
- Object.defineProperty(exports, "springResolver", { enumerable: true, get: function () { return java_2.springResolver; } });
123
- var go_2 = require("./go");
124
- Object.defineProperty(exports, "goResolver", { enumerable: true, get: function () { return go_2.goResolver; } });
125
- var rust_2 = require("./rust");
126
- Object.defineProperty(exports, "rustResolver", { enumerable: true, get: function () { return rust_2.rustResolver; } });
127
- var csharp_2 = require("./csharp");
128
- Object.defineProperty(exports, "aspnetResolver", { enumerable: true, get: function () { return csharp_2.aspnetResolver; } });
129
- var swift_2 = require("./swift");
130
- Object.defineProperty(exports, "swiftUIResolver", { enumerable: true, get: function () { return swift_2.swiftUIResolver; } });
131
- Object.defineProperty(exports, "uikitResolver", { enumerable: true, get: function () { return swift_2.uikitResolver; } });
132
- Object.defineProperty(exports, "vaporResolver", { enumerable: true, get: function () { return swift_2.vaporResolver; } });
133
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resolution/frameworks/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Java Framework Resolver
3
- *
4
- * Handles Spring Boot and general Java patterns.
5
- */
6
- import { FrameworkResolver } from '../types';
7
- export declare const springResolver: FrameworkResolver;
8
- //# sourceMappingURL=java.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"java.d.ts","sourceRoot":"","sources":["../../../src/resolution/frameworks/java.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAiD,MAAM,UAAU,CAAC;AAG5F,eAAO,MAAM,cAAc,EAAE,iBA+J5B,CAAC"}