Commit fe82d77b authored by Denys Mishunov's avatar Denys Mishunov

Merge branch 'leipert-eslint-no-useless-path' into 'master'

Linter: enable `import/no-useless-path-segments`

See merge request gitlab-org/gitlab!31862
parents 419292e4 e0d49e48
...@@ -32,7 +32,6 @@ rules: ...@@ -32,7 +32,6 @@ rules:
no-else-return: no-else-return:
- error - error
- allowElseIf: true - allowElseIf: true
import/no-useless-path-segments: off
lines-between-class-members: off lines-between-class-members: off
# Disabled for now, to make the plugin-vue 4.5 -> 5.0 update smoother # Disabled for now, to make the plugin-vue 4.5 -> 5.0 update smoother
vue/no-confusing-v-for-v-if: error vue/no-confusing-v-for-v-if: error
......
<script> <script>
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon } from '@gitlab/ui';
import TablePagination from '~/vue_shared/components/pagination/table_pagination.vue'; import TablePagination from '~/vue_shared/components/pagination/table_pagination.vue';
import EnvironmentTable from '../components/environments_table.vue'; import EnvironmentTable from './environments_table.vue';
export default { export default {
components: { components: {
......
import service from './../services'; import service from '../services';
import * as types from './mutation_types'; import * as types from './mutation_types';
import createFlash from '~/flash'; import createFlash from '~/flash';
import { visitUrl } from '~/lib/utils/url_utility'; import { visitUrl } from '~/lib/utils/url_utility';
......
...@@ -3,7 +3,7 @@ import { mapState, mapActions, mapGetters } from 'vuex'; ...@@ -3,7 +3,7 @@ import { mapState, mapActions, mapGetters } from 'vuex';
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon } from '@gitlab/ui';
import AccessorUtilities from '~/lib/utils/accessor'; import AccessorUtilities from '~/lib/utils/accessor';
import eventHub from '../event_hub'; import eventHub from '../event_hub';
import store from '../store/'; import store from '../store';
import { FREQUENT_ITEMS, STORAGE_KEY } from '../constants'; import { FREQUENT_ITEMS, STORAGE_KEY } from '../constants';
import { isMobile, updateExistingFrequentItem, sanitizeItem } from '../utils'; import { isMobile, updateExistingFrequentItem, sanitizeItem } from '../utils';
import FrequentItemsSearchInput from './frequent_items_search_input.vue'; import FrequentItemsSearchInput from './frequent_items_search_input.vue';
......
...@@ -4,7 +4,7 @@ import icon from '~/vue_shared/components/icon.vue'; ...@@ -4,7 +4,7 @@ import icon from '~/vue_shared/components/icon.vue';
import upload from './upload.vue'; import upload from './upload.vue';
import ItemButton from './button.vue'; import ItemButton from './button.vue';
import { modalTypes } from '../../constants'; import { modalTypes } from '../../constants';
import NewModal from '../new_dropdown/modal.vue'; import NewModal from './modal.vue';
export default { export default {
components: { components: {
......
import { isNewJobLogActive } from '../store/utils'; import { isNewJobLogActive } from './utils';
export default () => ({ export default () => ({
jobEndpoint: null, jobEndpoint: null,
......
import { mapGetters, mapActions, mapState } from 'vuex'; import { mapGetters, mapActions, mapState } from 'vuex';
import { scrollToElement } from '~/lib/utils/common_utils'; import { scrollToElement } from '~/lib/utils/common_utils';
import eventHub from '../../notes/event_hub'; import eventHub from '../event_hub';
/** /**
* @param {string} selector * @param {string} selector
......
import initUserInternalRegexPlaceholder from '../../application_settings/account_and_limits'; import initUserInternalRegexPlaceholder from '../account_and_limits';
document.addEventListener('DOMContentLoaded', initUserInternalRegexPlaceholder()); document.addEventListener('DOMContentLoaded', initUserInternalRegexPlaceholder());
import Vue from 'vue'; import Vue from 'vue';
import { GlToast } from '@gitlab/ui'; import { GlToast } from '@gitlab/ui';
import Translate from '~/vue_shared/translate'; import Translate from '~/vue_shared/translate';
import store from './store/'; import store from './store';
import RegistrySettingsApp from './components/registry_settings_app.vue'; import RegistrySettingsApp from './components/registry_settings_app.vue';
Vue.use(GlToast); Vue.use(GlToast);
......
<script> <script>
import CollapsedAssigneeList from '../assignees/collapsed_assignee_list.vue'; import CollapsedAssigneeList from './collapsed_assignee_list.vue';
import UncollapsedAssigneeList from '../assignees/uncollapsed_assignee_list.vue'; import UncollapsedAssigneeList from './uncollapsed_assignee_list.vue';
export default { export default {
// name: 'Assignees' is a false positive: https://gitlab.com/gitlab-org/frontend/eslint-plugin-i18n/issues/26#possible-false-positives // name: 'Assignees' is a false positive: https://gitlab.com/gitlab-org/frontend/eslint-plugin-i18n/issues/26#possible-false-positives
......
<script> <script>
import RichContentEditor from '~/vue_shared/components/rich_content_editor/rich_content_editor.vue'; import RichContentEditor from '~/vue_shared/components/rich_content_editor/rich_content_editor.vue';
import PublishToolbar from '../components/publish_toolbar.vue'; import PublishToolbar from './publish_toolbar.vue';
import EditHeader from '../components/edit_header.vue'; import EditHeader from './edit_header.vue';
export default { export default {
components: { components: {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
import autoMergeMixin from 'ee_else_ce/vue_merge_request_widget/mixins/auto_merge'; import autoMergeMixin from 'ee_else_ce/vue_merge_request_widget/mixins/auto_merge';
import Flash from '../../../flash'; import Flash from '../../../flash';
import statusIcon from '../mr_widget_status_icon.vue'; import statusIcon from '../mr_widget_status_icon.vue';
import MrWidgetAuthor from '../../components/mr_widget_author.vue'; import MrWidgetAuthor from '../mr_widget_author.vue';
import eventHub from '../../event_hub'; import eventHub from '../../event_hub';
import { AUTO_MERGE_STRATEGIES } from '../../constants'; import { AUTO_MERGE_STRATEGIES } from '../../constants';
import { __ } from '~/locale'; import { __ } from '~/locale';
......
<script> <script>
import MrWidgetAuthorTime from '../../components/mr_widget_author_time.vue'; import MrWidgetAuthorTime from '../mr_widget_author_time.vue';
import statusIcon from '../mr_widget_status_icon.vue'; import statusIcon from '../mr_widget_status_icon.vue';
export default { export default {
......
...@@ -5,7 +5,7 @@ import Flash from '~/flash'; ...@@ -5,7 +5,7 @@ import Flash from '~/flash';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import { s__, __ } from '~/locale'; import { s__, __ } from '~/locale';
import ClipboardButton from '~/vue_shared/components/clipboard_button.vue'; import ClipboardButton from '~/vue_shared/components/clipboard_button.vue';
import MrWidgetAuthorTime from '../../components/mr_widget_author_time.vue'; import MrWidgetAuthorTime from '../mr_widget_author_time.vue';
import statusIcon from '../mr_widget_status_icon.vue'; import statusIcon from '../mr_widget_status_icon.vue';
import eventHub from '../../event_hub'; import eventHub from '../../event_hub';
......
<script> <script>
import Icon from '../../vue_shared/components/icon.vue'; import Icon from './icon.vue';
/** /**
* Renders CI icon based on API response shared between all places where it is used. * Renders CI icon based on API response shared between all places where it is used.
......
...@@ -4,7 +4,7 @@ import { GlTooltipDirective, GlLink } from '@gitlab/ui'; ...@@ -4,7 +4,7 @@ import { GlTooltipDirective, GlLink } from '@gitlab/ui';
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import TooltipOnTruncate from '~/vue_shared/components/tooltip_on_truncate.vue'; import TooltipOnTruncate from '~/vue_shared/components/tooltip_on_truncate.vue';
import UserAvatarLink from './user_avatar/user_avatar_link.vue'; import UserAvatarLink from './user_avatar/user_avatar_link.vue';
import Icon from '../../vue_shared/components/icon.vue'; import Icon from './icon.vue';
export default { export default {
directives: { directives: {
......
<script> <script>
import fuzzaldrinPlus from 'fuzzaldrin-plus'; import fuzzaldrinPlus from 'fuzzaldrin-plus';
import Icon from '~/vue_shared/components/icon.vue'; import Icon from '~/vue_shared/components/icon.vue';
import FileIcon from '../../../vue_shared/components/file_icon.vue'; import FileIcon from '../file_icon.vue';
import ChangedFileIcon from '../../../vue_shared/components/changed_file_icon.vue'; import ChangedFileIcon from '../changed_file_icon.vue';
const MAX_PATH_LENGTH = 60; const MAX_PATH_LENGTH = 60;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
import { GlLink } from '@gitlab/ui'; import { GlLink } from '@gitlab/ui';
import { escape } from 'lodash'; import { escape } from 'lodash';
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import icon from '../../../vue_shared/components/icon.vue'; import icon from '../icon.vue';
function buildDocsLinkStart(path) { function buildDocsLinkStart(path) {
return `<a href="${escape(path)}" target="_blank" rel="noopener noreferrer">`; return `<a href="${escape(path)}" target="_blank" rel="noopener noreferrer">`;
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
import '~/commons/bootstrap'; import '~/commons/bootstrap';
import { GlIcon, GlTooltip, GlTooltipDirective } from '@gitlab/ui'; import { GlIcon, GlTooltip, GlTooltipDirective } from '@gitlab/ui';
import { sprintf } from '~/locale'; import { sprintf } from '~/locale';
import IssueMilestone from '../../components/issue/issue_milestone.vue'; import IssueMilestone from './issue_milestone.vue';
import IssueAssignees from '../../components/issue/issue_assignees.vue'; import IssueAssignees from './issue_assignees.vue';
import relatedIssuableMixin from '../../mixins/related_issuable_mixin'; import relatedIssuableMixin from '../../mixins/related_issuable_mixin';
import CiIcon from '../ci_icon.vue'; import CiIcon from '../ci_icon.vue';
......
import * as types from './mutation_types'; import * as types from './mutation_types';
import { tableSortOrder } from './../../../constants'; import { tableSortOrder } from '../../../constants';
export default { export default {
[types.REQUEST_MERGE_REQUESTS](state) { [types.REQUEST_MERGE_REQUESTS](state) {
......
...@@ -3,7 +3,7 @@ import { mapState, mapActions, mapGetters } from 'vuex'; ...@@ -3,7 +3,7 @@ import { mapState, mapActions, mapGetters } from 'vuex';
import { redirectTo } from '~/lib/utils/url_utility'; import { redirectTo } from '~/lib/utils/url_utility';
import Tracking from '~/tracking'; import Tracking from '~/tracking';
import OnboardingHelper from './onboarding_helper.vue'; import OnboardingHelper from './onboarding_helper.vue';
import actionPopoverUtils from './../action_popover_utils'; import actionPopoverUtils from '../action_popover_utils';
import eventHub from '../event_hub'; import eventHub from '../event_hub';
const TRACKING_CATEGORY = 'onboarding'; const TRACKING_CATEGORY = 'onboarding';
......
...@@ -2,14 +2,14 @@ import Vue from 'vue'; ...@@ -2,14 +2,14 @@ import Vue from 'vue';
import { mapActions } from 'vuex'; import { mapActions } from 'vuex';
import OnboardingApp from './components/app.vue'; import OnboardingApp from './components/app.vue';
import createStore from './store'; import createStore from './store';
import onboardingUtils from './../utils'; import onboardingUtils from '../utils';
import { import {
TOUR_TITLES, TOUR_TITLES,
FEEDBACK_CONTENT, FEEDBACK_CONTENT,
EXIT_TOUR_CONTENT, EXIT_TOUR_CONTENT,
DNT_EXIT_TOUR_CONTENT, DNT_EXIT_TOUR_CONTENT,
} from './../constants'; } from '../constants';
import TOUR_PARTS from './../tour_parts'; import TOUR_PARTS from '../tour_parts';
export default function() { export default function() {
const el = document.getElementById('js-onboarding-helper'); const el = document.getElementById('js-onboarding-helper');
......
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
import { GlLink } from '@gitlab/ui'; import { GlLink } from '@gitlab/ui';
import { __ } from '~/locale'; import { __ } from '~/locale';
import UserAvatarImage from '~/vue_shared/components/user_avatar/user_avatar_image.vue'; import UserAvatarImage from '~/vue_shared/components/user_avatar/user_avatar_image.vue';
import HelpContentPopover from './../../onboarding_helper/components/help_content_popover.vue'; import HelpContentPopover from '../../onboarding_helper/components/help_content_popover.vue';
import ActionPopover from './../../onboarding_helper/components/action_popover.vue'; import ActionPopover from '../../onboarding_helper/components/action_popover.vue';
import { redirectTo } from '~/lib/utils/url_utility'; import { redirectTo } from '~/lib/utils/url_utility';
import onboardingUtils from './../../utils'; import onboardingUtils from '../../utils';
export default { export default {
components: { components: {
......
...@@ -3,7 +3,7 @@ import { GlBreakpointInstance as breakpointInstance } from '@gitlab/ui/dist/util ...@@ -3,7 +3,7 @@ import { GlBreakpointInstance as breakpointInstance } from '@gitlab/ui/dist/util
import WelcomePage from './components/welcome_page.vue'; import WelcomePage from './components/welcome_page.vue';
import { parseBoolean } from '~/lib/utils/common_utils'; import { parseBoolean } from '~/lib/utils/common_utils';
import { redirectTo } from '~/lib/utils/url_utility'; import { redirectTo } from '~/lib/utils/url_utility';
import onboardingUtils from './../utils'; import onboardingUtils from '../utils';
export default function() { export default function() {
const el = document.getElementById('js-onboarding-welcome'); const el = document.getElementById('js-onboarding-welcome');
......
<script> <script>
import PackageTags from '../../shared/components/package_tags.vue'; import PackageTags from './package_tags.vue';
import PublishMethod from './publish_method.vue'; import PublishMethod from './publish_method.vue';
import { GlButton, GlIcon, GlLink, GlSprintf, GlTooltipDirective } from '@gitlab/ui'; import { GlButton, GlIcon, GlLink, GlSprintf, GlTooltipDirective } from '@gitlab/ui';
import { getPackageTypeLabel } from '../../shared/utils'; import { getPackageTypeLabel } from '../utils';
import timeagoMixin from '~/vue_shared/mixins/timeago'; import timeagoMixin from '~/vue_shared/mixins/timeago';
export default { export default {
......
...@@ -15,7 +15,7 @@ import { ...@@ -15,7 +15,7 @@ import {
} from 'ee/onboarding/onboarding_helper/store/actions'; } from 'ee/onboarding/onboarding_helper/store/actions';
import { ONBOARDING_DISMISSED_COOKIE_NAME } from 'ee/onboarding/constants'; import { ONBOARDING_DISMISSED_COOKIE_NAME } from 'ee/onboarding/constants';
import onboardingUtils from 'ee/onboarding/utils'; import onboardingUtils from 'ee/onboarding/utils';
import mockData from './../mock_data'; import mockData from '../mock_data';
describe('User onboarding helper store actions', () => { describe('User onboarding helper store actions', () => {
let state; let state;
......
import * as getters from 'ee/onboarding/onboarding_helper/store/getters'; import * as getters from 'ee/onboarding/onboarding_helper/store/getters';
import createStore from 'ee/onboarding/onboarding_helper/store/state'; import createStore from 'ee/onboarding/onboarding_helper/store/state';
import { mockTourData } from './../mock_data'; import { mockTourData } from '../mock_data';
describe('User onboarding store getters', () => { describe('User onboarding store getters', () => {
let localState; let localState;
......
import createState from 'ee/onboarding/onboarding_helper/store/state'; import createState from 'ee/onboarding/onboarding_helper/store/state';
import mutations from 'ee/onboarding/onboarding_helper/store/mutations'; import mutations from 'ee/onboarding/onboarding_helper/store/mutations';
import * as types from 'ee/onboarding/onboarding_helper/store/mutation_types'; import * as types from 'ee/onboarding/onboarding_helper/store/mutation_types';
import { mockTourData } from './../mock_data'; import { mockTourData } from '../mock_data';
describe('User onboarding helper store mutations', () => { describe('User onboarding helper store mutations', () => {
let state; let state;
......
...@@ -9,12 +9,7 @@ import CommentForm from '~/notes/components/comment_form.vue'; ...@@ -9,12 +9,7 @@ import CommentForm from '~/notes/components/comment_form.vue';
import * as constants from '~/notes/constants'; import * as constants from '~/notes/constants';
import { refreshUserMergeRequestCounts } from '~/commons/nav/user_merge_requests'; import { refreshUserMergeRequestCounts } from '~/commons/nav/user_merge_requests';
import { keyboardDownEvent } from '../../issue_show/helpers'; import { keyboardDownEvent } from '../../issue_show/helpers';
import { import { loggedOutnoteableData, notesDataMock, userDataMock, noteableDataMock } from '../mock_data';
loggedOutnoteableData,
notesDataMock,
userDataMock,
noteableDataMock,
} from '../../notes/mock_data';
jest.mock('autosize'); jest.mock('autosize');
jest.mock('~/commons/nav/user_merge_requests'); jest.mock('~/commons/nav/user_merge_requests');
......
import { shallowMount, mount } from '@vue/test-utils'; import { shallowMount, mount } from '@vue/test-utils';
import { discussionMock } from '../../notes/mock_data'; import { discussionMock } from '../mock_data';
import DiscussionActions from '~/notes/components/discussion_actions.vue'; import DiscussionActions from '~/notes/components/discussion_actions.vue';
import ReplyPlaceholder from '~/notes/components/discussion_reply_placeholder.vue'; import ReplyPlaceholder from '~/notes/components/discussion_reply_placeholder.vue';
import ResolveDiscussionButton from '~/notes/components/discussion_resolve_button.vue'; import ResolveDiscussionButton from '~/notes/components/discussion_resolve_button.vue';
......
...@@ -7,7 +7,7 @@ import PlaceholderNote from '~/vue_shared/components/notes/placeholder_note.vue' ...@@ -7,7 +7,7 @@ import PlaceholderNote from '~/vue_shared/components/notes/placeholder_note.vue'
import PlaceholderSystemNote from '~/vue_shared/components/notes/placeholder_system_note.vue'; import PlaceholderSystemNote from '~/vue_shared/components/notes/placeholder_system_note.vue';
import SystemNote from '~/vue_shared/components/notes/system_note.vue'; import SystemNote from '~/vue_shared/components/notes/system_note.vue';
import createStore from '~/notes/stores'; import createStore from '~/notes/stores';
import { noteableDataMock, discussionMock, notesDataMock } from '../../notes/mock_data'; import { noteableDataMock, discussionMock, notesDataMock } from '../mock_data';
describe('DiscussionNotes', () => { describe('DiscussionNotes', () => {
let wrapper; let wrapper;
......
...@@ -10,7 +10,7 @@ import createStore from '~/notes/stores'; ...@@ -10,7 +10,7 @@ import createStore from '~/notes/stores';
import * as constants from '~/notes/constants'; import * as constants from '~/notes/constants';
import '~/behaviors/markdown/render_gfm'; import '~/behaviors/markdown/render_gfm';
// TODO: use generated fixture (https://gitlab.com/gitlab-org/gitlab-foss/issues/62491) // TODO: use generated fixture (https://gitlab.com/gitlab-org/gitlab-foss/issues/62491)
import * as mockData from '../../notes/mock_data'; import * as mockData from '../mock_data';
import * as urlUtility from '~/lib/utils/url_utility'; import * as urlUtility from '~/lib/utils/url_utility';
import OrderedLayout from '~/vue_shared/components/ordered_layout.vue'; import OrderedLayout from '~/vue_shared/components/ordered_layout.vue';
......
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
// file this one re-exports from. For more detail about why, see: // file this one re-exports from. For more detail about why, see:
// https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349 // https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349
import mockData from '../../../spec/frontend/sidebar/mock_data'; import mockData from '../../frontend/sidebar/mock_data';
export default mockData; export default mockData;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment