Skip to content

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

Open
Saadnajmi wants to merge 1 commit into
react:mainfrom
Saadnajmi:patch-1
Open

Saadnajmi wants to merge 1 commit into
react: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 react#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 react#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>
@react-native-bot

Copy link
Copy Markdown
Collaborator

This PR is stale because it has been open for 180 days with no activity. It will be closed in 7 days unless you comment on it or remove the "Stale" label.

@react-native-bot react-native-bot added the Stale There has been a lack of activity on this issue and it may be closed soon. label Oct 7, 2026

This branch has not been deployed

No deployments
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. Stale There has been a lack of activity on this issue and it may be closed soon.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants