From fcd2ac9ac5b3e3b92f466d53b261710cd29c8c9d Mon Sep 17 00:00:00 2001
From: Coung Ngo <cngo@gitlab.com>
Date: Fri, 25 Aug 2023 00:03:47 +0100
Subject: [PATCH] Move sidebar queries for better tree-shaking

Move sidebar query constants into `queries` directory so that
consumers can import ~/sidebar/constants without also importing
all the queries along with it
---
 .../notes/components/sidebar_subscription.vue |   2 +-
 .../assignees/assignees_realtime.vue          |   2 +-
 .../assignees/sidebar_assignees_widget.vue    |   2 +-
 .../sidebar_confidentiality_form.vue          |   2 +-
 .../sidebar_confidentiality_widget.vue        |   3 +-
 .../copy/sidebar_reference_widget.vue         |   2 +-
 .../components/date/sidebar_date_widget.vue   |   3 +-
 .../incidents/sidebar_escalation_status.vue   |   7 +-
 .../dropdown_contents_create_view.vue         |   2 +-
 .../dropdown_contents_labels_view.vue         |   2 +-
 .../labels_select_root.vue                    |   2 +-
 .../sidebar_participants_widget.vue           |   2 +-
 .../sidebar/components/sidebar_dropdown.vue   |   2 +-
 .../components/sidebar_dropdown_widget.vue    |   2 +-
 .../sidebar_subscriptions_widget.vue          |   3 +-
 .../components/time_tracking/report.vue       |   2 +-
 .../components/time_tracking/time_tracker.vue |   3 +-
 .../todo_toggle/sidebar_todo_widget.vue       |   3 +-
 app/assets/javascripts/sidebar/constants.js   | 268 -----------------
 .../javascripts/sidebar/queries/constants.js  | 270 ++++++++++++++++++
 .../components/user_select/user_select.vue    |   2 +-
 .../sidebar_ancestors_widget.vue              |   2 +-
 .../sidebar_health_status_widget.vue          |   2 +-
 .../components/sidebar_dropdown_widget.vue    |   2 +-
 .../weight/sidebar_weight_widget.vue          |   3 +-
 .../assets/javascripts/sidebar/constants.js   |  99 -------
 .../javascripts/sidebar/queries/constants.js  | 100 +++++++
 .../sidebar_health_status_widget_spec.js      |   2 +-
 .../sidebar_iteration_widget_spec.js          |   3 +-
 .../sidebar_dropdown_widget_spec.js           |   3 +-
 .../sidebar_confidentiality_form_spec.js      |   2 +-
 .../sidebar_escalation_status_spec.js         |   7 +-
 .../dropdown_contents_create_view_spec.js     |   2 +-
 33 files changed, 409 insertions(+), 404 deletions(-)
 create mode 100644 app/assets/javascripts/sidebar/queries/constants.js
 create mode 100644 ee/app/assets/javascripts/sidebar/queries/constants.js

diff --git a/app/assets/javascripts/notes/components/sidebar_subscription.vue b/app/assets/javascripts/notes/components/sidebar_subscription.vue
index f60a17eb36b45..c02c7a57dfad4 100644
--- a/app/assets/javascripts/notes/components/sidebar_subscription.vue
+++ b/app/assets/javascripts/notes/components/sidebar_subscription.vue
@@ -3,7 +3,7 @@
 import { mapActions } from 'vuex';
 import { TYPE_EPIC, TYPE_ISSUE } from '~/issues/constants';
 import { fetchPolicies } from '~/lib/graphql';
-import { confidentialityQueries } from '~/sidebar/constants';
+import { confidentialityQueries } from '~/sidebar/queries/constants';
 import { defaultClient as gqlClient } from '~/graphql_shared/issuable_client';
 
 export default {
diff --git a/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue b/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue
index 319699b88f3fb..cf77a5ca82c9b 100644
--- a/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue
+++ b/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue
@@ -1,6 +1,6 @@
 <script>
 import { getIdFromGraphQLId } from '~/graphql_shared/utils';
-import { assigneesQueries } from '../../constants';
+import { assigneesQueries } from '../../queries/constants';
 
 export default {
   subscription: null,
diff --git a/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees_widget.vue b/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees_widget.vue
index ae81dcb95ded7..4ff12824008ab 100644
--- a/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees_widget.vue
+++ b/app/assets/javascripts/sidebar/components/assignees/sidebar_assignees_widget.vue
@@ -6,7 +6,7 @@ import { TYPE_ALERT, TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';
 import { __, n__ } from '~/locale';
 import UserSelect from '~/vue_shared/components/user_select/user_select.vue';
 import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
-import { assigneesQueries } from '../../constants';
+import { assigneesQueries } from '../../queries/constants';
 import SidebarEditableItem from '../sidebar_editable_item.vue';
 import SidebarAssigneesRealtime from './assignees_realtime.vue';
 import IssuableAssignees from './issuable_assignees.vue';
diff --git a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_form.vue b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_form.vue
index 3038cec03ebd9..96d72e9545e3b 100644
--- a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_form.vue
+++ b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_form.vue
@@ -3,7 +3,7 @@ import { GlSprintf, GlButton } from '@gitlab/ui';
 import { createAlert } from '~/alert';
 import { TYPE_ISSUE } from '~/issues/constants';
 import { __, sprintf } from '~/locale';
-import { confidentialityQueries } from '../../constants';
+import { confidentialityQueries } from '../../queries/constants';
 
 export default {
   i18n: {
diff --git a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_widget.vue b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_widget.vue
index 9177baec24629..295d37671cc0b 100644
--- a/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_widget.vue
+++ b/app/assets/javascripts/sidebar/components/confidential/sidebar_confidentiality_widget.vue
@@ -3,7 +3,8 @@ import produce from 'immer';
 import Vue from 'vue';
 import { createAlert } from '~/alert';
 import { __, sprintf } from '~/locale';
-import { confidentialityQueries, Tracking } from '../../constants';
+import { Tracking } from '../../constants';
+import { confidentialityQueries } from '../../queries/constants';
 import SidebarEditableItem from '../sidebar_editable_item.vue';
 import SidebarConfidentialityContent from './sidebar_confidentiality_content.vue';
 import SidebarConfidentialityForm from './sidebar_confidentiality_form.vue';
diff --git a/app/assets/javascripts/sidebar/components/copy/sidebar_reference_widget.vue b/app/assets/javascripts/sidebar/components/copy/sidebar_reference_widget.vue
index 3287539e50279..7a488bb379f48 100644
--- a/app/assets/javascripts/sidebar/components/copy/sidebar_reference_widget.vue
+++ b/app/assets/javascripts/sidebar/components/copy/sidebar_reference_widget.vue
@@ -1,6 +1,6 @@
 <script>
 import { __ } from '~/locale';
-import { referenceQueries } from '../../constants';
+import { referenceQueries } from '../../queries/constants';
 import CopyableField from './copyable_field.vue';
 
 export default {
diff --git a/app/assets/javascripts/sidebar/components/date/sidebar_date_widget.vue b/app/assets/javascripts/sidebar/components/date/sidebar_date_widget.vue
index 5a9545f34609d..89bc4b126d693 100644
--- a/app/assets/javascripts/sidebar/components/date/sidebar_date_widget.vue
+++ b/app/assets/javascripts/sidebar/components/date/sidebar_date_widget.vue
@@ -4,7 +4,8 @@ import { createAlert } from '~/alert';
 import { TYPE_ISSUE } from '~/issues/constants';
 import { dateInWords, formatDate, parsePikadayDate } from '~/lib/utils/datetime_utility';
 import { __, sprintf } from '~/locale';
-import { dateFields, dateTypes, dueDateQueries, startDateQueries, Tracking } from '../../constants';
+import { dateFields, dateTypes, Tracking } from '../../constants';
+import { dueDateQueries, startDateQueries } from '../../queries/constants';
 import SidebarEditableItem from '../sidebar_editable_item.vue';
 import SidebarFormattedDate from './sidebar_formatted_date.vue';
 import SidebarInheritDate from './sidebar_inherit_date.vue';
diff --git a/app/assets/javascripts/sidebar/components/incidents/sidebar_escalation_status.vue b/app/assets/javascripts/sidebar/components/incidents/sidebar_escalation_status.vue
index 6db332a82dae4..576043963de9a 100644
--- a/app/assets/javascripts/sidebar/components/incidents/sidebar_escalation_status.vue
+++ b/app/assets/javascripts/sidebar/components/incidents/sidebar_escalation_status.vue
@@ -3,11 +3,8 @@ import { GlIcon, GlTooltipDirective } from '@gitlab/ui';
 import { createAlert } from '~/alert';
 import { logError } from '~/lib/logger';
 import EscalationStatus from 'ee_else_ce/sidebar/components/incidents/escalation_status.vue';
-import {
-  escalationStatusQuery,
-  escalationStatusMutation,
-  INCIDENTS_I18N as i18n,
-} from '../../constants';
+import { INCIDENTS_I18N as i18n } from '../../constants';
+import { escalationStatusQuery, escalationStatusMutation } from '../../queries/constants';
 import { getStatusLabel } from '../../utils';
 import SidebarEditableItem from '../sidebar_editable_item.vue';
 
diff --git a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue
index 4577864095729..8bbec6794cab7 100644
--- a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue
+++ b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue
@@ -11,7 +11,7 @@ import produce from 'immer';
 import { createAlert } from '~/alert';
 import { WORKSPACE_GROUP } from '~/issues/constants';
 import { __ } from '~/locale';
-import { workspaceLabelsQueries } from '../../../constants';
+import { workspaceLabelsQueries } from '../../../queries/constants';
 import createLabelMutation from './graphql/create_label.mutation.graphql';
 import { DEFAULT_LABEL_COLOR } from './constants';
 
diff --git a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue
index d8d07b4b22157..fc8834a97d494 100644
--- a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue
+++ b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/dropdown_contents_labels_view.vue
@@ -4,7 +4,7 @@ import fuzzaldrinPlus from 'fuzzaldrin-plus';
 import { createAlert } from '~/alert';
 import { getIdFromGraphQLId } from '~/graphql_shared/utils';
 import { __ } from '~/locale';
-import { workspaceLabelsQueries } from '../../../constants';
+import { workspaceLabelsQueries } from '../../../queries/constants';
 import LabelItem from './label_item.vue';
 
 export default {
diff --git a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/labels_select_root.vue b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/labels_select_root.vue
index 74c3f08a47b40..f9a9cc316c10a 100644
--- a/app/assets/javascripts/sidebar/components/labels/labels_select_widget/labels_select_root.vue
+++ b/app/assets/javascripts/sidebar/components/labels/labels_select_widget/labels_select_root.vue
@@ -7,7 +7,7 @@ import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
 import { TYPE_EPIC, TYPE_ISSUE, TYPE_MERGE_REQUEST, TYPE_TEST_CASE } from '~/issues/constants';
 
 import { __ } from '~/locale';
-import { issuableLabelsQueries } from '../../../constants';
+import { issuableLabelsQueries } from '../../../queries/constants';
 import SidebarEditableItem from '../../sidebar_editable_item.vue';
 import { DEBOUNCE_DROPDOWN_DELAY, VARIANT_SIDEBAR } from './constants';
 import DropdownContents from './dropdown_contents.vue';
diff --git a/app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue b/app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue
index b0556e22a8df9..b764d660d6371 100644
--- a/app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue
+++ b/app/assets/javascripts/sidebar/components/participants/sidebar_participants_widget.vue
@@ -1,6 +1,6 @@
 <script>
 import { __ } from '~/locale';
-import { participantsQueries } from '../../constants';
+import { participantsQueries } from '../../queries/constants';
 import Participants from './participants.vue';
 
 export default {
diff --git a/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue b/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue
index 50b4284cde08b..c9450244b4051 100644
--- a/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue
+++ b/app/assets/javascripts/sidebar/components/sidebar_dropdown.vue
@@ -20,13 +20,13 @@ import {
   defaultEpicSort,
   dropdowni18nText,
   epicIidPattern,
-  issuableAttributesQueries,
   IssuableAttributeState,
   IssuableAttributeType,
   IssuableAttributeTypeKeyMap,
   LocalizedIssuableAttributeType,
   noAttributeId,
 } from 'ee_else_ce/sidebar/constants';
+import { issuableAttributesQueries } from 'ee_else_ce/sidebar/queries/constants';
 import { createAlert } from '~/alert';
 import { PathIdSeparator } from '~/related_issues/constants';
 
diff --git a/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue b/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue
index 4721c6fee611c..7fde43a360df4 100644
--- a/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue
+++ b/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue
@@ -11,10 +11,10 @@ import {
   dropdowni18nText,
   LocalizedIssuableAttributeType,
   IssuableAttributeTypeKeyMap,
-  issuableAttributesQueries,
   IssuableAttributeType,
   Tracking,
 } from 'ee_else_ce/sidebar/constants';
+import { issuableAttributesQueries } from 'ee_else_ce/sidebar/queries/constants';
 import SidebarDropdown from './sidebar_dropdown.vue';
 import SidebarEditableItem from './sidebar_editable_item.vue';
 
diff --git a/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue b/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue
index d6e1847aecbb2..568962cddc7fe 100644
--- a/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue
+++ b/app/assets/javascripts/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue
@@ -13,7 +13,8 @@ import { isLoggedIn } from '~/lib/utils/common_utils';
 import { __, sprintf } from '~/locale';
 import glFeatureFlagMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
 import toast from '~/vue_shared/plugins/global_toast';
-import { subscribedQueries, Tracking } from '../../constants';
+import { Tracking } from '../../constants';
+import { subscribedQueries } from '../../queries/constants';
 import SidebarEditableItem from '../sidebar_editable_item.vue';
 
 const ICON_ON = 'notifications';
diff --git a/app/assets/javascripts/sidebar/components/time_tracking/report.vue b/app/assets/javascripts/sidebar/components/time_tracking/report.vue
index 70d8024f46aad..9bd4c7f5c68ae 100644
--- a/app/assets/javascripts/sidebar/components/time_tracking/report.vue
+++ b/app/assets/javascripts/sidebar/components/time_tracking/report.vue
@@ -7,7 +7,7 @@ import { convertToGraphQLId } from '~/graphql_shared/utils';
 import { TYPE_ISSUE } from '~/issues/constants';
 import { formatDate, parseSeconds, stringifyTime } from '~/lib/utils/datetime_utility';
 import { __, s__ } from '~/locale';
-import { timelogQueries } from '../../constants';
+import { timelogQueries } from '../../queries/constants';
 import deleteTimelogMutation from '../../queries/delete_timelog.mutation.graphql';
 
 const TIME_DATE_FORMAT = 'mmmm d, yyyy, HH:MM ("UTC:" o)';
diff --git a/app/assets/javascripts/sidebar/components/time_tracking/time_tracker.vue b/app/assets/javascripts/sidebar/components/time_tracking/time_tracker.vue
index 1d427a871e1fb..91b23689f0d90 100644
--- a/app/assets/javascripts/sidebar/components/time_tracking/time_tracker.vue
+++ b/app/assets/javascripts/sidebar/components/time_tracking/time_tracker.vue
@@ -12,7 +12,8 @@ import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';
 import { BV_SHOW_MODAL } from '~/lib/utils/constants';
 import { s__, __ } from '~/locale';
 
-import { HOW_TO_TRACK_TIME, timeTrackingQueries } from '../../constants';
+import { HOW_TO_TRACK_TIME } from '../../constants';
+import { timeTrackingQueries } from '../../queries/constants';
 import eventHub from '../../event_hub';
 import TimeTrackingCollapsedState from './collapsed_state.vue';
 import TimeTrackingComparisonPane from './comparison_pane.vue';
diff --git a/app/assets/javascripts/sidebar/components/todo_toggle/sidebar_todo_widget.vue b/app/assets/javascripts/sidebar/components/todo_toggle/sidebar_todo_widget.vue
index 551d306a9c4b1..1099dcb832f53 100644
--- a/app/assets/javascripts/sidebar/components/todo_toggle/sidebar_todo_widget.vue
+++ b/app/assets/javascripts/sidebar/components/todo_toggle/sidebar_todo_widget.vue
@@ -6,7 +6,8 @@ import { TYPE_MERGE_REQUEST } from '~/issues/constants';
 import { __, sprintf } from '~/locale';
 import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
 import Tracking from '~/tracking';
-import { todoQueries, TodoMutationTypes, todoMutations } from '../../constants';
+import { TodoMutationTypes } from '../../constants';
+import { todoQueries, todoMutations } from '../../queries/constants';
 import { todoLabel } from '../../utils';
 import TodoButton from './todo_button.vue';
 
diff --git a/app/assets/javascripts/sidebar/constants.js b/app/assets/javascripts/sidebar/constants.js
index 752d031522778..f13f613733bd8 100644
--- a/app/assets/javascripts/sidebar/constants.js
+++ b/app/assets/javascripts/sidebar/constants.js
@@ -1,173 +1,10 @@
 import { invert } from 'lodash';
 import { s__, __, sprintf } from '~/locale';
-import updateIssueLabelsMutation from '~/boards/graphql/issue_set_labels.mutation.graphql';
-import userAutocompleteQuery from '~/graphql_shared/queries/project_autocomplete_users.query.graphql';
-import userAutocompleteWithMRPermissionsQuery from '~/graphql_shared/queries/project_autocomplete_users_with_mr_permissions.query.graphql';
-import {
-  TYPE_ALERT,
-  TYPE_EPIC,
-  TYPE_ISSUE,
-  TYPE_MERGE_REQUEST,
-  TYPE_TEST_CASE,
-  WORKSPACE_GROUP,
-  WORKSPACE_PROJECT,
-} from '~/issues/constants';
-import updateAlertAssigneesMutation from '~/vue_shared/alert_details/graphql/mutations/alert_set_assignees.mutation.graphql';
-import issuableDatesUpdatedSubscription from '../graphql_shared/subscriptions/work_item_dates.subscription.graphql';
-import updateTestCaseLabelsMutation from './components/labels/labels_select_widget/graphql/update_test_case_labels.mutation.graphql';
-import epicLabelsQuery from './components/labels/labels_select_widget/graphql/epic_labels.query.graphql';
-import updateEpicLabelsMutation from './components/labels/labels_select_widget/graphql/epic_update_labels.mutation.graphql';
-import groupLabelsQuery from './components/labels/labels_select_widget/graphql/group_labels.query.graphql';
-import issueLabelsQuery from './components/labels/labels_select_widget/graphql/issue_labels.query.graphql';
-import mergeRequestLabelsQuery from './components/labels/labels_select_widget/graphql/merge_request_labels.query.graphql';
-import projectLabelsQuery from './components/labels/labels_select_widget/graphql/project_labels.query.graphql';
-import epicConfidentialQuery from './queries/epic_confidential.query.graphql';
-import epicDueDateQuery from './queries/epic_due_date.query.graphql';
-import epicParticipantsQuery from './queries/epic_participants.query.graphql';
-import epicReferenceQuery from './queries/epic_reference.query.graphql';
-import epicStartDateQuery from './queries/epic_start_date.query.graphql';
-import epicSubscribedQuery from './queries/epic_subscribed.query.graphql';
-import epicTodoQuery from './queries/epic_todo.query.graphql';
-import issuableAssigneesSubscription from './queries/issuable_assignees.subscription.graphql';
-import issueConfidentialQuery from './queries/issue_confidential.query.graphql';
-import issueDueDateQuery from './queries/issue_due_date.query.graphql';
-import issueReferenceQuery from './queries/issue_reference.query.graphql';
-import issueSubscribedQuery from './queries/issue_subscribed.query.graphql';
-import issueTimeTrackingQuery from './queries/issue_time_tracking.query.graphql';
-import issueTodoQuery from './queries/issue_todo.query.graphql';
-import mergeRequestMilestone from './queries/merge_request_milestone.query.graphql';
-import mergeRequestReferenceQuery from './queries/merge_request_reference.query.graphql';
-import mergeRequestSubscribed from './queries/merge_request_subscribed.query.graphql';
-import mergeRequestTimeTrackingQuery from './queries/merge_request_time_tracking.query.graphql';
-import mergeRequestTodoQuery from './queries/merge_request_todo.query.graphql';
-import todoCreateMutation from './queries/todo_create.mutation.graphql';
-import todoMarkDoneMutation from './queries/todo_mark_done.mutation.graphql';
-import updateEpicConfidentialMutation from './queries/update_epic_confidential.mutation.graphql';
-import updateEpicDueDateMutation from './queries/update_epic_due_date.mutation.graphql';
-import updateEpicStartDateMutation from './queries/update_epic_start_date.mutation.graphql';
-import updateEpicSubscriptionMutation from './queries/update_epic_subscription.mutation.graphql';
-import updateIssueConfidentialMutation from './queries/update_issue_confidential.mutation.graphql';
-import updateIssueDueDateMutation from './queries/update_issue_due_date.mutation.graphql';
-import updateIssueSubscriptionMutation from './queries/update_issue_subscription.mutation.graphql';
-import mergeRequestMilestoneMutation from './queries/update_merge_request_milestone.mutation.graphql';
-import updateMergeRequestLabelsMutation from './queries/update_merge_request_labels.mutation.graphql';
-import updateMergeRequestSubscriptionMutation from './queries/update_merge_request_subscription.mutation.graphql';
-import getAlertAssignees from './queries/get_alert_assignees.query.graphql';
-import getIssueAssignees from './queries/get_issue_assignees.query.graphql';
-import issueParticipantsQuery from './queries/get_issue_participants.query.graphql';
-import getIssueTimelogsQuery from './queries/get_issue_timelogs.query.graphql';
-import getMergeRequestAssignees from './queries/get_mr_assignees.query.graphql';
-import getMergeRequestParticipants from './queries/get_mr_participants.query.graphql';
-import getMrTimelogsQuery from './queries/get_mr_timelogs.query.graphql';
-import updateIssueAssigneesMutation from './queries/update_issue_assignees.mutation.graphql';
-import updateMergeRequestAssigneesMutation from './queries/update_mr_assignees.mutation.graphql';
-import getEscalationStatusQuery from './queries/escalation_status.query.graphql';
-import updateEscalationStatusMutation from './queries/update_escalation_status.mutation.graphql';
-import groupMilestonesQuery from './queries/group_milestones.query.graphql';
-import projectIssueMilestoneMutation from './queries/project_issue_milestone.mutation.graphql';
-import projectIssueMilestoneQuery from './queries/project_issue_milestone.query.graphql';
-import projectMilestonesQuery from './queries/project_milestones.query.graphql';
 
 export const defaultEpicSort = 'TITLE_ASC';
 
 export const epicIidPattern = /^&(?<iid>\d+)$/;
 
-export const assigneesQueries = {
-  [TYPE_ISSUE]: {
-    query: getIssueAssignees,
-    subscription: issuableAssigneesSubscription,
-    mutation: updateIssueAssigneesMutation,
-  },
-  [TYPE_MERGE_REQUEST]: {
-    query: getMergeRequestAssignees,
-    mutation: updateMergeRequestAssigneesMutation,
-  },
-  [TYPE_ALERT]: {
-    query: getAlertAssignees,
-    mutation: updateAlertAssigneesMutation,
-  },
-};
-
-export const participantsQueries = {
-  [TYPE_ISSUE]: {
-    query: issueParticipantsQuery,
-  },
-  [TYPE_MERGE_REQUEST]: {
-    query: getMergeRequestParticipants,
-  },
-  [TYPE_EPIC]: {
-    query: epicParticipantsQuery,
-  },
-  [TYPE_ALERT]: {
-    query: '',
-    skipQuery: true,
-  },
-};
-
-export const userSearchQueries = {
-  [TYPE_ISSUE]: {
-    query: userAutocompleteQuery,
-  },
-  [TYPE_MERGE_REQUEST]: {
-    query: userAutocompleteWithMRPermissionsQuery,
-  },
-};
-
-export const confidentialityQueries = {
-  [TYPE_ISSUE]: {
-    query: issueConfidentialQuery,
-    mutation: updateIssueConfidentialMutation,
-  },
-  [TYPE_EPIC]: {
-    query: epicConfidentialQuery,
-    mutation: updateEpicConfidentialMutation,
-  },
-};
-
-export const referenceQueries = {
-  [TYPE_ISSUE]: {
-    query: issueReferenceQuery,
-  },
-  [TYPE_MERGE_REQUEST]: {
-    query: mergeRequestReferenceQuery,
-  },
-  [TYPE_EPIC]: {
-    query: epicReferenceQuery,
-  },
-};
-
-export const workspaceLabelsQueries = {
-  [WORKSPACE_PROJECT]: {
-    query: projectLabelsQuery,
-  },
-  [WORKSPACE_GROUP]: {
-    query: groupLabelsQuery,
-  },
-};
-
-export const issuableLabelsQueries = {
-  [TYPE_ISSUE]: {
-    issuableQuery: issueLabelsQuery,
-    mutation: updateIssueLabelsMutation,
-    mutationName: 'updateIssue',
-  },
-  [TYPE_MERGE_REQUEST]: {
-    issuableQuery: mergeRequestLabelsQuery,
-    mutation: updateMergeRequestLabelsMutation,
-    mutationName: 'mergeRequestSetLabels',
-  },
-  [TYPE_EPIC]: {
-    issuableQuery: epicLabelsQuery,
-    mutation: updateEpicLabelsMutation,
-    mutationName: 'updateEpic',
-  },
-  [TYPE_TEST_CASE]: {
-    issuableQuery: issueLabelsQuery,
-    mutation: updateTestCaseLabelsMutation,
-    mutationName: 'updateTestCaseLabels',
-  },
-};
-
 export const dateTypes = {
   start: 'startDate',
   due: 'dueDate',
@@ -186,91 +23,13 @@ export const dateFields = {
   },
 };
 
-export const subscribedQueries = {
-  [TYPE_ISSUE]: {
-    query: issueSubscribedQuery,
-    mutation: updateIssueSubscriptionMutation,
-  },
-  [TYPE_EPIC]: {
-    query: epicSubscribedQuery,
-    mutation: updateEpicSubscriptionMutation,
-  },
-  [TYPE_MERGE_REQUEST]: {
-    query: mergeRequestSubscribed,
-    mutation: updateMergeRequestSubscriptionMutation,
-  },
-};
-
 export const Tracking = {
   editEvent: 'click_edit_button',
   rightSidebarLabel: 'right_sidebar',
 };
 
-export const timeTrackingQueries = {
-  [TYPE_ISSUE]: {
-    query: issueTimeTrackingQuery,
-  },
-  [TYPE_MERGE_REQUEST]: {
-    query: mergeRequestTimeTrackingQuery,
-  },
-};
-
-export const dueDateQueries = {
-  [TYPE_ISSUE]: {
-    query: issueDueDateQuery,
-    mutation: updateIssueDueDateMutation,
-    subscription: issuableDatesUpdatedSubscription,
-  },
-  [TYPE_EPIC]: {
-    query: epicDueDateQuery,
-    mutation: updateEpicDueDateMutation,
-  },
-};
-
-export const startDateQueries = {
-  [TYPE_EPIC]: {
-    query: epicStartDateQuery,
-    mutation: updateEpicStartDateMutation,
-  },
-};
-
-export const timelogQueries = {
-  [TYPE_ISSUE]: {
-    query: getIssueTimelogsQuery,
-  },
-  [TYPE_MERGE_REQUEST]: {
-    query: getMrTimelogsQuery,
-  },
-};
-
 export const noAttributeId = null;
 
-export const issuableMilestoneQueries = {
-  [TYPE_ISSUE]: {
-    query: projectIssueMilestoneQuery,
-    mutation: projectIssueMilestoneMutation,
-  },
-  [TYPE_MERGE_REQUEST]: {
-    query: mergeRequestMilestone,
-    mutation: mergeRequestMilestoneMutation,
-  },
-};
-
-export const milestonesQueries = {
-  [TYPE_ISSUE]: {
-    query: {
-      [WORKSPACE_GROUP]: groupMilestonesQuery,
-      [WORKSPACE_PROJECT]: projectMilestonesQuery,
-    },
-  },
-  [TYPE_MERGE_REQUEST]: {
-    query: {
-      [WORKSPACE_GROUP]: groupMilestonesQuery,
-      [WORKSPACE_PROJECT]: projectMilestonesQuery,
-    },
-  },
-};
-
 export const IssuableAttributeType = {
   Milestone: 'milestone',
 };
@@ -285,35 +44,11 @@ export const IssuableAttributeState = {
   [IssuableAttributeType.Milestone]: 'active',
 };
 
-export const issuableAttributesQueries = {
-  [IssuableAttributeType.Milestone]: {
-    current: issuableMilestoneQueries,
-    list: milestonesQueries,
-  },
-};
-
-export const todoQueries = {
-  [TYPE_EPIC]: {
-    query: epicTodoQuery,
-  },
-  [TYPE_ISSUE]: {
-    query: issueTodoQuery,
-  },
-  [TYPE_MERGE_REQUEST]: {
-    query: mergeRequestTodoQuery,
-  },
-};
-
 export const TodoMutationTypes = {
   Create: 'create',
   MarkDone: 'mark-done',
 };
 
-export const todoMutations = {
-  [TodoMutationTypes.Create]: todoCreateMutation,
-  [TodoMutationTypes.MarkDone]: todoMarkDoneMutation,
-};
-
 export function dropdowni18nText(issuableAttribute, issuableType) {
   return {
     noAttribute: sprintf(s__('DropdownWidget|No %{issuableAttribute}'), {
@@ -362,9 +97,6 @@ export function dropdowni18nText(issuableAttribute, issuableType) {
   };
 }
 
-export const escalationStatusQuery = getEscalationStatusQuery;
-export const escalationStatusMutation = updateEscalationStatusMutation;
-
 export const HOW_TO_TRACK_TIME = __('How to track time');
 
 export const statusDropdownOptions = [
diff --git a/app/assets/javascripts/sidebar/queries/constants.js b/app/assets/javascripts/sidebar/queries/constants.js
new file mode 100644
index 0000000000000..9f71091b8fcd9
--- /dev/null
+++ b/app/assets/javascripts/sidebar/queries/constants.js
@@ -0,0 +1,270 @@
+import updateIssueLabelsMutation from '~/boards/graphql/issue_set_labels.mutation.graphql';
+import userAutocompleteQuery from '~/graphql_shared/queries/project_autocomplete_users.query.graphql';
+import userAutocompleteWithMRPermissionsQuery from '~/graphql_shared/queries/project_autocomplete_users_with_mr_permissions.query.graphql';
+import issuableDatesUpdatedSubscription from '~/graphql_shared/subscriptions/work_item_dates.subscription.graphql';
+import {
+  TYPE_ALERT,
+  TYPE_EPIC,
+  TYPE_ISSUE,
+  TYPE_MERGE_REQUEST,
+  TYPE_TEST_CASE,
+  WORKSPACE_GROUP,
+  WORKSPACE_PROJECT,
+} from '~/issues/constants';
+import updateAlertAssigneesMutation from '~/vue_shared/alert_details/graphql/mutations/alert_set_assignees.mutation.graphql';
+import updateTestCaseLabelsMutation from '../components/labels/labels_select_widget/graphql/update_test_case_labels.mutation.graphql';
+import epicLabelsQuery from '../components/labels/labels_select_widget/graphql/epic_labels.query.graphql';
+import updateEpicLabelsMutation from '../components/labels/labels_select_widget/graphql/epic_update_labels.mutation.graphql';
+import groupLabelsQuery from '../components/labels/labels_select_widget/graphql/group_labels.query.graphql';
+import issueLabelsQuery from '../components/labels/labels_select_widget/graphql/issue_labels.query.graphql';
+import mergeRequestLabelsQuery from '../components/labels/labels_select_widget/graphql/merge_request_labels.query.graphql';
+import projectLabelsQuery from '../components/labels/labels_select_widget/graphql/project_labels.query.graphql';
+import { IssuableAttributeType, TodoMutationTypes } from '../constants';
+import epicConfidentialQuery from './epic_confidential.query.graphql';
+import epicDueDateQuery from './epic_due_date.query.graphql';
+import epicParticipantsQuery from './epic_participants.query.graphql';
+import epicReferenceQuery from './epic_reference.query.graphql';
+import epicStartDateQuery from './epic_start_date.query.graphql';
+import epicSubscribedQuery from './epic_subscribed.query.graphql';
+import epicTodoQuery from './epic_todo.query.graphql';
+import issuableAssigneesSubscription from './issuable_assignees.subscription.graphql';
+import issueConfidentialQuery from './issue_confidential.query.graphql';
+import issueDueDateQuery from './issue_due_date.query.graphql';
+import issueReferenceQuery from './issue_reference.query.graphql';
+import issueSubscribedQuery from './issue_subscribed.query.graphql';
+import issueTimeTrackingQuery from './issue_time_tracking.query.graphql';
+import issueTodoQuery from './issue_todo.query.graphql';
+import mergeRequestMilestone from './merge_request_milestone.query.graphql';
+import mergeRequestReferenceQuery from './merge_request_reference.query.graphql';
+import mergeRequestSubscribed from './merge_request_subscribed.query.graphql';
+import mergeRequestTimeTrackingQuery from './merge_request_time_tracking.query.graphql';
+import mergeRequestTodoQuery from './merge_request_todo.query.graphql';
+import todoCreateMutation from './todo_create.mutation.graphql';
+import todoMarkDoneMutation from './todo_mark_done.mutation.graphql';
+import updateEpicConfidentialMutation from './update_epic_confidential.mutation.graphql';
+import updateEpicDueDateMutation from './update_epic_due_date.mutation.graphql';
+import updateEpicStartDateMutation from './update_epic_start_date.mutation.graphql';
+import updateEpicSubscriptionMutation from './update_epic_subscription.mutation.graphql';
+import updateIssueConfidentialMutation from './update_issue_confidential.mutation.graphql';
+import updateIssueDueDateMutation from './update_issue_due_date.mutation.graphql';
+import updateIssueSubscriptionMutation from './update_issue_subscription.mutation.graphql';
+import mergeRequestMilestoneMutation from './update_merge_request_milestone.mutation.graphql';
+import updateMergeRequestLabelsMutation from './update_merge_request_labels.mutation.graphql';
+import updateMergeRequestSubscriptionMutation from './update_merge_request_subscription.mutation.graphql';
+import getAlertAssignees from './get_alert_assignees.query.graphql';
+import getIssueAssignees from './get_issue_assignees.query.graphql';
+import issueParticipantsQuery from './get_issue_participants.query.graphql';
+import getIssueTimelogsQuery from './get_issue_timelogs.query.graphql';
+import getMergeRequestAssignees from './get_mr_assignees.query.graphql';
+import getMergeRequestParticipants from './get_mr_participants.query.graphql';
+import getMrTimelogsQuery from './get_mr_timelogs.query.graphql';
+import updateIssueAssigneesMutation from './update_issue_assignees.mutation.graphql';
+import updateMergeRequestAssigneesMutation from './update_mr_assignees.mutation.graphql';
+import getEscalationStatusQuery from './escalation_status.query.graphql';
+import updateEscalationStatusMutation from './update_escalation_status.mutation.graphql';
+import groupMilestonesQuery from './group_milestones.query.graphql';
+import projectIssueMilestoneMutation from './project_issue_milestone.mutation.graphql';
+import projectIssueMilestoneQuery from './project_issue_milestone.query.graphql';
+import projectMilestonesQuery from './project_milestones.query.graphql';
+
+export const assigneesQueries = {
+  [TYPE_ISSUE]: {
+    query: getIssueAssignees,
+    subscription: issuableAssigneesSubscription,
+    mutation: updateIssueAssigneesMutation,
+  },
+  [TYPE_MERGE_REQUEST]: {
+    query: getMergeRequestAssignees,
+    mutation: updateMergeRequestAssigneesMutation,
+  },
+  [TYPE_ALERT]: {
+    query: getAlertAssignees,
+    mutation: updateAlertAssigneesMutation,
+  },
+};
+
+export const participantsQueries = {
+  [TYPE_ISSUE]: {
+    query: issueParticipantsQuery,
+  },
+  [TYPE_MERGE_REQUEST]: {
+    query: getMergeRequestParticipants,
+  },
+  [TYPE_EPIC]: {
+    query: epicParticipantsQuery,
+  },
+  [TYPE_ALERT]: {
+    query: '',
+    skipQuery: true,
+  },
+};
+
+export const userSearchQueries = {
+  [TYPE_ISSUE]: {
+    query: userAutocompleteQuery,
+  },
+  [TYPE_MERGE_REQUEST]: {
+    query: userAutocompleteWithMRPermissionsQuery,
+  },
+};
+
+export const confidentialityQueries = {
+  [TYPE_ISSUE]: {
+    query: issueConfidentialQuery,
+    mutation: updateIssueConfidentialMutation,
+  },
+  [TYPE_EPIC]: {
+    query: epicConfidentialQuery,
+    mutation: updateEpicConfidentialMutation,
+  },
+};
+
+export const referenceQueries = {
+  [TYPE_ISSUE]: {
+    query: issueReferenceQuery,
+  },
+  [TYPE_MERGE_REQUEST]: {
+    query: mergeRequestReferenceQuery,
+  },
+  [TYPE_EPIC]: {
+    query: epicReferenceQuery,
+  },
+};
+
+export const workspaceLabelsQueries = {
+  [WORKSPACE_PROJECT]: {
+    query: projectLabelsQuery,
+  },
+  [WORKSPACE_GROUP]: {
+    query: groupLabelsQuery,
+  },
+};
+
+export const issuableLabelsQueries = {
+  [TYPE_ISSUE]: {
+    issuableQuery: issueLabelsQuery,
+    mutation: updateIssueLabelsMutation,
+    mutationName: 'updateIssue',
+  },
+  [TYPE_MERGE_REQUEST]: {
+    issuableQuery: mergeRequestLabelsQuery,
+    mutation: updateMergeRequestLabelsMutation,
+    mutationName: 'mergeRequestSetLabels',
+  },
+  [TYPE_EPIC]: {
+    issuableQuery: epicLabelsQuery,
+    mutation: updateEpicLabelsMutation,
+    mutationName: 'updateEpic',
+  },
+  [TYPE_TEST_CASE]: {
+    issuableQuery: issueLabelsQuery,
+    mutation: updateTestCaseLabelsMutation,
+    mutationName: 'updateTestCaseLabels',
+  },
+};
+
+export const subscribedQueries = {
+  [TYPE_ISSUE]: {
+    query: issueSubscribedQuery,
+    mutation: updateIssueSubscriptionMutation,
+  },
+  [TYPE_EPIC]: {
+    query: epicSubscribedQuery,
+    mutation: updateEpicSubscriptionMutation,
+  },
+  [TYPE_MERGE_REQUEST]: {
+    query: mergeRequestSubscribed,
+    mutation: updateMergeRequestSubscriptionMutation,
+  },
+};
+
+export const timeTrackingQueries = {
+  [TYPE_ISSUE]: {
+    query: issueTimeTrackingQuery,
+  },
+  [TYPE_MERGE_REQUEST]: {
+    query: mergeRequestTimeTrackingQuery,
+  },
+};
+
+export const dueDateQueries = {
+  [TYPE_ISSUE]: {
+    query: issueDueDateQuery,
+    mutation: updateIssueDueDateMutation,
+    subscription: issuableDatesUpdatedSubscription,
+  },
+  [TYPE_EPIC]: {
+    query: epicDueDateQuery,
+    mutation: updateEpicDueDateMutation,
+  },
+};
+
+export const startDateQueries = {
+  [TYPE_EPIC]: {
+    query: epicStartDateQuery,
+    mutation: updateEpicStartDateMutation,
+  },
+};
+
+export const timelogQueries = {
+  [TYPE_ISSUE]: {
+    query: getIssueTimelogsQuery,
+  },
+  [TYPE_MERGE_REQUEST]: {
+    query: getMrTimelogsQuery,
+  },
+};
+
+export const issuableMilestoneQueries = {
+  [TYPE_ISSUE]: {
+    query: projectIssueMilestoneQuery,
+    mutation: projectIssueMilestoneMutation,
+  },
+  [TYPE_MERGE_REQUEST]: {
+    query: mergeRequestMilestone,
+    mutation: mergeRequestMilestoneMutation,
+  },
+};
+
+export const milestonesQueries = {
+  [TYPE_ISSUE]: {
+    query: {
+      [WORKSPACE_GROUP]: groupMilestonesQuery,
+      [WORKSPACE_PROJECT]: projectMilestonesQuery,
+    },
+  },
+  [TYPE_MERGE_REQUEST]: {
+    query: {
+      [WORKSPACE_GROUP]: groupMilestonesQuery,
+      [WORKSPACE_PROJECT]: projectMilestonesQuery,
+    },
+  },
+};
+
+export const issuableAttributesQueries = {
+  [IssuableAttributeType.Milestone]: {
+    current: issuableMilestoneQueries,
+    list: milestonesQueries,
+  },
+};
+
+export const todoQueries = {
+  [TYPE_EPIC]: {
+    query: epicTodoQuery,
+  },
+  [TYPE_ISSUE]: {
+    query: issueTodoQuery,
+  },
+  [TYPE_MERGE_REQUEST]: {
+    query: mergeRequestTodoQuery,
+  },
+};
+
+export const todoMutations = {
+  [TodoMutationTypes.Create]: todoCreateMutation,
+  [TodoMutationTypes.MarkDone]: todoMarkDoneMutation,
+};
+
+export const escalationStatusQuery = getEscalationStatusQuery;
+
+export const escalationStatusMutation = updateEscalationStatusMutation;
diff --git a/app/assets/javascripts/vue_shared/components/user_select/user_select.vue b/app/assets/javascripts/vue_shared/components/user_select/user_select.vue
index 1e79d2cdcd77a..863c43b0e55a8 100644
--- a/app/assets/javascripts/vue_shared/components/user_select/user_select.vue
+++ b/app/assets/javascripts/vue_shared/components/user_select/user_select.vue
@@ -13,7 +13,7 @@ import { __ } from '~/locale';
 import SidebarParticipant from '~/sidebar/components/assignees/sidebar_participant.vue';
 import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';
 import { DEFAULT_DEBOUNCE_AND_THROTTLE_MS } from '~/lib/utils/constants';
-import { participantsQueries, userSearchQueries } from '~/sidebar/constants';
+import { participantsQueries, userSearchQueries } from '~/sidebar/queries/constants';
 import { TYPENAME_MERGE_REQUEST } from '~/graphql_shared/constants';
 import { convertToGraphQLId } from '~/graphql_shared/utils';
 
diff --git a/ee/app/assets/javascripts/sidebar/components/ancestors_tree/sidebar_ancestors_widget.vue b/ee/app/assets/javascripts/sidebar/components/ancestors_tree/sidebar_ancestors_widget.vue
index cb1bfbc895cdb..cdccb1bf582d9 100644
--- a/ee/app/assets/javascripts/sidebar/components/ancestors_tree/sidebar_ancestors_widget.vue
+++ b/ee/app/assets/javascripts/sidebar/components/ancestors_tree/sidebar_ancestors_widget.vue
@@ -1,6 +1,6 @@
 <script>
 import { __ } from '~/locale';
-import { ancestorsQueries } from '../../constants';
+import { ancestorsQueries } from '../../queries/constants';
 import Ancestors from './ancestors_tree.vue';
 
 export default {
diff --git a/ee/app/assets/javascripts/sidebar/components/health_status/sidebar_health_status_widget.vue b/ee/app/assets/javascripts/sidebar/components/health_status/sidebar_health_status_widget.vue
index cf620dd60a1ae..559cc218db10f 100644
--- a/ee/app/assets/javascripts/sidebar/components/health_status/sidebar_health_status_widget.vue
+++ b/ee/app/assets/javascripts/sidebar/components/health_status/sidebar_health_status_widget.vue
@@ -13,10 +13,10 @@ import {
   HEALTH_STATUS_I18N_NONE,
   HEALTH_STATUS_I18N_UPDATE_ERROR,
   HEALTH_STATUS_OPEN_DROPDOWN_DELAY,
-  healthStatusQueries,
   healthStatusTextMap,
   healthStatusTracking,
 } from '../../constants';
+import { healthStatusQueries } from '../../queries/constants';
 import HealthStatusDropdown from './health_status_dropdown.vue';
 
 export default {
diff --git a/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue b/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue
index d464de2d64b77..9d1658d93a444 100644
--- a/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue
+++ b/ee/app/assets/javascripts/sidebar/components/sidebar_dropdown_widget.vue
@@ -5,9 +5,9 @@ import { TYPE_ISSUE, TYPE_MERGE_REQUEST } from '~/issues/constants';
 import {
   IssuableAttributeType,
   IssuableAttributeState,
-  issuableAttributesQueries,
   SIDEBAR_ESCALATION_POLICY_TITLE,
 } from '../constants';
+import { issuableAttributesQueries } from '../queries/constants';
 
 const widgetTitleText = {
   [IssuableAttributeType.Milestone]: __('Milestone'),
diff --git a/ee/app/assets/javascripts/sidebar/components/weight/sidebar_weight_widget.vue b/ee/app/assets/javascripts/sidebar/components/weight/sidebar_weight_widget.vue
index f005c151ab080..61e5a39e14400 100644
--- a/ee/app/assets/javascripts/sidebar/components/weight/sidebar_weight_widget.vue
+++ b/ee/app/assets/javascripts/sidebar/components/weight/sidebar_weight_widget.vue
@@ -14,7 +14,8 @@ import { __, sprintf } from '~/locale';
 import SidebarEditableItem from '~/sidebar/components/sidebar_editable_item.vue';
 import { Tracking } from '~/sidebar/constants';
 import autofocusonshow from '~/vue_shared/directives/autofocusonshow';
-import { weightQueries, MAX_DISPLAY_WEIGHT } from '../../constants';
+import { MAX_DISPLAY_WEIGHT } from '../../constants';
+import { weightQueries } from '../../queries/constants';
 
 export default {
   tracking: {
diff --git a/ee/app/assets/javascripts/sidebar/constants.js b/ee/app/assets/javascripts/sidebar/constants.js
index 2b56832d3e27d..0af14bd4d001a 100644
--- a/ee/app/assets/javascripts/sidebar/constants.js
+++ b/ee/app/assets/javascripts/sidebar/constants.js
@@ -1,5 +1,4 @@
 import { invert } from 'lodash';
-import { TYPE_EPIC, TYPE_ISSUE } from '~/issues/constants';
 import { __, s__, sprintf } from '~/locale';
 import {
   STATUS_TRIGGERED,
@@ -8,28 +7,11 @@ import {
   IssuableAttributeType as IssuableAttributeTypeFoss,
   IssuableAttributeState as IssuableAttributeStateFoss,
   LocalizedIssuableAttributeType as LocalizedIssuableAttributeTypeFoss,
-  issuableAttributesQueries as issuableAttributesQueriesFoss,
   dropdowni18nText as dropdowni18nTextFoss,
   Tracking,
   defaultEpicSort,
   epicIidPattern,
 } from '~/sidebar/constants';
-import updateStatusMutation from '~/sidebar/queries/update_status.mutation.graphql';
-import issuableWeightSubscription from '../graphql_shared/subscriptions/issuable_weight.subscription.graphql';
-import epicAncestorsQuery from './queries/epic_ancestors.query.graphql';
-import groupEpicsQuery from './queries/group_epics.query.graphql';
-import groupIterationsQuery from './queries/group_iterations.query.graphql';
-import issueHealthStatusQuery from './queries/issue_health_status.query.graphql';
-import issueWeightQuery from './queries/issue_weight.query.graphql';
-import projectIssueEpicMutation from './queries/project_issue_epic.mutation.graphql';
-import projectIssueEpicQuery from './queries/project_issue_epic.query.graphql';
-import projectIssueIterationMutation from './queries/project_issue_iteration.mutation.graphql';
-import projectIssueIterationQuery from './queries/project_issue_iteration.query.graphql';
-import updateIssueWeightMutation from './queries/update_issue_weight.mutation.graphql';
-import issueEscalationPolicyQuery from './queries/issue_escalation_policy.query.graphql';
-import issueEscalationPolicyMutation from './queries/issue_escalation_policy.mutation.graphql';
-import projectEscalationPoliciesQuery from './queries/project_escalation_policies.query.graphql';
-import issuableEpicSubscription from './queries/issuable_epic.subscription.graphql';
 
 export { Tracking, defaultEpicSort, epicIidPattern };
 
@@ -118,45 +100,6 @@ export const CVE_ID_REQUEST_SIDEBAR_I18N = {
   learnMore: __('Learn more'),
 };
 
-export const issuableIterationQueries = {
-  [TYPE_ISSUE]: {
-    query: projectIssueIterationQuery,
-    mutation: projectIssueIterationMutation,
-  },
-};
-
-export const iterationsQueries = {
-  [TYPE_ISSUE]: {
-    query: groupIterationsQuery,
-  },
-};
-
-const issuableEpicQueries = {
-  [TYPE_ISSUE]: {
-    query: projectIssueEpicQuery,
-    mutation: projectIssueEpicMutation,
-  },
-};
-
-const epicsQueries = {
-  [TYPE_ISSUE]: {
-    query: groupEpicsQuery,
-  },
-};
-
-const issuableEscalationPolicyQueries = {
-  [TYPE_ISSUE]: {
-    query: issueEscalationPolicyQuery,
-    mutation: issueEscalationPolicyMutation,
-  },
-};
-
-const escalationPoliciesQueries = {
-  [TYPE_ISSUE]: {
-    query: projectEscalationPoliciesQuery,
-  },
-};
-
 export const IssuableAttributeType = {
   ...IssuableAttributeTypeFoss,
   Iteration: 'iteration',
@@ -181,48 +124,6 @@ export const IssuableAttributeState = {
   [IssuableAttributeType.Epic]: 'opened',
 };
 
-export const issuableAttributesQueries = {
-  ...issuableAttributesQueriesFoss,
-  [IssuableAttributeType.Iteration]: {
-    current: issuableIterationQueries,
-    list: iterationsQueries,
-  },
-  [IssuableAttributeType.Epic]: {
-    current: issuableEpicQueries,
-    list: epicsQueries,
-    subscription: issuableEpicSubscription,
-  },
-  [IssuableAttributeType.EscalationPolicy]: {
-    current: issuableEscalationPolicyQueries,
-    list: escalationPoliciesQueries,
-  },
-};
-
-export const ancestorsQueries = {
-  [TYPE_EPIC]: {
-    query: epicAncestorsQuery,
-  },
-};
-
-export const weightQueries = {
-  [TYPE_ISSUE]: {
-    query: issueWeightQuery,
-    mutation: updateIssueWeightMutation,
-    subscription: issuableWeightSubscription,
-  },
-};
-
-export const healthStatusQueries = {
-  [TYPE_ISSUE]: {
-    mutation: updateStatusMutation,
-    query: issueHealthStatusQuery,
-  },
-  [TYPE_EPIC]: {
-    mutation: updateStatusMutation,
-    query: issueHealthStatusQuery,
-  },
-};
-
 export function dropdowni18nText(issuableAttribute, issuableType) {
   let noAttributesFound = s__('DropdownWidget|No %{issuableAttribute} found');
 
diff --git a/ee/app/assets/javascripts/sidebar/queries/constants.js b/ee/app/assets/javascripts/sidebar/queries/constants.js
new file mode 100644
index 0000000000000..f959e8c5e6225
--- /dev/null
+++ b/ee/app/assets/javascripts/sidebar/queries/constants.js
@@ -0,0 +1,100 @@
+import { TYPE_EPIC, TYPE_ISSUE } from '~/issues/constants';
+import { issuableAttributesQueries as issuableAttributesQueriesFoss } from '~/sidebar/queries/constants';
+import updateStatusMutation from '~/sidebar/queries/update_status.mutation.graphql';
+import issuableWeightSubscription from 'ee/graphql_shared/subscriptions/issuable_weight.subscription.graphql';
+import { IssuableAttributeType } from '../constants';
+import epicAncestorsQuery from './epic_ancestors.query.graphql';
+import groupEpicsQuery from './group_epics.query.graphql';
+import groupIterationsQuery from './group_iterations.query.graphql';
+import issueHealthStatusQuery from './issue_health_status.query.graphql';
+import issueWeightQuery from './issue_weight.query.graphql';
+import projectIssueEpicMutation from './project_issue_epic.mutation.graphql';
+import projectIssueEpicQuery from './project_issue_epic.query.graphql';
+import projectIssueIterationMutation from './project_issue_iteration.mutation.graphql';
+import projectIssueIterationQuery from './project_issue_iteration.query.graphql';
+import updateIssueWeightMutation from './update_issue_weight.mutation.graphql';
+import issueEscalationPolicyQuery from './issue_escalation_policy.query.graphql';
+import issueEscalationPolicyMutation from './issue_escalation_policy.mutation.graphql';
+import projectEscalationPoliciesQuery from './project_escalation_policies.query.graphql';
+import issuableEpicSubscription from './issuable_epic.subscription.graphql';
+
+export const issuableIterationQueries = {
+  [TYPE_ISSUE]: {
+    query: projectIssueIterationQuery,
+    mutation: projectIssueIterationMutation,
+  },
+};
+
+export const iterationsQueries = {
+  [TYPE_ISSUE]: {
+    query: groupIterationsQuery,
+  },
+};
+
+const issuableEpicQueries = {
+  [TYPE_ISSUE]: {
+    query: projectIssueEpicQuery,
+    mutation: projectIssueEpicMutation,
+  },
+};
+
+const epicsQueries = {
+  [TYPE_ISSUE]: {
+    query: groupEpicsQuery,
+  },
+};
+
+const issuableEscalationPolicyQueries = {
+  [TYPE_ISSUE]: {
+    query: issueEscalationPolicyQuery,
+    mutation: issueEscalationPolicyMutation,
+  },
+};
+
+const escalationPoliciesQueries = {
+  [TYPE_ISSUE]: {
+    query: projectEscalationPoliciesQuery,
+  },
+};
+
+export const issuableAttributesQueries = {
+  ...issuableAttributesQueriesFoss,
+  [IssuableAttributeType.Iteration]: {
+    current: issuableIterationQueries,
+    list: iterationsQueries,
+  },
+  [IssuableAttributeType.Epic]: {
+    current: issuableEpicQueries,
+    list: epicsQueries,
+    subscription: issuableEpicSubscription,
+  },
+  [IssuableAttributeType.EscalationPolicy]: {
+    current: issuableEscalationPolicyQueries,
+    list: escalationPoliciesQueries,
+  },
+};
+
+export const ancestorsQueries = {
+  [TYPE_EPIC]: {
+    query: epicAncestorsQuery,
+  },
+};
+
+export const weightQueries = {
+  [TYPE_ISSUE]: {
+    query: issueWeightQuery,
+    mutation: updateIssueWeightMutation,
+    subscription: issuableWeightSubscription,
+  },
+};
+
+export const healthStatusQueries = {
+  [TYPE_ISSUE]: {
+    mutation: updateStatusMutation,
+    query: issueHealthStatusQuery,
+  },
+  [TYPE_EPIC]: {
+    mutation: updateStatusMutation,
+    query: issueHealthStatusQuery,
+  },
+};
diff --git a/ee/spec/frontend/sidebar/components/health_status/sidebar_health_status_widget_spec.js b/ee/spec/frontend/sidebar/components/health_status/sidebar_health_status_widget_spec.js
index 1ad62b338068c..5b0a7c1da88fe 100644
--- a/ee/spec/frontend/sidebar/components/health_status/sidebar_health_status_widget_spec.js
+++ b/ee/spec/frontend/sidebar/components/health_status/sidebar_health_status_widget_spec.js
@@ -8,12 +8,12 @@ import IssueHealthStatus from 'ee/related_items_tree/components/issue_health_sta
 import HealthStatusDropdown from 'ee/sidebar/components/health_status/health_status_dropdown.vue';
 import SidebarHealthStatusWidget from 'ee/sidebar/components/health_status/sidebar_health_status_widget.vue';
 import {
-  healthStatusQueries,
   healthStatusTextMap,
   HEALTH_STATUS_ON_TRACK,
   HEALTH_STATUS_NEEDS_ATTENTION,
   HEALTH_STATUS_AT_RISK,
 } from 'ee/sidebar/constants';
+import { healthStatusQueries } from 'ee/sidebar/queries/constants';
 import createMockApollo from 'helpers/mock_apollo_helper';
 import { mockTracking } from 'helpers/tracking_helper';
 import waitForPromises from 'helpers/wait_for_promises';
diff --git a/ee/spec/frontend/sidebar/components/iteration/sidebar_iteration_widget_spec.js b/ee/spec/frontend/sidebar/components/iteration/sidebar_iteration_widget_spec.js
index abd47e78198a5..1ab342476c699 100644
--- a/ee/spec/frontend/sidebar/components/iteration/sidebar_iteration_widget_spec.js
+++ b/ee/spec/frontend/sidebar/components/iteration/sidebar_iteration_widget_spec.js
@@ -8,7 +8,8 @@ import waitForPromises from 'helpers/wait_for_promises';
 import { TYPE_ISSUE } from '~/issues/constants';
 import groupIterationsQuery from 'ee/sidebar/queries/group_iterations.query.graphql';
 import projectIssueIterationQuery from 'ee/sidebar/queries/project_issue_iteration.query.graphql';
-import { IssuableAttributeType, issuableAttributesQueries } from 'ee/sidebar/constants';
+import { IssuableAttributeType } from 'ee/sidebar/constants';
+import { issuableAttributesQueries } from 'ee/sidebar/queries/constants';
 import { getIterationPeriod } from 'ee/iterations/utils';
 import {
   mockIssue,
diff --git a/ee/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js b/ee/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js
index edf63375ca5a0..59be9e2562760 100644
--- a/ee/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js
+++ b/ee/spec/frontend/sidebar/components/sidebar_dropdown_widget_spec.js
@@ -5,7 +5,8 @@ import Vue from 'vue';
 import VueApollo from 'vue-apollo';
 import SidebarDropdown from '~/sidebar/components/sidebar_dropdown.vue';
 import SidebarDropdownWidget from 'ee/sidebar/components/sidebar_dropdown_widget.vue';
-import { IssuableAttributeType, issuableAttributesQueries } from 'ee/sidebar/constants';
+import { IssuableAttributeType } from 'ee/sidebar/constants';
+import { issuableAttributesQueries } from 'ee/sidebar/queries/constants';
 import groupEpicsQuery from 'ee/sidebar/queries/group_epics.query.graphql';
 import projectIssueEpicMutation from 'ee/sidebar/queries/project_issue_epic.mutation.graphql';
 import projectIssueEpicQuery from 'ee/sidebar/queries/project_issue_epic.query.graphql';
diff --git a/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_form_spec.js b/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_form_spec.js
index 1ca20dad1c62a..476448ef5abeb 100644
--- a/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_form_spec.js
+++ b/spec/frontend/sidebar/components/confidential/sidebar_confidentiality_form_spec.js
@@ -4,7 +4,7 @@ import { nextTick } from 'vue';
 import waitForPromises from 'helpers/wait_for_promises';
 import { createAlert } from '~/alert';
 import SidebarConfidentialityForm from '~/sidebar/components/confidential/sidebar_confidentiality_form.vue';
-import { confidentialityQueries } from '~/sidebar/constants';
+import { confidentialityQueries } from '~/sidebar/queries/constants';
 
 jest.mock('~/alert');
 
diff --git a/spec/frontend/sidebar/components/incidents/sidebar_escalation_status_spec.js b/spec/frontend/sidebar/components/incidents/sidebar_escalation_status_spec.js
index 00b57b4916e98..f3d50f17e2d01 100644
--- a/spec/frontend/sidebar/components/incidents/sidebar_escalation_status_spec.js
+++ b/spec/frontend/sidebar/components/incidents/sidebar_escalation_status_spec.js
@@ -11,11 +11,8 @@ import { createMockDirective, getBinding } from 'helpers/vue_mock_directive';
 import { mountExtended } from 'helpers/vue_test_utils_helper';
 import SidebarEscalationStatus from '~/sidebar/components/incidents/sidebar_escalation_status.vue';
 import SidebarEditableItem from '~/sidebar/components/sidebar_editable_item.vue';
-import {
-  escalationStatusQuery,
-  escalationStatusMutation,
-  STATUS_ACKNOWLEDGED,
-} from '~/sidebar/constants';
+import { STATUS_ACKNOWLEDGED } from '~/sidebar/constants';
+import { escalationStatusQuery, escalationStatusMutation } from '~/sidebar/queries/constants';
 import waitForPromises from 'helpers/wait_for_promises';
 import EscalationStatus from 'ee_else_ce/sidebar/components/incidents/escalation_status.vue';
 import { createAlert } from '~/alert';
diff --git a/spec/frontend/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view_spec.js b/spec/frontend/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view_spec.js
index 9c8d965695531..6de113ba1f970 100644
--- a/spec/frontend/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view_spec.js
+++ b/spec/frontend/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view_spec.js
@@ -5,7 +5,7 @@ import VueApollo from 'vue-apollo';
 import createMockApollo from 'helpers/mock_apollo_helper';
 import waitForPromises from 'helpers/wait_for_promises';
 import { createAlert } from '~/alert';
-import { workspaceLabelsQueries } from '~/sidebar/constants';
+import { workspaceLabelsQueries } from '~/sidebar/queries/constants';
 import DropdownContentsCreateView from '~/sidebar/components/labels/labels_select_widget/dropdown_contents_create_view.vue';
 import createLabelMutation from '~/sidebar/components/labels/labels_select_widget/graphql/create_label.mutation.graphql';
 import { DEFAULT_LABEL_COLOR } from '~/sidebar/components/labels/labels_select_widget/constants';
-- 
GitLab