The host asks why Haul, a predecessor to Re.Pack, was deprecated despite its popularity and similar purpose. The Callstack speaker says its architecture kept it from becoming stable.
Why Re.Pack replaces Haul
A Callstack speaker with an unstated name and role explains why Haul was deprecated in favor of Re.Pack.
Haul wrapped webpack behind its own configuration format, which Callstack had to maintain and document. It also had to translate that configuration into webpack's format to run the bundler.
Users reported webpack issues on Haul's GitHub, even when those problems had already been addressed in webpack. The extra maintenance slowed feature development and sometimes made new features impossible.
The speaker gives React Refresh as an example of a feature Haul's architecture could not support. Supporting RAM bundles added further complexity, making it impossible to implement some of Metro's newer features.
Takeaways
- A wrapper around another tool can inherit its problems while creating a separate support burden.
- Maintaining a second configuration format adds ongoing implementation and documentation work.
- Check whether an architecture can accommodate required features before committing to it.
- Supporting legacy requirements such as RAM bundles can constrain future feature development.
Mentioned in this talk
Search inside this talk
What was claimed 6
- featureHaul: Deprecated in favor of Re.Pack
“it was deprecated in favor of Re.Pack”
YouTube Unverified1 source· Talk
- featureHaul: Required maintaining its own configuration file and documentation, including conversion to webpack's configuration format
“we had to convert our configuration file format to webpack's”
YouTube Unverified1 source· Talk
- uses
“we were still using webpack under the hood”
YouTube Unverified1 source· Talk
- featureHaul: Wrapped webpack under the hood
“We designed Haul to encapsulate webpack under the hood.”
YouTube Unverified1 source· Talk
- featureHaul: React Refresh was difficult or impossible to support because of Haul's architecture
“Haul's architecture didn't really support it.”
YouTube Unverified1 source· Talk
- featureHaul: Support for RAM bundles complicated the code and prevented implementation of Metro's latest features
“we also had to support RAM bundles, which complicated the code”
YouTube Unverified1 source· Talk





