Skip to content

Final clean-up: comments, dependencies, debug ios, register URLs, package contents (REV-144) - #78

Open
revopushbot wants to merge 2 commits into
mainfrom
feature/rev-144-cleanup
Open

revopushbot wants to merge 2 commits into
mainfrom
feature/rev-144-cleanup

Conversation

@revopushbot

Copy link
Copy Markdown
Contributor

Last PR in the REV-132..145 clean-up series. It also includes #77's commit (a0cf51c), so #77 will be closed.

Changes

  • Ctrl+C at a y/N prompt (from Treat Ctrl+C at a y/N prompt as no; clean up temp zips safely; remove dead code #77) now counts as "no". Other prompt errors still fail the command. Temp zips are deleted best-effort, and a partial zip is removed on failure.
  • Comments: only the "why" comments are kept. Release and metrics helpers moved next to the code that uses them, with no logic change.
  • Bundler: one runner for react-native bundle and expo export:embed. A release now fails unless the bundler exits with 0, failing to start the bundler is reported as an error, and a blank CODE_PUSH_NODE_ARGS is ignored. The raw-args debug log was dropped.
  • hermesc no longer gets CODE_PUSH_NODE_ARGS. Those are Node options, copied by mistake in the original code.
  • Dependencies: backslash, email-validator, wordwrap, which and simctl are replaced with small local code. The backslash and email rules match the old libraries exactly, and a repeated --description no longer crashes.
  • debug ios works again on current Xcode: simulators no longer write a system.log file, so logs are read with xcrun simctl spawn <udid> log stream.
  • register takes [apiServerUrl] [appServerUrl], like login.
  • release-native removes its metadata zip when the release fails before uploading.
  • npm package: only bin/script is published (26 files / 48.7 kB instead of 108 / 152 kB). The build cleans first, and prepack builds.
  • Tests use a private temp folder. New tests cover the bundler, the terminal prompts, uploads and createZip.

Verification

  • 172 tests pass on macOS and on Linux (Docker, node 20). Lint and format are clean.
  • Compared with main, using the built CLI:
    • 45 commands against a fake server: identical output.
    • 24 release-react/expo runs: identical apart from the dropped raw-args log.
    • 154 parser cases: identical apart from register.
    • Native release: checked.
  • Ctrl+C was tested in a real terminal. debug ios was tested on a booted simulator, and debug android was also checked.

Old bugs found in the code review are tracked in REV-146 and are not part of this PR.

🤖 Generated with Claude Code

revopushbot and others added 2 commits October 15, 2026 21:23
… dead code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…kage contents

- Keep only "why" comments; move release and metrics helpers next to the code that uses them
- One bundler runner: fails unless the bundler exits 0, reports spawn errors, ignores blank CODE_PUSH_NODE_ARGS
- hermesc no longer gets CODE_PUSH_NODE_ARGS (copy-paste from the original code)
- Replace backslash, email-validator, wordwrap, which and simctl with small local code that keeps their behaviour
- Repair debug ios on current Xcode: read simulator logs with simctl log stream
- register takes [apiServerUrl] [appServerUrl] like login
- release-native removes its metadata zip when the release fails before uploading
- Publish only bin/script; clean before build and pack
- Tests use a private temp folder

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant