@@ -18,25 +18,27 @@ class Railtie < ::Rails::Railtie
18
18
config . react . server_renderer = nil # defaults to BundleRenderer
19
19
config . react . server_renderer_options = { } # BundleRenderer provides defaults
20
20
# Changing files with these extensions in these directories will cause the server renderer to reload:
21
- config . react . server_renderer_directories = [ "/app/assets/javascripts/" ]
22
- config . react . server_renderer_extensions = [ "jsx" ]
23
- if defined? ( Webpacker )
24
- config . react . server_renderer_directories << "app/javascript"
25
- config . react . server_renderer_extensions << "js"
26
- end
21
+ config . react . server_renderer_directories = [ "/app/assets/javascripts/" , "app/javascript" ]
22
+ config . react . server_renderer_extensions = [ "jsx" , "js" ]
27
23
# View helper implementation:
28
24
config . react . view_helper_implementation = nil # Defaults to ComponentMount
29
25
30
26
# Watch .jsx files for changes in dev, so we can reload the JS VMs with the new JS code.
31
27
initializer "react_rails.add_watchable_files" , group : :all do |app |
28
+ # Watch files ending in `server_renderer_extensions` in each of `server_renderer_directories`
32
29
reload_paths = config . react . server_renderer_directories . reduce ( { } ) do |memo , dir |
33
30
app_dir = File . join ( app . root , dir )
34
31
memo [ app_dir ] = config . react . server_renderer_extensions
35
32
memo
36
33
end
37
34
38
- app . reloaders << ActiveSupport ::FileUpdateChecker . new ( [ ] , reload_paths ) do
39
- React ::ServerRendering . reset_pool
35
+ # Rails checks these objects for changes:
36
+ app . reloaders << ActiveSupport ::FileUpdateChecker . new ( [ ] , reload_paths )
37
+ # Reload renderers in dev when files change
38
+ if Gem ::Version . new ( ::Rails ::VERSION ::STRING ) >= Gem ::Version . new ( "5.x" )
39
+ ActiveSupport ::Reloader . to_prepare { React ::ServerRendering . reset_pool }
40
+ else
41
+ ActionDispatch ::Reloader . to_prepare { React ::ServerRendering . reset_pool }
40
42
end
41
43
end
42
44
@@ -102,14 +104,7 @@ class Railtie < ::Rails::Railtie
102
104
React ::ServerRendering . pool_timeout = app . config . react . server_renderer_timeout
103
105
React ::ServerRendering . renderer_options = app . config . react . server_renderer_options
104
106
React ::ServerRendering . renderer = app . config . react . server_renderer
105
-
106
107
React ::ServerRendering . reset_pool
107
- # Reload renderers in dev when files change
108
- if Gem ::Version . new ( ::Rails ::VERSION ::STRING ) >= Gem ::Version . new ( "5.x" )
109
- ActiveSupport ::Reloader . to_prepare { React ::ServerRendering . reset_pool }
110
- else
111
- ActionDispatch ::Reloader . to_prepare { React ::ServerRendering . reset_pool }
112
- end
113
108
end
114
109
115
110
initializer "react_rails.setup_engine" , :group => :all do |app |
0 commit comments