Module: ReactOnRails::ShakapackerConfigHelpers

Included in:
Dev::ServerManager, Doctor, SystemChecker
Defined in:
lib/react_on_rails/shakapacker_config_helpers.rb

Overview

Shared helpers for reading config/shakapacker.yml and deriving the active assets bundler (webpack vs rspack), its display labels, and the development dev-server reload mode. Extracted so the diagnostics/CLI entry points (Doctor, SystemChecker, and Dev::ServerManager) parse the file the same way and present consistent bundler wording.

Doctor and SystemChecker ‘include` this module so the helpers become private instance methods. Dev::ServerManager `extend`s it because its commands live on `class << self`; extend preserves the private visibility, so the helpers become private singleton methods there. The helpers call each other plus standard-library/Rails globals (ENV, File, Dir, YAML, ERB, Rails) and module constants — none of which resolve through `self` — so they behave identically whether included or extended.

Constant Summary collapse

DEFAULT_SHAKAPACKER_CONFIG_PATH =
"config/shakapacker.yml"
SUPPORTED_ASSETS_BUNDLERS =
%w[webpack rspack].freeze