Repack
A Webpack-based toolkit to build your React Native application with full su...
README
repack
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](https://github.com/callstack/repack/blob/main/templates/webpack.config.cjs) or [webpack.config.mjs](https://github.com/callstack/repack/blob/main/templates/webpack.config.mjs) template, if you're curious how it all looks like.__
Features
- [x] Webpack ecosystem, plugins and utilities
- [x] Build production bundle for iOS, Android and out-of-tree platforms
- [x] Build development bundle for iOS, Android and out-of-tree platforms
- [x] Development server with support for:
- Remote JS debugging
- Source Map symbolication
- Hot Module Replacement and React Refresh
- Reloading application from CLI using r key
- [x] Built-in Hot Module Replacement + React Refresh support
- [x] Flipper support:
- Crash Reporter,
- Application logs
- Layout
- Network
- Hermes debugger
- React DevTools
- Development server (debugging/verbose) logs
- [x] Hermes support:
- Running the production/development bundle using Hermes engine
- Transforming production bundle into bytecode bundle
- Inspecting running Hermes engine with Flipper
- [x] Code splitting (__experimental__):
- Dynamic import() support with and without React.lazy() (recommended).
- Arbitrary scripts (only for advanced users).
- [x] 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.
- [x] Module Federation support
Planned features
Available at: Projects
- [ ] ChunksToHermesBytecodePlugin plugin to automatically transform async chunks to bytecode format.
- [ ] Code signing and verification
- [ ] webpack-init command
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: https://re-pack.netlify.app/
You can also use the following links to jump to specific topics:
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][callstack-readme-with-love] 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! 🔥