driftdetect 0.9.32 → 0.9.34

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 (279) hide show
  1. package/dist/bin/drift.js +1 -1
  2. package/dist/bin/drift.js.map +1 -1
  3. package/dist/commands/approve.d.ts.map +1 -1
  4. package/dist/commands/approve.js +5 -4
  5. package/dist/commands/approve.js.map +1 -1
  6. package/dist/commands/audit.d.ts.map +1 -1
  7. package/dist/commands/audit.js +5 -3
  8. package/dist/commands/audit.js.map +1 -1
  9. package/dist/commands/boundaries.d.ts.map +1 -1
  10. package/dist/commands/boundaries.js +1 -1
  11. package/dist/commands/boundaries.js.map +1 -1
  12. package/dist/commands/callgraph.d.ts.map +1 -1
  13. package/dist/commands/callgraph.js +7 -4
  14. package/dist/commands/callgraph.js.map +1 -1
  15. package/dist/commands/check.d.ts.map +1 -1
  16. package/dist/commands/check.js +11 -7
  17. package/dist/commands/check.js.map +1 -1
  18. package/dist/commands/constants.d.ts.map +1 -1
  19. package/dist/commands/constants.js +1 -1
  20. package/dist/commands/constants.js.map +1 -1
  21. package/dist/commands/constraints.d.ts.map +1 -1
  22. package/dist/commands/constraints.js +7 -4
  23. package/dist/commands/constraints.js.map +1 -1
  24. package/dist/commands/context.d.ts.map +1 -1
  25. package/dist/commands/context.js +1 -1
  26. package/dist/commands/context.js.map +1 -1
  27. package/dist/commands/coupling.d.ts.map +1 -1
  28. package/dist/commands/coupling.js +25 -14
  29. package/dist/commands/coupling.js.map +1 -1
  30. package/dist/commands/cpp.d.ts.map +1 -1
  31. package/dist/commands/cpp.js +3 -3
  32. package/dist/commands/cpp.js.map +1 -1
  33. package/dist/commands/dashboard.d.ts.map +1 -1
  34. package/dist/commands/dashboard.js +1 -1
  35. package/dist/commands/dashboard.js.map +1 -1
  36. package/dist/commands/decisions.d.ts.map +1 -1
  37. package/dist/commands/decisions.js +7 -4
  38. package/dist/commands/decisions.js.map +1 -1
  39. package/dist/commands/dna/export.d.ts.map +1 -1
  40. package/dist/commands/dna/export.js +1 -1
  41. package/dist/commands/dna/export.js.map +1 -1
  42. package/dist/commands/dna/gene.d.ts.map +1 -1
  43. package/dist/commands/dna/gene.js +1 -1
  44. package/dist/commands/dna/gene.js.map +1 -1
  45. package/dist/commands/dna/index.d.ts.map +1 -1
  46. package/dist/commands/dna/index.js +3 -3
  47. package/dist/commands/dna/index.js.map +1 -1
  48. package/dist/commands/dna/mutations.d.ts.map +1 -1
  49. package/dist/commands/dna/mutations.js +17 -9
  50. package/dist/commands/dna/mutations.js.map +1 -1
  51. package/dist/commands/dna/playbook.d.ts.map +1 -1
  52. package/dist/commands/dna/playbook.js +1 -1
  53. package/dist/commands/dna/playbook.js.map +1 -1
  54. package/dist/commands/dna/scan.d.ts.map +1 -1
  55. package/dist/commands/dna/scan.js +7 -4
  56. package/dist/commands/dna/scan.js.map +1 -1
  57. package/dist/commands/dna/status.d.ts.map +1 -1
  58. package/dist/commands/dna/status.js +9 -5
  59. package/dist/commands/dna/status.js.map +1 -1
  60. package/dist/commands/env.d.ts.map +1 -1
  61. package/dist/commands/env.js +1 -1
  62. package/dist/commands/env.js.map +1 -1
  63. package/dist/commands/error-handling.d.ts.map +1 -1
  64. package/dist/commands/error-handling.js +13 -7
  65. package/dist/commands/error-handling.js.map +1 -1
  66. package/dist/commands/export.d.ts.map +1 -1
  67. package/dist/commands/export.js +1 -1
  68. package/dist/commands/export.js.map +1 -1
  69. package/dist/commands/files.d.ts.map +1 -1
  70. package/dist/commands/files.js +1 -1
  71. package/dist/commands/files.js.map +1 -1
  72. package/dist/commands/gate.d.ts.map +1 -1
  73. package/dist/commands/gate.js +4 -3
  74. package/dist/commands/gate.js.map +1 -1
  75. package/dist/commands/go.d.ts.map +1 -1
  76. package/dist/commands/go.js +1 -1
  77. package/dist/commands/go.js.map +1 -1
  78. package/dist/commands/ignore.d.ts.map +1 -1
  79. package/dist/commands/ignore.js +4 -3
  80. package/dist/commands/ignore.js.map +1 -1
  81. package/dist/commands/init.d.ts.map +1 -1
  82. package/dist/commands/init.js +3 -3
  83. package/dist/commands/init.js.map +1 -1
  84. package/dist/commands/java.d.ts.map +1 -1
  85. package/dist/commands/java.js +1 -1
  86. package/dist/commands/java.js.map +1 -1
  87. package/dist/commands/license.d.ts.map +1 -1
  88. package/dist/commands/license.js +3 -2
  89. package/dist/commands/license.js.map +1 -1
  90. package/dist/commands/migrate-storage.d.ts.map +1 -1
  91. package/dist/commands/migrate-storage.js +8 -6
  92. package/dist/commands/migrate-storage.js.map +1 -1
  93. package/dist/commands/next-steps.d.ts.map +1 -1
  94. package/dist/commands/next-steps.js +15 -9
  95. package/dist/commands/next-steps.js.map +1 -1
  96. package/dist/commands/parser.d.ts.map +1 -1
  97. package/dist/commands/parser.js +9 -5
  98. package/dist/commands/parser.js.map +1 -1
  99. package/dist/commands/php.d.ts.map +1 -1
  100. package/dist/commands/php.js +1 -1
  101. package/dist/commands/php.js.map +1 -1
  102. package/dist/commands/projects.d.ts.map +1 -1
  103. package/dist/commands/projects.js +16 -9
  104. package/dist/commands/projects.js.map +1 -1
  105. package/dist/commands/py.d.ts.map +1 -1
  106. package/dist/commands/py.js +1 -1
  107. package/dist/commands/py.js.map +1 -1
  108. package/dist/commands/report.d.ts.map +1 -1
  109. package/dist/commands/report.js +3 -3
  110. package/dist/commands/report.js.map +1 -1
  111. package/dist/commands/rust.d.ts.map +1 -1
  112. package/dist/commands/rust.js +1 -1
  113. package/dist/commands/rust.js.map +1 -1
  114. package/dist/commands/scan.d.ts.map +1 -1
  115. package/dist/commands/scan.js +39 -22
  116. package/dist/commands/scan.js.map +1 -1
  117. package/dist/commands/simulate.d.ts.map +1 -1
  118. package/dist/commands/simulate.js +1 -1
  119. package/dist/commands/simulate.js.map +1 -1
  120. package/dist/commands/skills.d.ts.map +1 -1
  121. package/dist/commands/skills.js +22 -14
  122. package/dist/commands/skills.js.map +1 -1
  123. package/dist/commands/status.d.ts.map +1 -1
  124. package/dist/commands/status.js +1 -1
  125. package/dist/commands/status.js.map +1 -1
  126. package/dist/commands/telemetry.d.ts.map +1 -1
  127. package/dist/commands/telemetry.js +3 -3
  128. package/dist/commands/telemetry.js.map +1 -1
  129. package/dist/commands/test-topology.d.ts.map +1 -1
  130. package/dist/commands/test-topology.js +19 -10
  131. package/dist/commands/test-topology.js.map +1 -1
  132. package/dist/commands/trends.d.ts.map +1 -1
  133. package/dist/commands/trends.js +1 -1
  134. package/dist/commands/trends.js.map +1 -1
  135. package/dist/commands/troubleshoot.d.ts.map +1 -1
  136. package/dist/commands/troubleshoot.js +9 -5
  137. package/dist/commands/troubleshoot.js.map +1 -1
  138. package/dist/commands/ts.d.ts.map +1 -1
  139. package/dist/commands/ts.js +1 -1
  140. package/dist/commands/ts.js.map +1 -1
  141. package/dist/commands/watch.d.ts.map +1 -1
  142. package/dist/commands/watch.js +23 -13
  143. package/dist/commands/watch.js.map +1 -1
  144. package/dist/commands/where.d.ts.map +1 -1
  145. package/dist/commands/where.js +3 -2
  146. package/dist/commands/where.js.map +1 -1
  147. package/dist/commands/wpf.d.ts.map +1 -1
  148. package/dist/commands/wpf.js +1 -1
  149. package/dist/commands/wpf.js.map +1 -1
  150. package/dist/commands/wrappers.d.ts.map +1 -1
  151. package/dist/commands/wrappers.js +4 -4
  152. package/dist/commands/wrappers.js.map +1 -1
  153. package/dist/git/hooks.js +1 -1
  154. package/dist/git/hooks.js.map +1 -1
  155. package/dist/reporters/github-reporter.js +8 -4
  156. package/dist/reporters/github-reporter.js.map +1 -1
  157. package/dist/reporters/gitlab-reporter.d.ts.map +1 -1
  158. package/dist/reporters/gitlab-reporter.js.map +1 -1
  159. package/dist/reporters/text-reporter.d.ts.map +1 -1
  160. package/dist/reporters/text-reporter.js.map +1 -1
  161. package/dist/services/boundary-scanner.d.ts.map +1 -1
  162. package/dist/services/boundary-scanner.js +24 -12
  163. package/dist/services/boundary-scanner.js.map +1 -1
  164. package/dist/services/contract-scanner.d.ts +1 -1
  165. package/dist/services/contract-scanner.d.ts.map +1 -1
  166. package/dist/services/contract-scanner.js +3 -2
  167. package/dist/services/contract-scanner.js.map +1 -1
  168. package/dist/services/scanner-service.d.ts.map +1 -1
  169. package/dist/services/scanner-service.js +90 -53
  170. package/dist/services/scanner-service.js.map +1 -1
  171. package/dist/ui/progress.d.ts.map +1 -1
  172. package/dist/ui/progress.js +1 -1
  173. package/dist/ui/progress.js.map +1 -1
  174. package/dist/ui/prompts.d.ts.map +1 -1
  175. package/dist/ui/prompts.js.map +1 -1
  176. package/dist/ui/spinner.js +1 -1
  177. package/dist/ui/spinner.js.map +1 -1
  178. package/dist/ui/table.d.ts.map +1 -1
  179. package/dist/ui/table.js +1 -1
  180. package/dist/ui/table.js.map +1 -1
  181. package/dist/workers/detector-worker.d.ts.map +1 -1
  182. package/dist/workers/detector-worker.js +12 -6
  183. package/dist/workers/detector-worker.js.map +1 -1
  184. package/package.json +13 -13
  185. package/dist/bin/drift.d.ts +0 -11
  186. package/dist/commands/approve.d.ts +0 -28
  187. package/dist/commands/audit.d.ts +0 -29
  188. package/dist/commands/boundaries.d.ts +0 -20
  189. package/dist/commands/callgraph.d.ts +0 -24
  190. package/dist/commands/check.d.ts +0 -41
  191. package/dist/commands/constants.d.ts +0 -35
  192. package/dist/commands/constraints.d.ts +0 -17
  193. package/dist/commands/context.d.ts +0 -19
  194. package/dist/commands/coupling.d.ts +0 -17
  195. package/dist/commands/cpp.d.ts +0 -22
  196. package/dist/commands/dashboard.d.ts +0 -16
  197. package/dist/commands/decisions.d.ts +0 -19
  198. package/dist/commands/dna/export.d.ts +0 -6
  199. package/dist/commands/dna/gene.d.ts +0 -6
  200. package/dist/commands/dna/index.d.ts +0 -8
  201. package/dist/commands/dna/mutations.d.ts +0 -6
  202. package/dist/commands/dna/playbook.d.ts +0 -6
  203. package/dist/commands/dna/scan.d.ts +0 -6
  204. package/dist/commands/dna/status.d.ts +0 -6
  205. package/dist/commands/env.d.ts +0 -23
  206. package/dist/commands/error-handling.d.ts +0 -15
  207. package/dist/commands/export.d.ts +0 -16
  208. package/dist/commands/files.d.ts +0 -15
  209. package/dist/commands/gate.d.ts +0 -33
  210. package/dist/commands/go.d.ts +0 -21
  211. package/dist/commands/ignore.d.ts +0 -20
  212. package/dist/commands/index.d.ts +0 -50
  213. package/dist/commands/index.js +0 -68
  214. package/dist/commands/index.js.map +0 -1
  215. package/dist/commands/init.d.ts +0 -19
  216. package/dist/commands/java.d.ts +0 -15
  217. package/dist/commands/license.d.ts +0 -12
  218. package/dist/commands/migrate-storage.d.ts +0 -23
  219. package/dist/commands/next-steps.d.ts +0 -15
  220. package/dist/commands/parser.d.ts +0 -20
  221. package/dist/commands/php.d.ts +0 -15
  222. package/dist/commands/projects.d.ts +0 -17
  223. package/dist/commands/py.d.ts +0 -15
  224. package/dist/commands/report.d.ts +0 -22
  225. package/dist/commands/rust.d.ts +0 -21
  226. package/dist/commands/scan.d.ts +0 -45
  227. package/dist/commands/simulate.d.ts +0 -17
  228. package/dist/commands/skills.d.ts +0 -16
  229. package/dist/commands/status.d.ts +0 -20
  230. package/dist/commands/telemetry.d.ts +0 -9
  231. package/dist/commands/test-topology.d.ts +0 -15
  232. package/dist/commands/trends.d.ts +0 -12
  233. package/dist/commands/troubleshoot.d.ts +0 -14
  234. package/dist/commands/ts.d.ts +0 -21
  235. package/dist/commands/watch.d.ts +0 -13
  236. package/dist/commands/where.d.ts +0 -15
  237. package/dist/commands/wpf.d.ts +0 -21
  238. package/dist/commands/wrappers.d.ts +0 -16
  239. package/dist/git/hooks.d.ts +0 -108
  240. package/dist/git/index.d.ts +0 -6
  241. package/dist/git/index.d.ts.map +0 -1
  242. package/dist/git/index.js +0 -6
  243. package/dist/git/index.js.map +0 -1
  244. package/dist/git/staged-files.d.ts +0 -41
  245. package/dist/git/staged-files.d.ts.map +0 -1
  246. package/dist/git/staged-files.js +0 -118
  247. package/dist/git/staged-files.js.map +0 -1
  248. package/dist/index.d.ts +0 -17
  249. package/dist/index.js +0 -24
  250. package/dist/index.js.map +0 -1
  251. package/dist/reporters/github-reporter.d.ts +0 -13
  252. package/dist/reporters/gitlab-reporter.d.ts +0 -16
  253. package/dist/reporters/index.d.ts +0 -9
  254. package/dist/reporters/index.js +0 -9
  255. package/dist/reporters/index.js.map +0 -1
  256. package/dist/reporters/json-reporter.d.ts +0 -13
  257. package/dist/reporters/json-reporter.js +0 -44
  258. package/dist/reporters/json-reporter.js.map +0 -1
  259. package/dist/reporters/text-reporter.d.ts +0 -13
  260. package/dist/reporters/types.d.ts +0 -42
  261. package/dist/reporters/types.js +0 -5
  262. package/dist/reporters/types.js.map +0 -1
  263. package/dist/services/boundary-scanner.d.ts +0 -22
  264. package/dist/services/pattern-service-factory.d.ts +0 -37
  265. package/dist/services/pattern-service-factory.js +0 -41
  266. package/dist/services/pattern-service-factory.js.map +0 -1
  267. package/dist/services/scanner-service.d.ts +0 -237
  268. package/dist/types/index.d.ts +0 -24
  269. package/dist/types/index.d.ts.map +0 -1
  270. package/dist/types/index.js +0 -5
  271. package/dist/types/index.js.map +0 -1
  272. package/dist/ui/index.d.ts +0 -11
  273. package/dist/ui/index.js +0 -15
  274. package/dist/ui/index.js.map +0 -1
  275. package/dist/ui/progress.d.ts +0 -115
  276. package/dist/ui/prompts.d.ts +0 -91
  277. package/dist/ui/spinner.d.ts +0 -109
  278. package/dist/ui/table.d.ts +0 -118
  279. package/dist/workers/detector-worker.d.ts +0 -125
package/dist/index.d.ts DELETED
@@ -1,17 +0,0 @@
1
- /**
2
- * @drift/cli - Command-line interface for Drift
3
- *
4
- * This package provides CLI commands:
5
- * - drift init: Initialize Drift in a project
6
- * - drift scan: Scan codebase for patterns
7
- * - drift check: Check for violations
8
- * - drift status: Show current drift status
9
- * - drift approve: Approve a pattern
10
- * - drift ignore: Ignore a pattern
11
- * - drift report: Generate reports
12
- */
13
- export declare const VERSION: string;
14
- export * from './types/index.js';
15
- export * from './ui/index.js';
16
- export { initCommand, scanCommand, checkCommand, statusCommand, approveCommand, ignoreCommand, reportCommand, } from './commands/index.js';
17
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js DELETED
@@ -1,24 +0,0 @@
1
- /**
2
- * @drift/cli - Command-line interface for Drift
3
- *
4
- * This package provides CLI commands:
5
- * - drift init: Initialize Drift in a project
6
- * - drift scan: Scan codebase for patterns
7
- * - drift check: Check for violations
8
- * - drift status: Show current drift status
9
- * - drift approve: Approve a pattern
10
- * - drift ignore: Ignore a pattern
11
- * - drift report: Generate reports
12
- */
13
- import { createRequire } from 'node:module';
14
- // Read version from package.json to avoid hardcoding
15
- const require = createRequire(import.meta.url);
16
- const pkg = require('../package.json');
17
- export const VERSION = pkg.version;
18
- // Type exports
19
- export * from './types/index.js';
20
- // UI exports
21
- export * from './ui/index.js';
22
- // Command exports (for programmatic use)
23
- export { initCommand, scanCommand, checkCommand, statusCommand, approveCommand, ignoreCommand, reportCommand, } from './commands/index.js';
24
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,qDAAqD;AACrD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAC9D,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AAEnC,eAAe;AACf,cAAc,kBAAkB,CAAC;AAEjC,aAAa;AACb,cAAc,eAAe,CAAC;AAE9B,yCAAyC;AACzC,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,qBAAqB,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * GitHub Reporter - GitHub Actions annotations
3
- *
4
- * @requirements 30.2
5
- */
6
- import type { Reporter, ReportData } from './types.js';
7
- /**
8
- * GitHub Actions reporter for CI annotations
9
- */
10
- export declare class GitHubReporter implements Reporter {
11
- generate(data: ReportData): string;
12
- }
13
- //# sourceMappingURL=github-reporter.d.ts.map
@@ -1,16 +0,0 @@
1
- /**
2
- * GitLab Reporter - GitLab CI code quality format
3
- *
4
- * @requirements 30.3
5
- */
6
- import type { Reporter, ReportData } from './types.js';
7
- /**
8
- * GitLab CI reporter for code quality reports
9
- *
10
- * Generates reports in GitLab Code Quality format:
11
- * https://docs.gitlab.com/ee/ci/testing/code_quality.html
12
- */
13
- export declare class GitLabReporter implements Reporter {
14
- generate(data: ReportData): string;
15
- }
16
- //# sourceMappingURL=gitlab-reporter.d.ts.map
@@ -1,9 +0,0 @@
1
- /**
2
- * Reporters module exports
3
- */
4
- export * from './types.js';
5
- export { TextReporter } from './text-reporter.js';
6
- export { JsonReporter } from './json-reporter.js';
7
- export { GitHubReporter } from './github-reporter.js';
8
- export { GitLabReporter } from './gitlab-reporter.js';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1,9 +0,0 @@
1
- /**
2
- * Reporters module exports
3
- */
4
- export * from './types.js';
5
- export { TextReporter } from './text-reporter.js';
6
- export { JsonReporter } from './json-reporter.js';
7
- export { GitHubReporter } from './github-reporter.js';
8
- export { GitLabReporter } from './gitlab-reporter.js';
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * JSON Reporter - Machine-readable JSON output
3
- *
4
- * @requirements 30.1
5
- */
6
- import type { Reporter, ReportData } from './types.js';
7
- /**
8
- * JSON reporter for machine-readable output
9
- */
10
- export declare class JsonReporter implements Reporter {
11
- generate(data: ReportData): string;
12
- }
13
- //# sourceMappingURL=json-reporter.d.ts.map
@@ -1,44 +0,0 @@
1
- /**
2
- * JSON Reporter - Machine-readable JSON output
3
- *
4
- * @requirements 30.1
5
- */
6
- /**
7
- * JSON reporter for machine-readable output
8
- */
9
- export class JsonReporter {
10
- generate(data) {
11
- const output = {
12
- violations: data.violations.map((v) => ({
13
- id: v.id,
14
- patternId: v.patternId,
15
- severity: v.severity,
16
- file: v.file,
17
- line: v.range.start.line,
18
- column: v.range.start.character,
19
- endLine: v.range.end.line,
20
- endColumn: v.range.end.character,
21
- message: v.message,
22
- explanation: v.explanation,
23
- expected: v.expected,
24
- actual: v.actual,
25
- })),
26
- summary: {
27
- total: data.summary.total,
28
- errors: data.summary.errors,
29
- warnings: data.summary.warnings,
30
- infos: data.summary.infos,
31
- hints: data.summary.hints,
32
- },
33
- patterns: data.patterns.map((p) => ({
34
- id: p.id,
35
- name: p.name,
36
- category: p.category,
37
- severity: p.severity,
38
- })),
39
- timestamp: data.timestamp,
40
- };
41
- return JSON.stringify(output, null, 2);
42
- }
43
- }
44
- //# sourceMappingURL=json-reporter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json-reporter.js","sourceRoot":"","sources":["../../src/reporters/json-reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,OAAO,YAAY;IACvB,QAAQ,CAAC,IAAgB;QACvB,MAAM,MAAM,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;gBACxB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS;gBAC/B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI;gBACzB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS;gBAChC,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC;YACH,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC3B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAC/B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;aAC1B;YACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC,CAAC;YACH,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;CACF"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Text Reporter - Human-readable text output
3
- *
4
- * @requirements 29.7
5
- */
6
- import type { Reporter, ReportData } from './types.js';
7
- /**
8
- * Text reporter for human-readable output
9
- */
10
- export declare class TextReporter implements Reporter {
11
- generate(data: ReportData): string;
12
- }
13
- //# sourceMappingURL=text-reporter.d.ts.map
@@ -1,42 +0,0 @@
1
- /**
2
- * Reporter type definitions
3
- */
4
- import type { Violation, Pattern } from 'driftdetect-core';
5
- /**
6
- * Summary of violations
7
- */
8
- export interface ViolationSummary {
9
- /** Total number of violations */
10
- total: number;
11
- /** Number of errors */
12
- errors: number;
13
- /** Number of warnings */
14
- warnings: number;
15
- /** Number of info violations */
16
- infos: number;
17
- /** Number of hints */
18
- hints: number;
19
- }
20
- /**
21
- * Data passed to reporters
22
- */
23
- export interface ReportData {
24
- /** Violations found */
25
- violations: Violation[];
26
- /** Summary statistics */
27
- summary: ViolationSummary;
28
- /** Patterns checked */
29
- patterns: Pattern[];
30
- /** Timestamp of the report */
31
- timestamp: string;
32
- /** Root directory */
33
- rootDir: string;
34
- }
35
- /**
36
- * Reporter interface
37
- */
38
- export interface Reporter {
39
- /** Generate a report from the data */
40
- generate(data: ReportData): string;
41
- }
42
- //# sourceMappingURL=types.d.ts.map
@@ -1,5 +0,0 @@
1
- /**
2
- * Reporter type definitions
3
- */
4
- export {};
5
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/reporters/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Boundary Scanner Service
3
- *
4
- * Scans files to detect data access patterns and boundaries.
5
- * Tracks which code accesses which database tables/fields.
6
- */
7
- import { type BoundaryStore, type BoundaryScanResult } from 'driftdetect-core';
8
- export type { BoundaryScanResult } from 'driftdetect-core';
9
- export interface BoundaryScannerConfig {
10
- rootDir: string;
11
- verbose?: boolean;
12
- }
13
- export declare class BoundaryScanner {
14
- private config;
15
- private store;
16
- constructor(config: BoundaryScannerConfig);
17
- initialize(): Promise<void>;
18
- scanFiles(files: string[]): Promise<BoundaryScanResult>;
19
- getStore(): BoundaryStore;
20
- }
21
- export declare function createBoundaryScanner(config: BoundaryScannerConfig): BoundaryScanner;
22
- //# sourceMappingURL=boundary-scanner.d.ts.map
@@ -1,37 +0,0 @@
1
- /**
2
- * Pattern Service Factory for CLI
3
- *
4
- * Provides a convenient way to create a PatternService from the CLI context.
5
- * This enables CLI commands to use the new unified pattern system.
6
- *
7
- * @module services/pattern-service-factory
8
- */
9
- import { PatternStore, type IPatternService } from 'driftdetect-core';
10
- /**
11
- * Create a PatternService for CLI commands.
12
- *
13
- * The service auto-initializes on first use, so you don't need to
14
- * call initialize() manually.
15
- *
16
- * @example
17
- * ```typescript
18
- * const service = createCLIPatternService(rootDir);
19
- * const status = await service.getStatus();
20
- * ```
21
- *
22
- * @param rootDir The project root directory
23
- * @returns A PatternService instance
24
- */
25
- export declare function createCLIPatternService(rootDir: string): IPatternService;
26
- /**
27
- * Create both a PatternStore and PatternService for CLI commands
28
- * that need access to both (for backward compatibility during migration).
29
- *
30
- * @param rootDir The project root directory
31
- * @returns Both the store and service
32
- */
33
- export declare function createCLIPatternStoreAndService(rootDir: string): {
34
- store: PatternStore;
35
- service: IPatternService;
36
- };
37
- //# sourceMappingURL=pattern-service-factory.d.ts.map
@@ -1,41 +0,0 @@
1
- /**
2
- * Pattern Service Factory for CLI
3
- *
4
- * Provides a convenient way to create a PatternService from the CLI context.
5
- * This enables CLI commands to use the new unified pattern system.
6
- *
7
- * @module services/pattern-service-factory
8
- */
9
- import { PatternStore, createPatternServiceFromStore, } from 'driftdetect-core';
10
- /**
11
- * Create a PatternService for CLI commands.
12
- *
13
- * The service auto-initializes on first use, so you don't need to
14
- * call initialize() manually.
15
- *
16
- * @example
17
- * ```typescript
18
- * const service = createCLIPatternService(rootDir);
19
- * const status = await service.getStatus();
20
- * ```
21
- *
22
- * @param rootDir The project root directory
23
- * @returns A PatternService instance
24
- */
25
- export function createCLIPatternService(rootDir) {
26
- const store = new PatternStore({ rootDir });
27
- return createPatternServiceFromStore(store, rootDir);
28
- }
29
- /**
30
- * Create both a PatternStore and PatternService for CLI commands
31
- * that need access to both (for backward compatibility during migration).
32
- *
33
- * @param rootDir The project root directory
34
- * @returns Both the store and service
35
- */
36
- export function createCLIPatternStoreAndService(rootDir) {
37
- const store = new PatternStore({ rootDir });
38
- const service = createPatternServiceFromStore(store, rootDir);
39
- return { store, service };
40
- }
41
- //# sourceMappingURL=pattern-service-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pattern-service-factory.js","sourceRoot":"","sources":["../../src/services/pattern-service-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,YAAY,EACZ,6BAA6B,GAE9B,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5C,OAAO,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAAC,OAAe;IAI7D,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC"}
@@ -1,237 +0,0 @@
1
- /**
2
- * Scanner Service - Enterprise-grade pattern detection with Worker Threads
3
- *
4
- * Uses the real detectors from driftdetect-detectors to find
5
- * high-value architectural patterns and violations.
6
- *
7
- * Now uses Piscina worker threads for parallel CPU-bound processing.
8
- */
9
- import { ManifestStore, type Manifest } from 'driftdetect-core';
10
- /**
11
- * Project-wide context for detection
12
- */
13
- export interface ProjectContext {
14
- rootDir: string;
15
- files: string[];
16
- config: Record<string, unknown>;
17
- }
18
- /**
19
- * Scanner service configuration
20
- */
21
- export interface ScannerServiceConfig {
22
- rootDir: string;
23
- verbose?: boolean;
24
- categories?: string[];
25
- /** Only run critical/high-value detectors */
26
- criticalOnly?: boolean;
27
- /** Enable manifest generation */
28
- generateManifest?: boolean;
29
- /** Only scan changed files (incremental) */
30
- incremental?: boolean;
31
- /** Use worker threads for parallel processing */
32
- useWorkerThreads?: boolean;
33
- /** Number of worker threads (default: CPU cores - 1) */
34
- workerThreads?: number;
35
- }
36
- /**
37
- * Aggregated pattern match across files
38
- *
39
- * Enhanced to preserve all metadata from detectors including:
40
- * - Full location range (endLine/endColumn)
41
- * - Outlier information per location
42
- * - Matched text for context
43
- */
44
- export interface AggregatedPattern {
45
- patternId: string;
46
- detectorId: string;
47
- category: string;
48
- subcategory: string;
49
- name: string;
50
- description: string;
51
- locations: Array<{
52
- file: string;
53
- line: number;
54
- column: number;
55
- /** End line for full range highlighting */
56
- endLine?: number;
57
- /** End column for full range highlighting */
58
- endColumn?: number;
59
- /** Whether this specific location is an outlier */
60
- isOutlier?: boolean;
61
- /** Reason for outlier classification */
62
- outlierReason?: string;
63
- /** The actual text that was matched */
64
- matchedText?: string;
65
- /** Per-location confidence score */
66
- confidence?: number;
67
- }>;
68
- confidence: number;
69
- occurrences: number;
70
- /** Total number of outliers across all locations */
71
- outlierCount: number;
72
- /** Custom metadata from detectors */
73
- metadata?: Record<string, unknown>;
74
- }
75
- /**
76
- * Aggregated violation across files
77
- */
78
- export interface AggregatedViolation {
79
- patternId: string;
80
- detectorId: string;
81
- category: string;
82
- severity: 'error' | 'warning' | 'info' | 'hint';
83
- file: string;
84
- line: number;
85
- column: number;
86
- message: string;
87
- explanation?: string | undefined;
88
- suggestedFix?: string | undefined;
89
- }
90
- /**
91
- * Scan result for a single file
92
- */
93
- export interface FileScanResult {
94
- file: string;
95
- patterns: Array<{
96
- patternId: string;
97
- detectorId: string;
98
- confidence: number;
99
- location: {
100
- file: string;
101
- line: number;
102
- column: number;
103
- endLine?: number;
104
- endColumn?: number;
105
- };
106
- isOutlier?: boolean;
107
- outlierReason?: string;
108
- matchedText?: string;
109
- metadata?: Record<string, unknown>;
110
- }>;
111
- violations: AggregatedViolation[];
112
- duration: number;
113
- error?: string | undefined;
114
- }
115
- /**
116
- * Overall scan results
117
- */
118
- export interface ScanResults {
119
- files: FileScanResult[];
120
- patterns: AggregatedPattern[];
121
- violations: AggregatedViolation[];
122
- totalPatterns: number;
123
- totalViolations: number;
124
- totalFiles: number;
125
- duration: number;
126
- errors: string[];
127
- detectorStats: {
128
- total: number;
129
- ran: number;
130
- skipped: number;
131
- };
132
- /** Manifest with semantic locations (if generateManifest is true) */
133
- manifest?: Manifest | undefined;
134
- /** Worker thread stats (if useWorkerThreads is true) */
135
- workerStats?: {
136
- threadsUsed: number;
137
- tasksCompleted: number;
138
- } | undefined;
139
- }
140
- /**
141
- * Scanner Service
142
- *
143
- * Orchestrates pattern detection across files using real detectors.
144
- * Supports both single-threaded and multi-threaded (Piscina) modes.
145
- */
146
- export declare class ScannerService {
147
- private config;
148
- private detectors;
149
- private initialized;
150
- private manifestStore;
151
- private pool;
152
- private PiscinaClass;
153
- constructor(config: ScannerServiceConfig);
154
- /**
155
- * Initialize the scanner service
156
- */
157
- initialize(): Promise<void>;
158
- /**
159
- * Warm up all worker threads by preloading detectors
160
- * This runs warmup tasks in parallel so all workers load detectors simultaneously
161
- */
162
- private warmupWorkers;
163
- /**
164
- * Get detector count
165
- */
166
- getDetectorCount(): number;
167
- /**
168
- * Get detector counts by category
169
- */
170
- getDetectorCounts(): {
171
- api: number;
172
- auth: number;
173
- security: number;
174
- errors: number;
175
- structural: number;
176
- components: number;
177
- styling: number;
178
- logging: number;
179
- testing: number;
180
- dataAccess: number;
181
- config: number;
182
- types: number;
183
- accessibility: number;
184
- documentation: number;
185
- performance: number;
186
- total: number;
187
- };
188
- /**
189
- * Check if worker threads are enabled and initialized
190
- */
191
- isUsingWorkerThreads(): boolean;
192
- /**
193
- * Get worker thread count
194
- */
195
- getWorkerThreadCount(): number;
196
- /**
197
- * Scan files for patterns
198
- */
199
- scanFiles(files: string[], projectContext: ProjectContext): Promise<ScanResults>;
200
- /**
201
- * Scan files using worker threads (parallel)
202
- */
203
- private scanFilesWithWorkers;
204
- /**
205
- * Aggregate results from worker threads
206
- */
207
- private aggregateWorkerResults;
208
- /**
209
- * Add pattern match to manifest
210
- */
211
- private addToManifest;
212
- /**
213
- * Scan files single-threaded (fallback)
214
- */
215
- private scanFilesSingleThreaded;
216
- /**
217
- * Create a semantic location from a basic location
218
- */
219
- private createSemanticLocation;
220
- /**
221
- * Extract semantic information from a line of code
222
- */
223
- private extractSemanticInfo;
224
- /**
225
- * Get the manifest store
226
- */
227
- getManifestStore(): ManifestStore | null;
228
- /**
229
- * Destroy the worker pool
230
- */
231
- destroy(): Promise<void>;
232
- }
233
- /**
234
- * Create a scanner service
235
- */
236
- export declare function createScannerService(config: ScannerServiceConfig): ScannerService;
237
- //# sourceMappingURL=scanner-service.d.ts.map
@@ -1,24 +0,0 @@
1
- /**
2
- * CLI type exports
3
- */
4
- export interface CLIOptions {
5
- /** Enable verbose output */
6
- verbose?: boolean;
7
- /** Output format */
8
- format?: 'text' | 'json' | 'github' | 'gitlab';
9
- /** CI mode */
10
- ci?: boolean;
11
- /** Check only staged files */
12
- staged?: boolean;
13
- }
14
- export interface CheckResult {
15
- /** Number of violations */
16
- violationCount: number;
17
- /** Number of errors */
18
- errorCount: number;
19
- /** Number of warnings */
20
- warningCount: number;
21
- /** Exit code */
22
- exitCode: number;
23
- }
24
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC/C,cAAc;IACd,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,8BAA8B;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -1,5 +0,0 @@
1
- /**
2
- * CLI type exports
3
- */
4
- export {};
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,11 +0,0 @@
1
- /**
2
- * UI module exports
3
- *
4
- * Provides CLI UI components for interactive prompts, spinners,
5
- * tables, and progress bars.
6
- */
7
- export { confirmPrompt, inputPrompt, selectPrompt, multiSelectPrompt, promptPatternAction, promptBatchPatternApproval, promptSeverity, promptVariantReason, promptVariantScope, promptInitOptions, promptIgnoreReason, promptReportFormat, promptCategorySelection, type PatternChoice, type PatternAction, type VariantScope, type InitPromptResult, type ReportFormat, } from './prompts.js';
8
- export { Spinner, createSpinner, withSpinner, spinners, status, type SpinnerOptions, } from './spinner.js';
9
- export { createTable, formatSeverity, formatConfidence, formatCount, formatPath, createPatternsTable, createViolationsTable, createSummaryTable, createStatusTable, createCategoryTable, type TableStyle, type TableOptions, type PatternRow, type ViolationRow, type SummaryRow, type StatusSummary, type CategoryBreakdown, } from './table.js';
10
- export { Progress, MultiProgress, createScanProgress, createAnalysisProgress, createDetectionProgress, withProgress, logProgress, type ProgressOptions, } from './progress.js';
11
- //# sourceMappingURL=index.d.ts.map
package/dist/ui/index.js DELETED
@@ -1,15 +0,0 @@
1
- /**
2
- * UI module exports
3
- *
4
- * Provides CLI UI components for interactive prompts, spinners,
5
- * tables, and progress bars.
6
- */
7
- // Prompts
8
- export { confirmPrompt, inputPrompt, selectPrompt, multiSelectPrompt, promptPatternAction, promptBatchPatternApproval, promptSeverity, promptVariantReason, promptVariantScope, promptInitOptions, promptIgnoreReason, promptReportFormat, promptCategorySelection, } from './prompts.js';
9
- // Spinner
10
- export { Spinner, createSpinner, withSpinner, spinners, status, } from './spinner.js';
11
- // Table
12
- export { createTable, formatSeverity, formatConfidence, formatCount, formatPath, createPatternsTable, createViolationsTable, createSummaryTable, createStatusTable, createCategoryTable, } from './table.js';
13
- // Progress
14
- export { Progress, MultiProgress, createScanProgress, createAnalysisProgress, createDetectionProgress, withProgress, logProgress, } from './progress.js';
15
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,UAAU;AACV,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,GAMxB,MAAM,cAAc,CAAC;AAEtB,UAAU;AACV,OAAO,EACL,OAAO,EACP,aAAa,EACb,WAAW,EACX,QAAQ,EACR,MAAM,GAEP,MAAM,cAAc,CAAC;AAEtB,QAAQ;AACR,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GAQpB,MAAM,YAAY,CAAC;AAEpB,WAAW;AACX,OAAO,EACL,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,WAAW,GAEZ,MAAM,eAAe,CAAC"}