driftdetect-detectors 0.1.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 (509) hide show
  1. package/dist/accessibility/alt-text.d.ts +63 -0
  2. package/dist/accessibility/alt-text.d.ts.map +1 -0
  3. package/dist/accessibility/alt-text.js +100 -0
  4. package/dist/accessibility/alt-text.js.map +1 -0
  5. package/dist/accessibility/aria-roles.d.ts +65 -0
  6. package/dist/accessibility/aria-roles.d.ts.map +1 -0
  7. package/dist/accessibility/aria-roles.js +87 -0
  8. package/dist/accessibility/aria-roles.js.map +1 -0
  9. package/dist/accessibility/focus-management.d.ts +62 -0
  10. package/dist/accessibility/focus-management.d.ts.map +1 -0
  11. package/dist/accessibility/focus-management.js +88 -0
  12. package/dist/accessibility/focus-management.js.map +1 -0
  13. package/dist/accessibility/heading-hierarchy.d.ts +66 -0
  14. package/dist/accessibility/heading-hierarchy.d.ts.map +1 -0
  15. package/dist/accessibility/heading-hierarchy.js +94 -0
  16. package/dist/accessibility/heading-hierarchy.js.map +1 -0
  17. package/dist/accessibility/index.d.ts +25 -0
  18. package/dist/accessibility/index.d.ts.map +1 -0
  19. package/dist/accessibility/index.js +21 -0
  20. package/dist/accessibility/index.js.map +1 -0
  21. package/dist/accessibility/keyboard-nav.d.ts +63 -0
  22. package/dist/accessibility/keyboard-nav.d.ts.map +1 -0
  23. package/dist/accessibility/keyboard-nav.js +86 -0
  24. package/dist/accessibility/keyboard-nav.js.map +1 -0
  25. package/dist/accessibility/semantic-html.d.ts +76 -0
  26. package/dist/accessibility/semantic-html.d.ts.map +1 -0
  27. package/dist/accessibility/semantic-html.js +204 -0
  28. package/dist/accessibility/semantic-html.js.map +1 -0
  29. package/dist/api/client-patterns.d.ts +121 -0
  30. package/dist/api/client-patterns.d.ts.map +1 -0
  31. package/dist/api/client-patterns.js +478 -0
  32. package/dist/api/client-patterns.js.map +1 -0
  33. package/dist/api/error-format.d.ts +140 -0
  34. package/dist/api/error-format.d.ts.map +1 -0
  35. package/dist/api/error-format.js +614 -0
  36. package/dist/api/error-format.js.map +1 -0
  37. package/dist/api/http-methods.d.ts +255 -0
  38. package/dist/api/http-methods.d.ts.map +1 -0
  39. package/dist/api/http-methods.js +890 -0
  40. package/dist/api/http-methods.js.map +1 -0
  41. package/dist/api/index.d.ts +16 -0
  42. package/dist/api/index.d.ts.map +1 -0
  43. package/dist/api/index.js +37 -0
  44. package/dist/api/index.js.map +1 -0
  45. package/dist/api/pagination.d.ts +133 -0
  46. package/dist/api/pagination.d.ts.map +1 -0
  47. package/dist/api/pagination.js +521 -0
  48. package/dist/api/pagination.js.map +1 -0
  49. package/dist/api/response-envelope.d.ts +261 -0
  50. package/dist/api/response-envelope.d.ts.map +1 -0
  51. package/dist/api/response-envelope.js +1050 -0
  52. package/dist/api/response-envelope.js.map +1 -0
  53. package/dist/api/retry-patterns.d.ts +117 -0
  54. package/dist/api/retry-patterns.d.ts.map +1 -0
  55. package/dist/api/retry-patterns.js +480 -0
  56. package/dist/api/retry-patterns.js.map +1 -0
  57. package/dist/api/route-structure.d.ts +128 -0
  58. package/dist/api/route-structure.d.ts.map +1 -0
  59. package/dist/api/route-structure.js +738 -0
  60. package/dist/api/route-structure.js.map +1 -0
  61. package/dist/auth/audit-logging.d.ts +80 -0
  62. package/dist/auth/audit-logging.d.ts.map +1 -0
  63. package/dist/auth/audit-logging.js +370 -0
  64. package/dist/auth/audit-logging.js.map +1 -0
  65. package/dist/auth/index.d.ts +33 -0
  66. package/dist/auth/index.d.ts.map +1 -0
  67. package/dist/auth/index.js +49 -0
  68. package/dist/auth/index.js.map +1 -0
  69. package/dist/auth/middleware-usage.d.ts +65 -0
  70. package/dist/auth/middleware-usage.d.ts.map +1 -0
  71. package/dist/auth/middleware-usage.js +192 -0
  72. package/dist/auth/middleware-usage.js.map +1 -0
  73. package/dist/auth/permission-checks.d.ts +60 -0
  74. package/dist/auth/permission-checks.d.ts.map +1 -0
  75. package/dist/auth/permission-checks.js +159 -0
  76. package/dist/auth/permission-checks.js.map +1 -0
  77. package/dist/auth/rbac-patterns.d.ts +68 -0
  78. package/dist/auth/rbac-patterns.d.ts.map +1 -0
  79. package/dist/auth/rbac-patterns.js +143 -0
  80. package/dist/auth/rbac-patterns.js.map +1 -0
  81. package/dist/auth/resource-ownership.d.ts +77 -0
  82. package/dist/auth/resource-ownership.d.ts.map +1 -0
  83. package/dist/auth/resource-ownership.js +324 -0
  84. package/dist/auth/resource-ownership.js.map +1 -0
  85. package/dist/auth/token-handling.d.ts +64 -0
  86. package/dist/auth/token-handling.d.ts.map +1 -0
  87. package/dist/auth/token-handling.js +151 -0
  88. package/dist/auth/token-handling.js.map +1 -0
  89. package/dist/base/ast-detector.d.ts +421 -0
  90. package/dist/base/ast-detector.d.ts.map +1 -0
  91. package/dist/base/ast-detector.js +699 -0
  92. package/dist/base/ast-detector.js.map +1 -0
  93. package/dist/base/base-detector.d.ts +366 -0
  94. package/dist/base/base-detector.d.ts.map +1 -0
  95. package/dist/base/base-detector.js +170 -0
  96. package/dist/base/base-detector.js.map +1 -0
  97. package/dist/base/index.d.ts +12 -0
  98. package/dist/base/index.d.ts.map +1 -0
  99. package/dist/base/index.js +17 -0
  100. package/dist/base/index.js.map +1 -0
  101. package/dist/base/regex-detector.d.ts +421 -0
  102. package/dist/base/regex-detector.d.ts.map +1 -0
  103. package/dist/base/regex-detector.js +537 -0
  104. package/dist/base/regex-detector.js.map +1 -0
  105. package/dist/base/structural-detector.d.ts +424 -0
  106. package/dist/base/structural-detector.d.ts.map +1 -0
  107. package/dist/base/structural-detector.js +731 -0
  108. package/dist/base/structural-detector.js.map +1 -0
  109. package/dist/base/types.d.ts +53 -0
  110. package/dist/base/types.d.ts.map +1 -0
  111. package/dist/base/types.js +5 -0
  112. package/dist/base/types.js.map +1 -0
  113. package/dist/components/component-structure.d.ts +163 -0
  114. package/dist/components/component-structure.d.ts.map +1 -0
  115. package/dist/components/component-structure.js +500 -0
  116. package/dist/components/component-structure.js.map +1 -0
  117. package/dist/components/composition.d.ts +287 -0
  118. package/dist/components/composition.d.ts.map +1 -0
  119. package/dist/components/composition.js +1123 -0
  120. package/dist/components/composition.js.map +1 -0
  121. package/dist/components/duplicate-detection.d.ts +251 -0
  122. package/dist/components/duplicate-detection.d.ts.map +1 -0
  123. package/dist/components/duplicate-detection.js +804 -0
  124. package/dist/components/duplicate-detection.js.map +1 -0
  125. package/dist/components/index.d.ts +16 -0
  126. package/dist/components/index.d.ts.map +1 -0
  127. package/dist/components/index.js +51 -0
  128. package/dist/components/index.js.map +1 -0
  129. package/dist/components/near-duplicate.d.ts +402 -0
  130. package/dist/components/near-duplicate.d.ts.map +1 -0
  131. package/dist/components/near-duplicate.js +1090 -0
  132. package/dist/components/near-duplicate.js.map +1 -0
  133. package/dist/components/props-patterns.d.ts +194 -0
  134. package/dist/components/props-patterns.d.ts.map +1 -0
  135. package/dist/components/props-patterns.js +795 -0
  136. package/dist/components/props-patterns.js.map +1 -0
  137. package/dist/components/ref-forwarding.d.ts +250 -0
  138. package/dist/components/ref-forwarding.d.ts.map +1 -0
  139. package/dist/components/ref-forwarding.js +832 -0
  140. package/dist/components/ref-forwarding.js.map +1 -0
  141. package/dist/components/state-patterns.d.ts +291 -0
  142. package/dist/components/state-patterns.d.ts.map +1 -0
  143. package/dist/components/state-patterns.js +970 -0
  144. package/dist/components/state-patterns.js.map +1 -0
  145. package/dist/config/config-validation.d.ts +74 -0
  146. package/dist/config/config-validation.d.ts.map +1 -0
  147. package/dist/config/config-validation.js +446 -0
  148. package/dist/config/config-validation.js.map +1 -0
  149. package/dist/config/default-values.d.ts +72 -0
  150. package/dist/config/default-values.d.ts.map +1 -0
  151. package/dist/config/default-values.js +386 -0
  152. package/dist/config/default-values.js.map +1 -0
  153. package/dist/config/env-naming.d.ts +73 -0
  154. package/dist/config/env-naming.d.ts.map +1 -0
  155. package/dist/config/env-naming.js +429 -0
  156. package/dist/config/env-naming.js.map +1 -0
  157. package/dist/config/environment-detection.d.ts +72 -0
  158. package/dist/config/environment-detection.d.ts.map +1 -0
  159. package/dist/config/environment-detection.js +400 -0
  160. package/dist/config/environment-detection.js.map +1 -0
  161. package/dist/config/feature-flags.d.ts +72 -0
  162. package/dist/config/feature-flags.d.ts.map +1 -0
  163. package/dist/config/feature-flags.js +384 -0
  164. package/dist/config/feature-flags.js.map +1 -0
  165. package/dist/config/index.d.ts +27 -0
  166. package/dist/config/index.d.ts.map +1 -0
  167. package/dist/config/index.js +43 -0
  168. package/dist/config/index.js.map +1 -0
  169. package/dist/config/required-optional.d.ts +71 -0
  170. package/dist/config/required-optional.d.ts.map +1 -0
  171. package/dist/config/required-optional.js +344 -0
  172. package/dist/config/required-optional.js.map +1 -0
  173. package/dist/data-access/connection-pooling.d.ts +63 -0
  174. package/dist/data-access/connection-pooling.d.ts.map +1 -0
  175. package/dist/data-access/connection-pooling.js +297 -0
  176. package/dist/data-access/connection-pooling.js.map +1 -0
  177. package/dist/data-access/dto-patterns.d.ts +64 -0
  178. package/dist/data-access/dto-patterns.d.ts.map +1 -0
  179. package/dist/data-access/dto-patterns.js +291 -0
  180. package/dist/data-access/dto-patterns.js.map +1 -0
  181. package/dist/data-access/index.d.ts +31 -0
  182. package/dist/data-access/index.d.ts.map +1 -0
  183. package/dist/data-access/index.js +49 -0
  184. package/dist/data-access/index.js.map +1 -0
  185. package/dist/data-access/n-plus-one.d.ts +60 -0
  186. package/dist/data-access/n-plus-one.d.ts.map +1 -0
  187. package/dist/data-access/n-plus-one.js +264 -0
  188. package/dist/data-access/n-plus-one.js.map +1 -0
  189. package/dist/data-access/query-patterns.d.ts +64 -0
  190. package/dist/data-access/query-patterns.d.ts.map +1 -0
  191. package/dist/data-access/query-patterns.js +314 -0
  192. package/dist/data-access/query-patterns.js.map +1 -0
  193. package/dist/data-access/repository-pattern.d.ts +62 -0
  194. package/dist/data-access/repository-pattern.d.ts.map +1 -0
  195. package/dist/data-access/repository-pattern.js +257 -0
  196. package/dist/data-access/repository-pattern.js.map +1 -0
  197. package/dist/data-access/transaction-patterns.d.ts +61 -0
  198. package/dist/data-access/transaction-patterns.d.ts.map +1 -0
  199. package/dist/data-access/transaction-patterns.js +277 -0
  200. package/dist/data-access/transaction-patterns.js.map +1 -0
  201. package/dist/data-access/validation-patterns.d.ts +62 -0
  202. package/dist/data-access/validation-patterns.d.ts.map +1 -0
  203. package/dist/data-access/validation-patterns.js +301 -0
  204. package/dist/data-access/validation-patterns.js.map +1 -0
  205. package/dist/documentation/deprecation.d.ts +62 -0
  206. package/dist/documentation/deprecation.d.ts.map +1 -0
  207. package/dist/documentation/deprecation.js +83 -0
  208. package/dist/documentation/deprecation.js.map +1 -0
  209. package/dist/documentation/example-code.d.ts +64 -0
  210. package/dist/documentation/example-code.d.ts.map +1 -0
  211. package/dist/documentation/example-code.js +79 -0
  212. package/dist/documentation/example-code.js.map +1 -0
  213. package/dist/documentation/index.d.ts +22 -0
  214. package/dist/documentation/index.d.ts.map +1 -0
  215. package/dist/documentation/index.js +19 -0
  216. package/dist/documentation/index.js.map +1 -0
  217. package/dist/documentation/jsdoc-patterns.d.ts +72 -0
  218. package/dist/documentation/jsdoc-patterns.d.ts.map +1 -0
  219. package/dist/documentation/jsdoc-patterns.js +92 -0
  220. package/dist/documentation/jsdoc-patterns.js.map +1 -0
  221. package/dist/documentation/readme-structure.d.ts +67 -0
  222. package/dist/documentation/readme-structure.d.ts.map +1 -0
  223. package/dist/documentation/readme-structure.js +76 -0
  224. package/dist/documentation/readme-structure.js.map +1 -0
  225. package/dist/documentation/todo-patterns.d.ts +67 -0
  226. package/dist/documentation/todo-patterns.d.ts.map +1 -0
  227. package/dist/documentation/todo-patterns.js +73 -0
  228. package/dist/documentation/todo-patterns.js.map +1 -0
  229. package/dist/errors/async-errors.d.ts +72 -0
  230. package/dist/errors/async-errors.d.ts.map +1 -0
  231. package/dist/errors/async-errors.js +214 -0
  232. package/dist/errors/async-errors.js.map +1 -0
  233. package/dist/errors/circuit-breaker.d.ts +53 -0
  234. package/dist/errors/circuit-breaker.d.ts.map +1 -0
  235. package/dist/errors/circuit-breaker.js +241 -0
  236. package/dist/errors/circuit-breaker.js.map +1 -0
  237. package/dist/errors/error-codes.d.ts +73 -0
  238. package/dist/errors/error-codes.d.ts.map +1 -0
  239. package/dist/errors/error-codes.js +211 -0
  240. package/dist/errors/error-codes.js.map +1 -0
  241. package/dist/errors/error-logging.d.ts +73 -0
  242. package/dist/errors/error-logging.d.ts.map +1 -0
  243. package/dist/errors/error-logging.js +256 -0
  244. package/dist/errors/error-logging.js.map +1 -0
  245. package/dist/errors/error-propagation.d.ts +73 -0
  246. package/dist/errors/error-propagation.d.ts.map +1 -0
  247. package/dist/errors/error-propagation.js +244 -0
  248. package/dist/errors/error-propagation.js.map +1 -0
  249. package/dist/errors/exception-hierarchy.d.ts +75 -0
  250. package/dist/errors/exception-hierarchy.d.ts.map +1 -0
  251. package/dist/errors/exception-hierarchy.js +259 -0
  252. package/dist/errors/exception-hierarchy.js.map +1 -0
  253. package/dist/errors/index.d.ts +31 -0
  254. package/dist/errors/index.d.ts.map +1 -0
  255. package/dist/errors/index.js +49 -0
  256. package/dist/errors/index.js.map +1 -0
  257. package/dist/errors/try-catch-placement.d.ts +73 -0
  258. package/dist/errors/try-catch-placement.d.ts.map +1 -0
  259. package/dist/errors/try-catch-placement.js +214 -0
  260. package/dist/errors/try-catch-placement.js.map +1 -0
  261. package/dist/index.d.ts +221 -0
  262. package/dist/index.d.ts.map +1 -0
  263. package/dist/index.js +245 -0
  264. package/dist/index.js.map +1 -0
  265. package/dist/logging/context-fields.d.ts +48 -0
  266. package/dist/logging/context-fields.d.ts.map +1 -0
  267. package/dist/logging/context-fields.js +160 -0
  268. package/dist/logging/context-fields.js.map +1 -0
  269. package/dist/logging/correlation-ids.d.ts +44 -0
  270. package/dist/logging/correlation-ids.d.ts.map +1 -0
  271. package/dist/logging/correlation-ids.js +144 -0
  272. package/dist/logging/correlation-ids.js.map +1 -0
  273. package/dist/logging/health-checks.d.ts +45 -0
  274. package/dist/logging/health-checks.d.ts.map +1 -0
  275. package/dist/logging/health-checks.js +165 -0
  276. package/dist/logging/health-checks.js.map +1 -0
  277. package/dist/logging/index.d.ts +31 -0
  278. package/dist/logging/index.d.ts.map +1 -0
  279. package/dist/logging/index.js +49 -0
  280. package/dist/logging/index.js.map +1 -0
  281. package/dist/logging/log-levels.d.ts +46 -0
  282. package/dist/logging/log-levels.d.ts.map +1 -0
  283. package/dist/logging/log-levels.js +178 -0
  284. package/dist/logging/log-levels.js.map +1 -0
  285. package/dist/logging/metric-naming.d.ts +46 -0
  286. package/dist/logging/metric-naming.d.ts.map +1 -0
  287. package/dist/logging/metric-naming.js +157 -0
  288. package/dist/logging/metric-naming.js.map +1 -0
  289. package/dist/logging/pii-redaction.d.ts +44 -0
  290. package/dist/logging/pii-redaction.d.ts.map +1 -0
  291. package/dist/logging/pii-redaction.js +166 -0
  292. package/dist/logging/pii-redaction.js.map +1 -0
  293. package/dist/logging/structured-format.d.ts +53 -0
  294. package/dist/logging/structured-format.d.ts.map +1 -0
  295. package/dist/logging/structured-format.js +235 -0
  296. package/dist/logging/structured-format.js.map +1 -0
  297. package/dist/performance/bundle-size.d.ts +79 -0
  298. package/dist/performance/bundle-size.d.ts.map +1 -0
  299. package/dist/performance/bundle-size.js +276 -0
  300. package/dist/performance/bundle-size.js.map +1 -0
  301. package/dist/performance/caching-patterns.d.ts +78 -0
  302. package/dist/performance/caching-patterns.d.ts.map +1 -0
  303. package/dist/performance/caching-patterns.js +257 -0
  304. package/dist/performance/caching-patterns.js.map +1 -0
  305. package/dist/performance/code-splitting.d.ts +86 -0
  306. package/dist/performance/code-splitting.d.ts.map +1 -0
  307. package/dist/performance/code-splitting.js +447 -0
  308. package/dist/performance/code-splitting.js.map +1 -0
  309. package/dist/performance/debounce-throttle.d.ts +75 -0
  310. package/dist/performance/debounce-throttle.d.ts.map +1 -0
  311. package/dist/performance/debounce-throttle.js +232 -0
  312. package/dist/performance/debounce-throttle.js.map +1 -0
  313. package/dist/performance/index.d.ts +28 -0
  314. package/dist/performance/index.d.ts.map +1 -0
  315. package/dist/performance/index.js +39 -0
  316. package/dist/performance/index.js.map +1 -0
  317. package/dist/performance/lazy-loading.d.ts +75 -0
  318. package/dist/performance/lazy-loading.d.ts.map +1 -0
  319. package/dist/performance/lazy-loading.js +233 -0
  320. package/dist/performance/lazy-loading.js.map +1 -0
  321. package/dist/performance/memoization.d.ts +75 -0
  322. package/dist/performance/memoization.d.ts.map +1 -0
  323. package/dist/performance/memoization.js +251 -0
  324. package/dist/performance/memoization.js.map +1 -0
  325. package/dist/registry/detector-registry.d.ts +266 -0
  326. package/dist/registry/detector-registry.d.ts.map +1 -0
  327. package/dist/registry/detector-registry.js +526 -0
  328. package/dist/registry/detector-registry.js.map +1 -0
  329. package/dist/registry/index.d.ts +10 -0
  330. package/dist/registry/index.d.ts.map +1 -0
  331. package/dist/registry/index.js +10 -0
  332. package/dist/registry/index.js.map +1 -0
  333. package/dist/registry/loader.d.ts +232 -0
  334. package/dist/registry/loader.d.ts.map +1 -0
  335. package/dist/registry/loader.js +419 -0
  336. package/dist/registry/loader.js.map +1 -0
  337. package/dist/registry/types.d.ts +111 -0
  338. package/dist/registry/types.d.ts.map +1 -0
  339. package/dist/registry/types.js +19 -0
  340. package/dist/registry/types.js.map +1 -0
  341. package/dist/security/csp-headers.d.ts +78 -0
  342. package/dist/security/csp-headers.d.ts.map +1 -0
  343. package/dist/security/csp-headers.js +401 -0
  344. package/dist/security/csp-headers.js.map +1 -0
  345. package/dist/security/csrf-protection.d.ts +72 -0
  346. package/dist/security/csrf-protection.d.ts.map +1 -0
  347. package/dist/security/csrf-protection.js +344 -0
  348. package/dist/security/csrf-protection.js.map +1 -0
  349. package/dist/security/index.d.ts +30 -0
  350. package/dist/security/index.d.ts.map +1 -0
  351. package/dist/security/index.js +48 -0
  352. package/dist/security/index.js.map +1 -0
  353. package/dist/security/input-sanitization.d.ts +74 -0
  354. package/dist/security/input-sanitization.d.ts.map +1 -0
  355. package/dist/security/input-sanitization.js +373 -0
  356. package/dist/security/input-sanitization.js.map +1 -0
  357. package/dist/security/rate-limiting.d.ts +81 -0
  358. package/dist/security/rate-limiting.d.ts.map +1 -0
  359. package/dist/security/rate-limiting.js +535 -0
  360. package/dist/security/rate-limiting.js.map +1 -0
  361. package/dist/security/secret-management.d.ts +83 -0
  362. package/dist/security/secret-management.d.ts.map +1 -0
  363. package/dist/security/secret-management.js +547 -0
  364. package/dist/security/secret-management.js.map +1 -0
  365. package/dist/security/sql-injection.d.ts +76 -0
  366. package/dist/security/sql-injection.d.ts.map +1 -0
  367. package/dist/security/sql-injection.js +383 -0
  368. package/dist/security/sql-injection.js.map +1 -0
  369. package/dist/security/xss-prevention.d.ts +80 -0
  370. package/dist/security/xss-prevention.d.ts.map +1 -0
  371. package/dist/security/xss-prevention.js +416 -0
  372. package/dist/security/xss-prevention.js.map +1 -0
  373. package/dist/structural/barrel-exports.d.ts +178 -0
  374. package/dist/structural/barrel-exports.d.ts.map +1 -0
  375. package/dist/structural/barrel-exports.js +553 -0
  376. package/dist/structural/barrel-exports.js.map +1 -0
  377. package/dist/structural/circular-deps.d.ts +140 -0
  378. package/dist/structural/circular-deps.d.ts.map +1 -0
  379. package/dist/structural/circular-deps.js +422 -0
  380. package/dist/structural/circular-deps.js.map +1 -0
  381. package/dist/structural/co-location.d.ts +202 -0
  382. package/dist/structural/co-location.d.ts.map +1 -0
  383. package/dist/structural/co-location.js +640 -0
  384. package/dist/structural/co-location.js.map +1 -0
  385. package/dist/structural/directory-structure.d.ts +151 -0
  386. package/dist/structural/directory-structure.d.ts.map +1 -0
  387. package/dist/structural/directory-structure.js +457 -0
  388. package/dist/structural/directory-structure.js.map +1 -0
  389. package/dist/structural/file-naming.d.ts +61 -0
  390. package/dist/structural/file-naming.d.ts.map +1 -0
  391. package/dist/structural/file-naming.js +231 -0
  392. package/dist/structural/file-naming.js.map +1 -0
  393. package/dist/structural/import-ordering.d.ts +212 -0
  394. package/dist/structural/import-ordering.d.ts.map +1 -0
  395. package/dist/structural/import-ordering.js +821 -0
  396. package/dist/structural/import-ordering.js.map +1 -0
  397. package/dist/structural/index.d.ts +23 -0
  398. package/dist/structural/index.d.ts.map +1 -0
  399. package/dist/structural/index.js +26 -0
  400. package/dist/structural/index.js.map +1 -0
  401. package/dist/structural/module-boundaries.d.ts +164 -0
  402. package/dist/structural/module-boundaries.d.ts.map +1 -0
  403. package/dist/structural/module-boundaries.js +616 -0
  404. package/dist/structural/module-boundaries.js.map +1 -0
  405. package/dist/structural/package-boundaries.d.ts +182 -0
  406. package/dist/structural/package-boundaries.d.ts.map +1 -0
  407. package/dist/structural/package-boundaries.js +602 -0
  408. package/dist/structural/package-boundaries.js.map +1 -0
  409. package/dist/styling/class-naming.d.ts +263 -0
  410. package/dist/styling/class-naming.d.ts.map +1 -0
  411. package/dist/styling/class-naming.js +892 -0
  412. package/dist/styling/class-naming.js.map +1 -0
  413. package/dist/styling/color-usage.d.ts +213 -0
  414. package/dist/styling/color-usage.d.ts.map +1 -0
  415. package/dist/styling/color-usage.js +732 -0
  416. package/dist/styling/color-usage.js.map +1 -0
  417. package/dist/styling/design-tokens.d.ts +212 -0
  418. package/dist/styling/design-tokens.d.ts.map +1 -0
  419. package/dist/styling/design-tokens.js +748 -0
  420. package/dist/styling/design-tokens.js.map +1 -0
  421. package/dist/styling/index.d.ts +16 -0
  422. package/dist/styling/index.d.ts.map +1 -0
  423. package/dist/styling/index.js +56 -0
  424. package/dist/styling/index.js.map +1 -0
  425. package/dist/styling/responsive.d.ts +304 -0
  426. package/dist/styling/responsive.d.ts.map +1 -0
  427. package/dist/styling/responsive.js +888 -0
  428. package/dist/styling/responsive.js.map +1 -0
  429. package/dist/styling/spacing-scale.d.ts +248 -0
  430. package/dist/styling/spacing-scale.d.ts.map +1 -0
  431. package/dist/styling/spacing-scale.js +865 -0
  432. package/dist/styling/spacing-scale.js.map +1 -0
  433. package/dist/styling/tailwind-patterns.d.ts +305 -0
  434. package/dist/styling/tailwind-patterns.d.ts.map +1 -0
  435. package/dist/styling/tailwind-patterns.js +1181 -0
  436. package/dist/styling/tailwind-patterns.js.map +1 -0
  437. package/dist/styling/typography.d.ts +281 -0
  438. package/dist/styling/typography.d.ts.map +1 -0
  439. package/dist/styling/typography.js +1004 -0
  440. package/dist/styling/typography.js.map +1 -0
  441. package/dist/styling/z-index-scale.d.ts +270 -0
  442. package/dist/styling/z-index-scale.d.ts.map +1 -0
  443. package/dist/styling/z-index-scale.js +714 -0
  444. package/dist/styling/z-index-scale.js.map +1 -0
  445. package/dist/testing/co-location.d.ts +42 -0
  446. package/dist/testing/co-location.d.ts.map +1 -0
  447. package/dist/testing/co-location.js +134 -0
  448. package/dist/testing/co-location.js.map +1 -0
  449. package/dist/testing/describe-naming.d.ts +47 -0
  450. package/dist/testing/describe-naming.d.ts.map +1 -0
  451. package/dist/testing/describe-naming.js +150 -0
  452. package/dist/testing/describe-naming.js.map +1 -0
  453. package/dist/testing/file-naming.d.ts +44 -0
  454. package/dist/testing/file-naming.d.ts.map +1 -0
  455. package/dist/testing/file-naming.js +131 -0
  456. package/dist/testing/file-naming.js.map +1 -0
  457. package/dist/testing/fixture-patterns.d.ts +52 -0
  458. package/dist/testing/fixture-patterns.d.ts.map +1 -0
  459. package/dist/testing/fixture-patterns.js +228 -0
  460. package/dist/testing/fixture-patterns.js.map +1 -0
  461. package/dist/testing/index.d.ts +31 -0
  462. package/dist/testing/index.d.ts.map +1 -0
  463. package/dist/testing/index.js +49 -0
  464. package/dist/testing/index.js.map +1 -0
  465. package/dist/testing/mock-patterns.d.ts +53 -0
  466. package/dist/testing/mock-patterns.d.ts.map +1 -0
  467. package/dist/testing/mock-patterns.js +264 -0
  468. package/dist/testing/mock-patterns.js.map +1 -0
  469. package/dist/testing/setup-teardown.d.ts +55 -0
  470. package/dist/testing/setup-teardown.d.ts.map +1 -0
  471. package/dist/testing/setup-teardown.js +262 -0
  472. package/dist/testing/setup-teardown.js.map +1 -0
  473. package/dist/testing/test-structure.d.ts +51 -0
  474. package/dist/testing/test-structure.d.ts.map +1 -0
  475. package/dist/testing/test-structure.js +225 -0
  476. package/dist/testing/test-structure.js.map +1 -0
  477. package/dist/types/any-usage.d.ts +99 -0
  478. package/dist/types/any-usage.d.ts.map +1 -0
  479. package/dist/types/any-usage.js +641 -0
  480. package/dist/types/any-usage.js.map +1 -0
  481. package/dist/types/file-location.d.ts +76 -0
  482. package/dist/types/file-location.d.ts.map +1 -0
  483. package/dist/types/file-location.js +395 -0
  484. package/dist/types/file-location.js.map +1 -0
  485. package/dist/types/generic-patterns.d.ts +97 -0
  486. package/dist/types/generic-patterns.d.ts.map +1 -0
  487. package/dist/types/generic-patterns.js +615 -0
  488. package/dist/types/generic-patterns.js.map +1 -0
  489. package/dist/types/index.d.ts +31 -0
  490. package/dist/types/index.d.ts.map +1 -0
  491. package/dist/types/index.js +43 -0
  492. package/dist/types/index.js.map +1 -0
  493. package/dist/types/interface-vs-type.d.ts +81 -0
  494. package/dist/types/interface-vs-type.d.ts.map +1 -0
  495. package/dist/types/interface-vs-type.js +440 -0
  496. package/dist/types/interface-vs-type.js.map +1 -0
  497. package/dist/types/naming-conventions.d.ts +84 -0
  498. package/dist/types/naming-conventions.d.ts.map +1 -0
  499. package/dist/types/naming-conventions.js +455 -0
  500. package/dist/types/naming-conventions.js.map +1 -0
  501. package/dist/types/type-assertions.d.ts +98 -0
  502. package/dist/types/type-assertions.d.ts.map +1 -0
  503. package/dist/types/type-assertions.js +639 -0
  504. package/dist/types/type-assertions.js.map +1 -0
  505. package/dist/types/utility-types.d.ts +110 -0
  506. package/dist/types/utility-types.d.ts.map +1 -0
  507. package/dist/types/utility-types.js +547 -0
  508. package/dist/types/utility-types.js.map +1 -0
  509. package/package.json +44 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicate-detection.js","sourceRoot":"","sources":["../../src/components/duplicate-detection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Component detectors module exports
3
+ *
4
+ * Detects UI component patterns including file structure,
5
+ * props patterns, duplicates, and more.
6
+ *
7
+ * @requirements 8.1-8.8 - Component pattern detection
8
+ */
9
+ export { ComponentStructureDetector, createComponentStructureDetector, type ComponentStructureType, type ComponentFileInfo, type ComponentFileType, type DetectedComponent, type ComponentStructureAnalysis, getComponentFileType, extractComponentName, isComponentFile, isComponentFolder, getComponentFolderFiles, determineStructureType, findRelatedFiles, detectComponents, analyzeComponentStructure, suggestRestructure, COMPONENT_EXTENSIONS, COMPONENT_FILE_PATTERNS, COMPONENT_FOLDER_INDICATORS, } from './component-structure.js';
10
+ export { PropsPatternDetector, createPropsPatternDetector, type PropsDestructuringPattern, type DefaultPropsPattern, type PropsSpreadingPattern, type PropsTypePattern, type ComponentPropsInfo, type PropsPatternAnalysis, isReactComponent, getComponentName, detectDestructuringPattern, detectDefaultPropsPattern, detectSpreadingPattern, detectTypePattern, extractPropNames, extractPropsWithDefaults, getPropsTypeName, usesFCType, analyzeComponentProps, analyzePropsPatterns, generatePropsSuggestion, FC_TYPE_PATTERNS, PROPS_TYPE_NAME_PATTERNS, } from './props-patterns.js';
11
+ export { DuplicateDetector, createDuplicateDetector, type DuplicateType, type DuplicatePair, type ComponentInfo, type DuplicateDifference, type NormalizedNode, type DuplicateAnalysis, type DuplicateDetectionConfig, normalizeASTNode, hashNormalizedNode, countNodes, calculateASTSimilarity, calculateTextSimilarity, determineDuplicateType, isReactComponentNode, extractComponentNameFromNode, extractComponentInfo, findDifferences, hasOnlyIdentifierDifferences, compareComponents, analyzeDuplicates, generateRefactoringSuggestion, DEFAULT_DUPLICATE_CONFIG, IDENTIFIER_NODE_TYPES, LITERAL_NODE_TYPES, } from './duplicate-detection.js';
12
+ export { NearDuplicateDetector, createNearDuplicateDetector, type AbstractionType, type SemanticFeatures, type PropFeature, type StateFeature, type HookFeature, type EventHandlerFeature, type JSXElementFeature, type ConditionalPattern, type DataPattern, type NearDuplicatePair, type SimilarityBreakdown, type AbstractionSuggestion, type NearDuplicateAnalysis, type AbstractionGroup, type NearDuplicateConfig, type SimilarityWeights, isReactComponentNode as isReactComponentNodeNearDup, extractComponentName as extractComponentNameNearDup, extractProps, extractState, extractHooks, extractEventHandlers, extractJSXElements, extractConditionalPatterns, extractDataPatterns, extractSemanticFeatures, calculatePropsSimilarity, calculateStateSimilarity, calculateHooksSimilarity, calculateEventHandlersSimilarity, calculateJSXSimilarity, calculateConditionalSimilarity, calculateDataPatternsSimilarity, calculateSemanticSimilarity, calculateOverallSimilarity, determineAbstractionType, generateAbstractionSuggestions, compareComponentsSemanticly, analyzeNearDuplicates, generateRefactoringSuggestionMessage, DEFAULT_NEAR_DUPLICATE_CONFIG, REACT_HOOKS, EVENT_HANDLER_PATTERNS, } from './near-duplicate.js';
13
+ export { StatePatternDetector, createStatePatternDetector, type LocalStatePattern, type GlobalStatePattern, type StateIssueType, type StateUsageInfo, type ComponentStateInfo, type StateIssue, type StatePatternAnalysis, type StatePatternConfig, isReactComponent as isReactComponentState, getComponentName as getComponentNameState, detectUseState, detectUseReducer, detectUseRef, detectLocalState, detectUseContext, detectRedux, detectZustand, detectJotai, detectRecoil, detectReactQuery, detectSWR, detectMobX, detectValtio, detectGlobalState, detectPropDrilling, detectStateIssues, calculateComplexityScore, extractPropsFromComponent, analyzeComponentState, analyzeStatePatterns, DEFAULT_STATE_PATTERN_CONFIG, LOCAL_PATTERN_DESCRIPTIONS, GLOBAL_PATTERN_DESCRIPTIONS, REDUX_HOOKS, ZUSTAND_PATTERNS, JOTAI_HOOKS, RECOIL_HOOKS, REACT_QUERY_HOOKS, SWR_HOOKS, MOBX_PATTERNS, VALTIO_HOOKS, } from './state-patterns.js';
14
+ export { CompositionDetector, createCompositionDetector, type CompositionPattern, type CompositionAntiPattern, type CompositionUsageInfo, type CompositionDetails, type ComponentCompositionInfo, type CompositionAntiPatternInfo, type CompositionAnalysis, type CompositionConfig, isReactComponent as isReactComponentComposition, getComponentName as getComponentNameComposition, detectChildrenProp, acceptsChildrenProp, detectRenderProps, detectHOC, extractHOCNames, detectCompoundComponent, isCompoundComponentPart, detectSlotBasedComposition, detectProviderConsumer, countNestedProviders, detectControlledPattern, detectUncontrolledPattern, hasMixedControlledPatterns, detectAntiPatterns, analyzeComponentComposition, analyzeCompositionPatterns, DEFAULT_COMPOSITION_CONFIG, HOC_PATTERNS, RENDER_PROP_NAMES, CONTROLLED_PROP_PATTERNS, UNCONTROLLED_PROP_PATTERNS, } from './composition.js';
15
+ export { RefForwardingDetector, createRefForwardingDetector, type RefForwardingPattern, type RefForwardingIssue, type RefUsageInfo, type ComponentRefInfo, type RefIssue, type RefForwardingAnalysis, type RefForwardingConfig, isReactComponent as isReactComponentRef, getComponentName as getComponentNameRef, detectForwardRef, isWrappedWithForwardRef, detectUseImperativeHandle, hasImperativeWithoutForwardRef, detectUseRef as detectUseRefForwarding, isRefUsed, detectRefPropToDom, detectRefPropToChild, detectCallbackRef, detectRefMerging, detectMissingForwardRef, detectRefIssues, collectRefUsages, analyzeComponentRefs, analyzeRefForwardingPatterns, getPatternDescription, getIssueDescription, DEFAULT_REF_FORWARDING_CONFIG, REF_HOOKS, DOM_ELEMENTS_WITH_REFS, } from './ref-forwarding.js';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Component detectors module exports
3
+ *
4
+ * Detects UI component patterns including file structure,
5
+ * props patterns, duplicates, and more.
6
+ *
7
+ * @requirements 8.1-8.8 - Component pattern detection
8
+ */
9
+ // Component Structure Detector
10
+ export { ComponentStructureDetector, createComponentStructureDetector,
11
+ // Helper functions
12
+ getComponentFileType, extractComponentName, isComponentFile, isComponentFolder, getComponentFolderFiles, determineStructureType, findRelatedFiles, detectComponents, analyzeComponentStructure, suggestRestructure,
13
+ // Constants
14
+ COMPONENT_EXTENSIONS, COMPONENT_FILE_PATTERNS, COMPONENT_FOLDER_INDICATORS, } from './component-structure.js';
15
+ // Props Patterns Detector
16
+ export { PropsPatternDetector, createPropsPatternDetector,
17
+ // Helper functions
18
+ isReactComponent, getComponentName, detectDestructuringPattern, detectDefaultPropsPattern, detectSpreadingPattern, detectTypePattern, extractPropNames, extractPropsWithDefaults, getPropsTypeName, usesFCType, analyzeComponentProps, analyzePropsPatterns, generatePropsSuggestion,
19
+ // Constants
20
+ FC_TYPE_PATTERNS, PROPS_TYPE_NAME_PATTERNS, } from './props-patterns.js';
21
+ // Duplicate Detection
22
+ export { DuplicateDetector, createDuplicateDetector,
23
+ // Helper functions
24
+ normalizeASTNode, hashNormalizedNode, countNodes, calculateASTSimilarity, calculateTextSimilarity, determineDuplicateType, isReactComponentNode, extractComponentNameFromNode, extractComponentInfo, findDifferences, hasOnlyIdentifierDifferences, compareComponents, analyzeDuplicates, generateRefactoringSuggestion,
25
+ // Constants
26
+ DEFAULT_DUPLICATE_CONFIG, IDENTIFIER_NODE_TYPES, LITERAL_NODE_TYPES, } from './duplicate-detection.js';
27
+ // Near Duplicate Detection (Semantic Similarity)
28
+ export { NearDuplicateDetector, createNearDuplicateDetector,
29
+ // Helper functions
30
+ isReactComponentNode as isReactComponentNodeNearDup, extractComponentName as extractComponentNameNearDup, extractProps, extractState, extractHooks, extractEventHandlers, extractJSXElements, extractConditionalPatterns, extractDataPatterns, extractSemanticFeatures, calculatePropsSimilarity, calculateStateSimilarity, calculateHooksSimilarity, calculateEventHandlersSimilarity, calculateJSXSimilarity, calculateConditionalSimilarity, calculateDataPatternsSimilarity, calculateSemanticSimilarity, calculateOverallSimilarity, determineAbstractionType, generateAbstractionSuggestions, compareComponentsSemanticly, analyzeNearDuplicates, generateRefactoringSuggestionMessage,
31
+ // Constants
32
+ DEFAULT_NEAR_DUPLICATE_CONFIG, REACT_HOOKS, EVENT_HANDLER_PATTERNS, } from './near-duplicate.js';
33
+ // State Patterns Detector
34
+ export { StatePatternDetector, createStatePatternDetector,
35
+ // Helper functions
36
+ isReactComponent as isReactComponentState, getComponentName as getComponentNameState, detectUseState, detectUseReducer, detectUseRef, detectLocalState, detectUseContext, detectRedux, detectZustand, detectJotai, detectRecoil, detectReactQuery, detectSWR, detectMobX, detectValtio, detectGlobalState, detectPropDrilling, detectStateIssues, calculateComplexityScore, extractPropsFromComponent, analyzeComponentState, analyzeStatePatterns,
37
+ // Constants
38
+ DEFAULT_STATE_PATTERN_CONFIG, LOCAL_PATTERN_DESCRIPTIONS, GLOBAL_PATTERN_DESCRIPTIONS, REDUX_HOOKS, ZUSTAND_PATTERNS, JOTAI_HOOKS, RECOIL_HOOKS, REACT_QUERY_HOOKS, SWR_HOOKS, MOBX_PATTERNS, VALTIO_HOOKS, } from './state-patterns.js';
39
+ // Composition Detector
40
+ export { CompositionDetector, createCompositionDetector,
41
+ // Helper functions
42
+ isReactComponent as isReactComponentComposition, getComponentName as getComponentNameComposition, detectChildrenProp, acceptsChildrenProp, detectRenderProps, detectHOC, extractHOCNames, detectCompoundComponent, isCompoundComponentPart, detectSlotBasedComposition, detectProviderConsumer, countNestedProviders, detectControlledPattern, detectUncontrolledPattern, hasMixedControlledPatterns, detectAntiPatterns, analyzeComponentComposition, analyzeCompositionPatterns,
43
+ // Constants
44
+ DEFAULT_COMPOSITION_CONFIG, HOC_PATTERNS, RENDER_PROP_NAMES, CONTROLLED_PROP_PATTERNS, UNCONTROLLED_PROP_PATTERNS, } from './composition.js';
45
+ // Ref Forwarding Detector
46
+ export { RefForwardingDetector, createRefForwardingDetector,
47
+ // Helper functions
48
+ isReactComponent as isReactComponentRef, getComponentName as getComponentNameRef, detectForwardRef, isWrappedWithForwardRef, detectUseImperativeHandle, hasImperativeWithoutForwardRef, detectUseRef as detectUseRefForwarding, isRefUsed, detectRefPropToDom, detectRefPropToChild, detectCallbackRef, detectRefMerging, detectMissingForwardRef, detectRefIssues, collectRefUsages, analyzeComponentRefs, analyzeRefForwardingPatterns, getPatternDescription, getIssueDescription,
49
+ // Constants
50
+ DEFAULT_REF_FORWARDING_CONFIG, REF_HOOKS, DOM_ELEMENTS_WITH_REFS, } from './ref-forwarding.js';
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,402 @@
1
+ /**
2
+ * Near Duplicate Detector - Semantic similarity detection for abstraction candidates
3
+ *
4
+ * Detects semantically similar components that could be refactored into shared
5
+ * abstractions. Unlike duplicate-detection.ts which focuses on AST structure,
6
+ * this detector analyzes functional similarity including:
7
+ * - Similar prop patterns
8
+ * - Similar render patterns
9
+ * - Similar state management
10
+ * - Opportunities for shared hooks, HOCs, or render props
11
+ *
12
+ * @requirements 8.4 - THE Component_Detector SHALL detect near-duplicate components that should be abstracted
13
+ */
14
+ import type { Violation, QuickFix, Language, ASTNode } from 'driftdetect-core';
15
+ import { ASTDetector, type DetectionContext, type DetectionResult } from '../base/index.js';
16
+ /**
17
+ * Types of abstraction opportunities
18
+ */
19
+ export type AbstractionType = 'shared-component' | 'shared-hook' | 'higher-order' | 'render-props' | 'composition' | 'utility-function';
20
+ /**
21
+ * Semantic features extracted from a component
22
+ */
23
+ export interface SemanticFeatures {
24
+ /** Component name */
25
+ name: string;
26
+ /** File path */
27
+ filePath: string;
28
+ /** Line number */
29
+ line: number;
30
+ /** Column number */
31
+ column: number;
32
+ /** Props used by the component */
33
+ props: PropFeature[];
34
+ /** State variables used */
35
+ stateVariables: StateFeature[];
36
+ /** Hooks used */
37
+ hooks: HookFeature[];
38
+ /** Event handlers */
39
+ eventHandlers: EventHandlerFeature[];
40
+ /** JSX elements rendered */
41
+ jsxElements: JSXElementFeature[];
42
+ /** Conditional rendering patterns */
43
+ conditionalPatterns: ConditionalPattern[];
44
+ /** API/data fetching patterns */
45
+ dataPatterns: DataPattern[];
46
+ /** Source code */
47
+ sourceCode: string;
48
+ }
49
+ /**
50
+ * Feature representing a prop
51
+ */
52
+ export interface PropFeature {
53
+ /** Prop name */
54
+ name: string;
55
+ /** Whether prop has a default value */
56
+ hasDefault: boolean;
57
+ /** Whether prop is required */
58
+ isRequired: boolean;
59
+ /** Inferred type (if available) */
60
+ inferredType?: string;
61
+ /** Whether prop is a callback/function */
62
+ isCallback: boolean;
63
+ /** Whether prop is used for rendering children */
64
+ isChildren: boolean;
65
+ }
66
+ /**
67
+ * Feature representing state
68
+ */
69
+ export interface StateFeature {
70
+ /** State variable name */
71
+ name: string;
72
+ /** Setter function name */
73
+ setter: string;
74
+ /** Initial value (if detectable) */
75
+ initialValue?: string;
76
+ /** Type of state (useState, useReducer, etc.) */
77
+ stateType: 'useState' | 'useReducer' | 'useRef' | 'other';
78
+ }
79
+ /**
80
+ * Feature representing a hook usage
81
+ */
82
+ export interface HookFeature {
83
+ /** Hook name */
84
+ name: string;
85
+ /** Whether it's a built-in React hook */
86
+ isBuiltIn: boolean;
87
+ /** Dependencies (for useEffect, useMemo, etc.) */
88
+ dependencies?: string[];
89
+ }
90
+ /**
91
+ * Feature representing an event handler
92
+ */
93
+ export interface EventHandlerFeature {
94
+ /** Handler name */
95
+ name: string;
96
+ /** Event type (onClick, onChange, etc.) */
97
+ eventType: string;
98
+ /** Whether handler is inline or defined separately */
99
+ isInline: boolean;
100
+ }
101
+ /**
102
+ * Feature representing a JSX element
103
+ */
104
+ export interface JSXElementFeature {
105
+ /** Element tag name */
106
+ tagName: string;
107
+ /** Whether it's a custom component (PascalCase) */
108
+ isComponent: boolean;
109
+ /** Props passed to the element */
110
+ props: string[];
111
+ /** Nesting depth */
112
+ depth: number;
113
+ }
114
+ /**
115
+ * Conditional rendering pattern
116
+ */
117
+ export interface ConditionalPattern {
118
+ /** Type of conditional */
119
+ type: 'ternary' | 'logical-and' | 'if-statement' | 'early-return';
120
+ /** Condition variable/expression */
121
+ condition: string;
122
+ }
123
+ /**
124
+ * Data fetching/API pattern
125
+ */
126
+ export interface DataPattern {
127
+ /** Type of data pattern */
128
+ type: 'fetch' | 'useQuery' | 'useSWR' | 'useEffect-fetch' | 'other';
129
+ /** Whether loading state is handled */
130
+ hasLoadingState: boolean;
131
+ /** Whether error state is handled */
132
+ hasErrorState: boolean;
133
+ }
134
+ /**
135
+ * Near-duplicate pair with abstraction suggestion
136
+ */
137
+ export interface NearDuplicatePair {
138
+ /** First component */
139
+ component1: SemanticFeatures;
140
+ /** Second component */
141
+ component2: SemanticFeatures;
142
+ /** Overall semantic similarity score (0-1) */
143
+ similarity: number;
144
+ /** Breakdown of similarity by feature type */
145
+ similarityBreakdown: SimilarityBreakdown;
146
+ /** Suggested abstraction type */
147
+ suggestedAbstraction: AbstractionType;
148
+ /** Specific suggestions for refactoring */
149
+ suggestions: AbstractionSuggestion[];
150
+ }
151
+ /**
152
+ * Breakdown of similarity scores by feature type
153
+ */
154
+ export interface SimilarityBreakdown {
155
+ /** Props similarity */
156
+ props: number;
157
+ /** State similarity */
158
+ state: number;
159
+ /** Hooks similarity */
160
+ hooks: number;
161
+ /** Event handlers similarity */
162
+ eventHandlers: number;
163
+ /** JSX structure similarity */
164
+ jsxStructure: number;
165
+ /** Conditional patterns similarity */
166
+ conditionalPatterns: number;
167
+ /** Data patterns similarity */
168
+ dataPatterns: number;
169
+ }
170
+ /**
171
+ * Specific abstraction suggestion
172
+ */
173
+ export interface AbstractionSuggestion {
174
+ /** Type of abstraction */
175
+ type: AbstractionType;
176
+ /** Description of the suggestion */
177
+ description: string;
178
+ /** Confidence in this suggestion (0-1) */
179
+ confidence: number;
180
+ /** Shared features that can be abstracted */
181
+ sharedFeatures: string[];
182
+ /** Example code snippet (if applicable) */
183
+ exampleCode?: string;
184
+ }
185
+ /**
186
+ * Analysis result for near-duplicate detection
187
+ */
188
+ export interface NearDuplicateAnalysis {
189
+ /** All detected near-duplicate pairs */
190
+ pairs: NearDuplicatePair[];
191
+ /** Components grouped by abstraction opportunity */
192
+ abstractionGroups: AbstractionGroup[];
193
+ /** Total components analyzed */
194
+ totalComponents: number;
195
+ /** Components with abstraction opportunities */
196
+ componentsWithOpportunities: number;
197
+ }
198
+ /**
199
+ * Group of components that share abstraction opportunity
200
+ */
201
+ export interface AbstractionGroup {
202
+ /** Suggested abstraction type */
203
+ abstractionType: AbstractionType;
204
+ /** Components in this group */
205
+ components: SemanticFeatures[];
206
+ /** Shared features across all components */
207
+ sharedFeatures: string[];
208
+ /** Confidence score */
209
+ confidence: number;
210
+ }
211
+ /**
212
+ * Configuration for near-duplicate detection
213
+ */
214
+ export interface NearDuplicateConfig {
215
+ /** Minimum overall similarity threshold (0-1), default 0.6 */
216
+ similarityThreshold: number;
217
+ /** Minimum props similarity to consider, default 0.5 */
218
+ minPropsSimilarity: number;
219
+ /** Minimum JSX structure similarity, default 0.4 */
220
+ minJsxSimilarity: number;
221
+ /** Whether to detect hook extraction opportunities */
222
+ detectHookOpportunities: boolean;
223
+ /** Whether to detect HOC opportunities */
224
+ detectHOCOpportunities: boolean;
225
+ /** Weights for different feature types in overall similarity */
226
+ weights: SimilarityWeights;
227
+ }
228
+ /**
229
+ * Weights for calculating overall similarity
230
+ */
231
+ export interface SimilarityWeights {
232
+ props: number;
233
+ state: number;
234
+ hooks: number;
235
+ eventHandlers: number;
236
+ jsxStructure: number;
237
+ conditionalPatterns: number;
238
+ dataPatterns: number;
239
+ }
240
+ /**
241
+ * Default configuration for near-duplicate detection
242
+ */
243
+ export declare const DEFAULT_NEAR_DUPLICATE_CONFIG: NearDuplicateConfig;
244
+ /**
245
+ * Built-in React hooks
246
+ */
247
+ export declare const REACT_HOOKS: Set<string>;
248
+ /**
249
+ * Common event handler patterns
250
+ */
251
+ export declare const EVENT_HANDLER_PATTERNS: readonly ["onClick", "onChange", "onSubmit", "onBlur", "onFocus", "onKeyDown", "onKeyUp", "onKeyPress", "onMouseEnter", "onMouseLeave", "onScroll", "onLoad", "onError"];
252
+ /**
253
+ * Check if a node represents a React component
254
+ */
255
+ export declare function isReactComponentNode(node: ASTNode, content: string): boolean;
256
+ /**
257
+ * Extract component name from an AST node
258
+ */
259
+ export declare function extractComponentName(node: ASTNode, content: string): string | undefined;
260
+ /**
261
+ * Extract props from a component
262
+ */
263
+ export declare function extractProps(node: ASTNode, _content: string): PropFeature[];
264
+ /**
265
+ * Extract state variables from a component
266
+ */
267
+ export declare function extractState(node: ASTNode): StateFeature[];
268
+ /**
269
+ * Extract hooks used in a component
270
+ */
271
+ export declare function extractHooks(node: ASTNode): HookFeature[];
272
+ /**
273
+ * Extract event handlers from a component
274
+ */
275
+ export declare function extractEventHandlers(node: ASTNode): EventHandlerFeature[];
276
+ /**
277
+ * Extract JSX elements from a component
278
+ */
279
+ export declare function extractJSXElements(node: ASTNode): JSXElementFeature[];
280
+ /**
281
+ * Extract conditional rendering patterns from a component
282
+ */
283
+ export declare function extractConditionalPatterns(node: ASTNode): ConditionalPattern[];
284
+ /**
285
+ * Extract data fetching patterns from a component
286
+ */
287
+ export declare function extractDataPatterns(node: ASTNode): DataPattern[];
288
+ /**
289
+ * Extract all semantic features from a component
290
+ */
291
+ export declare function extractSemanticFeatures(node: ASTNode, filePath: string, content: string): SemanticFeatures | null;
292
+ /**
293
+ * Calculate props similarity between two components
294
+ */
295
+ export declare function calculatePropsSimilarity(props1: PropFeature[], props2: PropFeature[]): number;
296
+ /**
297
+ * Calculate state similarity between two components
298
+ */
299
+ export declare function calculateStateSimilarity(state1: StateFeature[], state2: StateFeature[]): number;
300
+ /**
301
+ * Calculate hooks similarity between two components
302
+ */
303
+ export declare function calculateHooksSimilarity(hooks1: HookFeature[], hooks2: HookFeature[]): number;
304
+ /**
305
+ * Calculate event handlers similarity between two components
306
+ */
307
+ export declare function calculateEventHandlersSimilarity(handlers1: EventHandlerFeature[], handlers2: EventHandlerFeature[]): number;
308
+ /**
309
+ * Calculate JSX structure similarity between two components
310
+ */
311
+ export declare function calculateJSXSimilarity(elements1: JSXElementFeature[], elements2: JSXElementFeature[]): number;
312
+ /**
313
+ * Calculate conditional patterns similarity
314
+ */
315
+ export declare function calculateConditionalSimilarity(patterns1: ConditionalPattern[], patterns2: ConditionalPattern[]): number;
316
+ /**
317
+ * Calculate data patterns similarity
318
+ */
319
+ export declare function calculateDataPatternsSimilarity(patterns1: DataPattern[], patterns2: DataPattern[]): number;
320
+ /**
321
+ * Calculate overall semantic similarity between two components
322
+ */
323
+ export declare function calculateSemanticSimilarity(comp1: SemanticFeatures, comp2: SemanticFeatures): SimilarityBreakdown;
324
+ /**
325
+ * Calculate weighted overall similarity from breakdown
326
+ */
327
+ export declare function calculateOverallSimilarity(breakdown: SimilarityBreakdown, weights?: SimilarityWeights): number;
328
+ /**
329
+ * Determine the best abstraction type for a pair of similar components
330
+ */
331
+ export declare function determineAbstractionType(comp1: SemanticFeatures, comp2: SemanticFeatures, breakdown: SimilarityBreakdown): AbstractionType;
332
+ /**
333
+ * Generate abstraction suggestions for a pair of similar components
334
+ */
335
+ export declare function generateAbstractionSuggestions(comp1: SemanticFeatures, comp2: SemanticFeatures, breakdown: SimilarityBreakdown, abstractionType: AbstractionType): AbstractionSuggestion[];
336
+ /**
337
+ * Compare two components and return near-duplicate info if similar enough
338
+ */
339
+ export declare function compareComponentsSemanticly(comp1: SemanticFeatures, comp2: SemanticFeatures, config?: NearDuplicateConfig): NearDuplicatePair | null;
340
+ /**
341
+ * Analyze components for near-duplicates and abstraction opportunities
342
+ */
343
+ export declare function analyzeNearDuplicates(components: SemanticFeatures[], config?: NearDuplicateConfig): NearDuplicateAnalysis;
344
+ /**
345
+ * Generate a refactoring suggestion message
346
+ */
347
+ export declare function generateRefactoringSuggestionMessage(pair: NearDuplicatePair): string;
348
+ /**
349
+ * Detector for semantically similar components that could be abstracted
350
+ *
351
+ * Unlike DuplicateDetector which focuses on AST structure, this detector
352
+ * analyzes semantic/functional similarity including:
353
+ * - Similar prop patterns
354
+ * - Similar render patterns
355
+ * - Similar state management
356
+ * - Opportunities for shared hooks, HOCs, or render props
357
+ *
358
+ * @requirements 8.4 - THE Component_Detector SHALL detect near-duplicate components that should be abstracted
359
+ */
360
+ export declare class NearDuplicateDetector extends ASTDetector {
361
+ readonly id = "components/near-duplicate";
362
+ readonly category: "components";
363
+ readonly subcategory = "abstraction-candidates";
364
+ readonly name = "Near Duplicate Detector";
365
+ readonly description = "Detects semantically similar components that could be refactored into shared abstractions";
366
+ readonly supportedLanguages: Language[];
367
+ private config;
368
+ constructor(config?: Partial<NearDuplicateConfig>);
369
+ /**
370
+ * Detect near-duplicate components in the project
371
+ */
372
+ detect(context: DetectionContext): Promise<DetectionResult>;
373
+ /**
374
+ * Generate a quick fix for near-duplicate violations
375
+ */
376
+ generateQuickFix(violation: Violation): QuickFix | null;
377
+ /**
378
+ * Extract all components from project files
379
+ */
380
+ private extractAllComponents;
381
+ /**
382
+ * Extract components from an AST
383
+ */
384
+ private extractComponentsFromAST;
385
+ /**
386
+ * Extract components from content using regex (fallback)
387
+ */
388
+ private extractComponentsFromContent;
389
+ /**
390
+ * Check if a near-duplicate pair involves the current file
391
+ */
392
+ private involvesCurrentFile;
393
+ /**
394
+ * Create a violation for a near-duplicate pair
395
+ */
396
+ private createNearDuplicateViolation;
397
+ }
398
+ /**
399
+ * Create a new NearDuplicateDetector instance
400
+ */
401
+ export declare function createNearDuplicateDetector(config?: Partial<NearDuplicateConfig>): NearDuplicateDetector;
402
+ //# sourceMappingURL=near-duplicate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"near-duplicate.d.ts","sourceRoot":"","sources":["../../src/components/near-duplicate.ts"],"names":[],"mappings":"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"}