mirror of
https://github.com/discourse/discourse.git
synced 2025-05-23 17:01:09 +08:00
DEV: Remove sprockets from plugin 'extra js' pipeline (#25502)
JS assets added by plugins via `register_asset` will be outside the `assets/javascripts` directory, and are therefore exempt from being transpiled. That means that there isn't really any need to run them through DiscourseJsProcessor. Instead, we can just concatenate them together, and avoid the need for all the sprockets-wrangling. This commit also takes the opportunity to clean up a number of plugin-asset-related codepaths which are no longer required (e.g. globs, handlebars)
This commit is contained in:
@ -17,10 +17,6 @@ class DiscourseJsProcessor
|
||||
"proposal-export-namespace-from",
|
||||
]
|
||||
|
||||
def self.plugin_transpile_paths
|
||||
@@plugin_transpile_paths ||= Set.new
|
||||
end
|
||||
|
||||
def self.ember_cli?(filename)
|
||||
filename.include?("/app/assets/javascripts/discourse/dist/")
|
||||
end
|
||||
@ -33,19 +29,6 @@ class DiscourseJsProcessor
|
||||
|
||||
data = transpile(data, root_path, logical_path) if should_transpile?(input[:filename])
|
||||
|
||||
# add sourceURL until we can do proper source maps
|
||||
if !Rails.env.production? && !ember_cli?(input[:filename])
|
||||
plugin_name = root_path[%r{/plugins/([\w-]+)/assets}, 1]
|
||||
source_url =
|
||||
if plugin_name
|
||||
"plugins/#{plugin_name}/assets/javascripts/#{logical_path}"
|
||||
else
|
||||
logical_path
|
||||
end
|
||||
|
||||
data = "eval(#{data.inspect} + \"\\n//# sourceURL=#{source_url}\");\n"
|
||||
end
|
||||
|
||||
{ data: data }
|
||||
end
|
||||
|
||||
@ -74,22 +57,6 @@ class DiscourseJsProcessor
|
||||
return false if relative_path.start_with?("#{js_root}/locales/")
|
||||
return false if relative_path.start_with?("#{js_root}/plugins/")
|
||||
|
||||
if %w[
|
||||
start-discourse
|
||||
onpopstate-handler
|
||||
google-tag-manager
|
||||
google-universal-analytics-v3
|
||||
google-universal-analytics-v4
|
||||
activate-account
|
||||
auto-redirect
|
||||
embed-application
|
||||
app-boot
|
||||
].any? { |f| relative_path == "#{js_root}/#{f}.js" }
|
||||
return true
|
||||
end
|
||||
|
||||
return true if plugin_transpile_paths.any? { |prefix| relative_path.start_with?(prefix) }
|
||||
|
||||
!!(relative_path =~ %r{^#{js_root}/[^/]+/} || relative_path =~ %r{^#{test_root}/[^/]+/})
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user