mirror of
https://github.com/discourse/discourse.git
synced 2025-04-17 18:30:15 +08:00
DEV: Update lint-configs and rubocop-discourse (#31728)
…and autofix issues --------- Co-authored-by: David Taylor <david@taylorhq.com>
This commit is contained in:
parent
329e1055cf
commit
25048b5a8d
30
Gemfile.lock
30
Gemfile.lock
@ -495,17 +495,18 @@ GEM
|
||||
unicode-display_width (>= 2.4.0, < 4.0)
|
||||
rubocop-ast (1.38.1)
|
||||
parser (>= 3.3.1.0)
|
||||
rubocop-capybara (2.21.0)
|
||||
rubocop (~> 1.41)
|
||||
rubocop-discourse (3.11.0)
|
||||
rubocop-capybara (2.22.0)
|
||||
lint_roller (~> 1.1)
|
||||
rubocop (~> 1.72, >= 1.72.1)
|
||||
rubocop-discourse (3.12.1)
|
||||
activesupport (>= 6.1)
|
||||
lint_roller (>= 1.1.0)
|
||||
rubocop (>= 1.72.0)
|
||||
rubocop-capybara (>= 2.0.0)
|
||||
rubocop-factory_bot (>= 2.0.0)
|
||||
rubocop-rails (>= 2.25.0)
|
||||
rubocop (>= 1.73.2)
|
||||
rubocop-capybara (>= 2.22.0)
|
||||
rubocop-factory_bot (>= 2.27.0)
|
||||
rubocop-rails (>= 2.30.3)
|
||||
rubocop-rspec (>= 3.0.1)
|
||||
rubocop-rspec_rails (>= 2.30.0)
|
||||
rubocop-rspec_rails (>= 2.31.0)
|
||||
rubocop-factory_bot (2.27.0)
|
||||
lint_roller (~> 1.1)
|
||||
rubocop (~> 1.72, >= 1.72.1)
|
||||
@ -518,9 +519,10 @@ GEM
|
||||
rubocop-rspec (3.5.0)
|
||||
lint_roller (~> 1.1)
|
||||
rubocop (~> 1.72, >= 1.72.1)
|
||||
rubocop-rspec_rails (2.30.0)
|
||||
rubocop (~> 1.61)
|
||||
rubocop-rspec (~> 3, >= 3.0.1)
|
||||
rubocop-rspec_rails (2.31.0)
|
||||
lint_roller (~> 1.1)
|
||||
rubocop (~> 1.72, >= 1.72.1)
|
||||
rubocop-rspec (~> 3.5)
|
||||
ruby-prof (1.7.1)
|
||||
ruby-progressbar (1.13.0)
|
||||
ruby-readability (0.7.2)
|
||||
@ -1028,12 +1030,12 @@ CHECKSUMS
|
||||
rtlcss (0.2.1) sha256=213d5a00bf61267f93a7a516d699d77e1cc5f396743abb33c01e3f3243a7bf60
|
||||
rubocop (1.73.2) sha256=35cd1b1365ba97234323fe771abcecd09c9b77098464cd726c76aa7d9bc12b5d
|
||||
rubocop-ast (1.38.1) sha256=80ecbe2ac9bb26693cab9405bf72b41b85a1f909f20f021b983c32c2e7d857fe
|
||||
rubocop-capybara (2.21.0) sha256=5d264efdd8b6c7081a3d4889decf1451a1cfaaec204d81534e236bc825b280ab
|
||||
rubocop-discourse (3.11.0) sha256=4746848050aec458c079495c1aded5c4c6f3813644b73c8e35633fe93c87c83a
|
||||
rubocop-capybara (2.22.0) sha256=9c3a6704ed0243e5332fdc45112b4bb90fc4cfd23a7f175f74af4a01e21627d0
|
||||
rubocop-discourse (3.12.1) sha256=ebf7e2224f053047372071419052828c3e3a01bccb14ea1f282ac143547df9bc
|
||||
rubocop-factory_bot (2.27.0) sha256=de9918bc4e1406b3025da87c5c34c91dd6c3e802cd59339790631f963a5652ba
|
||||
rubocop-rails (2.30.3) sha256=fc5a6506daa916d15e282cc806943afa64a020bf592b93a94025d89a2a78a715
|
||||
rubocop-rspec (3.5.0) sha256=710c942fe1af884ba8eea75cbb8bdbb051929a2208880a6fc2e2dce1eed5304c
|
||||
rubocop-rspec_rails (2.30.0) sha256=888112e83f9d7ef7ad2397e9d69a0b9614a4bae24f072c399804a180f80c4c46
|
||||
rubocop-rspec_rails (2.31.0) sha256=775375e18a26a1184a812ef3054b79d218e85601b9ae897f38f8be24dddf1f45
|
||||
ruby-prof (1.7.1) sha256=026393448cf92fd24a91739bf71ccd2bfe88fe8a1401ee8afc4948a16d62ea24
|
||||
ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
|
||||
ruby-readability (0.7.2) sha256=7351ddc89ac62ecdd35336acb1313ac29dc1dad9745d59f25109ec2215c6580c
|
||||
|
@ -1,2 +1,3 @@
|
||||
import CustomizationBase from "admin/adapters/customization-base";
|
||||
|
||||
export default CustomizationBase;
|
||||
|
@ -15,6 +15,7 @@ import SiteSetting from "admin/models/site-setting";
|
||||
export default class AdminAreaSettings extends Component {
|
||||
@service siteSettings;
|
||||
@service router;
|
||||
|
||||
@tracked settings = [];
|
||||
@tracked loading = false;
|
||||
@tracked showBreadcrumb = this.args.showBreadcrumb ?? true;
|
||||
|
@ -15,6 +15,7 @@ import SimpleList from "admin/components/simple-list";
|
||||
export default class AdminBrandingLogoForm extends Component {
|
||||
@service siteSettings;
|
||||
@service toasts;
|
||||
|
||||
@tracked placeholders = {};
|
||||
@tracked loading = false;
|
||||
|
||||
|
@ -12,6 +12,7 @@ import AdminFlagItem from "admin/components/admin-flag-item";
|
||||
export default class AdminConfigAreasFlags extends Component {
|
||||
@service site;
|
||||
@service siteSettings;
|
||||
|
||||
@tracked flags = this.site.flagTypes;
|
||||
|
||||
get addFlagButtonDisabled() {
|
||||
|
@ -13,6 +13,7 @@ import SiteSetting from "admin/components/site-setting";
|
||||
|
||||
export default class AdminFilteredSiteSettings extends Component {
|
||||
@service currentUser;
|
||||
|
||||
@tracked visibleSettings;
|
||||
@tracked loading = true;
|
||||
|
||||
|
@ -12,6 +12,7 @@ export default class AdminPenaltyPostAction extends Component {
|
||||
postEdit = null;
|
||||
|
||||
@equal("postAction", "edit") editing;
|
||||
|
||||
@discourseComputed
|
||||
penaltyActions() {
|
||||
return ACTIONS.map((id) => {
|
||||
|
@ -13,6 +13,7 @@ import AdminSectionLandingWrapper from "admin/components/admin-section-landing-w
|
||||
|
||||
export default class AdminReports extends Component {
|
||||
@service siteSettings;
|
||||
|
||||
@tracked reports;
|
||||
@tracked filter = "";
|
||||
|
||||
|
@ -16,6 +16,7 @@ import DTooltip from "float-kit/components/d-tooltip";
|
||||
export default class DiscourseNewFeatureItem extends Component {
|
||||
@service siteSettings;
|
||||
@service toasts;
|
||||
|
||||
@tracked experimentEnabled = this.args.item.experiment_enabled;
|
||||
@tracked toggleExperimentDisabled = false;
|
||||
|
||||
|
@ -11,6 +11,7 @@ import DMenu from "float-kit/components/d-menu";
|
||||
|
||||
export default class EmbeddableHost extends Component {
|
||||
@service dialog;
|
||||
|
||||
@tracked category = null;
|
||||
@tracked tags = null;
|
||||
@tracked user = null;
|
||||
|
@ -6,6 +6,7 @@ import { isEmpty } from "@ember/utils";
|
||||
import discourseComputed from "discourse/lib/decorators";
|
||||
import UppyUpload from "discourse/lib/uppy/uppy-upload";
|
||||
import { i18n } from "discourse-i18n";
|
||||
|
||||
const DEFAULT_GROUP = "default";
|
||||
|
||||
export default class EmojiUploader extends Component {
|
||||
|
@ -6,6 +6,7 @@ import { i18n } from "discourse-i18n";
|
||||
|
||||
export default class StartBackup extends Component {
|
||||
@service siteSettings;
|
||||
|
||||
@tracked includeUploads = true;
|
||||
|
||||
get canManageUploadsInBackup() {
|
||||
|
@ -8,6 +8,7 @@ import { i18n } from "discourse-i18n";
|
||||
|
||||
export default class AdminBadgesAwardController extends Controller {
|
||||
@service dialog;
|
||||
|
||||
@tracked saving = false;
|
||||
@tracked replaceBadgeOwners = false;
|
||||
@tracked grantExistingHolders = false;
|
||||
|
@ -8,6 +8,7 @@ import { i18n } from "discourse-i18n";
|
||||
export default class AdminCustomizeColorsShowController extends Controller {
|
||||
@service dialog;
|
||||
@service router;
|
||||
|
||||
onlyOverridden = false;
|
||||
|
||||
@computed("model.colors.[]", "onlyOverridden")
|
||||
|
@ -8,6 +8,7 @@ export default class AdminEmbeddingIndexController extends Controller {
|
||||
@service router;
|
||||
@service site;
|
||||
@controller adminEmbedding;
|
||||
|
||||
@alias("adminEmbedding.embedding") embedding;
|
||||
|
||||
get showEmbeddingCode() {
|
||||
|
@ -1,5 +1,6 @@
|
||||
import Controller from "@ember/controller";
|
||||
import { i18n } from "discourse-i18n";
|
||||
|
||||
export const DEFAULT_PERIOD = "yearly";
|
||||
|
||||
export default class AdminSearchLogsIndexController extends Controller {
|
||||
|
@ -1,2 +1,3 @@
|
||||
import Controller from "@ember/controller";
|
||||
|
||||
export default class AdminUserController extends Controller {}
|
||||
|
@ -9,6 +9,7 @@ export default class AdminWebHooksShowController extends Controller {
|
||||
@service dialog;
|
||||
@service router;
|
||||
@controller adminWebHooks;
|
||||
|
||||
@tracked status;
|
||||
|
||||
queryParams = ["status"];
|
||||
|
@ -7,6 +7,7 @@ import { i18n } from "discourse-i18n";
|
||||
export default class ColorSchemeColor extends EmberObject {
|
||||
// Whether the current value is different than Discourse's default color scheme.
|
||||
@propertyNotEqual("hex", "default_hex") overridden;
|
||||
|
||||
@on("init")
|
||||
startTrackingChanges() {
|
||||
this.set("originals", { hex: this.hex || "FFFFFF" });
|
||||
|
@ -39,6 +39,7 @@ export default class ColorScheme extends EmberObject {
|
||||
}
|
||||
|
||||
@not("id") newRecord;
|
||||
|
||||
init() {
|
||||
super.init(...arguments);
|
||||
|
||||
|
@ -14,6 +14,7 @@ export default class ScreenedIpAddress extends EmberObject {
|
||||
}
|
||||
|
||||
@equal("action_name", "block") isBlocked;
|
||||
|
||||
@discourseComputed("action_name")
|
||||
actionName(actionName) {
|
||||
return i18n(`admin.logs.screened_ips.actions.${actionName}`);
|
||||
|
@ -7,6 +7,7 @@ import IncomingEmailModal from "../components/modal/incoming-email";
|
||||
|
||||
export default class AdminEmailBouncedRoute extends AdminEmailLogs {
|
||||
@service modal;
|
||||
|
||||
status = "bounced";
|
||||
|
||||
@action
|
||||
|
@ -6,6 +6,7 @@ import IncomingEmailModal from "../components/modal/incoming-email";
|
||||
|
||||
export default class AdminEmailRejectedRoute extends AdminEmailIncomings {
|
||||
@service modal;
|
||||
|
||||
status = "rejected";
|
||||
|
||||
@action
|
||||
|
@ -14,6 +14,7 @@ export default class AdminRoute extends DiscourseRoute {
|
||||
@service currentUser;
|
||||
@service adminSidebarStateManager;
|
||||
@service modal;
|
||||
|
||||
@tracked initialSidebarState;
|
||||
|
||||
titleToken() {
|
||||
|
@ -4,6 +4,7 @@ import { configNavForPlugin } from "discourse/lib/admin-plugin-config-nav";
|
||||
|
||||
export default class AdminPluginNavManager extends Service {
|
||||
@service currentUser;
|
||||
|
||||
@tracked currentPlugin;
|
||||
|
||||
// NOTE (martin) This is a temporary solution so we know whether to
|
||||
|
@ -6,6 +6,7 @@ import { ADMIN_PANEL, MAIN_PANEL } from "discourse/lib/sidebar/panels";
|
||||
export default class AdminSidebarStateManager extends Service {
|
||||
@service sidebarState;
|
||||
@service currentUser;
|
||||
|
||||
@alias("sidebarState.currentUserUsingAdminSidebar")
|
||||
currentUserUsingAdminSidebar;
|
||||
@alias("sidebarState.isForcingAdminSidebar") isForcingAdminSidebar;
|
||||
|
@ -1,3 +1,4 @@
|
||||
import Component from "@ember/component";
|
||||
|
||||
// Exists so plugins can use it
|
||||
export default class CategoriesTopicList extends Component {}
|
||||
|
@ -16,6 +16,7 @@ let _messagesCache = {};
|
||||
@classNameBindings(":composer-popup-container", "hidden")
|
||||
export default class ComposerMessages extends Component {
|
||||
@service modal;
|
||||
|
||||
@tracked showShareModal;
|
||||
|
||||
checkedMessages = false;
|
||||
|
@ -10,6 +10,7 @@ import { cook } from "discourse/lib/text";
|
||||
|
||||
export default class CookText extends Component {
|
||||
@service siteSettings;
|
||||
|
||||
@tracked cooked = null;
|
||||
|
||||
constructor(owner, args) {
|
||||
|
@ -25,6 +25,7 @@ const HEADLESS_ACTIONS = ["new", "edit"];
|
||||
export default class DPageHeader extends Component {
|
||||
@service site;
|
||||
@service router;
|
||||
|
||||
@tracked shouldDisplay = true;
|
||||
|
||||
constructor() {
|
||||
|
@ -7,6 +7,7 @@ import { service } from "@ember/service";
|
||||
|
||||
export default class DirectoryItemUserFieldValueComponent extends Component {
|
||||
@service router;
|
||||
|
||||
get fieldData() {
|
||||
const { item, column } = this.args;
|
||||
return item?.user?.user_fields?.[column.user_field_id];
|
||||
|
@ -11,6 +11,7 @@ import LoadMore from "discourse/mixins/load-more";
|
||||
export default class DiscoveryTopicsList extends Component.extend(LoadMore) {
|
||||
@service appEvents;
|
||||
@service documentTitle;
|
||||
|
||||
eyelineSelector = ".topic-list-item";
|
||||
|
||||
@on("didInsertElement")
|
||||
|
@ -21,6 +21,7 @@ const maxMembersToDisplay = 10;
|
||||
)
|
||||
export default class GroupCardContents extends CardContentsBase {
|
||||
@service composer;
|
||||
|
||||
@setting("allow_profile_backgrounds") allowBackgrounds;
|
||||
@setting("enable_badges") showBadges;
|
||||
|
||||
|
@ -7,6 +7,7 @@ import PluginOutlet from "discourse/components/plugin-outlet";
|
||||
import icon from "discourse/helpers/d-icon";
|
||||
import { i18n } from "discourse-i18n";
|
||||
import GroupDropdown from "select-kit/components/group-dropdown";
|
||||
|
||||
export default class GroupNavigation extends Component {
|
||||
@service site;
|
||||
|
||||
|
@ -6,6 +6,7 @@ import { bind } from "discourse/lib/decorators";
|
||||
|
||||
export default class HorizontalOverflowNav extends Component {
|
||||
@service site;
|
||||
|
||||
@tracked hasScroll;
|
||||
@tracked hideRightScroll = false;
|
||||
@tracked hideLeftScroll = true;
|
||||
|
@ -11,6 +11,7 @@ import { i18n } from "discourse-i18n";
|
||||
|
||||
export default class InvitePanel extends Component {
|
||||
@service site;
|
||||
|
||||
@readOnly("currentUser.staff") isStaff;
|
||||
@readOnly("currentUser.admin") isAdmin;
|
||||
@alias("inviteModel.id") topicId;
|
||||
|
@ -10,6 +10,7 @@ import $ from "jquery";
|
||||
@classNames("mobile-nav")
|
||||
export default class MobileNav extends Component {
|
||||
@service router;
|
||||
|
||||
selectedHtml = null;
|
||||
|
||||
@on("init")
|
||||
|
@ -10,6 +10,7 @@ import { allowsImages } from "discourse/lib/uploads";
|
||||
export default class AvatarSelectorModal extends Component {
|
||||
@service currentUser;
|
||||
@service siteSettings;
|
||||
|
||||
@tracked gravatarRefreshDisabled = false;
|
||||
@tracked gravatarFailed = false;
|
||||
@tracked uploading = false;
|
||||
|
@ -29,6 +29,7 @@ export function addBulkDropdownAction(name, customAction) {
|
||||
export default class BulkTopicActions extends Component {
|
||||
@service router;
|
||||
@service toasts;
|
||||
|
||||
@tracked activeComponent = null;
|
||||
@tracked tags = [];
|
||||
@tracked categoryId;
|
||||
|
@ -13,6 +13,7 @@ import { i18n } from "discourse-i18n";
|
||||
|
||||
export default class ChangePostNoticeModal extends Component {
|
||||
@service currentUser;
|
||||
|
||||
@tracked post = this.args.model.post;
|
||||
@tracked notice = this.args.model.post.notice?.raw ?? "";
|
||||
@tracked saving = false;
|
||||
|
@ -9,6 +9,7 @@ import { i18n } from "discourse-i18n";
|
||||
export default class CustomizeFormTemplateViewModal extends Component {
|
||||
@service router;
|
||||
@service dialog;
|
||||
|
||||
@tracked showPreview = false;
|
||||
|
||||
@action
|
||||
|
@ -21,6 +21,7 @@ import DTooltip from "float-kit/components/d-tooltip";
|
||||
|
||||
export default class SpreadsheetEditor extends Component {
|
||||
@service dialog;
|
||||
|
||||
@tracked showEditReason = false;
|
||||
@tracked loading = true;
|
||||
spreadsheet = null;
|
||||
|
@ -49,6 +49,7 @@ const ARGS_DEPRECATION_MSG =
|
||||
|
||||
export default class PluginOutletComponent extends Component {
|
||||
@service clientErrorHandler;
|
||||
|
||||
context = {
|
||||
...helperContext(),
|
||||
get() {
|
||||
|
@ -3,6 +3,7 @@ import { service } from "@ember/service";
|
||||
|
||||
export default class SearchMenuPanel extends Component {
|
||||
@service site;
|
||||
|
||||
get animationClass() {
|
||||
return this.site.mobileView || this.site.narrowDesktopView
|
||||
? "slide-in"
|
||||
|
@ -8,6 +8,7 @@ import concatClass from "discourse/helpers/concat-class";
|
||||
export default class SignupProgressBar extends Component {
|
||||
@service siteSettings;
|
||||
@service site;
|
||||
|
||||
@tracked steps = [];
|
||||
|
||||
constructor() {
|
||||
|
@ -12,6 +12,7 @@ import { i18n } from "discourse-i18n";
|
||||
|
||||
export default class PrivateMessageMap extends Component {
|
||||
@service site;
|
||||
|
||||
@tracked isEditing = false;
|
||||
|
||||
get participantsClasses() {
|
||||
|
@ -1,5 +1,6 @@
|
||||
import Controller, { inject as controller } from "@ember/controller";
|
||||
import { action } from "@ember/object";
|
||||
|
||||
export default class GroupActivityPostsController extends Controller {
|
||||
@controller group;
|
||||
@controller groupActivity;
|
||||
|
@ -9,6 +9,7 @@ import { i18n } from "discourse-i18n";
|
||||
export default class extends Controller {
|
||||
@service currentUser;
|
||||
@service siteSettings;
|
||||
|
||||
@tracked saved = false;
|
||||
@tracked customAttrNames = [];
|
||||
|
||||
|
@ -14,6 +14,7 @@ export default class ReviewIndexController extends Controller {
|
||||
@service currentUser;
|
||||
@service dialog;
|
||||
@service toasts;
|
||||
|
||||
queryParams = [
|
||||
"priority",
|
||||
"type",
|
||||
|
@ -39,6 +39,7 @@ import Post from "discourse/models/post";
|
||||
import Topic from "discourse/models/topic";
|
||||
import TopicTimer from "discourse/models/topic-timer";
|
||||
import { i18n } from "discourse-i18n";
|
||||
|
||||
let customPostMessageCallbacks = {};
|
||||
|
||||
const RETRIES_ON_RATE_LIMIT = 4;
|
||||
|
@ -19,6 +19,7 @@ export default class UserController extends Controller {
|
||||
@optionalService adminTools;
|
||||
|
||||
@controller("user-notifications") userNotifications;
|
||||
|
||||
@setting("moderators_view_emails") canModeratorsViewEmails;
|
||||
|
||||
@equal("router.currentRouteName", "user.summary") isSummaryRoute;
|
||||
|
@ -1,5 +1,6 @@
|
||||
import { next } from "@ember/runloop";
|
||||
import getURL from "discourse/lib/get-url";
|
||||
|
||||
let _started = false;
|
||||
let cache = {};
|
||||
let transitionCount = 0;
|
||||
|
@ -13,6 +13,7 @@ export default class PostBookmarkManager {
|
||||
@service currentUser;
|
||||
@service bookmarkApi;
|
||||
@controller("topic") topicController;
|
||||
|
||||
@tracked trackedBookmark;
|
||||
@tracked bookmarkModel;
|
||||
|
||||
|
@ -9,6 +9,7 @@ export default class TopicBookmarkManager {
|
||||
@service currentUser;
|
||||
@service bookmarkApi;
|
||||
@controller("topic") topicController;
|
||||
|
||||
@tracked trackedBookmark;
|
||||
@tracked bookmarkModel;
|
||||
|
||||
|
@ -44,6 +44,7 @@ export default class Group extends RestModel {
|
||||
requestersOffset = null;
|
||||
|
||||
@equal("mentionable_level", 99) canEveryoneMention;
|
||||
|
||||
init() {
|
||||
super.init(...arguments);
|
||||
this.setProperties({ members: [], requesters: [] });
|
||||
|
@ -1,4 +1,5 @@
|
||||
import deprecated from "discourse/lib/deprecated";
|
||||
|
||||
export { default, flushMap } from "discourse/services/store";
|
||||
|
||||
deprecated(
|
||||
|
@ -10,6 +10,7 @@ export default class InterfaceColor extends Service {
|
||||
@service appEvents;
|
||||
@service siteSettings;
|
||||
@service session;
|
||||
|
||||
@tracked forcedColorMode;
|
||||
|
||||
get lightModeForced() {
|
||||
|
@ -62,6 +62,7 @@ class Timer {
|
||||
@disableImplicitInjections
|
||||
export default class LoadingSlider extends Service.extend(Evented) {
|
||||
@service siteSettings;
|
||||
|
||||
@tracked loading = false;
|
||||
@tracked stillLoading = false;
|
||||
|
||||
|
@ -17,6 +17,7 @@ export const UNSCROLLED = Symbol("unscrolled"),
|
||||
@disableImplicitInjections
|
||||
export default class ScrollDirection extends Service {
|
||||
@service router;
|
||||
|
||||
@tracked lastScrollDirection = UNSCROLLED;
|
||||
|
||||
#lastScroll = null;
|
||||
|
@ -10,6 +10,7 @@ acceptance("Acceptance | decorateCookedElement", function () {
|
||||
test("decorator with renderGlimmer works", async function (assert) {
|
||||
class DemoComponent extends Component {
|
||||
static eventLog = [];
|
||||
|
||||
constructor() {
|
||||
DemoComponent.eventLog.push("created");
|
||||
super(...arguments);
|
||||
|
@ -16,6 +16,7 @@ class CatAdapter extends RestAdapter {
|
||||
class CachedCatAdapter extends RestAdapter {
|
||||
primaryKey = "cat_id";
|
||||
cache = true;
|
||||
|
||||
apiNameFor() {
|
||||
return "cat";
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { set } from "@ember/object";
|
||||
|
||||
export default function (helpers) {
|
||||
const { response } = helpers;
|
||||
|
||||
|
@ -232,6 +232,7 @@ module("Unit | class-prepend", function () {
|
||||
(Superclass) =>
|
||||
class extends Superclass {
|
||||
static someStaticField = this;
|
||||
|
||||
static someStaticMethod() {
|
||||
return this;
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import {
|
||||
grantableBadges,
|
||||
isBadgeGrantable,
|
||||
} from "discourse/lib/grant-badge-utils";
|
||||
|
||||
module("Unit | Utility | Grant Badge", function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
|
@ -217,6 +217,7 @@ module("Unit | Utils | decorators", function (hooks) {
|
||||
withSilencedDeprecations("discourse.utils-decorators-observes", () => {
|
||||
NativeClassWithObserver = class extends EmberObject {
|
||||
counter = 0;
|
||||
|
||||
@observes("value")
|
||||
incrementCounter() {
|
||||
this.set("counter", this.counter + 1);
|
||||
@ -257,6 +258,7 @@ module("Unit | Utils | decorators", function (hooks) {
|
||||
withSilencedDeprecations("discourse.utils-decorators-on", () => {
|
||||
NativeClassWithOn = class extends EmberObject {
|
||||
counter = 0;
|
||||
|
||||
@on("init")
|
||||
incrementCounter() {
|
||||
this.set("counter", this.counter + 1);
|
||||
|
@ -3,6 +3,7 @@ import { classNames } from "@ember-decorators/component";
|
||||
import { i18n } from "discourse-i18n";
|
||||
import NotificationOptionsComponent from "select-kit/components/notifications-button";
|
||||
import { pluginApiIdentifiers, selectKitOptions } from "./select-kit";
|
||||
|
||||
@selectKitOptions({
|
||||
i18nPrefix: "category.notifications",
|
||||
showFullTitle: false,
|
||||
|
@ -21,6 +21,7 @@ export default class CategorySelector extends MultiSelectComponent {
|
||||
blockedCategories = null;
|
||||
|
||||
@mapBy("categories", "id") value;
|
||||
|
||||
init() {
|
||||
super.init(...arguments);
|
||||
|
||||
|
@ -18,6 +18,7 @@ export default class SelectKitFilter extends Component.extend(UtilsMixin) {
|
||||
tabIndex = -1;
|
||||
|
||||
@not("isHidden") isExpanded;
|
||||
|
||||
@computed(
|
||||
"selectKit.options.{filterable,allowAny,autoFilterable}",
|
||||
"content.[]"
|
||||
|
@ -39,6 +39,7 @@ export default class SelectKitRow extends Component.extend(UtilsMixin) {
|
||||
role = "menuitemradio";
|
||||
|
||||
@reads("item.lang") lang;
|
||||
|
||||
didInsertElement() {
|
||||
super.didInsertElement(...arguments);
|
||||
|
||||
|
@ -4,15 +4,8 @@ export default [
|
||||
...DiscourseRecommended,
|
||||
{
|
||||
rules: {
|
||||
"ember/no-classic-classes": "error",
|
||||
"discourse/i18n-import-location": "error",
|
||||
"discourse/i18n-t": "error",
|
||||
"discourse/discourse-common-imports": "error",
|
||||
"qunit/no-assert-equal-boolean": "error",
|
||||
"qunit/no-assert-equal": "error",
|
||||
"qunit/no-loose-assertions": "error",
|
||||
"qunit/no-negated-ok": "error",
|
||||
"qunit/no-ok-equality": "error",
|
||||
},
|
||||
},
|
||||
{
|
||||
|
@ -6,7 +6,7 @@
|
||||
"license": "GPL-2.0-only",
|
||||
"devDependencies": {
|
||||
"@babel/plugin-proposal-decorators": "^7.25.9",
|
||||
"@discourse/lint-configs": "^2.9.0",
|
||||
"@discourse/lint-configs": "^2.11.0",
|
||||
"@discourse/moment-timezone-names-translations": "^1.0.0",
|
||||
"@fortawesome/fontawesome-free": "6.7.2",
|
||||
"@glint/core": "1.4.1-unstable.34c4510",
|
||||
@ -20,9 +20,9 @@
|
||||
"chrome-launcher": "^1.1.2",
|
||||
"chrome-remote-interface": "^0.33.3",
|
||||
"concurrently": "^9.1.2",
|
||||
"ember-template-lint": "7.0.0",
|
||||
"ember-template-lint": "7.0.1",
|
||||
"esbuild": "^0.25.0",
|
||||
"eslint": "9.21.0",
|
||||
"eslint": "9.22.0",
|
||||
"jsdoc": "^4.0.4",
|
||||
"lefthook": "^1.11.3",
|
||||
"licensee": "^11.1.1",
|
||||
|
@ -9,6 +9,7 @@ import DAFieldLabel from "./da-field-label";
|
||||
|
||||
export default class GroupField extends BaseField {
|
||||
@service store;
|
||||
|
||||
@tracked allCustomFields = [];
|
||||
|
||||
<template>
|
||||
|
@ -10,6 +10,7 @@ import DAFieldLabel from "./da-field-label";
|
||||
|
||||
export default class GroupField extends BaseField {
|
||||
@service store;
|
||||
|
||||
@tracked allCustomFields = [];
|
||||
|
||||
<template>
|
||||
|
@ -10,6 +10,7 @@ import { i18n } from "discourse-i18n";
|
||||
export default class AutomationEdit extends Controller {
|
||||
@service dialog;
|
||||
@service router;
|
||||
|
||||
error = null;
|
||||
isUpdatingAutomation = false;
|
||||
isTriggeringAutomation = false;
|
||||
|
@ -5,6 +5,7 @@ import { service } from "@ember/service";
|
||||
|
||||
export default class AutomationNew extends Controller {
|
||||
@service router;
|
||||
|
||||
@tracked filterText = "";
|
||||
|
||||
@action
|
||||
|
@ -7,6 +7,7 @@ import ChatFabricators from "discourse/plugins/chat/discourse/lib/fabricators";
|
||||
|
||||
export default class ChatStyleguideChatThreadListItem extends Component {
|
||||
@service currentUser;
|
||||
|
||||
@tracked thread;
|
||||
|
||||
constructor() {
|
||||
|
@ -22,6 +22,7 @@ export default class ChatChannelsManager extends Service {
|
||||
@service router;
|
||||
@service site;
|
||||
@service siteSettings;
|
||||
|
||||
@tracked _cached = new TrackedObject();
|
||||
|
||||
async find(id, options = { fetchIfNotFound: true }) {
|
||||
|
462
pnpm-lock.yaml
generated
462
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user