It’s an exciting time in web development. After a decade’s worth of front-end progress kept demanding ever more complicated setups, we’re finally moving in the opposite direction. With simpler tools that are still able to hit those high-fidelity user interface notes, but at a sliver of the cost in complexity. The long expansion of enabling concepts is now at last being compressed for human comprehension. Hallelujah!
And like with expanding complexity, where one complication often leads to another, compressing complexity also cascades.
Propshaft, a new asset pipeline library for Rails, is the result of such a cascading compression of complexity. Enabled by the same trifecta of HTTP/2, browser-run ES6, and import maps that powers Rails 7, Propshaft is dramatically simpler than the Sprockets that went before it.
In our modern asset world, JavaScript and stylesheets are either sent directly to the browser without preprocessing, or they’re being preprocessed by standalone tools like esbuild, Dart Sass, and Tailwind CSS. In both cases, our asset pipeline library needn’t lift the burden.
Sprockets, the current default asset pipeline library for Rails, was forged in the flames of HTTP/1, browsers that only supported ES3, and a limited JavaScript tooling stack from back in the late o