Sha256: ed2c1a4ae97b51a8a872d0c16cb4f6b01ecbd07b5047a0ab1bca9b4716410731

Contents?: true

Size: 1.43 KB

Versions: 23

Compression:

Stored size: 1.43 KB

Contents

# frozen_string_literal: true

module Script
  module Layers
    module Application
      class BuildScript
        class << self
          def call(ctx:, task_runner:, script_project:)
            CLI::UI::Frame.open(ctx.message("script.application.building")) do
              begin
                UI::StrictSpinner.spin(ctx.message("script.application.building_script")) do |spinner|
                  Infrastructure::PushPackageRepository.new(ctx: ctx).create_push_package(
                    script_project: script_project,
                    script_content: task_runner.build,
                    compiled_type: task_runner.compiled_type,
                    metadata: task_runner.metadata,
                  )
                  spinner.update_title(ctx.message("script.application.built"))
                end
              rescue StandardError => e
                CLI::UI::Frame.with_frame_color_override(:red) do
                  ctx.puts("\n{{red:#{e.message}}}")
                end
                errors = [
                  Infrastructure::Errors::InvalidBuildScriptError,
                  Infrastructure::Errors::BuildScriptNotFoundError,
                  Infrastructure::Errors::WebAssemblyBinaryNotFoundError,
                ]

                raise Infrastructure::Errors::BuildError unless errors.any? { |err| e.is_a?(err) }
                raise
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
shopify-cli-2.6.3 lib/project_types/script/layers/application/build_script.rb
shopify-cli-2.6.2 lib/project_types/script/layers/application/build_script.rb
shopify-cli-2.6.1 lib/project_types/script/layers/application/build_script.rb
shopify-cli-2.6.0 lib/project_types/script/layers/application/build_script.rb
shopify-cli-2.5.0 lib/project_types/script/layers/application/build_script.rb
shopify-cli-2.4.0 lib/project_types/script/layers/application/build_script.rb
shopify-cli-2.3.0 lib/project_types/script/layers/application/build_script.rb
shopify-cli-2.2.2 lib/project_types/script/layers/application/build_script.rb
shopify-cli-2.2.1 lib/project_types/script/layers/application/build_script.rb
shopify-cli-2.2.0 lib/project_types/script/layers/application/build_script.rb
shopify-cli-2.1.0 lib/project_types/script/layers/application/build_script.rb
shopify-cli-2.0.2 lib/project_types/script/layers/application/build_script.rb
shopify-cli-2.0.1 lib/project_types/script/layers/application/build_script.rb
shopify-cli-2.0.0 lib/project_types/script/layers/application/build_script.rb
shopify-cli-1.14.0 lib/project_types/script/layers/application/build_script.rb
shopify-cli-1.13.1 lib/project_types/script/layers/application/build_script.rb
shopify-cli-1.13.0 lib/project_types/script/layers/application/build_script.rb
shopify-cli-1.12.0 lib/project_types/script/layers/application/build_script.rb
shopify-cli-1.11.0 lib/project_types/script/layers/application/build_script.rb
shopify-cli-1.10.0 lib/project_types/script/layers/application/build_script.rb