mirror of
https://github.com/mastodon/mastodon.git
synced 2025-05-12 04:31:11 +00:00
29 lines
838 B
Ruby
29 lines
838 B
Ruby
# frozen_string_literal: true
|
|
|
|
module PremailerBundledAssetStrategy
|
|
def load(url)
|
|
if ViteRuby.instance.dev_server_running?
|
|
# Request from the dev server
|
|
return unless url.start_with?("/#{ViteRuby.config.public_output_dir}/")
|
|
|
|
headers = {}
|
|
# Vite dev server wants this header for CSS files, otherwise it will respond with a JS file that inserts the CSS (to support hot reloading)
|
|
headers['Accept'] = 'text/css' if url.end_with?('.scss', '.css')
|
|
|
|
Net::HTTP.get(
|
|
URI("#{ViteRuby.config.origin}#{url}"),
|
|
headers
|
|
).presence
|
|
else
|
|
path = Rails.public_path.join(url.delete_prefix('/'))
|
|
return unless path.exist?
|
|
|
|
path.read
|
|
end
|
|
rescue ViteRuby::MissingEntrypointError
|
|
# If the path is not in the manifest, ignore it
|
|
end
|
|
|
|
module_function :load
|
|
end
|