16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/wabi/generators/vendor_generator.rb', line 16
def vendor
roots = resolve_roots
if roots.empty?
say " No jsDelivr +esm pins found in config/importmap.rb (nothing to vendor).", :yellow
return
end
result = Wabi::ZagVendor.call(roots, fetcher: method(:http_get))
result.files.each do |pkg, content|
target = File.join(destination_root, "vendor/javascript", "#{pkg}.js")
FileUtils.mkdir_p(File.dirname(target))
File.write(target, content)
say " vendor vendor/javascript/#{pkg}.js", :green
end
rewrite_importmap(result.files.keys)
say "\n Vendored #{result.files.size} package(s). config/importmap.rb now points at local copies.", :green
end
|