A toolkit to build your React Native application with Rspack or Webpack.
Re.Pack is a next generation of Haul — a Webpack-based bundler for React Native applications.
Re.Pack uses Rspack (or Webpack 5) and React Native Community CLI's plugin system to allow you to bundle your application using Webpack and easily switch from Metro.
Features
- Webpack ecosystem, plugins and utilities
- Build production bundle for iOS, Android and out-of-tree platforms
- Build development bundle for iOS, Android and out-of-tree platforms
- Development server with support for:
- Remote JS debugging
- Source Map symbolication
- Hot Module Replacement and React Refresh
- Reloading application from CLI using
r
key
- Built-in Hot Module Replacement + React Refresh support
- Flipper support:
- Crash Reporter,
- Application logs
- Layout
- Network
- Hermes debugger
- React DevTools
- Development server (debugging/verbose) logs
- Hermes support:
- Running the production/development bundle using Hermes engine
- Transforming production bundle into bytecode bundle
- Inspecting running Hermes engine with Flipper
ChunksToHermesBytecodePlugin
plugin to transform async chunks into Hermes bytecode
- Code splitting (experimental):
- Dynamic
import()
support with and withoutReact.lazy()
(recommended). - Arbitrary scripts (only for advanced users).
- Dynamic
- REST API for development server:
GET /api/platforms
- platforms with active compilations.GET /api/:platform/assets
- assets emitted from compilation.GET /api/:platform/stats
- data about compilation.
- Module Federation support
- Code signing and verification
-
@callstack/repack-init
- tool that automates the integration of the Re.Pack into React Native projects - Rspack support
Examples
Explore examples of React Native applications using Re.Pack here: https://github.com/callstack/repack-examples.
For a more comprehensive example of a Super App setup with Module Federation please visit our Super App Showcase repository.
Documentation
The documentation is available at re-pack.dev.
You can also use the following links to jump to specific topics:
- About Re.Pack
- Getting Started
- Configuration
- API documentation
- Known issues & limitations
- Code splitting
Made with ❤️ at Callstack
@callstack/repack
is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. Callstack is a group of React and React Native geeks, contact us at hello@callstack.com if you need any help with these or just want to say hi!
Like the project? ⚛️ Join the team who does amazing stuff for clients and drives React Native Open Source! 🔥