Files
msd-core/bin
Tibsfox ffe5319fe5 fix(install): handle JSONC (comments) in settings.json without data loss
When settings.json contains comments (// or /* */), which many CLI tools
allow, JSON.parse() fails and readSettings() silently returned {}.
This empty object was then written back by writeSettings(), destroying
the user's entire configuration.

Changes:
- Add stripJsonComments() that handles line comments, block comments,
  trailing commas, and preserves comments inside string values
- readSettings() tries standard JSON first (fast path), falls back to
  JSONC stripping on parse failure
- On truly malformed files (even JSONC stripping fails), return null
  with a warning instead of silently returning {} — prevents data loss
- All callers of readSettings() now guard against null return to skip
  settings modification rather than overwriting with empty object

Closes #1461

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 13:52:51 -07:00
..