Repository navigation
Conversation
robhogan
marked this pull request as ready for review
September 13, 2026 13:38
## Summary: Bump minimum Metro version to 0.87.1, within the same semver range, to ensure upgraders get the same version as fresh projects would. Mostly fixes, including a couple of `Platform` inlining corrections, and more comprehensive and readable TypeScript types. It also replaces the `image-size` dependency to clear CVE alerts. Metro release notes: https://github.com/react/metro/releases/tag/v0.87.1 ## Changelog: [General] [Changed] - Bump Metro minimum to 0.87.1 ## Test Plan: ``` yarn install --frozen-lockfile --ignore-scripts yarn flow-check yarn test packages/metro-config packages/community-cli-plugin packages/dev-middleware ```
robhogan
force-pushed
the
robhogan/metro-0.87.1
branch
from
September 16, 2026 10:48
888fd4c to
74e8199
Compare
Collaborator
Author
|
Closing as superseded by #59509 |
meta-codesync Bot
pushed a commit
that referenced
this pull request
Oct 27, 2026
Summary: Bump minimum Metro version to 0.87.2, within the same semver range, to ensure upgraders get the same version as fresh projects would. This supersedes #58506 (0.87.1). Mostly fixes, to file watching, resolution and source maps, plus faster resolution and source map composition. It removes `micromatch` to clear a CVE alert. Assets outside `projectRoot` now get `[metro-watchFolders]/N/` URLs, which also moves them in release builds. Metro release notes: - https://github.com/react/metro/releases/tag/v0.87.1 - https://github.com/react/metro/releases/tag/v0.87.2 ## Changelog: [General] [Changed] - Bump Metro minimum to 0.87.2 Pull Request resolved: #59509 Test Plan: From the fbsource root: ``` xplat/third-party/yarn/yarn install --ignore-scripts --non-interactive --cwd xplat/js xplat/third-party/yarn/yarn --force --ignore-scripts --non-interactive --cwd xplat/js/public xplat/yarn-validation/bin/yarn-validation -p xplat/js -p xplat/js/public -p xplat/js/react-native-github -k SMART_INSTALL_VERBOSE=1 bash xplat/js/scripts/update-oss-yarn-lockfile.sh test buck2 build fbsource//xplat/js:workspace arc lint -a ``` - Explicit Yarn validation passed for all three projects: `xplat/js`, `xplat/js/public` and `xplat/js/react-native-github`, including the offline mirror. The public project checks its version-controlled dependency files, not only its lockfile. - Public Metro Babel-register files match the 0.87.2 archive byte-for-byte. The 112 removed files belong to its obsolete Hermes parser dependency chain; required Flow-parser WASM/generated files remain intact. Independent review verified React Native resolves the nested Metro runtime to 0.87.2. - The public `flow-parser/babel-plugin` passed 3 real-Babel smoke cases: typed exports, Flow enums and component syntax. A standalone full public Babel-register config attempt could not run because this project intentionally replaces `babel/core` with a dummy package; the parser-plugin smoke used the real root Babel toolchain. - Independent OSS install used a fresh temporary tree/cache and `--offline --frozen-lockfile --ignore-scripts`: `Lockfile is up-to-date.` - Workspace build passed: https://www.internalfb.com/buck2/135bb490-de5b-44f0-89ee-1e3543a44182 - Lint passed with no issues; direct ESLint also passed for all five modified package manifests. ``` (cd xplat/js && js1 test --config react-native-github/jest.config.js --ci --runInBand --testPathPattern="react-native-github/packages/(metro-config|community-cli-plugin|dev-middleware)/") ``` 16 suites, 164 tests and 1 snapshot passed. The selector includes `metro-config`, but that package has no matching dedicated suites; the executed suites cover `community-cli-plugin` and `dev-middleware`. A preliminary config-only attempt hit an overlapping-install ENOENT; the isolated run passed. These focused suites use the root dependency installation; public-tree coverage is the explicit project validation and parser smoke above. Independent review confirmed all 16 release archives match their locked integrity and package metadata. Full Flow was not rerun. Reviewed By: cortinico Differential Revision: D127624345 Pulled By: javache fbshipit-source-id: bc03900422f78adcd16c9074c819fcfe710aab88
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.
Summary:
Bump minimum Metro version to 0.87.1, within the same semver range, to ensure upgraders get the same version as fresh projects would.
Mostly fixes, including a couple of
Platforminlining corrections, and more comprehensive and readable TypeScript types. It also replaces theimage-sizedependency to clear CVE alerts.Metro release notes: https://github.com/react/metro/releases/tag/v0.87.1
Changelog:
[General] [Changed] - Bump Metro minimum to 0.87.1
Test Plan: