-
Couldn't load subscription status.
- Fork 4
MacOS test app and fix hermes vendoring from react-native-macos
#297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
ea60bd0 to
4f1711e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for macOS test apps by introducing initialization scripts, CI workflow integration, and fixes for React Native macOS compatibility. The changes enable automated testing on macOS and improve Hermes vendoring detection for react-native-macos.
Key Changes:
- Added macOS test app initialization script with React Native macOS template setup
- Implemented caller stack inspection in Ruby script to automatically detect react-native vs react-native-macos
- Refactored XCFramework slice selection to use prioritized fallback lists instead of single hardcoded paths
Reviewed Changes
Copilot reviewed 7 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.scripts.json | New TypeScript configuration for scripts directory |
| scripts/init-macos-test-app.ts | Script to initialize and configure a React Native macOS test application |
| packages/host/scripts/patch-hermes.rb | Added automatic detection of React Native package type using caller stack |
| packages/ferric/src/cargo.ts | Changed XCFramework slice mapping from single values to prioritized arrays with fallback logic |
| package.json | Added init-macos-test-app script and read-pkg dependency |
| .github/workflows/check.yml | Added macOS test job with label-based triggering |
| .changeset/silly-mice-warn.md | Changeset documenting Hermes vendoring fix for macOS |
| - uses: actions/checkout@v4 | ||
| - uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: lts/jod |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'jod' to 'iron'. The Node.js LTS codename should be 'iron'.
| // "--platform-name", | ||
| // "react-native-macos", |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Commented-out code should be removed. If these options were used during development but are no longer needed, they should be deleted rather than left as comments.
| // "--platform-name", | |
| // "react-native-macos", |
2e29784 to
17ff79e
Compare
fc102b4 to
e1b3cea
Compare
ecb0fee to
ab26a44
Compare
|
Drafting again as I'll attempt to include running the tests in this PR as well. I believe I'm pretty far, while having difficulties initializing the host TurboModule 🤔
|
Merging this PR will:
--react-native-package- fixing Support vendoring Hermes for out-of-tree platforms #270Note how the CI job prints this while pod installing: