Skip to content

Commit 4e7eca7

Browse files
committed
Move explicit dependency on Sprockets::Rails out of resolve_asset_paths
All this does is transfer that dependency into the new `rescuable_asset_error?` method. But this preparatory refactor sets us up to actually decouple the dependency without overcomplicating `Importmap::Map#resolve_asset_paths`.
1 parent 8d66a09 commit 4e7eca7

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

lib/importmap/map.rb

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,21 @@ def clear_cache
8787
@cached_preloaded_module_paths = nil
8888
end
8989

90+
def rescuable_asset_error?(error)
91+
error.is_a?(Sprockets::Rails::Helper::AssetNotFound)
92+
end
93+
9094
def resolve_asset_paths(paths, resolver:)
9195
paths.transform_values do |mapping|
9296
begin
9397
resolver.asset_path(mapping.path)
94-
rescue Sprockets::Rails::Helper::AssetNotFound
95-
Rails.logger.warn "Importmap skipped missing path: #{mapping.path}"
96-
nil
98+
rescue => e
99+
if rescuable_asset_error?(e)
100+
Rails.logger.warn "Importmap skipped missing path: #{mapping.path}"
101+
nil
102+
else
103+
raise e
104+
end
97105
end
98106
end.compact
99107
end

0 commit comments

Comments
 (0)