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.js
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
- 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
Available at: Projects
-
ChunksToHermesBytecodePlugin
plugin to automatically transform async chunks to bytecode format. - Code signing and verification
-
webpack-init
command
Explore examples of React Native applications using Re.Pack here: https://github.com/callstack/repack-examples.
The documentation is available at: https://re-pack.netlify.app/
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! 🔥