Module: ReactOnRails

Defined in:
lib/react_on_rails/utils.rb,
lib/react_on_rails/dev.rb,
lib/react_on_rails/error.rb,
lib/react_on_rails/doctor.rb,
lib/react_on_rails/engine.rb,
lib/react_on_rails/helper.rb,
lib/react_on_rails/version.rb,
lib/react_on_rails/git_utils.rb,
lib/react_on_rails/pro/utils.rb,
lib/react_on_rails/controller.rb,
lib/react_on_rails/pro/helper.rb,
lib/react_on_rails/json_output.rb,
lib/react_on_rails/test_helper.rb,
lib/react_on_rails/locales/base.rb,
lib/react_on_rails/packer_utils.rb,
lib/react_on_rails/configuration.rb,
lib/react_on_rails/locales/to_js.rb,
lib/react_on_rails/system_checker.rb,
lib/react_on_rails/locales/to_json.rb,
lib/react_on_rails/packs_generator.rb,
lib/react_on_rails/prerender_error.rb,
lib/react_on_rails/version_checker.rb,
lib/react_on_rails/dev/file_manager.rb,
lib/react_on_rails/json_parse_error.rb,
lib/react_on_rails/dev/pack_generator.rb,
lib/react_on_rails/dev/server_manager.rb,
lib/react_on_rails/dev/process_manager.rb,
lib/react_on_rails/server_rendering_pool.rb,
lib/react_on_rails/server_rendering_js_code.rb,
lib/react_on_rails/version_syntax_converter.rb,
lib/generators/react_on_rails/base_generator.rb,
lib/generators/react_on_rails/install_generator.rb,
lib/generators/react_on_rails/dev_tests_generator.rb,
lib/react_on_rails/react_component/render_options.rb,
lib/react_on_rails/test_helper/ensure_assets_compiled.rb,
lib/generators/react_on_rails/react_no_redux_generator.rb,
lib/react_on_rails/test_helper/webpack_assets_compiler.rb,
lib/generators/react_on_rails/react_with_redux_generator.rb,
lib/react_on_rails/test_helper/webpack_assets_status_checker.rb,
lib/react_on_rails/server_rendering_pool/ruby_embedded_java_script.rb

Overview

You can replace this implementation with your own for use by the ReactOnRails::TestHelper.ensure_assets_compiled helper

Defined Under Namespace

Modules: Controller, Dev, Generators, GitUtils, Helper, Locales, PackerUtils, Pro, ReactComponent, ServerRenderingJsCode, ServerRenderingPool, TestHelper, Utils Classes: Configuration, Doctor, Engine, Error, JsonOutput, JsonParseError, PacksGenerator, PrerenderError, SystemChecker, VersionChecker, VersionSyntaxConverter

Constant Summary collapse

VERSION =
"16.1.1"
DEFAULT_GENERATED_ASSETS_DIR =
File.join(%w[public webpack], Rails.env).freeze
DEFAULT_REACT_CLIENT_MANIFEST_FILE =
"react-client-manifest.json"
DEFAULT_REACT_SERVER_CLIENT_MANIFEST_FILE =
"react-server-client-manifest.json"
DEFAULT_COMPONENT_REGISTRY_TIMEOUT =
5000

Class Method Summary collapse

Class Method Details

.configurationObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/react_on_rails/configuration.rb', line 16

def self.configuration
  @configuration ||= Configuration.new(
    node_modules_location: nil,
    generated_assets_dirs: nil,
    # generated_assets_dirs is deprecated
    generated_assets_dir: "",
    server_bundle_js_file: "",
    rsc_bundle_js_file: "",
    react_client_manifest_file: DEFAULT_REACT_CLIENT_MANIFEST_FILE,
    react_server_client_manifest_file: DEFAULT_REACT_SERVER_CLIENT_MANIFEST_FILE,
    prerender: false,
    auto_load_bundle: false,
    replay_console: true,
    logging_on_server: true,
    raise_on_prerender_error: Rails.env.development?,
    trace: Rails.env.development?,
    development_mode: Rails.env.development?,
    server_renderer_pool_size: 1,
    server_renderer_timeout: 20,
    skip_display_none: nil,
    # skip_display_none is deprecated
    webpack_generated_files: %w[manifest.json],
    rendering_extension: nil,
    rendering_props_extension: nil,
    server_render_method: nil,
    build_test_command: "",
    build_production_command: "",
    random_dom_id: true,
    same_bundle_for_client_and_server: false,
    i18n_output_format: nil,
    components_subdirectory: nil,
    make_generated_server_bundle_the_entrypoint: false,
    defer_generated_component_packs: false,
    # React on Rails Pro (licensed) feature - enables immediate hydration of React components
    immediate_hydration: false,
    # Maximum time in milliseconds to wait for client-side component registration after page load.
    # If exceeded, an error will be thrown for server-side rendered components not registered on the client.
    # Set to 0 to disable the timeout and wait indefinitely for component registration.
    component_registry_timeout: DEFAULT_COMPONENT_REGISTRY_TIMEOUT,
    generated_component_packs_loading_strategy: nil,
    server_bundle_output_path: "ssr-generated",
    enforce_private_server_bundles: false
  )
  # TODO: Add automatic detection of server_bundle_output_path from shakapacker.yml
  # See feature/shakapacker-yml-integration branch for implementation
  # Requires Shakapacker v8.5.0+ and semantic version checking
end

.configure {|configuration| ... } ⇒ Object

Yields:



6
7
8
9
# File 'lib/react_on_rails/configuration.rb', line 6

def self.configure
  yield(configuration)
  configuration.setup_config_values
end