Fixes #9: Parser performance optimizations

- Pre-compile all regex patterns as module-level constants in parser.js and jsonRepair.js
- Add format detection caching (lastDetectedFormat, formatCacheHits) to skip redundant checks
- Add clearFormatCache() export for cache invalidation
- Add comprehensive test suite (33 tests) for parser and jsonRepair modules
- Fix regex escaping in dynamic patterns (statRegex, fieldRegex)
- Improve toFieldKey() regex specificity
This commit is contained in:
2026-07-12 13:58:21 +02:00
parent c9d604ab68
commit 4e4b2328ba
9 changed files with 8379 additions and 94 deletions
+22
View File
@@ -0,0 +1,22 @@
// Jest setup file - set up mocks before tests run
const mockState = {
extensionSettings: {
debugMode: false,
userStats: {},
trackerConfig: {},
quests: { main: '', optional: [] }
},
FEATURE_FLAGS: { useNewInventory: false },
addDebugLog: () => {}
};
const mockPersistence = {
saveSettings: () => {}
};
const mockInventoryParser = {
extractInventory: () => null
};
// We can't easily mock ESM imports in Jest without transform
// Instead, we'll create mock files that Jest can use