20
									
								
								lib/webpacker/helper_extensions.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								lib/webpacker/helper_extensions.rb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Webpacker::HelperExtensions
 | 
			
		||||
  def javascript_pack_tag(name, **options)
 | 
			
		||||
    src, integrity = current_webpacker_instance.manifest.lookup!(name, type: :javascript, with_integrity: true)
 | 
			
		||||
    javascript_include_tag(src, options.merge(integrity: integrity))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def stylesheet_pack_tag(name, **options)
 | 
			
		||||
    src, integrity = current_webpacker_instance.manifest.lookup!(name, type: :stylesheet, with_integrity: true)
 | 
			
		||||
    stylesheet_link_tag(src, options.merge(integrity: integrity))
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def preload_pack_asset(name, **options)
 | 
			
		||||
    src, integrity = current_webpacker_instance.manifest.lookup!(name, with_integrity: true)
 | 
			
		||||
    preload_link_tag(src, options.merge(integrity: integrity))
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
Webpacker::Helper.prepend(Webpacker::HelperExtensions)
 | 
			
		||||
							
								
								
									
										17
									
								
								lib/webpacker/manifest_extensions.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								lib/webpacker/manifest_extensions.rb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
module Webpacker::ManifestExtensions
 | 
			
		||||
  def lookup(name, pack_type = {})
 | 
			
		||||
    asset = super
 | 
			
		||||
 | 
			
		||||
    if pack_type[:with_integrity] && asset.respond_to?(:dig)
 | 
			
		||||
      [asset.dig('src'), asset.dig('integrity')]
 | 
			
		||||
    elsif asset.respond_to?(:dig)
 | 
			
		||||
      asset.dig('src')
 | 
			
		||||
    else
 | 
			
		||||
      asset
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
Webpacker::Manifest.prepend(Webpacker::ManifestExtensions)
 | 
			
		||||
		Reference in New Issue
	
	Block a user