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":"markdown-parser.js","sourceRoot":"","sources":["../../src/parsers/markdown-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,294 @@
1
+ /**
2
+ * Parser Manager - Parser orchestration and caching
3
+ *
4
+ * Handles language detection from file extensions, parser selection,
5
+ * and AST caching with LRU eviction. Supports incremental parsing
6
+ * for changed file regions.
7
+ *
8
+ * @requirements 3.2, 3.4, 3.7
9
+ */
10
+ import type { Language, ParseResult, Position } from './types.js';
11
+ import { BaseParser } from './base-parser.js';
12
+ /**
13
+ * Represents a change in the source code
14
+ */
15
+ export interface TextChange {
16
+ /** Start position of the change */
17
+ startPosition: Position;
18
+ /** End position of the old text (before change) */
19
+ oldEndPosition: Position;
20
+ /** End position of the new text (after change) */
21
+ newEndPosition: Position;
22
+ /** The new text that replaced the old text */
23
+ newText: string;
24
+ }
25
+ /**
26
+ * Result of incremental parsing
27
+ */
28
+ export interface IncrementalParseResult extends ParseResult {
29
+ /** Whether incremental parsing was used */
30
+ wasIncremental: boolean;
31
+ /** Regions that were re-parsed */
32
+ reparsedRegions?: Array<{
33
+ start: Position;
34
+ end: Position;
35
+ }>;
36
+ }
37
+ /**
38
+ * Configuration options for the ParserManager
39
+ */
40
+ export interface ParserManagerOptions {
41
+ /** Maximum number of ASTs to cache (default: 100) */
42
+ cacheSize: number;
43
+ /** Time-to-live for cached ASTs in milliseconds (default: 0 = no expiry) */
44
+ cacheTTL: number;
45
+ /** Whether to enable cache statistics tracking (default: true) */
46
+ enableStats: boolean;
47
+ /** Whether to enable incremental parsing (default: true) */
48
+ enableIncremental: boolean;
49
+ /** Minimum change size (in characters) to trigger incremental parsing (default: 10) */
50
+ incrementalThreshold: number;
51
+ }
52
+ /**
53
+ * Cache statistics for monitoring
54
+ */
55
+ export interface ParserCacheStats {
56
+ /** Total number of cache hits */
57
+ hits: number;
58
+ /** Total number of cache misses */
59
+ misses: number;
60
+ /** Total number of evictions due to size limit */
61
+ evictions: number;
62
+ /** Current number of entries in cache */
63
+ size: number;
64
+ /** Maximum size of cache */
65
+ maxSize: number;
66
+ /** Cache hit ratio (hits / (hits + misses)) */
67
+ hitRatio: number;
68
+ /** Number of incremental parses performed */
69
+ incrementalParses: number;
70
+ /** Number of full parses performed */
71
+ fullParses: number;
72
+ }
73
+ /**
74
+ * Parser Manager for orchestrating language parsers and caching ASTs.
75
+ *
76
+ * Provides:
77
+ * - Language detection from file extensions
78
+ * - Parser registration and selection
79
+ * - AST caching with LRU eviction
80
+ * - Incremental parsing for changed regions
81
+ * - File parsing from disk
82
+ *
83
+ * @requirements 3.2 - Support TypeScript, JavaScript, Python, CSS/SCSS, JSON/YAML, Markdown
84
+ * @requirements 3.4 - Perform incremental parsing for changed file regions
85
+ * @requirements 3.7 - Cache parsed ASTs in memory with LRU eviction
86
+ */
87
+ export declare class ParserManager {
88
+ private readonly options;
89
+ private readonly parsers;
90
+ private readonly cache;
91
+ /** Maps file paths to their most recent cache key for incremental parsing */
92
+ private readonly filePathToKey;
93
+ private head;
94
+ private tail;
95
+ private stats;
96
+ constructor(options?: Partial<ParserManagerOptions>);
97
+ /**
98
+ * Register a parser for a specific language.
99
+ *
100
+ * @param parser - The parser to register
101
+ * @throws Error if a parser for the language is already registered
102
+ */
103
+ registerParser(parser: BaseParser): void;
104
+ /**
105
+ * Get the parser for a specific file path based on its extension.
106
+ *
107
+ * @param filePath - The file path to get a parser for
108
+ * @returns The appropriate parser, or null if no parser is available
109
+ */
110
+ getParser(filePath: string): BaseParser | null;
111
+ /**
112
+ * Detect the language of a file based on its extension.
113
+ *
114
+ * @param filePath - The file path to detect language for
115
+ * @returns The detected language, or null if unknown
116
+ *
117
+ * @requirements 3.2 - Detect language from file extension
118
+ */
119
+ detectLanguage(filePath: string): Language | null;
120
+ /**
121
+ * Parse source code with the appropriate parser.
122
+ *
123
+ * Uses cached AST if available and source hasn't changed.
124
+ * Supports incremental parsing when content has changed.
125
+ *
126
+ * @param filePath - The file path (used for language detection and cache key)
127
+ * @param source - The source code to parse
128
+ * @returns ParseResult containing the AST or errors
129
+ *
130
+ * @requirements 3.2 - Select appropriate parser for each language
131
+ * @requirements 3.4 - Perform incremental parsing for changed file regions
132
+ * @requirements 3.7 - Cache parsed ASTs with LRU eviction
133
+ */
134
+ parse(filePath: string, source: string): ParseResult;
135
+ /**
136
+ * Parse source code with explicit change information for optimal incremental parsing.
137
+ *
138
+ * This method is more efficient when you know exactly what changed.
139
+ *
140
+ * @param filePath - The file path
141
+ * @param source - The new source code
142
+ * @param changes - Array of text changes that were made
143
+ * @returns IncrementalParseResult with information about what was re-parsed
144
+ *
145
+ * @requirements 3.4 - Perform incremental parsing for changed file regions
146
+ */
147
+ parseWithChanges(filePath: string, source: string, changes: TextChange[]): IncrementalParseResult;
148
+ /**
149
+ * Attempt incremental parsing by detecting changes between old and new source.
150
+ *
151
+ * @param filePath - The file path
152
+ * @param newSource - The new source code
153
+ * @param oldSource - The previous source code
154
+ * @param previousResult - The previous parse result
155
+ * @param parser - The parser to use
156
+ * @returns ParseResult if incremental parsing succeeded, null otherwise
157
+ *
158
+ * @requirements 3.4 - Only re-parse changed regions
159
+ */
160
+ private parseIncremental;
161
+ /**
162
+ * Detect changes between old and new source code.
163
+ *
164
+ * Uses a simple diff algorithm to find changed regions.
165
+ *
166
+ * @param oldSource - The previous source code
167
+ * @param newSource - The new source code
168
+ * @returns Array of detected changes
169
+ */
170
+ private detectChanges;
171
+ /**
172
+ * Get the length of the old text that was replaced by a change.
173
+ */
174
+ private getOldTextLength;
175
+ /**
176
+ * Get the bounding region of all changes.
177
+ *
178
+ * @remarks This method is currently unused but will be used when
179
+ * Tree-sitter incremental parsing is fully integrated.
180
+ * @internal
181
+ */
182
+ private getChangedRegion;
183
+ /**
184
+ * Compute the regions that were re-parsed based on changes.
185
+ */
186
+ private computeReparsedRegions;
187
+ /**
188
+ * Parse a file from disk.
189
+ *
190
+ * Reads the file content and parses it with the appropriate parser.
191
+ *
192
+ * @param filePath - The path to the file to parse
193
+ * @returns ParseResult containing the AST or errors
194
+ */
195
+ parseFile(filePath: string): Promise<ParseResult>;
196
+ /**
197
+ * Check if a parser is registered for a specific language.
198
+ *
199
+ * @param language - The language to check
200
+ * @returns true if a parser is registered
201
+ */
202
+ hasParser(language: Language): boolean;
203
+ /**
204
+ * Get all registered languages.
205
+ *
206
+ * @returns Array of registered languages
207
+ */
208
+ getRegisteredLanguages(): Language[];
209
+ /**
210
+ * Get all supported file extensions.
211
+ *
212
+ * @returns Array of supported file extensions
213
+ */
214
+ getSupportedExtensions(): string[];
215
+ /**
216
+ * Check if a file extension is supported.
217
+ *
218
+ * @param extension - The file extension to check (with or without leading dot)
219
+ * @returns true if the extension is supported
220
+ */
221
+ isExtensionSupported(extension: string): boolean;
222
+ /**
223
+ * Invalidate cached AST for a specific file.
224
+ *
225
+ * @param filePath - The file path to invalidate cache for
226
+ * @returns true if an entry was invalidated
227
+ */
228
+ invalidateCache(filePath: string): boolean;
229
+ /**
230
+ * Clear all cached ASTs.
231
+ */
232
+ clearCache(): void;
233
+ /**
234
+ * Get the current cache statistics.
235
+ *
236
+ * @returns Current cache statistics
237
+ */
238
+ getCacheStats(): ParserCacheStats;
239
+ /**
240
+ * Reset cache statistics.
241
+ */
242
+ resetCacheStats(): void;
243
+ /**
244
+ * Get the current cache size.
245
+ *
246
+ * @returns Number of entries in the cache
247
+ */
248
+ get cacheSize(): number;
249
+ /**
250
+ * Compute a SHA-256 hash of content.
251
+ */
252
+ private computeHash;
253
+ /**
254
+ * Generate a cache key from file path and content hash.
255
+ */
256
+ private getCacheKey;
257
+ /**
258
+ * Get a parse result from the cache.
259
+ */
260
+ private getFromCache;
261
+ /**
262
+ * Add a parse result to the cache.
263
+ */
264
+ private addToCache;
265
+ /**
266
+ * Delete an entry from the cache.
267
+ */
268
+ private deleteFromCache;
269
+ /**
270
+ * Check if a cache entry has expired.
271
+ */
272
+ private isExpired;
273
+ /**
274
+ * Add a node to the front of the LRU list.
275
+ */
276
+ private addToFront;
277
+ /**
278
+ * Remove a node from the LRU list.
279
+ */
280
+ private removeFromList;
281
+ /**
282
+ * Move a node to the front of the LRU list.
283
+ */
284
+ private moveToFront;
285
+ /**
286
+ * Evict the least recently used entry.
287
+ */
288
+ private evictLRU;
289
+ /**
290
+ * Update the hit ratio statistic.
291
+ */
292
+ private updateHitRatio;
293
+ }
294
+ //# sourceMappingURL=parser-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-manager.d.ts","sourceRoot":"","sources":["../../src/parsers/parser-manager.ts"],"names":[],"mappings":"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"}