Class: ReactOnRails::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/react_on_rails/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(node_modules_location: nil, server_bundle_js_file: nil, prerender: nil, replay_console: nil, make_generated_server_bundle_the_entrypoint: nil, trace: nil, development_mode: nil, logging_on_server: nil, server_renderer_pool_size: nil, server_renderer_timeout: nil, raise_on_prerender_error: true, skip_display_none: nil, generated_assets_dirs: nil, generated_assets_dir: nil, webpack_generated_files: nil, rendering_extension: nil, build_test_command: nil, build_production_command: nil, defer_generated_component_packs: nil, same_bundle_for_client_and_server: nil, i18n_dir: nil, i18n_yml_dir: nil, i18n_output_format: nil, random_dom_id: nil, server_render_method: nil, rendering_props_extension: nil, components_subdirectory: nil, auto_load_bundle: nil, force_load: nil) ⇒ Configuration

rubocop:disable Metrics/AbcSize



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/react_on_rails/configuration.rb', line 62

def initialize(node_modules_location: nil, server_bundle_js_file: nil, prerender: nil,
               replay_console: nil, make_generated_server_bundle_the_entrypoint: nil,
               trace: nil, development_mode: nil,
               logging_on_server: nil, server_renderer_pool_size: nil,
               server_renderer_timeout: nil, raise_on_prerender_error: true,
               skip_display_none: nil, generated_assets_dirs: nil,
               generated_assets_dir: nil, webpack_generated_files: nil,
               rendering_extension: nil, build_test_command: nil,
               build_production_command: nil, defer_generated_component_packs: nil,
               same_bundle_for_client_and_server: nil,
               i18n_dir: nil, i18n_yml_dir: nil, i18n_output_format: nil,
               random_dom_id: nil, server_render_method: nil, rendering_props_extension: nil,
               components_subdirectory: nil, auto_load_bundle: nil, force_load: nil)
  self.node_modules_location = node_modules_location.present? ? node_modules_location : Rails.root
  self.generated_assets_dirs = generated_assets_dirs
  self.generated_assets_dir = generated_assets_dir
  self.build_test_command = build_test_command
  self.build_production_command = build_production_command
  self.i18n_dir = i18n_dir
  self.i18n_yml_dir = i18n_yml_dir
  self.i18n_output_format = i18n_output_format

  self.random_dom_id = random_dom_id
  self.prerender = prerender
  self.replay_console = replay_console
  self.logging_on_server = logging_on_server
  self.development_mode = if development_mode.nil?
                            Rails.env.development?
                          else
                            development_mode
                          end
  self.trace = trace.nil? ? Rails.env.development? : trace
  self.raise_on_prerender_error = raise_on_prerender_error
  self.skip_display_none = skip_display_none
  self.rendering_props_extension = rendering_props_extension

  # Server rendering:
  self.server_bundle_js_file = server_bundle_js_file
  self.same_bundle_for_client_and_server = same_bundle_for_client_and_server
  self.server_renderer_pool_size = self.development_mode ? 1 : server_renderer_pool_size
  self.server_renderer_timeout = server_renderer_timeout # seconds

  self.webpack_generated_files = webpack_generated_files
  self.rendering_extension = rendering_extension

  self.server_render_method = server_render_method
  self.components_subdirectory = components_subdirectory
  self.auto_load_bundle = auto_load_bundle
  self.make_generated_server_bundle_the_entrypoint = make_generated_server_bundle_the_entrypoint
  self.defer_generated_component_packs = defer_generated_component_packs
  self.force_load = force_load
end

Instance Attribute Details

#auto_load_bundleObject

Returns the value of attribute auto_load_bundle.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def auto_load_bundle
  @auto_load_bundle
end

#build_production_commandObject

Returns the value of attribute build_production_command.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def build_production_command
  @build_production_command
end

#build_test_commandObject

Returns the value of attribute build_test_command.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def build_test_command
  @build_test_command
end

#components_subdirectoryObject

Returns the value of attribute components_subdirectory.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def components_subdirectory
  @components_subdirectory
end

#defer_generated_component_packsObject

Returns the value of attribute defer_generated_component_packs.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def defer_generated_component_packs
  @defer_generated_component_packs
end

#development_modeObject

Returns the value of attribute development_mode.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def development_mode
  @development_mode
end

#force_loadObject

Returns the value of attribute force_load.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def force_load
  @force_load
end

#generated_assets_dirObject

Returns the value of attribute generated_assets_dir.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def generated_assets_dir
  @generated_assets_dir
end

#generated_assets_dirsObject

Returns the value of attribute generated_assets_dirs.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def generated_assets_dirs
  @generated_assets_dirs
end

#i18n_dirObject

Returns the value of attribute i18n_dir.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def i18n_dir
  @i18n_dir
end

#i18n_output_formatObject

Returns the value of attribute i18n_output_format.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def i18n_output_format
  @i18n_output_format
end

#i18n_yml_dirObject

Returns the value of attribute i18n_yml_dir.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def i18n_yml_dir
  @i18n_yml_dir
end

#logging_on_serverObject

Returns the value of attribute logging_on_server.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def logging_on_server
  @logging_on_server
end

#make_generated_server_bundle_the_entrypointObject

Returns the value of attribute make_generated_server_bundle_the_entrypoint.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def make_generated_server_bundle_the_entrypoint
  @make_generated_server_bundle_the_entrypoint
end

#node_modules_locationObject

Returns the value of attribute node_modules_location.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def node_modules_location
  @node_modules_location
end

#prerenderObject

Returns the value of attribute prerender.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def prerender
  @prerender
end

#raise_on_prerender_errorObject

Returns the value of attribute raise_on_prerender_error.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def raise_on_prerender_error
  @raise_on_prerender_error
end

#random_dom_idObject

Returns the value of attribute random_dom_id.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def random_dom_id
  @random_dom_id
end

#rendering_extensionObject

Returns the value of attribute rendering_extension.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def rendering_extension
  @rendering_extension
end

#rendering_props_extensionObject

Returns the value of attribute rendering_props_extension.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def rendering_props_extension
  @rendering_props_extension
end

#replay_consoleObject

Returns the value of attribute replay_console.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def replay_console
  @replay_console
end

#same_bundle_for_client_and_serverObject

Returns the value of attribute same_bundle_for_client_and_server.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def same_bundle_for_client_and_server
  @same_bundle_for_client_and_server
end

#server_bundle_js_fileObject

Returns the value of attribute server_bundle_js_file.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def server_bundle_js_file
  @server_bundle_js_file
end

#server_render_methodObject

Returns the value of attribute server_render_method.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def server_render_method
  @server_render_method
end

#server_renderer_pool_sizeObject

Returns the value of attribute server_renderer_pool_size.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def server_renderer_pool_size
  @server_renderer_pool_size
end

#server_renderer_timeoutObject

Returns the value of attribute server_renderer_timeout.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def server_renderer_timeout
  @server_renderer_timeout
end

#skip_display_noneObject

Returns the value of attribute skip_display_none.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def skip_display_none
  @skip_display_none
end

#traceObject

Returns the value of attribute trace.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def trace
  @trace
end

#webpack_generated_filesObject

Returns the value of attribute webpack_generated_files.



49
50
51
# File 'lib/react_on_rails/configuration.rb', line 49

def webpack_generated_files
  @webpack_generated_files
end

Instance Method Details

#setup_config_valuesObject

on ReactOnRails



117
118
119
120
121
122
123
124
125
126
127
# File 'lib/react_on_rails/configuration.rb', line 117

def setup_config_values
  check_autobundling_requirements if auto_load_bundle
  ensure_webpack_generated_files_exists
  configure_generated_assets_dirs_deprecation
  configure_skip_display_none_deprecation
  ensure_generated_assets_dir_present
  check_server_render_method_is_only_execjs
  error_if_using_packer_and_generated_assets_dir_not_match_public_output_path
  # check_deprecated_settings
  adjust_precompile_task
end