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/controller.rb,
lib/react_on_rails/pro_helper.rb,
lib/react_on_rails/json_output.rb,
lib/react_on_rails/smart_error.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/pro_migration.rb,
lib/react_on_rails/render_request.rb,
lib/react_on_rails/system_checker.rb,
lib/react_on_rails/js_code_builder.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/port_selector.rb,
lib/react_on_rails/dev/pack_generator.rb,
lib/react_on_rails/dev/server_manager.rb,
lib/react_on_rails/rendering_strategy.rb,
lib/react_on_rails/dev/process_manager.rb,
lib/react_on_rails/dev/service_checker.rb,
lib/generators/react_on_rails/pro_setup.rb,
lib/generators/react_on_rails/rsc_setup.rb,
lib/react_on_rails/config_path_resolver.rb,
lib/react_on_rails/dev/database_checker.rb,
lib/react_on_rails/version_synchronizer.rb,
lib/react_on_rails/server_rendering_pool.rb,
lib/react_on_rails/length_prefixed_parser.rb,
lib/generators/react_on_rails/pro_generator.rb,
lib/generators/react_on_rails/rsc_generator.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/demo_page_config.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/dev_assets_detector.rb,
lib/generators/react_on_rails/js_dependency_manager.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/rendering_strategy/exec_js_strategy.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: ConfigPathResolver, Controller, Dev, Generators, GitUtils, Helper, Locales, PackerUtils, ProHelper, ProMigration, ReactComponent, RenderingStrategy, ServerRenderingJsCode, ServerRenderingPool, TestHelper, Utils Classes: Configuration, Doctor, Engine, Error, JsCodeBuilder, JsonOutput, JsonParseError, LengthPrefixedParser, PacksGenerator, PrerenderError, RenderRequest, SmartError, SystemChecker, VersionChecker, VersionSynchronizer, VersionSyntaxConverter

Constant Summary collapse

DOCTOR_RECOMMENDATION =
"For detailed diagnostics, run: bundle exec rake react_on_rails:doctor"
VERSION =
"16.7.0.rc.0"
DEFAULT_GENERATED_ASSETS_DIR =
File.join(%w[public webpack], Rails.env).freeze
DEFAULT_COMPONENT_REGISTRY_TIMEOUT =
5000
DEFAULT_SERVER_BUNDLE_OUTPUT_PATH =
"ssr-generated"
DEFAULT_SERVER_RENDERER_POOL_SIZE =
1
DEFAULT_SERVER_RENDERER_TIMEOUT_SECONDS =
20

Class Method Summary collapse

Class Method Details

.configurationObject



57
58
59
60
61
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
# File 'lib/react_on_rails/configuration.rb', line 57

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: "",
    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: DEFAULT_SERVER_RENDERER_POOL_SIZE,
    server_renderer_timeout: DEFAULT_SERVER_RENDERER_TIMEOUT_SECONDS,
    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,
    stores_subdirectory: nil,
    make_generated_server_bundle_the_entrypoint: false,
    defer_generated_component_packs: 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: DEFAULT_SERVER_BUNDLE_OUTPUT_PATH,
    enforce_private_server_bundles: false,
    # Whether to check database connectivity before starting bin/dev.
    # Set to false to disable (saves ~1-2 seconds startup time).
    # Can also be disabled via SKIP_DATABASE_CHECK=true or bin/dev --skip-database-check
    check_database_on_dev_start: true
  )
end

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

Yields:



24
25
26
27
# File 'lib/react_on_rails/configuration.rb', line 24

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

.js_code_builderObject

JS code builder configured at boot time by engine initializers. Used by RenderRequest#to_js to generate SSR JavaScript code. Not yet wired into the main rendering path — currently additive only.



43
44
45
# File 'lib/react_on_rails/configuration.rb', line 43

def self.js_code_builder
  @js_code_builder ||= ReactOnRails::JsCodeBuilder.new
end

.js_code_builder=(builder) ⇒ Object



47
48
49
# File 'lib/react_on_rails/configuration.rb', line 47

def self.js_code_builder=(builder)
  @js_code_builder = builder
end

.rendering_strategyObject

Rendering strategy configured at boot time by engine initializers. Replaces runtime react_on_rails_pro? checks (see issue #2905). Not yet wired into the main rendering path — currently additive only.



32
33
34
# File 'lib/react_on_rails/configuration.rb', line 32

def self.rendering_strategy
  @rendering_strategy ||= ReactOnRails::RenderingStrategy::ExecJsStrategy.new
end

.rendering_strategy=(strategy) ⇒ Object



36
37
38
# File 'lib/react_on_rails/configuration.rb', line 36

def self.rendering_strategy=(strategy)
  @rendering_strategy = strategy
end