A fast bundler and dev server for React Native that leverages esbuild instead of Metro. Current stable version is 0.6.0, with updates supporting React Native 0.72. Typically released every few months. Key differentiators: 10-50x faster bundling, tree shaking resulting in ~21% smaller bundles, drop-in replacement for Metro, support for custom transformers and environment variables. Peer dependencies include @babel/core >=7.0.0 and esbuild >=0.17. Compatible with out-of-tree platforms (macOS, Windows) and offers interactive mode.
npm install react-native-esbuildNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Shows how to configure react-native-esbuild as a CLI plugin, with optional custom esbuild configuration and Babel plugin, then run start or bundle commands.
Remove usage of esmCustomMainFieldResolverPlugin; esbuild 0.17+ handles main fields automatically.
Update package.json scripts: change 'start' script to 'react-native esbuild-start' and ensure --no-packager is appended to ios/android scripts.
If using Flow or Reanimated, ensure your files are properly annotated; the loader now actively processes these syntaxes and may throw errors for malformed code.
Upgrade to 0.4.0 or later to avoid source map crashes.
If using Windows or macOS targets, upgrade to 0.3.0 or later.
Run 'yarn add react-native-esbuild esbuild' or 'npm install react-native-esbuild esbuild'.
Use correct import: const { commands } = require('react-native-esbuild'); not import commands from 'react-native-esbuild';Add --platform android or --platform ios to the bundle command.
Update esbuild to >=0.17: 'yarn upgrade esbuild --latest' or 'npm install esbuild@latest'.