From 51ab5582c1a31525d82029253a8f7f26d10061e7 Mon Sep 17 00:00:00 2001 From: r3cha Date: Sun, 18 Jun 2023 02:06:21 +0100 Subject: [PATCH 1/2] add propshaft if sprockets not present --- app/views/layouts/super/application.html.erb | 4 ++-- lib/super/assets.rb | 21 ++++++++++++++++++++ super.gemspec | 1 + 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/app/views/layouts/super/application.html.erb b/app/views/layouts/super/application.html.erb index 6cfa10b5..222e4926 100644 --- a/app/views/layouts/super/application.html.erb +++ b/app/views/layouts/super/application.html.erb @@ -10,7 +10,7 @@ <% Super.configuration.stylesheets.each do |stylesheet| %> - <% if stylesheet.handler.sprockets? %> + <% if stylesheet.handler.sprockets? || stylesheet.handler.propshaft? %> <%= stylesheet_link_tag(stylesheet.path, **stylesheet.arguments) %> <% elsif stylesheet.handler.webpacker? %> <%= stylesheet_pack_tag(stylesheet.path, **stylesheet.arguments) %> @@ -18,7 +18,7 @@ <% end %> <% Super.configuration.javascripts.each do |javascript| %> - <% if javascript.handler.sprockets? %> + <% if javascript.handler.sprockets? || javascript.handler.propshaft? %> <%= javascript_include_tag(javascript.path) %> <% elsif javascript.handler.webpacker? %> <%= javascript_pack_tag(javascript.path) %> diff --git a/lib/super/assets.rb b/lib/super/assets.rb index 2b248325..22abc573 100644 --- a/lib/super/assets.rb +++ b/lib/super/assets.rb @@ -11,6 +11,10 @@ def self.sprockets(path, **arguments) Asset.new(handler: Handler.sprockets, path: path, arguments: arguments) end + def self.propshaft(path, **arguments) + Asset.new(handler: Handler.propshaft, path: path, arguments: arguments) + end + def self.auto(path, **arguments) Asset.new(handler: Handler.auto, path: path, arguments: arguments) end @@ -88,6 +92,7 @@ def self.dist(gem_name, package_name) class Handler class << self def auto + return propshaft sprockets_spec = gem_specification("sprockets") if sprockets_spec major = sprockets_spec.version.segments.first @@ -96,6 +101,14 @@ def auto end end + propshaft_spec = gem_specification("propshaft") + if propshaft_spec + minor = propshaft_spec.version.segments.second + if minor >= 7 + return propshaft + end + end + webpacker_spec = gem_specification("webpacker") if webpacker_spec major = webpacker_spec.version.segments.first @@ -124,6 +137,10 @@ def self.webpacker @webpacker ||= new(:webpacker) end + def self.propshaft + @propshaft ||= new(:propshaft) + end + def self.none @none ||= new(:none) end @@ -140,6 +157,10 @@ def sprockets? @asset_handler == :sprockets end + def propshaft? + @asset_handler == :propshaft + end + def webpacker? @asset_handler == :webpacker end diff --git a/super.gemspec b/super.gemspec index a30a4e78..e0e9ae0b 100644 --- a/super.gemspec +++ b/super.gemspec @@ -41,6 +41,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency "webdrivers", "~> 4.3" spec.add_development_dependency "puma", "~> 4.3", ">= 4.3.6" spec.add_development_dependency "sqlite3" + # spec.add_development_dependency "propshaft" spec.add_development_dependency "pry-rails" spec.add_development_dependency "mocha" spec.add_development_dependency "i18n-debug" From 9002de87ec369a9309dcdab4348537e9dc5d5666 Mon Sep 17 00:00:00 2001 From: r3cha Date: Sun, 18 Jun 2023 02:17:59 +0100 Subject: [PATCH 2/2] fix --- lib/super/assets.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/super/assets.rb b/lib/super/assets.rb index 22abc573..a7ea1ed7 100644 --- a/lib/super/assets.rb +++ b/lib/super/assets.rb @@ -92,7 +92,6 @@ def self.dist(gem_name, package_name) class Handler class << self def auto - return propshaft sprockets_spec = gem_specification("sprockets") if sprockets_spec major = sprockets_spec.version.segments.first