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,52 @@
1
+ /**
2
+ * Fixture Patterns Detector - Test fixture pattern detection
3
+ *
4
+ * Detects fixture patterns including:
5
+ * - Factory functions
6
+ * - Builder patterns
7
+ * - Fixture files
8
+ * - Test data patterns
9
+ *
10
+ * @requirements 14.5 - Fixture patterns
11
+ */
12
+ import type { Violation, QuickFix, PatternCategory, Language } from 'driftdetect-core';
13
+ import { RegexDetector } from '../base/regex-detector.js';
14
+ import type { DetectionContext, DetectionResult } from '../base/base-detector.js';
15
+ export type FixturePatternType = 'factory-function' | 'builder-pattern' | 'fixture-file' | 'test-data' | 'faker-usage';
16
+ export interface FixturePatternInfo {
17
+ type: FixturePatternType;
18
+ line: number;
19
+ column: number;
20
+ match: string;
21
+ name?: string;
22
+ }
23
+ export interface FixtureAnalysis {
24
+ patterns: FixturePatternInfo[];
25
+ hasFactories: boolean;
26
+ hasBuilders: boolean;
27
+ fixtureCount: number;
28
+ }
29
+ export declare const FACTORY_FUNCTION_PATTERNS: RegExp[];
30
+ export declare const BUILDER_PATTERN_PATTERNS: RegExp[];
31
+ export declare const FIXTURE_FILE_PATTERNS: RegExp[];
32
+ export declare const TEST_DATA_PATTERNS: RegExp[];
33
+ export declare const FAKER_USAGE_PATTERNS: RegExp[];
34
+ export declare function shouldExcludeFile(filePath: string): boolean;
35
+ export declare function detectFactoryFunctions(content: string): FixturePatternInfo[];
36
+ export declare function detectBuilderPatterns(content: string): FixturePatternInfo[];
37
+ export declare function detectFixtureFiles(filePath: string): FixturePatternInfo[];
38
+ export declare function detectTestData(content: string): FixturePatternInfo[];
39
+ export declare function detectFakerUsage(content: string): FixturePatternInfo[];
40
+ export declare function analyzeFixturePatterns(content: string, filePath: string): FixtureAnalysis;
41
+ export declare class FixturePatternsDetector extends RegexDetector {
42
+ readonly id = "testing/fixture-patterns";
43
+ readonly name = "Fixture Patterns Detector";
44
+ readonly description = "Detects test fixture patterns like factories and builders";
45
+ readonly category: PatternCategory;
46
+ readonly subcategory = "fixture-patterns";
47
+ readonly supportedLanguages: Language[];
48
+ detect(context: DetectionContext): Promise<DetectionResult>;
49
+ generateQuickFix(_violation: Violation): QuickFix | null;
50
+ }
51
+ export declare function createFixturePatternsDetector(): FixturePatternsDetector;
52
+ //# sourceMappingURL=fixture-patterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixture-patterns.d.ts","sourceRoot":"","sources":["../../src/testing/fixture-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAMlF,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,iBAAiB,GACjB,cAAc,GACd,WAAW,GACX,aAAa,CAAC;AAElB,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,eAAO,MAAM,yBAAyB,UASrC,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAKpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAQjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAW9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAYhC,CAAC;AAMF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAqB5E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAqB3E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAgBzE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAqBpE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAqBtE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CA2BzF;AAMD,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,QAAQ,CAAC,EAAE,8BAA8B;IACzC,QAAQ,CAAC,IAAI,+BAA+B;IAC5C,QAAQ,CAAC,WAAW,+DAA+D;IACnF,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAa;IAC/C,QAAQ,CAAC,WAAW,sBAAsB;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,EAAE,CAA0C;IAE3E,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsBjE,gBAAgB,CAAC,UAAU,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI;CAGzD;AAED,wBAAgB,6BAA6B,IAAI,uBAAuB,CAEvE"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * Fixture Patterns Detector - Test fixture pattern detection
3
+ *
4
+ * Detects fixture patterns including:
5
+ * - Factory functions
6
+ * - Builder patterns
7
+ * - Fixture files
8
+ * - Test data patterns
9
+ *
10
+ * @requirements 14.5 - Fixture patterns
11
+ */
12
+ import { RegexDetector } from '../base/regex-detector.js';
13
+ // ============================================================================
14
+ // Patterns
15
+ // ============================================================================
16
+ export const FACTORY_FUNCTION_PATTERNS = [
17
+ // JavaScript/TypeScript
18
+ /(?:create|make|build|generate)\w*Factory\s*[=:]/gi,
19
+ /function\s+(?:create|make|build|generate)\w+\s*\(/gi,
20
+ /const\s+(?:create|make|build)\w+\s*=\s*(?:\([^)]*\)|[^=])\s*=>/gi,
21
+ // Python
22
+ /def\s+(?:create|make|build|generate)_\w+\s*\(/gi,
23
+ /def\s+\w+_factory\s*\(/gi,
24
+ /class\s+\w+Factory\s*:/gi,
25
+ ];
26
+ export const BUILDER_PATTERN_PATTERNS = [
27
+ /class\s+\w+Builder\s*\{/gi,
28
+ /\.with\w+\s*\([^)]*\)\s*\./gi,
29
+ /\.build\s*\(\s*\)/gi,
30
+ /Builder\.create\s*\(/gi,
31
+ ];
32
+ export const FIXTURE_FILE_PATTERNS = [
33
+ // JavaScript/TypeScript
34
+ /fixtures?\.[jt]sx?$/gi,
35
+ /\/fixtures?\//gi,
36
+ /\.fixture\.[jt]sx?$/gi,
37
+ // Python pytest
38
+ /conftest\.py$/gi,
39
+ /fixtures?\.py$/gi,
40
+ ];
41
+ export const TEST_DATA_PATTERNS = [
42
+ // JavaScript/TypeScript
43
+ /const\s+(?:mock|fake|stub|test)\w*Data\s*=/gi,
44
+ /const\s+\w+(?:Mock|Fake|Stub|Fixture)\s*=/gi,
45
+ /export\s+const\s+\w+Fixture\s*=/gi,
46
+ // Python
47
+ /\w+_data\s*=/gi,
48
+ /mock_\w+\s*=/gi,
49
+ /fake_\w+\s*=/gi,
50
+ /test_\w+_data\s*=/gi,
51
+ /@pytest\.fixture/gi,
52
+ ];
53
+ export const FAKER_USAGE_PATTERNS = [
54
+ // JavaScript/TypeScript
55
+ /faker\.\w+\.\w+\s*\(/gi,
56
+ /@faker-js\/faker/gi,
57
+ /import.*faker/gi,
58
+ /chance\.\w+\s*\(/gi,
59
+ // Python
60
+ /from\s+faker\s+import/gi,
61
+ /Faker\s*\(\s*\)/gi,
62
+ /fake\.\w+\s*\(/gi,
63
+ /factory_boy/gi,
64
+ /factory\.Faker/gi,
65
+ ];
66
+ // ============================================================================
67
+ // Analysis Functions
68
+ // ============================================================================
69
+ export function shouldExcludeFile(filePath) {
70
+ const excludePatterns = [/\.d\.ts$/, /node_modules\//];
71
+ return excludePatterns.some((p) => p.test(filePath));
72
+ }
73
+ export function detectFactoryFunctions(content) {
74
+ const results = [];
75
+ const lines = content.split('\n');
76
+ for (let i = 0; i < lines.length; i++) {
77
+ const line = lines[i];
78
+ for (const pattern of FACTORY_FUNCTION_PATTERNS) {
79
+ const regex = new RegExp(pattern.source, pattern.flags);
80
+ let match;
81
+ while ((match = regex.exec(line)) !== null) {
82
+ results.push({
83
+ type: 'factory-function',
84
+ line: i + 1,
85
+ column: match.index + 1,
86
+ match: match[0],
87
+ });
88
+ }
89
+ }
90
+ }
91
+ return results;
92
+ }
93
+ export function detectBuilderPatterns(content) {
94
+ const results = [];
95
+ const lines = content.split('\n');
96
+ for (let i = 0; i < lines.length; i++) {
97
+ const line = lines[i];
98
+ for (const pattern of BUILDER_PATTERN_PATTERNS) {
99
+ const regex = new RegExp(pattern.source, pattern.flags);
100
+ let match;
101
+ while ((match = regex.exec(line)) !== null) {
102
+ results.push({
103
+ type: 'builder-pattern',
104
+ line: i + 1,
105
+ column: match.index + 1,
106
+ match: match[0],
107
+ });
108
+ }
109
+ }
110
+ }
111
+ return results;
112
+ }
113
+ export function detectFixtureFiles(filePath) {
114
+ const results = [];
115
+ for (const pattern of FIXTURE_FILE_PATTERNS) {
116
+ if (pattern.test(filePath)) {
117
+ results.push({
118
+ type: 'fixture-file',
119
+ line: 1,
120
+ column: 1,
121
+ match: filePath,
122
+ });
123
+ break;
124
+ }
125
+ }
126
+ return results;
127
+ }
128
+ export function detectTestData(content) {
129
+ const results = [];
130
+ const lines = content.split('\n');
131
+ for (let i = 0; i < lines.length; i++) {
132
+ const line = lines[i];
133
+ for (const pattern of TEST_DATA_PATTERNS) {
134
+ const regex = new RegExp(pattern.source, pattern.flags);
135
+ let match;
136
+ while ((match = regex.exec(line)) !== null) {
137
+ results.push({
138
+ type: 'test-data',
139
+ line: i + 1,
140
+ column: match.index + 1,
141
+ match: match[0],
142
+ });
143
+ }
144
+ }
145
+ }
146
+ return results;
147
+ }
148
+ export function detectFakerUsage(content) {
149
+ const results = [];
150
+ const lines = content.split('\n');
151
+ for (let i = 0; i < lines.length; i++) {
152
+ const line = lines[i];
153
+ for (const pattern of FAKER_USAGE_PATTERNS) {
154
+ const regex = new RegExp(pattern.source, pattern.flags);
155
+ let match;
156
+ while ((match = regex.exec(line)) !== null) {
157
+ results.push({
158
+ type: 'faker-usage',
159
+ line: i + 1,
160
+ column: match.index + 1,
161
+ match: match[0],
162
+ });
163
+ }
164
+ }
165
+ }
166
+ return results;
167
+ }
168
+ export function analyzeFixturePatterns(content, filePath) {
169
+ if (shouldExcludeFile(filePath)) {
170
+ return {
171
+ patterns: [],
172
+ hasFactories: false,
173
+ hasBuilders: false,
174
+ fixtureCount: 0,
175
+ };
176
+ }
177
+ const patterns = [
178
+ ...detectFactoryFunctions(content),
179
+ ...detectBuilderPatterns(content),
180
+ ...detectFixtureFiles(filePath),
181
+ ...detectTestData(content),
182
+ ...detectFakerUsage(content),
183
+ ];
184
+ const hasFactories = patterns.some((p) => p.type === 'factory-function');
185
+ const hasBuilders = patterns.some((p) => p.type === 'builder-pattern');
186
+ return {
187
+ patterns,
188
+ hasFactories,
189
+ hasBuilders,
190
+ fixtureCount: patterns.length,
191
+ };
192
+ }
193
+ // ============================================================================
194
+ // Detector Class
195
+ // ============================================================================
196
+ export class FixturePatternsDetector extends RegexDetector {
197
+ id = 'testing/fixture-patterns';
198
+ name = 'Fixture Patterns Detector';
199
+ description = 'Detects test fixture patterns like factories and builders';
200
+ category = 'testing';
201
+ subcategory = 'fixture-patterns';
202
+ supportedLanguages = ['typescript', 'javascript', 'python'];
203
+ async detect(context) {
204
+ if (!this.supportsLanguage(context.language)) {
205
+ return this.createEmptyResult();
206
+ }
207
+ const analysis = analyzeFixturePatterns(context.content, context.file);
208
+ if (analysis.patterns.length === 0) {
209
+ return this.createEmptyResult();
210
+ }
211
+ const confidence = 0.9;
212
+ return this.createResult([], [], confidence, {
213
+ custom: {
214
+ patterns: analysis.patterns,
215
+ hasFactories: analysis.hasFactories,
216
+ hasBuilders: analysis.hasBuilders,
217
+ fixtureCount: analysis.fixtureCount,
218
+ },
219
+ });
220
+ }
221
+ generateQuickFix(_violation) {
222
+ return null;
223
+ }
224
+ }
225
+ export function createFixturePatternsDetector() {
226
+ return new FixturePatternsDetector();
227
+ }
228
+ //# sourceMappingURL=fixture-patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixture-patterns.js","sourceRoot":"","sources":["../../src/testing/fixture-patterns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Testing detectors module exports
3
+ *
4
+ * Detects testing patterns including:
5
+ * - Test file naming conventions
6
+ * - Test co-location patterns
7
+ * - Test structure patterns
8
+ * - Mock patterns
9
+ * - Fixture patterns
10
+ * - Describe naming patterns
11
+ * - Setup/teardown patterns
12
+ *
13
+ * @requirements 14.1-14.7 - Testing patterns
14
+ */
15
+ export { type TestFileNamingPatternType, type TestFileNamingPatternInfo, type TestFileNamingAnalysis, TEST_SUFFIX_PATTERN, SPEC_SUFFIX_PATTERN, TESTS_DIRECTORY_PATTERN, TEST_DIRECTORY_PATTERN, detectTestFileNaming, analyzeTestFileNaming, TestFileNamingDetector, createTestFileNamingDetector, } from './file-naming.js';
16
+ export { type CoLocationPatternType, type CoLocationPatternInfo, type CoLocationAnalysis, isTestFile, getSourceFileForTest, detectCoLocationPattern, analyzeCoLocation, TestCoLocationDetector, createTestCoLocationDetector, } from './co-location.js';
17
+ export { type TestStructurePatternType, type TestStructurePatternInfo, type TestStructureAnalysis, AAA_COMMENT_PATTERNS, GIVEN_WHEN_THEN_PATTERNS, IT_SHOULD_PATTERNS, TEST_FUNCTION_PATTERNS, DESCRIBE_BLOCK_PATTERNS, shouldExcludeFile as shouldExcludeTestStructureFile, detectAAAPattern, detectGivenWhenThen, detectItShould, detectTestFunctions, detectDescribeBlocks, analyzeTestStructure, TestStructureDetector, createTestStructureDetector, } from './test-structure.js';
18
+ export { type MockPatternType, type MockPatternInfo, type MockAnalysis, JEST_MOCK_PATTERNS, VITEST_MOCK_PATTERNS, SINON_STUB_PATTERNS, SINON_SPY_PATTERNS, MANUAL_MOCK_PATTERNS, MOCK_IMPLEMENTATION_PATTERNS, shouldExcludeFile as shouldExcludeMockFile, detectJestMocks, detectVitestMocks, detectSinonStubs, detectSinonSpies, detectManualMocks, analyzeMockPatterns, MockPatternsDetector, createMockPatternsDetector, } from './mock-patterns.js';
19
+ export { type FixturePatternType, type FixturePatternInfo, type FixtureAnalysis, FACTORY_FUNCTION_PATTERNS, BUILDER_PATTERN_PATTERNS, FIXTURE_FILE_PATTERNS, TEST_DATA_PATTERNS, FAKER_USAGE_PATTERNS, shouldExcludeFile as shouldExcludeFixtureFile, detectFactoryFunctions, detectBuilderPatterns, detectFixtureFiles, detectTestData, detectFakerUsage, analyzeFixturePatterns, FixturePatternsDetector, createFixturePatternsDetector, } from './fixture-patterns.js';
20
+ export { type DescribeNamingPatternType, type DescribeNamingPatternInfo, type DescribeNamingAnalysis, COMPONENT_NAME_PATTERNS, FUNCTION_NAME_PATTERNS, METHOD_GROUP_PATTERNS, FEATURE_GROUP_PATTERNS, shouldExcludeFile as shouldExcludeDescribeFile, extractDescribeBlocks, analyzeDescribeNaming, DescribeNamingDetector, createDescribeNamingDetector, } from './describe-naming.js';
21
+ export { type SetupTeardownPatternType, type SetupTeardownPatternInfo, type SetupTeardownAnalysis, BEFORE_EACH_PATTERNS, AFTER_EACH_PATTERNS, BEFORE_ALL_PATTERNS, AFTER_ALL_PATTERNS, SETUP_FUNCTION_PATTERNS, CLEANUP_FUNCTION_PATTERNS, shouldExcludeFile as shouldExcludeSetupFile, detectBeforeEach, detectAfterEach, detectBeforeAll, detectAfterAll, detectSetupFunctions, detectCleanupFunctions, analyzeSetupTeardown, SetupTeardownDetector, createSetupTeardownDetector, } from './setup-teardown.js';
22
+ export declare function createAllTestingDetectors(): {
23
+ fileNaming: import("./file-naming.js").TestFileNamingDetector;
24
+ coLocation: import("./co-location.js").TestCoLocationDetector;
25
+ testStructure: import("./test-structure.js").TestStructureDetector;
26
+ mockPatterns: import("./mock-patterns.js").MockPatternsDetector;
27
+ fixturePatterns: import("./fixture-patterns.js").FixturePatternsDetector;
28
+ describeNaming: import("./describe-naming.js").DescribeNamingDetector;
29
+ setupTeardown: import("./setup-teardown.js").SetupTeardownDetector;
30
+ };
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,IAAI,8BAA8B,EACnD,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,iBAAiB,IAAI,qBAAqB,EAC1C,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,IAAI,wBAAwB,EAC7C,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,IAAI,yBAAyB,EAC9C,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,IAAI,sBAAsB,EAC3C,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAY7B,wBAAgB,yBAAyB;;;;;;;;EAUxC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Testing detectors module exports
3
+ *
4
+ * Detects testing patterns including:
5
+ * - Test file naming conventions
6
+ * - Test co-location patterns
7
+ * - Test structure patterns
8
+ * - Mock patterns
9
+ * - Fixture patterns
10
+ * - Describe naming patterns
11
+ * - Setup/teardown patterns
12
+ *
13
+ * @requirements 14.1-14.7 - Testing patterns
14
+ */
15
+ // Test File Naming Detector
16
+ export { TEST_SUFFIX_PATTERN, SPEC_SUFFIX_PATTERN, TESTS_DIRECTORY_PATTERN, TEST_DIRECTORY_PATTERN, detectTestFileNaming, analyzeTestFileNaming, TestFileNamingDetector, createTestFileNamingDetector, } from './file-naming.js';
17
+ // Test Co-location Detector
18
+ export { isTestFile, getSourceFileForTest, detectCoLocationPattern, analyzeCoLocation, TestCoLocationDetector, createTestCoLocationDetector, } from './co-location.js';
19
+ // Test Structure Detector
20
+ export { AAA_COMMENT_PATTERNS, GIVEN_WHEN_THEN_PATTERNS, IT_SHOULD_PATTERNS, TEST_FUNCTION_PATTERNS, DESCRIBE_BLOCK_PATTERNS, shouldExcludeFile as shouldExcludeTestStructureFile, detectAAAPattern, detectGivenWhenThen, detectItShould, detectTestFunctions, detectDescribeBlocks, analyzeTestStructure, TestStructureDetector, createTestStructureDetector, } from './test-structure.js';
21
+ // Mock Patterns Detector
22
+ export { JEST_MOCK_PATTERNS, VITEST_MOCK_PATTERNS, SINON_STUB_PATTERNS, SINON_SPY_PATTERNS, MANUAL_MOCK_PATTERNS, MOCK_IMPLEMENTATION_PATTERNS, shouldExcludeFile as shouldExcludeMockFile, detectJestMocks, detectVitestMocks, detectSinonStubs, detectSinonSpies, detectManualMocks, analyzeMockPatterns, MockPatternsDetector, createMockPatternsDetector, } from './mock-patterns.js';
23
+ // Fixture Patterns Detector
24
+ export { FACTORY_FUNCTION_PATTERNS, BUILDER_PATTERN_PATTERNS, FIXTURE_FILE_PATTERNS, TEST_DATA_PATTERNS, FAKER_USAGE_PATTERNS, shouldExcludeFile as shouldExcludeFixtureFile, detectFactoryFunctions, detectBuilderPatterns, detectFixtureFiles, detectTestData, detectFakerUsage, analyzeFixturePatterns, FixturePatternsDetector, createFixturePatternsDetector, } from './fixture-patterns.js';
25
+ // Describe Naming Detector
26
+ export { COMPONENT_NAME_PATTERNS, FUNCTION_NAME_PATTERNS, METHOD_GROUP_PATTERNS, FEATURE_GROUP_PATTERNS, shouldExcludeFile as shouldExcludeDescribeFile, extractDescribeBlocks, analyzeDescribeNaming, DescribeNamingDetector, createDescribeNamingDetector, } from './describe-naming.js';
27
+ // Setup/Teardown Detector
28
+ export { BEFORE_EACH_PATTERNS, AFTER_EACH_PATTERNS, BEFORE_ALL_PATTERNS, AFTER_ALL_PATTERNS, SETUP_FUNCTION_PATTERNS, CLEANUP_FUNCTION_PATTERNS, shouldExcludeFile as shouldExcludeSetupFile, detectBeforeEach, detectAfterEach, detectBeforeAll, detectAfterAll, detectSetupFunctions, detectCleanupFunctions, analyzeSetupTeardown, SetupTeardownDetector, createSetupTeardownDetector, } from './setup-teardown.js';
29
+ // Import factory functions for createAllTestingDetectors
30
+ import { createTestFileNamingDetector } from './file-naming.js';
31
+ import { createTestCoLocationDetector } from './co-location.js';
32
+ import { createTestStructureDetector } from './test-structure.js';
33
+ import { createMockPatternsDetector } from './mock-patterns.js';
34
+ import { createFixturePatternsDetector } from './fixture-patterns.js';
35
+ import { createDescribeNamingDetector } from './describe-naming.js';
36
+ import { createSetupTeardownDetector } from './setup-teardown.js';
37
+ // Convenience factory for all testing detectors
38
+ export function createAllTestingDetectors() {
39
+ return {
40
+ fileNaming: createTestFileNamingDetector(),
41
+ coLocation: createTestCoLocationDetector(),
42
+ testStructure: createTestStructureDetector(),
43
+ mockPatterns: createMockPatternsDetector(),
44
+ fixturePatterns: createFixturePatternsDetector(),
45
+ describeNaming: createDescribeNamingDetector(),
46
+ setupTeardown: createSetupTeardownDetector(),
47
+ };
48
+ }
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Mock Patterns Detector - Test mocking pattern detection
3
+ *
4
+ * Detects mocking patterns including:
5
+ * - Jest mocks
6
+ * - Vitest mocks
7
+ * - Sinon stubs/spies
8
+ * - Manual mocks
9
+ *
10
+ * @requirements 14.4 - Mock patterns
11
+ */
12
+ import type { Violation, QuickFix, PatternCategory, Language } from 'driftdetect-core';
13
+ import { RegexDetector } from '../base/regex-detector.js';
14
+ import type { DetectionContext, DetectionResult } from '../base/base-detector.js';
15
+ export type MockPatternType = 'jest-mock' | 'vitest-mock' | 'sinon-stub' | 'sinon-spy' | 'manual-mock' | 'mock-implementation';
16
+ export interface MockPatternInfo {
17
+ type: MockPatternType;
18
+ line: number;
19
+ column: number;
20
+ match: string;
21
+ library?: string;
22
+ }
23
+ export interface MockAnalysis {
24
+ patterns: MockPatternInfo[];
25
+ dominantLibrary: string | null;
26
+ mockCount: number;
27
+ hasManualMocks: boolean;
28
+ }
29
+ export declare const JEST_MOCK_PATTERNS: RegExp[];
30
+ export declare const VITEST_MOCK_PATTERNS: RegExp[];
31
+ export declare const SINON_STUB_PATTERNS: RegExp[];
32
+ export declare const SINON_SPY_PATTERNS: RegExp[];
33
+ export declare const MANUAL_MOCK_PATTERNS: RegExp[];
34
+ export declare const MOCK_IMPLEMENTATION_PATTERNS: RegExp[];
35
+ export declare function shouldExcludeFile(filePath: string): boolean;
36
+ export declare function detectJestMocks(content: string): MockPatternInfo[];
37
+ export declare function detectVitestMocks(content: string): MockPatternInfo[];
38
+ export declare function detectSinonStubs(content: string): MockPatternInfo[];
39
+ export declare function detectSinonSpies(content: string): MockPatternInfo[];
40
+ export declare function detectManualMocks(content: string, filePath: string): MockPatternInfo[];
41
+ export declare function analyzeMockPatterns(content: string, filePath: string): MockAnalysis;
42
+ export declare class MockPatternsDetector extends RegexDetector {
43
+ readonly id = "testing/mock-patterns";
44
+ readonly name = "Mock Patterns Detector";
45
+ readonly description = "Detects test mocking patterns and libraries";
46
+ readonly category: PatternCategory;
47
+ readonly subcategory = "mock-patterns";
48
+ readonly supportedLanguages: Language[];
49
+ detect(context: DetectionContext): Promise<DetectionResult>;
50
+ generateQuickFix(_violation: Violation): QuickFix | null;
51
+ }
52
+ export declare function createMockPatternsDetector(): MockPatternsDetector;
53
+ //# sourceMappingURL=mock-patterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-patterns.d.ts","sourceRoot":"","sources":["../../src/testing/mock-patterns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAMlF,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,aAAa,GACb,YAAY,GACZ,WAAW,GACX,aAAa,GACb,qBAAqB,CAAC;AAE1B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAMD,eAAO,MAAM,kBAAkB,UAQ9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAKhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAM/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAK9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAchC,CAAC;AAEF,eAAO,MAAM,4BAA4B,UAIxC,CAAC;AAMF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAU3D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CAsBlE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CAsBpE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CAsBnE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CAsBnE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CA8BtF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CA2CnF;AAMD,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,QAAQ,CAAC,EAAE,2BAA2B;IACtC,QAAQ,CAAC,IAAI,4BAA4B;IACzC,QAAQ,CAAC,WAAW,iDAAiD;IACrE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAa;IAC/C,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,EAAE,CAA0C;IAE3E,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsBjE,gBAAgB,CAAC,UAAU,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI;CAGzD;AAED,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE"}