A Webpack-based toolkit to build your React Native application with full support of Webpack ecosystem.
Re.Pack is a next generation of Haul — a Webpack-based bundler for React Native applications.
Re.Pack uses Webpack 5 and React Native CLI's plugin system to allow you to bundle your application using Webpack and allow to easily switch from Metro.
Check the base webpack.config.cjs
or webpack.config.mjs
template, if you're curious how it all looks like.
- 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
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.
The documentation is available at: https://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
@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! 🔥