Skip to content

Conversation

@kitten
Copy link
Contributor

@kitten kitten commented Nov 25, 2025

Summary:

This upgrades react-native from glob@^7.0.0, which has been deprecated for a while, past some versions with security notices, to the latest version, glob@^13.0.0. The flow typings are only partially added and skip over some unused minipass and path-scurry functionality.

Note

This is a stopgap solution until fs.glob becomes generally available with the EOL of Node v20. Hence, this PR targets a specific release branch. Previous PR, for context, was: #48875

Changelog:

[GENERAL] [CHANGED] - Upgrade from deprecated glob@^7.0.0 to supported glob@^13.0.0

Test Plan:

  • Existing tests are expected to cover this change

Changes in glob are captured here: https://github.com/isaacs/node-glob/blob/v13.0.0/changelog.md

Relevant breaking changes are:

  • Drop support for node before v20
  • exclude symbolic links to directories when follow and nodir are both set
  • Return '.' instead of the empty string '' when the current working directory is returned as a match.
  • Support { absolute:false } option to explicitly always return relative paths. An unset absolute setting will still return absolute or relative paths based on whether the pattern is absolute.
  • Bring back the root option, albeit with slightly different semantics than in v8 and before.
  • Patterns ending in / will still be restricted to matching directories, but will not have a / appended in the results
  • Simplified cwd behavior so it is far less magical, and relies less on platform-specific absolute path representations.
  • Add windowsPathsNoEscape option
  • \ is now only used as an escape character, and never as a path separator in glob patterns, so that Windows users have a way to match against filenames containing literal glob pattern characters.
  • (8.0.2) cwd and root will always be automatically coerced to use / as path separators on Windows, as they cannot contain glob patterns anyway, and are often supplied by path.resolve() and other methods that will use \ path separators by default.

@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 Nov 25, 2025
@kitten
Copy link
Contributor Author

kitten commented Dec 1, 2025

Succeeded by: #54737

@kitten kitten closed this Dec 1, 2025
meta-codesync bot pushed a commit that referenced this pull request Dec 3, 2025
Summary:
This replaces `glob@^7.0.0` with `tinyglobby@^0.2.15`. `glob@7` has been deprecated for a while and some versions after had security notices released for them. The plan is to backport this PR to `0.81.x` and onwards.

> [!NOTE]
> This is a stopgap solution until `fs.glob` becomes generally available with the EOL of Node v20

Succeeds:
- #54669
- #48875

## Changelog:

[GENERAL] [SECURITY] - Replace `glob@^7.0.0` with `tinyglobby@^0.2.15`

Pull Request resolved: #54737

Test Plan:
- Ran all modified commands manually and `pod install in `rn-tester`
- NOTE: `ios-prebuild`-related scripts haven't been run manually yet

Reviewed By: robhogan

Differential Revision: D88069145

Pulled By: huntie

fbshipit-source-id: 0c455342a4c6d1d6605fd09fe47b418e5d751491
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: Expo Partner: Expo Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants