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,214 @@
1
+ /**
2
+ * Try-Catch Placement Detector - Try/catch pattern detection
3
+ *
4
+ * Detects try/catch placement patterns including:
5
+ * - Try/catch at function boundaries
6
+ * - Nested try/catch blocks
7
+ * - Try/catch with specific error types
8
+ * - Finally block usage
9
+ *
10
+ * Flags violations:
11
+ * - Empty catch blocks
12
+ * - Catch-all without re-throw
13
+ * - Deeply nested try/catch
14
+ *
15
+ * @requirements 12.3 - Try/catch placement patterns
16
+ */
17
+ import { RegexDetector } from '../base/index.js';
18
+ // ============================================================================
19
+ // Constants
20
+ // ============================================================================
21
+ export const TRY_CATCH_PATTERNS = [
22
+ // JavaScript/TypeScript
23
+ /try\s*\{/gi,
24
+ // Python
25
+ /try\s*:/gi,
26
+ ];
27
+ export const TRY_CATCH_FINALLY_PATTERNS = [
28
+ // JavaScript/TypeScript
29
+ /try\s*\{[\s\S]*?\}\s*catch[\s\S]*?\}\s*finally\s*\{/gi,
30
+ // Python
31
+ /try\s*:[\s\S]*?except[\s\S]*?finally\s*:/gi,
32
+ ];
33
+ export const TYPED_CATCH_PATTERNS = [
34
+ // JavaScript/TypeScript
35
+ /catch\s*\(\s*\w+\s*\)\s*\{[\s\S]*?instanceof\s+\w+Error/gi,
36
+ /catch\s*\(\s*\w+:\s*\w+Error\s*\)/gi,
37
+ // Python - typed except
38
+ /except\s+\w+Error\s+as\s+\w+\s*:/gi,
39
+ /except\s+\(\s*\w+(?:,\s*\w+)*\s*\)\s+as\s+\w+\s*:/gi,
40
+ /except\s+\w+Exception\s+as\s+\w+\s*:/gi,
41
+ ];
42
+ export const EMPTY_CATCH_PATTERNS = [
43
+ // JavaScript/TypeScript
44
+ /catch\s*\([^)]*\)\s*\{\s*\}/gi,
45
+ /catch\s*\{\s*\}/gi,
46
+ // Python - except with pass
47
+ /except[^:]*:\s*\n\s*pass\b/gi,
48
+ /except\s*:\s*\n\s*pass\b/gi,
49
+ ];
50
+ export const CATCH_ALL_PATTERNS = [
51
+ // JavaScript/TypeScript
52
+ /catch\s*\(\s*\w+\s*\)\s*\{[^}]*(?!throw)[^}]*\}/gi,
53
+ // Python - bare except
54
+ /except\s*:/gi,
55
+ /except\s+Exception\s*:/gi,
56
+ ];
57
+ export const EXCLUDED_FILE_PATTERNS = [
58
+ /\.test\.[jt]sx?$/,
59
+ /\.spec\.[jt]sx?$/,
60
+ /node_modules\//,
61
+ /\.d\.ts$/,
62
+ ];
63
+ // ============================================================================
64
+ // Helper Functions
65
+ // ============================================================================
66
+ export function shouldExcludeFile(filePath) {
67
+ return EXCLUDED_FILE_PATTERNS.some(p => p.test(filePath));
68
+ }
69
+ function isInsideComment(content, index) {
70
+ const before = content.slice(0, index);
71
+ const lastNewline = before.lastIndexOf('\n');
72
+ const line = before.slice(lastNewline + 1);
73
+ if (line.includes('//') && index - lastNewline - 1 > line.indexOf('//'))
74
+ return true;
75
+ return before.lastIndexOf('/*') > before.lastIndexOf('*/');
76
+ }
77
+ function getPosition(content, index) {
78
+ const before = content.slice(0, index);
79
+ return { line: before.split('\n').length, column: index - before.lastIndexOf('\n') };
80
+ }
81
+ // ============================================================================
82
+ // Detection Functions
83
+ // ============================================================================
84
+ export function detectTryCatchBlocks(content, file) {
85
+ const results = [];
86
+ const lines = content.split('\n');
87
+ for (const pattern of TRY_CATCH_PATTERNS) {
88
+ const regex = new RegExp(pattern.source, pattern.flags);
89
+ let match;
90
+ while ((match = regex.exec(content)) !== null) {
91
+ if (isInsideComment(content, match.index))
92
+ continue;
93
+ const { line, column } = getPosition(content, match.index);
94
+ results.push({
95
+ type: 'try-catch-block',
96
+ file, line, column,
97
+ matchedText: match[0],
98
+ context: lines[line - 1] || '',
99
+ });
100
+ }
101
+ }
102
+ return results;
103
+ }
104
+ export function detectTryCatchFinally(content, file) {
105
+ const results = [];
106
+ const lines = content.split('\n');
107
+ for (const pattern of TRY_CATCH_FINALLY_PATTERNS) {
108
+ const regex = new RegExp(pattern.source, pattern.flags);
109
+ let match;
110
+ while ((match = regex.exec(content)) !== null) {
111
+ if (isInsideComment(content, match.index))
112
+ continue;
113
+ const { line, column } = getPosition(content, match.index);
114
+ results.push({
115
+ type: 'try-catch-finally',
116
+ file, line, column,
117
+ matchedText: match[0].slice(0, 50) + '...',
118
+ hasFinally: true,
119
+ context: lines[line - 1] || '',
120
+ });
121
+ }
122
+ }
123
+ return results;
124
+ }
125
+ export function detectTypedCatch(content, file) {
126
+ const results = [];
127
+ const lines = content.split('\n');
128
+ for (const pattern of TYPED_CATCH_PATTERNS) {
129
+ const regex = new RegExp(pattern.source, pattern.flags);
130
+ let match;
131
+ while ((match = regex.exec(content)) !== null) {
132
+ if (isInsideComment(content, match.index))
133
+ continue;
134
+ const { line, column } = getPosition(content, match.index);
135
+ results.push({
136
+ type: 'typed-catch',
137
+ file, line, column,
138
+ matchedText: match[0].slice(0, 50) + '...',
139
+ context: lines[line - 1] || '',
140
+ });
141
+ }
142
+ }
143
+ return results;
144
+ }
145
+ export function detectEmptyCatchViolations(content, file) {
146
+ const violations = [];
147
+ const lines = content.split('\n');
148
+ for (const pattern of EMPTY_CATCH_PATTERNS) {
149
+ const regex = new RegExp(pattern.source, pattern.flags);
150
+ let match;
151
+ while ((match = regex.exec(content)) !== null) {
152
+ if (isInsideComment(content, match.index))
153
+ continue;
154
+ const { line, column } = getPosition(content, match.index);
155
+ violations.push({
156
+ type: 'empty-catch',
157
+ file, line, column,
158
+ endLine: line,
159
+ endColumn: column + match[0].length,
160
+ value: match[0],
161
+ issue: 'Empty catch block swallows errors silently',
162
+ suggestedFix: 'Log the error or re-throw it',
163
+ lineContent: lines[line - 1] || '',
164
+ });
165
+ }
166
+ }
167
+ return violations;
168
+ }
169
+ // ============================================================================
170
+ // Main Analysis Function
171
+ // ============================================================================
172
+ export function analyzeTryCatchPlacement(content, file) {
173
+ if (shouldExcludeFile(file)) {
174
+ return { patterns: [], violations: [], hasTryCatch: false, hasFinally: false, confidence: 1.0 };
175
+ }
176
+ const tryCatch = detectTryCatchBlocks(content, file);
177
+ const tryCatchFinally = detectTryCatchFinally(content, file);
178
+ const typedCatch = detectTypedCatch(content, file);
179
+ const allPatterns = [...tryCatch, ...tryCatchFinally, ...typedCatch];
180
+ const violations = detectEmptyCatchViolations(content, file);
181
+ const confidence = allPatterns.length > 0 ? Math.max(0.5, 1 - violations.length * 0.1) : 1.0;
182
+ return {
183
+ patterns: allPatterns,
184
+ violations,
185
+ hasTryCatch: tryCatch.length > 0,
186
+ hasFinally: tryCatchFinally.length > 0,
187
+ confidence,
188
+ };
189
+ }
190
+ // ============================================================================
191
+ // Detector Class
192
+ // ============================================================================
193
+ export class TryCatchPlacementDetector extends RegexDetector {
194
+ id = 'errors/try-catch-placement';
195
+ name = 'Try-Catch Placement Detector';
196
+ description = 'Detects try/catch placement patterns';
197
+ category = 'errors';
198
+ subcategory = 'try-catch';
199
+ supportedLanguages = ['typescript', 'javascript', 'python'];
200
+ async detect(context) {
201
+ const { content, file } = context;
202
+ if (shouldExcludeFile(file))
203
+ return this.createEmptyResult();
204
+ const analysis = analyzeTryCatchPlacement(content, file);
205
+ return this.createResult([], [], analysis.confidence);
206
+ }
207
+ generateQuickFix() {
208
+ return null;
209
+ }
210
+ }
211
+ export function createTryCatchPlacementDetector() {
212
+ return new TryCatchPlacementDetector();
213
+ }
214
+ //# sourceMappingURL=try-catch-placement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"try-catch-placement.js","sourceRoot":"","sources":["../../src/errors/try-catch-placement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,221 @@
1
+ /**
2
+ * @drift/detectors - Pattern detectors for Drift
3
+ *
4
+ * This package provides modular, pluggable pattern detectors:
5
+ * - Registry: Detector registration and lazy loading
6
+ * - Base: Abstract detector classes
7
+ * - 15 categories of detectors (101 total)
8
+ *
9
+ * Usage:
10
+ * ```typescript
11
+ * import { createAllDetectorsArray, BaseDetector } from '@drift/detectors';
12
+ *
13
+ * const detectors = createAllDetectorsArray();
14
+ * for (const detector of detectors) {
15
+ * const result = await detector.detect(context);
16
+ * }
17
+ * ```
18
+ */
19
+ export declare const VERSION = "0.0.1";
20
+ export * from './registry/index.js';
21
+ export * from './base/index.js';
22
+ import { createRouteStructureDetector, createHttpMethodsDetector, createResponseEnvelopeDetector, createErrorFormatDetector, createPaginationDetector, createClientPatternsDetector, createRetryPatternsDetector, analyzeRouteStructure, analyzeHttpMethods, analyzeResponseEnvelope, analyzeErrorFormat, analyzePagination, analyzeClientPatterns, analyzeRetryPatterns } from './api/index.js';
23
+ import { createAuthMiddlewareDetector, createTokenHandlingDetector, createPermissionChecksDetector, createRbacPatternsDetector, createResourceOwnershipDetector, createAuditLoggingDetector, createAllAuthDetectors, analyzeAuthMiddleware, analyzeTokenHandling, analyzePermissions, analyzeRbac, analyzeOwnership, analyzeAuditLogging } from './auth/index.js';
24
+ import { createInputSanitizationDetector, createSQLInjectionDetector, createXSSPreventionDetector, createCSRFProtectionDetector, createCSPHeadersDetector, createSecretManagementDetector, createRateLimitingDetector, createSecurityDetectors, analyzeInputSanitization, analyzeSQLInjection, analyzeXSSPrevention, analyzeCSRFProtection, analyzeCSPHeaders, analyzeSecretManagement, analyzeRateLimiting } from './security/index.js';
25
+ import { createExceptionHierarchyDetector, createErrorCodesDetector, createTryCatchPlacementDetector, createErrorPropagationDetector, createAsyncErrorsDetector, createCircuitBreakerDetector, createErrorLoggingDetector, createAllErrorDetectors, analyzeExceptionHierarchy, analyzeErrorCodes, analyzeTryCatchPlacement, analyzeErrorPropagation, analyzeAsyncErrors, analyzeCircuitBreaker, analyzeErrorLogging } from './errors/index.js';
26
+ import { createStructuredFormatDetector, createLogLevelsDetector, createContextFieldsDetector, createCorrelationIdsDetector, createPIIRedactionDetector, createMetricNamingDetector, createHealthChecksDetector, createAllLoggingDetectors, analyzeStructuredFormat, analyzeLogLevels, analyzeContextFields, analyzeCorrelationIds, analyzePIIRedaction, analyzeMetricNaming, analyzeHealthChecks } from './logging/index.js';
27
+ import { createTestFileNamingDetector, createTestCoLocationDetector, createTestStructureDetector, createMockPatternsDetector, createFixturePatternsDetector, createDescribeNamingDetector, createSetupTeardownDetector, createAllTestingDetectors, analyzeTestFileNaming, analyzeTestStructure, analyzeMockPatterns, analyzeFixturePatterns, analyzeDescribeNaming, analyzeSetupTeardown } from './testing/index.js';
28
+ import { createQueryPatternsDetector, createRepositoryPatternDetector, createTransactionPatternsDetector, createValidationPatternsDetector, createDTOPatternsDetector, createNPlusOneDetector, createConnectionPoolingDetector, createAllDataAccessDetectors, analyzeQueryPatterns, analyzeRepositoryPattern, analyzeTransactionPatterns, analyzeValidationPatterns, analyzeDTOPatterns, analyzeNPlusOne, analyzeConnectionPooling } from './data-access/index.js';
29
+ import { createEnvNamingDetector, createRequiredOptionalDetector, createDefaultValuesDetector, createFeatureFlagsDetector, createConfigValidationDetector, createEnvironmentDetectionDetector, createConfigDetectors, analyzeEnvNaming, analyzeRequiredOptional, analyzeDefaultValues, analyzeFeatureFlags, analyzeConfigValidation, analyzeEnvironmentDetection } from './config/index.js';
30
+ import { createFileLocationDetector, createNamingConventionsDetector, createInterfaceVsTypeDetector, createGenericPatternsDetector, createUtilityTypesDetector, createTypeAssertionsDetector, createAnyUsageDetector, createTypesDetectors, analyzeFileLocation, analyzeNamingConventions, analyzeInterfaceVsType, analyzeGenericPatterns, analyzeUtilityTypes, analyzeTypeAssertions, analyzeAnyUsage } from './types/index.js';
31
+ import { createFileNamingDetector, createDirectoryStructureDetector, createCoLocationDetector, createBarrelExportsDetector, createImportOrderingDetector, createModuleBoundariesDetector, createCircularDependenciesDetector, createPackageBoundariesDetector } from './structural/index.js';
32
+ import { createComponentStructureDetector, createPropsPatternDetector, createDuplicateDetector, createNearDuplicateDetector, createStatePatternDetector, createCompositionDetector, createRefForwardingDetector } from './components/index.js';
33
+ import { createDesignTokensDetector, createSpacingScaleDetector, createColorUsageDetector, createTypographyDetector, createClassNamingDetector, createTailwindPatternsDetector, createZIndexScaleDetector, createResponsiveDetector } from './styling/index.js';
34
+ import { createAccessibilityDetectors, createSemanticHtmlDetector, createAriaRolesDetector, createKeyboardNavDetector, createFocusManagementDetector, createHeadingHierarchyDetector, createAltTextDetector, analyzeSemanticHtml, analyzeAriaRoles, analyzeKeyboardNav, analyzeFocusManagement, analyzeHeadingHierarchy, analyzeAltText } from './accessibility/index.js';
35
+ import { createDocumentationDetectors, createJsdocPatternsDetector, createReadmeStructureDetector, createTodoPatternsDetector, createDeprecationDetector, createExampleCodeDetector, analyzeJsdocPatterns, analyzeReadmeStructure, analyzeTodoPatterns, analyzeDeprecation, analyzeExampleCode } from './documentation/index.js';
36
+ import { createPerformanceDetectors, createCodeSplittingDetector, createLazyLoadingDetector, createMemoizationDetector, createCachingPatternsDetector, createDebounceThrottleDetector, createBundleSizeDetector, analyzeCodeSplitting, analyzeLazyLoading, analyzeMemoization, analyzeCachingPatterns, analyzeDebounceThrottle, analyzeBundleSize } from './performance/index.js';
37
+ import type { BaseDetector } from './base/index.js';
38
+ export { createRouteStructureDetector, createHttpMethodsDetector, createResponseEnvelopeDetector, createErrorFormatDetector, createPaginationDetector, createClientPatternsDetector, createRetryPatternsDetector, analyzeRouteStructure, analyzeHttpMethods, analyzeResponseEnvelope, analyzeErrorFormat, analyzePagination, analyzeClientPatterns, analyzeRetryPatterns, };
39
+ export { createAuthMiddlewareDetector, createTokenHandlingDetector, createPermissionChecksDetector, createRbacPatternsDetector, createResourceOwnershipDetector, createAuditLoggingDetector, createAllAuthDetectors, analyzeAuthMiddleware, analyzeTokenHandling, analyzePermissions, analyzeRbac, analyzeOwnership, analyzeAuditLogging, };
40
+ export { createInputSanitizationDetector, createSQLInjectionDetector, createXSSPreventionDetector, createCSRFProtectionDetector, createCSPHeadersDetector, createSecretManagementDetector, createRateLimitingDetector, createSecurityDetectors, analyzeInputSanitization, analyzeSQLInjection, analyzeXSSPrevention, analyzeCSRFProtection, analyzeCSPHeaders, analyzeSecretManagement, analyzeRateLimiting, };
41
+ export { createExceptionHierarchyDetector, createErrorCodesDetector, createTryCatchPlacementDetector, createErrorPropagationDetector, createAsyncErrorsDetector, createCircuitBreakerDetector, createErrorLoggingDetector, createAllErrorDetectors, analyzeExceptionHierarchy, analyzeErrorCodes, analyzeTryCatchPlacement, analyzeErrorPropagation, analyzeAsyncErrors, analyzeCircuitBreaker, analyzeErrorLogging, };
42
+ export { createStructuredFormatDetector, createLogLevelsDetector, createContextFieldsDetector, createCorrelationIdsDetector, createPIIRedactionDetector, createMetricNamingDetector, createHealthChecksDetector, createAllLoggingDetectors, analyzeStructuredFormat, analyzeLogLevels, analyzeContextFields, analyzeCorrelationIds, analyzePIIRedaction, analyzeMetricNaming, analyzeHealthChecks, };
43
+ export { createTestFileNamingDetector, createTestCoLocationDetector, createTestStructureDetector, createMockPatternsDetector, createFixturePatternsDetector, createDescribeNamingDetector, createSetupTeardownDetector, createAllTestingDetectors, analyzeTestFileNaming, analyzeTestStructure, analyzeMockPatterns, analyzeFixturePatterns, analyzeDescribeNaming, analyzeSetupTeardown, };
44
+ export { createQueryPatternsDetector, createRepositoryPatternDetector, createTransactionPatternsDetector, createValidationPatternsDetector, createDTOPatternsDetector, createNPlusOneDetector, createConnectionPoolingDetector, createAllDataAccessDetectors, analyzeQueryPatterns, analyzeRepositoryPattern, analyzeTransactionPatterns, analyzeValidationPatterns, analyzeDTOPatterns, analyzeNPlusOne, analyzeConnectionPooling, };
45
+ export { createEnvNamingDetector, createRequiredOptionalDetector, createDefaultValuesDetector, createFeatureFlagsDetector, createConfigValidationDetector, createEnvironmentDetectionDetector, createConfigDetectors, analyzeEnvNaming, analyzeRequiredOptional, analyzeDefaultValues, analyzeFeatureFlags, analyzeConfigValidation, analyzeEnvironmentDetection, };
46
+ export { createFileLocationDetector, createNamingConventionsDetector, createInterfaceVsTypeDetector, createGenericPatternsDetector, createUtilityTypesDetector, createTypeAssertionsDetector, createAnyUsageDetector, createTypesDetectors, analyzeFileLocation, analyzeNamingConventions, analyzeInterfaceVsType, analyzeGenericPatterns, analyzeUtilityTypes, analyzeTypeAssertions, analyzeAnyUsage, };
47
+ export { createFileNamingDetector, createDirectoryStructureDetector, createCoLocationDetector, createBarrelExportsDetector, createImportOrderingDetector, createModuleBoundariesDetector, createCircularDependenciesDetector, createPackageBoundariesDetector, };
48
+ export { createComponentStructureDetector, createPropsPatternDetector, createDuplicateDetector, createNearDuplicateDetector, createStatePatternDetector, createCompositionDetector, createRefForwardingDetector, };
49
+ export { createDesignTokensDetector, createSpacingScaleDetector, createColorUsageDetector, createTypographyDetector, createClassNamingDetector, createTailwindPatternsDetector, createZIndexScaleDetector, createResponsiveDetector, };
50
+ export { createAccessibilityDetectors, createSemanticHtmlDetector, createAriaRolesDetector, createKeyboardNavDetector, createFocusManagementDetector, createHeadingHierarchyDetector, createAltTextDetector, analyzeSemanticHtml, analyzeAriaRoles, analyzeKeyboardNav, analyzeFocusManagement, analyzeHeadingHierarchy, analyzeAltText, };
51
+ export { createDocumentationDetectors, createJsdocPatternsDetector, createReadmeStructureDetector, createTodoPatternsDetector, createDeprecationDetector, createExampleCodeDetector, analyzeJsdocPatterns, analyzeReadmeStructure, analyzeTodoPatterns, analyzeDeprecation, analyzeExampleCode, };
52
+ export { createPerformanceDetectors, createCodeSplittingDetector, createLazyLoadingDetector, createMemoizationDetector, createCachingPatternsDetector, createDebounceThrottleDetector, createBundleSizeDetector, analyzeCodeSplitting, analyzeLazyLoading, analyzeMemoization, analyzeCachingPatterns, analyzeDebounceThrottle, analyzeBundleSize, };
53
+ /**
54
+ * Create all API detectors
55
+ */
56
+ export declare function createAllApiDetectors(): {
57
+ routeStructure: import("./api/route-structure.js").RouteStructureDetector;
58
+ httpMethods: import("./api/http-methods.js").HttpMethodsDetector;
59
+ responseEnvelope: import("./api/response-envelope.js").ResponseEnvelopeDetector;
60
+ errorFormat: import("./api/error-format.js").ErrorFormatDetector;
61
+ pagination: import("./api/pagination.js").PaginationDetector;
62
+ clientPatterns: import("./api/client-patterns.js").ClientPatternsDetector;
63
+ retryPatterns: import("./api/retry-patterns.js").RetryPatternsDetector;
64
+ };
65
+ /**
66
+ * Create all structural detectors
67
+ */
68
+ export declare function createAllStructuralDetectors(): {
69
+ fileNaming: import("./structural/file-naming.js").FileNamingDetector;
70
+ directoryStructure: import("./structural/directory-structure.js").DirectoryStructureDetector;
71
+ coLocation: import("./structural/co-location.js").CoLocationDetector;
72
+ barrelExports: import("./structural/barrel-exports.js").BarrelExportsDetector;
73
+ importOrdering: import("./structural/import-ordering.js").ImportOrderingDetector;
74
+ moduleBoundaries: import("./structural/module-boundaries.js").ModuleBoundariesDetector;
75
+ circularDeps: import("./structural/circular-deps.js").CircularDependenciesDetector;
76
+ packageBoundaries: import("./structural/package-boundaries.js").PackageBoundariesDetector;
77
+ };
78
+ /**
79
+ * Create all component detectors
80
+ */
81
+ export declare function createAllComponentDetectors(): {
82
+ componentStructure: import("./components/component-structure.js").ComponentStructureDetector;
83
+ propsPattern: import("./components/props-patterns.js").PropsPatternDetector;
84
+ duplicate: import("./components/duplicate-detection.js").DuplicateDetector;
85
+ nearDuplicate: import("./components/near-duplicate.js").NearDuplicateDetector;
86
+ statePattern: import("./components/state-patterns.js").StatePatternDetector;
87
+ composition: import("./components/composition.js").CompositionDetector;
88
+ refForwarding: import("./components/ref-forwarding.js").RefForwardingDetector;
89
+ };
90
+ /**
91
+ * Create all styling detectors
92
+ */
93
+ export declare function createAllStylingDetectors(): {
94
+ designTokens: import("./styling/design-tokens.js").DesignTokensDetector;
95
+ spacingScale: import("./styling/spacing-scale.js").SpacingScaleDetector;
96
+ colorUsage: import("./styling/color-usage.js").ColorUsageDetector;
97
+ typography: import("./styling/typography.js").TypographyDetector;
98
+ classNaming: import("./styling/class-naming.js").ClassNamingDetector;
99
+ tailwindPatterns: import("./styling/tailwind-patterns.js").TailwindPatternsDetector;
100
+ zIndexScale: import("./styling/z-index-scale.js").ZIndexScaleDetector;
101
+ responsive: import("./styling/responsive.js").ResponsiveDetector;
102
+ };
103
+ /**
104
+ * Create all detectors as a flat array for easy iteration
105
+ */
106
+ export declare function createAllDetectorsArray(): BaseDetector[];
107
+ /**
108
+ * Create all detectors grouped by category
109
+ */
110
+ export declare function createAllDetectors(): {
111
+ api: {
112
+ routeStructure: import("./api/route-structure.js").RouteStructureDetector;
113
+ httpMethods: import("./api/http-methods.js").HttpMethodsDetector;
114
+ responseEnvelope: import("./api/response-envelope.js").ResponseEnvelopeDetector;
115
+ errorFormat: import("./api/error-format.js").ErrorFormatDetector;
116
+ pagination: import("./api/pagination.js").PaginationDetector;
117
+ clientPatterns: import("./api/client-patterns.js").ClientPatternsDetector;
118
+ retryPatterns: import("./api/retry-patterns.js").RetryPatternsDetector;
119
+ };
120
+ auth: {
121
+ middlewareUsage: import("./auth/middleware-usage.js").AuthMiddlewareDetector;
122
+ tokenHandling: import("./auth/token-handling.js").TokenHandlingDetector;
123
+ permissionChecks: import("./auth/permission-checks.js").PermissionChecksDetector;
124
+ rbacPatterns: import("./auth/rbac-patterns.js").RbacPatternsDetector;
125
+ resourceOwnership: import("./auth/resource-ownership.js").ResourceOwnershipDetector;
126
+ auditLogging: import("./auth/audit-logging.js").AuditLoggingDetector;
127
+ };
128
+ security: (import("./security/input-sanitization.js").InputSanitizationDetector | import("./security/sql-injection.js").SQLInjectionDetector | import("./security/xss-prevention.js").XSSPreventionDetector | import("./security/csrf-protection.js").CSRFProtectionDetector | import("./security/csp-headers.js").CSPHeadersDetector | import("./security/secret-management.js").SecretManagementDetector | import("./security/rate-limiting.js").RateLimitingDetector)[];
129
+ errors: {
130
+ exceptionHierarchy: import("./errors/exception-hierarchy.js").ExceptionHierarchyDetector;
131
+ errorCodes: import("./errors/error-codes.js").ErrorCodesDetector;
132
+ tryCatchPlacement: import("./errors/try-catch-placement.js").TryCatchPlacementDetector;
133
+ errorPropagation: import("./errors/error-propagation.js").ErrorPropagationDetector;
134
+ asyncErrors: import("./errors/async-errors.js").AsyncErrorsDetector;
135
+ circuitBreaker: import("./errors/circuit-breaker.js").CircuitBreakerDetector;
136
+ errorLogging: import("./errors/error-logging.js").ErrorLoggingDetector;
137
+ };
138
+ structural: {
139
+ fileNaming: import("./structural/file-naming.js").FileNamingDetector;
140
+ directoryStructure: import("./structural/directory-structure.js").DirectoryStructureDetector;
141
+ coLocation: import("./structural/co-location.js").CoLocationDetector;
142
+ barrelExports: import("./structural/barrel-exports.js").BarrelExportsDetector;
143
+ importOrdering: import("./structural/import-ordering.js").ImportOrderingDetector;
144
+ moduleBoundaries: import("./structural/module-boundaries.js").ModuleBoundariesDetector;
145
+ circularDeps: import("./structural/circular-deps.js").CircularDependenciesDetector;
146
+ packageBoundaries: import("./structural/package-boundaries.js").PackageBoundariesDetector;
147
+ };
148
+ components: {
149
+ componentStructure: import("./components/component-structure.js").ComponentStructureDetector;
150
+ propsPattern: import("./components/props-patterns.js").PropsPatternDetector;
151
+ duplicate: import("./components/duplicate-detection.js").DuplicateDetector;
152
+ nearDuplicate: import("./components/near-duplicate.js").NearDuplicateDetector;
153
+ statePattern: import("./components/state-patterns.js").StatePatternDetector;
154
+ composition: import("./components/composition.js").CompositionDetector;
155
+ refForwarding: import("./components/ref-forwarding.js").RefForwardingDetector;
156
+ };
157
+ styling: {
158
+ designTokens: import("./styling/design-tokens.js").DesignTokensDetector;
159
+ spacingScale: import("./styling/spacing-scale.js").SpacingScaleDetector;
160
+ colorUsage: import("./styling/color-usage.js").ColorUsageDetector;
161
+ typography: import("./styling/typography.js").TypographyDetector;
162
+ classNaming: import("./styling/class-naming.js").ClassNamingDetector;
163
+ tailwindPatterns: import("./styling/tailwind-patterns.js").TailwindPatternsDetector;
164
+ zIndexScale: import("./styling/z-index-scale.js").ZIndexScaleDetector;
165
+ responsive: import("./styling/responsive.js").ResponsiveDetector;
166
+ };
167
+ logging: {
168
+ structuredFormat: import("./logging/structured-format.js").StructuredFormatDetector;
169
+ logLevels: import("./logging/log-levels.js").LogLevelsDetector;
170
+ contextFields: import("./logging/context-fields.js").ContextFieldsDetector;
171
+ correlationIds: import("./logging/correlation-ids.js").CorrelationIdsDetector;
172
+ piiRedaction: import("./logging/pii-redaction.js").PIIRedactionDetector;
173
+ metricNaming: import("./logging/metric-naming.js").MetricNamingDetector;
174
+ healthChecks: import("./logging/health-checks.js").HealthChecksDetector;
175
+ };
176
+ testing: {
177
+ fileNaming: import("./testing/file-naming.js").TestFileNamingDetector;
178
+ coLocation: import("./testing/co-location.js").TestCoLocationDetector;
179
+ testStructure: import("./testing/test-structure.js").TestStructureDetector;
180
+ mockPatterns: import("./testing/mock-patterns.js").MockPatternsDetector;
181
+ fixturePatterns: import("./testing/fixture-patterns.js").FixturePatternsDetector;
182
+ describeNaming: import("./testing/describe-naming.js").DescribeNamingDetector;
183
+ setupTeardown: import("./testing/setup-teardown.js").SetupTeardownDetector;
184
+ };
185
+ dataAccess: {
186
+ queryPatterns: import("./data-access/query-patterns.js").QueryPatternsDetector;
187
+ repositoryPattern: import("./data-access/repository-pattern.js").RepositoryPatternDetector;
188
+ transactionPatterns: import("./data-access/transaction-patterns.js").TransactionPatternsDetector;
189
+ validationPatterns: import("./data-access/validation-patterns.js").ValidationPatternsDetector;
190
+ dtoPatterns: import("./data-access/dto-patterns.js").DTOPatternsDetector;
191
+ nPlusOne: import("./data-access/n-plus-one.js").NPlusOneDetector;
192
+ connectionPooling: import("./data-access/connection-pooling.js").ConnectionPoolingDetector;
193
+ };
194
+ config: (import("./config/env-naming.js").EnvNamingDetector | import("./config/required-optional.js").RequiredOptionalDetector | import("./config/default-values.js").DefaultValuesDetector | import("./config/feature-flags.js").FeatureFlagsDetector | import("./config/config-validation.js").ConfigValidationDetector | import("./config/environment-detection.js").EnvironmentDetectionDetector)[];
195
+ types: import("./types/index.js").TypesDetector[];
196
+ accessibility: import("./accessibility/index.js").AccessibilityDetector[];
197
+ documentation: import("./documentation/index.js").DocumentationDetector[];
198
+ performance: import("./performance/index.js").PerformanceDetector[];
199
+ };
200
+ /**
201
+ * Get detector count by category
202
+ */
203
+ export declare function getDetectorCounts(): {
204
+ api: number;
205
+ auth: number;
206
+ security: number;
207
+ errors: number;
208
+ structural: number;
209
+ components: number;
210
+ styling: number;
211
+ logging: number;
212
+ testing: number;
213
+ dataAccess: number;
214
+ config: number;
215
+ types: number;
216
+ accessibility: number;
217
+ documentation: number;
218
+ performance: number;
219
+ total: number;
220
+ };
221
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}