You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Start fix for #324, #351
Assisted-by: Claude Code:claude-opus-5-5
* Add tests for JSON writers losing file layout
Regression tests for #324 (npm lock CRLF, tab indent and BOM through
hosted rewrite, rollback, vendor and vendor --revert) and #351
(composer.json CRLF and string escapes through setup and
setup --remove). The composer tests pass with the splice-based
editor added in this commit; the npm ones fail until the next.
Assisted-by: Claude Code:claude-opus-5-5
* Keep npm lock CRLF, tabs and BOM on rewrite
The hosted and vendored npm lock rewriters, rollback and
vendor --revert now render the lock in its own layout (BOM, indent,
line ending, trailer) through JsonLayout, so a CRLF or tab-indented
lock gets a two-line diff and undo restores the original bytes.
A UTF-8 BOM lock, which npm installs from, is now read past its BOM
instead of being skipped (hosted) or refused with the wrong code
(vendored), and VEX discovery reads it too.
Fixes#324
Assisted-by: Claude Code:claude-opus-5-5
* Note the layout-keeping JSON edits in CHANGELOG
Assisted-by: Claude Code:claude-opus-5-5
* Add real-npm e2e for a CRLF + BOM package-lock
Vendors a CRLF lock with a UTF-8 BOM, proves a fresh npm ci installs
the patched bytes from it, and that vendor --revert restores the
lock byte for byte (#324).
Assisted-by: Claude Code:claude-opus-5-5
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mikola Lysenko <mik@socket.dev>
0 commit comments