Sha256: 775580bef243621c3961d4d9a9f7bbabae21ede32314f1a961f5fa4a6d730229

Contents?: true

Size: 1.09 KB

Versions: 19

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

module Proscenium
  class Middleware
    class Esbuild < Base
      class CompileError < Base::CompileError
        def initialize(args)
          detail = args[:detail]
          detail = ActiveSupport::HashWithIndifferentAccess.new(Oj.load(detail, mode: :strict))

          args[:detail] = if detail[:location]
                            "#{detail[:text]} in #{detail[:location][:file]}:" +
                              detail[:location][:line].to_s
                          else
                            detail[:text]
                          end

          super args
        end
      end

      def attempt
        ActiveSupport::Notifications.instrument('build.proscenium', identifier: path_to_build) do
          render_response Proscenium::Esbuild.build(path_to_build, root: root,
                                                                   base_url: @request.base_url)
        end
      rescue Proscenium::Esbuild::CompileError => e
        raise self.class::CompileError, { file: @request.fullpath, detail: e.message }, caller
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
proscenium-0.9.1-x86_64-linux lib/proscenium/middleware/esbuild.rb
proscenium-0.9.1-aarch64-linux lib/proscenium/middleware/esbuild.rb
proscenium-0.9.1-arm64-darwin lib/proscenium/middleware/esbuild.rb
proscenium-0.9.1-x86_64-darwin lib/proscenium/middleware/esbuild.rb
proscenium-0.9.0-x86_64-linux lib/proscenium/middleware/esbuild.rb
proscenium-0.9.0-aarch64-linux lib/proscenium/middleware/esbuild.rb
proscenium-0.9.0-arm64-darwin lib/proscenium/middleware/esbuild.rb
proscenium-0.9.0-x86_64-darwin lib/proscenium/middleware/esbuild.rb
proscenium-0.8.2-x86_64-linux lib/proscenium/middleware/esbuild.rb
proscenium-0.8.2-aarch64-linux lib/proscenium/middleware/esbuild.rb
proscenium-0.8.2-arm64-darwin lib/proscenium/middleware/esbuild.rb
proscenium-0.8.2-x86_64-darwin lib/proscenium/middleware/esbuild.rb
proscenium-0.8.0-aarch64-linux lib/proscenium/middleware/esbuild.rb
proscenium-0.8.0-arm64-darwin lib/proscenium/middleware/esbuild.rb
proscenium-0.8.0-x86_64-darwin lib/proscenium/middleware/esbuild.rb
proscenium-0.7.0-x86_64-linux lib/proscenium/middleware/esbuild.rb
proscenium-0.7.0-aarch64-linux lib/proscenium/middleware/esbuild.rb
proscenium-0.7.0-arm64-darwin lib/proscenium/middleware/esbuild.rb
proscenium-0.7.0-x86_64-darwin lib/proscenium/middleware/esbuild.rb