Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-26 02:50:28 +01:00
Revert "DEV: add new sprockets directive to require discourse folders" (#111)
Dieser Commit ist enthalten in:
Ursprung
edbba891f6
Commit
ca125a2a8a
8 geänderte Dateien mit 69 neuen und 83 gelöschten Zeilen
|
@ -1,4 +1,43 @@
|
||||||
//= require_tree_discourse discourse/app/lib
|
//= require discourse/app/lib/autocomplete
|
||||||
|
//= require discourse/app/lib/utilities
|
||||||
|
//= require discourse/app/lib/offset-calculator
|
||||||
|
//= require discourse/app/lib/lock-on
|
||||||
|
//= require discourse/app/lib/text-direction
|
||||||
|
//= require discourse/app/lib/to-markdown
|
||||||
|
//= require discourse/app/lib/load-script
|
||||||
|
//= require discourse/app/lib/url
|
||||||
|
//= require discourse/app/lib/ajax
|
||||||
|
//= require discourse/app/lib/ajax-error
|
||||||
|
//= require discourse/app/lib/page-visible
|
||||||
|
//= require discourse/app/lib/logout
|
||||||
|
//= require discourse/app/lib/render-tag
|
||||||
|
//= require discourse/app/lib/notification-levels
|
||||||
|
//= require discourse/app/lib/computed
|
||||||
|
//= require discourse/app/lib/user-search
|
||||||
|
//= require discourse/app/lib/text
|
||||||
|
//= require discourse/app/lib/formatter
|
||||||
|
//= require discourse/app/lib/quote
|
||||||
|
//= require discourse/app/lib/link-mentions
|
||||||
|
//= require discourse/app/lib/link-hashtags
|
||||||
|
//= require discourse/app/lib/category-hashtags
|
||||||
|
//= require discourse/app/lib/tag-hashtags
|
||||||
|
//= require discourse/app/lib/uploads
|
||||||
|
//= require discourse/app/lib/category-tag-search
|
||||||
|
//= require discourse/app/lib/intercept-click
|
||||||
|
//= require discourse/app/lib/show-modal
|
||||||
|
//= require discourse/app/lib/key-value-store
|
||||||
|
//= require discourse/app/lib/settings
|
||||||
|
//= require discourse/app/lib/user-presence
|
||||||
|
//= require discourse/app/lib/hash
|
||||||
|
//= require discourse/app/lib/bookmark
|
||||||
|
//= require discourse/app/lib/put-cursor-at-end
|
||||||
|
//= require discourse/app/lib/safari-hacks
|
||||||
|
//= require discourse/app/lib/preload-store
|
||||||
|
//= require discourse/app/lib/topic-fancy-title
|
||||||
|
//= require discourse/app/lib/cookie
|
||||||
|
//= require discourse/app/lib/public-js-versions
|
||||||
|
//= require discourse/app/lib/load-oneboxes
|
||||||
|
//= require discourse/app/lib/highlight-syntax
|
||||||
|
|
||||||
//= require discourse/app/mixins/singleton
|
//= require discourse/app/mixins/singleton
|
||||||
//= require discourse/app/mixins/upload
|
//= require discourse/app/mixins/upload
|
||||||
|
@ -7,7 +46,35 @@
|
||||||
|
|
||||||
//= require message-bus
|
//= require message-bus
|
||||||
|
|
||||||
//= require_tree_discourse discourse/app/models
|
//= require discourse/app/models/login-method
|
||||||
|
//= require discourse/app/models/permission-type
|
||||||
|
//= require discourse/app/models/archetype
|
||||||
|
//= require discourse/app/models/rest
|
||||||
|
//= require discourse/app/models/site
|
||||||
|
//= require discourse/app/models/category
|
||||||
|
//= require discourse/app/models/session
|
||||||
|
//= require discourse/app/models/post-action-type
|
||||||
|
//= require discourse/app/models/trust-level
|
||||||
|
//= require discourse/app/models/store
|
||||||
|
//= require discourse/app/models/result-set
|
||||||
|
//= require discourse/app/models/bookmark
|
||||||
|
//= require discourse/app/models/user
|
||||||
|
//= require discourse/app/models/user-stream
|
||||||
|
//= require discourse/app/models/user-action
|
||||||
|
//= require discourse/app/models/user-action-group
|
||||||
|
//= require discourse/app/models/user-posts-stream
|
||||||
|
//= require discourse/app/models/badge
|
||||||
|
//= require discourse/app/models/badge-grouping
|
||||||
|
//= require discourse/app/models/user-badge
|
||||||
|
//= require discourse/app/models/topic
|
||||||
|
//= require discourse/app/models/action-summary
|
||||||
|
//= require discourse/app/models/user-action-stat
|
||||||
|
//= require discourse/app/models/user-drafts-stream
|
||||||
|
//= require discourse/app/models/user-draft
|
||||||
|
//= require discourse/app/models/composer
|
||||||
|
//= require discourse/app/models/draft
|
||||||
|
//= require discourse/app/models/group
|
||||||
|
//= require discourse/app/models/group-history
|
||||||
|
|
||||||
//= require discourse/app/helpers/category-link
|
//= require discourse/app/helpers/category-link
|
||||||
//= require discourse/app/helpers/user-avatar
|
//= require discourse/app/helpers/user-avatar
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
module CustomWizard
|
|
||||||
class SprocketsFileNotFound < StandardError; end
|
|
||||||
class SprocketsEmptyPath < StandardError; end
|
|
||||||
end
|
|
15
plugin.rb
15
plugin.rb
|
@ -74,7 +74,6 @@ after_initialize do
|
||||||
../lib/custom_wizard/api/endpoint.rb
|
../lib/custom_wizard/api/endpoint.rb
|
||||||
../lib/custom_wizard/api/log_entry.rb
|
../lib/custom_wizard/api/log_entry.rb
|
||||||
../lib/custom_wizard/liquid_extensions/first_non_empty.rb
|
../lib/custom_wizard/liquid_extensions/first_non_empty.rb
|
||||||
../lib/custom_wizard/exceptions/exceptions.rb
|
|
||||||
../serializers/custom_wizard/api/authorization_serializer.rb
|
../serializers/custom_wizard/api/authorization_serializer.rb
|
||||||
../serializers/custom_wizard/api/basic_endpoint_serializer.rb
|
../serializers/custom_wizard/api/basic_endpoint_serializer.rb
|
||||||
../serializers/custom_wizard/api/endpoint_serializer.rb
|
../serializers/custom_wizard/api/endpoint_serializer.rb
|
||||||
|
@ -97,20 +96,6 @@ after_initialize do
|
||||||
load File.expand_path(path, __FILE__)
|
load File.expand_path(path, __FILE__)
|
||||||
end
|
end
|
||||||
|
|
||||||
add_to_class(::Sprockets::DirectiveProcessor, :process_require_tree_discourse_directive) do |path = "."|
|
|
||||||
raise CustomWizard::SprocketsEmptyPath, "path cannot be empty" if path == "."
|
|
||||||
|
|
||||||
discourse_asset_path = "#{Rails.root}/app/assets/javascripts/"
|
|
||||||
path = File.expand_path(path, discourse_asset_path)
|
|
||||||
stat = @environment.stat(path)
|
|
||||||
|
|
||||||
if stat && stat.directory?
|
|
||||||
require_paths(*@environment.stat_sorted_tree_with_dependencies(path))
|
|
||||||
else
|
|
||||||
raise CustomWizard::SprocketsFileNotFound, "#{path} not found in discourse core"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
Liquid::Template.register_filter(::CustomWizard::LiquidFilter::FirstNonEmpty)
|
Liquid::Template.register_filter(::CustomWizard::LiquidFilter::FirstNonEmpty)
|
||||||
|
|
||||||
add_class_method(:wizard, :user_requires_completion?) do |user|
|
add_class_method(:wizard, :user_requires_completion?) do |user|
|
||||||
|
|
|
@ -1,55 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require_relative '../plugin_helper'
|
|
||||||
|
|
||||||
describe "Sprockets: require_tree_discourse directive" do
|
|
||||||
let(:discourse_asset_path) {
|
|
||||||
"#{Rails.root}/app/assets/javascripts/"
|
|
||||||
}
|
|
||||||
let(:fixture_asset_path) {
|
|
||||||
"#{Rails.root}/plugins/discourse-custom-wizard/spec/fixtures/sprockets/"
|
|
||||||
}
|
|
||||||
let(:test_file_contents) {
|
|
||||||
"console.log('hello')"
|
|
||||||
}
|
|
||||||
let(:resolved_file_contents) {
|
|
||||||
File.read(
|
|
||||||
"#{Rails.root}/plugins/discourse-custom-wizard/spec/fixtures/sprockets/resolved_js_file_contents.txt"
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
before do
|
|
||||||
@env ||= Sprockets::Environment.new
|
|
||||||
discourse_asset_path = "#{Rails.root}/app/assets/javascripts/"
|
|
||||||
fixture_asset_path = "#{Rails.root}/plugins/discourse-custom-wizard/spec/fixtures/sprockets/"
|
|
||||||
@env.append_path(discourse_asset_path)
|
|
||||||
@env.append_path(fixture_asset_path)
|
|
||||||
@env.cache = {}
|
|
||||||
end
|
|
||||||
|
|
||||||
def create_tmp_folder_and_run(path, file_contents, &block)
|
|
||||||
dir = File.dirname(path)
|
|
||||||
unless File.directory?(dir)
|
|
||||||
FileUtils.mkdir_p(dir)
|
|
||||||
end
|
|
||||||
|
|
||||||
File.new(path, 'w')
|
|
||||||
File.write(path, file_contents)
|
|
||||||
yield block if block_given?
|
|
||||||
FileUtils.rm_r(dir)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "includes assets from the discourse core" do
|
|
||||||
create_tmp_folder_and_run("#{discourse_asset_path}/sptest/test.js", test_file_contents) do
|
|
||||||
expect(@env.find_asset("require_tree_discourse_test.js").to_s).to eq(resolved_file_contents)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
it "throws ArgumentError if path is empty" do
|
|
||||||
expect { @env.find_asset("require_tree_discourse_empty.js") }.to raise_error(CustomWizard::SprocketsEmptyPath).with_message("path cannot be empty")
|
|
||||||
end
|
|
||||||
|
|
||||||
it "throws ArgumentError if path is non non-existent" do
|
|
||||||
expect { @env.find_asset("require_tree_discourse_non_existant.js") }.to raise_error(CustomWizard::SprocketsFileNotFound)
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1 +0,0 @@
|
||||||
//= require_tree_discourse
|
|
|
@ -1 +0,0 @@
|
||||||
//= require_tree_discourse dummy_path
|
|
|
@ -1 +0,0 @@
|
||||||
//= require_tree_discourse sptest
|
|
|
@ -1,3 +0,0 @@
|
||||||
eval("define(\"sptest/test\", [], function () {\n \"use strict\";\n\n console.log('hello');\n});" + "\n//# sourceURL=sptest/test");
|
|
||||||
;
|
|
||||||
eval("" + "\n//# sourceURL=require_tree_discourse_test");
|
|
Laden …
In neuem Issue referenzieren