configforge 1.0.0-beta.13 → 1.0.0-beta.14

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.
@@ -9,6 +9,8 @@ const parsers_1 = require("../parsers");
9
9
  const fs_1 = require("fs");
10
10
  const PipelineBuilder_1 = require("./pipeline/PipelineBuilder");
11
11
  const PluginManager_1 = require("../plugins/PluginManager");
12
+ const BatchProcessor_1 = require("./BatchProcessor");
13
+ const IncrementalProcessor_1 = require("./IncrementalProcessor");
12
14
  /**
13
15
  * Main Converter class that implements the fluent API
14
16
  */
@@ -200,11 +202,21 @@ class Converter {
200
202
  }
201
203
  else if (Array.isArray(input) &&
202
204
  input.every(item => typeof item === 'string')) {
203
- // Array of file paths - for now, just handle the first one (batch processing will be implemented later)
205
+ // Array of file paths - use batch processing for multiple files
204
206
  if (input.length === 0) {
205
207
  throw new Error('No input files provided');
206
208
  }
207
- sourceData = await this.loadFromFile(input[0]);
209
+ if (input.length === 1) {
210
+ // Single file in array, process normally
211
+ sourceData = await this.loadFromFile(input[0]);
212
+ }
213
+ else {
214
+ // Multiple files, delegate to batch processing
215
+ const batchResult = await this.convertBatch(input);
216
+ // For backward compatibility, return the first successful result
217
+ // or create a combined result
218
+ return this.createCombinedResult(batchResult, startTime);
219
+ }
208
220
  }
209
221
  else {
210
222
  // Direct object input
@@ -232,6 +244,27 @@ class Converter {
232
244
  ], stats);
233
245
  }
234
246
  }
247
+ /**
248
+ * Convert multiple files using batch processing
249
+ */
250
+ async convertBatch(inputs, options) {
251
+ const batchProcessor = new BatchProcessor_1.BatchProcessor(this, options);
252
+ return batchProcessor.process(inputs);
253
+ }
254
+ /**
255
+ * Convert files incrementally (only changed files)
256
+ */
257
+ async convertIncremental(inputPath, outputPath, cacheDir) {
258
+ const incrementalProcessor = new IncrementalProcessor_1.IncrementalProcessor(this, cacheDir);
259
+ return incrementalProcessor.process(inputPath, outputPath);
260
+ }
261
+ /**
262
+ * Convert multiple files incrementally
263
+ */
264
+ async convertIncrementalBatch(inputPaths, outputDir, options) {
265
+ const incrementalProcessor = new IncrementalProcessor_1.IncrementalProcessor(this, options?.cacheDir);
266
+ return incrementalProcessor.processBatch(inputPaths, outputDir, options?.getOutputPath);
267
+ }
235
268
  /**
236
269
  * Synchronous conversion for objects only
237
270
  */
@@ -266,6 +299,36 @@ class Converter {
266
299
  const parser = parsers_1.parserRegistry.getBestParser(filePath, content, this.sourceSchema?.format);
267
300
  return parser.parse(content);
268
301
  }
302
+ /**
303
+ * Create a combined result from batch processing for backward compatibility
304
+ */
305
+ createCombinedResult(batchResult, startTime) {
306
+ const duration = performance.now() - startTime;
307
+ // Find the first successful result or create an empty one
308
+ const firstSuccessful = batchResult.results.find(r => r.errors.length === 0);
309
+ const combinedData = firstSuccessful?.data || {};
310
+ // Combine all warnings and unmapped fields
311
+ const allWarnings = [];
312
+ const allUnmapped = [];
313
+ const allErrors = [...batchResult.errors];
314
+ for (const result of batchResult.results) {
315
+ allWarnings.push(...result.warnings);
316
+ allUnmapped.push(...result.unmapped);
317
+ allErrors.push(...result.errors);
318
+ }
319
+ // Create combined stats
320
+ const stats = {
321
+ fieldsProcessed: batchResult.results.reduce((sum, r) => sum + r.stats.fieldsProcessed, 0),
322
+ fieldsMapped: batchResult.results.reduce((sum, r) => sum + r.stats.fieldsMapped, 0),
323
+ fieldsUnmapped: batchResult.results.reduce((sum, r) => sum + r.stats.fieldsUnmapped, 0),
324
+ fieldsWithDefaults: batchResult.results.reduce((sum, r) => sum + r.stats.fieldsWithDefaults, 0),
325
+ transformsApplied: batchResult.results.reduce((sum, r) => sum + r.stats.transformsApplied, 0),
326
+ validationErrors: allErrors.length,
327
+ duration,
328
+ };
329
+ return new ConversionResult_1.ConversionResultImpl(combinedData, allWarnings, [...new Set(allUnmapped)], // Remove duplicates
330
+ allErrors, stats);
331
+ }
269
332
  /**
270
333
  * Execute the core conversion logic using the Pipeline system
271
334
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { ConversionResult, ConfigForgeError } from '../types';
2
+ import { Converter } from './Converter';
3
+ /**
4
+ * IncrementalProcessor handles processing only changed files
5
+ * by maintaining a cache of file states and conversion results
6
+ */
7
+ export declare class IncrementalProcessor {
8
+ private converter;
9
+ private cache;
10
+ private cacheFile;
11
+ constructor(converter: Converter, cacheDir?: string);
12
+ /**
13
+ * Process a file only if it has changed since last conversion
14
+ */
15
+ process(inputPath: string, outputPath: string): Promise<ConversionResult | null>;
16
+ /**
17
+ * Process multiple files incrementally
18
+ */
19
+ processBatch(inputPaths: string[], outputDir: string, getOutputPath?: (inputPath: string) => string): Promise<{
20
+ processed: ConversionResult[];
21
+ skipped: string[];
22
+ errors: ConfigForgeError[];
23
+ }>;
24
+ /**
25
+ * Check if a file needs to be updated
26
+ */
27
+ private needsUpdate;
28
+ /**
29
+ * Update cache with successful conversion
30
+ */
31
+ private updateCache;
32
+ /**
33
+ * Update cache when processing fails
34
+ */
35
+ private updateCacheOnError;
36
+ /**
37
+ * Load cache from disk
38
+ */
39
+ private loadCache;
40
+ /**
41
+ * Save cache to disk
42
+ */
43
+ private saveCache;
44
+ /**
45
+ * Calculate hash of file content
46
+ */
47
+ private calculateHash;
48
+ /**
49
+ * Generate cache key for input/output pair
50
+ */
51
+ private getCacheKey;
52
+ /**
53
+ * Get default output path for a given input path
54
+ */
55
+ private getDefaultOutputPath;
56
+ /**
57
+ * Clear the cache
58
+ */
59
+ clearCache(): Promise<void>;
60
+ /**
61
+ * Get cache statistics
62
+ */
63
+ getCacheStats(): {
64
+ totalEntries: number;
65
+ successfulEntries: number;
66
+ failedEntries: number;
67
+ oldestEntry?: number;
68
+ newestEntry?: number;
69
+ };
70
+ /**
71
+ * Remove stale cache entries (files that no longer exist)
72
+ */
73
+ cleanupCache(): Promise<number>;
74
+ }
75
+ //# sourceMappingURL=IncrementalProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncrementalProcessor.d.ts","sourceRoot":"","sources":["../../src/core/IncrementalProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAkBxC;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,EAAE,SAAS,EAAE,QAAQ,GAAE,MAAuB;IAKnE;;OAEG;IACG,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IA8BnC;;OAEG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAAE,EACpB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAC5C,OAAO,CAAC;QACT,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,gBAAgB,EAAE,CAAC;KAC5B,CAAC;IAsCF;;OAEG;YACW,WAAW;IAmEzB;;OAEG;YACW,WAAW;IA8BzB;;OAEG;YACW,kBAAkB;IA4BhC;;OAEG;YACW,SAAS;IAevB;;OAEG;YACW,SAAS;IAiBvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC;;OAEG;IACH,aAAa,IAAI;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;IAiBD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAsBtC"}
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IncrementalProcessor = void 0;
4
+ const types_1 = require("../types");
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ const crypto_1 = require("crypto");
8
+ /**
9
+ * IncrementalProcessor handles processing only changed files
10
+ * by maintaining a cache of file states and conversion results
11
+ */
12
+ class IncrementalProcessor {
13
+ constructor(converter, cacheDir = '.configforge') {
14
+ this.cache = new Map();
15
+ this.converter = converter;
16
+ this.cacheFile = (0, path_1.join)(cacheDir, 'incremental-cache.json');
17
+ }
18
+ /**
19
+ * Process a file only if it has changed since last conversion
20
+ */
21
+ async process(inputPath, outputPath) {
22
+ try {
23
+ // Load cache if not already loaded
24
+ await this.loadCache();
25
+ // Check if file needs processing
26
+ const needsUpdate = await this.needsUpdate(inputPath, outputPath);
27
+ if (!needsUpdate) {
28
+ // File hasn't changed, return null to indicate no processing needed
29
+ return null;
30
+ }
31
+ // Process the file
32
+ const result = await this.converter.convert(inputPath);
33
+ // Save the result to the output file
34
+ await result.save(outputPath);
35
+ // Update cache with new information
36
+ await this.updateCache(inputPath, outputPath, result);
37
+ return result;
38
+ }
39
+ catch (error) {
40
+ // Update cache to mark as failed
41
+ await this.updateCacheOnError(inputPath, outputPath, error);
42
+ throw error;
43
+ }
44
+ }
45
+ /**
46
+ * Process multiple files incrementally
47
+ */
48
+ async processBatch(inputPaths, outputDir, getOutputPath) {
49
+ const processed = [];
50
+ const skipped = [];
51
+ const errors = [];
52
+ // Ensure output directory exists
53
+ await fs_1.promises.mkdir(outputDir, { recursive: true });
54
+ for (const inputPath of inputPaths) {
55
+ try {
56
+ // Determine output path
57
+ const outputPath = getOutputPath
58
+ ? getOutputPath(inputPath)
59
+ : this.getDefaultOutputPath(inputPath, outputDir);
60
+ // Process if needed
61
+ const result = await this.process(inputPath, outputPath);
62
+ if (result) {
63
+ processed.push(result);
64
+ // Note: result is already saved in the process() method
65
+ }
66
+ else {
67
+ skipped.push(inputPath);
68
+ }
69
+ }
70
+ catch (error) {
71
+ const configError = error instanceof types_1.ConfigForgeError
72
+ ? error
73
+ : new types_1.GenericConfigForgeError(`Failed to process ${inputPath}: ${error instanceof Error ? error.message : 'Unknown error'}`);
74
+ errors.push(configError);
75
+ }
76
+ }
77
+ return { processed, skipped, errors };
78
+ }
79
+ /**
80
+ * Check if a file needs to be updated
81
+ */
82
+ async needsUpdate(inputPath, outputPath) {
83
+ try {
84
+ // Get input file stats
85
+ const inputStats = await fs_1.promises.stat(inputPath);
86
+ const inputContent = await fs_1.promises.readFile(inputPath, 'utf-8');
87
+ const inputHash = this.calculateHash(inputContent);
88
+ // Check if output file exists
89
+ let outputExists = false;
90
+ let outputStats = null;
91
+ try {
92
+ outputStats = await fs_1.promises.stat(outputPath);
93
+ outputExists = true;
94
+ }
95
+ catch {
96
+ // Output file doesn't exist, needs processing
97
+ return true;
98
+ }
99
+ // Get cache entry
100
+ const cacheKey = this.getCacheKey(inputPath, outputPath);
101
+ const cacheEntry = this.cache.get(cacheKey);
102
+ // If no cache entry, needs processing
103
+ if (!cacheEntry) {
104
+ return true;
105
+ }
106
+ // If input file has been modified since last processing
107
+ if (inputStats.mtimeMs > cacheEntry.inputMtime) {
108
+ return true;
109
+ }
110
+ // If input content hash has changed
111
+ if (inputHash !== cacheEntry.inputHash) {
112
+ return true;
113
+ }
114
+ // If output file has been deleted or modified externally
115
+ // Allow for small timing differences (within 1 second) due to file system precision
116
+ if (!outputExists) {
117
+ return true;
118
+ }
119
+ if (outputStats &&
120
+ Math.abs(outputStats.mtimeMs - cacheEntry.outputMtime) > 1000) {
121
+ return true;
122
+ }
123
+ // If previous processing failed, try again
124
+ if (!cacheEntry.success) {
125
+ return true;
126
+ }
127
+ // File is up to date
128
+ return false;
129
+ }
130
+ catch (error) {
131
+ // If we can't determine the state, err on the side of processing
132
+ return true;
133
+ }
134
+ }
135
+ /**
136
+ * Update cache with successful conversion
137
+ */
138
+ async updateCache(inputPath, outputPath, result) {
139
+ try {
140
+ const inputStats = await fs_1.promises.stat(inputPath);
141
+ const outputStats = await fs_1.promises.stat(outputPath);
142
+ const inputContent = await fs_1.promises.readFile(inputPath, 'utf-8');
143
+ const inputHash = this.calculateHash(inputContent);
144
+ const cacheKey = this.getCacheKey(inputPath, outputPath);
145
+ const cacheEntry = {
146
+ inputPath,
147
+ outputPath,
148
+ inputHash,
149
+ inputMtime: inputStats.mtimeMs,
150
+ outputMtime: outputStats.mtimeMs,
151
+ lastProcessed: Date.now(),
152
+ success: result.errors.length === 0,
153
+ };
154
+ this.cache.set(cacheKey, cacheEntry);
155
+ await this.saveCache();
156
+ }
157
+ catch (error) {
158
+ // Cache update failed, but don't fail the conversion
159
+ console.warn('Failed to update incremental cache:', error);
160
+ }
161
+ }
162
+ /**
163
+ * Update cache when processing fails
164
+ */
165
+ async updateCacheOnError(inputPath, outputPath, _error) {
166
+ try {
167
+ const inputStats = await fs_1.promises.stat(inputPath);
168
+ const inputContent = await fs_1.promises.readFile(inputPath, 'utf-8');
169
+ const inputHash = this.calculateHash(inputContent);
170
+ const cacheKey = this.getCacheKey(inputPath, outputPath);
171
+ const cacheEntry = {
172
+ inputPath,
173
+ outputPath,
174
+ inputHash,
175
+ inputMtime: inputStats.mtimeMs,
176
+ outputMtime: 0, // No output file
177
+ lastProcessed: Date.now(),
178
+ success: false,
179
+ };
180
+ this.cache.set(cacheKey, cacheEntry);
181
+ await this.saveCache();
182
+ }
183
+ catch {
184
+ // Ignore cache update errors
185
+ }
186
+ }
187
+ /**
188
+ * Load cache from disk
189
+ */
190
+ async loadCache() {
191
+ try {
192
+ const cacheContent = await fs_1.promises.readFile(this.cacheFile, 'utf-8');
193
+ const cacheData = JSON.parse(cacheContent);
194
+ this.cache.clear();
195
+ for (const [key, entry] of Object.entries(cacheData)) {
196
+ this.cache.set(key, entry);
197
+ }
198
+ }
199
+ catch {
200
+ // Cache file doesn't exist or is invalid, start with empty cache
201
+ this.cache.clear();
202
+ }
203
+ }
204
+ /**
205
+ * Save cache to disk
206
+ */
207
+ async saveCache() {
208
+ try {
209
+ // Ensure cache directory exists
210
+ await fs_1.promises.mkdir((0, path_1.dirname)(this.cacheFile), { recursive: true });
211
+ // Convert Map to object for JSON serialization
212
+ const cacheData = {};
213
+ for (const [key, entry] of this.cache.entries()) {
214
+ cacheData[key] = entry;
215
+ }
216
+ await fs_1.promises.writeFile(this.cacheFile, JSON.stringify(cacheData, null, 2));
217
+ }
218
+ catch (error) {
219
+ console.warn('Failed to save incremental cache:', error);
220
+ }
221
+ }
222
+ /**
223
+ * Calculate hash of file content
224
+ */
225
+ calculateHash(content) {
226
+ return (0, crypto_1.createHash)('sha256').update(content).digest('hex');
227
+ }
228
+ /**
229
+ * Generate cache key for input/output pair
230
+ */
231
+ getCacheKey(inputPath, outputPath) {
232
+ return `${inputPath}:${outputPath}`;
233
+ }
234
+ /**
235
+ * Get default output path for a given input path
236
+ */
237
+ getDefaultOutputPath(inputPath, outputDir) {
238
+ const fileName = inputPath
239
+ .split(/[/\\]/)
240
+ .pop()
241
+ ?.replace(/\.[^/.]+$/, '') || 'output';
242
+ return (0, path_1.join)(outputDir, `${fileName}.json`);
243
+ }
244
+ /**
245
+ * Clear the cache
246
+ */
247
+ async clearCache() {
248
+ this.cache.clear();
249
+ try {
250
+ await fs_1.promises.unlink(this.cacheFile);
251
+ }
252
+ catch {
253
+ // Cache file doesn't exist, nothing to do
254
+ }
255
+ }
256
+ /**
257
+ * Get cache statistics
258
+ */
259
+ getCacheStats() {
260
+ const entries = Array.from(this.cache.values());
261
+ const successful = entries.filter(e => e.success);
262
+ const failed = entries.filter(e => !e.success);
263
+ const timestamps = entries.map(e => e.lastProcessed);
264
+ return {
265
+ totalEntries: entries.length,
266
+ successfulEntries: successful.length,
267
+ failedEntries: failed.length,
268
+ ...(timestamps.length > 0 && {
269
+ oldestEntry: Math.min(...timestamps),
270
+ newestEntry: Math.max(...timestamps),
271
+ }),
272
+ };
273
+ }
274
+ /**
275
+ * Remove stale cache entries (files that no longer exist)
276
+ */
277
+ async cleanupCache() {
278
+ const keysToRemove = [];
279
+ for (const [key, entry] of this.cache.entries()) {
280
+ try {
281
+ await fs_1.promises.access(entry.inputPath, fs_1.promises.constants.R_OK);
282
+ }
283
+ catch {
284
+ // Input file no longer exists
285
+ keysToRemove.push(key);
286
+ }
287
+ }
288
+ for (const key of keysToRemove) {
289
+ this.cache.delete(key);
290
+ }
291
+ if (keysToRemove.length > 0) {
292
+ await this.saveCache();
293
+ }
294
+ return keysToRemove.length;
295
+ }
296
+ }
297
+ exports.IncrementalProcessor = IncrementalProcessor;
298
+ //# sourceMappingURL=IncrementalProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IncrementalProcessor.js","sourceRoot":"","sources":["../../src/core/IncrementalProcessor.ts"],"names":[],"mappings":"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"}