Skip to content

feat(cli): improve command help and metadata handling while preserving Node 20 compatibility - #45

Merged
GFean merged 2 commits into
mainfrom
feature/cli-dependency-modernization
Sep 22, 2026
Merged

GFean merged 2 commits into
mainfrom
feature/cli-dependency-modernization

Conversation

@GFean

@GFean GFean commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner

Improve CLI command discovery and metadata handling while retaining the existing Node.js >=20.19.4 requirement. Commands are grouped into Setup, Analysis, Releases, and Account, with clearer validation and help after errors.

Changes

  • Pin Commander 14.0.3 and Plist 5.0.0; retain Chalk 4.1.2 and Figures 3.2.0 for Node 20 compatibility.
  • Share an asynchronous XML-only plist reader between upload and Sight, preserving version precedence, Xcode variable resolution, and ambiguous-identity handling.
  • Recognize the implicit iOS Hermes default for verified standard React Native 0.81.x templates. Explicit settings retain precedence; custom or unrecognized configurations keep their existing behavior.
  • Preserve CommonJS output and mobile import boundaries, simplify Jest dependency transforms, and retain test-inclusive typechecking.
  • Add packed CLI compatibility CI for Linux on Node 20.19.4, 22.0.0, 22.13.0, and 24.15.0, plus Windows on Node 20.19.4.

Compatibility

  • Consumer minimum remains Node.js 20.19.4; development and builds remain pinned to 22.13.0.
  • No public SDK API, native code, backend contract, or archive-format changes. Package version and nativeVersion are unchanged.
  • Existing command names, options, defaults, repeated includes, excess arguments, and asynchronous action handling are preserved.
  • Mobile JavaScript and declarations were byte-compared before and after the Node 20 compatibility adjustment and remained unchanged.

Validation

  • Immutable installation, yarn verify:quick, and production dependency audit passed. Repository verification included 1,990 passing tests across 91 suites; existing skips and coverage thresholds were retained.
  • The same built tarball passed isolated CLI/runtime checks on Node 20.19.4, 22.0.0, 22.13.0, and 24.15.0, covering command help, version handling, validation, colors, and real XML parsing/rejection. Node 20.14.0 also passed additional checks but remains below the supported minimum.
  • Real consumer checks covered local iOS Sight generation on Node 20.14.0 and 20.19.4, intercepted upload preparation, and a PocketDemo Sight comparison on 20.19.4.
  • A fresh React Native 0.81.5 fixture on Node 20.19.4 completed interactive AI initialization against staging, doctor/sync checks, repeat-init checks, iOS and Android staging uploads, archive downloads and integrity verification, and single Sight analysis. Hermes bytecode and archive metadata were verified.
  • Fresh browser authorization, CLI login, whoami, authenticated sync, and logout passed. Uploaded bundles were visually confirmed in the staging dashboard.
  • Integration flows were not repeated on every Node version. The latest run did not include device installation/apply/rollback, a native binary build, Expo initialization, or EAS receipt generation. Windows execution is covered by CI rather than local macOS results.

README and contributing guidance now distinguish the supported consumer minimum from the development Node version. No coverage thresholds or release gates were lowered.

Upgrade pinned CLI dependencies, preserve CommonJS and mobile import boundaries, and add packed runtime compatibility checks. Keep plist metadata XML-only and recognize the verified implicit iOS Hermes default in React Native 0.81.x templates.

BREAKING CHANGE: Node.js 22.12.0 or newer is required to install Bundle Drop, including SDK-only consumers. Node 20 is no longer supported.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-22T11:51:22.234051Z ab35417 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Comment thread src/scripts/iosHermesDefault.ts Dismissed
@GFean GFean changed the title feat(cli)!: modernize CLI dependencies and improve command help feat(cli): improve command help and metadata handling while preserving Node 20 compatibility Sep 22, 2026
@GFean
GFean enabled auto-merge (squash) September 22, 2026 15:34
@GFean
GFean merged commit 945c334 into main Sep 22, 2026
24 checks passed
@GFean
GFean deleted the feature/cli-dependency-modernization branch September 22, 2026 15:34
@GFean GFean mentioned this pull request Sep 22, 2026
GFean added a commit that referenced this pull request Sep 22, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.9.0](v0.8.1...v0.9.0)
(2026-09-22)


### Features

* **cli:** improve command help and metadata handling while preserving
Node 20 compatibility
([#45](#45))
([945c334](945c334))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
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.

2 participants