Class: Opal::Rails::BuilderRunner
- Inherits:
-
Object
- Object
- Opal::Rails::BuilderRunner
- Defined in:
- lib/opal/rails/builder_runner.rb
Instance Method Summary collapse
- #build(entrypoints:) ⇒ Object
-
#initialize(config:, builder_class: Opal::Builder) ⇒ BuilderRunner
constructor
A new instance of BuilderRunner.
Constructor Details
#initialize(config:, builder_class: Opal::Builder) ⇒ BuilderRunner
Returns a new instance of BuilderRunner.
9 10 11 12 |
# File 'lib/opal/rails/builder_runner.rb', line 9 def initialize(config:, builder_class: Opal::Builder) @config = config @builder_class = builder_class end |
Instance Method Details
#build(entrypoints:) ⇒ Object
14 15 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 |
# File 'lib/opal/rails/builder_runner.rb', line 14 def build(entrypoints:) with_opal_config do outputs = [] dependencies = {} FileUtils.mkdir_p(build_path) entrypoints.each_pair do |logical_name, relative_source_file| builder = build_entrypoint(relative_source_file) js_output = "#{logical_name}.js" write_output(js_output, compiled_source_for(builder, js_output)) outputs << js_output if source_map_enabled? map_output = "#{js_output}.map" write_output(map_output, builder.source_map.to_json) outputs << map_output end dependencies[logical_name] = builder.dependent_files end { outputs: outputs, dependencies: dependencies } end end |