Conversation
config/initializers/assets.rb
Outdated
There was a problem hiding this comment.
From a developer experience perspective, I actually preferred having node_modules as a load path and requiring fully-qualified paths to specific dependencies. It still works in Propshaft; however, Propshaft will copy all files from load paths into public/assets, which essentially would mean copying over the entirety of node_modules.
|
I was hoping to see a noticeable drop in GitLab build time, but it looks roughly the same as previous times. It looks like it could save around 30 seconds overall time (3-4%), though that's based on a few data points and a high margin for error. |
|
This looks to work pretty well at a glance in my sandbox after the changes in 4149043. At this point, the only concern I might have is the blurb about "beta software" in the Propshaft documentation (docs). I hadn't noticed this 'til putting together the pull request, so wondering how much appetite we'd have for running it in production. |
The changes seem relatively minimal, we could always revert if we want to switch course? This doesn't feel like a super big commitment to me to try it out |
Agreed 👍🏼 |
changelog: Internal, Build Tooling, Update asset pipeline to replace Sprockets with Propshaft
Propshaft can't handle proc value. Hopefully the "request is nil" issue no longer happens after transitioning
|
👍 Let's give it a shot! |
* Revert "Fix handling for missing SP logo (#8409)" This reverts commit e3da0a7. * Revert "Try absolute path for Propshaft assets (#8402)" This reverts commit 8a97e26. * Revert "Replace Sprockets with Propshaft (#8387)" This reverts commit c8d8a38. * Keep spec improvements from e3da0a7 * Keep spec improvements from c8d8a38 * Keep webpack digest suffix from c8d8a38
🛠 Summary of changes
This pull request proposes to replace Sprockets with Propshaft for managing the asset pipeline.
Propshaft is an officially-maintained successor to Sprockets whose goals are closer in alignment to our current asset build tooling than Sprockets, since we perform most of the asset transformations separate from Rails (source). The remaining features we rely on from Sprockets (URL remapping, filename digests) are also available in Propshaft.
Generally, the hope would be that moving to Propshaft would...
sasscerrors)