Skip to content

Move Community CLI discovery config into plugin package (1/2) - #58670

Closed
huntie wants to merge 1 commit into
react:mainfrom
huntie:community-cli-plugin-config
Closed

huntie wants to merge 1 commit into
react:mainfrom
huntie:community-cli-plugin-config

Conversation

@huntie

@huntie huntie commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Summary:

Replaces #57352.

Self-register commands from the community-cli-plugin package via react-native.config.js — meaning we can remove the redirect within packages/react-native/react-native.config.js.

Progress towards removing community-cli-plugin as a direct dep of react-native, and paired with react-native-community/template#235.

RNTester and HelloWorld list @react-native/community-cli-plugin in devDependencies, as the template now does (react-native-community/template#235).

Changelog:
[General][Breaking] - @react-native/community-cli-plugin will no longer be auto-detected from react-native. It must now be specified in devDependencies.

Test Plan:

Compared react-native config output with @react-native-community/cli 20.2.0.

RNTester

  • ✅ Commands, platforms, and project config are unchanged from main
  • ✅ Removing the new @react-native/community-cli-plugin devDependency drops bundle, start, spm, and codegen, so they are registered by plugin discovery

Template-shaped app (plugin in devDependencies, no project react-native.config.js)

  • ✅ bundle, start, spm, and codegen are registered

@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 Sep 24, 2026
@huntie
huntie force-pushed the community-cli-plugin-config branch from a78f557 to 3a631a9 Compare September 24, 2026 14:13
@huntie
huntie marked this pull request as ready for review September 24, 2026 14:18
@huntie huntie changed the title Move Community CLI discovery config into plugin package Move Community CLI discovery config into plugin package (1/2) Sep 24, 2026
@facebook-github-tools facebook-github-tools Bot added the Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team. label Sep 24, 2026
@meta-codesync

meta-codesync Bot commented Sep 24, 2026

Copy link
Copy Markdown

@Abbondanzo has imported this pull request. If you are a Meta employee, you can view this in D121634885.

@huntie
huntie force-pushed the community-cli-plugin-config branch from 3a631a9 to c6827db Compare September 25, 2026 12:52
@meta-codesync meta-codesync Bot closed this in b26baae Sep 25, 2026
@meta-codesync meta-codesync Bot added the Merged This PR has been merged. label Sep 25, 2026
@meta-codesync

meta-codesync Bot commented Sep 25, 2026

Copy link
Copy Markdown

@Abbondanzo merged this pull request in b26baae.

@huntie
huntie deleted the community-cli-plugin-config branch September 29, 2026 14:18
meta-codesync Bot pushed a commit that referenced this pull request Oct 1, 2026
Summary:
Replaces #57353.

Follows #58670. Depends on react-native-community/cli#2817. See also react-native-community/template#235 and react-native-community/template#254, which moves the template to CLI 21.0.0-alpha.1 (the template-app CI jobs here stay red until it lands).

Deletes the `react-native.config.js` file we ship with `react-native`. The iOS and Android Community CLI platforms are moving back to being included by default (and in the first place, should not have been wired up here!), and all commands are self-registered by `react-native/community-cli-plugin`.

RNTester moves to `react-native-community/cli` 21.0.0-alpha.1, which includes the iOS and Android platforms, and drops its `cli-platform-ios` and `cli-platform-android` devDependencies. HelloWorld gains the same CLI devDependency: its Gradle autolinking runs `npx react-native-community/cli config` after an `npm install` in the app, which otherwise fetches the `latest` (20.x) CLI.

Changelog:
[General][Changed] - Platform registration config for the Community CLI is removed from the `react-native` package. No breaking change with `react-native-community/cli` 21.x (required).

Pull Request resolved: #58671

Test Plan:
With `react-native-community/cli` 21.0.0-alpha.1 installed in the monorepo.

**RNTester, HelloWorld, and a template-shaped app** (no `react-native.config.js` anywhere)

- ✅ `react-native config` registers `ios` and `android` and resolves each project: `RNTesterPods.xcworkspace` / `com.facebook.react.uiapp`, `HelloWorld.xcworkspace` / `com.helloworld`
- ✅ `react-native` is absent from `config` dependencies
- ✅ `bundle`, `start`, `spm`, and `codegen` are registered by `react-native/community-cli-plugin`
- ✅ `react-native bundle --platform ios --dev false` completes for RNTester

Screenshots of the template-shaped app are in the react-native-community/cli#2817 test plan.

**Internal validation**

- ✅ `./xplat/yarn-validation/bin/yarn-validation` (validates `xplat/js`, `xplat/js/public`, and `xplat/js/react-native-github`)
- ✅ Root `yarn install --offline --force --ignore-scripts --ignore-engines --ignore-platform --skip-integrity-check`
- ✅ `arc lint`

Reviewed By: cipolleschi

Differential Revision: D122744239

Pulled By: cortinico

fbshipit-source-id: 3e46c0f1021fa92863523f2b9865e8c0c770caa8
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. Merged This PR has been merged. Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants