Repository navigation
fix: keep .js/.json precedence over .node and verify prebuild Info.plist - #467
Open
kraenhansen wants to merge 2 commits into
Open
kraenhansen wants to merge 2 commits into
kraenhansen wants to merge 2 commits into
Conversation
Closes #424 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RFTxhqB2yuMZU7AvpM5nvx
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RFTxhqB2yuMZU7AvpM5nvx
kraenhansen
force-pushed
the
claude/sleepy-babbage-cv5w7g
branch
from
October 11, 2026 20:37
0a66da1 to
fd9cfb9
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #424. Supersedes #426, which conflicts with
nextand carries unrelated commits; this is a clean take on the same two gaps. @kraenhansen for review.Changes
isNodeApiModulenow returnsfalsefor an extensionless path when<path>.jsor<path>.jsonexists, matching Node's resolution order. Previouslyrequire('./my-addon')was rewritten torequireNodeAddon(...)whenever a siblingmy-addon.nodeexisted.my-addon.nodenext tomy-addon.js. It fails without the fix above.verify-prebuilds.mtsparses each framework'sInfo.plistand asserts thatCFBundleExecutableandCFBundleNamematch the framework name, thatCFBundleIdentifieronly contains valid characters, and that the executable exists. It adds@expo/plist(same version aspackages/host) as a devDependency ofnode-addon-examples.The script doesn't know the identifier that was requested at build time, so it checks that the identifier is valid rather than equal to an expected value.
Test plan
pnpm run build,eslint,prettier:checkpass.pnpm --filter react-native-node-api test: all pass except 4 permission tests that fail the same way onnexthere because the sandbox runs as root.verify-prebuildschange is not run here (needs Apple toolchain output); it type-checks and lints.🤖 Generated with Claude Code
https://claude.ai/code/session_01RFTxhqB2yuMZU7AvpM5nvx
Generated by Claude Code