Skip to content

Bump Community CLI to 21.0.0-alpha.1 - #254

Merged
huntie merged 1 commit into
react-native-community:mainfrom
huntie:bump-cli-21
Sep 30, 2026
Merged

huntie merged 1 commit into
react-native-community:mainfrom
huntie:bump-cli-21

Conversation

@huntie

@huntie huntie commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Follows #235, required to unblock react/react-native#58671.

Community CLI 21.x will bundle the iOS and Android platforms — a hard expectation of the template with #235's changes.

Follow-ups:

  • Bump to stable CLI 21.x here when released.

Changelog:
[General][Changed] - Bump @react-native-community/cli to 21.0.0-alpha.1

Test Plan

Template-shaped app (this template's android/ and ios/, react-native from react/react-native#58671, no react-native.config.js), running the Gradle plugin's autolinking command:

npx @react-native-community/cli config | jq '{platforms: (.platforms | keys), androidPackage: .project.android.packageName, iosProject: .project.ios.xcodeProject.name}'
CLI platforms project.android.packageName project.ios
20.2.0 none null null
21.0.0-alpha.1 android, ios com.helloworld HelloWorld.xcworkspace

@huntie huntie changed the title Bump RNC CLI to 21.0.0-alpha.1 Bump Community CLI to 21.0.0-alpha.1 Sep 30, 2026
@huntie
huntie merged commit 6d0f1c9 into react-native-community:main Sep 30, 2026
1 check passed
@huntie
huntie deleted the bump-cli-21 branch September 30, 2026 17:08
meta-codesync Bot pushed a commit to react/react-native 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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants