/react-native-esbuild

⚡️ esbuild based universal bundler for React Native

Primary LanguageTypeScriptMIT LicenseMIT

react-native-esbuild

logo

⚡️ An extremely fast bundler + React Native

esbuild swc react native

npm code style typescript

Features

banner

Warning

This project is under development

  • ⚡️ Blazing Fast Build
  • 🌳 Supports Tree Shaking
  • 💾 In-memory & Local File System Caching
  • 🎨 Flexible & Extensible
  • 🔥 Supports JSC & Hermes Runtime
  • 🔄 Supports Live Reload
  • 🐛 Supports Debugging(Flipper, Chrome Debugger)
  • 🌍 Supports All Platforms(Android, iOS, Web)
  • ✨ New Architecture Ready
  • 🃏 Jest transformer included

👉 See a demo application built with a web target here.

Getting Started

Go to documentation

Development

# install dependencies and run build
yarn && lerna run build

# in example directory,
# run example application (start @react-native-esbuild/dev-server)
yarn start

# build example project (example/dist/<bundle and assets>)
yarn build:android
yarn build:ios
# run yarn commands
yarn workspace <workspaceName> <command>

# build all packages or specified package only
lerna run build
lerna run build --scope @react-native-esbuild/xxx

# run all test or specified package only
yarn test
yarn test --selectProjects <workspaceName>

# show project dependencies graph
nx graph

Benchmark

# in `example` directory

# react-native-esbuild (with cache)
time yarn bundle:android
time yarn bundle:ios
# react-native-esbuild (without cache)
time yarn bundle:android --reset-cache
time yarn bundle:ios --reset-cache

# metro (with cache)
time yarn bundle:metro:android
time yarn bundle:metro:ios
# metro (without cache)
time yarn bundle:metro:android --reset-cache
time yarn bundle:metro:ios --reset-cache

License

MIT