Skip to content

breaking: Bundle iOS and Android as core platforms#2817

Draft
huntie wants to merge 1 commit into
react-native-community:mainfrom
huntie:cli-core-platform-plugins
Draft

breaking: Bundle iOS and Android as core platforms#2817
huntie wants to merge 1 commit into
react-native-community:mainfrom
huntie:cli-core-platform-plugins

Conversation

@huntie

@huntie huntie commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

Bundle cli-platform-android and cli-platform-ios in the main @react-native-community/cli package.

Relates to this proposed change: react-native-community/template#235

Motivation

Simplify Community CLI setup for users (see above). iOS and Android are first-class RN platforms.

  • While the CLI was historically separated out into granular plugins, I don't believe we need to be so aggressive in splitting the core Android and iOS platforms into separate installs. This optimisation provides little value when RN itself bundles both — match this baseline.
    • Other plugins, including OOT platforms, remain selectively applied via plugin discovery. Again, the redundant weight of ~20 scripts (each way) being omitted for a single platform repo is a marginal win. The convention (in the case of libraries) is that OOT platform support is additional.
    • We can always un-bundle later (in a hypothetical project where RN also separates core from platforms).
  • Prior art: Expo CLI doesn't bother separating platforms — the dev install impact on projects is negligible. No related artifacts leak into the project.

Notes

  • loadConfig and loadConfigAsync gain an optional platforms argument that seeds the config. Project and dependency configs still layer on top and can override it, and the --platform filter is honoured.

Test Plan

TODO

Checklist

  • Documentation is up to date.
  • Follows commit message convention described in CONTRIBUTING.md.
  • For functional changes, my test plan has linked these CLI changes into a local react-native checkout (instructions).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant