diff --git a/app/assets/javascripts/discourse-loader.js b/app/assets/javascripts/discourse-loader.js index 8442f0cec7..d11217a985 100644 --- a/app/assets/javascripts/discourse-loader.js +++ b/app/assets/javascripts/discourse-loader.js @@ -143,6 +143,7 @@ var define, requirejs; guidFor: Ember.guidFor }, I18n: { + // eslint-disable-next-line default: I18n } }; diff --git a/app/assets/javascripts/discourse/app/mixins/user-fields-validation.js b/app/assets/javascripts/discourse/app/mixins/user-fields-validation.js index 520fb8af2a..46051a9e50 100644 --- a/app/assets/javascripts/discourse/app/mixins/user-fields-validation.js +++ b/app/assets/javascripts/discourse/app/mixins/user-fields-validation.js @@ -2,6 +2,7 @@ import { isEmpty } from "@ember/utils"; import EmberObject from "@ember/object"; import discourseComputed, { on } from "discourse-common/utils/decorators"; import Mixin from "@ember/object/mixin"; +import I18n from "I18n"; export default Mixin.create({ @on("init") diff --git a/app/assets/javascripts/preload-application-data.js b/app/assets/javascripts/preload-application-data.js index 0b93ded00d..bb11ecbea4 100644 --- a/app/assets/javascripts/preload-application-data.js +++ b/app/assets/javascripts/preload-application-data.js @@ -3,6 +3,7 @@ const ps = require("discourse/lib/preload-store").default; const preloadedDataElement = document.getElementById("data-preloaded"); const setupData = document.getElementById("data-discourse-setup").dataset; + const I18n = require("I18n").default; if (preloadedDataElement) { const preloaded = JSON.parse(preloadedDataElement.dataset.preloaded); diff --git a/package.json b/package.json index 1c6fb3db61..c055b38c2b 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "chrome-launcher": "^0.12.0", "chrome-remote-interface": "^0.25", "ember-template-lint": "^2.5.2", - "eslint-config-discourse": "1.1.1", + "eslint-config-discourse": "1.1.2", "eslint-plugin-discourse-ember": "0.0.3", "lodash-cli": "https://github.com/lodash-archive/lodash-cli.git", "pretender": "^1.6", diff --git a/test/javascripts/acceptance/admin-user-emails-test.js b/test/javascripts/acceptance/admin-user-emails-test.js index a9c0c2dcb3..80c7bf437e 100644 --- a/test/javascripts/acceptance/admin-user-emails-test.js +++ b/test/javascripts/acceptance/admin-user-emails-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { acceptance } from "helpers/qunit-helpers"; acceptance("Admin - User Emails", { loggedIn: true }); diff --git a/test/javascripts/acceptance/admin-users-list-test.js b/test/javascripts/acceptance/admin-users-list-test.js index 1c41fce169..dc0d65ff5f 100644 --- a/test/javascripts/acceptance/admin-users-list-test.js +++ b/test/javascripts/acceptance/admin-users-list-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { acceptance } from "helpers/qunit-helpers"; acceptance("Admin - Users List", { loggedIn: true }); diff --git a/test/javascripts/acceptance/bookmarks-test.js b/test/javascripts/acceptance/bookmarks-test.js index c2b26fbe6f..db94c6a8f3 100644 --- a/test/javascripts/acceptance/bookmarks-test.js +++ b/test/javascripts/acceptance/bookmarks-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { acceptance, loggedInUser, diff --git a/test/javascripts/acceptance/composer-actions-test.js b/test/javascripts/acceptance/composer-actions-test.js index 729e307ffb..fb1a374dc3 100644 --- a/test/javascripts/acceptance/composer-actions-test.js +++ b/test/javascripts/acceptance/composer-actions-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import selectKit from "helpers/select-kit-helper"; import { acceptance, updateCurrentUser } from "helpers/qunit-helpers"; import { _clearSnapshots } from "select-kit/components/composer-actions"; diff --git a/test/javascripts/acceptance/composer-edit-conflict-test.js b/test/javascripts/acceptance/composer-edit-conflict-test.js index 890a7dff5c..3da144dbee 100644 --- a/test/javascripts/acceptance/composer-edit-conflict-test.js +++ b/test/javascripts/acceptance/composer-edit-conflict-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { acceptance } from "helpers/qunit-helpers"; import pretender from "helpers/create-pretender"; diff --git a/test/javascripts/acceptance/composer-test.js b/test/javascripts/acceptance/composer-test.js index 9520bd9d5c..95fed9f93b 100644 --- a/test/javascripts/acceptance/composer-test.js +++ b/test/javascripts/acceptance/composer-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { run } from "@ember/runloop"; import selectKit from "helpers/select-kit-helper"; import { acceptance } from "helpers/qunit-helpers"; diff --git a/test/javascripts/acceptance/forgot-password-test.js b/test/javascripts/acceptance/forgot-password-test.js index 773f570913..c568873888 100644 --- a/test/javascripts/acceptance/forgot-password-test.js +++ b/test/javascripts/acceptance/forgot-password-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { acceptance } from "helpers/qunit-helpers"; let userFound = false; diff --git a/test/javascripts/acceptance/group-index-test.js b/test/javascripts/acceptance/group-index-test.js index d3ea58aac6..55feb15fdb 100644 --- a/test/javascripts/acceptance/group-index-test.js +++ b/test/javascripts/acceptance/group-index-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { acceptance, updateCurrentUser } from "helpers/qunit-helpers"; acceptance("Group Members"); diff --git a/test/javascripts/acceptance/group-test.js b/test/javascripts/acceptance/group-test.js index 9ba5a9f2f0..530774b0d6 100644 --- a/test/javascripts/acceptance/group-test.js +++ b/test/javascripts/acceptance/group-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import selectKit from "helpers/select-kit-helper"; import { acceptance } from "helpers/qunit-helpers"; import pretender from "helpers/create-pretender"; diff --git a/test/javascripts/acceptance/groups-new-test.js b/test/javascripts/acceptance/groups-new-test.js index 62f88b9710..aba3bca3a2 100644 --- a/test/javascripts/acceptance/groups-new-test.js +++ b/test/javascripts/acceptance/groups-new-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { acceptance } from "helpers/qunit-helpers"; acceptance("New Group"); diff --git a/test/javascripts/acceptance/login-with-email-and-hide-email-address-taken-test.js b/test/javascripts/acceptance/login-with-email-and-hide-email-address-taken-test.js index 1c12c1f055..e1902d7cbe 100644 --- a/test/javascripts/acceptance/login-with-email-and-hide-email-address-taken-test.js +++ b/test/javascripts/acceptance/login-with-email-and-hide-email-address-taken-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { acceptance } from "helpers/qunit-helpers"; import pretender from "helpers/create-pretender"; diff --git a/test/javascripts/acceptance/login-with-email-test.js b/test/javascripts/acceptance/login-with-email-test.js index 738c2920d3..dbc8cccd5f 100644 --- a/test/javascripts/acceptance/login-with-email-test.js +++ b/test/javascripts/acceptance/login-with-email-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { acceptance } from "helpers/qunit-helpers"; let userFound = false; diff --git a/test/javascripts/acceptance/password-reset-test.js b/test/javascripts/acceptance/password-reset-test.js index 0bec015050..be63589102 100644 --- a/test/javascripts/acceptance/password-reset-test.js +++ b/test/javascripts/acceptance/password-reset-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { acceptance } from "helpers/qunit-helpers"; import PreloadStore from "discourse/lib/preload-store"; import { parsePostData } from "helpers/create-pretender"; diff --git a/test/javascripts/acceptance/personal-message-test.js b/test/javascripts/acceptance/personal-message-test.js index b705d59960..4762d456c3 100644 --- a/test/javascripts/acceptance/personal-message-test.js +++ b/test/javascripts/acceptance/personal-message-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { acceptance } from "helpers/qunit-helpers"; acceptance("Personal Message", { diff --git a/test/javascripts/acceptance/preferences-test.js b/test/javascripts/acceptance/preferences-test.js index 4e2f2d5979..a9db1f08e5 100644 --- a/test/javascripts/acceptance/preferences-test.js +++ b/test/javascripts/acceptance/preferences-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { acceptance, updateCurrentUser } from "helpers/qunit-helpers"; import selectKit from "helpers/select-kit-helper"; diff --git a/test/javascripts/acceptance/topic-footer-buttons-mobile-test.js b/test/javascripts/acceptance/topic-footer-buttons-mobile-test.js index ca3483ad28..db3268fe61 100644 --- a/test/javascripts/acceptance/topic-footer-buttons-mobile-test.js +++ b/test/javascripts/acceptance/topic-footer-buttons-mobile-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import selectKit from "helpers/select-kit-helper"; import { withPluginApi } from "discourse/lib/plugin-api"; import { clearTopicFooterButtons } from "discourse/lib/register-topic-footer-button"; diff --git a/test/javascripts/acceptance/topic-move-posts-test.js b/test/javascripts/acceptance/topic-move-posts-test.js index ea5ab11a06..8d9124f440 100644 --- a/test/javascripts/acceptance/topic-move-posts-test.js +++ b/test/javascripts/acceptance/topic-move-posts-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { acceptance } from "helpers/qunit-helpers"; acceptance("Topic move posts", { loggedIn: true }); diff --git a/test/javascripts/acceptance/topic-test.js b/test/javascripts/acceptance/topic-test.js index ab271369c3..eae9f30446 100644 --- a/test/javascripts/acceptance/topic-test.js +++ b/test/javascripts/acceptance/topic-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { withPluginApi } from "discourse/lib/plugin-api"; import selectKit from "helpers/select-kit-helper"; import { acceptance } from "helpers/qunit-helpers"; diff --git a/test/javascripts/admin/components/themes-list-item-test.js b/test/javascripts/admin/components/themes-list-item-test.js index ff94859bb2..134cf6cded 100644 --- a/test/javascripts/admin/components/themes-list-item-test.js +++ b/test/javascripts/admin/components/themes-list-item-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import componentTest from "helpers/component-test"; import Theme from "admin/models/theme"; diff --git a/test/javascripts/admin/components/themes-list-test.js b/test/javascripts/admin/components/themes-list-test.js index 420a75f4e3..8a2d595f1e 100644 --- a/test/javascripts/admin/components/themes-list-test.js +++ b/test/javascripts/admin/components/themes-list-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import componentTest from "helpers/component-test"; import Theme, { THEMES, COMPONENTS } from "admin/models/theme"; diff --git a/test/javascripts/components/d-button-test.js b/test/javascripts/components/d-button-test.js index 1d85d922c4..7d28c4d5e7 100644 --- a/test/javascripts/components/d-button-test.js +++ b/test/javascripts/components/d-button-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import componentTest from "helpers/component-test"; moduleForComponent("d-button", { integration: true }); diff --git a/test/javascripts/components/d-editor-test.js b/test/javascripts/components/d-editor-test.js index 222ddeea76..480de56928 100644 --- a/test/javascripts/components/d-editor-test.js +++ b/test/javascripts/components/d-editor-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { next } from "@ember/runloop"; import { clearToolbarCallbacks } from "discourse/components/d-editor"; import componentTest from "helpers/component-test"; diff --git a/test/javascripts/components/secret-value-list-test.js b/test/javascripts/components/secret-value-list-test.js index 22e4e5d87b..72cb70f759 100644 --- a/test/javascripts/components/secret-value-list-test.js +++ b/test/javascripts/components/secret-value-list-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import componentTest from "helpers/component-test"; moduleForComponent("secret-value-list", { integration: true }); diff --git a/test/javascripts/components/select-kit/category-chooser-test.js b/test/javascripts/components/select-kit/category-chooser-test.js index 19146cb3b4..3f921efec4 100644 --- a/test/javascripts/components/select-kit/category-chooser-test.js +++ b/test/javascripts/components/select-kit/category-chooser-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import componentTest from "helpers/component-test"; import { testSelectKitModule } from "helpers/select-kit-helper"; diff --git a/test/javascripts/components/select-kit/category-drop-test.js b/test/javascripts/components/select-kit/category-drop-test.js index 923bd93bbc..38c32aa85c 100644 --- a/test/javascripts/components/select-kit/category-drop-test.js +++ b/test/javascripts/components/select-kit/category-drop-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import DiscourseURL from "discourse/lib/url"; import Category from "discourse/models/category"; import componentTest from "helpers/component-test"; diff --git a/test/javascripts/components/select-kit/mini-tag-chooser-test.js b/test/javascripts/components/select-kit/mini-tag-chooser-test.js index f929cb99d4..76265e7f83 100644 --- a/test/javascripts/components/select-kit/mini-tag-chooser-test.js +++ b/test/javascripts/components/select-kit/mini-tag-chooser-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import componentTest from "helpers/component-test"; import { testSelectKitModule } from "helpers/select-kit-helper"; diff --git a/test/javascripts/components/select-kit/single-select-test.js b/test/javascripts/components/select-kit/single-select-test.js index a360429488..ca041c13ec 100644 --- a/test/javascripts/components/select-kit/single-select-test.js +++ b/test/javascripts/components/select-kit/single-select-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import componentTest from "helpers/component-test"; import { testSelectKitModule } from "helpers/select-kit-helper"; diff --git a/test/javascripts/components/select-kit/tag-drop-test.js b/test/javascripts/components/select-kit/tag-drop-test.js index 39ab21187f..c66eee0a26 100644 --- a/test/javascripts/components/select-kit/tag-drop-test.js +++ b/test/javascripts/components/select-kit/tag-drop-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import componentTest from "helpers/component-test"; import { testSelectKitModule } from "helpers/select-kit-helper"; import Site from "discourse/models/site"; diff --git a/test/javascripts/components/select-kit/topic-notifications-button-test.js b/test/javascripts/components/select-kit/topic-notifications-button-test.js index 101b0e1104..6f2f2861cc 100644 --- a/test/javascripts/components/select-kit/topic-notifications-button-test.js +++ b/test/javascripts/components/select-kit/topic-notifications-button-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import selectKit from "helpers/select-kit-helper"; import componentTest from "helpers/component-test"; import Topic from "discourse/models/topic"; diff --git a/test/javascripts/components/select-kit/topic-notifications-options-test.js b/test/javascripts/components/select-kit/topic-notifications-options-test.js index 454ea3e988..c0d30d4d97 100644 --- a/test/javascripts/components/select-kit/topic-notifications-options-test.js +++ b/test/javascripts/components/select-kit/topic-notifications-options-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import selectKit from "helpers/select-kit-helper"; import componentTest from "helpers/component-test"; import Topic from "discourse/models/topic"; diff --git a/test/javascripts/components/text-field-test.js b/test/javascripts/components/text-field-test.js index 7b26dddb10..0d458a02db 100644 --- a/test/javascripts/components/text-field-test.js +++ b/test/javascripts/components/text-field-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import componentTest from "helpers/component-test"; moduleForComponent("text-field", { integration: true }); diff --git a/test/javascripts/controllers/create-account-test.js b/test/javascripts/controllers/create-account-test.js index 29494ceeaf..eaad2b7054 100644 --- a/test/javascripts/controllers/create-account-test.js +++ b/test/javascripts/controllers/create-account-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { mapRoutes } from "discourse/mapping-router"; moduleFor("controller:create-account", "controller:create-account", { diff --git a/test/javascripts/fixtures/topic.js b/test/javascripts/fixtures/topic.js index b520532feb..e1cf0a96ae 100644 --- a/test/javascripts/fixtures/topic.js +++ b/test/javascripts/fixtures/topic.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; /*jshint maxlen:10000000 */ export default { "/t/280/1.json": { diff --git a/test/javascripts/initializers/localization-test.js b/test/javascripts/initializers/localization-test.js index 7182e6d8f4..40de7c5c8f 100644 --- a/test/javascripts/initializers/localization-test.js +++ b/test/javascripts/initializers/localization-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import LocalizationInitializer from "discourse/initializers/localization"; QUnit.module("initializer:localization", { diff --git a/test/javascripts/lib/computed-test.js b/test/javascripts/lib/computed-test.js index 253673e5b6..b2eda9dcd7 100644 --- a/test/javascripts/lib/computed-test.js +++ b/test/javascripts/lib/computed-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import EmberObject from "@ember/object"; import { setting, diff --git a/test/javascripts/lib/i18n-test.js b/test/javascripts/lib/i18n-test.js index 9655f4420b..78c26ccddd 100644 --- a/test/javascripts/lib/i18n-test.js +++ b/test/javascripts/lib/i18n-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; QUnit.module("lib:i18n", { _locale: I18n.locale, _fallbackLocale: I18n.fallbackLocale, diff --git a/test/javascripts/lib/search-test.js b/test/javascripts/lib/search-test.js index 6fe1f466c8..bb88e4e646 100644 --- a/test/javascripts/lib/search-test.js +++ b/test/javascripts/lib/search-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { translateResults, searchContextDescription diff --git a/test/javascripts/lib/uploads-test.js b/test/javascripts/lib/uploads-test.js index 0dfc71a4d7..dcbabe6144 100644 --- a/test/javascripts/lib/uploads-test.js +++ b/test/javascripts/lib/uploads-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { validateUploadedFiles, authorizedExtensions, diff --git a/test/javascripts/models/user-drafts-test.js b/test/javascripts/models/user-drafts-test.js index 20f68718df..2b6b23edfa 100644 --- a/test/javascripts/models/user-drafts-test.js +++ b/test/javascripts/models/user-drafts-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import UserDraft from "discourse/models/user-draft"; import { NEW_TOPIC_KEY } from "discourse/models/composer"; import User from "discourse/models/user"; diff --git a/test/javascripts/widgets/post-test.js b/test/javascripts/widgets/post-test.js index bc12234c31..90422c7809 100644 --- a/test/javascripts/widgets/post-test.js +++ b/test/javascripts/widgets/post-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import EmberObject from "@ember/object"; import { moduleForWidget, widgetTest } from "helpers/widget-test"; diff --git a/test/javascripts/widgets/user-menu-test.js b/test/javascripts/widgets/user-menu-test.js index 39f2a33722..c9d1403275 100644 --- a/test/javascripts/widgets/user-menu-test.js +++ b/test/javascripts/widgets/user-menu-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import DiscourseURL from "discourse/lib/url"; import { moduleForWidget, widgetTest } from "helpers/widget-test"; diff --git a/test/javascripts/widgets/widget-dropdown-test.js b/test/javascripts/widgets/widget-dropdown-test.js index 2bc7f94b26..1d60a84615 100644 --- a/test/javascripts/widgets/widget-dropdown-test.js +++ b/test/javascripts/widgets/widget-dropdown-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { moduleForWidget, widgetTest } from "helpers/widget-test"; moduleForWidget("widget-dropdown"); diff --git a/test/javascripts/widgets/widget-test.js b/test/javascripts/widgets/widget-test.js index 9df74324c7..5fcc1f28af 100644 --- a/test/javascripts/widgets/widget-test.js +++ b/test/javascripts/widgets/widget-test.js @@ -1,3 +1,4 @@ +import I18n from "I18n"; import { next } from "@ember/runloop"; import { moduleForWidget, widgetTest } from "helpers/widget-test"; import { createWidget } from "discourse/widgets/widget"; diff --git a/yarn.lock b/yarn.lock index 0e7adeaa19..60ae598392 100644 --- a/yarn.lock +++ b/yarn.lock @@ -978,10 +978,10 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -eslint-config-discourse@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/eslint-config-discourse/-/eslint-config-discourse-1.1.1.tgz#8a7f7f6f1a388b0e88f5b79145ae2a8b4a13e3d4" - integrity sha512-b3dp9DOcXYWkPQpXms/bMDy0Scb6DO/nZAAsl5I9yTNhtkx96zZMTp9QEyC8QaCXOTUpIXEE6V+Mpyjtsk3gWg== +eslint-config-discourse@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/eslint-config-discourse/-/eslint-config-discourse-1.1.2.tgz#f8569579ea3fc348a989bbab0780a5c426038744" + integrity sha512-yF29RxKyvFvQbnICCGext0rlXzQMm4AZuBxqOVFonjb0sUbB/08l/FyLHmXKpKgLCEMV6RrJKB7xxPL6twtUkA== dependencies: babel-eslint "^8.2" eslint "^4.19"