From b57eb6e00c2fffe8a035a15685fb3dfcf8908f76 Mon Sep 17 00:00:00 2001 From: Judah Meek Date: Tue, 14 May 2024 21:07:32 -0500 Subject: [PATCH] refactoring & ci fixes --- .github/workflows/rubocop.yml | 7 +- .github/workflows/ruby.yml | 3 +- Appraisals | 11 -- Gemfile | 4 - Gemfile.lock | 158 ++++++++++++------ LintingGemfile | 7 + LintingGemfile.lock | 47 ++++++ gemfiles/base.gemfile.lock | 145 ++++++++-------- gemfiles/shakapacker.gemfile | 1 - gemfiles/shakapacker.gemfile.lock | 141 ++++++++-------- gemfiles/sprockets_3.gemfile | 1 - gemfiles/sprockets_3.gemfile.lock | 143 ++++++++-------- gemfiles/sprockets_4.gemfile | 1 - gemfiles/sprockets_4.gemfile.lock | 143 ++++++++-------- react-rails.gemspec | 3 +- .../app/views/layouts/application.html.erb | 1 - test/dummy/config/application.rb | 5 + test/dummy/package.json | 6 +- test/dummy/yarn.lock | 40 ++--- test/react/rails/railtie_test.rb | 2 +- test/react/rails/react_rails_ujs_test.rb | 4 +- .../server_rendering/exec_js_renderer_test.rb | 2 +- test/react_asset_test.rb | 2 +- test/server_rendered_html_test.rb | 8 +- test/support/sprockets_helpers.rb | 6 +- test/support/webpacker_helpers.rb | 6 +- test/test_helper.rb | 12 +- 27 files changed, 503 insertions(+), 406 deletions(-) create mode 100644 LintingGemfile create mode 100644 LintingGemfile.lock diff --git a/.github/workflows/rubocop.yml b/.github/workflows/rubocop.yml index 480e75ebb..a6ae7a864 100644 --- a/.github/workflows/rubocop.yml +++ b/.github/workflows/rubocop.yml @@ -14,6 +14,9 @@ jobs: matrix: os: [ubuntu-latest] ruby: ['2.7', '3.0'] + env: + # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps + BUNDLE_GEMFILE: ${{ github.workspace }}/LintingGemfile steps: - uses: actions/checkout@v4 @@ -23,7 +26,5 @@ jobs: with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - - name: Install linting gems - run: gem install rubocop rubocop-performance rubocop-minitest - name: Run rubocop - run: rubocop + run: bundle exec rubocop diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index ceb648206..e25ee7819 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -105,12 +105,13 @@ jobs: with: bundler: 2.4.9 ruby-version: ${{ matrix.ruby }} + - run: bundle config set --local path 'test/dummy/vendor/bundle' - run: ./test/bin/create-fake-js-package-managers ${{ matrix.js_package_manager.installer }} - name: Save dummy app ruby gems to cache uses: actions/cache@v3 with: path: test/dummy/vendor/bundle - key: dummy-app-gem-cache-${{ hashFiles('${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile.lock') }} + key: dummy-app-gem-cache-${{ hashFiles(format('{0}/gemfiles/{1}.gemfile.lock', github.workspace, matrix.gemfile)) }} - name: Install Ruby Gems for dummy app run: bundle lock --add-platform 'x86_64-linux' && bundle check --path=test/dummy/vendor/bundle || bundle _2.4.9_ install --frozen --path=test/dummy/vendor/bundle --jobs=4 --retry=3 - run: cd test/dummy && yalc add react_ujs && ${{ matrix.js_package_manager.installer }} install diff --git a/Appraisals b/Appraisals index 967ed8ecb..cce17d3b3 100644 --- a/Appraisals +++ b/Appraisals @@ -1,5 +1,4 @@ appraise 'sprockets_4' do - gem 'rails', '~> 7.0.x' gem 'sprockets', '~> 4.0.x' gem 'sprockets-rails' gem 'turbolinks', '~> 5' @@ -7,7 +6,6 @@ appraise 'sprockets_4' do end appraise 'sprockets_3' do - gem 'rails', '~> 7.0.x' gem 'sprockets', '~> 3.5' gem 'sprockets-rails' gem 'turbolinks', '~> 5' @@ -15,14 +13,5 @@ appraise 'sprockets_3' do end appraise 'shakapacker' do - gem 'rails', '~> 7.0.x' gem 'shakapacker', '7.2.0' end - -appraise 'base' do - # Appraisal adds `turbolinks` to this gemfile because it is - # present in `./Gemfile`. - # But it causes this gemfile to break, so it must be removed - # from `./gemfiles/rails_5_no_sprockets.gemfile` manually. - gem 'rails', '~> 7.0.x' -end diff --git a/Gemfile b/Gemfile index d60f3f495..c56c88f84 100644 --- a/Gemfile +++ b/Gemfile @@ -3,7 +3,3 @@ source "http://rubygems.org" gemspec -# This is an optional dev-dependency, required whenever sprockets is required -gem "rubocop" -gem "rubocop-minitest" -gem "rubocop-performance" diff --git a/Gemfile.lock b/Gemfile.lock index 73b8b9f51..e6383b944 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,32 +11,77 @@ PATH GEM remote: http://rubygems.org/ specs: - actionpack (6.0.2.1) - actionview (= 6.0.2.1) - activesupport (= 6.0.2.1) - rack (~> 2.0, >= 2.0.8) + actioncable (7.0.8.1) + actionpack (= 7.0.8.1) + activesupport (= 7.0.8.1) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (7.0.8.1) + actionpack (= 7.0.8.1) + activejob (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) + mail (>= 2.7.1) + net-imap + net-pop + net-smtp + actionmailer (7.0.8.1) + actionpack (= 7.0.8.1) + actionview (= 7.0.8.1) + activejob (= 7.0.8.1) + activesupport (= 7.0.8.1) + mail (~> 2.5, >= 2.5.4) + net-imap + net-pop + net-smtp + rails-dom-testing (~> 2.0) + actionpack (7.0.8.1) + actionview (= 7.0.8.1) + activesupport (= 7.0.8.1) + rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actionview (6.0.2.1) - activesupport (= 6.0.2.1) + actiontext (7.0.8.1) + actionpack (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) + globalid (>= 0.6.0) + nokogiri (>= 1.8.5) + actionview (7.0.8.1) + activesupport (= 7.0.8.1) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activesupport (6.0.2.1) + activejob (7.0.8.1) + activesupport (= 7.0.8.1) + globalid (>= 0.3.6) + activemodel (7.0.8.1) + activesupport (= 7.0.8.1) + activerecord (7.0.8.1) + activemodel (= 7.0.8.1) + activesupport (= 7.0.8.1) + activestorage (7.0.8.1) + actionpack (= 7.0.8.1) + activejob (= 7.0.8.1) + activerecord (= 7.0.8.1) + activesupport (= 7.0.8.1) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (7.0.8.1) concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) appraisal (2.4.1) bundler rake thor (>= 0.14.0) - ast (2.4.2) babel-source (5.8.35) babel-transpiler (0.7.0) babel-source (>= 4.0, < 6) @@ -65,6 +110,7 @@ GEM concurrent-ruby (1.1.10) connection_pool (2.3.0) crass (1.0.6) + date (3.3.4) docile (1.1.5) erubi (1.9.0) es5-shim-rails (4.0.1) @@ -74,6 +120,8 @@ GEM ffi (1.15.5) formatador (1.1.0) gem-release (2.2.2) + globalid (1.2.1) + activesupport (>= 6.1) guard (2.18.0) formatador (>= 0.2.4) listen (>= 2.7, < 4.0) @@ -93,7 +141,6 @@ GEM actionview (>= 5.0.0) activesupport (>= 5.0.0) json (2.3.0) - language_server-protocol (3.17.0.3) listen (3.0.8) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) @@ -101,11 +148,29 @@ GEM crass (~> 1.0.2) nokogiri (>= 1.5.9) lumberjack (1.2.8) + 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.0.0) - mini_mime (1.0.2) + mini_mime (1.1.2) minitest (5.17.0) + minitest-retry (0.2.2) + minitest (>= 5.0) nenv (0.3.0) + net-imap (0.4.11) + 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.14.3-x86_64-darwin) racc (~> 1.4) nokogiri (1.14.3-x86_64-linux) @@ -114,10 +179,6 @@ GEM nenv (~> 0.1) shellany (~> 0.0) package_json (0.1.0) - parallel (1.24.0) - parser (3.3.0.5) - ast (~> 2.4.1) - racc pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) @@ -129,44 +190,38 @@ GEM rack (2.2.6.4) rack-test (2.0.2) rack (>= 1.3) + rails (7.0.8.1) + actioncable (= 7.0.8.1) + actionmailbox (= 7.0.8.1) + actionmailer (= 7.0.8.1) + actionpack (= 7.0.8.1) + actiontext (= 7.0.8.1) + actionview (= 7.0.8.1) + activejob (= 7.0.8.1) + activemodel (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) + bundler (>= 1.15.0) + railties (= 7.0.8.1) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.4.4) loofah (~> 2.19, >= 2.19.1) - railties (6.0.2.1) - actionpack (= 6.0.2.1) - activesupport (= 6.0.2.1) + railties (7.0.8.1) + actionpack (= 7.0.8.1) + activesupport (= 7.0.8.1) method_source - rake (>= 0.8.7) - thor (>= 0.20.3, < 2.0) - rainbow (3.1.1) + rake (>= 12.2) + thor (~> 1.0) + zeitwerk (~> 2.5) rake (13.0.1) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) regexp_parser (2.6.0) rexml (3.2.5) - rubocop (1.63.1) - json (~> 2.3) - language_server-protocol (>= 3.17.0) - parallel (~> 1.10) - parser (>= 3.3.0.2) - rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.8, < 3.0) - rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.31.1, < 2.0) - ruby-progressbar (~> 1.7) - unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.31.2) - parser (>= 3.3.0.4) - rubocop-minitest (0.35.0) - rubocop (>= 1.61, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) - rubocop-performance (1.21.0) - rubocop (>= 1.48.1, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) - ruby-progressbar (1.13.0) rubyzip (2.3.2) selenium-webdriver (4.9.0) rexml (~> 3.2, >= 3.2.5) @@ -180,12 +235,14 @@ GEM simplecov-html (0.10.2) test-unit (2.5.5) thor (1.2.1) - thread_safe (0.3.6) tilt (2.1.0) - tzinfo (1.2.10) - thread_safe (~> 0.1) - unicode-display_width (2.5.0) + timeout (0.4.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) websocket (1.2.9) + 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.6) @@ -206,12 +263,11 @@ DEPENDENCIES guard-minitest jbuilder listen (~> 3.0.0) + minitest-retry package_json pry-byebug + rails (~> 7.0.7, >= 7.0.7.2) react-rails! - rubocop - rubocop-minitest - rubocop-performance selenium-webdriver test-unit (~> 2.5) diff --git a/LintingGemfile b/LintingGemfile new file mode 100644 index 000000000..7edffc5aa --- /dev/null +++ b/LintingGemfile @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +source "http://rubygems.org" +# To install gems from this Gemfile locally, use BUNDLE_GEMFILE=./LintingGemfile bundle exec rubocop +gem "rubocop" +gem "rubocop-minitest" +gem "rubocop-performance" diff --git a/LintingGemfile.lock b/LintingGemfile.lock new file mode 100644 index 000000000..85af7abf3 --- /dev/null +++ b/LintingGemfile.lock @@ -0,0 +1,47 @@ +GEM + remote: http://rubygems.org/ + specs: + ast (2.4.2) + json (2.7.2) + language_server-protocol (3.17.0.3) + parallel (1.24.0) + parser (3.3.1.0) + ast (~> 2.4.1) + racc + racc (1.7.3) + rainbow (3.1.1) + regexp_parser (2.9.0) + rexml (3.2.6) + rubocop (1.63.5) + json (~> 2.3) + language_server-protocol (>= 3.17.0) + parallel (~> 1.10) + parser (>= 3.3.0.2) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.31.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.31.3) + parser (>= 3.3.1.0) + rubocop-minitest (0.35.0) + rubocop (>= 1.61, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-performance (1.21.0) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + ruby-progressbar (1.13.0) + unicode-display_width (2.5.0) + +PLATFORMS + x86_64-darwin-20 + x86_64-linux + +DEPENDENCIES + rubocop + rubocop-minitest + rubocop-performance + +BUNDLED WITH + 2.4.9 diff --git a/gemfiles/base.gemfile.lock b/gemfiles/base.gemfile.lock index a21eb747e..d2f56557e 100644 --- a/gemfiles/base.gemfile.lock +++ b/gemfiles/base.gemfile.lock @@ -1,7 +1,7 @@ PATH remote: .. specs: - react-rails (3.1.1) + react-rails (3.2.0) babel-transpiler (>= 0.7.0) connection_pool execjs @@ -11,67 +11,67 @@ PATH GEM remote: http://rubygems.org/ specs: - actioncable (7.0.4.3) - actionpack (= 7.0.4.3) - activesupport (= 7.0.4.3) + actioncable (7.0.8.1) + actionpack (= 7.0.8.1) + activesupport (= 7.0.8.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.4.3) - actionpack (= 7.0.4.3) - activejob (= 7.0.4.3) - activerecord (= 7.0.4.3) - activestorage (= 7.0.4.3) - activesupport (= 7.0.4.3) + actionmailbox (7.0.8.1) + actionpack (= 7.0.8.1) + activejob (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.4.3) - actionpack (= 7.0.4.3) - actionview (= 7.0.4.3) - activejob (= 7.0.4.3) - activesupport (= 7.0.4.3) + actionmailer (7.0.8.1) + actionpack (= 7.0.8.1) + actionview (= 7.0.8.1) + activejob (= 7.0.8.1) + activesupport (= 7.0.8.1) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.4.3) - actionview (= 7.0.4.3) - activesupport (= 7.0.4.3) - rack (~> 2.0, >= 2.2.0) + actionpack (7.0.8.1) + actionview (= 7.0.8.1) + activesupport (= 7.0.8.1) + rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.4.3) - actionpack (= 7.0.4.3) - activerecord (= 7.0.4.3) - activestorage (= 7.0.4.3) - activesupport (= 7.0.4.3) + actiontext (7.0.8.1) + actionpack (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.4.3) - activesupport (= 7.0.4.3) + actionview (7.0.8.1) + activesupport (= 7.0.8.1) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.4.3) - activesupport (= 7.0.4.3) + activejob (7.0.8.1) + activesupport (= 7.0.8.1) globalid (>= 0.3.6) - activemodel (7.0.4.3) - activesupport (= 7.0.4.3) - activerecord (7.0.4.3) - activemodel (= 7.0.4.3) - activesupport (= 7.0.4.3) - activestorage (7.0.4.3) - actionpack (= 7.0.4.3) - activejob (= 7.0.4.3) - activerecord (= 7.0.4.3) - activesupport (= 7.0.4.3) + activemodel (7.0.8.1) + activesupport (= 7.0.8.1) + activerecord (7.0.8.1) + activemodel (= 7.0.8.1) + activesupport (= 7.0.8.1) + activestorage (7.0.8.1) + actionpack (= 7.0.8.1) + activejob (= 7.0.8.1) + activerecord (= 7.0.8.1) + activesupport (= 7.0.8.1) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.4.3) + activesupport (7.0.8.1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -110,7 +110,7 @@ GEM concurrent-ruby (1.2.2) connection_pool (2.4.0) crass (1.0.6) - date (3.3.3) + date (3.3.4) docile (1.1.5) erubi (1.12.0) es5-shim-rails (4.0.1) @@ -120,8 +120,8 @@ GEM ffi (1.15.5) formatador (1.1.0) gem-release (2.2.2) - globalid (1.1.0) - activesupport (>= 5.0) + globalid (1.2.1) + activesupport (>= 6.1) guard (2.18.0) formatador (>= 0.2.4) listen (>= 2.7, < 4.0) @@ -153,22 +153,26 @@ GEM net-imap net-pop net-smtp - marcel (1.0.2) + marcel (1.0.4) matrix (0.4.2) method_source (1.0.0) mini_mime (1.1.2) minitest (5.18.0) + minitest-retry (0.2.2) + minitest (>= 5.0) nenv (0.3.0) - net-imap (0.3.4) + net-imap (0.4.11) date net-protocol net-pop (0.1.2) net-protocol - net-protocol (0.2.1) + net-protocol (0.2.2) timeout - net-smtp (0.3.3) + net-smtp (0.5.0) net-protocol - nio4r (2.5.9) + nio4r (2.7.3) + nokogiri (1.13.8-x86_64-darwin) + racc (~> 1.4) nokogiri (1.13.8-x86_64-linux) racc (~> 1.4) notiffany (0.1.3) @@ -186,28 +190,28 @@ GEM rack (2.2.7) rack-test (2.1.0) rack (>= 1.3) - rails (7.0.4.3) - actioncable (= 7.0.4.3) - actionmailbox (= 7.0.4.3) - actionmailer (= 7.0.4.3) - actionpack (= 7.0.4.3) - actiontext (= 7.0.4.3) - actionview (= 7.0.4.3) - activejob (= 7.0.4.3) - activemodel (= 7.0.4.3) - activerecord (= 7.0.4.3) - activestorage (= 7.0.4.3) - activesupport (= 7.0.4.3) + rails (7.0.8.1) + actioncable (= 7.0.8.1) + actionmailbox (= 7.0.8.1) + actionmailer (= 7.0.8.1) + actionpack (= 7.0.8.1) + actiontext (= 7.0.8.1) + actionview (= 7.0.8.1) + activejob (= 7.0.8.1) + activemodel (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) bundler (>= 1.15.0) - railties (= 7.0.4.3) + railties (= 7.0.8.1) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.5.0) loofah (~> 2.19, >= 2.19.1) - railties (7.0.4.3) - actionpack (= 7.0.4.3) - activesupport (= 7.0.4.3) + railties (7.0.8.1) + actionpack (= 7.0.8.1) + activesupport (= 7.0.8.1) method_source rake (>= 12.2) thor (~> 1.0) @@ -217,9 +221,9 @@ GEM rb-inotify (0.10.1) ffi (~> 1.0) regexp_parser (2.7.0) - rexml (3.2.5) + rexml (3.2.6) rubyzip (2.3.2) - selenium-webdriver (4.8.3) + selenium-webdriver (4.9.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) @@ -230,13 +234,13 @@ GEM simplecov-html (~> 0.10.0) simplecov-html (0.10.2) test-unit (2.5.5) - thor (1.2.1) - tilt (2.1.0) - timeout (0.3.2) + thor (1.2.2) + tilt (2.2.0) + timeout (0.4.1) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - websocket (1.2.9) - websocket-driver (0.7.5) + websocket (1.2.10) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) @@ -259,6 +263,7 @@ DEPENDENCIES guard-minitest jbuilder listen (~> 3.0.0) + minitest-retry package_json pry-byebug rails (~> 7.0.x) diff --git a/gemfiles/shakapacker.gemfile b/gemfiles/shakapacker.gemfile index bbd6c5b47..f062cae03 100644 --- a/gemfiles/shakapacker.gemfile +++ b/gemfiles/shakapacker.gemfile @@ -2,7 +2,6 @@ source "http://rubygems.org" -gem "rails", "~> 7.0.x" gem "shakapacker", "7.2.0" gemspec path: "../" diff --git a/gemfiles/shakapacker.gemfile.lock b/gemfiles/shakapacker.gemfile.lock index 7c2d64807..695ef2f6c 100644 --- a/gemfiles/shakapacker.gemfile.lock +++ b/gemfiles/shakapacker.gemfile.lock @@ -1,7 +1,7 @@ PATH remote: .. specs: - react-rails (3.1.1) + react-rails (3.2.0) babel-transpiler (>= 0.7.0) connection_pool execjs @@ -11,67 +11,67 @@ PATH GEM remote: http://rubygems.org/ specs: - actioncable (7.0.4.3) - actionpack (= 7.0.4.3) - activesupport (= 7.0.4.3) + actioncable (7.0.8.1) + actionpack (= 7.0.8.1) + activesupport (= 7.0.8.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.4.3) - actionpack (= 7.0.4.3) - activejob (= 7.0.4.3) - activerecord (= 7.0.4.3) - activestorage (= 7.0.4.3) - activesupport (= 7.0.4.3) + actionmailbox (7.0.8.1) + actionpack (= 7.0.8.1) + activejob (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.4.3) - actionpack (= 7.0.4.3) - actionview (= 7.0.4.3) - activejob (= 7.0.4.3) - activesupport (= 7.0.4.3) + actionmailer (7.0.8.1) + actionpack (= 7.0.8.1) + actionview (= 7.0.8.1) + activejob (= 7.0.8.1) + activesupport (= 7.0.8.1) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.4.3) - actionview (= 7.0.4.3) - activesupport (= 7.0.4.3) - rack (~> 2.0, >= 2.2.0) + actionpack (7.0.8.1) + actionview (= 7.0.8.1) + activesupport (= 7.0.8.1) + rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.4.3) - actionpack (= 7.0.4.3) - activerecord (= 7.0.4.3) - activestorage (= 7.0.4.3) - activesupport (= 7.0.4.3) + actiontext (7.0.8.1) + actionpack (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.4.3) - activesupport (= 7.0.4.3) + actionview (7.0.8.1) + activesupport (= 7.0.8.1) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.4.3) - activesupport (= 7.0.4.3) + activejob (7.0.8.1) + activesupport (= 7.0.8.1) globalid (>= 0.3.6) - activemodel (7.0.4.3) - activesupport (= 7.0.4.3) - activerecord (7.0.4.3) - activemodel (= 7.0.4.3) - activesupport (= 7.0.4.3) - activestorage (7.0.4.3) - actionpack (= 7.0.4.3) - activejob (= 7.0.4.3) - activerecord (= 7.0.4.3) - activesupport (= 7.0.4.3) + activemodel (7.0.8.1) + activesupport (= 7.0.8.1) + activerecord (7.0.8.1) + activemodel (= 7.0.8.1) + activesupport (= 7.0.8.1) + activestorage (7.0.8.1) + actionpack (= 7.0.8.1) + activejob (= 7.0.8.1) + activerecord (= 7.0.8.1) + activesupport (= 7.0.8.1) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.4.3) + activesupport (7.0.8.1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -110,7 +110,7 @@ GEM concurrent-ruby (1.2.2) connection_pool (2.4.0) crass (1.0.6) - date (3.3.3) + date (3.3.4) docile (1.1.5) erubi (1.12.0) es5-shim-rails (4.0.1) @@ -153,22 +153,24 @@ GEM net-imap net-pop net-smtp - marcel (1.0.2) + marcel (1.0.4) matrix (0.4.2) method_source (1.0.0) mini_mime (1.1.2) minitest (5.18.0) + minitest-retry (0.2.2) + minitest (>= 5.0) nenv (0.3.0) - net-imap (0.3.4) + net-imap (0.4.11) date net-protocol net-pop (0.1.2) net-protocol - net-protocol (0.2.1) + net-protocol (0.2.2) timeout - net-smtp (0.3.3) + net-smtp (0.5.0) net-protocol - nio4r (2.5.9) + nio4r (2.7.3) nokogiri (1.14.3-x86_64-darwin) racc (~> 1.4) nokogiri (1.14.3-x86_64-linux) @@ -190,28 +192,28 @@ GEM rack rack-test (2.1.0) rack (>= 1.3) - rails (7.0.4.3) - actioncable (= 7.0.4.3) - actionmailbox (= 7.0.4.3) - actionmailer (= 7.0.4.3) - actionpack (= 7.0.4.3) - actiontext (= 7.0.4.3) - actionview (= 7.0.4.3) - activejob (= 7.0.4.3) - activemodel (= 7.0.4.3) - activerecord (= 7.0.4.3) - activestorage (= 7.0.4.3) - activesupport (= 7.0.4.3) + rails (7.0.8.1) + actioncable (= 7.0.8.1) + actionmailbox (= 7.0.8.1) + actionmailer (= 7.0.8.1) + actionpack (= 7.0.8.1) + actiontext (= 7.0.8.1) + actionview (= 7.0.8.1) + activejob (= 7.0.8.1) + activemodel (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) bundler (>= 1.15.0) - railties (= 7.0.4.3) + railties (= 7.0.8.1) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.5.0) loofah (~> 2.19, >= 2.19.1) - railties (7.0.4.3) - actionpack (= 7.0.4.3) - activesupport (= 7.0.4.3) + railties (7.0.8.1) + actionpack (= 7.0.8.1) + activesupport (= 7.0.8.1) method_source rake (>= 12.2) thor (~> 1.0) @@ -221,9 +223,9 @@ GEM rb-inotify (0.10.1) ffi (~> 1.0) regexp_parser (2.7.0) - rexml (3.2.5) + rexml (3.2.6) rubyzip (2.3.2) - selenium-webdriver (4.8.3) + selenium-webdriver (4.9.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) @@ -241,13 +243,13 @@ GEM simplecov-html (~> 0.10.0) simplecov-html (0.10.2) test-unit (2.5.5) - thor (1.2.1) - tilt (2.1.0) - timeout (0.3.2) + thor (1.2.2) + tilt (2.2.0) + timeout (0.4.1) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - websocket (1.2.9) - websocket-driver (0.7.5) + websocket (1.2.10) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) @@ -270,9 +272,10 @@ DEPENDENCIES guard-minitest jbuilder listen (~> 3.0.0) + minitest-retry package_json pry-byebug - rails (~> 7.0.x) + rails (~> 7.0.7, >= 7.0.7.2) react-rails! selenium-webdriver shakapacker (= 7.2.0) diff --git a/gemfiles/sprockets_3.gemfile b/gemfiles/sprockets_3.gemfile index ca312487d..cfbf1cf3a 100644 --- a/gemfiles/sprockets_3.gemfile +++ b/gemfiles/sprockets_3.gemfile @@ -2,7 +2,6 @@ source "http://rubygems.org" -gem "rails", "~> 7.0.x" gem "sprockets", "~> 3.5" gem "sprockets-rails" gem "turbolinks", "~> 5" diff --git a/gemfiles/sprockets_3.gemfile.lock b/gemfiles/sprockets_3.gemfile.lock index d6c114564..a0d24d1c4 100644 --- a/gemfiles/sprockets_3.gemfile.lock +++ b/gemfiles/sprockets_3.gemfile.lock @@ -1,7 +1,7 @@ PATH remote: .. specs: - react-rails (3.1.1) + react-rails (3.2.0) babel-transpiler (>= 0.7.0) connection_pool execjs @@ -11,67 +11,67 @@ PATH GEM remote: http://rubygems.org/ specs: - actioncable (7.0.4.3) - actionpack (= 7.0.4.3) - activesupport (= 7.0.4.3) + actioncable (7.0.8.1) + actionpack (= 7.0.8.1) + activesupport (= 7.0.8.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.4.3) - actionpack (= 7.0.4.3) - activejob (= 7.0.4.3) - activerecord (= 7.0.4.3) - activestorage (= 7.0.4.3) - activesupport (= 7.0.4.3) + actionmailbox (7.0.8.1) + actionpack (= 7.0.8.1) + activejob (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.4.3) - actionpack (= 7.0.4.3) - actionview (= 7.0.4.3) - activejob (= 7.0.4.3) - activesupport (= 7.0.4.3) + actionmailer (7.0.8.1) + actionpack (= 7.0.8.1) + actionview (= 7.0.8.1) + activejob (= 7.0.8.1) + activesupport (= 7.0.8.1) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.4.3) - actionview (= 7.0.4.3) - activesupport (= 7.0.4.3) - rack (~> 2.0, >= 2.2.0) + actionpack (7.0.8.1) + actionview (= 7.0.8.1) + activesupport (= 7.0.8.1) + rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.4.3) - actionpack (= 7.0.4.3) - activerecord (= 7.0.4.3) - activestorage (= 7.0.4.3) - activesupport (= 7.0.4.3) + actiontext (7.0.8.1) + actionpack (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.4.3) - activesupport (= 7.0.4.3) + actionview (7.0.8.1) + activesupport (= 7.0.8.1) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.4.3) - activesupport (= 7.0.4.3) + activejob (7.0.8.1) + activesupport (= 7.0.8.1) globalid (>= 0.3.6) - activemodel (7.0.4.3) - activesupport (= 7.0.4.3) - activerecord (7.0.4.3) - activemodel (= 7.0.4.3) - activesupport (= 7.0.4.3) - activestorage (7.0.4.3) - actionpack (= 7.0.4.3) - activejob (= 7.0.4.3) - activerecord (= 7.0.4.3) - activesupport (= 7.0.4.3) + activemodel (7.0.8.1) + activesupport (= 7.0.8.1) + activerecord (7.0.8.1) + activemodel (= 7.0.8.1) + activesupport (= 7.0.8.1) + activestorage (7.0.8.1) + actionpack (= 7.0.8.1) + activejob (= 7.0.8.1) + activerecord (= 7.0.8.1) + activesupport (= 7.0.8.1) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.4.3) + activesupport (7.0.8.1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -96,7 +96,6 @@ GEM rack-test (>= 0.6.3) regexp_parser (~> 1.5) xpath (~> 3.2) - childprocess (3.0.0) codeclimate-test-reporter (1.0.9) simplecov (<= 0.13) coderay (1.1.2) @@ -110,7 +109,7 @@ GEM concurrent-ruby (1.1.10) connection_pool (2.2.2) crass (1.0.6) - date (3.3.3) + date (3.3.4) docile (1.1.5) erubi (1.11.0) es5-shim-rails (4.0.1) @@ -154,23 +153,25 @@ GEM net-imap net-pop net-smtp - marcel (1.0.2) + marcel (1.0.4) method_source (0.9.2) mini_mime (1.1.2) mini_racer (0.6.4) libv8-node (~> 16.19.0.0) minitest (5.16.3) + minitest-retry (0.2.2) + minitest (>= 5.0) nenv (0.3.0) - net-imap (0.3.4) + net-imap (0.4.11) date net-protocol net-pop (0.1.2) net-protocol - net-protocol (0.2.1) + net-protocol (0.2.2) timeout - net-smtp (0.3.3) + net-smtp (0.5.0) net-protocol - nio4r (2.5.9) + nio4r (2.7.3) nokogiri (1.13.8-x86_64-darwin) racc (~> 1.4) nokogiri (1.13.8-x86_64-linux) @@ -190,28 +191,28 @@ GEM rack (2.2.4) rack-test (1.1.0) rack (>= 1.0, < 3) - rails (7.0.4.3) - actioncable (= 7.0.4.3) - actionmailbox (= 7.0.4.3) - actionmailer (= 7.0.4.3) - actionpack (= 7.0.4.3) - actiontext (= 7.0.4.3) - actionview (= 7.0.4.3) - activejob (= 7.0.4.3) - activemodel (= 7.0.4.3) - activerecord (= 7.0.4.3) - activestorage (= 7.0.4.3) - activesupport (= 7.0.4.3) + rails (7.0.8.1) + actioncable (= 7.0.8.1) + actionmailbox (= 7.0.8.1) + actionmailer (= 7.0.8.1) + actionpack (= 7.0.8.1) + actiontext (= 7.0.8.1) + actionview (= 7.0.8.1) + activejob (= 7.0.8.1) + activemodel (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) bundler (>= 1.15.0) - railties (= 7.0.4.3) + railties (= 7.0.8.1) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.4.3) loofah (~> 2.3) - railties (7.0.4.3) - actionpack (= 7.0.4.3) - activesupport (= 7.0.4.3) + railties (7.0.8.1) + actionpack (= 7.0.8.1) + activesupport (= 7.0.8.1) method_source rake (>= 12.2) thor (~> 1.0) @@ -221,10 +222,12 @@ GEM rb-inotify (0.10.1) ffi (~> 1.0) regexp_parser (1.6.0) - rubyzip (2.0.0) - selenium-webdriver (3.142.7) - childprocess (>= 0.5, < 4.0) - rubyzip (>= 1.2.2) + rexml (3.2.6) + rubyzip (2.3.2) + selenium-webdriver (4.9.0) + rexml (~> 3.2, >= 3.2.5) + rubyzip (>= 1.2.2, < 3.0) + websocket (~> 1.0) shellany (0.0.1) simplecov (0.13.0) docile (~> 1.1.0) @@ -241,13 +244,14 @@ GEM test-unit (2.5.5) thor (1.2.1) tilt (2.0.10) - timeout (0.3.2) + timeout (0.4.1) turbolinks (5.2.1) turbolinks-source (~> 5.2) turbolinks-source (5.2.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - websocket-driver (0.7.5) + websocket (1.2.10) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) @@ -271,9 +275,10 @@ DEPENDENCIES jbuilder listen (~> 3.0.0) mini_racer + minitest-retry package_json pry-byebug - rails (~> 7.0.x) + rails (~> 7.0.7, >= 7.0.7.2) react-rails! selenium-webdriver sprockets (~> 3.5) diff --git a/gemfiles/sprockets_4.gemfile b/gemfiles/sprockets_4.gemfile index 245032a24..f58f2eb47 100644 --- a/gemfiles/sprockets_4.gemfile +++ b/gemfiles/sprockets_4.gemfile @@ -2,7 +2,6 @@ source "http://rubygems.org" -gem "rails", "~> 7.0.x" gem "sprockets", "~> 4.0.x" gem "sprockets-rails" gem "turbolinks", "~> 5" diff --git a/gemfiles/sprockets_4.gemfile.lock b/gemfiles/sprockets_4.gemfile.lock index 0de2c85bf..bbce0d50d 100644 --- a/gemfiles/sprockets_4.gemfile.lock +++ b/gemfiles/sprockets_4.gemfile.lock @@ -1,7 +1,7 @@ PATH remote: .. specs: - react-rails (3.1.1) + react-rails (3.2.0) babel-transpiler (>= 0.7.0) connection_pool execjs @@ -11,67 +11,67 @@ PATH GEM remote: http://rubygems.org/ specs: - actioncable (7.0.4.3) - actionpack (= 7.0.4.3) - activesupport (= 7.0.4.3) + actioncable (7.0.8.1) + actionpack (= 7.0.8.1) + activesupport (= 7.0.8.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.4.3) - actionpack (= 7.0.4.3) - activejob (= 7.0.4.3) - activerecord (= 7.0.4.3) - activestorage (= 7.0.4.3) - activesupport (= 7.0.4.3) + actionmailbox (7.0.8.1) + actionpack (= 7.0.8.1) + activejob (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.4.3) - actionpack (= 7.0.4.3) - actionview (= 7.0.4.3) - activejob (= 7.0.4.3) - activesupport (= 7.0.4.3) + actionmailer (7.0.8.1) + actionpack (= 7.0.8.1) + actionview (= 7.0.8.1) + activejob (= 7.0.8.1) + activesupport (= 7.0.8.1) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.4.3) - actionview (= 7.0.4.3) - activesupport (= 7.0.4.3) - rack (~> 2.0, >= 2.2.0) + actionpack (7.0.8.1) + actionview (= 7.0.8.1) + activesupport (= 7.0.8.1) + rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.4.3) - actionpack (= 7.0.4.3) - activerecord (= 7.0.4.3) - activestorage (= 7.0.4.3) - activesupport (= 7.0.4.3) + actiontext (7.0.8.1) + actionpack (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.4.3) - activesupport (= 7.0.4.3) + actionview (7.0.8.1) + activesupport (= 7.0.8.1) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.4.3) - activesupport (= 7.0.4.3) + activejob (7.0.8.1) + activesupport (= 7.0.8.1) globalid (>= 0.3.6) - activemodel (7.0.4.3) - activesupport (= 7.0.4.3) - activerecord (7.0.4.3) - activemodel (= 7.0.4.3) - activesupport (= 7.0.4.3) - activestorage (7.0.4.3) - actionpack (= 7.0.4.3) - activejob (= 7.0.4.3) - activerecord (= 7.0.4.3) - activesupport (= 7.0.4.3) + activemodel (7.0.8.1) + activesupport (= 7.0.8.1) + activerecord (7.0.8.1) + activemodel (= 7.0.8.1) + activesupport (= 7.0.8.1) + activestorage (7.0.8.1) + actionpack (= 7.0.8.1) + activejob (= 7.0.8.1) + activerecord (= 7.0.8.1) + activesupport (= 7.0.8.1) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.4.3) + activesupport (7.0.8.1) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -96,7 +96,6 @@ GEM rack-test (>= 0.6.3) regexp_parser (~> 1.5) xpath (~> 3.2) - childprocess (3.0.0) codeclimate-test-reporter (1.0.9) simplecov (<= 0.13) coderay (1.1.2) @@ -110,7 +109,7 @@ GEM concurrent-ruby (1.1.10) connection_pool (2.2.2) crass (1.0.6) - date (3.3.3) + date (3.3.4) docile (1.1.5) erubi (1.11.0) es5-shim-rails (4.0.1) @@ -154,23 +153,25 @@ GEM net-imap net-pop net-smtp - marcel (1.0.2) + marcel (1.0.4) method_source (0.9.2) mini_mime (1.1.2) mini_racer (0.6.4) libv8-node (~> 16.19.0.0) minitest (5.16.3) + minitest-retry (0.2.2) + minitest (>= 5.0) nenv (0.3.0) - net-imap (0.3.4) + net-imap (0.4.11) date net-protocol net-pop (0.1.2) net-protocol - net-protocol (0.2.1) + net-protocol (0.2.2) timeout - net-smtp (0.3.3) + net-smtp (0.5.0) net-protocol - nio4r (2.5.9) + nio4r (2.7.3) nokogiri (1.13.8-x86_64-darwin) racc (~> 1.4) nokogiri (1.13.8-x86_64-linux) @@ -190,28 +191,28 @@ GEM rack (2.2.4) rack-test (1.1.0) rack (>= 1.0, < 3) - rails (7.0.4.3) - actioncable (= 7.0.4.3) - actionmailbox (= 7.0.4.3) - actionmailer (= 7.0.4.3) - actionpack (= 7.0.4.3) - actiontext (= 7.0.4.3) - actionview (= 7.0.4.3) - activejob (= 7.0.4.3) - activemodel (= 7.0.4.3) - activerecord (= 7.0.4.3) - activestorage (= 7.0.4.3) - activesupport (= 7.0.4.3) + rails (7.0.8.1) + actioncable (= 7.0.8.1) + actionmailbox (= 7.0.8.1) + actionmailer (= 7.0.8.1) + actionpack (= 7.0.8.1) + actiontext (= 7.0.8.1) + actionview (= 7.0.8.1) + activejob (= 7.0.8.1) + activemodel (= 7.0.8.1) + activerecord (= 7.0.8.1) + activestorage (= 7.0.8.1) + activesupport (= 7.0.8.1) bundler (>= 1.15.0) - railties (= 7.0.4.3) + railties (= 7.0.8.1) rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) rails-html-sanitizer (1.4.3) loofah (~> 2.3) - railties (7.0.4.3) - actionpack (= 7.0.4.3) - activesupport (= 7.0.4.3) + railties (7.0.8.1) + actionpack (= 7.0.8.1) + activesupport (= 7.0.8.1) method_source rake (>= 12.2) thor (~> 1.0) @@ -221,10 +222,12 @@ GEM rb-inotify (0.10.1) ffi (~> 1.0) regexp_parser (1.6.0) - rubyzip (2.0.0) - selenium-webdriver (3.142.7) - childprocess (>= 0.5, < 4.0) - rubyzip (>= 1.2.2) + rexml (3.2.6) + rubyzip (2.3.2) + selenium-webdriver (4.9.0) + rexml (~> 3.2, >= 3.2.5) + rubyzip (>= 1.2.2, < 3.0) + websocket (~> 1.0) shellany (0.0.1) simplecov (0.13.0) docile (~> 1.1.0) @@ -241,13 +244,14 @@ GEM test-unit (2.5.5) thor (1.2.1) tilt (2.0.10) - timeout (0.3.2) + timeout (0.4.1) turbolinks (5.2.1) turbolinks-source (~> 5.2) turbolinks-source (5.2.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - websocket-driver (0.7.5) + websocket (1.2.10) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) @@ -271,9 +275,10 @@ DEPENDENCIES jbuilder listen (~> 3.0.0) mini_racer + minitest-retry package_json pry-byebug - rails (~> 7.0.x) + rails (~> 7.0.7, >= 7.0.7.2) react-rails! selenium-webdriver sprockets (~> 4.0.x) diff --git a/react-rails.gemspec b/react-rails.gemspec index 39f06120e..474de2e87 100644 --- a/react-rails.gemspec +++ b/react-rails.gemspec @@ -29,7 +29,8 @@ Gem::Specification.new do |s| s.add_development_dependency 'test-unit', '~> 2.5' s.add_development_dependency 'pry-byebug' s.add_development_dependency 'package_json' - + s.add_development_dependency 'rails', '~> 7.0.7', '>= 7.0.7.2' + s.add_development_dependency 'minitest-retry' s.add_dependency 'connection_pool' s.add_dependency 'execjs' diff --git a/test/dummy/app/views/layouts/application.html.erb b/test/dummy/app/views/layouts/application.html.erb index 30727da9b..6bf5f8447 100644 --- a/test/dummy/app/views/layouts/application.html.erb +++ b/test/dummy/app/views/layouts/application.html.erb @@ -3,7 +3,6 @@ Dummy <% if ShakapackerHelpers.available? %> - <%= javascript_include_tag "turbolinks_only", "data-turbolinks-track" => true %> <%= javascript_pack_tag "application" %> <% elsif SprocketsHelpers.available? %> <%= javascript_include_tag "application", "data-turbolinks-track" => true %> diff --git a/test/dummy/config/application.rb b/test/dummy/config/application.rb index d517d901a..5a4178854 100644 --- a/test/dummy/config/application.rb +++ b/test/dummy/config/application.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true require File.expand_path("boot", __dir__) +require_relative("../../support/sprockets_helpers") +require_relative("../../support/webpacker_helpers") # Pick the frameworks you want: # require "active_record/railtie" @@ -18,6 +20,9 @@ module Dummy class Application < Rails::Application + # Initialize configuration defaults for originally generated Rails version. + config.load_defaults 7.0 + # Settings in config/environments/* take precedence over those specified here. # Application configuration should go into files in config/initializers # -- all .rb files in that directory are automatically loaded. diff --git a/test/dummy/package.json b/test/dummy/package.json index e2bec6b03..f0b00f25a 100644 --- a/test/dummy/package.json +++ b/test/dummy/package.json @@ -17,10 +17,10 @@ "css-minimizer-webpack-plugin": "^2.0.0", "mini-css-extract-plugin": "^1.6.2", "pnp-webpack-plugin": "^1.7.0", - "react": "^17.0.2", - "react-dom": "^17.0.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", "react_ujs": "file:.yalc/react_ujs", - "shakapacker": "7.0.2", + "shakapacker": "7.2.0", "style-loader": "^3.3.1", "terser-webpack-plugin": "^5.3.3", "webpack": "^5.73.0", diff --git a/test/dummy/yarn.lock b/test/dummy/yarn.lock index 00473501d..17a62b91b 100644 --- a/test/dummy/yarn.lock +++ b/test/dummy/yarn.lock @@ -4062,15 +4062,6 @@ raw-body@2.5.1: iconv-lite "0.4.24" unpipe "1.0.0" -react-dom@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" - integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - scheduler "^0.20.2" - react-dom@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" @@ -4089,14 +4080,6 @@ react-refresh@^0.13.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.13.0.tgz#cbd01a4482a177a5da8d44c9755ebb1f26d5a1c1" integrity sha512-XP8A9BT0CpRBD+NYLLeIhld/RqG9+gktUjW1FkE+Vm7OCinbG1SshcK5tb9ls4kzvjZr9mOQc7HYgBngEyPAXg== -react@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" - integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - react@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" @@ -4104,8 +4087,13 @@ react@^18.2.0: dependencies: loose-envify "^1.1.0" -react_ujs@^2.7.1, "react_ujs@file:.yalc/react_ujs": +react_ujs@^2.7.1: version "2.7.1" + resolved "https://registry.yarnpkg.com/react_ujs/-/react_ujs-2.7.1.tgz#d87cbcb82593fe59d30fc5dbc51800d1571001a8" + integrity sha512-nQ/y/Vn2hZQXjNxFKY4pV5hAQbG3o/8yaRzq3nJAAdk7tMgey/EsMKoDOWlEQxZ+D3J4BtwquW1oCESMiHSHnQ== + +"react_ujs@file:.yalc/react_ujs": + version "3.2.0" dependencies: "@babel/preset-react" "^7.22.5" css-loader "^6.8.1" @@ -4259,14 +4247,6 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -scheduler@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" - integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - scheduler@^0.23.0: version "0.23.0" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" @@ -4414,10 +4394,10 @@ setprototypeof@1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -shakapacker@7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/shakapacker/-/shakapacker-7.0.2.tgz#cd7cb5075fdbf4d06e60d894f9076c8e56643a98" - integrity sha512-TF2GFb0E28fvQpn2L6RdvAHJRZmFMTvpJg93102tCbFywHq3tmTqwD/ijvlD+eMuZ8d1i3AMTnhO+45ayN3dYg== +shakapacker@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/shakapacker/-/shakapacker-7.2.0.tgz#0b8e03663800d7f2b07e2c93ed3270d4c5cf7306" + integrity sha512-DYqRKjjeeObYXB/OuEUcdy86zyfdMviqO6MmIq8XfXZtLldxsBnUGug2ON3DcKKy5OeCe/wd7Li/pLw1wAKhsw== dependencies: glob "^7.2.0" js-yaml "^4.1.0" diff --git a/test/react/rails/railtie_test.rb b/test/react/rails/railtie_test.rb index 7b1609c08..8352f0e10 100644 --- a/test/react/rails/railtie_test.rb +++ b/test/react/rails/railtie_test.rb @@ -4,7 +4,7 @@ class RailtieTest < ActionDispatch::IntegrationTest test "reloaders are configured after initializers are loaded" do - @test_file = File.expand_path("../../#{DUMMY_LOCATION}/app/pants/yfronts.js", File.dirname(__FILE__)) + @test_file = File.expand_path("../../dummy/app/pants/yfronts.js", File.dirname(__FILE__)) FileUtils.touch @test_file results = Dummy::Application.reloaders.map(&:updated?) diff --git a/test/react/rails/react_rails_ujs_test.rb b/test/react/rails/react_rails_ujs_test.rb index 698f4a5d5..568b0c0c1 100644 --- a/test/react/rails/react_rails_ujs_test.rb +++ b/test/react/rails/react_rails_ujs_test.rb @@ -10,14 +10,14 @@ class ReactRailsUJSTest < ActionDispatch::IntegrationTest def assert_greeting(page, greeting) assert page.has_content?(greeting), <<~MSG #{page.body} - #{page.driver.browser.manage.logs.get(:browser).inspect} + #{page.driver.browser.logs.get(:browser).inspect} MSG end def refute_greeting(page, greeting) assert page.has_no_content?(greeting), <<~MSG #{page.body} - #{page.driver.browser.manage.logs.get(:browser).inspect} + #{page.driver.browser.logs.get(:browser).inspect} MSG end diff --git a/test/react/server_rendering/exec_js_renderer_test.rb b/test/react/server_rendering/exec_js_renderer_test.rb index 887105cc9..ff3b01c5f 100644 --- a/test/react/server_rendering/exec_js_renderer_test.rb +++ b/test/react/server_rendering/exec_js_renderer_test.rb @@ -21,7 +21,7 @@ class ExecJSRendererTest < ActiveSupport::TestCase react_ujs_source = File.read(File.expand_path("../../../lib/assets/javascripts/react_ujs.js", __dir__)) todo_component_source = File.read( File.expand_path( - "../../../#{DUMMY_LOCATION}/app/assets/javascripts/components/PlainJSTodo.js", __FILE__ + "../../dummy/app/assets/javascripts/components/PlainJSTodo.js", __dir__ ) ) code = react_server_source + react_ujs_source + todo_component_source diff --git a/test/react_asset_test.rb b/test/react_asset_test.rb index c832b28a6..6754b10d2 100644 --- a/test/react_asset_test.rb +++ b/test/react_asset_test.rb @@ -13,7 +13,7 @@ class ReactAssetTest < ActionDispatch::IntegrationTest end test "asset pipeline should deliver drop-in react file replacement" do - app_react_file_path = File.expand_path("../#{DUMMY_LOCATION}/vendor/assets/javascripts/react.js", __FILE__) + app_react_file_path = File.expand_path("dummy/vendor/assets/javascripts/react.js", __dir__) react_file_token = "'test_confirmation_token_react_content_non_production';\n" File.write(app_react_file_path, react_file_token) SprocketsHelpers.manually_expire_asset("react.js") diff --git a/test/server_rendered_html_test.rb b/test/server_rendered_html_test.rb index 357be1be6..390ae04b0 100644 --- a/test/server_rendered_html_test.rb +++ b/test/server_rendered_html_test.rb @@ -20,11 +20,11 @@ def wait_to_ensure_asset_pipeline_detects_changes if ShakapackerHelpers.available? file_with_updates = File.expand_path("helper_files/TodoListWithUpdates.js", __dir__) file_without_updates = File.expand_path("helper_files/TodoListWithoutUpdates.js", __dir__) - app_file = File.expand_path("../#{DUMMY_LOCATION}/app/javascript/components/TodoList.js", __FILE__) + app_file = File.expand_path("dummy/app/javascript/components/TodoList.js", __dir__) else file_with_updates = File.expand_path("helper_files/TodoListWithUpdates.js.jsx", __dir__) file_without_updates = File.expand_path("helper_files/TodoListWithoutUpdates.js.jsx", __dir__) - app_file = File.expand_path("../#{DUMMY_LOCATION}/app/assets/javascripts/components/TodoList.js.jsx", __FILE__) + app_file = File.expand_path("dummy/app/assets/javascripts/components/TodoList.js.jsx", __dir__) end FileUtils.cp app_file, file_without_updates @@ -61,13 +61,13 @@ def wait_to_ensure_asset_pipeline_detects_changes end if ShakapackerHelpers.available? - new_file_path = "../#{DUMMY_LOCATION}/app/javascript/components/NewList.js" + new_file_path = "../dummy/app/javascript/components/NewList.js" new_file_contents = <<~JS var React = require("react") module.exports = function() { return "New List" } JS else - new_file_path = "../#{DUMMY_LOCATION}/app/assets/javascripts/components/ZZ_NewComponent.js.jsx" + new_file_path = "../dummy/app/assets/javascripts/components/ZZ_NewComponent.js.jsx" new_file_contents = <<~JS var NewList = function() { return "New List" } JS diff --git a/test/support/sprockets_helpers.rb b/test/support/sprockets_helpers.rb index 10846c472..25b5bb73f 100644 --- a/test/support/sprockets_helpers.rb +++ b/test/support/sprockets_helpers.rb @@ -52,12 +52,12 @@ def precompile_assets Rails.application.assets_manifest = new_manifest end - assets_directory = File.expand_path("../../#{DUMMY_LOCATION}/public/assets", __FILE__) + assets_directory = File.expand_path("../dummy/public/assets", __dir__) raise "Asset precompilation failed" unless Dir.exist?(assets_directory) end def clear_precompiled_assets - assets_directory = File.expand_path("../../#{DUMMY_LOCATION}/public/assets", __FILE__) + assets_directory = File.expand_path("../dummy/public/assets", __dir__) FileUtils.rm_r(assets_directory) ENV.delete("RAILS_GROUPS") end @@ -69,7 +69,7 @@ def invoke_assets_precompile_task # Changing directories is required because: # - assets:precompile runs webpacker:compile when availabled # - webpacker:compile depends on `./bin/webpack`, so `.` must be the app root - Dir.chdir("./test/#{DUMMY_LOCATION}") do + Dir.chdir("./test/dummy") do ENV["RAILS_GROUPS"] = "assets" # required for Rails 3.2 Rake::Task["assets:precompile"].reenable diff --git a/test/support/webpacker_helpers.rb b/test/support/webpacker_helpers.rb index 32ee7694e..b59276a90 100644 --- a/test/support/webpacker_helpers.rb +++ b/test/support/webpacker_helpers.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module ShakapackerHelpers - PACKS_DIRECTORY = File.expand_path("../../#{DUMMY_LOCATION}/public/packs", __FILE__) + PACKS_DIRECTORY = File.expand_path("../dummy/public/packs", __dir__) module_function @@ -19,7 +19,7 @@ def compile return unless available? clear_shakapacker_packs - Dir.chdir("./test/#{DUMMY_LOCATION}") do + Dir.chdir("./test/dummy") do Rake::Task["shakapacker:compile"].reenable Rake::Task["shakapacker:compile"].invoke end @@ -45,7 +45,7 @@ def with_dev_server ENV["NODE_ENV"] = "development" # Start the server in a forked process: - Dir.chdir("test/#{DUMMY_LOCATION}") do + Dir.chdir("test/dummy") do spawn "RAILS_ENV=development ./bin/shakapacker-dev-server" end diff --git a/test/test_helper.rb b/test/test_helper.rb index f40f2d62a..c3793d831 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -5,8 +5,6 @@ SimpleCov.start end -DUMMY_LOCATION = "dummy" - support_path = File.expand_path("support/*.rb", __dir__) Dir.glob(support_path).sort.each do |f| require(f) @@ -15,13 +13,15 @@ # Configure Rails Environment ENV["RAILS_ENV"] = "test" -require File.expand_path("../#{DUMMY_LOCATION}/config/environment.rb", __FILE__) +require File.expand_path("dummy/config/environment.rb", __dir__) require "rails/test_help" require "rails/generators" require "pathname" require "minitest/mock" require "capybara/rails" require "selenium/webdriver" +require "minitest/retry" +Minitest::Retry.use! Dummy::Application.load_tasks ShakapackerHelpers.clear_shakapacker_packs @@ -30,15 +30,15 @@ Capybara.server = :webrick Capybara.register_driver :headless_chrome do |app| - options = Selenium::WebDriver::Chrome::Options.new(args: %w[no-sandbox headless disable-gpu]) + options = Selenium::WebDriver::Chrome::Options.new(args: %w[no-sandbox headless=new disable-gpu]) - Capybara::Selenium::Driver.new(app, browser: :chrome, options: options) + Capybara::Selenium::Driver.new(app, browser: :chrome, options: options, timeout: 300) end Capybara.javascript_driver = :headless_chrome Capybara.current_driver = Capybara.javascript_driver -CACHE_PATH = Pathname.new File.expand_path("../#{DUMMY_LOCATION}/tmp/cache", __FILE__) +CACHE_PATH = Pathname.new File.expand_path("dummy/tmp/cache", __dir__) Rails.backtrace_cleaner.remove_silencers!