Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/react/rails/railtie.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class Railtie < ::Rails::Railtie
config.react.view_helper_implementation = nil # Defaults to ComponentMount

# Watch .jsx files for changes in dev, so we can reload the JS VMs with the new JS code.
initializer "react_rails.add_watchable_files", group: :all do |app|
initializer "react_rails.add_watchable_files", after: :load_config_initializers, group: :all do |app|
# Watch files ending in `server_renderer_extensions` in each of `server_renderer_directories`
reload_paths = config.react.server_renderer_directories.reduce({}) do |memo, dir|
app_dir = File.join(app.root, dir)
Expand Down
1 change: 1 addition & 0 deletions test/dummy/app/pants/yfronts.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
// used for testing file watcher configuration
5 changes: 5 additions & 0 deletions test/dummy/config/initializers/react.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,10 @@ class CustomComponentMount < React::Rails::ComponentMount
Dummy::Application.configure do
config.react.addons = true
config.react.view_helper_implementation = CustomComponentMount
# Add "app/pants" to the array we can test that file watchers are setup after
# rails initializers are loaded
config.react.server_renderer_directories = ["/app/assets/javascripts/",
"app/javascript",
"app/pants"]
end

10 changes: 10 additions & 0 deletions test/react/rails/railtie_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
require "test_helper"

class RailtieTest < ActionDispatch::IntegrationTest
test "reloaders are configured after initializers are loaded" do
@test_file = File.expand_path("../../dummy/app/pants/yfronts.js", File.dirname(__FILE__))
FileUtils.touch @test_file
results = Dummy::Application.reloaders.map(&:updated?)
assert_includes(results, true)
end
end