From 2c04db6fa00a0eb32a4ab8877a3eb5ce25ae5667 Mon Sep 17 00:00:00 2001 From: Mostafa Ahangarha Date: Thu, 11 Jan 2024 01:28:09 +0330 Subject: [PATCH] Update Ruby Dependencies (#1595) * Remove unused sqlite3 gem * Move sqlite3 gem into dummy gemfile * Revert "Move sqlite3 gem into dummy gemfile" This reverts commit 270507ebacabb9621e63ea98349d51e81f021c7d. * Revert "Remove unused sqlite3 gem" This reverts commit 55629c93c7d47fb74523e771ab9f300f3acea441. * Bump rails to 7.1 * Bump Shakapacker to 7.2.1 * Bump rubocop related gems * Fix Rubocop issues * Bump to use Ruby 3.0.0 * Fix Rubocop issues * Update CircleCI config for Ruby 3 * Remove outdated comment for Ruby 2.2 * Update changelog --- .circleci/config.yml | 6 +- .github/workflows/lint-js-and-ruby.yml | 4 +- .github/workflows/main.yml | 12 +- .github/workflows/rspec-package-specs.yml | 4 +- .rubocop.yml | 2 +- CHANGELOG.md | 3 + Gemfile.development_dependencies | 15 +- README.md | 2 +- .../react_on_rails/base_generator.rb | 2 +- .../templates/dev_tests/spec/rails_helper.rb | 2 +- .../dev_tests/spec/system/hello_world_spec.rb | 2 +- lib/react_on_rails/locales/base.rb | 2 +- lib/react_on_rails/packs_generator.rb | 2 +- lib/react_on_rails/utils.rb | 2 +- lib/react_on_rails/version_checker.rb | 2 +- rakelib/examples.rake | 2 +- react_on_rails.gemspec | 3 +- spec/dummy/Gemfile.lock | 220 ++++++++++-------- spec/dummy/bin/bundle | 2 +- spec/dummy/package.json | 2 +- spec/dummy/spec/packs_generator_spec.rb | 2 +- spec/dummy/spec/rails_helper.rb | 6 +- spec/dummy/spec/support/selenium_logger.rb | 2 - spec/dummy/yarn.lock | 159 ++----------- .../react_component/render_options_spec.rb | 2 +- .../support/generator_spec_helper.rb | 4 +- 26 files changed, 180 insertions(+), 286 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cfd0b1a58..a334fa7d7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2 aliases: - &docker-image - - image: circleci/ruby:2.7-node-browsers + - image: circleci/ruby:3.0-node-browsers # Print critical data and executables versions. - &print-system-info @@ -54,7 +54,7 @@ aliases: - &install-dummy-app-ruby-gems name: Install Ruby Gems for dummy app command: | - gem install bundler:2.4.17 + gem install bundler:2.5.3 echo "Bundler version: "; bundle --version cd spec/dummy && bundle lock --add-platform 'x86_64-linux' && bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3 @@ -62,7 +62,7 @@ aliases: - &install-package-ruby-gems name: Install Ruby Gems for package command: | - gem install bundler:2.4.17 + gem install bundler:2.5.3 echo "Bundler version: "; bundle --version bundle lock --add-platform 'x86_64-linux' bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3 diff --git a/.github/workflows/lint-js-and-ruby.yml b/.github/workflows/lint-js-and-ruby.yml index 026551ca4..7540b2dea 100644 --- a/.github/workflows/lint-js-and-ruby.yml +++ b/.github/workflows/lint-js-and-ruby.yml @@ -22,7 +22,7 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - bundler: 2.4.17 + bundler: 2.5.3 - name: Setup Node uses: actions/setup-node@v3 with: @@ -52,7 +52,7 @@ jobs: yarn run eslint -v sudo yarn global add yalc - name: Install Ruby Gems for package - run: bundle check --path=vendor/bundle || bundle _2.4.17_ install --path=vendor/bundle --jobs=4 --retry=3 + run: bundle check --path=vendor/bundle || bundle _2.5.3_ install --path=vendor/bundle --jobs=4 --retry=3 - name: Linting of Ruby run: bundle exec rubocop - name: Linting of JS diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f8e60e1ac..9c588e08a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,7 @@ jobs: build-dummy-app-webpack-test-bundles: strategy: matrix: - ruby: [2.7, 3.2] + ruby: [3.0, 3.3] node: [14, 20] runs-on: ubuntu-22.04 steps: @@ -21,7 +21,7 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - bundler: 2.4.17 + bundler: 2.5.3 # libyaml-dev is needed for psych v5 # this gem depends on sdoc which depends on rdoc which depends on psych - name: Fix dependency for libyaml-dev @@ -66,7 +66,7 @@ jobs: path: spec/dummy/vendor/bundle key: v5-dummy-app-gem-cache-${{ hashFiles('spec/dummy/Gemfile.lock') }} - name: Install Ruby Gems for dummy app - run: cd spec/dummy && bundle lock --add-platform 'x86_64-linux' && bundle check --path=vendor/bundle || bundle _2.4.17_ install --path=vendor/bundle --jobs=4 --retry=3 + run: cd spec/dummy && bundle lock --add-platform 'x86_64-linux' && bundle check --path=vendor/bundle || bundle _2.5.3_ install --path=vendor/bundle --jobs=4 --retry=3 - name: generate file system-based packs run: cd spec/dummy && RAILS_ENV=test bundle exec rake react_on_rails:generate_packs - name: Build test bundles for dummy app @@ -83,7 +83,7 @@ jobs: needs: build-dummy-app-webpack-test-bundles strategy: matrix: - ruby: [2.7, 3.2] + ruby: [3.0, 3.3] node: [14, 20] rake_task: ['run_rspec:all_but_examples', 'run_rspec:examples'] runs-on: ubuntu-22.04 @@ -95,7 +95,7 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - bundler: 2.4.17 + bundler: 2.5.3 - name: Setup Node uses: actions/setup-node@v3 with: @@ -148,7 +148,7 @@ jobs: - name: Install Ruby Gems for package run: bundle lock --add-platform 'x86_64-linux' && bundle check --path=vendor/bundle || bundle install --path=vendor/bundle --jobs=4 --retry=3 - name: Install Ruby Gems for dummy app - run: cd spec/dummy && bundle lock --add-platform 'x86_64-linux' && bundle check --path=vendor/bundle || bundle _2.4.17_ install --path=vendor/bundle --jobs=4 --retry=3 + run: cd spec/dummy && bundle lock --add-platform 'x86_64-linux' && bundle check --path=vendor/bundle || bundle _2.5.3_ install --path=vendor/bundle --jobs=4 --retry=3 - name: Ensure minimum required Chrome version run: | echo -e "Already installed $(google-chrome --version)\n" diff --git a/.github/workflows/rspec-package-specs.yml b/.github/workflows/rspec-package-specs.yml index 1e5bc0592..facee8a87 100644 --- a/.github/workflows/rspec-package-specs.yml +++ b/.github/workflows/rspec-package-specs.yml @@ -10,7 +10,7 @@ jobs: build: strategy: matrix: - ruby: [2.7, 3.2] + ruby: [3.0, 3.3] node: [14, 20] runs-on: ubuntu-22.04 steps: @@ -21,7 +21,7 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - bundler: 2.4.17 + bundler: 2.5.3 - name: Print system information run: | echo "Linux release: "; cat /etc/issue diff --git a/.rubocop.yml b/.rubocop.yml index 7678ea02b..25ef515fe 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -7,7 +7,7 @@ require: AllCops: NewCops: enable DisplayCopNames: true - TargetRubyVersion: 2.5 + TargetRubyVersion: 3.0.0 Include: - '**/Rakefile' diff --git a/CHANGELOG.md b/CHANGELOG.md index e7777d92c..d658d2992 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,9 @@ Please follow the recommendations outlined at [keepachangelog.com](http://keepac ### [Unreleased] Changes since the last non-beta release. +#### Removed +- Dropped Ruby 2.7 support [PR 1595](https://github.com/shakacode/react_on_rails/pull/1595) by [ahangarha](https://github.com/ahangarha). + ### [13.4.1] #### Fixed - Fixed Typescript types for ServerRenderResult, ReactComponent, RenderFunction, and RailsContext interfaces. [PR 1582](https://github.com/shakacode/react_on_rails/pull/1582) & [PR 1585](https://github.com/shakacode/react_on_rails/pull/1585) by [kotarella1110](https://github.com/kotarella1110) diff --git a/Gemfile.development_dependencies b/Gemfile.development_dependencies index f191bd535..c9f370b5d 100644 --- a/Gemfile.development_dependencies +++ b/Gemfile.development_dependencies @@ -1,16 +1,15 @@ # frozen_string_literal: true -gem "shakapacker", "7.0.1" +gem "shakapacker", "7.2.1" gem "bootsnap", require: false -gem "rails", "~> 7.0", ">= 7.0.1" +gem "rails", "~> 7.1" -# sqlite3 1.7.0 ends native gem support for Ruby 2.7 -gem "sqlite3", "~> 1.0", "< 1.7.0" +gem "sqlite3" gem "sass-rails", "~> 6.0" gem "uglifier" gem "jquery-rails" gem "puma", "~> 6.0" -gem "bundler", "2.4.17" +gem "bundler", "2.5.3" # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks gem "turbolinks" if ENV["DISABLE_TURBOLINKS"].nil? || ENV["DISABLE_TURBOLINKS"].strip.empty? @@ -31,9 +30,9 @@ group :development, :test do gem "pry-doc" gem "pry-rails" gem "pry-rescue" - gem "rubocop", "~>1.56", require: false - gem "rubocop-performance", "~>1.18.0", require: false - gem "rubocop-rspec", "~>2.23.2", require: false + gem "rubocop", "~>1.59", require: false + gem "rubocop-performance", "~>1.20.0", require: false + gem "rubocop-rspec", "~>2.26", require: false gem "scss_lint", require: false gem "spring", "~> 4.0" end diff --git a/README.md b/README.md index dd0c946f9..236abeba6 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ _Requires creating a free account._ ## Prerequisites -Ruby on Rails >=5, rails/webpacker >= 4.2 or shakapacker > 6, Ruby >= 2.7 +Ruby on Rails >=5, rails/webpacker >= 4.2 or shakapacker > 6, Ruby >= 3.0.0 # Support diff --git a/lib/generators/react_on_rails/base_generator.rb b/lib/generators/react_on_rails/base_generator.rb index c926b1583..996305386 100644 --- a/lib/generators/react_on_rails/base_generator.rb +++ b/lib/generators/react_on_rails/base_generator.rb @@ -77,7 +77,7 @@ def add_base_gems_to_gemfile end def add_yarn_dependencies - major_minor_patch_only = /\A\d+\.\d+\.\d+\z/.freeze + major_minor_patch_only = /\A\d+\.\d+\.\d+\z/ if ReactOnRails::VERSION.match?(major_minor_patch_only) run "yarn add react-on-rails@#{ReactOnRails::VERSION} --exact" else diff --git a/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb b/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb index b8f5dba60..dded6614f 100644 --- a/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb +++ b/lib/generators/react_on_rails/templates/dev_tests/spec/rails_helper.rb @@ -40,7 +40,7 @@ # ActiveRecord::Migration.maintain_test_schema! RSpec.configure do |config| - config.before(:each, js: true, type: :system) do + config.before(:each, :js, type: :system) do driven_by :selenium_chrome end diff --git a/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb b/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb index 6ef26d9d9..bd32b69f7 100644 --- a/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb +++ b/lib/generators/react_on_rails/templates/dev_tests/spec/system/hello_world_spec.rb @@ -2,7 +2,7 @@ require_relative "../rails_helper" -describe "Hello World", js: true do +describe "Hello World", :js do it "the hello world example works" do visit "/hello_world" expect(heading).to have_text("Hello World") diff --git a/lib/react_on_rails/locales/base.rb b/lib/react_on_rails/locales/base.rb index 7aaf4f5a1..f434d777e 100644 --- a/lib/react_on_rails/locales/base.rb +++ b/lib/react_on_rails/locales/base.rb @@ -100,7 +100,7 @@ def default_locale def convert file_names.each do |name| - template = send("template_#{name}") + template = send(:"template_#{name}") path = file(name) generate_file(template, path) end diff --git a/lib/react_on_rails/packs_generator.rb b/lib/react_on_rails/packs_generator.rb index 716681101..a48bf04c5 100644 --- a/lib/react_on_rails/packs_generator.rb +++ b/lib/react_on_rails/packs_generator.rb @@ -5,7 +5,7 @@ module ReactOnRails # rubocop:disable Metrics/ClassLength class PacksGenerator - CONTAINS_CLIENT_OR_SERVER_REGEX = /\.(server|client)($|\.)/.freeze + CONTAINS_CLIENT_OR_SERVER_REGEX = /\.(server|client)($|\.)/ MINIMUM_SHAKAPACKER_VERSION = [6, 5, 1].freeze def self.instance diff --git a/lib/react_on_rails/utils.rb b/lib/react_on_rails/utils.rb index e032ecae0..7f3529b98 100644 --- a/lib/react_on_rails/utils.rb +++ b/lib/react_on_rails/utils.rb @@ -189,7 +189,7 @@ def self.smart_trim(str, max_length = 1000) to_remove = str.length - max_length lstrip = (to_remove / 2.0).ceil rstrip = to_remove - lstrip - str[0..(midpoint - lstrip - 1)] + TRUNCATION_FILLER + str[(midpoint + rstrip)..-1] + str[0..(midpoint - lstrip - 1)] + TRUNCATION_FILLER + str[(midpoint + rstrip)..] end def self.find_most_recent_mtime(files) diff --git a/lib/react_on_rails/version_checker.rb b/lib/react_on_rails/version_checker.rb index e22c6d62d..93e1550f0 100644 --- a/lib/react_on_rails/version_checker.rb +++ b/lib/react_on_rails/version_checker.rb @@ -6,7 +6,7 @@ module ReactOnRails class VersionChecker attr_reader :node_package_version - MAJOR_MINOR_PATCH_VERSION_REGEX = /(\d+)\.(\d+)\.(\d+)/.freeze + MAJOR_MINOR_PATCH_VERSION_REGEX = /(\d+)\.(\d+)\.(\d+)/ def self.build new(NodePackageVersion.build) diff --git a/rakelib/examples.rake b/rakelib/examples.rake index ddc0c201f..559f50b5a 100644 --- a/rakelib/examples.rake +++ b/rakelib/examples.rake @@ -15,7 +15,7 @@ namespace :examples do # rubocop:disable Metrics/BlockLength include ReactOnRails::TaskHelpers # Loads data from examples_config.yml and instantiates corresponding ExampleType objects examples_config_file = File.expand_path("examples_config.yml", __dir__) - examples_config = symbolize_keys(YAML.safe_load(File.read(examples_config_file))) + examples_config = symbolize_keys(YAML.safe_load_file(examples_config_file)) examples_config[:example_type_data].each { |example_type_data| ExampleType.new(**symbolize_keys(example_type_data)) } # Define tasks for each example type diff --git a/react_on_rails.gemspec b/react_on_rails.gemspec index d2c4f79a6..de36face5 100644 --- a/react_on_rails.gemspec +++ b/react_on_rails.gemspec @@ -23,7 +23,7 @@ Gem::Specification.new do |s| s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) } s.require_paths = ["lib"] - s.required_ruby_version = ">= 2.7.0" + s.required_ruby_version = ">= 3.0.0" s.add_dependency "addressable" s.add_dependency "connection_pool" @@ -31,7 +31,6 @@ Gem::Specification.new do |s| s.add_dependency "rails", ">= 5.2" s.add_dependency "rainbow", "~> 3.0" - s.add_development_dependency "bundler", "~> 2" s.add_development_dependency "gem-release" s.post_install_message = ' -------------------------------------------------------------------------------- diff --git a/spec/dummy/Gemfile.lock b/spec/dummy/Gemfile.lock index def2fa5e7..4131a506f 100644 --- a/spec/dummy/Gemfile.lock +++ b/spec/dummy/Gemfile.lock @@ -11,76 +11,86 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (7.0.7) - actionpack (= 7.0.7) - activesupport (= 7.0.7) + actioncable (7.1.2) + actionpack (= 7.1.2) + activesupport (= 7.1.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.7) - actionpack (= 7.0.7) - activejob (= 7.0.7) - activerecord (= 7.0.7) - activestorage (= 7.0.7) - activesupport (= 7.0.7) + zeitwerk (~> 2.6) + actionmailbox (7.1.2) + actionpack (= 7.1.2) + activejob (= 7.1.2) + activerecord (= 7.1.2) + activestorage (= 7.1.2) + activesupport (= 7.1.2) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.7) - actionpack (= 7.0.7) - actionview (= 7.0.7) - activejob (= 7.0.7) - activesupport (= 7.0.7) + actionmailer (7.1.2) + actionpack (= 7.1.2) + actionview (= 7.1.2) + activejob (= 7.1.2) + activesupport (= 7.1.2) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp - rails-dom-testing (~> 2.0) - actionpack (7.0.7) - actionview (= 7.0.7) - activesupport (= 7.0.7) - rack (~> 2.0, >= 2.2.4) + rails-dom-testing (~> 2.2) + actionpack (7.1.2) + actionview (= 7.1.2) + activesupport (= 7.1.2) + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4) + rack-session (>= 1.0.1) rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.7) - actionpack (= 7.0.7) - activerecord (= 7.0.7) - activestorage (= 7.0.7) - activesupport (= 7.0.7) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + actiontext (7.1.2) + actionpack (= 7.1.2) + activerecord (= 7.1.2) + activestorage (= 7.1.2) + activesupport (= 7.1.2) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.7) - activesupport (= 7.0.7) + actionview (7.1.2) + activesupport (= 7.1.2) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.7) - activesupport (= 7.0.7) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activejob (7.1.2) + activesupport (= 7.1.2) globalid (>= 0.3.6) - activemodel (7.0.7) - activesupport (= 7.0.7) - activerecord (7.0.7) - activemodel (= 7.0.7) - activesupport (= 7.0.7) - activestorage (7.0.7) - actionpack (= 7.0.7) - activejob (= 7.0.7) - activerecord (= 7.0.7) - activesupport (= 7.0.7) + activemodel (7.1.2) + activesupport (= 7.1.2) + activerecord (7.1.2) + activemodel (= 7.1.2) + activesupport (= 7.1.2) + timeout (>= 0.4.0) + activestorage (7.1.2) + actionpack (= 7.1.2) + activejob (= 7.1.2) + activerecord (= 7.1.2) + activesupport (= 7.1.2) marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (7.0.7) + activesupport (7.1.2) + base64 + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) minitest (>= 5.1) + mutex_m tzinfo (~> 2.0) addressable (2.8.5) public_suffix (>= 2.0.2, < 6.0) amazing_print (1.5.0) ast (2.4.2) base64 (0.1.1) + bigdecimal (3.1.5) bootsnap (1.16.0) msgpack (~> 1.2) builder (3.2.4) @@ -107,9 +117,11 @@ GEM thor (>= 0.19.4, < 2.0) tins (~> 1.6) crass (1.0.6) - date (3.3.3) + date (3.3.4) diff-lcs (1.5.0) docile (1.4.0) + drb (2.2.0) + ruby2_keywords equivalent-xml (0.6.0) nokogiri (>= 1.4.3) erubi (1.12.0) @@ -118,11 +130,15 @@ GEM generator_spec (0.9.4) activesupport (>= 3.0.0) railties (>= 3.0.0) - globalid (1.1.0) - activesupport (>= 5.0) + globalid (1.2.1) + activesupport (>= 6.1) i18n (1.14.1) concurrent-ruby (~> 1.0) interception (0.5) + io-console (0.7.1) + irb (1.11.0) + rdoc + reline (>= 0.3.8) jbuilder (2.11.5) actionview (>= 5.0.0) activesupport (>= 5.0.0) @@ -152,21 +168,23 @@ GEM mini_portile2 (2.8.4) minitest (5.19.0) msgpack (1.7.2) - net-imap (0.3.7) + mutex_m (0.2.0) + net-imap (0.4.9.1) 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.4.0.1) net-protocol nio4r (2.5.9) nokogiri (1.15.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) - parallel (1.23.0) - parser (3.2.2.3) + package_json (0.1.0) + parallel (1.24.0) + parser (3.3.0.2) ast (~> 2.4.1) racc pry (0.14.2) @@ -190,24 +208,29 @@ GEM nio4r (~> 2.0) racc (1.7.1) rack (2.2.8) - rack-proxy (0.7.6) + rack-proxy (0.7.7) rack + rack-session (1.0.2) + rack (< 3) rack-test (2.1.0) rack (>= 1.3) - rails (7.0.7) - actioncable (= 7.0.7) - actionmailbox (= 7.0.7) - actionmailer (= 7.0.7) - actionpack (= 7.0.7) - actiontext (= 7.0.7) - actionview (= 7.0.7) - activejob (= 7.0.7) - activemodel (= 7.0.7) - activerecord (= 7.0.7) - activestorage (= 7.0.7) - activesupport (= 7.0.7) + rackup (1.0.0) + rack (< 3) + webrick + rails (7.1.2) + actioncable (= 7.1.2) + actionmailbox (= 7.1.2) + actionmailer (= 7.1.2) + actionpack (= 7.1.2) + actiontext (= 7.1.2) + actionview (= 7.1.2) + activejob (= 7.1.2) + activemodel (= 7.1.2) + activerecord (= 7.1.2) + activestorage (= 7.1.2) + activesupport (= 7.1.2) bundler (>= 1.15.0) - railties (= 7.0.7) + railties (= 7.1.2) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest @@ -215,13 +238,14 @@ GEM rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - railties (7.0.7) - actionpack (= 7.0.7) - activesupport (= 7.0.7) - method_source + railties (7.1.2) + actionpack (= 7.1.2) + activesupport (= 7.1.2) + irb + rackup (>= 1.0.0) rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.0.6) rb-fsevent (0.11.2) @@ -230,6 +254,8 @@ GEM rdoc (6.5.0) psych (>= 4.0.0) regexp_parser (2.8.1) + reline (0.4.2) + io-console (~> 0.5) rexml (3.2.6) rspec-core (3.12.2) rspec-support (~> 3.12.0) @@ -252,32 +278,32 @@ GEM rspec-support (3.12.1) rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (1.56.0) - base64 (~> 0.1.1) + rubocop (1.59.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) - parser (>= 3.2.2.3) + parser (>= 3.2.2.4) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.28.1, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.29.0) + rubocop-ast (1.30.0) parser (>= 3.2.1.0) - rubocop-capybara (2.18.0) + rubocop-capybara (2.20.0) + rubocop (~> 1.41) + rubocop-factory_bot (2.25.1) rubocop (~> 1.41) - rubocop-factory_bot (2.23.1) - rubocop (~> 1.33) - rubocop-performance (1.18.0) - rubocop (>= 1.7.0, < 2.0) - rubocop-ast (>= 0.4.0) - rubocop-rspec (2.23.2) - rubocop (~> 1.33) + rubocop-performance (1.20.2) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) + rubocop-rspec (2.26.1) + rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) ruby-progressbar (1.13.0) + ruby2_keywords (0.0.5) rubyzip (2.3.2) sass (3.7.4) sass-listen (~> 4.0.0) @@ -303,8 +329,9 @@ GEM rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) semantic_range (3.0.0) - shakapacker (7.0.1) + shakapacker (7.2.1) activesupport (>= 5.2) + package_json rack-proxy (>= 0.6.1) railties (>= 5.2) semantic_range (>= 2.3.0) @@ -329,7 +356,7 @@ GEM tins (~> 1.0) thor (1.2.2) tilt (2.2.0) - timeout (0.4.0) + timeout (0.4.1) tins (1.32.1) sync turbolinks (5.2.1) @@ -339,11 +366,12 @@ GEM concurrent-ruby (~> 1.0) uglifier (4.2.0) execjs (>= 0.3.0, < 3) - unicode-display_width (2.4.2) + unicode-display_width (2.5.0) webdrivers (5.3.0) nokogiri (~> 1.6) rubyzip (>= 1.3.0) selenium-webdriver (~> 4.0, < 4.11) + webrick (1.8.1) websocket (1.2.9) websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) @@ -359,7 +387,7 @@ PLATFORMS DEPENDENCIES amazing_print bootsnap - bundler (= 2.4.17) + bundler (= 2.5.3) capybara capybara-screenshot coveralls @@ -375,19 +403,19 @@ DEPENDENCIES pry-rails pry-rescue puma (~> 6.0) - rails (~> 7.0, >= 7.0.1) + rails (~> 7.1) react_on_rails! rspec-rails rspec-retry rspec_junit_formatter - rubocop (~> 1.56) - rubocop-performance (~> 1.18.0) - rubocop-rspec (~> 2.23.2) + rubocop (~> 1.59) + rubocop-performance (~> 1.20.0) + rubocop-rspec (~> 2.26) sass-rails (~> 6.0) scss_lint sdoc selenium-webdriver (= 4.9.0) - shakapacker (= 7.0.1) + shakapacker (= 7.2.1) spring (~> 4.0) sprockets (~> 4.0) sqlite3 @@ -396,4 +424,4 @@ DEPENDENCIES webdrivers (= 5.3.0) BUNDLED WITH - 2.4.17 + 2.5.3 diff --git a/spec/dummy/bin/bundle b/spec/dummy/bin/bundle index a71368e32..86cfde04f 100755 --- a/spec/dummy/bin/bundle +++ b/spec/dummy/bin/bundle @@ -73,7 +73,7 @@ m = Module.new do requirement = bundler_gem_version.approximate_recommendation - return requirement unless Gem::Version.new(Gem::VERSION) < Gem::Version.new("2.7.0") + return requirement unless Gem::Version.new(Gem::VERSION) < Gem::Version.new("3.0.0") requirement += ".a" if bundler_gem_version.prerelease? diff --git a/spec/dummy/package.json b/spec/dummy/package.json index ce3d8df44..94135da49 100644 --- a/spec/dummy/package.json +++ b/spec/dummy/package.json @@ -50,7 +50,7 @@ "sass": "^1.43.4", "sass-loader": "^12.3.0", "sass-resources-loader": "^2.1.0", - "shakapacker": "7.0.1", + "shakapacker": "7.2.1", "style-loader": "^3.3.1", "terser-webpack-plugin": "5.3.1", "url-loader": "^4.0.0", diff --git a/spec/dummy/spec/packs_generator_spec.rb b/spec/dummy/spec/packs_generator_spec.rb index ff0d2cdd5..3fc078326 100644 --- a/spec/dummy/spec/packs_generator_spec.rb +++ b/spec/dummy/spec/packs_generator_spec.rb @@ -4,7 +4,7 @@ # rubocop:disable Metrics/ModuleLength module ReactOnRails - GENERATED_PACKS_CONSOLE_OUTPUT_REGEX = /Generated Packs:/.freeze + GENERATED_PACKS_CONSOLE_OUTPUT_REGEX = /Generated Packs:/ # rubocop:disable Metrics/BlockLength describe PacksGenerator do diff --git a/spec/dummy/spec/rails_helper.rb b/spec/dummy/spec/rails_helper.rb index 2bfad2c09..3a9277fa7 100644 --- a/spec/dummy/spec/rails_helper.rb +++ b/spec/dummy/spec/rails_helper.rb @@ -38,7 +38,7 @@ # Requires supporting files with custom matchers and macros, etc, # in ./support/ and its subdirectories. -Dir[Rails.root.join("spec", "support", "**", "*.rb")].sort.each { |f| require f } +Dir[Rails.root.join("spec", "support", "**", "*.rb")].each { |f| require f } RSpec.configure do |config| # Ensure that if we are running js tests, we are using latest webpack assets @@ -100,11 +100,11 @@ Rack::Handler::Puma.run(app, Port: port) end - config.before(:each, js: true, type: :system) do + config.before(:each, :js, type: :system) do driven_by driver end - config.before(:each, rack_test: true, type: :system) do + config.before(:each, :rack_test, type: :system) do driven_by :rack_test end diff --git a/spec/dummy/spec/support/selenium_logger.rb b/spec/dummy/spec/support/selenium_logger.rb index 7c1ece894..caacdd940 100644 --- a/spec/dummy/spec/support/selenium_logger.rb +++ b/spec/dummy/spec/support/selenium_logger.rb @@ -12,8 +12,6 @@ errors = [] page.driver.browser.logs.get(:browser).each do |entry| - # can't use match? on Ruby 2.2. Uncomment when Ruby 2.4 is used for all test platforms - # next if entry.message.match?(/Download the React DevTools for a better development experience/) next if entry.message.include?("Download the React DevTools for a better development experience") log_only_list.include?(entry.level) ? puts(entry.message) : errors << entry.message diff --git a/spec/dummy/yarn.lock b/spec/dummy/yarn.lock index 1a7d28c91..d450b69ee 100644 --- a/spec/dummy/yarn.lock +++ b/spec/dummy/yarn.lock @@ -3397,21 +3397,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concurrently@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-5.2.0.tgz#ead55121d08a0fc817085584c123cedec2e08975" - integrity sha512-XxcDbQ4/43d6CxR7+iV8IZXhur4KbmEJk1CetVMUqCy34z9l0DkszbY+/9wvmSnToTej0SYomc2WSRH+L0zVJw== - dependencies: - chalk "^2.4.2" - date-fns "^2.0.1" - lodash "^4.17.15" - read-pkg "^4.0.1" - rxjs "^6.5.2" - spawn-command "^0.0.2-1" - supports-color "^6.1.0" - tree-kill "^1.2.2" - yargs "^13.3.0" - connect-history-api-fallback@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" @@ -3733,11 +3718,6 @@ d@1, d@^1.0.1: es5-ext "^0.10.50" type "^1.0.1" -date-fns@^2.0.1: - version "2.14.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.14.0.tgz#359a87a265bb34ef2e38f93ecf63ac453f9bc7ba" - integrity sha512-1zD+68jhFgDIM0rF05rcwYO8cExdNqxjq4xP1QKM60Q45mnO6zaMWB4tOzrIr4M4GSLntsKeE4c9Bdl2jhL/yw== - debug@2.6.9, debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -4629,11 +4609,6 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react- dependencies: react-is "^16.7.0" -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -5093,7 +5068,7 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== @@ -5273,7 +5248,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.4: +lodash@^4.17.13, lodash@^4.17.4: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -5635,16 +5610,6 @@ node-releases@^2.0.6: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -5891,14 +5856,6 @@ parse-asn1@^5.0.0: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - parse-json@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -6009,11 +5966,6 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - pify@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" @@ -6482,10 +6434,9 @@ react-is@^18.0.0: integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== "react-on-rails@file:.yalc/react-on-rails": - version "13.3.5" + version "13.4.0" dependencies: "@babel/runtime-corejs3" "^7.12.5" - concurrently "^5.1.0" react-proptypes@^1.0.0: version "1.0.0" @@ -6552,15 +6503,6 @@ react@^18.2.0: dependencies: loose-envify "^1.1.0" -read-pkg@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" - integrity sha1-ljYlN48+HE1IyFhytabsfV0JMjc= - dependencies: - normalize-package-data "^2.3.2" - parse-json "^4.0.0" - pify "^3.0.0" - readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.3.3, readable-stream@^2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -6805,7 +6747,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1: +resolve@^1.12.0, resolve@^1.13.1: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -6867,13 +6809,6 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rxjs@^6.5.2: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== - dependencies: - tslib "^1.9.0" - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -6985,16 +6920,16 @@ selfsigned@^2.1.1: dependencies: node-forge "^1" -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - semver@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== +semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -7094,10 +7029,10 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" -shakapacker@7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/shakapacker/-/shakapacker-7.0.1.tgz#6a796e8780c0a3e8e1adb2e75b1b2b827cf9e1d0" - integrity sha512-6lZrKcDGjTlPyEI6swEHVDwokDVhTqwzaeILpyR2rj/Ml+dasu2dBr9/wo57nnf8OPxDr/tZQanjXHHDuXVkbg== +shakapacker@7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/shakapacker/-/shakapacker-7.2.1.tgz#de9895bbbb6b6ee1016478dbbb8d4c37b25e5a50" + integrity sha512-IRPkEdIY2JiPfj7fnQ9sP8SBaUcaArMVBHAn3ctB91FndgyaM/bfXXlSEiveWPT3A3wkoadx44U6pKXo1DdC3w== dependencies: glob "^7.2.0" js-yaml "^4.1.0" @@ -7242,32 +7177,6 @@ spawn-command@^0.0.2-1: resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - spdy-transport@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" @@ -7588,16 +7497,6 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -tree-kill@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" - integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== - -tslib@^1.9.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== - tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -7781,14 +7680,6 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - value-equal@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" @@ -8019,14 +7910,6 @@ yaml@^1.10.0, yaml@^1.10.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^15.0.0: version "15.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.0.tgz#cdd7a97490ec836195f59f3f4dbe5ea9e8f75f08" @@ -8052,22 +7935,6 @@ yargs@14.2.0: y18n "^4.0.0" yargs-parser "^15.0.0" -yargs@^13.3.0: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" diff --git a/spec/react_on_rails/react_component/render_options_spec.rb b/spec/react_on_rails/react_component/render_options_spec.rb index 9a0bfc99b..9a91b933d 100644 --- a/spec/react_on_rails/react_component/render_options_spec.rb +++ b/spec/react_on_rails/react_component/render_options_spec.rb @@ -148,7 +148,7 @@ def the_attrs(react_component_name: "App", options: {}) context "without #{option} option" do it "returns #{option} from config" do - ReactOnRails.configuration.public_send("#{option}=", true) + ReactOnRails.configuration.public_send(:"#{option}=", true) attrs = the_attrs opts = described_class.new(**attrs) diff --git a/spec/react_on_rails/support/generator_spec_helper.rb b/spec/react_on_rails/support/generator_spec_helper.rb index f3f8f3545..ba0510667 100644 --- a/spec/react_on_rails/support/generator_spec_helper.rb +++ b/spec/react_on_rails/support/generator_spec_helper.rb @@ -4,9 +4,9 @@ require_relative "../simplecov_helper" require "generator_spec/test_case" -Dir["#{File.expand_path('../support/shared_examples', __dir__)}/*.rb"].sort.each { |file| require file } +Dir["#{File.expand_path('../support/shared_examples', __dir__)}/*.rb"].each { |file| require file } generators_glob = File.expand_path("../../../lib/generators/react_on_rails/*_generator.rb", __dir__) -Dir[generators_glob.to_s].sort.each { |file| require file } +Dir[generators_glob.to_s].each { |file| require file } include ReactOnRails::Generators # rubocop:disable Style/MixinUsage RSpec.configure do |config|