From e1b33b8b69df5b6778f291f927fd771187134fc1 Mon Sep 17 00:00:00 2001 From: Greg Date: Mon, 18 Sep 2017 12:55:00 +0100 Subject: [PATCH 1/6] Param syntax works down to Rails 3.2, stops deprecation warnings in Rails 5.0 --- test/react/rails/pages_controller_test.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/react/rails/pages_controller_test.rb b/test/react/rails/pages_controller_test.rb index c8192b3f..8a730d8e 100644 --- a/test/react/rails/pages_controller_test.rb +++ b/test/react/rails/pages_controller_test.rb @@ -13,16 +13,16 @@ class PagesControllerTest < ActionController::TestCase when_stateful_js_context_available do test 'it sets up and tears down a react context' do - get :show, id: 1, prerender: true + get :show, params: { id: 1, prerender: true } assert_includes(response.body, 'Hello') - get :show, id: 1, prerender: true, greeting: 'Howdy' + get :show, params: { id: 1, prerender: true, greeting: 'Howdy' } assert_includes(response.body, 'Howdy') - get :show, id: 1, prerender: true, greeting: '👋' + get :show, params: { id: 1, prerender: true, greeting: '👋' } assert_includes(response.body, '👋') - get :show, id: 1, prerender: true + get :show, params: { id: 1, prerender: true } assert_includes(response.body, 'Hello') end end @@ -30,9 +30,9 @@ class PagesControllerTest < ActionController::TestCase WebpackerHelpers.when_webpacker_available do test 'it mounts components from the dev server' do WebpackerHelpers.with_dev_server do - get :show, id: 1, prerender: true + get :show, params: { id: 1, prerender: true } assert_match /Hello from Webpacker/, response.body - get :show, id: 1, prerender: true, greeting: 'Howdy' + get :show, params: { id: 1, prerender: true, greeting: 'Howdy' } assert_match /Howdy from Webpacker/, response.body end end From 9a9a7727d038686e2ad792c0083e4e0dd999fc8c Mon Sep 17 00:00:00 2001 From: Greg Date: Mon, 18 Sep 2017 15:51:27 +0100 Subject: [PATCH 2/6] Fixes broken seed TESTOPTS="--seed=17880" --- test/support/webpacker_helpers.rb | 179 ++++++++++++++---------------- 1 file changed, 82 insertions(+), 97 deletions(-) diff --git a/test/support/webpacker_helpers.rb b/test/support/webpacker_helpers.rb index 3a5b44fe..0056a562 100644 --- a/test/support/webpacker_helpers.rb +++ b/test/support/webpacker_helpers.rb @@ -21,10 +21,10 @@ def compile return unless available? clear_webpacker_packs Dir.chdir("./test/#{DUMMY_LOCATION}") do - # capture_io do + capture_io do Rake::Task['webpacker:compile'].reenable Rake::Task['webpacker:compile'].invoke - # end + end end # Reload cached JSON manifest: manifest_refresh @@ -40,122 +40,107 @@ def clear_webpacker_packs FileUtils.rm_rf(PACKS_DIRECTORY) end - if MAJOR < 3 - def manifest_refresh - Webpacker::Manifest.load + # Start a webpack-dev-server + # Call the block + # Make sure to clean up the server + def with_dev_server + + old_env = ENV['NODE_ENV'] + ENV['NODE_ENV'] = 'development' + + # Start the server in a forked process: + webpack_dev_server = Dir.chdir("test/#{DUMMY_LOCATION}") do + spawn 'RAILS_ENV=development ./bin/webpack-dev-server ' end - else - def manifest_refresh - Webpacker.manifest.refresh + + stop_time = Time.now + 30.seconds + detected_dev_server = false + loop do + detected_dev_server = dev_server_running? + break if detected_dev_server || Time.now > stop_time + sleep 0.5 end + + # If we didn't hook up with a dev server after waiting, fail loudly. + raise 'Failed to start dev server' unless detected_dev_server + puts 'Detected dev server - Continuing' + + # Call the test block: + yield + + ensure + # Kill the server process + puts "Killing webpack dev server" + kill_cmd = "kill -9 #{webpack_dev_server}" + + puts kill_cmd + `#{kill_cmd}` + # Remove the dev-server packs: + WebpackerHelpers.clear_webpacker_packs + ENV['NODE_ENV'] = old_env + puts "Killed." end - if MAJOR < 3 + if MAJOR < 3 # Old webpackers + + def dev_server_running? + manifest_refresh + example_asset_path = manifest_data.values.first + begin + file = open('http://localhost:8080/packs/application.js') + rescue StandardError => e + file = nil + end + if !example_asset_path.start_with?('http://localhost:8080') && ! file + puts "Manifest doesn't include absolute path to dev server" + return false + end + true + end + + def manifest_refresh + Webpacker::Manifest.load + end + def manifest_lookup name Webpacker::Manifest.load(name) end - else - def manifest_lookup _ - Webpacker.manifest - end - end - if MAJOR < 3 def manifest_data Webpacker::Manifest.instance.data end - else - def manifest_data - Webpacker.manifest.refresh - end - end - # Start a webpack-dev-server - # Call the block - # Make sure to clean up the server - def with_dev_server - # Start the server in a forked process: - webpack_dev_server = Dir.chdir("test/#{DUMMY_LOCATION}") do - spawn 'RAILS_ENV=development ./bin/webpack-dev-server ' - end + else # New webpackers - detected_dev_server = false + def dev_server_running? + Webpacker.instance.instance_variable_set(:@config, nil) + return false unless Webpacker.dev_server.running? - # Wait for it to start up, make sure it's there by connecting to it: - 30.times do |i| + ds = Webpacker.dev_server + example_asset_path = manifest_data.values.first begin - # Make sure that the manifest has been updated: - manifest_lookup("./test/#{DUMMY_LOCATION}/public/packs/manifest.json") - example_asset_path = manifest_data.values.first - if example_asset_path.nil? - # Debug helper - # puts "Manifest is blank, all manifests:" - # Dir.glob("./test/#{DUMMY_LOCATION}/public/packs/*.json").each do |f| - # puts f - # puts File.read(f) - # end - next - end - # Make sure the dev server is up: - if MAJOR < 3 - file = open('http://localhost:8080/packs/application.js') - if !example_asset_path.start_with?('http://localhost:8080') && ! file - raise "Manifest doesn't include absolute path to dev server" - end - else - # Webpacker proxies the dev server when Rails is running in Webpacker 3 - # so the manifest doens't have absolute paths anymore.. - # Reload webpacker config. - old_env = ENV['NODE_ENV'] - ENV['NODE_ENV'] = 'development' - Webpacker.instance.instance_variable_set(:@config, nil) - Webpacker.config - running = Webpacker.dev_server.running? - ENV['NODE_ENV'] = old_env - raise "Webpack Dev Server hasn't started yet" unless running - end - - detected_dev_server = true - break - rescue StandardError => err - puts err.message - ensure - sleep 0.5 - # debug counter - # puts i + file = open("#{ds.protocol}://#{ds.host}:#{ds.port}#{example_asset_path}") + rescue StandardError => e + file = nil end + if ! file + puts "Dev server is not serving assets yet" + return false + end + true end - # If we didn't hook up with a dev server after waiting, fail loudly. - unless detected_dev_server - raise 'Failed to start dev server' + def manifest_refresh + Webpacker.manifest.refresh end - # Call the test block: - yield - ensure - # Kill the server process - # puts "Killing webpack dev server" - check_cmd = 'lsof -i :8080 -S' - 10.times do - # puts check_cmd - status = `#{check_cmd}` - # puts status - remaining_pid_match = status.match(/\n[a-z]+\s+(\d+)/) - if remaining_pid_match - remaining_pid = remaining_pid_match[1] - # puts "Remaining #{remaining_pid}" - kill_cmd = "kill -9 #{remaining_pid}" - # puts kill_cmd - `#{kill_cmd}` - sleep 0.5 - else - break - end + def manifest_lookup _ + Webpacker.manifest + end + + def manifest_data + Webpacker.manifest.refresh end - # Remove the dev-server packs: - WebpackerHelpers.clear_webpacker_packs - # puts "Killed." end end From 3980169ef0804325c75c680ec5bcaa0c6213c6e1 Mon Sep 17 00:00:00 2001 From: Greg Date: Wed, 20 Sep 2017 10:38:58 +0100 Subject: [PATCH 3/6] Turns out Rails 4 is unhappy with params hash --- test/react/rails/pages_controller_test.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/react/rails/pages_controller_test.rb b/test/react/rails/pages_controller_test.rb index 8a730d8e..c8192b3f 100644 --- a/test/react/rails/pages_controller_test.rb +++ b/test/react/rails/pages_controller_test.rb @@ -13,16 +13,16 @@ class PagesControllerTest < ActionController::TestCase when_stateful_js_context_available do test 'it sets up and tears down a react context' do - get :show, params: { id: 1, prerender: true } + get :show, id: 1, prerender: true assert_includes(response.body, 'Hello') - get :show, params: { id: 1, prerender: true, greeting: 'Howdy' } + get :show, id: 1, prerender: true, greeting: 'Howdy' assert_includes(response.body, 'Howdy') - get :show, params: { id: 1, prerender: true, greeting: '👋' } + get :show, id: 1, prerender: true, greeting: '👋' assert_includes(response.body, '👋') - get :show, params: { id: 1, prerender: true } + get :show, id: 1, prerender: true assert_includes(response.body, 'Hello') end end @@ -30,9 +30,9 @@ class PagesControllerTest < ActionController::TestCase WebpackerHelpers.when_webpacker_available do test 'it mounts components from the dev server' do WebpackerHelpers.with_dev_server do - get :show, params: { id: 1, prerender: true } + get :show, id: 1, prerender: true assert_match /Hello from Webpacker/, response.body - get :show, params: { id: 1, prerender: true, greeting: 'Howdy' } + get :show, id: 1, prerender: true, greeting: 'Howdy' assert_match /Howdy from Webpacker/, response.body end end From 1bd3565147942f7611100446994ccbf27f4a6726 Mon Sep 17 00:00:00 2001 From: Greg Date: Wed, 20 Sep 2017 11:19:54 +0100 Subject: [PATCH 4/6] We scan for anything on port 8080 because webpack changes PID after it forks. --- test/support/webpacker_helpers.rb | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/test/support/webpacker_helpers.rb b/test/support/webpacker_helpers.rb index 0056a562..d1d26cf9 100644 --- a/test/support/webpacker_helpers.rb +++ b/test/support/webpacker_helpers.rb @@ -49,7 +49,7 @@ def with_dev_server ENV['NODE_ENV'] = 'development' # Start the server in a forked process: - webpack_dev_server = Dir.chdir("test/#{DUMMY_LOCATION}") do + Dir.chdir("test/#{DUMMY_LOCATION}") do spawn 'RAILS_ENV=development ./bin/webpack-dev-server ' end @@ -69,12 +69,24 @@ def with_dev_server yield ensure - # Kill the server process - puts "Killing webpack dev server" - kill_cmd = "kill -9 #{webpack_dev_server}" + check_cmd = 'lsof -i :8080 -S' + 10.times do + # puts check_cmd + status = `#{check_cmd}` + # puts status + remaining_pid_match = status.match(/\n[a-z]+\s+(\d+)/) + if remaining_pid_match + remaining_pid = remaining_pid_match[1] + # puts "Remaining #{remaining_pid}" + kill_cmd = "kill -9 #{remaining_pid}" + # puts kill_cmd + `#{kill_cmd}` + sleep 0.5 + else + break + end + end - puts kill_cmd - `#{kill_cmd}` # Remove the dev-server packs: WebpackerHelpers.clear_webpacker_packs ENV['NODE_ENV'] = old_env @@ -86,12 +98,14 @@ def with_dev_server def dev_server_running? manifest_refresh example_asset_path = manifest_data.values.first + return false unless example_asset_path + return false unless example_asset_path.start_with?('http://localhost:8080') begin file = open('http://localhost:8080/packs/application.js') rescue StandardError => e file = nil end - if !example_asset_path.start_with?('http://localhost:8080') && ! file + unless file puts "Manifest doesn't include absolute path to dev server" return false end @@ -118,6 +132,7 @@ def dev_server_running? ds = Webpacker.dev_server example_asset_path = manifest_data.values.first + return false unless example_asset_path begin file = open("#{ds.protocol}://#{ds.host}:#{ds.port}#{example_asset_path}") rescue StandardError => e From fc36085ab94460f34b34d7ef97fc975eeb64f1f5 Mon Sep 17 00:00:00 2001 From: Greg Date: Wed, 20 Sep 2017 12:19:56 +0100 Subject: [PATCH 5/6] Bump JRuby to 9.1.9.0 according to http://rubies.travis-ci.org/. Also scope rubyracer to MRI and replace with rubyrhino on JRuby --- .travis.yml | 22 +++++++++---------- Appraisals | 17 +++++++++----- gemfiles/rails_3.2.gemfile | 2 +- gemfiles/rails_4.0.5.gemfile | 2 +- gemfiles/rails_4.0_with_therubyracer.gemfile | 4 ++-- gemfiles/rails_4.1.gemfile | 2 +- gemfiles/rails_4.2_sprockets_2.gemfile | 2 +- gemfiles/rails_4.2_sprockets_3.gemfile | 2 +- gemfiles/rails_4.2_sprockets_4.gemfile | 5 +++-- gemfiles/rails_5.1_sprockets_4.gemfile | 2 +- gemfiles/rails_5_no_sprockets.gemfile | 2 +- ...rails_5_no_sprockets_webpacker_1_1.gemfile | 5 +++-- ...rails_5_no_sprockets_webpacker_1_x.gemfile | 5 +++-- .../rails_5_no_sprockets_webpacker_2.gemfile | 5 +++-- .../rails_5_no_sprockets_webpacker_3.gemfile | 5 +++-- 15 files changed, 46 insertions(+), 36 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5e945a3b..02c2df8e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ cache: rvm: - 2.3.0 - 2.1 - - jruby-9.0.1.0 + - jruby-9.1.9.0 gemfile: # These have webpacker: @@ -53,27 +53,27 @@ matrix: gemfile: gemfiles/rails_5_no_sprockets.gemfile - rvm: 2.1 gemfile: gemfiles/rails_5.1_sprockets_4.gemfile - - rvm: jruby-9.0.1.0 + - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails_4.0.gemfile - - rvm: jruby-9.0.1.0 + - rvm: jruby-9.1.9.0 gemfile: rails_4.0_with_therubyracer.gemfile - - rvm: jruby-9.0.1.0 + - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails_4.1.gemfile - - rvm: jruby-9.0.1.0 + - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails_4.2_sprockets_2.gemfile - - rvm: jruby-9.0.1.0 + - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails_5_no_sprockets_webpacker_1_1.gemfile - - rvm: jruby-9.0.1.0 + - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails_5_no_sprockets_webpacker_1_x.gemfile - - rvm: jruby-9.0.1.0 + - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails_5_no_sprockets_webpacker_2.gemfile - - rvm: jruby-9.0.1.0 + - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails_5_no_sprockets_webpacker_3.gemfile - - rvm: jruby-9.0.1.0 + - rvm: jruby-9.1.9.0 gemfile: gemfiles/rails_5_no_sprockets.gemfile allow_failures: - - rvm: jruby-9.0.1.0 + - rvm: jruby-9.1.9.0 before_install: - nvm install 7.8.0 && nvm use 7.8.0 diff --git a/Appraisals b/Appraisals index 1f872e6f..6e0d4d10 100644 --- a/Appraisals +++ b/Appraisals @@ -17,7 +17,7 @@ end appraise 'rails-4.0-with-therubyracer' do gem 'rails', '~> 4.0.13' - gem 'therubyracer', '0.12.0', :platform => :mri + gem 'therubyracer', '0.12.0', :platforms => :mri gem 'turbolinks' end @@ -45,7 +45,8 @@ appraise 'rails-4.2-sprockets_4' do gem 'turbolinks', '~> 2.5.0' # This ExecJS backend provides stateful context # which the default nodejs backend does not - gem 'mini_racer' + gem 'mini_racer', :platforms => :mri + gem 'therubyrhino', :platforms => :jruby end # no_sprockets is a magical name from sprockets_helper.rb in test to @@ -55,7 +56,8 @@ appraise 'rails-5_no_sprockets_webpacker_1_1' do gem 'webpacker', '~> 1.1.0' # This ExecJS backend provides stateful context # which the default nodejs backend does not - gem 'therubyracer' + gem 'therubyracer', :platforms => :mri + gem 'therubyrhino', :platforms => :jruby end appraise 'rails-5_no_sprockets_webpacker_1_x' do @@ -63,7 +65,8 @@ appraise 'rails-5_no_sprockets_webpacker_1_x' do gem 'webpacker', '~> 1.2' # This ExecJS backend provides stateful context # which the default nodejs backend does not - gem 'therubyracer' + gem 'therubyracer', :platforms => :mri + gem 'therubyrhino', :platforms => :jruby end appraise 'rails-5_no_sprockets_webpacker_2' do @@ -71,7 +74,8 @@ appraise 'rails-5_no_sprockets_webpacker_2' do gem 'webpacker', '~> 2.0' # This ExecJS backend provides stateful context # which the default nodejs backend does not - gem 'therubyracer' + gem 'therubyracer', :platforms => :mri + gem 'therubyrhino', :platforms => :jruby end appraise 'rails-5_no_sprockets_webpacker_3' do @@ -79,7 +83,8 @@ appraise 'rails-5_no_sprockets_webpacker_3' do gem 'webpacker', '>= 3.0' # This ExecJS backend provides stateful context # which the default nodejs backend does not - gem 'therubyracer' + gem 'therubyracer', :platforms => :mri + gem 'therubyrhino', :platforms => :jruby end appraise 'rails-5-no_sprockets' do diff --git a/gemfiles/rails_3.2.gemfile b/gemfiles/rails_3.2.gemfile index f9329613..6e746df4 100644 --- a/gemfiles/rails_3.2.gemfile +++ b/gemfiles/rails_3.2.gemfile @@ -6,4 +6,4 @@ gem "rails", "~> 3.2.21" gem "rack-cache", "~> 1.6.1" gem "turbolinks", "~> 2.0" -gemspec :path => "../" +gemspec path: "../" diff --git a/gemfiles/rails_4.0.5.gemfile b/gemfiles/rails_4.0.5.gemfile index eeb73d95..bba7a990 100644 --- a/gemfiles/rails_4.0.5.gemfile +++ b/gemfiles/rails_4.0.5.gemfile @@ -5,4 +5,4 @@ source "http://rubygems.org" gem "rails", "4.0.5" gem "turbolinks" -gemspec :path => "../" +gemspec path: "../" diff --git a/gemfiles/rails_4.0_with_therubyracer.gemfile b/gemfiles/rails_4.0_with_therubyracer.gemfile index 4c854cc3..e9afbf49 100644 --- a/gemfiles/rails_4.0_with_therubyracer.gemfile +++ b/gemfiles/rails_4.0_with_therubyracer.gemfile @@ -3,7 +3,7 @@ source "http://rubygems.org" gem "rails", "~> 4.0.13" -gem "therubyracer", "0.12.0", :platform => :mri +gem "therubyracer", "0.12.0", platforms: :mri gem "turbolinks" -gemspec :path => "../" +gemspec path: "../" diff --git a/gemfiles/rails_4.1.gemfile b/gemfiles/rails_4.1.gemfile index 80206ebc..ed612c3c 100644 --- a/gemfiles/rails_4.1.gemfile +++ b/gemfiles/rails_4.1.gemfile @@ -5,4 +5,4 @@ source "http://rubygems.org" gem "rails", "~> 4.1.10" gem "turbolinks", "~> 2.3.0" -gemspec :path => "../" +gemspec path: "../" diff --git a/gemfiles/rails_4.2_sprockets_2.gemfile b/gemfiles/rails_4.2_sprockets_2.gemfile index d3112737..7e0651bd 100644 --- a/gemfiles/rails_4.2_sprockets_2.gemfile +++ b/gemfiles/rails_4.2_sprockets_2.gemfile @@ -6,4 +6,4 @@ gem "rails", "~> 4.2.1" gem "sprockets", "~> 2.12" gem "turbolinks" -gemspec :path => "../" +gemspec path: "../" diff --git a/gemfiles/rails_4.2_sprockets_3.gemfile b/gemfiles/rails_4.2_sprockets_3.gemfile index 7bb53f88..d2121c85 100644 --- a/gemfiles/rails_4.2_sprockets_3.gemfile +++ b/gemfiles/rails_4.2_sprockets_3.gemfile @@ -6,4 +6,4 @@ gem "rails", "~> 4.2.1" gem "sprockets", "~> 3.5" gem "turbolinks", "~> 2.5.0" -gemspec :path => "../" +gemspec path: "../" diff --git a/gemfiles/rails_4.2_sprockets_4.gemfile b/gemfiles/rails_4.2_sprockets_4.gemfile index e5b8484a..988d58bf 100644 --- a/gemfiles/rails_4.2_sprockets_4.gemfile +++ b/gemfiles/rails_4.2_sprockets_4.gemfile @@ -5,6 +5,7 @@ source "http://rubygems.org" gem "rails", "~> 4.2.1" gem "sprockets", "~> 4.0.x" gem "turbolinks", "~> 2.5.0" -gem "mini_racer" +gem "mini_racer", platforms: :mri +gem "therubyrhino", platforms: :jruby -gemspec :path => "../" +gemspec path: "../" diff --git a/gemfiles/rails_5.1_sprockets_4.gemfile b/gemfiles/rails_5.1_sprockets_4.gemfile index 51de6c44..524b256e 100644 --- a/gemfiles/rails_5.1_sprockets_4.gemfile +++ b/gemfiles/rails_5.1_sprockets_4.gemfile @@ -6,4 +6,4 @@ gem "rails", "~> 5.1" gem "sprockets", "~> 4.0.x" gem "turbolinks", "~> 5.0.0" -gemspec :path => "../" +gemspec path: "../" diff --git a/gemfiles/rails_5_no_sprockets.gemfile b/gemfiles/rails_5_no_sprockets.gemfile index c2b8165c..bfd08475 100644 --- a/gemfiles/rails_5_no_sprockets.gemfile +++ b/gemfiles/rails_5_no_sprockets.gemfile @@ -4,4 +4,4 @@ source "http://rubygems.org" gem "rails", "~> 5.0.0" -gemspec :path => "../" +gemspec path: "../" diff --git a/gemfiles/rails_5_no_sprockets_webpacker_1_1.gemfile b/gemfiles/rails_5_no_sprockets_webpacker_1_1.gemfile index a582f494..7ac0ae4b 100644 --- a/gemfiles/rails_5_no_sprockets_webpacker_1_1.gemfile +++ b/gemfiles/rails_5_no_sprockets_webpacker_1_1.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "rails", "~> 5.0.0" gem "webpacker", "~> 1.1.0" -gem "therubyracer" +gem "therubyracer", platforms: :mri +gem "therubyrhino", platforms: :jruby -gemspec :path => "../" +gemspec path: "../" diff --git a/gemfiles/rails_5_no_sprockets_webpacker_1_x.gemfile b/gemfiles/rails_5_no_sprockets_webpacker_1_x.gemfile index d0e3800e..89a2535c 100644 --- a/gemfiles/rails_5_no_sprockets_webpacker_1_x.gemfile +++ b/gemfiles/rails_5_no_sprockets_webpacker_1_x.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "rails", "~> 5.0.0" gem "webpacker", "~> 1.2" -gem "therubyracer" +gem "therubyracer", platforms: :mri +gem "therubyrhino", platforms: :jruby -gemspec :path => "../" +gemspec path: "../" diff --git a/gemfiles/rails_5_no_sprockets_webpacker_2.gemfile b/gemfiles/rails_5_no_sprockets_webpacker_2.gemfile index 3073afac..12322b0e 100644 --- a/gemfiles/rails_5_no_sprockets_webpacker_2.gemfile +++ b/gemfiles/rails_5_no_sprockets_webpacker_2.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "rails", "~> 5.0.0" gem "webpacker", "~> 2.0" -gem "therubyracer" +gem "therubyracer", platforms: :mri +gem "therubyrhino", platforms: :jruby -gemspec :path => "../" +gemspec path: "../" diff --git a/gemfiles/rails_5_no_sprockets_webpacker_3.gemfile b/gemfiles/rails_5_no_sprockets_webpacker_3.gemfile index 261c24aa..e13eee65 100644 --- a/gemfiles/rails_5_no_sprockets_webpacker_3.gemfile +++ b/gemfiles/rails_5_no_sprockets_webpacker_3.gemfile @@ -4,6 +4,7 @@ source "http://rubygems.org" gem "rails", "~> 5.0.0" gem "webpacker", ">= 3.0" -gem "therubyracer" +gem "therubyracer", platforms: :mri +gem "therubyrhino", platforms: :jruby -gemspec :path => "../" +gemspec path: "../" From 2700620ebf4a3620ba4969bd98a2e74efae6e7c3 Mon Sep 17 00:00:00 2001 From: Greg Date: Wed, 20 Sep 2017 12:36:39 +0100 Subject: [PATCH 6/6] Dont bother with rubyrhino on rails 4.2 --- Appraisals | 1 - gemfiles/rails_4.2_sprockets_4.gemfile | 1 - 2 files changed, 2 deletions(-) diff --git a/Appraisals b/Appraisals index 6e0d4d10..5d37c1a0 100644 --- a/Appraisals +++ b/Appraisals @@ -46,7 +46,6 @@ appraise 'rails-4.2-sprockets_4' do # This ExecJS backend provides stateful context # which the default nodejs backend does not gem 'mini_racer', :platforms => :mri - gem 'therubyrhino', :platforms => :jruby end # no_sprockets is a magical name from sprockets_helper.rb in test to diff --git a/gemfiles/rails_4.2_sprockets_4.gemfile b/gemfiles/rails_4.2_sprockets_4.gemfile index 988d58bf..ca4199d3 100644 --- a/gemfiles/rails_4.2_sprockets_4.gemfile +++ b/gemfiles/rails_4.2_sprockets_4.gemfile @@ -6,6 +6,5 @@ gem "rails", "~> 4.2.1" gem "sprockets", "~> 4.0.x" gem "turbolinks", "~> 2.5.0" gem "mini_racer", platforms: :mri -gem "therubyrhino", platforms: :jruby gemspec path: "../"