From a6435f65e3941840dcb56b3730746280a8406d1a Mon Sep 17 00:00:00 2001 From: evazion Date: Tue, 23 Feb 2021 23:56:07 -0600 Subject: [PATCH] js: workaround webpack bug with exporting Danbooru global. Workaround issue described in https://github.com/danbooru/danbooru/commit/bcca0ca53ace3dc8766e86ad54380f212aba66fe#commitcomment-47338194 --- app/javascript/packs/application.js | 67 ++++++++++++++++++++--------- app/views/layouts/default.html.erb | 11 ----- 2 files changed, 46 insertions(+), 32 deletions(-) diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js index c70d4b29d..49e120cad 100644 --- a/app/javascript/packs/application.js +++ b/app/javascript/packs/application.js @@ -13,7 +13,7 @@ require('jquery-hotkeys'); // should start looking for nodejs replacements importAll(require.context('../vendor', true, /\.js$/)); -require('jquery'); +import jQuery from 'jquery'; require("jquery-ui/ui/widgets/autocomplete"); require("jquery-ui/ui/widgets/button"); require("jquery-ui/ui/widgets/dialog"); @@ -32,23 +32,48 @@ importAll(require.context('../src/styles', true, /\.s?css(?:\.erb)?$/)); importAll(require.context('../../components', true, /\.js(\.erb)?$/)); importAll(require.context('../../components', true, /\.s?css(?:\.erb)?$/)); -export { default as jQuery } from "jquery"; -export { default as Autocomplete } from '../src/javascripts/autocomplete.js.erb'; -export { default as Blacklist } from '../src/javascripts/blacklists.js'; -export { default as CommentComponent } from "../../components/comment_component/comment_component.js"; -export { default as CurrentUser } from '../src/javascripts/current_user.js'; -export { default as Dtext } from '../src/javascripts/dtext.js'; -export { default as IqdbQuery } from '../src/javascripts/iqdb_queries.js'; -export { default as Note } from '../src/javascripts/notes.js'; -export { default as PopupMenuComponent } from "../../components/popup_menu_component/popup_menu_component.js"; -export { default as Post } from '../src/javascripts/posts.js.erb'; -export { default as PostModeMenu } from '../src/javascripts/post_mode_menu.js'; -export { default as PostTooltip } from '../src/javascripts/post_tooltips.js'; -export { default as PostVersion } from '../src/javascripts/post_version.js'; -export { default as RelatedTag } from '../src/javascripts/related_tag.js'; -export { default as Shortcuts } from '../src/javascripts/shortcuts.js'; -export { default as TagCounter } from '../src/javascripts/tag_counter.js'; -export { default as Upload } from '../src/javascripts/uploads.js.erb'; -export { default as UserTooltip } from '../src/javascripts/user_tooltips.js'; -export { default as Utility } from '../src/javascripts/utility.js'; -export { default as Ugoira } from '../src/javascripts/ugoira.js'; +import Autocomplete from "../src/javascripts/autocomplete.js.erb"; +import Blacklist from "../src/javascripts/blacklists.js"; +import CommentComponent from "../../components/comment_component/comment_component.js"; +import CurrentUser from "../src/javascripts/current_user.js"; +import Dtext from "../src/javascripts/dtext.js"; +import IqdbQuery from "../src/javascripts/iqdb_queries.js"; +import Note from "../src/javascripts/notes.js"; +import PopupMenuComponent from "../../components/popup_menu_component/popup_menu_component.js"; +import Post from "../src/javascripts/posts.js.erb"; +import PostModeMenu from "../src/javascripts/post_mode_menu.js"; +import PostTooltip from "../src/javascripts/post_tooltips.js"; +import RelatedTag from "../src/javascripts/related_tag.js"; +import Shortcuts from "../src/javascripts/shortcuts.js"; +import TagCounter from "../src/javascripts/tag_counter.js"; +import Upload from "../src/javascripts/uploads.js.erb"; +import UserTooltip from "../src/javascripts/user_tooltips.js"; +import Utility from "../src/javascripts/utility.js"; +import Ugoira from "../src/javascripts/ugoira.js" + +let Danbooru = {}; +Danbooru.Autocomplete = Autocomplete; +Danbooru.Blacklist = Blacklist; +Danbooru.CommentComponent = CommentComponent; +Danbooru.CurrentUser = CurrentUser; +Danbooru.Dtext = Dtext; +Danbooru.IqdbQuery = IqdbQuery; +Danbooru.Note = Note; +Danbooru.PopupMenuComponent = PopupMenuComponent; +Danbooru.Post = Post; +Danbooru.PostModeMenu = PostModeMenu; +Danbooru.PostTooltip = PostTooltip; +Danbooru.RelatedTag = RelatedTag; +Danbooru.Shortcuts = Shortcuts; +Danbooru.TagCounter = TagCounter; +Danbooru.Upload = Upload; +Danbooru.UserTooltip = UserTooltip; +Danbooru.Utility = Utility; +Danbooru.Ugoira = Ugoira; + +Danbooru.notice = Utility.notice; +Danbooru.error = Utility.error; + +window.$ = jQuery; +window.jQuery = jQuery; +window.Danbooru = Danbooru; diff --git a/app/views/layouts/default.html.erb b/app/views/layouts/default.html.erb index cc4cb1f3a..ba736f753 100644 --- a/app/views/layouts/default.html.erb +++ b/app/views/layouts/default.html.erb @@ -96,17 +96,6 @@ - - <%= render "static/footer" %> <% end %>