Re.Pack is the successor to Callstack’s Haul and connects Webpack to React Native. It adapts Webpack’s output for React Native and supports tools such as Hermes, Flipper, and React Refresh. Pavel describes it as a toolkit that works with Webpack, rather than a bundler competing directly with Metro.
Re.Pack - bringing Webpack to React Native
Speaker
Pavel, a software developer at Callstack, joins host Mike on React Native Show to explain Re.Pack, Callstack’s Webpack toolkit for React Native.
Haul maintained its own configuration format on top of Webpack, adding documentation and support work while routing Webpack problems to Haul’s issue tracker. That architecture also made newer features such as React Refresh difficult to implement, especially alongside RAM bundle support. Re.Pack instead gives developers control of their Webpack configuration, builds on Webpack 5, and deliberately leaves out RAM bundles.
Pavel says Re.Pack supports Metro’s React Native features and adds code splitting through asynchronous chunks. This can help apps with symlinks or Git submodules, modular products that load features for specific users, and super apps that download mini apps on demand. Loading less code at startup may improve time to interactive or time to render, though the team had not yet benchmarked those gains.
Pavel describes Module Federation as a future way for teams to build bundles independently and combine them into a React Native app, or serve bundles for a host app to download. He distinguishes this from CodePush: CodePush replaces the app’s bundle for a later restart, while Re.Pack’s code splitting can load functionality into an already running app. One example is downloading teacher features only when a teacher logs in.
At the time of the episode, Re.Pack was available on GitHub and npm, with feature parity with Metro except for RAM bundles. Basic asynchronous chunks were supported, with limitations described in the README. The team planned to improve chunk storage and management, then focus on Module Federation.
Takeaways
- Treat Re.Pack as a Webpack toolkit for React Native, not as a separate bundler.
- Keeping Webpack configuration accessible lets developers use its existing plugins, loaders, documentation, and community answers.
- Consider code splitting when an app has optional features or mini apps that can be loaded for particular users.
- Loading less code at startup may improve responsiveness, but Pavel said Re.Pack had not yet been benchmarked.
- CodePush updates a bundle for a later restart; Re.Pack’s proposed dynamic delivery can add features while the app is running.
Mentioned in this talk
Search inside this talk
What was claimed 12
- featureRe.Pack: Supports Hermes, Flipper, and React Refresh
“It has support for features like Hermes, Flipper, or React Refresh.”
0:18inWhat is Re.Pack?YouTube Verified2 sources· Talk
- useswraps webpack under the hood
“With Re.Pack, you can use webpack”
0:28inHow to build super apps with React Native and Re.Pack?YouTube Verified7 sources· Talk
- integrates withRe.Pack integrates with Module Federation
“it also enables Module Federation”
1:15inHow to build super apps with React Native and Re.Pack?YouTube Verified4 sources· Talk
- built
“Re.Pack is a direct successor to Haul. Haul was also an open-source project that we created here at Callstack.”
YouTube Verified2 sources· Talk
- built
“Haul was also an open-source project that we created here at Callstack.”
YouTube Unverified1 source· Talk
- featureRe.Pack: Toolkit and APIs for using Webpack to develop React Native applications
“Re.Pack is a toolkit, or set of APIs, that lets you use Webpack to develop React Native applications.”
YouTube Unverified1 source· Talk
- featureRe.Pack: Deliberately does not support RAM bundles
“We've decided not to support RAM bundles.”
YouTube Unverified1 source· Talk
- featureRe.Pack: Supports code splitting in React Native
“One of the major benefits of Re.Pack is that now we can support code splitting in React Native.”
YouTube Unverified1 source· Talk






