Nx
Enterprise
Nx
feat(expo): support Expo SDK 56 (#35904) ## Current Behavior `@nx/expo` supports Expo SDK 53–55 (latest/default 55) after the recent version-lane refactor. It does not yet support **SDK 56**. Separately, the plugin's Metro and executor wiring predates Expo's SDK 55 `@expo/metro` repackaging, so generated **SDK 55+** apps fail at runtime even on the existing lanes: - `expo start` / web bundling crashes with `TypeError: Cannot read properties of undefined (reading 'transformFile')` - `withNxMetro` merges via the standalone `metro-config` and forces `projectRoot` to the workspace root, which collides with Expo's bundled `@expo/metro` and breaks the babel transformer's `.babelrc.js` resolution. - `nx prebuild` / `start` executors throw `Cannot find module '@expo/cli/build/bin/cli.js'` because SDK 55+ ships `@expo/cli` with an `exports` map (`"./*": "./*.js"`), so the hardcoded bin subpath no longer resolves. ## Expected Behavior Adds an Expo **SDK 56** install lane (RN 0.85.3, React 19.2, `@expo/cli` ~56.1.14, `@expo/metro-config` ~56.0.13, `jest-expo` ~56.0.4) as the default for new projects, on top of the existing 53–55 lanes, and fixes the SDK 55+ runtime wiring (benefits 55 and 56): - `withNxMetro` and the Nx resolver prefer `@expo/metro/metro-config` / `@expo/metro/metro-resolver` (fallback to the standalone packages for 53/54), and no longer override `projectRoot` to the workspace root on SDK 55+. - Executors resolve the Expo CLI via the stable `expo/bin/cli` entry instead of `@expo/cli/build/bin/cli`. - New SDK 55+ apps no longer install standalone `metro-config`/`metro-resolver` or `@expo/metro-config` directly (the generated `metro.config.js` extends `expo/metro-config`); those packages are now optional peer dependencies. - Adds an AI upgrade-instructions migration for moving workspaces to SDK 56. Verified by generating a workspace from a locally-published build: `expo start --web` bundles successfully and `expo-doctor`'s "`@expo/metro-config` installed directly" check passes. ## Related Issue(s) Fixes #35714 --------- Co-authored-by: jithin_vijayan <jithinvijayan@vyaparapp.in> Co-authored-by: FrozenPandaz <jasonjean1993@gmail.com>
nx-cloud record -- nx format:check
Sign in / Sign up
Open main menu
Succeeded
CI Pipeline Execution
1 run failed
nx-cloud record -- nx format:check
Click to copy
Linux
4 CPU cores
fca9059c
master