Skip to content

Refactor out unused bundleType from BundleOptions #51094

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

robhogan
Copy link
Contributor

@robhogan robhogan commented May 4, 2025

Summary:

Metro

bundleType is only used by Metro's reporter upon receipt of a request to Metro server, and is unnecessarily part of BundleOptions as passed to serialisers.

Within the server, it's redundant because we've already inspected the pathname extension of .bundle, etc, before deciding which request processor to use - so we can simply make it part of creating the request processor, instead of passing the same string to every call to the processor.

This diff removes bundleType from the BundleOptions type while retaining it in the return type of parseOptionsFromUrl (a public API) for now.

Callers may continue to pass it - it'll be unused as it always has been - so this is non-breaking

React Native

Remove bundleType, unused in Metro <=0.82.2 and invalid in Metro 0.82.3. The Flow suppression may be removed once 0.82.3 is published, but is temporarily required because the Flow types are different in main (Meta-internal CI) vs latest published (OSS CI).

Changelog: [Internal]

Differential Revision: D74150833

Summary:
## Metro
`bundleType` is only used by Metro's reporter upon receipt of a request to Metro server, and is unnecessarily part of `BundleOptions` as passed to serialisers.

Within the server, it's redundant because we've already inspected the `pathname` extension of `.bundle`, etc, before deciding which request processor to use - so we can simply make it part of creating the request processor, instead of passing the same string to every call to the processor.

This diff removes `bundleType` from the `BundleOptions` type while retaining it in the return type of `parseOptionsFromUrl` (a public API) for now.

Callers may continue to pass it - it'll be unused as it always has been - so this is non-breaking

## React Native
Remove `bundleType`, unused in Metro <=0.82.2 and invalid in Metro 0.82.3. The Flow suppression may be removed once 0.82.3 is published, but is temporarily required because the Flow types are different in `main` (Meta-internal CI) vs latest published (OSS CI).

Changelog: [Internal]

Differential Revision: D74150833
@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner labels May 4, 2025
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D74150833

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. fb-exported p: Facebook Partner: Facebook Partner
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants