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,424 @@
1
+ /**
2
+ * Structural Detector - File/directory structure detection base class
3
+ *
4
+ * Provides path pattern matching helpers and utilities for structural pattern detection.
5
+ * Extends BaseDetector with specialized methods for analyzing file and directory structures.
6
+ *
7
+ * @requirements 6.4 - THE Detector_System SHALL support detection methods: ast, regex, semantic, structural, and custom
8
+ */
9
+ import type { Location } from 'driftdetect-core';
10
+ import { BaseDetector } from './base-detector.js';
11
+ /**
12
+ * Supported naming conventions for file and identifier names
13
+ */
14
+ export type NamingConvention = 'PascalCase' | 'camelCase' | 'kebab-case' | 'snake_case' | 'SCREAMING_SNAKE_CASE' | 'flatcase';
15
+ /**
16
+ * Result of a naming convention check
17
+ */
18
+ export interface NamingConventionResult {
19
+ /** Whether the name matches the convention */
20
+ matches: boolean;
21
+ /** The detected convention (if any) */
22
+ detectedConvention: NamingConvention | null;
23
+ /** Suggested name in the expected convention */
24
+ suggestedName?: string;
25
+ }
26
+ /**
27
+ * Result of a path pattern match
28
+ */
29
+ export interface PathMatchResult {
30
+ /** Whether the path matches the pattern */
31
+ matches: boolean;
32
+ /** Captured groups from the pattern (if any) */
33
+ captures: Record<string, string>;
34
+ /** The matched portion of the path */
35
+ matchedPortion?: string;
36
+ }
37
+ /**
38
+ * Information about a file path
39
+ */
40
+ export interface PathInfo {
41
+ /** Full file path */
42
+ fullPath: string;
43
+ /** Directory path (without file name) */
44
+ directory: string;
45
+ /** File name with extension */
46
+ fileName: string;
47
+ /** File name without extension */
48
+ baseName: string;
49
+ /** File extension (including the dot) */
50
+ extension: string;
51
+ /** Path segments (directories and file) */
52
+ segments: string[];
53
+ /** Depth of the path (number of directory levels) */
54
+ depth: number;
55
+ }
56
+ /**
57
+ * Options for path matching operations
58
+ */
59
+ export interface PathMatchOptions {
60
+ /** Whether to match case-insensitively */
61
+ caseInsensitive?: boolean;
62
+ /** Whether to use extended glob patterns */
63
+ extendedGlob?: boolean;
64
+ /** Base path for relative matching */
65
+ basePath?: string;
66
+ }
67
+ /**
68
+ * Abstract base class for structural detectors
69
+ *
70
+ * Provides path pattern matching helpers and utilities for detection
71
+ * that operates on file and directory structures.
72
+ *
73
+ * @requirements 6.4 - THE Detector_System SHALL support detection methods: structural
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * class FileNamingDetector extends StructuralDetector {
78
+ * readonly id = 'structural/file-naming';
79
+ * readonly category = 'structural';
80
+ * readonly subcategory = 'naming-conventions';
81
+ * readonly name = 'File Naming Detector';
82
+ * readonly description = 'Detects file naming patterns';
83
+ * readonly supportedLanguages = ['typescript', 'javascript'];
84
+ *
85
+ * async detect(context: DetectionContext): Promise<DetectionResult> {
86
+ * const fileName = this.getFileName(context.file);
87
+ * const convention = this.matchNamingConvention(fileName, 'PascalCase');
88
+ * // Analyze file naming patterns...
89
+ * }
90
+ *
91
+ * generateQuickFix(violation: Violation): QuickFix | null {
92
+ * return null;
93
+ * }
94
+ * }
95
+ * ```
96
+ */
97
+ export declare abstract class StructuralDetector extends BaseDetector {
98
+ /**
99
+ * Detection method is always 'structural' for structural detectors
100
+ *
101
+ * @requirements 6.4 - Detector declares detection method as 'structural'
102
+ */
103
+ readonly detectionMethod: "structural";
104
+ /**
105
+ * Match a file path against a glob pattern
106
+ *
107
+ * Supports common glob patterns:
108
+ * - `*` matches any characters except path separators
109
+ * - `**` matches any characters including path separators
110
+ * - `?` matches a single character
111
+ * - `[abc]` matches any character in the brackets
112
+ * - `[!abc]` matches any character not in the brackets
113
+ * - `{a,b,c}` matches any of the alternatives
114
+ *
115
+ * @param path - The file path to match
116
+ * @param pattern - The glob pattern to match against
117
+ * @param options - Optional matching options
118
+ * @returns PathMatchResult with match status and captures
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * const result = this.matchPath('src/components/Button.tsx', 'src/components/*.tsx');
123
+ * // result.matches === true
124
+ *
125
+ * const result2 = this.matchPath('src/utils/helpers.ts', '**\/*.test.ts');
126
+ * // result2.matches === false
127
+ * ```
128
+ */
129
+ protected matchPath(path: string, pattern: string, options?: PathMatchOptions): PathMatchResult;
130
+ /**
131
+ * Match a file name against a pattern
132
+ *
133
+ * Matches only the file name portion (not the directory path).
134
+ *
135
+ * @param fileName - The file name to match (with or without extension)
136
+ * @param pattern - The pattern to match against (glob or regex string)
137
+ * @param options - Optional matching options
138
+ * @returns PathMatchResult with match status
139
+ *
140
+ * @example
141
+ * ```typescript
142
+ * const result = this.matchFileName('Button.tsx', '*.tsx');
143
+ * // result.matches === true
144
+ *
145
+ * const result2 = this.matchFileName('useAuth.ts', 'use*.ts');
146
+ * // result2.matches === true
147
+ * ```
148
+ */
149
+ protected matchFileName(fileName: string, pattern: string, options?: PathMatchOptions): PathMatchResult;
150
+ /**
151
+ * Get the file extension from a path
152
+ *
153
+ * Returns the extension including the leading dot.
154
+ * For files with multiple extensions (e.g., .test.ts), returns only the last extension.
155
+ *
156
+ * @param path - The file path
157
+ * @returns The file extension (e.g., '.ts', '.tsx') or empty string if none
158
+ *
159
+ * @example
160
+ * ```typescript
161
+ * this.getFileExtension('src/Button.tsx'); // '.tsx'
162
+ * this.getFileExtension('README'); // ''
163
+ * this.getFileExtension('file.test.ts'); // '.ts'
164
+ * ```
165
+ */
166
+ protected getFileExtension(path: string): string;
167
+ /**
168
+ * Get the file name without extension from a path
169
+ *
170
+ * @param path - The file path
171
+ * @returns The file name without extension
172
+ *
173
+ * @example
174
+ * ```typescript
175
+ * this.getFileName('src/components/Button.tsx'); // 'Button'
176
+ * this.getFileName('README.md'); // 'README'
177
+ * this.getFileName('file.test.ts'); // 'file.test'
178
+ * ```
179
+ */
180
+ protected getFileName(path: string): string;
181
+ /**
182
+ * Get the directory path from a file path
183
+ *
184
+ * Returns the path without the file name.
185
+ *
186
+ * @param path - The file path
187
+ * @returns The directory path (empty string if file is in root)
188
+ *
189
+ * @example
190
+ * ```typescript
191
+ * this.getDirectoryPath('src/components/Button.tsx'); // 'src/components'
192
+ * this.getDirectoryPath('index.ts'); // ''
193
+ * this.getDirectoryPath('src/utils/'); // 'src/utils'
194
+ * ```
195
+ */
196
+ protected getDirectoryPath(path: string): string;
197
+ /**
198
+ * Get detailed information about a file path
199
+ *
200
+ * @param path - The file path to analyze
201
+ * @returns PathInfo object with all path components
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * const info = this.getPathInfo('src/components/Button.tsx');
206
+ * // info.directory === 'src/components'
207
+ * // info.fileName === 'Button.tsx'
208
+ * // info.baseName === 'Button'
209
+ * // info.extension === '.tsx'
210
+ * // info.segments === ['src', 'components', 'Button.tsx']
211
+ * // info.depth === 2
212
+ * ```
213
+ */
214
+ protected getPathInfo(path: string): PathInfo;
215
+ /**
216
+ * Check if a file is in a specific directory (or its subdirectories)
217
+ *
218
+ * @param path - The file path to check
219
+ * @param directory - The directory to check against
220
+ * @param recursive - Whether to check subdirectories (default: true)
221
+ * @returns true if the file is in the directory
222
+ *
223
+ * @example
224
+ * ```typescript
225
+ * this.isInDirectory('src/components/Button.tsx', 'src/components'); // true
226
+ * this.isInDirectory('src/components/ui/Button.tsx', 'src/components'); // true (recursive)
227
+ * this.isInDirectory('src/components/ui/Button.tsx', 'src/components', false); // false
228
+ * this.isInDirectory('src/utils/helpers.ts', 'src/components'); // false
229
+ * ```
230
+ */
231
+ protected isInDirectory(path: string, directory: string, recursive?: boolean): boolean;
232
+ /**
233
+ * Get the relative path from a base path
234
+ *
235
+ * @param path - The full file path
236
+ * @param basePath - The base path to make relative to
237
+ * @returns The relative path, or the original path if not under basePath
238
+ *
239
+ * @example
240
+ * ```typescript
241
+ * this.getRelativePath('src/components/Button.tsx', 'src'); // 'components/Button.tsx'
242
+ * this.getRelativePath('src/components/Button.tsx', 'src/components'); // 'Button.tsx'
243
+ * this.getRelativePath('other/file.ts', 'src'); // 'other/file.ts' (not under base)
244
+ * ```
245
+ */
246
+ protected getRelativePath(path: string, basePath: string): string;
247
+ /**
248
+ * Get the common base path of multiple paths
249
+ *
250
+ * @param paths - Array of file paths
251
+ * @returns The common base path, or empty string if none
252
+ *
253
+ * @example
254
+ * ```typescript
255
+ * this.getCommonBasePath(['src/a/file.ts', 'src/b/file.ts']); // 'src'
256
+ * this.getCommonBasePath(['src/components/Button.tsx', 'src/components/Input.tsx']); // 'src/components'
257
+ * this.getCommonBasePath(['a/file.ts', 'b/file.ts']); // ''
258
+ * ```
259
+ */
260
+ protected getCommonBasePath(paths: string[]): string;
261
+ /**
262
+ * Get sibling files (files in the same directory)
263
+ *
264
+ * @param path - The file path
265
+ * @param allFiles - Array of all file paths in the project
266
+ * @returns Array of sibling file paths (excluding the input file)
267
+ *
268
+ * @example
269
+ * ```typescript
270
+ * const siblings = this.getSiblingFiles('src/Button.tsx', projectFiles);
271
+ * // Returns other files in 'src/' directory
272
+ * ```
273
+ */
274
+ protected getSiblingFiles(path: string, allFiles: string[]): string[];
275
+ /**
276
+ * Check if a name matches a specific naming convention
277
+ *
278
+ * @param name - The name to check (file name, identifier, etc.)
279
+ * @param convention - The naming convention to check against
280
+ * @returns NamingConventionResult with match status and suggestions
281
+ *
282
+ * @example
283
+ * ```typescript
284
+ * this.matchNamingConvention('MyComponent', 'PascalCase'); // { matches: true, ... }
285
+ * this.matchNamingConvention('myFunction', 'camelCase'); // { matches: true, ... }
286
+ * this.matchNamingConvention('my-component', 'kebab-case'); // { matches: true, ... }
287
+ * this.matchNamingConvention('my_variable', 'snake_case'); // { matches: true, ... }
288
+ * this.matchNamingConvention('MAX_VALUE', 'SCREAMING_SNAKE_CASE'); // { matches: true, ... }
289
+ * ```
290
+ */
291
+ protected matchNamingConvention(name: string, convention: NamingConvention): NamingConventionResult;
292
+ /**
293
+ * Detect the naming convention of a name
294
+ *
295
+ * @param name - The name to analyze
296
+ * @returns The detected naming convention, or null if unknown
297
+ *
298
+ * @example
299
+ * ```typescript
300
+ * this.detectNamingConvention('MyComponent'); // 'PascalCase'
301
+ * this.detectNamingConvention('myFunction'); // 'camelCase'
302
+ * this.detectNamingConvention('my-component'); // 'kebab-case'
303
+ * this.detectNamingConvention('my_variable'); // 'snake_case'
304
+ * this.detectNamingConvention('MAX_VALUE'); // 'SCREAMING_SNAKE_CASE'
305
+ * this.detectNamingConvention('mycomponent'); // 'flatcase'
306
+ * ```
307
+ */
308
+ protected detectNamingConvention(name: string): NamingConvention | null;
309
+ /**
310
+ * Convert a name to a specific naming convention
311
+ *
312
+ * @param name - The name to convert
313
+ * @param convention - The target naming convention
314
+ * @returns The converted name
315
+ *
316
+ * @example
317
+ * ```typescript
318
+ * this.convertToConvention('myComponent', 'PascalCase'); // 'MyComponent'
319
+ * this.convertToConvention('MyComponent', 'camelCase'); // 'myComponent'
320
+ * this.convertToConvention('MyComponent', 'kebab-case'); // 'my-component'
321
+ * this.convertToConvention('myComponent', 'snake_case'); // 'my_component'
322
+ * this.convertToConvention('myComponent', 'SCREAMING_SNAKE_CASE'); // 'MY_COMPONENT'
323
+ * ```
324
+ */
325
+ protected convertToConvention(name: string, convention: NamingConvention): string;
326
+ /**
327
+ * Split a name into words based on common conventions
328
+ *
329
+ * @param name - The name to split
330
+ * @returns Array of words
331
+ */
332
+ private splitIntoWords;
333
+ /**
334
+ * Capitalize the first letter of a word
335
+ */
336
+ private capitalize;
337
+ /**
338
+ * Check if a file is a test file based on common patterns
339
+ *
340
+ * @param path - The file path to check
341
+ * @returns true if the file appears to be a test file
342
+ *
343
+ * @example
344
+ * ```typescript
345
+ * this.isTestFile('Button.test.ts'); // true
346
+ * this.isTestFile('Button.spec.tsx'); // true
347
+ * this.isTestFile('__tests__/Button.ts'); // true
348
+ * this.isTestFile('Button.tsx'); // false
349
+ * ```
350
+ */
351
+ protected isTestFile(path: string): boolean;
352
+ /**
353
+ * Check if a file is a type definition file
354
+ *
355
+ * @param path - The file path to check
356
+ * @returns true if the file is a type definition
357
+ *
358
+ * @example
359
+ * ```typescript
360
+ * this.isTypeDefinitionFile('types.d.ts'); // true
361
+ * this.isTypeDefinitionFile('index.d.ts'); // true
362
+ * this.isTypeDefinitionFile('Button.tsx'); // false
363
+ * ```
364
+ */
365
+ protected isTypeDefinitionFile(path: string): boolean;
366
+ /**
367
+ * Check if a file is an index/barrel file
368
+ *
369
+ * @param path - The file path to check
370
+ * @returns true if the file is an index file
371
+ *
372
+ * @example
373
+ * ```typescript
374
+ * this.isIndexFile('index.ts'); // true
375
+ * this.isIndexFile('src/index.tsx'); // true
376
+ * this.isIndexFile('Button.tsx'); // false
377
+ * ```
378
+ */
379
+ protected isIndexFile(path: string): boolean;
380
+ /**
381
+ * Check if a file is a configuration file
382
+ *
383
+ * @param path - The file path to check
384
+ * @returns true if the file appears to be a config file
385
+ *
386
+ * @example
387
+ * ```typescript
388
+ * this.isConfigFile('tsconfig.json'); // true
389
+ * this.isConfigFile('.eslintrc.js'); // true
390
+ * this.isConfigFile('vite.config.ts'); // true
391
+ * this.isConfigFile('Button.tsx'); // false
392
+ * ```
393
+ */
394
+ protected isConfigFile(path: string): boolean;
395
+ /**
396
+ * Create a Location object for a file
397
+ *
398
+ * @param file - The file path
399
+ * @param line - Line number (1-indexed, default: 1)
400
+ * @param column - Column number (1-indexed, default: 1)
401
+ * @returns A Location object
402
+ */
403
+ protected createFileLocation(file: string, line?: number, column?: number): Location;
404
+ /**
405
+ * Normalize a file path to use forward slashes
406
+ */
407
+ private normalizePath;
408
+ /**
409
+ * Convert a glob pattern to a regular expression
410
+ */
411
+ private globToRegex;
412
+ /**
413
+ * Escape special regex characters in a string
414
+ */
415
+ private escapeRegex;
416
+ }
417
+ /**
418
+ * Type guard to check if a detector is a structural detector
419
+ *
420
+ * @param detector - The detector to check
421
+ * @returns true if the detector is a StructuralDetector
422
+ */
423
+ export declare function isStructuralDetector(detector: BaseDetector): detector is StructuralDetector;
424
+ //# sourceMappingURL=structural-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structural-detector.d.ts","sourceRoot":"","sources":["../../src/base/structural-detector.ts"],"names":[],"mappings":"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"}