# What does the default asset pipeline do?

By [Λki](https://paragraph.com/@ki-3) · 2023-04-25

---

### JAVASCRIPT

done by [import maps](https://github.com/WICG/import-maps), gem: [importmap-rails](https://github.com/rails/importmap-rails)

It lets you use Javascript libraries made for ES modules (ESM) without the need for transpiling and bundling. In turn, this eliminates the need for Webpack, yarn, node or any other part of the JavaScript toolchain.

[https://edgeguides.rubyonrails.org/asset\_pipeline.html#what-are-import-maps-and-why-should-i-care-questionmark](https://edgeguides.rubyonrails.org/asset_pipeline.html#what-are-import-maps-and-why-should-i-care-questionmark)

### CSS

done by [sprockets](https://github.com/rails/sprockets), gem: [sprockets-rails](https://github.com/rails/sprockets-rails)

*   concatenate all CSS files into one main `.css` file, which is then minified or compressed.
    
*   higher-level language for CSS.
    

### SHA256 fingerprinting

done by sprockets

It inserts a SHA256 fingerprinting into each filename so that the file is cached by the web browser and CDN. This fingerprint is automatically updated when you change the file contents, which invalidates the cache.

---

*Originally published on [Λki](https://paragraph.com/@ki-3/what-does-the-default-asset-pipeline-do)*
