driftdetect-detectors 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. package/dist/accessibility/alt-text.d.ts +63 -0
  2. package/dist/accessibility/alt-text.d.ts.map +1 -0
  3. package/dist/accessibility/alt-text.js +100 -0
  4. package/dist/accessibility/alt-text.js.map +1 -0
  5. package/dist/accessibility/aria-roles.d.ts +65 -0
  6. package/dist/accessibility/aria-roles.d.ts.map +1 -0
  7. package/dist/accessibility/aria-roles.js +87 -0
  8. package/dist/accessibility/aria-roles.js.map +1 -0
  9. package/dist/accessibility/focus-management.d.ts +62 -0
  10. package/dist/accessibility/focus-management.d.ts.map +1 -0
  11. package/dist/accessibility/focus-management.js +88 -0
  12. package/dist/accessibility/focus-management.js.map +1 -0
  13. package/dist/accessibility/heading-hierarchy.d.ts +66 -0
  14. package/dist/accessibility/heading-hierarchy.d.ts.map +1 -0
  15. package/dist/accessibility/heading-hierarchy.js +94 -0
  16. package/dist/accessibility/heading-hierarchy.js.map +1 -0
  17. package/dist/accessibility/index.d.ts +25 -0
  18. package/dist/accessibility/index.d.ts.map +1 -0
  19. package/dist/accessibility/index.js +21 -0
  20. package/dist/accessibility/index.js.map +1 -0
  21. package/dist/accessibility/keyboard-nav.d.ts +63 -0
  22. package/dist/accessibility/keyboard-nav.d.ts.map +1 -0
  23. package/dist/accessibility/keyboard-nav.js +86 -0
  24. package/dist/accessibility/keyboard-nav.js.map +1 -0
  25. package/dist/accessibility/semantic-html.d.ts +76 -0
  26. package/dist/accessibility/semantic-html.d.ts.map +1 -0
  27. package/dist/accessibility/semantic-html.js +204 -0
  28. package/dist/accessibility/semantic-html.js.map +1 -0
  29. package/dist/api/client-patterns.d.ts +121 -0
  30. package/dist/api/client-patterns.d.ts.map +1 -0
  31. package/dist/api/client-patterns.js +478 -0
  32. package/dist/api/client-patterns.js.map +1 -0
  33. package/dist/api/error-format.d.ts +140 -0
  34. package/dist/api/error-format.d.ts.map +1 -0
  35. package/dist/api/error-format.js +614 -0
  36. package/dist/api/error-format.js.map +1 -0
  37. package/dist/api/http-methods.d.ts +255 -0
  38. package/dist/api/http-methods.d.ts.map +1 -0
  39. package/dist/api/http-methods.js +890 -0
  40. package/dist/api/http-methods.js.map +1 -0
  41. package/dist/api/index.d.ts +16 -0
  42. package/dist/api/index.d.ts.map +1 -0
  43. package/dist/api/index.js +37 -0
  44. package/dist/api/index.js.map +1 -0
  45. package/dist/api/pagination.d.ts +133 -0
  46. package/dist/api/pagination.d.ts.map +1 -0
  47. package/dist/api/pagination.js +521 -0
  48. package/dist/api/pagination.js.map +1 -0
  49. package/dist/api/response-envelope.d.ts +261 -0
  50. package/dist/api/response-envelope.d.ts.map +1 -0
  51. package/dist/api/response-envelope.js +1050 -0
  52. package/dist/api/response-envelope.js.map +1 -0
  53. package/dist/api/retry-patterns.d.ts +117 -0
  54. package/dist/api/retry-patterns.d.ts.map +1 -0
  55. package/dist/api/retry-patterns.js +480 -0
  56. package/dist/api/retry-patterns.js.map +1 -0
  57. package/dist/api/route-structure.d.ts +128 -0
  58. package/dist/api/route-structure.d.ts.map +1 -0
  59. package/dist/api/route-structure.js +738 -0
  60. package/dist/api/route-structure.js.map +1 -0
  61. package/dist/auth/audit-logging.d.ts +80 -0
  62. package/dist/auth/audit-logging.d.ts.map +1 -0
  63. package/dist/auth/audit-logging.js +370 -0
  64. package/dist/auth/audit-logging.js.map +1 -0
  65. package/dist/auth/index.d.ts +33 -0
  66. package/dist/auth/index.d.ts.map +1 -0
  67. package/dist/auth/index.js +49 -0
  68. package/dist/auth/index.js.map +1 -0
  69. package/dist/auth/middleware-usage.d.ts +65 -0
  70. package/dist/auth/middleware-usage.d.ts.map +1 -0
  71. package/dist/auth/middleware-usage.js +192 -0
  72. package/dist/auth/middleware-usage.js.map +1 -0
  73. package/dist/auth/permission-checks.d.ts +60 -0
  74. package/dist/auth/permission-checks.d.ts.map +1 -0
  75. package/dist/auth/permission-checks.js +159 -0
  76. package/dist/auth/permission-checks.js.map +1 -0
  77. package/dist/auth/rbac-patterns.d.ts +68 -0
  78. package/dist/auth/rbac-patterns.d.ts.map +1 -0
  79. package/dist/auth/rbac-patterns.js +143 -0
  80. package/dist/auth/rbac-patterns.js.map +1 -0
  81. package/dist/auth/resource-ownership.d.ts +77 -0
  82. package/dist/auth/resource-ownership.d.ts.map +1 -0
  83. package/dist/auth/resource-ownership.js +324 -0
  84. package/dist/auth/resource-ownership.js.map +1 -0
  85. package/dist/auth/token-handling.d.ts +64 -0
  86. package/dist/auth/token-handling.d.ts.map +1 -0
  87. package/dist/auth/token-handling.js +151 -0
  88. package/dist/auth/token-handling.js.map +1 -0
  89. package/dist/base/ast-detector.d.ts +421 -0
  90. package/dist/base/ast-detector.d.ts.map +1 -0
  91. package/dist/base/ast-detector.js +699 -0
  92. package/dist/base/ast-detector.js.map +1 -0
  93. package/dist/base/base-detector.d.ts +366 -0
  94. package/dist/base/base-detector.d.ts.map +1 -0
  95. package/dist/base/base-detector.js +170 -0
  96. package/dist/base/base-detector.js.map +1 -0
  97. package/dist/base/index.d.ts +12 -0
  98. package/dist/base/index.d.ts.map +1 -0
  99. package/dist/base/index.js +17 -0
  100. package/dist/base/index.js.map +1 -0
  101. package/dist/base/regex-detector.d.ts +421 -0
  102. package/dist/base/regex-detector.d.ts.map +1 -0
  103. package/dist/base/regex-detector.js +537 -0
  104. package/dist/base/regex-detector.js.map +1 -0
  105. package/dist/base/structural-detector.d.ts +424 -0
  106. package/dist/base/structural-detector.d.ts.map +1 -0
  107. package/dist/base/structural-detector.js +731 -0
  108. package/dist/base/structural-detector.js.map +1 -0
  109. package/dist/base/types.d.ts +53 -0
  110. package/dist/base/types.d.ts.map +1 -0
  111. package/dist/base/types.js +5 -0
  112. package/dist/base/types.js.map +1 -0
  113. package/dist/components/component-structure.d.ts +163 -0
  114. package/dist/components/component-structure.d.ts.map +1 -0
  115. package/dist/components/component-structure.js +500 -0
  116. package/dist/components/component-structure.js.map +1 -0
  117. package/dist/components/composition.d.ts +287 -0
  118. package/dist/components/composition.d.ts.map +1 -0
  119. package/dist/components/composition.js +1123 -0
  120. package/dist/components/composition.js.map +1 -0
  121. package/dist/components/duplicate-detection.d.ts +251 -0
  122. package/dist/components/duplicate-detection.d.ts.map +1 -0
  123. package/dist/components/duplicate-detection.js +804 -0
  124. package/dist/components/duplicate-detection.js.map +1 -0
  125. package/dist/components/index.d.ts +16 -0
  126. package/dist/components/index.d.ts.map +1 -0
  127. package/dist/components/index.js +51 -0
  128. package/dist/components/index.js.map +1 -0
  129. package/dist/components/near-duplicate.d.ts +402 -0
  130. package/dist/components/near-duplicate.d.ts.map +1 -0
  131. package/dist/components/near-duplicate.js +1090 -0
  132. package/dist/components/near-duplicate.js.map +1 -0
  133. package/dist/components/props-patterns.d.ts +194 -0
  134. package/dist/components/props-patterns.d.ts.map +1 -0
  135. package/dist/components/props-patterns.js +795 -0
  136. package/dist/components/props-patterns.js.map +1 -0
  137. package/dist/components/ref-forwarding.d.ts +250 -0
  138. package/dist/components/ref-forwarding.d.ts.map +1 -0
  139. package/dist/components/ref-forwarding.js +832 -0
  140. package/dist/components/ref-forwarding.js.map +1 -0
  141. package/dist/components/state-patterns.d.ts +291 -0
  142. package/dist/components/state-patterns.d.ts.map +1 -0
  143. package/dist/components/state-patterns.js +970 -0
  144. package/dist/components/state-patterns.js.map +1 -0
  145. package/dist/config/config-validation.d.ts +74 -0
  146. package/dist/config/config-validation.d.ts.map +1 -0
  147. package/dist/config/config-validation.js +446 -0
  148. package/dist/config/config-validation.js.map +1 -0
  149. package/dist/config/default-values.d.ts +72 -0
  150. package/dist/config/default-values.d.ts.map +1 -0
  151. package/dist/config/default-values.js +386 -0
  152. package/dist/config/default-values.js.map +1 -0
  153. package/dist/config/env-naming.d.ts +73 -0
  154. package/dist/config/env-naming.d.ts.map +1 -0
  155. package/dist/config/env-naming.js +429 -0
  156. package/dist/config/env-naming.js.map +1 -0
  157. package/dist/config/environment-detection.d.ts +72 -0
  158. package/dist/config/environment-detection.d.ts.map +1 -0
  159. package/dist/config/environment-detection.js +400 -0
  160. package/dist/config/environment-detection.js.map +1 -0
  161. package/dist/config/feature-flags.d.ts +72 -0
  162. package/dist/config/feature-flags.d.ts.map +1 -0
  163. package/dist/config/feature-flags.js +384 -0
  164. package/dist/config/feature-flags.js.map +1 -0
  165. package/dist/config/index.d.ts +27 -0
  166. package/dist/config/index.d.ts.map +1 -0
  167. package/dist/config/index.js +43 -0
  168. package/dist/config/index.js.map +1 -0
  169. package/dist/config/required-optional.d.ts +71 -0
  170. package/dist/config/required-optional.d.ts.map +1 -0
  171. package/dist/config/required-optional.js +344 -0
  172. package/dist/config/required-optional.js.map +1 -0
  173. package/dist/data-access/connection-pooling.d.ts +63 -0
  174. package/dist/data-access/connection-pooling.d.ts.map +1 -0
  175. package/dist/data-access/connection-pooling.js +297 -0
  176. package/dist/data-access/connection-pooling.js.map +1 -0
  177. package/dist/data-access/dto-patterns.d.ts +64 -0
  178. package/dist/data-access/dto-patterns.d.ts.map +1 -0
  179. package/dist/data-access/dto-patterns.js +291 -0
  180. package/dist/data-access/dto-patterns.js.map +1 -0
  181. package/dist/data-access/index.d.ts +31 -0
  182. package/dist/data-access/index.d.ts.map +1 -0
  183. package/dist/data-access/index.js +49 -0
  184. package/dist/data-access/index.js.map +1 -0
  185. package/dist/data-access/n-plus-one.d.ts +60 -0
  186. package/dist/data-access/n-plus-one.d.ts.map +1 -0
  187. package/dist/data-access/n-plus-one.js +264 -0
  188. package/dist/data-access/n-plus-one.js.map +1 -0
  189. package/dist/data-access/query-patterns.d.ts +64 -0
  190. package/dist/data-access/query-patterns.d.ts.map +1 -0
  191. package/dist/data-access/query-patterns.js +314 -0
  192. package/dist/data-access/query-patterns.js.map +1 -0
  193. package/dist/data-access/repository-pattern.d.ts +62 -0
  194. package/dist/data-access/repository-pattern.d.ts.map +1 -0
  195. package/dist/data-access/repository-pattern.js +257 -0
  196. package/dist/data-access/repository-pattern.js.map +1 -0
  197. package/dist/data-access/transaction-patterns.d.ts +61 -0
  198. package/dist/data-access/transaction-patterns.d.ts.map +1 -0
  199. package/dist/data-access/transaction-patterns.js +277 -0
  200. package/dist/data-access/transaction-patterns.js.map +1 -0
  201. package/dist/data-access/validation-patterns.d.ts +62 -0
  202. package/dist/data-access/validation-patterns.d.ts.map +1 -0
  203. package/dist/data-access/validation-patterns.js +301 -0
  204. package/dist/data-access/validation-patterns.js.map +1 -0
  205. package/dist/documentation/deprecation.d.ts +62 -0
  206. package/dist/documentation/deprecation.d.ts.map +1 -0
  207. package/dist/documentation/deprecation.js +83 -0
  208. package/dist/documentation/deprecation.js.map +1 -0
  209. package/dist/documentation/example-code.d.ts +64 -0
  210. package/dist/documentation/example-code.d.ts.map +1 -0
  211. package/dist/documentation/example-code.js +79 -0
  212. package/dist/documentation/example-code.js.map +1 -0
  213. package/dist/documentation/index.d.ts +22 -0
  214. package/dist/documentation/index.d.ts.map +1 -0
  215. package/dist/documentation/index.js +19 -0
  216. package/dist/documentation/index.js.map +1 -0
  217. package/dist/documentation/jsdoc-patterns.d.ts +72 -0
  218. package/dist/documentation/jsdoc-patterns.d.ts.map +1 -0
  219. package/dist/documentation/jsdoc-patterns.js +92 -0
  220. package/dist/documentation/jsdoc-patterns.js.map +1 -0
  221. package/dist/documentation/readme-structure.d.ts +67 -0
  222. package/dist/documentation/readme-structure.d.ts.map +1 -0
  223. package/dist/documentation/readme-structure.js +76 -0
  224. package/dist/documentation/readme-structure.js.map +1 -0
  225. package/dist/documentation/todo-patterns.d.ts +67 -0
  226. package/dist/documentation/todo-patterns.d.ts.map +1 -0
  227. package/dist/documentation/todo-patterns.js +73 -0
  228. package/dist/documentation/todo-patterns.js.map +1 -0
  229. package/dist/errors/async-errors.d.ts +72 -0
  230. package/dist/errors/async-errors.d.ts.map +1 -0
  231. package/dist/errors/async-errors.js +214 -0
  232. package/dist/errors/async-errors.js.map +1 -0
  233. package/dist/errors/circuit-breaker.d.ts +53 -0
  234. package/dist/errors/circuit-breaker.d.ts.map +1 -0
  235. package/dist/errors/circuit-breaker.js +241 -0
  236. package/dist/errors/circuit-breaker.js.map +1 -0
  237. package/dist/errors/error-codes.d.ts +73 -0
  238. package/dist/errors/error-codes.d.ts.map +1 -0
  239. package/dist/errors/error-codes.js +211 -0
  240. package/dist/errors/error-codes.js.map +1 -0
  241. package/dist/errors/error-logging.d.ts +73 -0
  242. package/dist/errors/error-logging.d.ts.map +1 -0
  243. package/dist/errors/error-logging.js +256 -0
  244. package/dist/errors/error-logging.js.map +1 -0
  245. package/dist/errors/error-propagation.d.ts +73 -0
  246. package/dist/errors/error-propagation.d.ts.map +1 -0
  247. package/dist/errors/error-propagation.js +244 -0
  248. package/dist/errors/error-propagation.js.map +1 -0
  249. package/dist/errors/exception-hierarchy.d.ts +75 -0
  250. package/dist/errors/exception-hierarchy.d.ts.map +1 -0
  251. package/dist/errors/exception-hierarchy.js +259 -0
  252. package/dist/errors/exception-hierarchy.js.map +1 -0
  253. package/dist/errors/index.d.ts +31 -0
  254. package/dist/errors/index.d.ts.map +1 -0
  255. package/dist/errors/index.js +49 -0
  256. package/dist/errors/index.js.map +1 -0
  257. package/dist/errors/try-catch-placement.d.ts +73 -0
  258. package/dist/errors/try-catch-placement.d.ts.map +1 -0
  259. package/dist/errors/try-catch-placement.js +214 -0
  260. package/dist/errors/try-catch-placement.js.map +1 -0
  261. package/dist/index.d.ts +221 -0
  262. package/dist/index.d.ts.map +1 -0
  263. package/dist/index.js +245 -0
  264. package/dist/index.js.map +1 -0
  265. package/dist/logging/context-fields.d.ts +48 -0
  266. package/dist/logging/context-fields.d.ts.map +1 -0
  267. package/dist/logging/context-fields.js +160 -0
  268. package/dist/logging/context-fields.js.map +1 -0
  269. package/dist/logging/correlation-ids.d.ts +44 -0
  270. package/dist/logging/correlation-ids.d.ts.map +1 -0
  271. package/dist/logging/correlation-ids.js +144 -0
  272. package/dist/logging/correlation-ids.js.map +1 -0
  273. package/dist/logging/health-checks.d.ts +45 -0
  274. package/dist/logging/health-checks.d.ts.map +1 -0
  275. package/dist/logging/health-checks.js +165 -0
  276. package/dist/logging/health-checks.js.map +1 -0
  277. package/dist/logging/index.d.ts +31 -0
  278. package/dist/logging/index.d.ts.map +1 -0
  279. package/dist/logging/index.js +49 -0
  280. package/dist/logging/index.js.map +1 -0
  281. package/dist/logging/log-levels.d.ts +46 -0
  282. package/dist/logging/log-levels.d.ts.map +1 -0
  283. package/dist/logging/log-levels.js +178 -0
  284. package/dist/logging/log-levels.js.map +1 -0
  285. package/dist/logging/metric-naming.d.ts +46 -0
  286. package/dist/logging/metric-naming.d.ts.map +1 -0
  287. package/dist/logging/metric-naming.js +157 -0
  288. package/dist/logging/metric-naming.js.map +1 -0
  289. package/dist/logging/pii-redaction.d.ts +44 -0
  290. package/dist/logging/pii-redaction.d.ts.map +1 -0
  291. package/dist/logging/pii-redaction.js +166 -0
  292. package/dist/logging/pii-redaction.js.map +1 -0
  293. package/dist/logging/structured-format.d.ts +53 -0
  294. package/dist/logging/structured-format.d.ts.map +1 -0
  295. package/dist/logging/structured-format.js +235 -0
  296. package/dist/logging/structured-format.js.map +1 -0
  297. package/dist/performance/bundle-size.d.ts +79 -0
  298. package/dist/performance/bundle-size.d.ts.map +1 -0
  299. package/dist/performance/bundle-size.js +276 -0
  300. package/dist/performance/bundle-size.js.map +1 -0
  301. package/dist/performance/caching-patterns.d.ts +78 -0
  302. package/dist/performance/caching-patterns.d.ts.map +1 -0
  303. package/dist/performance/caching-patterns.js +257 -0
  304. package/dist/performance/caching-patterns.js.map +1 -0
  305. package/dist/performance/code-splitting.d.ts +86 -0
  306. package/dist/performance/code-splitting.d.ts.map +1 -0
  307. package/dist/performance/code-splitting.js +447 -0
  308. package/dist/performance/code-splitting.js.map +1 -0
  309. package/dist/performance/debounce-throttle.d.ts +75 -0
  310. package/dist/performance/debounce-throttle.d.ts.map +1 -0
  311. package/dist/performance/debounce-throttle.js +232 -0
  312. package/dist/performance/debounce-throttle.js.map +1 -0
  313. package/dist/performance/index.d.ts +28 -0
  314. package/dist/performance/index.d.ts.map +1 -0
  315. package/dist/performance/index.js +39 -0
  316. package/dist/performance/index.js.map +1 -0
  317. package/dist/performance/lazy-loading.d.ts +75 -0
  318. package/dist/performance/lazy-loading.d.ts.map +1 -0
  319. package/dist/performance/lazy-loading.js +233 -0
  320. package/dist/performance/lazy-loading.js.map +1 -0
  321. package/dist/performance/memoization.d.ts +75 -0
  322. package/dist/performance/memoization.d.ts.map +1 -0
  323. package/dist/performance/memoization.js +251 -0
  324. package/dist/performance/memoization.js.map +1 -0
  325. package/dist/registry/detector-registry.d.ts +266 -0
  326. package/dist/registry/detector-registry.d.ts.map +1 -0
  327. package/dist/registry/detector-registry.js +526 -0
  328. package/dist/registry/detector-registry.js.map +1 -0
  329. package/dist/registry/index.d.ts +10 -0
  330. package/dist/registry/index.d.ts.map +1 -0
  331. package/dist/registry/index.js +10 -0
  332. package/dist/registry/index.js.map +1 -0
  333. package/dist/registry/loader.d.ts +232 -0
  334. package/dist/registry/loader.d.ts.map +1 -0
  335. package/dist/registry/loader.js +419 -0
  336. package/dist/registry/loader.js.map +1 -0
  337. package/dist/registry/types.d.ts +111 -0
  338. package/dist/registry/types.d.ts.map +1 -0
  339. package/dist/registry/types.js +19 -0
  340. package/dist/registry/types.js.map +1 -0
  341. package/dist/security/csp-headers.d.ts +78 -0
  342. package/dist/security/csp-headers.d.ts.map +1 -0
  343. package/dist/security/csp-headers.js +401 -0
  344. package/dist/security/csp-headers.js.map +1 -0
  345. package/dist/security/csrf-protection.d.ts +72 -0
  346. package/dist/security/csrf-protection.d.ts.map +1 -0
  347. package/dist/security/csrf-protection.js +344 -0
  348. package/dist/security/csrf-protection.js.map +1 -0
  349. package/dist/security/index.d.ts +30 -0
  350. package/dist/security/index.d.ts.map +1 -0
  351. package/dist/security/index.js +48 -0
  352. package/dist/security/index.js.map +1 -0
  353. package/dist/security/input-sanitization.d.ts +74 -0
  354. package/dist/security/input-sanitization.d.ts.map +1 -0
  355. package/dist/security/input-sanitization.js +373 -0
  356. package/dist/security/input-sanitization.js.map +1 -0
  357. package/dist/security/rate-limiting.d.ts +81 -0
  358. package/dist/security/rate-limiting.d.ts.map +1 -0
  359. package/dist/security/rate-limiting.js +535 -0
  360. package/dist/security/rate-limiting.js.map +1 -0
  361. package/dist/security/secret-management.d.ts +83 -0
  362. package/dist/security/secret-management.d.ts.map +1 -0
  363. package/dist/security/secret-management.js +547 -0
  364. package/dist/security/secret-management.js.map +1 -0
  365. package/dist/security/sql-injection.d.ts +76 -0
  366. package/dist/security/sql-injection.d.ts.map +1 -0
  367. package/dist/security/sql-injection.js +383 -0
  368. package/dist/security/sql-injection.js.map +1 -0
  369. package/dist/security/xss-prevention.d.ts +80 -0
  370. package/dist/security/xss-prevention.d.ts.map +1 -0
  371. package/dist/security/xss-prevention.js +416 -0
  372. package/dist/security/xss-prevention.js.map +1 -0
  373. package/dist/structural/barrel-exports.d.ts +178 -0
  374. package/dist/structural/barrel-exports.d.ts.map +1 -0
  375. package/dist/structural/barrel-exports.js +553 -0
  376. package/dist/structural/barrel-exports.js.map +1 -0
  377. package/dist/structural/circular-deps.d.ts +140 -0
  378. package/dist/structural/circular-deps.d.ts.map +1 -0
  379. package/dist/structural/circular-deps.js +422 -0
  380. package/dist/structural/circular-deps.js.map +1 -0
  381. package/dist/structural/co-location.d.ts +202 -0
  382. package/dist/structural/co-location.d.ts.map +1 -0
  383. package/dist/structural/co-location.js +640 -0
  384. package/dist/structural/co-location.js.map +1 -0
  385. package/dist/structural/directory-structure.d.ts +151 -0
  386. package/dist/structural/directory-structure.d.ts.map +1 -0
  387. package/dist/structural/directory-structure.js +457 -0
  388. package/dist/structural/directory-structure.js.map +1 -0
  389. package/dist/structural/file-naming.d.ts +61 -0
  390. package/dist/structural/file-naming.d.ts.map +1 -0
  391. package/dist/structural/file-naming.js +231 -0
  392. package/dist/structural/file-naming.js.map +1 -0
  393. package/dist/structural/import-ordering.d.ts +212 -0
  394. package/dist/structural/import-ordering.d.ts.map +1 -0
  395. package/dist/structural/import-ordering.js +821 -0
  396. package/dist/structural/import-ordering.js.map +1 -0
  397. package/dist/structural/index.d.ts +23 -0
  398. package/dist/structural/index.d.ts.map +1 -0
  399. package/dist/structural/index.js +26 -0
  400. package/dist/structural/index.js.map +1 -0
  401. package/dist/structural/module-boundaries.d.ts +164 -0
  402. package/dist/structural/module-boundaries.d.ts.map +1 -0
  403. package/dist/structural/module-boundaries.js +616 -0
  404. package/dist/structural/module-boundaries.js.map +1 -0
  405. package/dist/structural/package-boundaries.d.ts +182 -0
  406. package/dist/structural/package-boundaries.d.ts.map +1 -0
  407. package/dist/structural/package-boundaries.js +602 -0
  408. package/dist/structural/package-boundaries.js.map +1 -0
  409. package/dist/styling/class-naming.d.ts +263 -0
  410. package/dist/styling/class-naming.d.ts.map +1 -0
  411. package/dist/styling/class-naming.js +892 -0
  412. package/dist/styling/class-naming.js.map +1 -0
  413. package/dist/styling/color-usage.d.ts +213 -0
  414. package/dist/styling/color-usage.d.ts.map +1 -0
  415. package/dist/styling/color-usage.js +732 -0
  416. package/dist/styling/color-usage.js.map +1 -0
  417. package/dist/styling/design-tokens.d.ts +212 -0
  418. package/dist/styling/design-tokens.d.ts.map +1 -0
  419. package/dist/styling/design-tokens.js +748 -0
  420. package/dist/styling/design-tokens.js.map +1 -0
  421. package/dist/styling/index.d.ts +16 -0
  422. package/dist/styling/index.d.ts.map +1 -0
  423. package/dist/styling/index.js +56 -0
  424. package/dist/styling/index.js.map +1 -0
  425. package/dist/styling/responsive.d.ts +304 -0
  426. package/dist/styling/responsive.d.ts.map +1 -0
  427. package/dist/styling/responsive.js +888 -0
  428. package/dist/styling/responsive.js.map +1 -0
  429. package/dist/styling/spacing-scale.d.ts +248 -0
  430. package/dist/styling/spacing-scale.d.ts.map +1 -0
  431. package/dist/styling/spacing-scale.js +865 -0
  432. package/dist/styling/spacing-scale.js.map +1 -0
  433. package/dist/styling/tailwind-patterns.d.ts +305 -0
  434. package/dist/styling/tailwind-patterns.d.ts.map +1 -0
  435. package/dist/styling/tailwind-patterns.js +1181 -0
  436. package/dist/styling/tailwind-patterns.js.map +1 -0
  437. package/dist/styling/typography.d.ts +281 -0
  438. package/dist/styling/typography.d.ts.map +1 -0
  439. package/dist/styling/typography.js +1004 -0
  440. package/dist/styling/typography.js.map +1 -0
  441. package/dist/styling/z-index-scale.d.ts +270 -0
  442. package/dist/styling/z-index-scale.d.ts.map +1 -0
  443. package/dist/styling/z-index-scale.js +714 -0
  444. package/dist/styling/z-index-scale.js.map +1 -0
  445. package/dist/testing/co-location.d.ts +42 -0
  446. package/dist/testing/co-location.d.ts.map +1 -0
  447. package/dist/testing/co-location.js +134 -0
  448. package/dist/testing/co-location.js.map +1 -0
  449. package/dist/testing/describe-naming.d.ts +47 -0
  450. package/dist/testing/describe-naming.d.ts.map +1 -0
  451. package/dist/testing/describe-naming.js +150 -0
  452. package/dist/testing/describe-naming.js.map +1 -0
  453. package/dist/testing/file-naming.d.ts +44 -0
  454. package/dist/testing/file-naming.d.ts.map +1 -0
  455. package/dist/testing/file-naming.js +131 -0
  456. package/dist/testing/file-naming.js.map +1 -0
  457. package/dist/testing/fixture-patterns.d.ts +52 -0
  458. package/dist/testing/fixture-patterns.d.ts.map +1 -0
  459. package/dist/testing/fixture-patterns.js +228 -0
  460. package/dist/testing/fixture-patterns.js.map +1 -0
  461. package/dist/testing/index.d.ts +31 -0
  462. package/dist/testing/index.d.ts.map +1 -0
  463. package/dist/testing/index.js +49 -0
  464. package/dist/testing/index.js.map +1 -0
  465. package/dist/testing/mock-patterns.d.ts +53 -0
  466. package/dist/testing/mock-patterns.d.ts.map +1 -0
  467. package/dist/testing/mock-patterns.js +264 -0
  468. package/dist/testing/mock-patterns.js.map +1 -0
  469. package/dist/testing/setup-teardown.d.ts +55 -0
  470. package/dist/testing/setup-teardown.d.ts.map +1 -0
  471. package/dist/testing/setup-teardown.js +262 -0
  472. package/dist/testing/setup-teardown.js.map +1 -0
  473. package/dist/testing/test-structure.d.ts +51 -0
  474. package/dist/testing/test-structure.d.ts.map +1 -0
  475. package/dist/testing/test-structure.js +225 -0
  476. package/dist/testing/test-structure.js.map +1 -0
  477. package/dist/types/any-usage.d.ts +99 -0
  478. package/dist/types/any-usage.d.ts.map +1 -0
  479. package/dist/types/any-usage.js +641 -0
  480. package/dist/types/any-usage.js.map +1 -0
  481. package/dist/types/file-location.d.ts +76 -0
  482. package/dist/types/file-location.d.ts.map +1 -0
  483. package/dist/types/file-location.js +395 -0
  484. package/dist/types/file-location.js.map +1 -0
  485. package/dist/types/generic-patterns.d.ts +97 -0
  486. package/dist/types/generic-patterns.d.ts.map +1 -0
  487. package/dist/types/generic-patterns.js +615 -0
  488. package/dist/types/generic-patterns.js.map +1 -0
  489. package/dist/types/index.d.ts +31 -0
  490. package/dist/types/index.d.ts.map +1 -0
  491. package/dist/types/index.js +43 -0
  492. package/dist/types/index.js.map +1 -0
  493. package/dist/types/interface-vs-type.d.ts +81 -0
  494. package/dist/types/interface-vs-type.d.ts.map +1 -0
  495. package/dist/types/interface-vs-type.js +440 -0
  496. package/dist/types/interface-vs-type.js.map +1 -0
  497. package/dist/types/naming-conventions.d.ts +84 -0
  498. package/dist/types/naming-conventions.d.ts.map +1 -0
  499. package/dist/types/naming-conventions.js +455 -0
  500. package/dist/types/naming-conventions.js.map +1 -0
  501. package/dist/types/type-assertions.d.ts +98 -0
  502. package/dist/types/type-assertions.d.ts.map +1 -0
  503. package/dist/types/type-assertions.js +639 -0
  504. package/dist/types/type-assertions.js.map +1 -0
  505. package/dist/types/utility-types.d.ts +110 -0
  506. package/dist/types/utility-types.d.ts.map +1 -0
  507. package/dist/types/utility-types.js +547 -0
  508. package/dist/types/utility-types.js.map +1 -0
  509. package/package.json +44 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-detector.js","sourceRoot":"","sources":["../../src/base/ast-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,366 @@
1
+ /**
2
+ * Base Detector - Abstract detector class
3
+ *
4
+ * Defines the common interface for all detectors. All concrete detectors
5
+ * must extend this class and implement the required abstract methods.
6
+ *
7
+ * @requirements 6.1 - THE Detector_System SHALL define a BaseDetector interface that all detectors implement
8
+ * @requirements 6.3 - THE Detector SHALL declare its category, supported languages, and detection method
9
+ * @requirements 6.6 - THE Detector SHALL be independently testable with mock AST inputs
10
+ */
11
+ import type { PatternCategory, Language, PatternMatch, Violation, QuickFix, AST } from 'driftdetect-core';
12
+ import type { DetectionMethod, DetectorInfo } from '../registry/types.js';
13
+ /**
14
+ * Import information extracted from a file
15
+ *
16
+ * Provides details about import statements for pattern detection.
17
+ */
18
+ export interface ImportInfo {
19
+ /** The source module path (as written in the import statement) */
20
+ source: string;
21
+ /** Resolved absolute path to the imported module (if resolvable) */
22
+ resolvedPath?: string;
23
+ /** Named imports (e.g., ['foo', 'bar'] for import { foo, bar }) */
24
+ namedImports: string[];
25
+ /** Default import name (if present) */
26
+ defaultImport?: string;
27
+ /** Namespace import name (if present, e.g., import * as ns) */
28
+ namespaceImport?: string;
29
+ /** Whether this is a type-only import */
30
+ isTypeOnly: boolean;
31
+ /** Whether this is a side-effect only import (import './styles.css') */
32
+ sideEffectOnly: boolean;
33
+ /** Line number where the import appears (1-indexed) */
34
+ line: number;
35
+ /** Column number where the import appears (1-indexed) */
36
+ column: number;
37
+ }
38
+ /**
39
+ * Export information extracted from a file
40
+ *
41
+ * Provides details about export statements for pattern detection.
42
+ */
43
+ export interface ExportInfo {
44
+ /** Name of the exported symbol */
45
+ name: string;
46
+ /** Whether this is a default export */
47
+ isDefault: boolean;
48
+ /** Whether this is a type-only export */
49
+ isTypeOnly: boolean;
50
+ /** Whether this is a re-export from another module */
51
+ isReExport: boolean;
52
+ /** Source module for re-exports */
53
+ source?: string;
54
+ /** Original name if exported with alias */
55
+ originalName?: string;
56
+ /** Line number where the export appears (1-indexed) */
57
+ line: number;
58
+ /** Column number where the export appears (1-indexed) */
59
+ column: number;
60
+ }
61
+ /**
62
+ * Project-wide context for detection
63
+ *
64
+ * Provides information about the overall project structure
65
+ * that may be needed for pattern detection.
66
+ */
67
+ export interface ProjectContext {
68
+ /** Root directory of the project */
69
+ rootDir: string;
70
+ /** All project files (relative paths) */
71
+ files: string[];
72
+ /** Project configuration (from drift config) */
73
+ config: Record<string, unknown>;
74
+ /** Dependency graph information (if available) */
75
+ dependencyGraph?: {
76
+ /** Get dependencies of a file */
77
+ getDependencies: (file: string) => string[];
78
+ /** Get dependents of a file */
79
+ getDependents: (file: string) => string[];
80
+ /** Check for circular dependencies */
81
+ hasCircularDependency: () => boolean;
82
+ };
83
+ /** Package.json contents (if available) */
84
+ packageJson?: Record<string, unknown>;
85
+ /** TypeScript config (if available) */
86
+ tsConfig?: Record<string, unknown>;
87
+ }
88
+ /**
89
+ * Context provided to detectors for pattern detection
90
+ *
91
+ * Contains all information needed to analyze a file for patterns.
92
+ *
93
+ * @requirements 6.6 - Detectors are independently testable with mock AST inputs
94
+ */
95
+ export interface DetectionContext {
96
+ /** File path being analyzed (relative to project root) */
97
+ file: string;
98
+ /** Full file content as a string */
99
+ content: string;
100
+ /** Parsed AST (null if parsing failed or not applicable) */
101
+ ast: AST | null;
102
+ /** Import statements extracted from the file */
103
+ imports: ImportInfo[];
104
+ /** Export statements extracted from the file */
105
+ exports: ExportInfo[];
106
+ /** Project-wide context */
107
+ projectContext: ProjectContext;
108
+ /** Language of the file */
109
+ language: Language;
110
+ /** File extension (e.g., '.ts', '.tsx') */
111
+ extension: string;
112
+ /** Whether the file is a test file */
113
+ isTestFile: boolean;
114
+ /** Whether the file is a type definition file */
115
+ isTypeDefinition: boolean;
116
+ }
117
+ /**
118
+ * Result of running detection on a file
119
+ *
120
+ * Contains all patterns found and any violations detected.
121
+ */
122
+ export interface DetectionResult {
123
+ /** Patterns found in the file */
124
+ patterns: PatternMatch[];
125
+ /** Violations detected in the file */
126
+ violations: Violation[];
127
+ /** Overall confidence score for the detection (0.0 to 1.0) */
128
+ confidence: number;
129
+ /** Detection metadata */
130
+ metadata?: DetectionMetadata;
131
+ }
132
+ /**
133
+ * Metadata about the detection process
134
+ */
135
+ export interface DetectionMetadata {
136
+ /** Time taken for detection in milliseconds */
137
+ duration?: number;
138
+ /** Number of AST nodes analyzed */
139
+ nodesAnalyzed?: number;
140
+ /** Any warnings generated during detection */
141
+ warnings?: string[];
142
+ /** Additional detector-specific metadata */
143
+ custom?: Record<string, unknown>;
144
+ }
145
+ /**
146
+ * Abstract base class for all detectors
147
+ *
148
+ * All concrete detectors must extend this class and implement
149
+ * the required abstract methods and properties.
150
+ *
151
+ * @requirements 6.1 - THE Detector_System SHALL define a BaseDetector interface that all detectors implement
152
+ * @requirements 6.3 - THE Detector SHALL declare its category, supported languages, and detection method
153
+ *
154
+ * @example
155
+ * ```typescript
156
+ * class FileNamingDetector extends BaseDetector {
157
+ * readonly id = 'structural/file-naming';
158
+ * readonly category = 'structural';
159
+ * readonly subcategory = 'naming-conventions';
160
+ * readonly name = 'File Naming Convention Detector';
161
+ * readonly description = 'Detects file naming patterns';
162
+ * readonly supportedLanguages = ['typescript', 'javascript'];
163
+ * readonly detectionMethod = 'structural';
164
+ *
165
+ * async detect(context: DetectionContext): Promise<DetectionResult> {
166
+ * // Implementation
167
+ * }
168
+ *
169
+ * generateQuickFix(violation: Violation): QuickFix | null {
170
+ * // Implementation
171
+ * }
172
+ * }
173
+ * ```
174
+ */
175
+ export declare abstract class BaseDetector {
176
+ /**
177
+ * Unique identifier for this detector
178
+ *
179
+ * Should follow the format: category/detector-name
180
+ * Example: 'structural/file-naming', 'components/props-patterns'
181
+ *
182
+ * @requirements 6.1 - Detector identification
183
+ */
184
+ abstract readonly id: string;
185
+ /**
186
+ * Category of patterns this detector identifies
187
+ *
188
+ * Must be one of the valid PatternCategory values.
189
+ *
190
+ * @requirements 6.3 - Detector declares its category
191
+ */
192
+ abstract readonly category: PatternCategory;
193
+ /**
194
+ * Subcategory for more specific classification
195
+ *
196
+ * Example: 'naming-conventions', 'import-ordering'
197
+ *
198
+ * @requirements 6.3 - Detector declares its subcategory
199
+ */
200
+ abstract readonly subcategory: string;
201
+ /**
202
+ * Human-readable name for display
203
+ *
204
+ * Example: 'File Naming Convention Detector'
205
+ *
206
+ * @requirements 6.1 - Detector metadata
207
+ */
208
+ abstract readonly name: string;
209
+ /**
210
+ * Detailed description of what this detector does
211
+ *
212
+ * Should explain what patterns are detected and why they matter.
213
+ *
214
+ * @requirements 6.1 - Detector metadata
215
+ */
216
+ abstract readonly description: string;
217
+ /**
218
+ * Languages this detector supports
219
+ *
220
+ * The detector will only be invoked for files of these languages.
221
+ *
222
+ * @requirements 6.3 - Detector declares supported languages
223
+ */
224
+ abstract readonly supportedLanguages: Language[];
225
+ /**
226
+ * Detection method used by this detector
227
+ *
228
+ * - ast: Uses AST analysis
229
+ * - regex: Uses regular expression matching
230
+ * - semantic: Uses semantic analysis (type information)
231
+ * - structural: Uses file/directory structure analysis
232
+ * - custom: Uses custom detection logic
233
+ *
234
+ * @requirements 6.3 - Detector declares detection method
235
+ */
236
+ abstract readonly detectionMethod: DetectionMethod;
237
+ /**
238
+ * Detect patterns and violations in the given context
239
+ *
240
+ * This is the main detection method that analyzes a file and returns
241
+ * any patterns found and violations detected.
242
+ *
243
+ * @param context - Detection context containing file info, AST, imports, etc.
244
+ * @returns Promise resolving to detection results
245
+ *
246
+ * @requirements 6.1 - Detector implements detect method
247
+ * @requirements 6.6 - Detector is independently testable with mock AST inputs
248
+ */
249
+ abstract detect(context: DetectionContext): Promise<DetectionResult>;
250
+ /**
251
+ * Generate a quick fix for a violation
252
+ *
253
+ * Returns a QuickFix that can be applied to resolve the violation,
254
+ * or null if no automatic fix is available.
255
+ *
256
+ * @param violation - The violation to generate a fix for
257
+ * @returns QuickFix or null if no fix is available
258
+ *
259
+ * @requirements 6.1 - Detector implements generateQuickFix method
260
+ */
261
+ abstract generateQuickFix(violation: Violation): QuickFix | null;
262
+ /**
263
+ * Called when the detector is registered with the registry
264
+ *
265
+ * Override this method to perform initialization tasks when
266
+ * the detector is first registered.
267
+ */
268
+ onRegister?(): void;
269
+ /**
270
+ * Called when a file changes in the workspace
271
+ *
272
+ * Override this method to handle file change events,
273
+ * such as invalidating cached analysis results.
274
+ *
275
+ * @param file - Path to the changed file
276
+ */
277
+ onFileChange?(file: string): void;
278
+ /**
279
+ * Called when the detector is being unloaded
280
+ *
281
+ * Override this method to perform cleanup tasks.
282
+ */
283
+ onUnload?(): void;
284
+ /**
285
+ * Check if this detector supports a given language
286
+ *
287
+ * @param language - Language to check
288
+ * @returns true if the language is supported
289
+ */
290
+ supportsLanguage(language: Language): boolean;
291
+ /**
292
+ * Get detector info for registry
293
+ *
294
+ * Returns a DetectorInfo object containing all metadata
295
+ * about this detector.
296
+ *
297
+ * @returns DetectorInfo object
298
+ */
299
+ getInfo(): DetectorInfo;
300
+ /**
301
+ * Create an empty detection result
302
+ *
303
+ * Utility method for creating a result with no patterns or violations.
304
+ *
305
+ * @param confidence - Optional confidence score (defaults to 1.0)
306
+ * @returns Empty DetectionResult
307
+ */
308
+ protected createEmptyResult(confidence?: number): DetectionResult;
309
+ /**
310
+ * Create a detection result with patterns
311
+ *
312
+ * Utility method for creating a result with patterns.
313
+ *
314
+ * @param patterns - Patterns found
315
+ * @param confidence - Confidence score
316
+ * @returns DetectionResult with patterns
317
+ */
318
+ protected createPatternResult(patterns: PatternMatch[], confidence?: number): DetectionResult;
319
+ /**
320
+ * Create a detection result with violations
321
+ *
322
+ * Utility method for creating a result with violations.
323
+ *
324
+ * @param violations - Violations found
325
+ * @param confidence - Confidence score
326
+ * @returns DetectionResult with violations
327
+ */
328
+ protected createViolationResult(violations: Violation[], confidence?: number): DetectionResult;
329
+ /**
330
+ * Create a full detection result
331
+ *
332
+ * Utility method for creating a result with both patterns and violations.
333
+ *
334
+ * @param patterns - Patterns found
335
+ * @param violations - Violations found
336
+ * @param confidence - Confidence score
337
+ * @param metadata - Optional metadata
338
+ * @returns Complete DetectionResult
339
+ */
340
+ protected createResult(patterns: PatternMatch[], violations: Violation[], confidence?: number, metadata?: DetectionMetadata): DetectionResult;
341
+ }
342
+ /**
343
+ * Type guard to check if an object is a valid BaseDetector
344
+ *
345
+ * @param obj - Object to check
346
+ * @returns true if the object is a BaseDetector
347
+ */
348
+ export declare function isBaseDetector(obj: unknown): obj is BaseDetector;
349
+ /**
350
+ * Factory function type for creating detectors
351
+ *
352
+ * Used for lazy loading detectors.
353
+ */
354
+ export type DetectorFactory = () => BaseDetector | Promise<BaseDetector>;
355
+ /**
356
+ * Configuration options for detector instantiation
357
+ */
358
+ export interface DetectorOptions {
359
+ /** Whether to enable verbose logging */
360
+ verbose?: boolean;
361
+ /** Custom configuration for the detector */
362
+ config?: Record<string, unknown>;
363
+ /** Timeout for detection operations in milliseconds */
364
+ timeout?: number;
365
+ }
366
+ //# sourceMappingURL=base-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-detector.d.ts","sourceRoot":"","sources":["../../src/base/base-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Base Detector - Abstract detector class
3
+ *
4
+ * Defines the common interface for all detectors. All concrete detectors
5
+ * must extend this class and implement the required abstract methods.
6
+ *
7
+ * @requirements 6.1 - THE Detector_System SHALL define a BaseDetector interface that all detectors implement
8
+ * @requirements 6.3 - THE Detector SHALL declare its category, supported languages, and detection method
9
+ * @requirements 6.6 - THE Detector SHALL be independently testable with mock AST inputs
10
+ */
11
+ // ============================================================================
12
+ // Base Detector Abstract Class
13
+ // ============================================================================
14
+ /**
15
+ * Abstract base class for all detectors
16
+ *
17
+ * All concrete detectors must extend this class and implement
18
+ * the required abstract methods and properties.
19
+ *
20
+ * @requirements 6.1 - THE Detector_System SHALL define a BaseDetector interface that all detectors implement
21
+ * @requirements 6.3 - THE Detector SHALL declare its category, supported languages, and detection method
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * class FileNamingDetector extends BaseDetector {
26
+ * readonly id = 'structural/file-naming';
27
+ * readonly category = 'structural';
28
+ * readonly subcategory = 'naming-conventions';
29
+ * readonly name = 'File Naming Convention Detector';
30
+ * readonly description = 'Detects file naming patterns';
31
+ * readonly supportedLanguages = ['typescript', 'javascript'];
32
+ * readonly detectionMethod = 'structural';
33
+ *
34
+ * async detect(context: DetectionContext): Promise<DetectionResult> {
35
+ * // Implementation
36
+ * }
37
+ *
38
+ * generateQuickFix(violation: Violation): QuickFix | null {
39
+ * // Implementation
40
+ * }
41
+ * }
42
+ * ```
43
+ */
44
+ export class BaseDetector {
45
+ // ============================================================================
46
+ // Utility Methods
47
+ // ============================================================================
48
+ /**
49
+ * Check if this detector supports a given language
50
+ *
51
+ * @param language - Language to check
52
+ * @returns true if the language is supported
53
+ */
54
+ supportsLanguage(language) {
55
+ return this.supportedLanguages.includes(language);
56
+ }
57
+ /**
58
+ * Get detector info for registry
59
+ *
60
+ * Returns a DetectorInfo object containing all metadata
61
+ * about this detector.
62
+ *
63
+ * @returns DetectorInfo object
64
+ */
65
+ getInfo() {
66
+ return {
67
+ id: this.id,
68
+ category: this.category,
69
+ subcategory: this.subcategory,
70
+ name: this.name,
71
+ description: this.description,
72
+ supportedLanguages: this.supportedLanguages,
73
+ detectionMethod: this.detectionMethod,
74
+ };
75
+ }
76
+ /**
77
+ * Create an empty detection result
78
+ *
79
+ * Utility method for creating a result with no patterns or violations.
80
+ *
81
+ * @param confidence - Optional confidence score (defaults to 1.0)
82
+ * @returns Empty DetectionResult
83
+ */
84
+ createEmptyResult(confidence = 1.0) {
85
+ return {
86
+ patterns: [],
87
+ violations: [],
88
+ confidence,
89
+ };
90
+ }
91
+ /**
92
+ * Create a detection result with patterns
93
+ *
94
+ * Utility method for creating a result with patterns.
95
+ *
96
+ * @param patterns - Patterns found
97
+ * @param confidence - Confidence score
98
+ * @returns DetectionResult with patterns
99
+ */
100
+ createPatternResult(patterns, confidence = 1.0) {
101
+ return {
102
+ patterns,
103
+ violations: [],
104
+ confidence,
105
+ };
106
+ }
107
+ /**
108
+ * Create a detection result with violations
109
+ *
110
+ * Utility method for creating a result with violations.
111
+ *
112
+ * @param violations - Violations found
113
+ * @param confidence - Confidence score
114
+ * @returns DetectionResult with violations
115
+ */
116
+ createViolationResult(violations, confidence = 1.0) {
117
+ return {
118
+ patterns: [],
119
+ violations,
120
+ confidence,
121
+ };
122
+ }
123
+ /**
124
+ * Create a full detection result
125
+ *
126
+ * Utility method for creating a result with both patterns and violations.
127
+ *
128
+ * @param patterns - Patterns found
129
+ * @param violations - Violations found
130
+ * @param confidence - Confidence score
131
+ * @param metadata - Optional metadata
132
+ * @returns Complete DetectionResult
133
+ */
134
+ createResult(patterns, violations, confidence = 1.0, metadata) {
135
+ const result = {
136
+ patterns,
137
+ violations,
138
+ confidence,
139
+ };
140
+ if (metadata !== undefined) {
141
+ result.metadata = metadata;
142
+ }
143
+ return result;
144
+ }
145
+ }
146
+ // ============================================================================
147
+ // Type Guards
148
+ // ============================================================================
149
+ /**
150
+ * Type guard to check if an object is a valid BaseDetector
151
+ *
152
+ * @param obj - Object to check
153
+ * @returns true if the object is a BaseDetector
154
+ */
155
+ export function isBaseDetector(obj) {
156
+ if (typeof obj !== 'object' || obj === null) {
157
+ return false;
158
+ }
159
+ const detector = obj;
160
+ return (typeof detector.id === 'string' &&
161
+ typeof detector.category === 'string' &&
162
+ typeof detector.subcategory === 'string' &&
163
+ typeof detector.name === 'string' &&
164
+ typeof detector.description === 'string' &&
165
+ Array.isArray(detector.supportedLanguages) &&
166
+ typeof detector.detectionMethod === 'string' &&
167
+ typeof detector.detect === 'function' &&
168
+ typeof detector.generateQuickFix === 'function');
169
+ }
170
+ //# sourceMappingURL=base-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-detector.js","sourceRoot":"","sources":["../../src/base/base-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkMH,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAgB,YAAY;IAqIhC,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAE/E;;;;;OAKG;IACH,gBAAgB,CAAC,QAAkB;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACH,OAAO;QACL,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACO,iBAAiB,CAAC,aAAqB,GAAG;QAClD,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,UAAU;SACX,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACO,mBAAmB,CAC3B,QAAwB,EACxB,aAAqB,GAAG;QAExB,OAAO;YACL,QAAQ;YACR,UAAU,EAAE,EAAE;YACd,UAAU;SACX,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACO,qBAAqB,CAC7B,UAAuB,EACvB,aAAqB,GAAG;QAExB,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,UAAU;YACV,UAAU;SACX,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACO,YAAY,CACpB,QAAwB,EACxB,UAAuB,EACvB,aAAqB,GAAG,EACxB,QAA4B;QAE5B,MAAM,MAAM,GAAoB;YAC9B,QAAQ;YACR,UAAU;YACV,UAAU;SACX,CAAC;QAEF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,GAAmB,CAAC;IAErC,OAAO,CACL,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ;QAC/B,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ;QACrC,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ;QACxC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;QACjC,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ;QACxC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC1C,OAAO,QAAQ,CAAC,eAAe,KAAK,QAAQ;QAC5C,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU;QACrC,OAAO,QAAQ,CAAC,gBAAgB,KAAK,UAAU,CAChD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Base detector module exports
3
+ *
4
+ * @requirements 6.1 - THE Detector_System SHALL define a BaseDetector interface that all detectors implement
5
+ * @requirements 6.4 - THE Detector_System SHALL support detection methods: ast, regex, semantic, structural, and custom
6
+ */
7
+ export { BaseDetector, isBaseDetector, type DetectionContext, type DetectionResult, type DetectionMetadata, type ImportInfo, type ExportInfo, type ProjectContext, type DetectorFactory, type DetectorOptions, } from './base-detector.js';
8
+ export { ASTDetector, isASTDetector, type ASTPattern, type ASTMatchResult, type TraversalOptions, type ASTVisitor, } from './ast-detector.js';
9
+ export { RegexDetector, isRegexDetector, type RegexMatch, type LineMatch, type CaptureResult, type PatternLocation, type RegexMatchOptions, } from './regex-detector.js';
10
+ export { StructuralDetector, isStructuralDetector, type NamingConvention, type NamingConventionResult, type PathMatchResult, type PathInfo, type PathMatchOptions, } from './structural-detector.js';
11
+ export * from './types.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,YAAY,EACZ,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,WAAW,EACX,aAAa,EACb,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,UAAU,GAChB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,aAAa,EACb,eAAe,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC;AAGlC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Base detector module exports
3
+ *
4
+ * @requirements 6.1 - THE Detector_System SHALL define a BaseDetector interface that all detectors implement
5
+ * @requirements 6.4 - THE Detector_System SHALL support detection methods: ast, regex, semantic, structural, and custom
6
+ */
7
+ // Export base detector class and related types
8
+ export { BaseDetector, isBaseDetector, } from './base-detector.js';
9
+ // Export AST detector class and related types
10
+ export { ASTDetector, isASTDetector, } from './ast-detector.js';
11
+ // Export Regex detector class and related types
12
+ export { RegexDetector, isRegexDetector, } from './regex-detector.js';
13
+ // Export Structural detector class and related types
14
+ export { StructuralDetector, isStructuralDetector, } from './structural-detector.js';
15
+ // Export types from types.ts (for backward compatibility)
16
+ export * from './types.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+CAA+C;AAC/C,OAAO,EACL,YAAY,EACZ,cAAc,GASf,MAAM,oBAAoB,CAAC;AAE5B,8CAA8C;AAC9C,OAAO,EACL,WAAW,EACX,aAAa,GAKd,MAAM,mBAAmB,CAAC;AAE3B,gDAAgD;AAChD,OAAO,EACL,aAAa,EACb,eAAe,GAMhB,MAAM,qBAAqB,CAAC;AAE7B,qDAAqD;AACrD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GAMrB,MAAM,0BAA0B,CAAC;AAElC,0DAA0D;AAC1D,cAAc,YAAY,CAAC"}