Expo doctor reports android/ios module directories as gitignored after pnpm upgrade (10.22 → 11.5.2)


After I updated pnpm from 10.22 to 11.5.2, expo-doctor now reports a failed check that wasn't failing before.

My project is a monorepo:

/app
/shared
/web

The error from expo-doctor:

18/19 checks passed. 1 checks failed. Possible issues detected:
Use the --verbose flag to see more details about passed checks.
āœ– Check for common project setup issues
The "android" and/or "ios" directories (./modules/your-module/[android|ios])
for local Expo modules are gitignored, and they should not be. This is often
due to overly general gitignore rules.
Advice:
Use patterns like "/android" and "/ios" in your .gitignore file to exclude
only the top-level "android" and "ios" directories, and not those in the
modules directory.
1 check failed, indicating possible issues with the project.

My root .gitignore:

# dependencies
node_modules/

# local task/worktree scratch files
.ji/

# Expo
.expo/
dist/
dist-test/
web-build/
expo-env.d.ts

# Native
.kotlin/
*.orig.*
*.jks
*.p8
*.p12
*.key
*.mobileprovision

# Metro
.metro-health-check*

# debug
npm-debug.*
yarn-debug.*
yarn-error.*

# macOS
.DS_Store
*.pem

# local env files
.env*.local
.settings.local.*

# typescript
*.tsbuildinfo
playwright/
test-results

# Turborepo
.turbo

# App builds
app/ios
app/android

# Security reports
.ash/

# Git worktrees
.worktrees/

My app/.gitignore:

# @generated expo-cli sync-2b81b286409207a5da26e14c78851eb30d8ccbdb
# The following patterns were generated by expo-cli

expo-env.d.ts
# @end expo-cli

.claude/settings.local.json

My app/modules/[my-module]/.gitignore:

build/
**/build/
*.iml

Why is this happening, and which rule is causing the android/ios module directories to be ignored?

0
Jun 10 at 12:55 PM
User Avatarchrilleweb
#android#ios#react-native#expo#pnpm

No answer found for this question yet.