From 04f4f37c64cb4ecfceda84caa785bc0afb9b01fa Mon Sep 17 00:00:00 2001 From: Trevor John Date: Tue, 28 Jan 2025 22:48:47 -0500 Subject: [PATCH] Update supported versions of Rails and Ruby --- .github/workflows/ci.yml | 9 +- Appraisals | 9 +- Gemfile | 2 +- Gemfile.lock | 271 ++++++++++------- gemfiles/rails_6_1.gemfile.lock | 210 ------------- gemfiles/rails_7_0.gemfile.lock | 7 + gemfiles/rails_7_1.gemfile.lock | 7 + gemfiles/rails_7_2.gemfile.lock | 40 ++- .../{rails_6_1.gemfile => rails_8_0.gemfile} | 4 +- gemfiles/rails_8_0.gemfile.lock | 275 ++++++++++++++++++ gemfiles/rails_main.gemfile | 1 - jsbundling-rails.gemspec | 2 +- lib/jsbundling/version.rb | 2 +- test/shared_installer_tests.rb | 18 +- test/test_helper.rb | 4 +- 15 files changed, 502 insertions(+), 359 deletions(-) delete mode 100644 gemfiles/rails_6_1.gemfile.lock rename gemfiles/{rails_6_1.gemfile => rails_8_0.gemfile} (85%) create mode 100644 gemfiles/rails_8_0.gemfile.lock diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ad9e2f1..52fd3cb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,13 +9,18 @@ jobs: - "3.1" - "3.2" - "3.3" + - "3.4" gemfile: - - gemfiles/rails_6_1.gemfile - - gemfiles/rails_7_0.gemfile - gemfiles/rails_7_1.gemfile - gemfiles/rails_7_2.gemfile + - gemfiles/rails_8_0.gemfile - gemfiles/rails_main.gemfile continue-on-error: [ false ] + exclude: + - ruby-version: "3.1" + gemfile: gemfiles/rails_8_0.gemfile + - ruby-version: "3.1" + gemfile: gemfiles/rails_main.gemfile name: ${{ format('Tests (Ruby {0}, {1})', matrix.ruby-version, matrix.gemfile) }} runs-on: ubuntu-latest diff --git a/Appraisals b/Appraisals index 0ef932b..f0dc6ed 100644 --- a/Appraisals +++ b/Appraisals @@ -1,7 +1,3 @@ -appraise "rails_6_1" do - gem "rails", "~> 6.1.0" -end - appraise "rails_7_0" do gem "rails", "~> 7.0.0" gem "propshaft" @@ -17,6 +13,11 @@ appraise "rails_7_2" do gem "propshaft" end +appraise "rails_8_0" do + gem "rails", "~> 8.0.0" + gem "propshaft" +end + appraise "rails_main" do gem "rails", github: "rails/rails", branch: "main" gem "propshaft" diff --git a/Gemfile b/Gemfile index a67dcad..da1f8be 100644 --- a/Gemfile +++ b/Gemfile @@ -5,7 +5,7 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" } gemspec gem "appraisal" -gem "rails", "~> 6.1.0" +gem "rails", "~> 7.2.0" gem "sprockets-rails" gem "sqlite3" diff --git a/Gemfile.lock b/Gemfile.lock index 9a455ed..9ee78fd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -7,71 +7,86 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (6.1.7.8) - actionpack (= 6.1.7.8) - activesupport (= 6.1.7.8) + actioncable (7.2.2.1) + actionpack (= 7.2.2.1) + activesupport (= 7.2.2.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.8) - actionpack (= 6.1.7.8) - activejob (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) - mail (>= 2.7.1) - actionmailer (6.1.7.8) - actionpack (= 6.1.7.8) - actionview (= 6.1.7.8) - activejob (= 6.1.7.8) - activesupport (= 6.1.7.8) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 2.0) - actionpack (6.1.7.8) - actionview (= 6.1.7.8) - activesupport (= 6.1.7.8) - rack (~> 2.0, >= 2.0.9) + zeitwerk (~> 2.6) + actionmailbox (7.2.2.1) + actionpack (= 7.2.2.1) + activejob (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) + mail (>= 2.8.0) + actionmailer (7.2.2.1) + actionpack (= 7.2.2.1) + actionview (= 7.2.2.1) + activejob (= 7.2.2.1) + activesupport (= 7.2.2.1) + mail (>= 2.8.0) + rails-dom-testing (~> 2.2) + actionpack (7.2.2.1) + actionview (= 7.2.2.1) + activesupport (= 7.2.2.1) + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4, < 3.2) + rack-session (>= 1.0.1) rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.7.8) - actionpack (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + useragent (~> 0.16) + actiontext (7.2.2.1) + actionpack (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) + globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (6.1.7.8) - activesupport (= 6.1.7.8) + actionview (7.2.2.1) + activesupport (= 7.2.2.1) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (6.1.7.8) - activesupport (= 6.1.7.8) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activejob (7.2.2.1) + activesupport (= 7.2.2.1) globalid (>= 0.3.6) - activemodel (6.1.7.8) - activesupport (= 6.1.7.8) - activerecord (6.1.7.8) - activemodel (= 6.1.7.8) - activesupport (= 6.1.7.8) - activestorage (6.1.7.8) - actionpack (= 6.1.7.8) - activejob (= 6.1.7.8) - activerecord (= 6.1.7.8) - activesupport (= 6.1.7.8) + activemodel (7.2.2.1) + activesupport (= 7.2.2.1) + activerecord (7.2.2.1) + activemodel (= 7.2.2.1) + activesupport (= 7.2.2.1) + timeout (>= 0.4.0) + activestorage (7.2.2.1) + actionpack (= 7.2.2.1) + activejob (= 7.2.2.1) + activerecord (= 7.2.2.1) + activesupport (= 7.2.2.1) marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (6.1.7.8) - concurrent-ruby (~> 1.0, >= 1.0.2) + activesupport (7.2.2.1) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) - tzinfo (~> 2.0) - zeitwerk (~> 2.3) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) appraisal (2.5.0) bundler rake thor (>= 0.14.0) + base64 (0.2.0) + benchmark (0.4.0) + bigdecimal (3.1.9) builder (3.3.0) byebug (11.1.3) capybara (3.40.0) @@ -83,15 +98,23 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - concurrent-ruby (1.3.3) + concurrent-ruby (1.3.5) + connection_pool (2.5.0) crass (1.0.6) - date (3.3.4) - erubi (1.13.0) + date (3.4.1) + drb (2.2.1) + erubi (1.13.1) globalid (1.2.1) activesupport (>= 6.1) - i18n (1.14.5) + i18n (1.14.7) concurrent-ruby (~> 1.0) - loofah (2.22.0) + io-console (0.8.0) + irb (1.15.1) + pp (>= 0.6.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + logger (1.6.5) + loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -101,10 +124,10 @@ GEM net-smtp marcel (1.0.4) matrix (0.4.2) - method_source (1.1.0) mini_mime (1.1.5) - minitest (5.24.1) - net-imap (0.4.14) + mini_portile2 (2.8.8) + minitest (5.25.4) + net-imap (0.5.5) date net-protocol net-pop (0.1.2) @@ -113,57 +136,80 @@ GEM timeout net-smtp (0.5.0) net-protocol - nio4r (2.7.3) - nokogiri (1.16.7-aarch64-linux) + nio4r (2.7.4) + nokogiri (1.18.2) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) + nokogiri (1.18.2-aarch64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.2-aarch64-linux-musl) racc (~> 1.4) - nokogiri (1.16.7-arm-linux) + nokogiri (1.18.2-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.16.7-arm64-darwin) + nokogiri (1.18.2-arm-linux-musl) racc (~> 1.4) - nokogiri (1.16.7-x86-linux) + nokogiri (1.18.2-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.7-x86_64-darwin) + nokogiri (1.18.2-x86_64-darwin) racc (~> 1.4) - nokogiri (1.16.7-x86_64-linux) + nokogiri (1.18.2-x86_64-linux-gnu) racc (~> 1.4) + nokogiri (1.18.2-x86_64-linux-musl) + racc (~> 1.4) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + psych (5.2.3) + date + stringio public_suffix (6.0.1) racc (1.8.1) - rack (2.2.9) - rack-test (2.1.0) + rack (3.1.8) + rack-session (2.1.0) + base64 (>= 0.1.0) + rack (>= 3.0.0) + rack-test (2.2.0) rack (>= 1.3) - rails (6.1.7.8) - actioncable (= 6.1.7.8) - actionmailbox (= 6.1.7.8) - actionmailer (= 6.1.7.8) - actionpack (= 6.1.7.8) - actiontext (= 6.1.7.8) - actionview (= 6.1.7.8) - activejob (= 6.1.7.8) - activemodel (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) + rackup (2.2.1) + rack (>= 3) + rails (7.2.2.1) + actioncable (= 7.2.2.1) + actionmailbox (= 7.2.2.1) + actionmailer (= 7.2.2.1) + actionpack (= 7.2.2.1) + actiontext (= 7.2.2.1) + actionview (= 7.2.2.1) + activejob (= 7.2.2.1) + activemodel (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) bundler (>= 1.15.0) - railties (= 6.1.7.8) - sprockets-rails (>= 2.0.0) + railties (= 7.2.2.1) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) - nokogiri (~> 1.14) - railties (6.1.7.8) - actionpack (= 6.1.7.8) - activesupport (= 6.1.7.8) - method_source + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + railties (7.2.2.1) + actionpack (= 7.2.2.1) + activesupport (= 7.2.2.1) + irb (~> 1.13) + rackup (>= 1.0.0) rake (>= 12.2) - thor (~> 1.0) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) rake (13.2.1) - regexp_parser (2.9.2) - rexml (3.3.2) - strscan - rubyzip (2.3.2) + rdoc (6.11.0) + psych (>= 4.0.0) + regexp_parser (2.10.0) + reline (0.6.0) + io-console (~> 0.5) + rexml (3.4.0) + rubyzip (2.4.1) + securerandom (0.4.1) selenium-webdriver (4.10.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) @@ -171,42 +217,43 @@ GEM sprockets (4.2.1) concurrent-ruby (~> 1.0) rack (>= 2.2.4, < 4) - sprockets-rails (3.5.1) + sprockets-rails (3.5.2) actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) - sqlite3 (2.0.3-aarch64-linux-gnu) - sqlite3 (2.0.3-aarch64-linux-musl) - sqlite3 (2.0.3-arm-linux-gnu) - sqlite3 (2.0.3-arm-linux-musl) - sqlite3 (2.0.3-arm64-darwin) - sqlite3 (2.0.3-x86-linux-gnu) - sqlite3 (2.0.3-x86-linux-musl) - sqlite3 (2.0.3-x86_64-darwin) - sqlite3 (2.0.3-x86_64-linux-gnu) - sqlite3 (2.0.3-x86_64-linux-musl) - stimulus-rails (1.3.3) + sqlite3 (2.5.0-aarch64-linux-gnu) + sqlite3 (2.5.0-aarch64-linux-musl) + sqlite3 (2.5.0-arm-linux-gnu) + sqlite3 (2.5.0-arm-linux-musl) + sqlite3 (2.5.0-arm64-darwin) + sqlite3 (2.5.0-x86-linux-gnu) + sqlite3 (2.5.0-x86-linux-musl) + sqlite3 (2.5.0-x86_64-darwin) + sqlite3 (2.5.0-x86_64-linux-gnu) + sqlite3 (2.5.0-x86_64-linux-musl) + stimulus-rails (1.3.4) railties (>= 6.0.0) - strscan (3.1.0) - thor (1.3.1) - timeout (0.4.1) - turbo-rails (2.0.6) + stringio (3.1.2) + thor (1.3.2) + timeout (0.4.3) + turbo-rails (2.0.11) actionpack (>= 6.0.0) - activejob (>= 6.0.0) railties (>= 6.0.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) + useragent (0.16.11) webdrivers (5.3.1) nokogiri (~> 1.6) rubyzip (>= 1.3.0) selenium-webdriver (~> 4.0, < 4.11) websocket (1.2.11) - websocket-driver (0.7.6) + websocket-driver (0.7.7) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.17) + zeitwerk (2.6.18) PLATFORMS aarch64-linux @@ -228,7 +275,7 @@ DEPENDENCIES byebug capybara jsbundling-rails! - rails (~> 6.1.0) + rails (~> 7.2.0) rexml selenium-webdriver sprockets-rails diff --git a/gemfiles/rails_6_1.gemfile.lock b/gemfiles/rails_6_1.gemfile.lock deleted file mode 100644 index 34ac3dc..0000000 --- a/gemfiles/rails_6_1.gemfile.lock +++ /dev/null @@ -1,210 +0,0 @@ -PATH - remote: .. - specs: - jsbundling-rails (1.3.1) - railties (>= 6.0.0) - -GEM - remote: https://rubygems.org/ - specs: - actioncable (6.1.7.8) - actionpack (= 6.1.7.8) - activesupport (= 6.1.7.8) - nio4r (~> 2.0) - websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.8) - actionpack (= 6.1.7.8) - activejob (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) - mail (>= 2.7.1) - actionmailer (6.1.7.8) - actionpack (= 6.1.7.8) - actionview (= 6.1.7.8) - activejob (= 6.1.7.8) - activesupport (= 6.1.7.8) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 2.0) - actionpack (6.1.7.8) - actionview (= 6.1.7.8) - activesupport (= 6.1.7.8) - rack (~> 2.0, >= 2.0.9) - rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.7.8) - actionpack (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) - nokogiri (>= 1.8.5) - actionview (6.1.7.8) - activesupport (= 6.1.7.8) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (6.1.7.8) - activesupport (= 6.1.7.8) - globalid (>= 0.3.6) - activemodel (6.1.7.8) - activesupport (= 6.1.7.8) - activerecord (6.1.7.8) - activemodel (= 6.1.7.8) - activesupport (= 6.1.7.8) - activestorage (6.1.7.8) - actionpack (= 6.1.7.8) - activejob (= 6.1.7.8) - activerecord (= 6.1.7.8) - activesupport (= 6.1.7.8) - marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (6.1.7.8) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - zeitwerk (~> 2.3) - addressable (2.8.7) - public_suffix (>= 2.0.2, < 7.0) - appraisal (2.5.0) - bundler - rake - thor (>= 0.14.0) - builder (3.3.0) - byebug (11.1.3) - capybara (3.40.0) - addressable - matrix - mini_mime (>= 0.1.3) - nokogiri (~> 1.11) - rack (>= 1.6.0) - rack-test (>= 0.6.3) - regexp_parser (>= 1.5, < 3.0) - xpath (~> 3.2) - concurrent-ruby (1.3.3) - crass (1.0.6) - date (3.3.4) - erubi (1.13.0) - globalid (1.2.1) - activesupport (>= 6.1) - i18n (1.14.5) - concurrent-ruby (~> 1.0) - loofah (2.22.0) - crass (~> 1.0.2) - nokogiri (>= 1.12.0) - mail (2.8.1) - mini_mime (>= 0.1.1) - net-imap - net-pop - net-smtp - marcel (1.0.4) - matrix (0.4.2) - method_source (1.1.0) - mini_mime (1.1.5) - minitest (5.24.1) - net-imap (0.4.14) - date - net-protocol - net-pop (0.1.2) - net-protocol - net-protocol (0.2.2) - timeout - net-smtp (0.5.0) - net-protocol - nio4r (2.7.3) - nokogiri (1.16.7-x86_64-linux) - racc (~> 1.4) - public_suffix (6.0.1) - racc (1.8.1) - rack (2.2.9) - rack-test (2.1.0) - rack (>= 1.3) - rails (6.1.7.8) - actioncable (= 6.1.7.8) - actionmailbox (= 6.1.7.8) - actionmailer (= 6.1.7.8) - actionpack (= 6.1.7.8) - actiontext (= 6.1.7.8) - actionview (= 6.1.7.8) - activejob (= 6.1.7.8) - activemodel (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) - bundler (>= 1.15.0) - railties (= 6.1.7.8) - sprockets-rails (>= 2.0.0) - rails-dom-testing (2.2.0) - activesupport (>= 5.0.0) - minitest - nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) - loofah (~> 2.21) - nokogiri (~> 1.14) - railties (6.1.7.8) - actionpack (= 6.1.7.8) - activesupport (= 6.1.7.8) - method_source - rake (>= 12.2) - thor (~> 1.0) - rake (13.2.1) - regexp_parser (2.9.2) - rexml (3.3.2) - strscan - rubyzip (2.3.2) - selenium-webdriver (4.10.0) - rexml (~> 3.2, >= 3.2.5) - rubyzip (>= 1.2.2, < 3.0) - websocket (~> 1.0) - sprockets (4.2.1) - concurrent-ruby (~> 1.0) - rack (>= 2.2.4, < 4) - sprockets-rails (3.5.1) - actionpack (>= 6.1) - activesupport (>= 6.1) - sprockets (>= 3.0.0) - sqlite3 (2.0.3-x86_64-linux-gnu) - stimulus-rails (1.3.3) - railties (>= 6.0.0) - strscan (3.1.0) - thor (1.3.1) - timeout (0.4.1) - turbo-rails (2.0.6) - actionpack (>= 6.0.0) - activejob (>= 6.0.0) - railties (>= 6.0.0) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - webdrivers (5.3.1) - nokogiri (~> 1.6) - rubyzip (>= 1.3.0) - selenium-webdriver (~> 4.0, < 4.11) - websocket (1.2.11) - websocket-driver (0.7.6) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) - xpath (3.2.0) - nokogiri (~> 1.8) - zeitwerk (2.6.17) - -PLATFORMS - x86_64-linux-gnu - -DEPENDENCIES - appraisal - byebug - capybara - jsbundling-rails! - rails (~> 6.1.0) - rexml - selenium-webdriver - sprockets-rails - sqlite3 - stimulus-rails - turbo-rails - webdrivers - -BUNDLED WITH - 2.5.16 diff --git a/gemfiles/rails_7_0.gemfile.lock b/gemfiles/rails_7_0.gemfile.lock index 59d1d8e..a3038a5 100644 --- a/gemfiles/rails_7_0.gemfile.lock +++ b/gemfiles/rails_7_0.gemfile.lock @@ -109,6 +109,7 @@ GEM matrix (0.4.2) method_source (1.1.0) mini_mime (1.1.5) + mini_portile2 (2.8.8) minitest (5.24.1) net-imap (0.4.14) date @@ -120,6 +121,9 @@ GEM net-smtp (0.5.0) net-protocol nio4r (2.7.3) + nokogiri (1.16.7) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) nokogiri (1.16.7-x86_64-linux) racc (~> 1.4) propshaft (0.8.0) @@ -176,6 +180,8 @@ GEM actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) + sqlite3 (2.0.3) + mini_portile2 (~> 2.8.0) sqlite3 (2.0.3-x86_64-linux-gnu) stimulus-rails (1.3.3) railties (>= 6.0.0) @@ -201,6 +207,7 @@ GEM zeitwerk (2.6.17) PLATFORMS + arm64-darwin-24 x86_64-linux-gnu DEPENDENCIES diff --git a/gemfiles/rails_7_1.gemfile.lock b/gemfiles/rails_7_1.gemfile.lock index aa3c4ab..3b6b897 100644 --- a/gemfiles/rails_7_1.gemfile.lock +++ b/gemfiles/rails_7_1.gemfile.lock @@ -126,6 +126,7 @@ GEM marcel (1.0.4) matrix (0.4.2) mini_mime (1.1.5) + mini_portile2 (2.8.8) minitest (5.24.1) mutex_m (0.2.0) net-imap (0.4.14) @@ -138,6 +139,9 @@ GEM net-smtp (0.5.0) net-protocol nio4r (2.7.3) + nokogiri (1.16.7) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) nokogiri (1.16.7-x86_64-linux) racc (~> 1.4) propshaft (0.8.0) @@ -207,6 +211,8 @@ GEM actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) + sqlite3 (2.0.3) + mini_portile2 (~> 2.8.0) sqlite3 (2.0.3-x86_64-linux-gnu) stimulus-rails (1.3.3) railties (>= 6.0.0) @@ -234,6 +240,7 @@ GEM zeitwerk (2.6.17) PLATFORMS + arm64-darwin-24 x86_64-linux-gnu DEPENDENCIES diff --git a/gemfiles/rails_7_2.gemfile.lock b/gemfiles/rails_7_2.gemfile.lock index d2c7b97..a6ea621 100644 --- a/gemfiles/rails_7_2.gemfile.lock +++ b/gemfiles/rails_7_2.gemfile.lock @@ -122,6 +122,7 @@ GEM marcel (1.0.4) matrix (0.4.2) mini_mime (1.1.5) + mini_portile2 (2.8.8) minitest (5.25.1) net-imap (0.4.16) date @@ -133,17 +134,24 @@ GEM net-smtp (0.5.0) net-protocol nio4r (2.7.3) - nokogiri (1.16.7-aarch64-linux) + nokogiri (1.18.2) + mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.16.7-arm-linux) + nokogiri (1.18.2-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.16.7-arm64-darwin) + nokogiri (1.18.2-aarch64-linux-musl) racc (~> 1.4) - nokogiri (1.16.7-x86-linux) + nokogiri (1.18.2-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.16.7-x86_64-darwin) + nokogiri (1.18.2-arm-linux-musl) racc (~> 1.4) - nokogiri (1.16.7-x86_64-linux) + nokogiri (1.18.2-arm64-darwin) + racc (~> 1.4) + nokogiri (1.18.2-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.18.2-x86_64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.2-x86_64-linux-musl) racc (~> 1.4) propshaft (1.0.0) actionpack (>= 7.0.0) @@ -211,16 +219,16 @@ GEM actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) - sqlite3 (2.0.4-aarch64-linux-gnu) - sqlite3 (2.0.4-aarch64-linux-musl) - sqlite3 (2.0.4-arm-linux-gnu) - sqlite3 (2.0.4-arm-linux-musl) - sqlite3 (2.0.4-arm64-darwin) - sqlite3 (2.0.4-x86-linux-gnu) - sqlite3 (2.0.4-x86-linux-musl) - sqlite3 (2.0.4-x86_64-darwin) - sqlite3 (2.0.4-x86_64-linux-gnu) - sqlite3 (2.0.4-x86_64-linux-musl) + sqlite3 (2.5.0-aarch64-linux-gnu) + sqlite3 (2.5.0-aarch64-linux-musl) + sqlite3 (2.5.0-arm-linux-gnu) + sqlite3 (2.5.0-arm-linux-musl) + sqlite3 (2.5.0-arm64-darwin) + sqlite3 (2.5.0-x86-linux-gnu) + sqlite3 (2.5.0-x86-linux-musl) + sqlite3 (2.5.0-x86_64-darwin) + sqlite3 (2.5.0-x86_64-linux-gnu) + sqlite3 (2.5.0-x86_64-linux-musl) stimulus-rails (1.3.4) railties (>= 6.0.0) stringio (3.1.1) diff --git a/gemfiles/rails_6_1.gemfile b/gemfiles/rails_8_0.gemfile similarity index 85% rename from gemfiles/rails_6_1.gemfile rename to gemfiles/rails_8_0.gemfile index d6c98b5..c84b821 100644 --- a/gemfiles/rails_6_1.gemfile +++ b/gemfiles/rails_8_0.gemfile @@ -3,9 +3,9 @@ source "https://rubygems.org" gem "appraisal" -gem "rails", "~> 6.1.0" -gem "sprockets-rails" +gem "rails", "~> 8.0.0" gem "sqlite3" +gem "propshaft" group :test do gem "turbo-rails" diff --git a/gemfiles/rails_8_0.gemfile.lock b/gemfiles/rails_8_0.gemfile.lock new file mode 100644 index 0000000..62a0974 --- /dev/null +++ b/gemfiles/rails_8_0.gemfile.lock @@ -0,0 +1,275 @@ +PATH + remote: .. + specs: + jsbundling-rails (1.3.1) + railties (>= 6.0.0) + +GEM + remote: https://rubygems.org/ + specs: + actioncable (8.0.1) + actionpack (= 8.0.1) + activesupport (= 8.0.1) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + zeitwerk (~> 2.6) + actionmailbox (8.0.1) + actionpack (= 8.0.1) + activejob (= 8.0.1) + activerecord (= 8.0.1) + activestorage (= 8.0.1) + activesupport (= 8.0.1) + mail (>= 2.8.0) + actionmailer (8.0.1) + actionpack (= 8.0.1) + actionview (= 8.0.1) + activejob (= 8.0.1) + activesupport (= 8.0.1) + mail (>= 2.8.0) + rails-dom-testing (~> 2.2) + actionpack (8.0.1) + actionview (= 8.0.1) + activesupport (= 8.0.1) + nokogiri (>= 1.8.5) + rack (>= 2.2.4) + rack-session (>= 1.0.1) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + useragent (~> 0.16) + actiontext (8.0.1) + actionpack (= 8.0.1) + activerecord (= 8.0.1) + activestorage (= 8.0.1) + activesupport (= 8.0.1) + globalid (>= 0.6.0) + nokogiri (>= 1.8.5) + actionview (8.0.1) + activesupport (= 8.0.1) + builder (~> 3.1) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activejob (8.0.1) + activesupport (= 8.0.1) + globalid (>= 0.3.6) + activemodel (8.0.1) + activesupport (= 8.0.1) + activerecord (8.0.1) + activemodel (= 8.0.1) + activesupport (= 8.0.1) + timeout (>= 0.4.0) + activestorage (8.0.1) + actionpack (= 8.0.1) + activejob (= 8.0.1) + activerecord (= 8.0.1) + activesupport (= 8.0.1) + marcel (~> 1.0) + activesupport (8.0.1) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + appraisal (2.5.0) + bundler + rake + thor (>= 0.14.0) + base64 (0.2.0) + benchmark (0.4.0) + bigdecimal (3.1.9) + builder (3.3.0) + byebug (11.1.3) + capybara (3.40.0) + addressable + matrix + mini_mime (>= 0.1.3) + nokogiri (~> 1.11) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (>= 1.5, < 3.0) + xpath (~> 3.2) + concurrent-ruby (1.3.5) + connection_pool (2.5.0) + crass (1.0.6) + date (3.4.1) + drb (2.2.1) + erubi (1.13.1) + globalid (1.2.1) + activesupport (>= 6.1) + i18n (1.14.7) + concurrent-ruby (~> 1.0) + io-console (0.8.0) + irb (1.15.1) + pp (>= 0.6.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + logger (1.6.5) + loofah (2.24.0) + crass (~> 1.0.2) + nokogiri (>= 1.12.0) + mail (2.8.1) + mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp + marcel (1.0.4) + matrix (0.4.2) + mini_mime (1.1.5) + minitest (5.25.4) + net-imap (0.5.5) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.5.0) + nio4r (2.7.4) + nokogiri (1.18.2-aarch64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.2-aarch64-linux-musl) + racc (~> 1.4) + nokogiri (1.18.2-arm-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.2-arm-linux-musl) + racc (~> 1.4) + nokogiri (1.18.2-arm64-darwin) + racc (~> 1.4) + nokogiri (1.18.2-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.18.2-x86_64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.2-x86_64-linux-musl) + racc (~> 1.4) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + propshaft (1.1.0) + actionpack (>= 7.0.0) + activesupport (>= 7.0.0) + rack + railties (>= 7.0.0) + psych (5.2.3) + date + stringio + public_suffix (6.0.1) + racc (1.8.1) + rack (3.1.8) + rack-session (2.1.0) + base64 (>= 0.1.0) + rack (>= 3.0.0) + rack-test (2.2.0) + rack (>= 1.3) + rackup (2.2.1) + rack (>= 3) + rails (8.0.1) + actioncable (= 8.0.1) + actionmailbox (= 8.0.1) + actionmailer (= 8.0.1) + actionpack (= 8.0.1) + actiontext (= 8.0.1) + actionview (= 8.0.1) + activejob (= 8.0.1) + activemodel (= 8.0.1) + activerecord (= 8.0.1) + activestorage (= 8.0.1) + activesupport (= 8.0.1) + bundler (>= 1.15.0) + railties (= 8.0.1) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest + nokogiri (>= 1.6) + rails-html-sanitizer (1.6.2) + loofah (~> 2.21) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + railties (8.0.1) + actionpack (= 8.0.1) + activesupport (= 8.0.1) + irb (~> 1.13) + rackup (>= 1.0.0) + rake (>= 12.2) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) + rake (13.2.1) + rdoc (6.11.0) + psych (>= 4.0.0) + regexp_parser (2.10.0) + reline (0.6.0) + io-console (~> 0.5) + rexml (3.4.0) + rubyzip (2.4.1) + securerandom (0.4.1) + selenium-webdriver (4.10.0) + rexml (~> 3.2, >= 3.2.5) + rubyzip (>= 1.2.2, < 3.0) + websocket (~> 1.0) + sqlite3 (2.5.0-aarch64-linux-gnu) + sqlite3 (2.5.0-aarch64-linux-musl) + sqlite3 (2.5.0-arm-linux-gnu) + sqlite3 (2.5.0-arm-linux-musl) + sqlite3 (2.5.0-arm64-darwin) + sqlite3 (2.5.0-x86_64-darwin) + sqlite3 (2.5.0-x86_64-linux-gnu) + sqlite3 (2.5.0-x86_64-linux-musl) + stimulus-rails (1.3.4) + railties (>= 6.0.0) + stringio (3.1.2) + thor (1.3.2) + timeout (0.4.3) + turbo-rails (2.0.11) + actionpack (>= 6.0.0) + railties (>= 6.0.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + uri (1.0.2) + useragent (0.16.11) + webdrivers (5.3.1) + nokogiri (~> 1.6) + rubyzip (>= 1.3.0) + selenium-webdriver (~> 4.0, < 4.11) + websocket (1.2.11) + websocket-driver (0.7.7) + base64 + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.5) + xpath (3.2.0) + nokogiri (~> 1.8) + zeitwerk (2.7.1) + +PLATFORMS + aarch64-linux-gnu + aarch64-linux-musl + arm-linux-gnu + arm-linux-musl + arm64-darwin + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl + +DEPENDENCIES + appraisal + byebug + capybara + jsbundling-rails! + propshaft + rails (~> 8.0.0) + rexml + selenium-webdriver + sqlite3 + stimulus-rails + turbo-rails + webdrivers + +BUNDLED WITH + 2.6.2 diff --git a/gemfiles/rails_main.gemfile b/gemfiles/rails_main.gemfile index faf99e7..139b52c 100644 --- a/gemfiles/rails_main.gemfile +++ b/gemfiles/rails_main.gemfile @@ -4,7 +4,6 @@ source "https://rubygems.org" gem "appraisal" gem "rails", branch: "main", git: "https://github.com/rails/rails.git" -gem "sprockets-rails" gem "sqlite3" gem "propshaft" diff --git a/jsbundling-rails.gemspec b/jsbundling-rails.gemspec index ec42935..c4249d8 100644 --- a/jsbundling-rails.gemspec +++ b/jsbundling-rails.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |spec| spec.files = Dir.glob("lib/**/*", File::FNM_DOTMATCH).reject { |f| File.directory?(f) } spec.files += ["MIT-LICENSE", "README.md"] - spec.add_dependency "railties", ">= 6.0.0" + spec.add_dependency "railties", ">= 7.0.0" spec.metadata["changelog_uri"] = spec.homepage + "/releases" end diff --git a/lib/jsbundling/version.rb b/lib/jsbundling/version.rb index dc7c686..7de649e 100644 --- a/lib/jsbundling/version.rb +++ b/lib/jsbundling/version.rb @@ -1,3 +1,3 @@ module Jsbundling - VERSION = "1.3.1" + VERSION = "1.4.0" end diff --git a/test/shared_installer_tests.rb b/test/shared_installer_tests.rb index 59d01fc..b835b51 100644 --- a/test/shared_installer_tests.rb +++ b/test/shared_installer_tests.rb @@ -73,20 +73,22 @@ module SharedInstallerTests end end - test "basic installation with Sprockets" do - with_new_rails_app(*("--asset-pipeline=sprockets" if Rails::VERSION::MAJOR >= 7)) do - File.write("app/assets/config/manifest.js", "// pre-existing\n", mode: "a+") + if Rails::VERSION::MAJOR < 8 + test "basic installation with Sprockets" do + with_new_rails_app(*("--asset-pipeline=sprockets" if Rails::VERSION::MAJOR == 7)) do + File.write("app/assets/config/manifest.js", "// pre-existing\n", mode: "a+") - run_installer + run_installer - File.read("app/assets/config/manifest.js").tap do |sprockets_manifest| - assert_match "// pre-existing", sprockets_manifest - assert_match "//= link_tree ../builds", sprockets_manifest + File.read("app/assets/config/manifest.js").tap do |sprockets_manifest| + assert_match "// pre-existing", sprockets_manifest + assert_match "//= link_tree ../builds", sprockets_manifest + end end end end - if Rails::VERSION::MAJOR == 7 + if Rails::VERSION::MAJOR >= 7 test "basic installation with Propshaft" do with_new_rails_app("--asset-pipeline=propshaft") do run_installer diff --git a/test/test_helper.rb b/test/test_helper.rb index a235e65..02ecc05 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -2,6 +2,8 @@ ENV["RAILS_ENV"] = "test" require "fileutils" +require "tmpdir" + require "rails" require "rails/test_help" @@ -44,7 +46,7 @@ def with_new_rails_app(*cli_options, &block) FileUtils.cp_r("#{cache_dir}/#{app_name}", tmpdir) else create_new_rails_app("#{tmpdir}/#{app_name}", *cli_options) - FileUtils.cp_r("#{tmpdir}/#{app_name}", cache_dir) # Cache app for future runs. + FileUtils.cp_r("#{tmpdir}/#{app_name}", cache_dir, remove_destination: true) # Cache app for future runs. end Dir.chdir("#{tmpdir}/#{app_name}", &block)