WhoBuilt

Why Re.Pack replaces Haul

Jul 28, 2021· 3 min· 223 views·Watch on YouTube

A Callstack speaker with an unstated name and role explains why Haul was deprecated in favor of Re.Pack.

Haul never reached a stable phase

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.

The webpack abstraction added overhead

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.

Webpack problems landed on Haul

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.

Architecture blocked newer features

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

  • feature
    Haul: Deprecated in favor of Re.Pack
    “it was deprecated in favor of Re.Pack”
    YouTube
    Unverified1 source· Talk
  • feature
    Haul: 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
  • feature
    Haul: Wrapped webpack under the hood
    “We designed Haul to encapsulate webpack under the hood.”
    YouTube
    Unverified1 source· Talk
  • feature
    Haul: 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
  • feature
    Haul: 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

Related talks