From ca125a2a8a1ddbf368e25fdd2f00a7c6bbf2ea23 Mon Sep 17 00:00:00 2001 From: Faizaan Gagan Date: Wed, 12 May 2021 02:58:12 +0530 Subject: [PATCH] Revert "DEV: add new sprockets directive to require discourse folders" (#111) --- assets/javascripts/wizard-custom.js | 71 ++++++++++++++++++- lib/custom_wizard/exceptions/exceptions.rb | 5 -- plugin.rb | 15 ---- spec/extensions/sprockets_directive_spec.rb | 55 -------------- .../sprockets/require_tree_discourse_empty.js | 1 - .../require_tree_discourse_non_existant.js | 1 - .../sprockets/require_tree_discourse_test.js | 1 - .../sprockets/resolved_js_file_contents.txt | 3 - 8 files changed, 69 insertions(+), 83 deletions(-) delete mode 100644 lib/custom_wizard/exceptions/exceptions.rb delete mode 100644 spec/extensions/sprockets_directive_spec.rb delete mode 100644 spec/fixtures/sprockets/require_tree_discourse_empty.js delete mode 100644 spec/fixtures/sprockets/require_tree_discourse_non_existant.js delete mode 100644 spec/fixtures/sprockets/require_tree_discourse_test.js delete mode 100644 spec/fixtures/sprockets/resolved_js_file_contents.txt diff --git a/assets/javascripts/wizard-custom.js b/assets/javascripts/wizard-custom.js index 8b30ad94..5d18328f 100644 --- a/assets/javascripts/wizard-custom.js +++ b/assets/javascripts/wizard-custom.js @@ -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/upload @@ -7,7 +46,35 @@ //= 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/user-avatar diff --git a/lib/custom_wizard/exceptions/exceptions.rb b/lib/custom_wizard/exceptions/exceptions.rb deleted file mode 100644 index b5014d27..00000000 --- a/lib/custom_wizard/exceptions/exceptions.rb +++ /dev/null @@ -1,5 +0,0 @@ -# frozen_string_literal: true -module CustomWizard - class SprocketsFileNotFound < StandardError; end - class SprocketsEmptyPath < StandardError; end -end diff --git a/plugin.rb b/plugin.rb index 1f917493..e3d32129 100644 --- a/plugin.rb +++ b/plugin.rb @@ -74,7 +74,6 @@ after_initialize do ../lib/custom_wizard/api/endpoint.rb ../lib/custom_wizard/api/log_entry.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/basic_endpoint_serializer.rb ../serializers/custom_wizard/api/endpoint_serializer.rb @@ -97,20 +96,6 @@ after_initialize do load File.expand_path(path, __FILE__) 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) add_class_method(:wizard, :user_requires_completion?) do |user| diff --git a/spec/extensions/sprockets_directive_spec.rb b/spec/extensions/sprockets_directive_spec.rb deleted file mode 100644 index 5a074040..00000000 --- a/spec/extensions/sprockets_directive_spec.rb +++ /dev/null @@ -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 diff --git a/spec/fixtures/sprockets/require_tree_discourse_empty.js b/spec/fixtures/sprockets/require_tree_discourse_empty.js deleted file mode 100644 index df264ec5..00000000 --- a/spec/fixtures/sprockets/require_tree_discourse_empty.js +++ /dev/null @@ -1 +0,0 @@ -//= require_tree_discourse \ No newline at end of file diff --git a/spec/fixtures/sprockets/require_tree_discourse_non_existant.js b/spec/fixtures/sprockets/require_tree_discourse_non_existant.js deleted file mode 100644 index d9b2be76..00000000 --- a/spec/fixtures/sprockets/require_tree_discourse_non_existant.js +++ /dev/null @@ -1 +0,0 @@ -//= require_tree_discourse dummy_path \ No newline at end of file diff --git a/spec/fixtures/sprockets/require_tree_discourse_test.js b/spec/fixtures/sprockets/require_tree_discourse_test.js deleted file mode 100644 index a86aa0d7..00000000 --- a/spec/fixtures/sprockets/require_tree_discourse_test.js +++ /dev/null @@ -1 +0,0 @@ -//= require_tree_discourse sptest \ No newline at end of file diff --git a/spec/fixtures/sprockets/resolved_js_file_contents.txt b/spec/fixtures/sprockets/resolved_js_file_contents.txt deleted file mode 100644 index 53e2cfa2..00000000 --- a/spec/fixtures/sprockets/resolved_js_file_contents.txt +++ /dev/null @@ -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");