driftdetect-core 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 (221) hide show
  1. package/dist/analyzers/ast-analyzer.d.ts +251 -0
  2. package/dist/analyzers/ast-analyzer.d.ts.map +1 -0
  3. package/dist/analyzers/ast-analyzer.js +548 -0
  4. package/dist/analyzers/ast-analyzer.js.map +1 -0
  5. package/dist/analyzers/flow-analyzer.d.ts +241 -0
  6. package/dist/analyzers/flow-analyzer.d.ts.map +1 -0
  7. package/dist/analyzers/flow-analyzer.js +1219 -0
  8. package/dist/analyzers/flow-analyzer.js.map +1 -0
  9. package/dist/analyzers/index.d.ts +18 -0
  10. package/dist/analyzers/index.d.ts.map +1 -0
  11. package/dist/analyzers/index.js +19 -0
  12. package/dist/analyzers/index.js.map +1 -0
  13. package/dist/analyzers/semantic-analyzer.d.ts +252 -0
  14. package/dist/analyzers/semantic-analyzer.d.ts.map +1 -0
  15. package/dist/analyzers/semantic-analyzer.js +1182 -0
  16. package/dist/analyzers/semantic-analyzer.js.map +1 -0
  17. package/dist/analyzers/type-analyzer.d.ts +289 -0
  18. package/dist/analyzers/type-analyzer.d.ts.map +1 -0
  19. package/dist/analyzers/type-analyzer.js +1269 -0
  20. package/dist/analyzers/type-analyzer.js.map +1 -0
  21. package/dist/analyzers/types.d.ts +537 -0
  22. package/dist/analyzers/types.d.ts.map +1 -0
  23. package/dist/analyzers/types.js +11 -0
  24. package/dist/analyzers/types.js.map +1 -0
  25. package/dist/config/config-loader.d.ts +166 -0
  26. package/dist/config/config-loader.d.ts.map +1 -0
  27. package/dist/config/config-loader.js +429 -0
  28. package/dist/config/config-loader.js.map +1 -0
  29. package/dist/config/config-validator.d.ts +204 -0
  30. package/dist/config/config-validator.d.ts.map +1 -0
  31. package/dist/config/config-validator.js +632 -0
  32. package/dist/config/config-validator.js.map +1 -0
  33. package/dist/config/defaults.d.ts +8 -0
  34. package/dist/config/defaults.d.ts.map +1 -0
  35. package/dist/config/defaults.js +26 -0
  36. package/dist/config/defaults.js.map +1 -0
  37. package/dist/config/index.d.ts +10 -0
  38. package/dist/config/index.d.ts.map +1 -0
  39. package/dist/config/index.js +10 -0
  40. package/dist/config/index.js.map +1 -0
  41. package/dist/config/types.d.ts +47 -0
  42. package/dist/config/types.d.ts.map +1 -0
  43. package/dist/config/types.js +7 -0
  44. package/dist/config/types.js.map +1 -0
  45. package/dist/index.d.ts +37 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +39 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/manifest/exporter.d.ts +21 -0
  50. package/dist/manifest/exporter.d.ts.map +1 -0
  51. package/dist/manifest/exporter.js +339 -0
  52. package/dist/manifest/exporter.js.map +1 -0
  53. package/dist/manifest/index.d.ts +14 -0
  54. package/dist/manifest/index.d.ts.map +1 -0
  55. package/dist/manifest/index.js +15 -0
  56. package/dist/manifest/index.js.map +1 -0
  57. package/dist/manifest/manifest-store.d.ts +111 -0
  58. package/dist/manifest/manifest-store.d.ts.map +1 -0
  59. package/dist/manifest/manifest-store.js +418 -0
  60. package/dist/manifest/manifest-store.js.map +1 -0
  61. package/dist/manifest/types.d.ts +238 -0
  62. package/dist/manifest/types.d.ts.map +1 -0
  63. package/dist/manifest/types.js +11 -0
  64. package/dist/manifest/types.js.map +1 -0
  65. package/dist/matcher/confidence-scorer.d.ts +188 -0
  66. package/dist/matcher/confidence-scorer.d.ts.map +1 -0
  67. package/dist/matcher/confidence-scorer.js +302 -0
  68. package/dist/matcher/confidence-scorer.js.map +1 -0
  69. package/dist/matcher/index.d.ts +24 -0
  70. package/dist/matcher/index.d.ts.map +1 -0
  71. package/dist/matcher/index.js +26 -0
  72. package/dist/matcher/index.js.map +1 -0
  73. package/dist/matcher/outlier-detector.d.ts +252 -0
  74. package/dist/matcher/outlier-detector.d.ts.map +1 -0
  75. package/dist/matcher/outlier-detector.js +544 -0
  76. package/dist/matcher/outlier-detector.js.map +1 -0
  77. package/dist/matcher/pattern-matcher.d.ts +169 -0
  78. package/dist/matcher/pattern-matcher.d.ts.map +1 -0
  79. package/dist/matcher/pattern-matcher.js +692 -0
  80. package/dist/matcher/pattern-matcher.js.map +1 -0
  81. package/dist/matcher/types.d.ts +476 -0
  82. package/dist/matcher/types.d.ts.map +1 -0
  83. package/dist/matcher/types.js +36 -0
  84. package/dist/matcher/types.js.map +1 -0
  85. package/dist/parsers/base-parser.d.ts +282 -0
  86. package/dist/parsers/base-parser.d.ts.map +1 -0
  87. package/dist/parsers/base-parser.js +421 -0
  88. package/dist/parsers/base-parser.js.map +1 -0
  89. package/dist/parsers/css-parser.d.ts +225 -0
  90. package/dist/parsers/css-parser.d.ts.map +1 -0
  91. package/dist/parsers/css-parser.js +477 -0
  92. package/dist/parsers/css-parser.js.map +1 -0
  93. package/dist/parsers/index.d.ts +15 -0
  94. package/dist/parsers/index.d.ts.map +1 -0
  95. package/dist/parsers/index.js +15 -0
  96. package/dist/parsers/index.js.map +1 -0
  97. package/dist/parsers/json-parser.d.ts +219 -0
  98. package/dist/parsers/json-parser.d.ts.map +1 -0
  99. package/dist/parsers/json-parser.js +602 -0
  100. package/dist/parsers/json-parser.js.map +1 -0
  101. package/dist/parsers/markdown-parser.d.ts +276 -0
  102. package/dist/parsers/markdown-parser.d.ts.map +1 -0
  103. package/dist/parsers/markdown-parser.js +731 -0
  104. package/dist/parsers/markdown-parser.js.map +1 -0
  105. package/dist/parsers/parser-manager.d.ts +294 -0
  106. package/dist/parsers/parser-manager.d.ts.map +1 -0
  107. package/dist/parsers/parser-manager.js +738 -0
  108. package/dist/parsers/parser-manager.js.map +1 -0
  109. package/dist/parsers/python-parser.d.ts +204 -0
  110. package/dist/parsers/python-parser.d.ts.map +1 -0
  111. package/dist/parsers/python-parser.js +517 -0
  112. package/dist/parsers/python-parser.js.map +1 -0
  113. package/dist/parsers/types.d.ts +43 -0
  114. package/dist/parsers/types.d.ts.map +1 -0
  115. package/dist/parsers/types.js +7 -0
  116. package/dist/parsers/types.js.map +1 -0
  117. package/dist/parsers/typescript-parser.d.ts +264 -0
  118. package/dist/parsers/typescript-parser.d.ts.map +1 -0
  119. package/dist/parsers/typescript-parser.js +658 -0
  120. package/dist/parsers/typescript-parser.js.map +1 -0
  121. package/dist/rules/evaluator.d.ts +305 -0
  122. package/dist/rules/evaluator.d.ts.map +1 -0
  123. package/dist/rules/evaluator.js +579 -0
  124. package/dist/rules/evaluator.js.map +1 -0
  125. package/dist/rules/index.d.ts +13 -0
  126. package/dist/rules/index.d.ts.map +1 -0
  127. package/dist/rules/index.js +13 -0
  128. package/dist/rules/index.js.map +1 -0
  129. package/dist/rules/quick-fix-generator.d.ts +334 -0
  130. package/dist/rules/quick-fix-generator.d.ts.map +1 -0
  131. package/dist/rules/quick-fix-generator.js +1075 -0
  132. package/dist/rules/quick-fix-generator.js.map +1 -0
  133. package/dist/rules/rule-engine.d.ts +241 -0
  134. package/dist/rules/rule-engine.d.ts.map +1 -0
  135. package/dist/rules/rule-engine.js +585 -0
  136. package/dist/rules/rule-engine.js.map +1 -0
  137. package/dist/rules/severity-manager.d.ts +394 -0
  138. package/dist/rules/severity-manager.d.ts.map +1 -0
  139. package/dist/rules/severity-manager.js +619 -0
  140. package/dist/rules/severity-manager.js.map +1 -0
  141. package/dist/rules/types.d.ts +370 -0
  142. package/dist/rules/types.d.ts.map +1 -0
  143. package/dist/rules/types.js +133 -0
  144. package/dist/rules/types.js.map +1 -0
  145. package/dist/rules/variant-manager.d.ts +388 -0
  146. package/dist/rules/variant-manager.d.ts.map +1 -0
  147. package/dist/rules/variant-manager.js +777 -0
  148. package/dist/rules/variant-manager.js.map +1 -0
  149. package/dist/scanner/change-detector.d.ts +164 -0
  150. package/dist/scanner/change-detector.d.ts.map +1 -0
  151. package/dist/scanner/change-detector.js +263 -0
  152. package/dist/scanner/change-detector.js.map +1 -0
  153. package/dist/scanner/dependency-graph.d.ts +270 -0
  154. package/dist/scanner/dependency-graph.d.ts.map +1 -0
  155. package/dist/scanner/dependency-graph.js +436 -0
  156. package/dist/scanner/dependency-graph.js.map +1 -0
  157. package/dist/scanner/file-walker.d.ts +127 -0
  158. package/dist/scanner/file-walker.d.ts.map +1 -0
  159. package/dist/scanner/file-walker.js +526 -0
  160. package/dist/scanner/file-walker.js.map +1 -0
  161. package/dist/scanner/index.d.ts +12 -0
  162. package/dist/scanner/index.d.ts.map +1 -0
  163. package/dist/scanner/index.js +12 -0
  164. package/dist/scanner/index.js.map +1 -0
  165. package/dist/scanner/types.d.ts +218 -0
  166. package/dist/scanner/types.d.ts.map +1 -0
  167. package/dist/scanner/types.js +10 -0
  168. package/dist/scanner/types.js.map +1 -0
  169. package/dist/scanner/worker-pool.d.ts +317 -0
  170. package/dist/scanner/worker-pool.d.ts.map +1 -0
  171. package/dist/scanner/worker-pool.js +571 -0
  172. package/dist/scanner/worker-pool.js.map +1 -0
  173. package/dist/store/cache-manager.d.ts +179 -0
  174. package/dist/store/cache-manager.d.ts.map +1 -0
  175. package/dist/store/cache-manager.js +391 -0
  176. package/dist/store/cache-manager.js.map +1 -0
  177. package/dist/store/history-store.d.ts +314 -0
  178. package/dist/store/history-store.d.ts.map +1 -0
  179. package/dist/store/history-store.js +707 -0
  180. package/dist/store/history-store.js.map +1 -0
  181. package/dist/store/index.d.ts +20 -0
  182. package/dist/store/index.d.ts.map +1 -0
  183. package/dist/store/index.js +26 -0
  184. package/dist/store/index.js.map +1 -0
  185. package/dist/store/lock-file-manager.d.ts +202 -0
  186. package/dist/store/lock-file-manager.d.ts.map +1 -0
  187. package/dist/store/lock-file-manager.js +475 -0
  188. package/dist/store/lock-file-manager.js.map +1 -0
  189. package/dist/store/pattern-store.d.ts +289 -0
  190. package/dist/store/pattern-store.d.ts.map +1 -0
  191. package/dist/store/pattern-store.js +936 -0
  192. package/dist/store/pattern-store.js.map +1 -0
  193. package/dist/store/schema-validator.d.ts +159 -0
  194. package/dist/store/schema-validator.d.ts.map +1 -0
  195. package/dist/store/schema-validator.js +1096 -0
  196. package/dist/store/schema-validator.js.map +1 -0
  197. package/dist/store/types.d.ts +585 -0
  198. package/dist/store/types.d.ts.map +1 -0
  199. package/dist/store/types.js +82 -0
  200. package/dist/store/types.js.map +1 -0
  201. package/dist/types/analysis.d.ts +19 -0
  202. package/dist/types/analysis.d.ts.map +1 -0
  203. package/dist/types/analysis.js +5 -0
  204. package/dist/types/analysis.js.map +1 -0
  205. package/dist/types/common.d.ts +7 -0
  206. package/dist/types/common.d.ts.map +1 -0
  207. package/dist/types/common.js +5 -0
  208. package/dist/types/common.js.map +1 -0
  209. package/dist/types/index.d.ts +12 -0
  210. package/dist/types/index.d.ts.map +1 -0
  211. package/dist/types/index.js +10 -0
  212. package/dist/types/index.js.map +1 -0
  213. package/dist/types/patterns.d.ts +40 -0
  214. package/dist/types/patterns.d.ts.map +1 -0
  215. package/dist/types/patterns.js +7 -0
  216. package/dist/types/patterns.js.map +1 -0
  217. package/dist/types/violations.d.ts +7 -0
  218. package/dist/types/violations.d.ts.map +1 -0
  219. package/dist/types/violations.js +7 -0
  220. package/dist/types/violations.js.map +1 -0
  221. package/package.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-walker.js","sourceRoot":"","sources":["../../src/scanner/file-walker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Scanner module exports
3
+ *
4
+ * Provides file system traversal, change detection, dependency graph building,
5
+ * and parallel processing capabilities.
6
+ */
7
+ export * from './types.js';
8
+ export { FileWalker } from './file-walker.js';
9
+ export { ChangeDetector, type ChangeType, type FileSnapshot, type ChangeSet, type FileChange, type ChangeDetectionOptions, type SnapshotFile, } from './change-detector.js';
10
+ export { DependencyGraph, type ImportType, type ExportType, type ImportInfo, type ImportSpecifier, type ExportInfo, type ModuleNode, type DependencyEdge, type CircularDependencyResult, type DependencyGraphOptions, } from './dependency-graph.js';
11
+ export { WorkerPool, createFileProcessorPool, type WorkerPoolOptions, type TaskStatus, type Task, type TaskResult, type WorkerPoolStats, type WorkerPoolEvents, type TaskProcessor, } from './worker-pool.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,EACf,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,UAAU,EACV,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Scanner module exports
3
+ *
4
+ * Provides file system traversal, change detection, dependency graph building,
5
+ * and parallel processing capabilities.
6
+ */
7
+ export * from './types.js';
8
+ export { FileWalker } from './file-walker.js';
9
+ export { ChangeDetector, } from './change-detector.js';
10
+ export { DependencyGraph, } from './dependency-graph.js';
11
+ export { WorkerPool, createFileProcessorPool, } from './worker-pool.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,cAAc,GAOf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,eAAe,GAUhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,UAAU,EACV,uBAAuB,GAQxB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Scanner type definitions
3
+ *
4
+ * Provides types for file system scanning, including options, results,
5
+ * file/directory information, statistics, and error handling.
6
+ *
7
+ * @requirements 2.1 - Scanner SHALL traverse directory structures respecting .gitignore and .driftignore patterns
8
+ */
9
+ import type { Language } from '../parsers/types.js';
10
+ /**
11
+ * Options for configuring a file system scan
12
+ */
13
+ export interface ScanOptions {
14
+ /** Root directory to scan (absolute or relative path) */
15
+ rootDir: string;
16
+ /**
17
+ * Additional patterns to ignore (in addition to .gitignore and .driftignore)
18
+ * Uses glob pattern syntax (e.g., '*.log', 'node_modules/**')
19
+ */
20
+ ignorePatterns?: string[];
21
+ /**
22
+ * Patterns to include (if specified, only matching files are scanned)
23
+ * Uses glob pattern syntax (e.g., '*.ts', 'src/**')
24
+ */
25
+ includePatterns?: string[];
26
+ /**
27
+ * Maximum depth to traverse (undefined = unlimited)
28
+ * 0 = only root directory, 1 = root + immediate children, etc.
29
+ */
30
+ maxDepth?: number;
31
+ /**
32
+ * Number of worker threads for parallel processing
33
+ * Defaults to number of CPU cores
34
+ * @requirements 2.6
35
+ */
36
+ workerCount?: number;
37
+ /**
38
+ * Whether to respect .gitignore patterns
39
+ * @default true
40
+ * @requirements 2.1
41
+ */
42
+ respectGitignore?: boolean;
43
+ /**
44
+ * Whether to respect .driftignore patterns
45
+ * @default true
46
+ * @requirements 2.1
47
+ */
48
+ respectDriftignore?: boolean;
49
+ /**
50
+ * Whether to follow symbolic links
51
+ * @default false
52
+ */
53
+ followSymlinks?: boolean;
54
+ /**
55
+ * Whether to compute file content hashes
56
+ * Useful for change detection but adds overhead
57
+ * @default false
58
+ */
59
+ computeHashes?: boolean;
60
+ /**
61
+ * File extensions to include (e.g., ['.ts', '.js', '.py'])
62
+ * If not specified, all files are included
63
+ */
64
+ extensions?: string[];
65
+ /**
66
+ * Maximum file size in bytes to include
67
+ * Files larger than this are skipped
68
+ */
69
+ maxFileSize?: number;
70
+ }
71
+ /**
72
+ * Result of a file system scan
73
+ */
74
+ export interface ScanResult {
75
+ /** List of scanned files with their information */
76
+ files: FileInfo[];
77
+ /** List of directories traversed */
78
+ directories: DirectoryInfo[];
79
+ /** Statistics about the scan */
80
+ stats: ScanStats;
81
+ /** Errors encountered during scanning */
82
+ errors: ScanError[];
83
+ /** Root directory that was scanned */
84
+ rootDir: string;
85
+ /** Options used for the scan */
86
+ options: ScanOptions;
87
+ /** Whether the scan completed successfully (may have partial results with errors) */
88
+ success: boolean;
89
+ }
90
+ /**
91
+ * Information about a scanned file
92
+ */
93
+ export interface FileInfo {
94
+ /** Absolute path to the file */
95
+ path: string;
96
+ /** Path relative to the scan root directory */
97
+ relativePath: string;
98
+ /** File name without directory */
99
+ name: string;
100
+ /** File extension including the dot (e.g., '.ts') */
101
+ extension: string;
102
+ /** File size in bytes */
103
+ size: number;
104
+ /** Last modification time */
105
+ mtime: Date;
106
+ /** Creation time (if available) */
107
+ ctime?: Date;
108
+ /**
109
+ * Content hash for change detection (SHA-256)
110
+ * Only populated if computeHashes option is true
111
+ * @requirements 2.2
112
+ */
113
+ hash?: string;
114
+ /**
115
+ * Detected programming language
116
+ * Determined from file extension
117
+ */
118
+ language?: Language;
119
+ /** Whether the file is a symlink */
120
+ isSymlink: boolean;
121
+ }
122
+ /**
123
+ * Information about a scanned directory
124
+ */
125
+ export interface DirectoryInfo {
126
+ /** Absolute path to the directory */
127
+ path: string;
128
+ /** Path relative to the scan root directory */
129
+ relativePath: string;
130
+ /** Directory name */
131
+ name: string;
132
+ /** Number of files directly in this directory (not recursive) */
133
+ fileCount: number;
134
+ /** Number of subdirectories directly in this directory */
135
+ subdirectoryCount: number;
136
+ /** Depth from the root directory (0 = root) */
137
+ depth: number;
138
+ /** Whether the directory is a symlink */
139
+ isSymlink: boolean;
140
+ }
141
+ /**
142
+ * Statistics about a completed scan
143
+ */
144
+ export interface ScanStats {
145
+ /** Total number of files found */
146
+ totalFiles: number;
147
+ /** Total number of directories traversed */
148
+ totalDirectories: number;
149
+ /** Total size of all files in bytes */
150
+ totalSize: number;
151
+ /** Scan duration in milliseconds */
152
+ duration: number;
153
+ /** Number of files skipped due to ignore patterns */
154
+ skippedByIgnore: number;
155
+ /** Number of files skipped due to size limits */
156
+ skippedBySize: number;
157
+ /** Number of files that caused errors */
158
+ errorCount: number;
159
+ /** Breakdown of files by extension */
160
+ filesByExtension: Record<string, number>;
161
+ /** Breakdown of files by language */
162
+ filesByLanguage: Record<string, number>;
163
+ /** Maximum directory depth reached */
164
+ maxDepthReached: number;
165
+ /** Timestamp when scan started */
166
+ startTime: Date;
167
+ /** Timestamp when scan completed */
168
+ endTime: Date;
169
+ }
170
+ /**
171
+ * Error information for files that couldn't be scanned
172
+ */
173
+ export interface ScanError {
174
+ /** Path to the file or directory that caused the error */
175
+ path: string;
176
+ /** Error message */
177
+ message: string;
178
+ /** Error code (e.g., 'ENOENT', 'EACCES', 'ELOOP') */
179
+ code?: string;
180
+ /** Type of error */
181
+ type: ScanErrorType;
182
+ /** Stack trace (if available) */
183
+ stack?: string;
184
+ }
185
+ /**
186
+ * Types of scan errors
187
+ */
188
+ export type ScanErrorType = 'permission_denied' | 'not_found' | 'symlink_loop' | 'read_error' | 'hash_error' | 'unknown';
189
+ /**
190
+ * Progress callback for long-running scans
191
+ */
192
+ export type ScanProgressCallback = (progress: ScanProgress) => void;
193
+ /**
194
+ * Progress information during a scan
195
+ */
196
+ export interface ScanProgress {
197
+ /** Current phase of the scan */
198
+ phase: 'discovering' | 'scanning' | 'hashing' | 'complete';
199
+ /** Number of files processed so far */
200
+ filesProcessed: number;
201
+ /** Total files discovered (may increase during discovery phase) */
202
+ totalFiles: number;
203
+ /** Current file being processed */
204
+ currentFile?: string;
205
+ /** Estimated percentage complete (0-100) */
206
+ percentComplete: number;
207
+ /** Elapsed time in milliseconds */
208
+ elapsedMs: number;
209
+ }
210
+ /**
211
+ * Filter function for custom file filtering
212
+ */
213
+ export type FileFilter = (file: FileInfo) => boolean;
214
+ /**
215
+ * Filter function for custom directory filtering
216
+ */
217
+ export type DirectoryFilter = (dir: DirectoryInfo) => boolean;
218
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scanner/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Scanner type definitions
3
+ *
4
+ * Provides types for file system scanning, including options, results,
5
+ * file/directory information, statistics, and error handling.
6
+ *
7
+ * @requirements 2.1 - Scanner SHALL traverse directory structures respecting .gitignore and .driftignore patterns
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/scanner/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,317 @@
1
+ /**
2
+ * Worker Pool - Parallel file processing with configurable concurrency
3
+ *
4
+ * Provides a task queue-based worker pool for parallel file processing,
5
+ * with support for configurable worker count, task distribution,
6
+ * error handling, and graceful shutdown.
7
+ *
8
+ * @requirements 2.6 - THE Scanner SHALL process files in parallel using worker threads
9
+ */
10
+ import { EventEmitter } from 'node:events';
11
+ /**
12
+ * Options for configuring the worker pool
13
+ */
14
+ export interface WorkerPoolOptions {
15
+ /**
16
+ * Minimum number of workers to maintain
17
+ * @default 1
18
+ */
19
+ minWorkers?: number;
20
+ /**
21
+ * Maximum number of workers (concurrent tasks)
22
+ * @default Number of CPU cores
23
+ */
24
+ maxWorkers?: number;
25
+ /**
26
+ * Timeout for individual tasks in milliseconds
27
+ * @default 30000 (30 seconds)
28
+ */
29
+ taskTimeout?: number;
30
+ /**
31
+ * Maximum number of retries for failed tasks
32
+ * @default 2
33
+ */
34
+ maxRetries?: number;
35
+ /**
36
+ * Whether to enable task result caching
37
+ * @default false
38
+ */
39
+ enableCaching?: boolean;
40
+ /**
41
+ * Maximum size of the task queue (0 = unlimited)
42
+ * @default 0
43
+ */
44
+ maxQueueSize?: number;
45
+ }
46
+ /**
47
+ * Status of a task in the worker pool
48
+ */
49
+ export type TaskStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled' | 'timeout';
50
+ /**
51
+ * Represents a task to be processed by the worker pool
52
+ */
53
+ export interface Task<TInput, TOutput> {
54
+ /** Unique identifier for the task */
55
+ id: string;
56
+ /** Input data for the task */
57
+ input: TInput;
58
+ /** Current status of the task */
59
+ status: TaskStatus;
60
+ /** Number of retry attempts made */
61
+ retries: number;
62
+ /** Timestamp when the task was created */
63
+ createdAt: Date;
64
+ /** Timestamp when the task started processing */
65
+ startedAt?: Date;
66
+ /** Timestamp when the task completed */
67
+ completedAt?: Date;
68
+ /** Result of the task (if completed successfully) */
69
+ result?: TOutput;
70
+ /** Error message (if failed) */
71
+ error?: string;
72
+ /** Priority (higher = processed first) */
73
+ priority: number;
74
+ }
75
+ /**
76
+ * Result of a task execution
77
+ */
78
+ export interface TaskResult<TOutput> {
79
+ /** Task ID */
80
+ taskId: string;
81
+ /** Whether the task succeeded */
82
+ success: boolean;
83
+ /** Result data (if successful) */
84
+ result?: TOutput;
85
+ /** Error message (if failed) */
86
+ error?: string;
87
+ /** Execution duration in milliseconds */
88
+ duration: number;
89
+ /** Number of retries attempted */
90
+ retries: number;
91
+ }
92
+ /**
93
+ * Statistics about the worker pool
94
+ */
95
+ export interface WorkerPoolStats {
96
+ /** Number of tasks currently in the queue */
97
+ queuedTasks: number;
98
+ /** Number of tasks currently being processed */
99
+ activeTasks: number;
100
+ /** Total number of tasks completed successfully */
101
+ completedTasks: number;
102
+ /** Total number of tasks that failed */
103
+ failedTasks: number;
104
+ /** Total number of tasks cancelled */
105
+ cancelledTasks: number;
106
+ /** Total number of tasks that timed out */
107
+ timedOutTasks: number;
108
+ /** Average task duration in milliseconds */
109
+ averageDuration: number;
110
+ /** Current number of active workers */
111
+ activeWorkers: number;
112
+ /** Maximum workers configured */
113
+ maxWorkers: number;
114
+ /** Whether the pool is shutting down */
115
+ isShuttingDown: boolean;
116
+ /** Whether the pool is paused */
117
+ isPaused: boolean;
118
+ }
119
+ /**
120
+ * Events emitted by the worker pool
121
+ */
122
+ export interface WorkerPoolEvents<TInput, TOutput> {
123
+ /** Emitted when a task is added to the queue */
124
+ taskQueued: (task: Task<TInput, TOutput>) => void;
125
+ /** Emitted when a task starts processing */
126
+ taskStarted: (task: Task<TInput, TOutput>) => void;
127
+ /** Emitted when a task completes successfully */
128
+ taskCompleted: (task: Task<TInput, TOutput>, result: TOutput) => void;
129
+ /** Emitted when a task fails */
130
+ taskFailed: (task: Task<TInput, TOutput>, error: Error) => void;
131
+ /** Emitted when a task is retried */
132
+ taskRetried: (task: Task<TInput, TOutput>, attempt: number) => void;
133
+ /** Emitted when a task times out */
134
+ taskTimeout: (task: Task<TInput, TOutput>) => void;
135
+ /** Emitted when the pool is drained (all tasks complete) */
136
+ drained: () => void;
137
+ /** Emitted when the pool is idle (no tasks and no active workers) */
138
+ idle: () => void;
139
+ /** Emitted when an error occurs in the pool */
140
+ error: (error: Error) => void;
141
+ }
142
+ /**
143
+ * Type for the task processor function
144
+ */
145
+ export type TaskProcessor<TInput, TOutput> = (input: TInput) => Promise<TOutput>;
146
+ /**
147
+ * WorkerPool class for parallel task processing
148
+ *
149
+ * Implements a configurable worker pool that processes tasks in parallel
150
+ * with support for task queuing, retries, timeouts, and graceful shutdown.
151
+ *
152
+ * @requirements 2.6 - Parallel file processing with configurable worker count
153
+ *
154
+ * @example
155
+ * ```typescript
156
+ * const pool = new WorkerPool<string, ParseResult>({
157
+ * maxWorkers: 4,
158
+ * taskTimeout: 10000,
159
+ * });
160
+ *
161
+ * pool.setProcessor(async (filePath) => {
162
+ * return await parseFile(filePath);
163
+ * });
164
+ *
165
+ * const results = await pool.processBatch(['file1.ts', 'file2.ts']);
166
+ * await pool.shutdown();
167
+ * ```
168
+ */
169
+ export declare class WorkerPool<TInput, TOutput> extends EventEmitter {
170
+ private options;
171
+ private taskQueue;
172
+ private activeTasks;
173
+ private completedTasks;
174
+ private processor;
175
+ private taskIdCounter;
176
+ private isShuttingDown;
177
+ private isPaused;
178
+ private totalDuration;
179
+ private completedCount;
180
+ private failedCount;
181
+ private cancelledCount;
182
+ private timedOutCount;
183
+ private taskTimeouts;
184
+ private cache;
185
+ constructor(options?: WorkerPoolOptions);
186
+ /**
187
+ * Set the task processor function
188
+ *
189
+ * @param processor - Function that processes a single task input
190
+ */
191
+ setProcessor(processor: TaskProcessor<TInput, TOutput>): void;
192
+ /**
193
+ * Add a single task to the queue
194
+ *
195
+ * @param input - Input data for the task
196
+ * @param priority - Task priority (higher = processed first)
197
+ * @returns The created task
198
+ */
199
+ addTask(input: TInput, priority?: number): Task<TInput, TOutput>;
200
+ /**
201
+ * Add multiple tasks to the queue
202
+ *
203
+ * @param inputs - Array of input data for tasks
204
+ * @param priority - Priority for all tasks
205
+ * @returns Array of created tasks
206
+ */
207
+ addTasks(inputs: TInput[], priority?: number): Task<TInput, TOutput>[];
208
+ /**
209
+ * Process a batch of inputs and wait for all results
210
+ *
211
+ * @param inputs - Array of input data to process
212
+ * @param priority - Priority for all tasks
213
+ * @returns Promise resolving to array of task results
214
+ */
215
+ processBatch(inputs: TInput[], priority?: number): Promise<TaskResult<TOutput>[]>;
216
+ /**
217
+ * Cancel a specific task
218
+ *
219
+ * @param taskId - ID of the task to cancel
220
+ * @returns True if the task was cancelled
221
+ */
222
+ cancelTask(taskId: string): boolean;
223
+ /**
224
+ * Cancel all pending tasks
225
+ *
226
+ * @returns Number of tasks cancelled
227
+ */
228
+ cancelAllPending(): number;
229
+ /**
230
+ * Pause task processing
231
+ */
232
+ pause(): void;
233
+ /**
234
+ * Resume task processing
235
+ */
236
+ resume(): void;
237
+ /**
238
+ * Get the current status of a task
239
+ *
240
+ * @param taskId - ID of the task
241
+ * @returns Task or undefined if not found
242
+ */
243
+ getTask(taskId: string): Task<TInput, TOutput> | undefined;
244
+ /**
245
+ * Get current worker pool statistics
246
+ *
247
+ * @returns WorkerPoolStats object
248
+ */
249
+ getStats(): WorkerPoolStats;
250
+ /**
251
+ * Wait for all current tasks to complete
252
+ *
253
+ * @returns Promise that resolves when all tasks are done
254
+ */
255
+ drain(): Promise<void>;
256
+ /**
257
+ * Gracefully shutdown the worker pool
258
+ *
259
+ * Waits for active tasks to complete, cancels pending tasks,
260
+ * and cleans up resources.
261
+ *
262
+ * @param timeout - Maximum time to wait for active tasks (ms)
263
+ * @returns Promise that resolves when shutdown is complete
264
+ */
265
+ shutdown(timeout?: number): Promise<void>;
266
+ /**
267
+ * Clear the result cache
268
+ */
269
+ clearCache(): void;
270
+ /**
271
+ * Get the number of items in the cache
272
+ */
273
+ getCacheSize(): number;
274
+ /**
275
+ * Process tasks from the queue
276
+ */
277
+ private processQueue;
278
+ /**
279
+ * Process a single task
280
+ */
281
+ private processTask;
282
+ /**
283
+ * Complete a task successfully
284
+ */
285
+ private completeTask;
286
+ /**
287
+ * Handle a task error
288
+ */
289
+ private handleTaskError;
290
+ /**
291
+ * Handle a task timeout
292
+ */
293
+ private handleTaskTimeout;
294
+ /**
295
+ * Generate a unique task ID
296
+ */
297
+ private generateTaskId;
298
+ /**
299
+ * Generate a cache key for an input
300
+ */
301
+ private getCacheKey;
302
+ /**
303
+ * Convert a task to a TaskResult
304
+ */
305
+ private taskToResult;
306
+ }
307
+ /**
308
+ * Create a worker pool for file processing
309
+ *
310
+ * Convenience function to create a worker pool configured for file processing.
311
+ *
312
+ * @param processor - Function to process each file
313
+ * @param options - Worker pool options
314
+ * @returns Configured WorkerPool instance
315
+ */
316
+ export declare function createFileProcessorPool<TOutput>(processor: TaskProcessor<string, TOutput>, options?: WorkerPoolOptions): WorkerPool<string, TOutput>;
317
+ //# sourceMappingURL=worker-pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/scanner/worker-pool.ts"],"names":[],"mappings":"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"}