#1833·nativewind

nativewind/babel cannot resolve JSX transform with Bun isolated installs

Author: teyfixCreated Jun 30, 2026Updated Jul 28, 2026

Summary

NativeWind v4.2.6 fails during Expo SDK 56 web bundling with Bun isolated installs because react-native-css-interop/babel references @babel/plugin-transform-react-jsx by package name, but the package does not declare that Babel plugin as a runtime dependency.

Reproduction

  • Bun 1.3.14 with [install] linker = "isolated"
  • Expo 56.0.12 / babel-preset-expo 56.0.15
  • NativeWind 4.2.6 / react-native-css-interop 0.2.6
  • Use the documented NativeWind Babel preset configuration
  • Run an Expo web bundle request

The child Babel worker throws MODULE_NOT_FOUND for @babel/plugin-transform-react-jsx. When Expo is forced onto the Bun runtime, jest-worker masks this as ResolveMessage is not constructable.

@babel/plugin-transform-react-jsx exists transitively under babel-preset-expo, but strict isolation correctly prevents the application Babel config from resolving it.

Workaround

Declaring @babel/plugin-transform-react-jsx directly in the application devDependencies fixes both Expo Metro web export and Storybook.

Expected fix

Declare the JSX transform plugin in the package that references it at runtime, or resolve it from an owning dependency rather than relying on hoisting.