mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 07:53:49 +08:00
DEV: Debundle plugin javascript assets and don't load if disabled (#7566)
And don't load javascript assets if plugin is disabled. * precompile auto generated plugin js assets * SPEC: remove spec test functions * remove plugin js from test_helper Co-Authored-By: Régis Hanol <regis@hanol.fr> * DEV: using equality is slightly easier to read than inequality Co-Authored-By: Régis Hanol <regis@hanol.fr> * DEV: use `select` method instead of `find_all` for readability Co-Authored-By: Régis Hanol <regis@hanol.fr>
This commit is contained in:
@ -204,6 +204,22 @@ module Discourse
|
||||
plugins.find_all { |p| !p.metadata.official? }
|
||||
end
|
||||
|
||||
def self.find_plugins(args)
|
||||
plugins.select do |plugin|
|
||||
next if args[:include_official] == false && plugin.metadata.official?
|
||||
next if args[:include_unofficial] == false && !plugin.metadata.official?
|
||||
next if args[:include_disabled] == false && !plugin.enabled?
|
||||
|
||||
true
|
||||
end
|
||||
end
|
||||
|
||||
def self.find_plugin_js_assets(args)
|
||||
self.find_plugins(args).find_all do |plugin|
|
||||
plugin.js_asset_exists?
|
||||
end.map { |plugin| "plugins/#{plugin.asset_name}" }
|
||||
end
|
||||
|
||||
def self.assets_digest
|
||||
@assets_digest ||= begin
|
||||
digest = Digest::MD5.hexdigest(ActionView::Base.assets_manifest.assets.values.sort.join)
|
||||
|
Reference in New Issue
Block a user