Skip to content

fix: stricter files array in react-native's package.json#56407

Open
Saadnajmi wants to merge 1 commit intofacebook:mainfrom
Saadnajmi:patch-1
Open

fix: stricter files array in react-native's package.json#56407
Saadnajmi wants to merge 1 commit intofacebook:mainfrom
Saadnajmi:patch-1

Conversation

@Saadnajmi
Copy link
Copy Markdown
Contributor

Summary:

See https://github.com/microsoft/react-native-macos/pull/2839/changes#r2850281910

npm publish, when reading this package.json will treat dirs in the files array as a recursive glob, while yarn npm publish (which react-native-macos uses) will not. However, explicitly adding the glob is compatible with both.

Changelog:

[GENERAL] [FIXED] - Use glob pattern in package json files array

Test Plan:

Tested in React Native macOS with npm pack

See https://github.com/microsoft/react-native-macos/pull/2839/changes#r2850281910

`npm publish`, when reading this package.json will treat dirs in the files array as a recursive glob, while `yarn npm publish` (which react-native-macos uses) will not. However, explicitly adding the glob is compatible with both.
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Apr 9, 2026
@facebook-github-tools facebook-github-tools bot added p: Microsoft Partner: Microsoft Partner Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team. labels Apr 9, 2026
Saadnajmi added a commit to Saadnajmi/react-native-macos that referenced this pull request Apr 11, 2026
npm pack treats directory entries in "files" as recursive globs, but
yarn pack does not. Use explicit glob patterns (e.g. "scripts/cocoapods/**"
instead of "scripts/cocoapods") so both tools include the full directory
contents.

This is the same fix as facebook#56407.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Saadnajmi added a commit to Saadnajmi/react-native-macos that referenced this pull request Apr 11, 2026
Three fixes for the CI "Test react-native-macos init" job:

1. Simplify apple platform resolution in react-native.config.js to
   use the same pattern as ios/android (resolve from cwd directly).

2. Use glob patterns in package.json files array ("scripts/cocoapods/**"
   instead of "scripts/cocoapods") so yarn pack includes directory
   contents. See facebook#56407.

3. Replace `npm install <local-path>` (creates symlinks) with
   `yarn pack` + `npm install <tarball>` + `chmod +x`. The symlink
   approach caused module instance duplication (setFrameworkDefaults
   targeting wrong @react-native/metro-config instance) and missing
   pre-generated codegen headers. The tarball approach matches what
   users get from npm.

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

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Microsoft Partner: Microsoft Partner Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant