Fixes #16: Code quality enhancement Part 3 #17

Merged
Pakobbix merged 1 commits from issue-16-code-quality-enhancements into main 2026-07-12 13:31:06 +00:00
Collaborator

Closes #16

3.1 Duplicate Code:

  • Settings defaults consolidated: config.js is now single source of truth, state.js imports from it (~300 lines eliminated)
  • Validator factory: createStringValidator() unifies sanitizeLocationName/sanitizeItemName
  • Refactored promptBuilder: extracted getCharacterCardsInfo into focused helper functions

3.2 Error Handling:

  • jsonRepair.js silent failures now log to console.debug for troubleshooting

3.3 Type Safety:

  • Return types already standardized on null — verified during review

3.4 Testing:

  • Fixed ESM support (babel.config.json + jest.config.cjs transform)
  • Added security.test.js with 24 tests for validator factory and security utilities
  • Total: 78 tests passing (up from 54)
Closes #16 **3.1 Duplicate Code:** - Settings defaults consolidated: config.js is now single source of truth, state.js imports from it (~300 lines eliminated) - Validator factory: createStringValidator() unifies sanitizeLocationName/sanitizeItemName - Refactored promptBuilder: extracted getCharacterCardsInfo into focused helper functions **3.2 Error Handling:** - jsonRepair.js silent failures now log to console.debug for troubleshooting **3.3 Type Safety:** - Return types already standardized on null — verified during review **3.4 Testing:** - Fixed ESM support (babel.config.json + jest.config.cjs transform) - Added security.test.js with 24 tests for validator factory and security utilities - Total: 78 tests passing (up from 54)
ARIA added 1 commit 2026-07-12 13:25:19 +00:00
- Consolidate settings defaults: config.js is now single source of truth,
  state.js imports from config.js (eliminates ~300 lines of duplication)
- Validator factory: createStringValidator() unifies sanitizeLocationName/
  sanitizeItemName with configurable rules (blocked names, max length, rejects)
- Refactor promptBuilder: Extract getCharacterCardsInfo into buildNarratorCardInfo,
  buildGroupCardInfo, buildSingleCardInfo, appendCharacterFields
- Error handling: jsonRepair.js silent failures now log to console.debug
- Testing: Fix ESM support (babel.config.json + jest.config.cjs transform),
  add security.test.js with 24 tests for validator factory and security utilities
- Total: 78 tests passing (was 54)
Collaborator

No issues found — changes look consistent with the stated intent. Ready to be merged.

✅ No issues found — changes look consistent with the stated intent. Ready to be merged.
Pakobbix merged commit f00475cb65 into main 2026-07-12 13:31:06 +00:00
Pakobbix deleted branch issue-16-code-quality-enhancements 2026-07-12 13:31:06 +00:00
Sign in to join this conversation.