Skip to content

fix(0.81, macos-init): improve init flow and drop chalk dependency#2859

Open
Saadnajmi wants to merge 2 commits intomicrosoft:0.81-stablefrom
Saadnajmi:0.81/improve-macos-init
Open

fix(0.81, macos-init): improve init flow and drop chalk dependency#2859
Saadnajmi wants to merge 2 commits intomicrosoft:0.81-stablefrom
Saadnajmi:0.81/improve-macos-init

Conversation

@Saadnajmi
Copy link
Collaborator

@Saadnajmi Saadnajmi commented Mar 20, 2026

Summary

  • Remove redundant dependency install (generate-macos.js was running npm i/yarn a second time after cli.ts already installed react-native-macos)
  • Show actual npm/yarn errors on install failure instead of swallowing them with --silent
  • Validate peer dependencies before install and warn on version mismatch
  • Fix finish message: remove nonexistent yarn start:macos, show correct pod install, npx react-native run-macos and npx react-native start
  • Replace chalk with Node's built-in node:util styleText (available since Node 20.12)

Motivation

Users hitting npx react-native-macos-init frequently encounter silent failures from peer dependency mismatches (e.g. react-native-macos@0.81.4 requires react-native@0.81.6 exactly, but --version 0.81 installs the latest patch). The --silent flag hid the actual error. The finish message referenced a nonexistent yarn start:macos script.

Addresses the same root issue as #2785 and #2793 but with a broader fix.

Backport of #2858.

Test plan

  • Created a new project with npx @react-native-community/cli init testapp --version 0.81.6
  • Ran modified init — happy path: no peer dep warning, correct finish message
  • Tested mismatch path (react-native@0.81.5 vs required 0.81.6) — warning fires before install with clear message
  • TypeScript compiles cleanly

🤖 Generated with Claude Code

@Saadnajmi Saadnajmi requested a review from a team as a code owner March 20, 2026 05:32
@changeset-bot
Copy link

changeset-bot bot commented Mar 20, 2026

⚠️ No Changeset found

Latest commit: 2667352

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Saadnajmi and others added 2 commits March 20, 2026 00:38
- Remove redundant dependency install (generate-macos.js was running
  npm i/yarn after cli.ts already installed react-native-macos)
- Show npm/yarn errors on install failure instead of hiding them with
  --silent flag
- Validate peer dependencies before install and warn on mismatch
- Auto-run pod install after template generation (non-fatal on failure)
- Fix finish message: remove nonexistent yarn start:macos, show correct
  npx react-native run-macos and npx react-native start commands

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Drop the chalk dependency in favor of Node's built-in styleText API
(available since Node 20.12). Add @types/node@^22 as a devDependency
for proper type resolution.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Saadnajmi Saadnajmi force-pushed the 0.81/improve-macos-init branch from 4bc094b to 2667352 Compare March 20, 2026 05:39
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