Class: Jekyll::Assets::Map::JavaScript

Inherits:
Sprockets::UglifierCompressor
  • Object
show all
Defined in:
lib/jekyll/assets/map/javascript.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.register_on(instance) ⇒ Object



28
29
30
31
32
# File 'lib/jekyll/assets/map/javascript.rb', line 28

def self.register_on(instance)
  content_type = "application/javascript"
  instance.register_compressor(content_type,
    :source_map, self)
end

Instance Method Details

#call(input) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/jekyll/assets/map/javascript.rb', line 11

def call(input)
  out = super(input)
  env = input[:environment]
  asset = env.find_asset!(input[:filename], pipeline: :source)
  path = asset.filename.sub(env.jekyll.in_source_dir + "/", "")
  url = Map.map_path(asset: asset, env: env)
  url = env.prefix_url(url)

  out.update({
    data: <<~TXT
      #{input[:data].strip}
      //# sourceMappingURL=#{url}
      //# sourceURL=#{path}
    TXT
  })
end