Class: PetiteVite::Config
- Inherits:
-
Object
- Object
- PetiteVite::Config
- Defined in:
- lib/petite_vite_rails.rb
Constant Summary collapse
- DEFAULT_VITE_DEV_SERVER_PORT =
5173
Instance Method Summary collapse
- #build_command ⇒ Object
- #frontend_output ⇒ Object
- #frontend_root ⇒ Object
-
#initialize(shared_json_path:, vite_manifest_relpath:) ⇒ Config
constructor
A new instance of Config.
- #manifest ⇒ Object
- #manifest_path ⇒ Object
- #vite_dev_server_port ⇒ Object
Constructor Details
#initialize(shared_json_path:, vite_manifest_relpath:) ⇒ Config
Returns a new instance of Config.
13 14 15 16 17 |
# File 'lib/petite_vite_rails.rb', line 13 def initialize(shared_json_path:, vite_manifest_relpath:) @shared_json_path = shared_json_path @contents = JSON.parse(File.read(shared_json_path)) @vite_manifest_relpath = vite_manifest_relpath end |
Instance Method Details
#build_command ⇒ Object
19 |
# File 'lib/petite_vite_rails.rb', line 19 def build_command = @contents.fetch("buildCommand") |
#frontend_output ⇒ Object
21 |
# File 'lib/petite_vite_rails.rb', line 21 def frontend_output = @contents.fetch("frontendOutput") |
#frontend_root ⇒ Object
23 |
# File 'lib/petite_vite_rails.rb', line 23 def frontend_root = @contents.fetch("frontendRoot") |
#manifest ⇒ Object
37 38 39 |
# File 'lib/petite_vite_rails.rb', line 37 def manifest @manifest ||= Manifest.new(config: self, manifest_path: manifest_path) end |
#manifest_path ⇒ Object
35 |
# File 'lib/petite_vite_rails.rb', line 35 def manifest_path = File.join(frontend_root, @vite_manifest_relpath) |
#vite_dev_server_port ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/petite_vite_rails.rb', line 25 def vite_dev_server_port return DEFAULT_VITE_DEV_SERVER_PORT if !@contents.key?("viteDevServerPort") value = @contents.fetch("viteDevServerPort") if !value.is_a?(Integer) raise "Invalid viteDevServerPort in #{@shared_json_path}: expected an Integer, got #{value.inspect}" end value end |