From 298879b7ac0d189d1ef4dca35e957ee58ce0d403 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20V=C3=A1squez?= Date: Wed, 8 Jul 2026 13:40:46 -0600 Subject: [PATCH] Upgrade asset pipeline to Sprockets 4 (sass-rails 5 -> 6) sass-rails 5.1.0 capped sprockets at < 4.0; bumping it to ~> 6.0 lifts the cap and moves the app onto Sprockets 4.2.2 (sass-rails 6 delegates SCSS compilation to sassc-rails). Both lockfiles updated. Kept the update scoped: used --conservative so rack stays at 2.2.23 rather than being dragged to 3.x as collateral. The app/assets/config/manifest.js Sprockets 4 requires was already present. This unblocks two follow-ups that Sprockets 3.x's unconditional CoffeeScript engine was blocking: removing coffee-rails and swapping uglifier -> terser. Verified: boots on Sprockets 4.2.2, assets:precompile succeeds (application js/css + pdf.css, including the font-awesome and fastruby/styleguide imports), and the full test suite passes (16 runs, 52 assertions, 0 failures). --- Gemfile | 2 +- Gemfile.lock | 22 ++++++++++++---------- Gemfile.next.lock | 22 ++++++++++++---------- 3 files changed, 25 insertions(+), 21 deletions(-) diff --git a/Gemfile b/Gemfile index 85c1fb8..23fb8aa 100644 --- a/Gemfile +++ b/Gemfile @@ -32,7 +32,7 @@ gem "puma", "~> 3.7" # version as collateral. gem "minitest", "< 6" gem "nokogiri", ">= 1.13.0" -gem "sass-rails", "~> 5.0" +gem "sass-rails", "~> 6.0" gem "font-awesome-rails", ">= 4.7.0.9" gem "uglifier", ">= 1.3.0" diff --git a/Gemfile.lock b/Gemfile.lock index 6c0f386..62d495d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -359,14 +359,16 @@ GEM sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sass-rails (5.1.0) - railties (>= 5.2.0) - sass (~> 3.1) - sprockets (>= 2.8, < 4.0) - sprockets-rails (>= 2.0, < 4.0) - tilt (>= 1.1, < 3) + sass-rails (6.0.0) + sassc-rails (~> 2.1, >= 2.1.1) sassc (2.4.0) ffi (~> 1.9) + sassc-rails (2.1.2) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt securerandom (0.4.1) selenium-webdriver (4.9.0) rexml (~> 3.2, >= 3.2.5) @@ -376,10 +378,10 @@ GEM spring-watcher-listen (2.1.0) listen (>= 2.7, < 4.0) spring (>= 4) - sprockets (3.7.5) - base64 + sprockets (4.2.2) concurrent-ruby (~> 1.0) - rack (> 1, < 3) + logger + rack (>= 2.2.4, < 4) sprockets-rails (3.5.2) actionpack (>= 6.1) activesupport (>= 6.1) @@ -444,7 +446,7 @@ DEPENDENCIES redcarpet reek rubocop-rails-omakase - sass-rails (~> 5.0) + sass-rails (~> 6.0) selenium-webdriver spring spring-watcher-listen (~> 2.1.0) diff --git a/Gemfile.next.lock b/Gemfile.next.lock index 6c0f386..62d495d 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -359,14 +359,16 @@ GEM sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sass-rails (5.1.0) - railties (>= 5.2.0) - sass (~> 3.1) - sprockets (>= 2.8, < 4.0) - sprockets-rails (>= 2.0, < 4.0) - tilt (>= 1.1, < 3) + sass-rails (6.0.0) + sassc-rails (~> 2.1, >= 2.1.1) sassc (2.4.0) ffi (~> 1.9) + sassc-rails (2.1.2) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt securerandom (0.4.1) selenium-webdriver (4.9.0) rexml (~> 3.2, >= 3.2.5) @@ -376,10 +378,10 @@ GEM spring-watcher-listen (2.1.0) listen (>= 2.7, < 4.0) spring (>= 4) - sprockets (3.7.5) - base64 + sprockets (4.2.2) concurrent-ruby (~> 1.0) - rack (> 1, < 3) + logger + rack (>= 2.2.4, < 4) sprockets-rails (3.5.2) actionpack (>= 6.1) activesupport (>= 6.1) @@ -444,7 +446,7 @@ DEPENDENCIES redcarpet reek rubocop-rails-omakase - sass-rails (~> 5.0) + sass-rails (~> 6.0) selenium-webdriver spring spring-watcher-listen (~> 2.1.0)