From a95826f60cea23cf16e371fbb99b71490424150e Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Mon, 1 Jun 2020 16:33:43 -0400 Subject: [PATCH] Remove discourse constants (#9958) * DEV: `Discourse.baseUri` does not exist This never could have worked - should have been `Discourse.BaseUri` if anything. * DEV: Remove Discourse.Environment * DEV: Remove `Discourse.disableMissingIconWarning` * DEV: A bunch more missing environment checks --- .../admin/components/admin-report.js | 6 ++--- .../admin/components/themes-list-item.js | 4 ++-- .../addon/config/environment.js | 22 +++++++++++++++---- .../addon/lib/icon-library.js | 15 +++++++++++-- .../app/components/composer-editor.js | 4 ++-- .../app/components/composer-title.js | 4 ++-- .../discourse/app/components/d-editor.js | 4 ++-- .../discourse/app/components/emoji-picker.js | 4 ++-- .../app/components/topic-timer-info.js | 4 ++-- .../discourse/app/controllers/composer.js | 6 ++--- .../app/initializers/live-development.js | 4 ++-- .../discourse/app/initializers/message-bus.js | 3 ++- .../subscribe-user-notifications.js | 4 ++-- .../discourse/app/lib/click-track.js | 4 ++-- .../javascripts/discourse/app/lib/eyeline.js | 4 ++-- .../javascripts/discourse/app/lib/mobile.js | 4 ++-- .../discourse/app/mapping-router.js | 4 ++-- .../discourse/app/mixins/scroll-top.js | 4 ++-- .../javascripts/discourse/app/models/site.js | 5 ----- .../pre-initializers/discourse-bootstrap.js | 10 ++++++--- .../discourse/app/routes/topic-from-params.js | 4 ++-- .../javascripts/discourse/app/widgets/glue.js | 4 ++-- .../discourse/app/widgets/post-menu.js | 4 ++-- .../discourse/app/widgets/widget.js | 4 ++-- .../addon/components/icon-picker.js | 15 ++++++++----- app/assets/javascripts/wizard/router.js | 4 ++-- 26 files changed, 92 insertions(+), 62 deletions(-) diff --git a/app/assets/javascripts/admin/components/admin-report.js b/app/assets/javascripts/admin/components/admin-report.js index b9ce9a6fdff..bacb6177e1d 100644 --- a/app/assets/javascripts/admin/components/admin-report.js +++ b/app/assets/javascripts/admin/components/admin-report.js @@ -9,8 +9,8 @@ import ReportLoader from "discourse/lib/reports-loader"; import { exportEntity } from "discourse/lib/export-csv"; import { outputExportResult } from "discourse/lib/export-result"; import Report, { SCHEMA_VERSION } from "admin/models/report"; -import ENV from "discourse-common/config/environment"; import { isPresent } from "@ember/utils"; +import { isTesting } from "discourse-common/config/environment"; const TABLE_OPTIONS = { perPage: 8, @@ -167,8 +167,8 @@ export default Component.extend({ let reportKey = "reports:"; reportKey += [ dataSourceName, - ENV.environment === "test" ? "start" : startDate.replace(/-/g, ""), - ENV.environment === "test" ? "end" : endDate.replace(/-/g, ""), + isTesting() ? "start" : startDate.replace(/-/g, ""), + isTesting() ? "end" : endDate.replace(/-/g, ""), "[:prev_period]", this.get("reportOptions.table.limit"), // Convert all filter values to strings to ensure unique serialization diff --git a/app/assets/javascripts/admin/components/themes-list-item.js b/app/assets/javascripts/admin/components/themes-list-item.js index c292b80f993..56db74e7e8e 100644 --- a/app/assets/javascripts/admin/components/themes-list-item.js +++ b/app/assets/javascripts/admin/components/themes-list-item.js @@ -4,7 +4,7 @@ import Component from "@ember/component"; import discourseComputed, { observes } from "discourse-common/utils/decorators"; import { iconHTML } from "discourse-common/lib/icon-library"; import { escape } from "pretty-text/sanitizer"; -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; const MAX_COMPONENTS = 4; @@ -41,7 +41,7 @@ export default Component.extend({ animate(isInitial) { const $container = $(this.element); const $list = $(this.element.querySelector(".components-list")); - if ($list.length === 0 || ENV.environment === "test") { + if ($list.length === 0 || isTesting()) { return; } const duration = 300; diff --git a/app/assets/javascripts/discourse-common/addon/config/environment.js b/app/assets/javascripts/discourse-common/addon/config/environment.js index 8d684bf5a43..b580231ee7d 100644 --- a/app/assets/javascripts/discourse-common/addon/config/environment.js +++ b/app/assets/javascripts/discourse-common/addon/config/environment.js @@ -1,9 +1,23 @@ export const INPUT_DELAY = 250; -let environment = Ember.testing ? "test" : "development"; +let environment = "unknown"; -export function isTesting() { - return environment === "test"; +export function setEnvironment(e) { + if (isTesting()) { + environment = "testing"; + } else { + environment = e; + } } -export default { environment }; +export function isTesting() { + return Ember.testing; +} + +export function isDevelopment() { + return environment === "development"; +} + +export function isProduction() { + return environment === "production"; +} diff --git a/app/assets/javascripts/discourse-common/addon/lib/icon-library.js b/app/assets/javascripts/discourse-common/addon/lib/icon-library.js index ef60571cec3..8633701c1eb 100644 --- a/app/assets/javascripts/discourse-common/addon/lib/icon-library.js +++ b/app/assets/javascripts/discourse-common/addon/lib/icon-library.js @@ -1,10 +1,13 @@ import I18n from "I18n"; import { h } from "virtual-dom"; import attributeHook from "discourse-common/lib/attribute-hook"; +import { isDevelopment } from "discourse-common/config/environment"; const SVG_NAMESPACE = "http://www.w3.org/2000/svg"; let _renderers = []; +let warnMissingIcons = true; + const REPLACEMENTS = { "d-tracking": "bell", "d-muted": "discourse-bell-slash", @@ -45,6 +48,14 @@ export function replaceIcon(source, destination) { REPLACEMENTS[source] = destination; } +export function disableMissingIconWarning() { + warnMissingIcons = false; +} + +export function enableMissingIconWarning() { + warnMissingIcons = false; +} + export function renderIcon(renderType, id, params) { for (let i = 0; i < _renderers.length; i++) { let renderer = _renderers[i]; @@ -105,8 +116,8 @@ function iconClasses(icon, params) { function warnIfMissing(id) { if ( typeof Discourse !== "undefined" && - Discourse.Environment === "development" && - !Discourse.disableMissingIconWarning && + isDevelopment() && + warnMissingIcons && Discourse.SvgIconList && Discourse.SvgIconList.indexOf(id) === -1 ) { diff --git a/app/assets/javascripts/discourse/app/components/composer-editor.js b/app/assets/javascripts/discourse/app/components/composer-editor.js index de6fa4344ab..2eb99f44c5b 100644 --- a/app/assets/javascripts/discourse/app/components/composer-editor.js +++ b/app/assets/javascripts/discourse/app/components/composer-editor.js @@ -44,7 +44,7 @@ import { cacheShortUploadUrl, resolveAllShortUrls } from "pretty-text/upload-short-url"; -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; const REBUILD_SCROLL_MAP_EVENTS = ["composer:resized", "composer:typed-reply"]; @@ -847,7 +847,7 @@ export default Component.extend({ // need to wait a bit for the "slide down" transition of the composer later( () => this.appEvents.trigger("composer:closed"), - ENV.environment === "test" ? 0 : 400 + isTesting() ? 0 : 400 ); }); diff --git a/app/assets/javascripts/discourse/app/components/composer-title.js b/app/assets/javascripts/discourse/app/components/composer-title.js index 7ee2cb513a7..ed037bd55d7 100644 --- a/app/assets/javascripts/discourse/app/components/composer-title.js +++ b/app/assets/javascripts/discourse/app/components/composer-title.js @@ -6,7 +6,7 @@ import discourseComputed, { observes } from "discourse-common/utils/decorators"; import { load } from "pretty-text/oneboxer"; import { lookupCache } from "pretty-text/oneboxer-cache"; import { ajax } from "discourse/lib/ajax"; -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; import EmberObject from "@ember/object"; import putCursorAtEnd from "discourse/lib/put-cursor-at-end"; @@ -76,7 +76,7 @@ export default Component.extend({ return; } - if (ENV.environment === "test") { + if (isTesting()) { next(() => // not ideal but we don't want to run this in current // runloop to avoid an error in console diff --git a/app/assets/javascripts/discourse/app/components/d-editor.js b/app/assets/javascripts/discourse/app/components/d-editor.js index 184b7f93a6e..87cec774a95 100644 --- a/app/assets/javascripts/discourse/app/components/d-editor.js +++ b/app/assets/javascripts/discourse/app/components/d-editor.js @@ -28,7 +28,7 @@ import { emojiSearch, isSkinTonableEmoji } from "pretty-text/emoji"; import { emojiUrlFor } from "discourse/lib/text"; import showModal from "discourse/lib/show-modal"; import { Promise } from "rsvp"; -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; // Our head can be a static string or a function that returns a string // based on input (like for numbered lists). @@ -378,7 +378,7 @@ export default Component.extend({ } // Debouncing in test mode is complicated - if (ENV.environment === "test") { + if (isTesting()) { this._updatePreview(); } else { debounce(this, this._updatePreview, 30); diff --git a/app/assets/javascripts/discourse/app/components/emoji-picker.js b/app/assets/javascripts/discourse/app/components/emoji-picker.js index a77b564e593..3acf1816222 100644 --- a/app/assets/javascripts/discourse/app/components/emoji-picker.js +++ b/app/assets/javascripts/discourse/app/components/emoji-picker.js @@ -10,7 +10,7 @@ import { emojiSearch } from "pretty-text/emoji"; import { safariHacksDisabled } from "discourse/lib/utilities"; -import ENV, { INPUT_DELAY } from "discourse-common/config/environment"; +import { isTesting, INPUT_DELAY } from "discourse-common/config/environment"; const PER_ROW = 11; function customEmojis() { @@ -525,7 +525,7 @@ export default Component.extend({ this.$picker.css(_.merge(attributes, options)); }; - if (ENV.environment === "test" || !this.automaticPositioning) { + if (isTesting() || !this.automaticPositioning) { desktopPositioning(); return; } diff --git a/app/assets/javascripts/discourse/app/components/topic-timer-info.js b/app/assets/javascripts/discourse/app/components/topic-timer-info.js index 6bbde2a2171..953c356590a 100644 --- a/app/assets/javascripts/discourse/app/components/topic-timer-info.js +++ b/app/assets/javascripts/discourse/app/components/topic-timer-info.js @@ -8,7 +8,7 @@ import { REMINDER_TYPE, DELETE_REPLIES_TYPE } from "discourse/controllers/edit-topic-timer"; -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; export default Component.extend({ classNames: ["topic-status-info"], @@ -92,7 +92,7 @@ export default Component.extend({ }); // TODO Sam: concerned this can cause a heavy rerender loop - if (ENV.environment !== "test") { + if (!isTesting()) { this._delayedRerender = later(() => { this.renderTopicTimer(); }, rerenderDelay); diff --git a/app/assets/javascripts/discourse/app/controllers/composer.js b/app/assets/javascripts/discourse/app/controllers/composer.js index d030c88c3a9..54aae533684 100644 --- a/app/assets/javascripts/discourse/app/controllers/composer.js +++ b/app/assets/javascripts/discourse/app/controllers/composer.js @@ -23,7 +23,7 @@ import { emojiUnescape } from "discourse/lib/text"; import { shortDate } from "discourse/lib/formatter"; import { SAVE_LABELS, SAVE_ICONS } from "discourse/models/composer"; import { Promise } from "rsvp"; -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; import EmberObject, { computed, action } from "@ember/object"; import deprecated from "discourse-common/lib/deprecated"; @@ -71,7 +71,7 @@ function loadDraft(store, opts) { const _popupMenuOptionsCallbacks = []; -let _checkDraftPopup = ENV.environment !== "test"; +let _checkDraftPopup = !isTesting(); export function toggleCheckDraftPopup(enabled) { _checkDraftPopup = enabled; @@ -1109,7 +1109,7 @@ export default Controller.extend({ if (model.draftSaving) { // in test debounce is Ember.run, this will cause // an infinite loop - if (ENV.environment !== "test") { + if (!isTesting()) { this._saveDraftDebounce = debounce(this, this._saveDraft, 2000); } } else { diff --git a/app/assets/javascripts/discourse/app/initializers/live-development.js b/app/assets/javascripts/discourse/app/initializers/live-development.js index fe3d59875bb..8c8a3f1287f 100644 --- a/app/assets/javascripts/discourse/app/initializers/live-development.js +++ b/app/assets/javascripts/discourse/app/initializers/live-development.js @@ -1,6 +1,6 @@ import DiscourseURL from "discourse/lib/url"; import { currentThemeIds, refreshCSS } from "discourse/lib/theme-selector"; -import ENV from "discourse-common/config/environment"; +import { isDevelopment } from "discourse-common/config/environment"; import Handlebars from "handlebars"; // Use the message bus for live reloading of components for faster development. @@ -48,7 +48,7 @@ export default { }); // Useful to export this for debugging purposes - if (Discourse.Environment === "development" && ENV.environment !== "test") { + if (isDevelopment()) { window.DiscourseURL = DiscourseURL; } diff --git a/app/assets/javascripts/discourse/app/initializers/message-bus.js b/app/assets/javascripts/discourse/app/initializers/message-bus.js index f732065c0ff..6825cd90fa2 100644 --- a/app/assets/javascripts/discourse/app/initializers/message-bus.js +++ b/app/assets/javascripts/discourse/app/initializers/message-bus.js @@ -1,6 +1,7 @@ // Initialize the message bus to receive messages. import userPresent from "discourse/lib/user-presence"; import { handleLogoff } from "discourse/lib/ajax"; +import { isProduction } from "discourse-common/config/environment"; const LONG_POLL_AFTER_UNSEEN_TIME = 1200000; // 20 minutes @@ -32,7 +33,7 @@ export default { user = container.lookup("current-user:main"), siteSettings = container.lookup("site-settings:main"); - messageBus.alwaysLongPoll = Discourse.Environment === "development"; + messageBus.alwaysLongPoll = !isProduction(); messageBus.shouldLongPollCallback = () => userPresent(LONG_POLL_AFTER_UNSEEN_TIME); diff --git a/app/assets/javascripts/discourse/app/initializers/subscribe-user-notifications.js b/app/assets/javascripts/discourse/app/initializers/subscribe-user-notifications.js index 1482cf9d180..407ab97d8c3 100644 --- a/app/assets/javascripts/discourse/app/initializers/subscribe-user-notifications.js +++ b/app/assets/javascripts/discourse/app/initializers/subscribe-user-notifications.js @@ -11,7 +11,7 @@ import { unsubscribe as unsubscribePushNotifications, isPushNotificationsEnabled } from "discourse/lib/push-notifications"; -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; export default { name: "subscribe-user-notifications", @@ -130,7 +130,7 @@ export default { Discourse.set("assetVersion", data) ); - if (ENV.environment !== "test") { + if (!isTesting()) { bus.subscribe(alertChannel(user), data => onNotification(data, user)); initDesktopNotifications(bus, appEvents); diff --git a/app/assets/javascripts/discourse/app/lib/click-track.js b/app/assets/javascripts/discourse/app/lib/click-track.js index 199a90ea43d..d34e33363a6 100644 --- a/app/assets/javascripts/discourse/app/lib/click-track.js +++ b/app/assets/javascripts/discourse/app/lib/click-track.js @@ -5,7 +5,7 @@ import DiscourseURL from "discourse/lib/url"; import { wantsNewWindow } from "discourse/lib/intercept-click"; import { selectedText } from "discourse/lib/utilities"; import { Promise } from "rsvp"; -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; import User from "discourse/models/user"; export function isValidLink($link) { @@ -101,7 +101,7 @@ export default { let trackPromise = Promise.resolve(); if (tracking) { - if (ENV.environment !== "test" && navigator.sendBeacon) { + if (!isTesting() && navigator.sendBeacon) { const data = new FormData(); data.append("url", href); data.append("post_id", postId); diff --git a/app/assets/javascripts/discourse/app/lib/eyeline.js b/app/assets/javascripts/discourse/app/lib/eyeline.js index 53f2a8435ad..7afe84fe0e5 100644 --- a/app/assets/javascripts/discourse/app/lib/eyeline.js +++ b/app/assets/javascripts/discourse/app/lib/eyeline.js @@ -1,4 +1,4 @@ -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; import AppEvents from "discourse/services/app-events"; let _skipUpdate; @@ -9,7 +9,7 @@ export function configureEyeline(opts) { _skipUpdate = opts.skipUpdate; _rootElement = opts.rootElement; } else { - _skipUpdate = ENV.environment === "test"; + _skipUpdate = isTesting(); _rootElement = null; } } diff --git a/app/assets/javascripts/discourse/app/lib/mobile.js b/app/assets/javascripts/discourse/app/lib/mobile.js index 511e269d83a..b90ccc24247 100644 --- a/app/assets/javascripts/discourse/app/lib/mobile.js +++ b/app/assets/javascripts/discourse/app/lib/mobile.js @@ -1,4 +1,4 @@ -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; let mobileForced = false; @@ -12,7 +12,7 @@ const Mobile = { this.isMobileDevice = mobileForced || $html.hasClass("mobile-device"); this.mobileView = mobileForced || $html.hasClass("mobile-view"); - if (ENV.environment === "test" || mobileForced) { + if (isTesting() || mobileForced) { return; } diff --git a/app/assets/javascripts/discourse/app/mapping-router.js b/app/assets/javascripts/discourse/app/mapping-router.js index 38b8eec72ef..99935ddc32e 100644 --- a/app/assets/javascripts/discourse/app/mapping-router.js +++ b/app/assets/javascripts/discourse/app/mapping-router.js @@ -1,14 +1,14 @@ import EmberRouter from "@ember/routing/router"; import { defaultHomepage } from "discourse/lib/utilities"; import { rewritePath } from "discourse/lib/url"; -import ENV from "discourse-common/config/environment"; import Site from "discourse/models/site"; +import { isTesting } from "discourse-common/config/environment"; const rootURL = Discourse.BaseUri; const BareRouter = EmberRouter.extend({ rootURL, - location: ENV.environment === "test" ? "none" : "discourse-location", + location: isTesting() ? "none" : "discourse-location", handleURL(url) { url = rewritePath(url); diff --git a/app/assets/javascripts/discourse/app/mixins/scroll-top.js b/app/assets/javascripts/discourse/app/mixins/scroll-top.js index d636c2333f5..9151ed192fb 100644 --- a/app/assets/javascripts/discourse/app/mixins/scroll-top.js +++ b/app/assets/javascripts/discourse/app/mixins/scroll-top.js @@ -2,11 +2,11 @@ import { scheduleOnce } from "@ember/runloop"; import DiscourseURL from "discourse/lib/url"; import { deprecated } from "discourse/mixins/scroll-top"; import Mixin from "@ember/object/mixin"; -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; const context = { _scrollTop() { - if (ENV.environment === "test") { + if (isTesting()) { return; } $(document).scrollTop(0); diff --git a/app/assets/javascripts/discourse/app/models/site.js b/app/assets/javascripts/discourse/app/models/site.js index 03aee34519b..8e6b8f2d2c0 100644 --- a/app/assets/javascripts/discourse/app/models/site.js +++ b/app/assets/javascripts/discourse/app/models/site.js @@ -80,11 +80,6 @@ const Site = RestModel.extend({ return result; }, - @discourseComputed - baseUri() { - return Discourse.baseUri; - }, - // Returns it in the correct order, by setting @discourseComputed("categories.[]") categoriesList() { diff --git a/app/assets/javascripts/discourse/app/pre-initializers/discourse-bootstrap.js b/app/assets/javascripts/discourse/app/pre-initializers/discourse-bootstrap.js index 494ed5e2e91..29570b5db2f 100644 --- a/app/assets/javascripts/discourse/app/pre-initializers/discourse-bootstrap.js +++ b/app/assets/javascripts/discourse/app/pre-initializers/discourse-bootstrap.js @@ -2,7 +2,11 @@ import PreloadStore from "discourse/lib/preload-store"; import I18n from "I18n"; import Session from "discourse/models/session"; import RSVP from "rsvp"; -import { isTesting } from "discourse-common/config/environment"; +import { + setEnvironment, + isTesting, + isProduction +} from "discourse-common/config/environment"; export default { name: "discourse-bootstrap", @@ -33,7 +37,7 @@ export default { app.CDN = setupData.cdn; app.BaseUrl = setupData.baseUrl; app.BaseUri = setupData.baseUri; - app.Environment = setupData.environment; + setEnvironment(setupData.environment); app.SiteSettings = PreloadStore.get("siteSettings"); app.ThemeSettings = PreloadStore.get("themeSettings"); app.LetterAvatarVersion = setupData.letterAvatarVersion; @@ -73,7 +77,7 @@ export default { return; } - if (Discourse.Environment === "development") { + if (!isProduction()) { /* eslint-disable no-console */ if (e) { if (e.message || e.stack) { diff --git a/app/assets/javascripts/discourse/app/routes/topic-from-params.js b/app/assets/javascripts/discourse/app/routes/topic-from-params.js index bcf904ad38f..2c028e42dea 100644 --- a/app/assets/javascripts/discourse/app/routes/topic-from-params.js +++ b/app/assets/javascripts/discourse/app/routes/topic-from-params.js @@ -3,7 +3,7 @@ import { schedule } from "@ember/runloop"; import DiscourseRoute from "discourse/routes/discourse"; import DiscourseURL from "discourse/lib/url"; import Draft from "discourse/models/draft"; -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; // This route is used for retrieving a topic based on params export default DiscourseRoute.extend({ @@ -81,7 +81,7 @@ export default DiscourseRoute.extend({ } }) .catch(e => { - if (ENV.environment !== "test") { + if (!isTesting()) { // eslint-disable-next-line no-console console.log("Could not view topic", e); } diff --git a/app/assets/javascripts/discourse/app/widgets/glue.js b/app/assets/javascripts/discourse/app/widgets/glue.js index 78aa33196b6..976aed9a311 100644 --- a/app/assets/javascripts/discourse/app/widgets/glue.js +++ b/app/assets/javascripts/discourse/app/widgets/glue.js @@ -2,7 +2,7 @@ import { cancel, scheduleOnce } from "@ember/runloop"; import { diff, patch } from "virtual-dom"; import { queryRegistry } from "discourse/widgets/widget"; import DirtyKeys from "discourse/lib/dirty-keys"; -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; export default class WidgetGlue { constructor(name, register, attrs) { @@ -34,7 +34,7 @@ export default class WidgetGlue { cancel(this._timeout); // in test mode return early if store cannot be found - if (ENV.environment === "test") { + if (isTesting()) { try { this.register.lookup("service:store"); } catch (e) { diff --git a/app/assets/javascripts/discourse/app/widgets/post-menu.js b/app/assets/javascripts/discourse/app/widgets/post-menu.js index 4b82dcb3364..3798d71cb27 100644 --- a/app/assets/javascripts/discourse/app/widgets/post-menu.js +++ b/app/assets/javascripts/discourse/app/widgets/post-menu.js @@ -4,14 +4,14 @@ import { avatarAtts } from "discourse/widgets/actions-summary"; import { h } from "virtual-dom"; import showModal from "discourse/lib/show-modal"; import { Promise } from "rsvp"; -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; import { formattedReminderTime } from "discourse/lib/bookmark"; const LIKE_ACTION = 2; const VIBRATE_DURATION = 5; function animateHeart($elem, start, end, complete) { - if (ENV.environment === "test") { + if (isTesting()) { return run(this, complete); } diff --git a/app/assets/javascripts/discourse/app/widgets/widget.js b/app/assets/javascripts/discourse/app/widgets/widget.js index f945bd2c9f5..362428bf05a 100644 --- a/app/assets/javascripts/discourse/app/widgets/widget.js +++ b/app/assets/javascripts/discourse/app/widgets/widget.js @@ -16,7 +16,7 @@ import { import { h } from "virtual-dom"; import DecoratorHelper from "discourse/widgets/decorator-helper"; import { Promise } from "rsvp"; -import ENV from "discourse-common/config/environment"; +import { isProduction } from "discourse-common/config/environment"; import { get } from "@ember/object"; const _registry = {}; @@ -127,7 +127,7 @@ export default class Widget { this.init(this.attrs); // Helps debug widgets - if (Discourse.Environment === "development" || ENV.environment === "test") { + if (!isProduction()) { const ds = this.defaultState(attrs); if (typeof ds !== "object") { throw new Error(`defaultState must return an object`); diff --git a/app/assets/javascripts/select-kit/addon/components/icon-picker.js b/app/assets/javascripts/select-kit/addon/components/icon-picker.js index dfa074452e1..d2aab09bcf3 100644 --- a/app/assets/javascripts/select-kit/addon/components/icon-picker.js +++ b/app/assets/javascripts/select-kit/addon/components/icon-picker.js @@ -2,7 +2,12 @@ import MultiSelectComponent from "select-kit/components/multi-select"; import { computed } from "@ember/object"; import { ajax } from "discourse/lib/ajax"; import { makeArray } from "discourse-common/lib/helpers"; -import { convertIconClass } from "discourse-common/lib/icon-library"; +import { + convertIconClass, + disableMissingIconWarning, + enableMissingIconWarning +} from "discourse-common/lib/icon-library"; +import { isDevelopment } from "discourse-common/config/environment"; export default MultiSelectComponent.extend({ pluginApiIdentifiers: ["icon-picker"], @@ -13,8 +18,8 @@ export default MultiSelectComponent.extend({ this._cachedIconsList = null; - if (Discourse.Environment === "development") { - Discourse.disableMissingIconWarning = true; + if (isDevelopment()) { + disableMissingIconWarning(); } }, @@ -75,8 +80,8 @@ export default MultiSelectComponent.extend({ this._cachedIconsList = null; - if (Discourse.Environment === "development") { - delete Discourse.disableMissingIconWarning; + if (isDevelopment()) { + enableMissingIconWarning(); } }, diff --git a/app/assets/javascripts/wizard/router.js b/app/assets/javascripts/wizard/router.js index 822d3d7aba7..295e2962225 100644 --- a/app/assets/javascripts/wizard/router.js +++ b/app/assets/javascripts/wizard/router.js @@ -1,10 +1,10 @@ import EmberRouter from "@ember/routing/router"; import getUrl from "discourse-common/lib/get-url"; -import ENV from "discourse-common/config/environment"; +import { isTesting } from "discourse-common/config/environment"; const Router = EmberRouter.extend({ rootURL: getUrl("/wizard/"), - location: ENV.environment === "test" ? "none" : "history" + location: isTesting() ? "none" : "history" }); Router.map(function() {