]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-22049 Align ComponentQualifier
authorViktor Vorona <viktor.vorona@sonarsource.com>
Thu, 25 Apr 2024 13:32:10 +0000 (15:32 +0200)
committerMatteo Mara <matteo.mara@sonarsource.com>
Tue, 30 Apr 2024 08:59:04 +0000 (10:59 +0200)
125 files changed:
server/sonar-web/src/main/js/api/components.ts
server/sonar-web/src/main/js/api/mocks/CodingRulesServiceMock.ts
server/sonar-web/src/main/js/api/mocks/PermissionsServiceMock.ts
server/sonar-web/src/main/js/api/mocks/ProjectsManagementServiceMock.ts
server/sonar-web/src/main/js/api/mocks/data/components.ts
server/sonar-web/src/main/js/api/mocks/data/projects.ts
server/sonar-web/src/main/js/api/mocks/data/webhooks.ts
server/sonar-web/src/main/js/api/project-management.ts
server/sonar-web/src/main/js/app/components/ComponentContainer.tsx
server/sonar-web/src/main/js/app/components/__tests__/ComponentContainer-test.tsx
server/sonar-web/src/main/js/app/components/__tests__/NonAdminPagesContainer-test.tsx
server/sonar-web/src/main/js/app/components/__tests__/RecentHistory-test.tsx
server/sonar-web/src/main/js/app/components/componentContext/withComponentContext.tsx
server/sonar-web/src/main/js/app/components/extensions/CreateApplicationForm.tsx
server/sonar-web/src/main/js/app/components/global-search/GlobalSearch.tsx
server/sonar-web/src/main/js/app/components/global-search/utils.ts
server/sonar-web/src/main/js/app/components/nav/component/ComponentNav.tsx
server/sonar-web/src/main/js/app/components/nav/component/Menu.tsx
server/sonar-web/src/main/js/app/components/nav/component/__tests__/ComponentNav-test.tsx
server/sonar-web/src/main/js/app/components/nav/component/__tests__/Header-test.tsx
server/sonar-web/src/main/js/app/components/nav/component/__tests__/Menu-test.tsx
server/sonar-web/src/main/js/app/components/nav/component/__tests__/utils-test.ts
server/sonar-web/src/main/js/app/components/nav/component/branch-like/BranchLikeNavigation.tsx
server/sonar-web/src/main/js/app/components/nav/component/branch-like/Menu.tsx
server/sonar-web/src/main/js/app/components/nav/component/utils.ts
server/sonar-web/src/main/js/app/components/nav/global/GlobalNavMenu.tsx
server/sonar-web/src/main/js/apps/account/notifications/ProjectModal.tsx
server/sonar-web/src/main/js/apps/code/__tests__/Code-it.ts
server/sonar-web/src/main/js/apps/code/__tests__/utils-test.tsx
server/sonar-web/src/main/js/apps/code/components/CodeApp.tsx
server/sonar-web/src/main/js/apps/code/components/Component.tsx
server/sonar-web/src/main/js/apps/code/components/ComponentName.tsx
server/sonar-web/src/main/js/apps/code/components/Components.tsx
server/sonar-web/src/main/js/apps/code/components/Search.tsx
server/sonar-web/src/main/js/apps/code/utils.ts
server/sonar-web/src/main/js/apps/component-measures/__tests__/ComponentMeasures-it.tsx
server/sonar-web/src/main/js/apps/component-measures/__tests__/utils-test.ts
server/sonar-web/src/main/js/apps/component-measures/components/ComponentMeasuresApp.tsx
server/sonar-web/src/main/js/apps/component-measures/components/LeakPeriodLegend.tsx
server/sonar-web/src/main/js/apps/component-measures/components/MeasureHeader.tsx
server/sonar-web/src/main/js/apps/component-measures/components/MeasuresBreadcrumbs.tsx
server/sonar-web/src/main/js/apps/component-measures/components/__tests__/LeakPeriodLegend-test.tsx
server/sonar-web/src/main/js/apps/component-measures/drilldown/ComponentCell.tsx
server/sonar-web/src/main/js/apps/component-measures/utils.ts
server/sonar-web/src/main/js/apps/issues/__tests__/IssuesApp-it.tsx
server/sonar-web/src/main/js/apps/issues/components/ComponentBreadcrumbs.tsx
server/sonar-web/src/main/js/apps/issues/components/IssuesApp.tsx
server/sonar-web/src/main/js/apps/issues/components/__tests__/ComponentBreadcrumbs-test.tsx
server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/IssueSourceViewerHeader.tsx
server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/utils.ts
server/sonar-web/src/main/js/apps/issues/sidebar/AuthorFacet.tsx
server/sonar-web/src/main/js/apps/issues/sidebar/ProjectFacet.tsx
server/sonar-web/src/main/js/apps/issues/sidebar/Sidebar.tsx
server/sonar-web/src/main/js/apps/issues/sidebar/TagFacet.tsx
server/sonar-web/src/main/js/apps/issues/sidebar/__tests__/Sidebar-it.tsx
server/sonar-web/src/main/js/apps/overview/branches/Analysis.tsx
server/sonar-web/src/main/js/apps/overview/branches/BranchOverview.tsx
server/sonar-web/src/main/js/apps/overview/branches/BranchOverviewRenderer.tsx
server/sonar-web/src/main/js/apps/overview/branches/FirstAnalysisNextStepsNotif.tsx
server/sonar-web/src/main/js/apps/overview/branches/MeasuresPanelNoNewCode.tsx
server/sonar-web/src/main/js/apps/overview/branches/NoCodeWarning.tsx
server/sonar-web/src/main/js/apps/overview/branches/QualityGatePanel.tsx
server/sonar-web/src/main/js/apps/overview/branches/TabsPanel.tsx
server/sonar-web/src/main/js/apps/overview/branches/__tests__/BranchOverview-it.tsx
server/sonar-web/src/main/js/apps/overview/components/AnalysisLicenseError.tsx
server/sonar-web/src/main/js/apps/overview/components/EmptyOverview.tsx
server/sonar-web/src/main/js/apps/overview/components/__tests__/App-test.tsx
server/sonar-web/src/main/js/apps/overview/pullRequests/__tests__/PullRequestOverview-it.tsx
server/sonar-web/src/main/js/apps/permission-templates/components/__tests__/PermissionTemplatesApp-it.tsx
server/sonar-web/src/main/js/apps/permissions/global/components/PermissionsGlobalApp.tsx
server/sonar-web/src/main/js/apps/permissions/global/components/__tests__/PermissionsGlobal-it.tsx
server/sonar-web/src/main/js/apps/permissions/project/components/__tests__/PermissionsProject-it.tsx
server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysesList.tsx
server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAppRenderer.tsx
server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityPageFilters.tsx
server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityApp-it.tsx
server/sonar-web/src/main/js/apps/projectDeletion/__tests__/ProjectDeletionApp-it.tsx
server/sonar-web/src/main/js/apps/projectInformation/__tests__/ProjectInformationApp-it.tsx
server/sonar-web/src/main/js/apps/projectInformation/about/AboutProject.tsx
server/sonar-web/src/main/js/apps/projectInformation/about/components/MetaSize.tsx
server/sonar-web/src/main/js/apps/projectInformation/about/components/MetaTags.tsx
server/sonar-web/src/main/js/apps/projectInformation/about/components/__tests__/MetaKey-test.tsx
server/sonar-web/src/main/js/apps/projectInformation/about/components/__tests__/MetaTags-test.tsx
server/sonar-web/src/main/js/apps/projectInformation/badges/__tests__/ProjectBadges-test.tsx
server/sonar-web/src/main/js/apps/projects/components/AllProjects.tsx
server/sonar-web/src/main/js/apps/projects/components/ApplicationCreation.tsx
server/sonar-web/src/main/js/apps/projects/components/__tests__/AllProjects-test.tsx
server/sonar-web/src/main/js/apps/projects/components/__tests__/CreateApplication-test.tsx
server/sonar-web/src/main/js/apps/projects/components/__tests__/PageHeader-test.tsx
server/sonar-web/src/main/js/apps/projects/components/project-card/ProjectCard.tsx
server/sonar-web/src/main/js/apps/projects/components/project-card/ProjectCardMeasures.tsx
server/sonar-web/src/main/js/apps/projects/components/project-card/__tests__/ProjectCard-test.tsx
server/sonar-web/src/main/js/apps/projects/components/project-card/__tests__/ProjectCardMeasures-test.tsx
server/sonar-web/src/main/js/apps/projects/filters/QualifierFilter.tsx
server/sonar-web/src/main/js/apps/projects/query.ts
server/sonar-web/src/main/js/apps/projects/types.ts
server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx
server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectManagementApp-it.tsx
server/sonar-web/src/main/js/apps/security-hotspots/SecurityHotspotsApp.tsx
server/sonar-web/src/main/js/apps/security-hotspots/SecurityHotspotsAppRenderer.tsx
server/sonar-web/src/main/js/apps/security-hotspots/components/HotspotSimpleList.tsx
server/sonar-web/src/main/js/apps/security-hotspots/components/HotspotSnippetHeader.tsx
server/sonar-web/src/main/js/components/SourceViewer/SourceViewer.tsx
server/sonar-web/src/main/js/components/SourceViewer/SourceViewerHeader.tsx
server/sonar-web/src/main/js/components/SourceViewer/components/DuplicationPopup.tsx
server/sonar-web/src/main/js/components/SourceViewer/helpers/__tests__/loadIssues-test.ts
server/sonar-web/src/main/js/components/controls/ComponentReportActions.tsx
server/sonar-web/src/main/js/components/controls/__tests__/ComponentReportActions-test.tsx
server/sonar-web/src/main/js/components/controls/__tests__/Favorite-test.tsx
server/sonar-web/src/main/js/components/workspace/__tests__/Workspace-test.tsx
server/sonar-web/src/main/js/helpers/__tests__/urls-test.ts
server/sonar-web/src/main/js/helpers/constants.ts
server/sonar-web/src/main/js/helpers/mocks/component.ts
server/sonar-web/src/main/js/helpers/mocks/projects.ts
server/sonar-web/src/main/js/helpers/mocks/security-hotspots.ts
server/sonar-web/src/main/js/helpers/mocks/sources.ts
server/sonar-web/src/main/js/helpers/mocks/tasks.ts
server/sonar-web/src/main/js/helpers/testMocks.ts
server/sonar-web/src/main/js/helpers/urls.ts
server/sonar-web/src/main/js/sonar-aligned/types/component.ts [new file with mode: 0644]
server/sonar-web/src/main/js/types/__tests__/__snapshots__/component-test.ts.snap
server/sonar-web/src/main/js/types/__tests__/component-test.ts
server/sonar-web/src/main/js/types/component.ts
server/sonar-web/src/main/js/types/security-hotspots.ts
server/sonar-web/src/main/js/types/types.ts

index 02035fcdb7fb7d1ac98c2be53bdf7e993ebedc4f..a69392e7e9e1fe079f3afbd9a77eb86696b7b387 100644 (file)
 import { throwGlobalError } from '~sonar-aligned/helpers/error';
 import { getJSON } from '~sonar-aligned/helpers/request';
 import { BranchParameters } from '~sonar-aligned/types/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { post, RequestData } from '../helpers/request';
-import {
-  ComponentQualifier,
-  TreeComponent,
-  TreeComponentWithPath,
-  Visibility,
-} from '../types/component';
+import { TreeComponent, TreeComponentWithPath, Visibility } from '../types/component';
 import {
   ComponentMeasure,
   Dict,
index 0f16c786a19beb1960b71e35723f74d4037e03d8..5806e296367ace482f1b36a4ba10bea6ae55885d 100644 (file)
@@ -19,6 +19,7 @@
  */
 import { HttpStatusCode } from 'axios';
 import { cloneDeep, countBy, pick, trim } from 'lodash';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { RuleDescriptionSections } from '../../apps/coding-rules/rule';
 import { mapRestRuleToRule } from '../../apps/coding-rules/utils';
 import { getStandards } from '../../helpers/security-standard';
@@ -30,7 +31,7 @@ import {
   mockRuleRepository,
 } from '../../helpers/testMocks';
 import { RuleRepository, SearchRulesResponse } from '../../types/coding-rules';
-import { ComponentQualifier, Visibility } from '../../types/component';
+import { Visibility } from '../../types/component';
 import { RawIssuesResponse } from '../../types/issues';
 import { RuleStatus, SearchRulesQuery } from '../../types/rules';
 import { SecurityStandard } from '../../types/security';
index aaf8dda617eb2b35e07928a161d2a70fb7bf02ce..7c53a4da0f298754472ff6c0c62095ee967eb695 100644 (file)
@@ -18,6 +18,7 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { chunk, cloneDeep, remove, uniq } from 'lodash';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import {
   mockPermission,
   mockPermissionGroup,
@@ -26,7 +27,7 @@ import {
   mockPermissionUser,
 } from '../../helpers/mocks/permissions';
 import { PERMISSIONS_ORDER_FOR_PROJECT_TEMPLATE } from '../../helpers/permissions';
-import { ComponentQualifier, Visibility } from '../../types/component';
+import { Visibility } from '../../types/component';
 import { Permissions } from '../../types/permissions';
 import { Permission, PermissionGroup, PermissionTemplate, PermissionUser } from '../../types/types';
 import { BaseSearchProjectsParameters } from '../components';
index 57955a41fda844e7938509c42bf4896d1e669d32..b6048242d6a605142a56a40b73829f25829bed55 100644 (file)
@@ -18,8 +18,9 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { cloneDeep } from 'lodash';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { mockProject } from '../../helpers/mocks/projects';
-import { ComponentQualifier, Visibility } from '../../types/component';
+import { Visibility } from '../../types/component';
 import { SettingsKey } from '../../types/settings';
 import {
   Project,
index fada7c125f0cc932503134c8e67d60c0a252bd0d..14ba685aa6c48d96cd169ab7c5491812fcb8093d 100644 (file)
@@ -18,6 +18,7 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { times } from 'lodash';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { mockComponent } from '../../../helpers/mocks/component';
 import {
   mockDuplicatedFile,
@@ -26,7 +27,6 @@ import {
   mockSourceLine,
   mockSourceViewerFile,
 } from '../../../helpers/mocks/sources';
-import { ComponentQualifier } from '../../../types/component';
 import {
   Component,
   Dict,
index 65091f63c776542fd325155206459b1daed29de9..966e6bae94df1cd5b5d94bd22d8209994485a658 100644 (file)
@@ -20,7 +20,8 @@
 
 /* eslint-disable local-rules/use-metrickey-enum */
 
-import { ComponentQualifier, Visibility } from '../../../types/component';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
+import { Visibility } from '../../../types/component';
 import { ComponentRaw } from '../../components';
 
 export function mockProjects(): ComponentRaw[] {
index a67e6b9912b57da3dc2cd5db84e8358470c1a894..4e0e2ba7128f076fc184dcb994ffd6efdf93325a 100644 (file)
@@ -18,9 +18,9 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { cloneDeep } from 'lodash';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { mockComponent } from '../../../helpers/mocks/component';
 import { mockWebhook, mockWebhookDelivery } from '../../../helpers/mocks/webhook';
-import { ComponentQualifier } from '../../../types/component';
 import { WebhookDelivery, WebhookResponse } from '../../../types/webhook';
 import {
   WEBHOOK_GLOBAL_1,
index 7ac68b3f75638c7aa0f3e1d32269f76eb63a0d68..2cd0b6136bc61cb548f9c88ba7b6340422ff25a1 100644 (file)
@@ -19,8 +19,9 @@
  */
 import { throwGlobalError } from '~sonar-aligned/helpers/error';
 import { getJSON } from '~sonar-aligned/helpers/request';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { post, postJSON } from '../helpers/request';
-import { ComponentQualifier, Visibility } from '../types/component';
+import { Visibility } from '../types/component';
 import { Paging } from '../types/types';
 
 export interface BaseSearchProjectsParameters {
index 0e96137e0bedec2ade060434db03968391f94942..e05163099abe0cfb8ee82d9ed0bea57b91985fe7 100644 (file)
@@ -24,6 +24,7 @@ import { createPortal } from 'react-dom';
 import { Helmet } from 'react-helmet-async';
 import { Outlet } from 'react-router-dom';
 import { useLocation, useRouter } from '~sonar-aligned/components/hoc/withRouter';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { validateProjectAlmBinding } from '../../api/alm-settings';
 import { getTasksForComponent } from '../../api/ce';
 import { getComponentData } from '../../api/components';
@@ -34,7 +35,7 @@ import { getPortfolioUrl, getProjectUrl, getPullRequestUrl } from '../../helpers
 import { useBranchesQuery } from '../../queries/branch';
 import { ProjectAlmBindingConfigurationErrors } from '../../types/alm-settings';
 import { Branch } from '../../types/branch-like';
-import { ComponentQualifier, isFile, isPortfolioLike } from '../../types/component';
+import { isFile, isPortfolioLike } from '../../types/component';
 import { Feature } from '../../types/features';
 import { Task, TaskStatuses, TaskTypes } from '../../types/tasks';
 import { Component } from '../../types/types';
index c617493d56d6d3c6452ec010ce5ca62b9aaab941..309d128a9f0edb186a7075e3522c35bdf32313a2 100644 (file)
@@ -22,6 +22,7 @@ import userEvent from '@testing-library/user-event';
 import React, { useContext } from 'react';
 import { Route } from 'react-router-dom';
 import * as withRouter from '~sonar-aligned/components/hoc/withRouter';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { validateProjectAlmBinding } from '../../../api/alm-settings';
 import { getTasksForComponent } from '../../../api/ce';
 import { getComponentData } from '../../../api/components';
@@ -34,7 +35,7 @@ import { HttpStatus } from '../../../helpers/request';
 import { renderAppRoutes, renderComponent } from '../../../helpers/testReactTestingUtils';
 import { byRole, byText } from '../../../helpers/testSelector';
 import { getProjectUrl, getPullRequestUrl } from '../../../helpers/urls';
-import { ComponentQualifier, Visibility } from '../../../types/component';
+import { Visibility } from '../../../types/component';
 import { TaskStatuses, TaskTypes } from '../../../types/tasks';
 import handleRequiredAuthorization from '../../utils/handleRequiredAuthorization';
 import ComponentContainer, { isSameBranch } from '../ComponentContainer';
index 01f497a8d0833cda03cb39007a7007b93427be96..77664e5beb10cfa11be67e783beb7a54f45e62d1 100644 (file)
@@ -20,8 +20,9 @@
 import { render, screen } from '@testing-library/react';
 import * as React from 'react';
 import { MemoryRouter, Route, Routes } from 'react-router-dom';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { mockComponent } from '../../../helpers/mocks/component';
-import { ComponentContextShape, ComponentQualifier } from '../../../types/component';
+import { ComponentContextShape } from '../../../types/component';
 import { Component } from '../../../types/types';
 import NonAdminPagesContainer from '../NonAdminPagesContainer';
 import { ComponentContext } from '../componentContext/ComponentContext';
index 0e3cdd76e37d668dcab89b80c1720db1971d9948..a6a79a9abd9c7f4926d608a4749c63282cab6225 100644 (file)
@@ -17,8 +17,8 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { get, remove, save } from '../../../helpers/storage';
-import { ComponentQualifier } from '../../../types/component';
 import RecentHistory, { History } from '../RecentHistory';
 
 jest.mock('../../../helpers/storage', () => ({
index c2b4a9acce78045da4c8eb7e9b5d26e190b8f351..9086a57de6f5e595aa8804f385c54a9b20e22827 100644 (file)
@@ -19,7 +19,8 @@
  */
 import * as React from 'react';
 import { getWrappedDisplayName } from '~sonar-aligned/components/hoc/utils';
-import { ComponentContextShape, ComponentQualifier } from '../../../types/component';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
+import { ComponentContextShape } from '../../../types/component';
 import { ComponentContext } from './ComponentContext';
 
 export default function withComponentContext<P extends Partial<ComponentContextShape>>(
index 98084b97bb481bb26d2a7e0da856ddf9cc63a527..74f8f67cafe286f54835b6305dd41bc7e69f27b2 100644 (file)
@@ -26,10 +26,11 @@ import {
   RadioButton,
 } from 'design-system';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { createApplication } from '../../../api/application';
 import MandatoryFieldsExplanation from '../../../components/ui/MandatoryFieldsExplanation';
 import { translate } from '../../../helpers/l10n';
-import { ComponentQualifier, Visibility } from '../../../types/component';
+import { Visibility } from '../../../types/component';
 
 interface Props {
   onClose: () => void;
index be60a163d75e2892932c0b752063d5062211360a..7e849acf4ea96ec4c442cc30347101514d2afe05 100644 (file)
@@ -30,6 +30,7 @@ import {
 import { debounce, uniqBy } from 'lodash';
 import * as React from 'react';
 import { withRouter } from '~sonar-aligned/components/hoc/withRouter';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Router } from '~sonar-aligned/types/router';
 import { getSuggestions } from '../../../api/components';
 import FocusOutHandler from '../../../components/controls/FocusOutHandler';
@@ -41,7 +42,6 @@ import { KeyboardKeys } from '../../../helpers/keycodes';
 import { translate, translateWithParameters } from '../../../helpers/l10n';
 import { getKeyboardShortcutEnabled } from '../../../helpers/preferences';
 import { getComponentOverviewUrl } from '../../../helpers/urls';
-import { ComponentQualifier } from '../../../types/component';
 import { Dict } from '../../../types/types';
 import RecentHistory from '../RecentHistory';
 import GlobalSearchResult from './GlobalSearchResult';
index c1b617e15e9f3ba8fd968e1c262db660ac10af93..b14c5a80025ef452de6934285a148393966a4326 100644 (file)
@@ -18,7 +18,7 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { sortBy } from 'lodash';
-import { ComponentQualifier } from '../../../../js/types/component';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 
 const ORDER = [
   ComponentQualifier.Portfolio,
index cab37894a900d582b955f2e1e3d52ac4e31b6afe..7a668ce3d26459edb4b5d60b1faf62cf6bde2295 100644 (file)
  */
 import { TopBar } from 'design-system';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import NCDAutoUpdateMessage from '../../../../components/new-code-definition/NCDAutoUpdateMessage';
 import { translate } from '../../../../helpers/l10n';
 import { withBranchLikes } from '../../../../queries/branch';
 import { ProjectAlmBindingConfigurationErrors } from '../../../../types/alm-settings';
 import { Branch } from '../../../../types/branch-like';
-import { ComponentQualifier } from '../../../../types/component';
 import { Feature } from '../../../../types/features';
 import { Component } from '../../../../types/types';
 import RecentHistory from '../../RecentHistory';
index 705a4e0515a7bf7bd259114b908e9ed74c34b146..c36789459d4688b7d086881cc7dc0d51f9579e39 100644 (file)
@@ -29,17 +29,13 @@ import * as React from 'react';
 import { useLocation } from '~sonar-aligned/components/hoc/withRouter';
 import { getBranchLikeQuery } from '~sonar-aligned/helpers/branch-like';
 import { BranchParameters } from '~sonar-aligned/types/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { DEFAULT_ISSUES_QUERY } from '../../../../components/shared/utils';
 import { isPullRequest } from '../../../../helpers/branch-like';
 import { hasMessage, translate, translateWithParameters } from '../../../../helpers/l10n';
 import { getPortfolioUrl, getProjectQueryUrl } from '../../../../helpers/urls';
 import { useBranchesQuery } from '../../../../queries/branch';
-import {
-  ComponentQualifier,
-  isApplication,
-  isPortfolioLike,
-  isProject,
-} from '../../../../types/component';
+import { isApplication, isPortfolioLike, isProject } from '../../../../types/component';
 import { Feature } from '../../../../types/features';
 import { Component, Dict, Extension } from '../../../../types/types';
 import withAvailableFeatures, {
index 1331723adba6e68d0ccd2e0e78470ed6af7b8f7c..d302a4e650fd4e1b5b37d2e7ba22fd933bcd9441 100644 (file)
 import { screen } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import AlmSettingsServiceMock from '../../../../../api/mocks/AlmSettingsServiceMock';
 import BranchesServiceMock from '../../../../../api/mocks/BranchesServiceMock';
 import { mockProjectAlmBindingConfigurationErrors } from '../../../../../helpers/mocks/alm-settings';
 import { mockComponent } from '../../../../../helpers/mocks/component';
 import { renderApp } from '../../../../../helpers/testReactTestingUtils';
-import { ComponentQualifier } from '../../../../../types/component';
 import ComponentNav, { ComponentNavProps } from '../ComponentNav';
 
 const branchesHandler = new BranchesServiceMock();
index e2a122028540c87c20b9f9450f00cb21ced0afcb..2872f34cf5eff4fcff18b5e6c4607dd6febcd79e 100644 (file)
@@ -20,6 +20,7 @@
 import { screen } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import AlmSettingsServiceMock from '../../../../../api/mocks/AlmSettingsServiceMock';
 import BranchesServiceMock from '../../../../../api/mocks/BranchesServiceMock';
 import { mockMainBranch, mockPullRequest } from '../../../../../helpers/mocks/branch-like';
@@ -27,7 +28,6 @@ import { mockComponent } from '../../../../../helpers/mocks/component';
 import { mockCurrentUser, mockLoggedInUser } from '../../../../../helpers/testMocks';
 import { renderApp } from '../../../../../helpers/testReactTestingUtils';
 import { AlmKeys } from '../../../../../types/alm-settings';
-import { ComponentQualifier } from '../../../../../types/component';
 import { Feature } from '../../../../../types/features';
 import { Header, HeaderProps } from '../Header';
 
index 89e5b10e84281e9bfcaf4a812130810496d6fae4..2d954bb0bf9e090e9f38954a744997df0b8a005a 100644 (file)
 import { screen } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import BranchesServiceMock from '../../../../../api/mocks/BranchesServiceMock';
 import { mockComponent } from '../../../../../helpers/mocks/component';
 import { renderComponent } from '../../../../../helpers/testReactTestingUtils';
 import { ComponentPropsType } from '../../../../../helpers/testUtils';
-import { ComponentQualifier } from '../../../../../types/component';
 import { Feature } from '../../../../../types/features';
 import { Menu } from '../Menu';
 
index 7ff1396924a2a25d4893aea38fcef67f5958345c..2d1f081382583d4ae33bd39e68b7cd74f0d7ff4c 100644 (file)
@@ -17,9 +17,9 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { mockBranch } from '../../../../../helpers/mocks/branch-like';
 import { mockComponent } from '../../../../../helpers/mocks/component';
-import { ComponentQualifier } from '../../../../../types/component';
 import { getCurrentPage } from '../utils';
 
 describe('getCurrentPage', () => {
index 5756e7e1e0b4db62fe8a2319ad9940808145efa3..5fa6f57702371cc5bb0fe3f1a6bbb5c8e3b60162 100644 (file)
 import styled from '@emotion/styled';
 import { ButtonSecondary, Popup, PopupPlacement, PopupZLevel } from 'design-system';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import EscKeydownHandler from '../../../../../components/controls/EscKeydownHandler';
 import FocusOutHandler from '../../../../../components/controls/FocusOutHandler';
 import OutsideClickHandler from '../../../../../components/controls/OutsideClickHandler';
 import { useBranchesQuery } from '../../../../../queries/branch';
-import { ComponentQualifier } from '../../../../../types/component';
 import { Feature } from '../../../../../types/features';
 import { Component } from '../../../../../types/types';
 import withAvailableFeatures, {
index 24b448c766c0d5e6215b78e63451c8771f63f0cc..17cfa0db992b6cdb6ae12993ea1f5bf3f27db3e4 100644 (file)
@@ -22,6 +22,7 @@ import * as React from 'react';
 import { withRouter } from '~sonar-aligned/components/hoc/withRouter';
 import { isBranch } from '~sonar-aligned/helpers/branch-like';
 import { queryToSearch } from '~sonar-aligned/helpers/urls';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Router } from '~sonar-aligned/types/router';
 import {
   getBrancheLikesAsTree,
@@ -32,7 +33,6 @@ import { KeyboardKeys } from '../../../../../helpers/keycodes';
 import { translate } from '../../../../../helpers/l10n';
 import { getBranchLikeUrl } from '../../../../../helpers/urls';
 import { BranchLike, BranchLikeTree } from '../../../../../types/branch-like';
-import { ComponentQualifier } from '../../../../../types/component';
 import { Component } from '../../../../../types/types';
 import MenuItemList from './MenuItemList';
 
index f713ccb06530dd88d1ea1e2d7330500fada0c3d3..5fdf10e0c162e1730a5ca9909aab4d9786ed7419 100644 (file)
@@ -18,8 +18,8 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { isBranch } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { BranchLike } from '../../../../types/branch-like';
-import { ComponentQualifier } from '../../../../types/component';
 import { Component } from '../../../../types/types';
 import { HomePage } from '../../../../types/users';
 
index 28f2dfbf4685e58c9798c7ea8e568ec749b5c011..305d5880c26b27441eca0e300b83857c5d3dd987 100644 (file)
@@ -21,13 +21,13 @@ import classNames from 'classnames';
 import { MainMenu, MainMenuItem } from 'design-system';
 import * as React from 'react';
 import { NavLink } from 'react-router-dom';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { isMySet } from '../../../../apps/issues/utils';
 import Link from '../../../../components/common/Link';
 import { DEFAULT_ISSUES_QUERY } from '../../../../components/shared/utils';
 import { translate } from '../../../../helpers/l10n';
 import { getQualityGatesUrl } from '../../../../helpers/urls';
 import { AppState } from '../../../../types/appstate';
-import { ComponentQualifier } from '../../../../types/component';
 import { CurrentUser } from '../../../../types/users';
 import withAppStateContext from '../../app-state/withAppStateContext';
 import GlobalNavMore from './GlobalNavMore';
index f027d36fcb7c28bfd5589906bae969cd0959a363..1f7fa6850cacbacbe68390ed305ed1dc9953f07e 100644 (file)
@@ -30,10 +30,10 @@ import {
   Spinner,
 } from 'design-system';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { getSuggestions } from '../../../api/components';
 import { KeyboardKeys } from '../../../helpers/keycodes';
 import { translate } from '../../../helpers/l10n';
-import { ComponentQualifier } from '../../../types/component';
 import { NotificationProject } from '../../../types/notifications';
 
 interface Props {
index 441cb8a1f086a15e640c4f5909b2decc4445d14a..0b47121cad72302ff96b341821321671468eeb18 100644 (file)
@@ -21,6 +21,7 @@ import { screen, waitFor, within } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import { UserEvent } from '@testing-library/user-event/dist/types/setup/setup';
 import { keyBy, omit, times } from 'lodash';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import BranchesServiceMock from '../../../api/mocks/BranchesServiceMock';
 import ComponentsServiceMock from '../../../api/mocks/ComponentsServiceMock';
 import IssuesServiceMock from '../../../api/mocks/IssuesServiceMock';
@@ -30,7 +31,6 @@ import { mockComponent } from '../../../helpers/mocks/component';
 import { mockMeasure } from '../../../helpers/testMocks';
 import { renderAppWithComponentContext } from '../../../helpers/testReactTestingUtils';
 import { QuerySelector, byLabelText, byRole, byText } from '../../../helpers/testSelector';
-import { ComponentQualifier } from '../../../types/component';
 import { MetricKey } from '../../../types/metrics';
 import { Component } from '../../../types/types';
 import routes from '../routes';
index 7c8d345811dd73f447bec1f8e9bc6444a2f7d40c..094c0effa0834b7b075d35e0deb577e07d0ec882 100644 (file)
@@ -17,9 +17,9 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { getBreadcrumbs, getChildren, getComponent } from '../../../api/components';
 import { mockMainBranch, mockPullRequest } from '../../../helpers/mocks/branch-like';
-import { ComponentQualifier } from '../../../types/component';
 import {
   addComponent,
   addComponentBreadcrumbs,
index fcb3b6cd505cf6a53251da60ec8bb9d1be21b1af..a598b0920693a3b3a998deaade7a515300e70952 100644 (file)
  */
 import * as React from 'react';
 import { withRouter } from '~sonar-aligned/components/hoc/withRouter';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Location, Router } from '~sonar-aligned/types/router';
 import withComponentContext from '../../../app/components/componentContext/withComponentContext';
 import withMetricsContext from '../../../app/components/metrics/withMetricsContext';
 import { CodeScope, getCodeUrl, getProjectUrl } from '../../../helpers/urls';
 import { WithBranchLikesProps, useBranchesQuery } from '../../../queries/branch';
-import { ComponentQualifier, isPortfolioLike } from '../../../types/component';
+import { isPortfolioLike } from '../../../types/component';
 import { Breadcrumb, Component, ComponentMeasure, Dict, Metric } from '../../../types/types';
 import { addComponent, addComponentBreadcrumbs, clearBucket } from '../bucket';
 import { loadMoreChildren, retrieveComponent, retrieveComponentChildren } from '../utils';
index c8aa45a568c6b5f4b31199af32219a0bf7026d7a..daecf2363c143809487c4b4fec14f727e0756c4d 100644 (file)
  */
 import { ContentCell, NumericalCell, TableRowInteractive } from 'design-system';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import DateFromNow from '../../../components/intl/DateFromNow';
 import { WorkspaceContext } from '../../../components/workspace/context';
 import { BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier } from '../../../types/component';
 import { Metric, ComponentMeasure as TypeComponentMeasure } from '../../../types/types';
 import ComponentMeasure from './ComponentMeasure';
 import ComponentName from './ComponentName';
index 22d5b0c07fdf1b2a181c7f0b7b72ec85427f0cf4..f06edd9d8d927cf6f9dde66bb5a43d6d310b0b96 100644 (file)
@@ -22,16 +22,12 @@ import { Badge, BranchIcon, LightLabel, Note, QualifierIcon } from 'design-syste
 import * as React from 'react';
 import { getBranchLikeQuery } from '~sonar-aligned/helpers/branch-like';
 import { queryToSearch } from '~sonar-aligned/helpers/urls';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { translate } from '../../../helpers/l10n';
 import { isDefined } from '../../../helpers/types';
 import { CodeScope, getComponentOverviewUrl } from '../../../helpers/urls';
 import { BranchLike } from '../../../types/branch-like';
-import {
-  ComponentQualifier,
-  isApplication,
-  isPortfolioLike,
-  isProject,
-} from '../../../types/component';
+import { isApplication, isPortfolioLike, isProject } from '../../../types/component';
 import { ComponentMeasure } from '../../../types/types';
 import { mostCommonPrefix } from '../utils';
 
index a604644e209c1b0605bbe1ec963f8bd09961eaa1..0cd65d47c8a5995dadaec6bd8fa69c2c9c6b87bb 100644 (file)
 import { ContentCell, Table, TableRow } from 'design-system';
 import { sortBy, times } from 'lodash';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import withKeyboardNavigation from '../../../components/hoc/withKeyboardNavigation';
 import { getComponentMeasureUniqueKey } from '../../../helpers/component';
 import { isDefined } from '../../../helpers/types';
 import { BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier } from '../../../types/component';
 import { ComponentMeasure, Metric } from '../../../types/types';
 import Component from './Component';
 import ComponentsEmpty from './ComponentsEmpty';
index b99f1b76f81b72b2a0609357a96d24252db69436..ce7cb76897d45bf9c8465eccae12d0bcc08b6515 100644 (file)
@@ -23,12 +23,13 @@ import { isEmpty, omit } from 'lodash';
 import * as React from 'react';
 import { withRouter } from '~sonar-aligned/components/hoc/withRouter';
 import { getBranchLikeQuery } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Location, Router } from '~sonar-aligned/types/router';
 import { getTree } from '../../../api/components';
 import { KeyboardKeys } from '../../../helpers/keycodes';
 import { translate } from '../../../helpers/l10n';
 import { BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier, isPortfolioLike, isView } from '../../../types/component';
+import { isPortfolioLike, isView } from '../../../types/component';
 import { ComponentMeasure } from '../../../types/types';
 
 interface Props {
index 14fa190f3f5d1cc3aca6fbb2f7de7d641344cb21..89d9333d7c117e632b4ff68f89c7f389dbd81c89 100644 (file)
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { getBranchLikeQuery } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { getBreadcrumbs, getChildren, getComponent, getComponentData } from '../../api/components';
 import { isPullRequest } from '../../helpers/branch-like';
 import { CCT_SOFTWARE_QUALITY_METRICS, OLD_TAXONOMY_METRICS } from '../../helpers/constants';
 import { BranchLike } from '../../types/branch-like';
-import { ComponentQualifier, isPortfolioLike } from '../../types/component';
+import { isPortfolioLike } from '../../types/component';
 import { MetricKey } from '../../types/metrics';
 import { Breadcrumb, ComponentMeasure } from '../../types/types';
 import {
index ab9c02d9b06461af4bd0138e5674f4a9b6413810..3bd91c2e7639ffefdf9fd4d0232ca00d7f2a7015 100644 (file)
@@ -21,6 +21,7 @@ import { screen, waitFor, within } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import { times } from 'lodash';
 import selectEvent from 'react-select-event';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import BranchesServiceMock from '../../../api/mocks/BranchesServiceMock';
 import ComponentsServiceMock from '../../../api/mocks/ComponentsServiceMock';
 import IssuesServiceMock from '../../../api/mocks/IssuesServiceMock';
@@ -29,7 +30,7 @@ import { mockComponent } from '../../../helpers/mocks/component';
 import { mockMeasure, mockMetric } from '../../../helpers/testMocks';
 import { renderAppWithComponentContext } from '../../../helpers/testReactTestingUtils';
 import { byLabelText, byRole, byTestId, byText } from '../../../helpers/testSelector';
-import { ComponentContextShape, ComponentQualifier } from '../../../types/component';
+import { ComponentContextShape } from '../../../types/component';
 import { Feature } from '../../../types/features';
 import { MetricKey } from '../../../types/metrics';
 import routes from '../routes';
index af7563afcc94ec4e7260f35caddad80f7ef1adc7..23eca5a2f0d2fb4b66a2f26d5bb934695c4bf29c 100644 (file)
@@ -17,7 +17,7 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
-import { ComponentQualifier } from '../../../types/component';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { MeasurePageView } from '../../../types/measures';
 import { MetricKey, MetricType } from '../../../types/metrics';
 import { ComponentMeasure } from '../../../types/types';
index 57fb020d3ed03742d5ebb48d68667052b3745a73..80ad48f8a8f6cd90cd3978f0664b88d0b385588a 100644 (file)
@@ -34,6 +34,7 @@ import { Helmet } from 'react-helmet-async';
 import HelpTooltip from '~sonar-aligned/components/controls/HelpTooltip';
 import { withRouter } from '~sonar-aligned/components/hoc/withRouter';
 import { getBranchLikeQuery } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Location, Router } from '~sonar-aligned/types/router';
 import { getMeasuresWithPeriod } from '../../../api/measures';
 import { getAllMetrics } from '../../../api/metrics';
@@ -46,7 +47,7 @@ import { isPullRequest, isSameBranchLike } from '../../../helpers/branch-like';
 import { translate } from '../../../helpers/l10n';
 import { areLeakAndOverallCCTMeasuresComputed } from '../../../helpers/measures';
 import { WithBranchLikesProps, useBranchesQuery } from '../../../queries/branch';
-import { ComponentQualifier, isPortfolioLike } from '../../../types/component';
+import { isPortfolioLike } from '../../../types/component';
 import { MeasurePageView } from '../../../types/measures';
 import { MetricKey } from '../../../types/metrics';
 import { ComponentMeasure, Dict, MeasureEnhanced, Metric, Period } from '../../../types/types';
index a8021f0b07e7a8b0ea6aadd8eaabbed872fd7c6f..34492842e8ee3abbfa6ee3071ea3c28fe2e59c24 100644 (file)
@@ -22,13 +22,13 @@ import { differenceInDays } from 'date-fns';
 import { Highlight, Note, themeBorder, themeColor } from 'design-system';
 import * as React from 'react';
 import { WrappedComponentProps, injectIntl } from 'react-intl';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import Tooltip from '../../../components/controls/Tooltip';
 import DateFormatter, { longFormatterOption } from '../../../components/intl/DateFormatter';
 import DateFromNow from '../../../components/intl/DateFromNow';
 import DateTimeFormatter, { formatterOption } from '../../../components/intl/DateTimeFormatter';
 import { translate, translateWithParameters } from '../../../helpers/l10n';
 import { getNewCodePeriodDate, getNewCodePeriodLabel } from '../../../helpers/new-code-period';
-import { ComponentQualifier } from '../../../types/component';
 import { NewCodeDefinitionType } from '../../../types/new-code-definition';
 import { ComponentMeasure, Period } from '../../../types/types';
 
index 99e0c642cfdae0920d12dc961cb08459be79787b..7f87036451aaf360b275e7eea8795a5fd2cdde6b 100644 (file)
@@ -22,6 +22,7 @@ import classNames from 'classnames';
 import { MetricsRatingBadge, RatingLabel } from 'design-system';
 import * as React from 'react';
 import { formatMeasure } from '~sonar-aligned/helpers/measures';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import LanguageDistribution from '../../../components/charts/LanguageDistribution';
 import Tooltip from '../../../components/controls/Tooltip';
 import Measure from '../../../components/measure/Measure';
@@ -29,7 +30,6 @@ import { getLocalizedMetricName, translate, translateWithParameters } from '../.
 import { isDiffMetric } from '../../../helpers/measures';
 import { getMeasureHistoryUrl } from '../../../helpers/urls';
 import { BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier } from '../../../types/component';
 import { MetricKey, MetricType } from '../../../types/metrics';
 import { ComponentMeasure, Metric, Period, Measure as TypeMeasure } from '../../../types/types';
 import { getMetricSubnavigationName, hasFullMeasures } from '../utils';
index eb0a0a7395ba8e2b4bbb2f5ff1f8a05309c81a3e..0284d8bc4a136510fb398288b8574e38f4c99418 100644 (file)
@@ -21,13 +21,14 @@ import classNames from 'classnames';
 import { Breadcrumbs, ClipboardIconButton, HoverLink } from 'design-system';
 import * as React from 'react';
 import { getBranchLikeQuery } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { getBreadcrumbs } from '../../../api/components';
 import { isSameBranchLike } from '../../../helpers/branch-like';
 import { KeyboardKeys } from '../../../helpers/keycodes';
 import { translate } from '../../../helpers/l10n';
 import { collapsePath, limitComponentName } from '../../../helpers/path';
 import { BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier, isProject } from '../../../types/component';
+import { isProject } from '../../../types/component';
 import { ComponentMeasure, ComponentMeasureIntern } from '../../../types/types';
 
 interface Props {
index 3a832bdbd8ede310044aac095e8a3e7e1e6f0b6f..879da57177dca4b7be26b149b1c3f478f9a8bc4b 100644 (file)
@@ -19,9 +19,9 @@
  */
 import { screen } from '@testing-library/react';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { mockComponentMeasure } from '../../../../helpers/mocks/component';
 import { renderComponent } from '../../../../helpers/testReactTestingUtils';
-import { ComponentQualifier } from '../../../../types/component';
 import { Period } from '../../../../types/types';
 import LeakPeriodLegend, { LeakPeriodLegendProps } from '../LeakPeriodLegend';
 
index cc4f101da29a5584ecc63c51f9196a02c501252f..fab3b2edecbfa29af0bc0f5293788276e9979ab2 100644 (file)
 import { ContentCell, HoverLink, Note, QualifierIcon } from 'design-system';
 import * as React from 'react';
 import { To } from 'react-router-dom';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { fillBranchLike } from '../../../helpers/branch-like';
 import { limitComponentName, splitPath } from '../../../helpers/path';
 import { getComponentDrilldownUrlWithSelection, getProjectUrl } from '../../../helpers/urls';
 import { BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier, isApplication, isProject } from '../../../types/component';
+import { isApplication, isProject } from '../../../types/component';
 import { MeasurePageView } from '../../../types/measures';
 import { MetricKey } from '../../../types/metrics';
 import { ComponentMeasure, ComponentMeasureEnhanced, Metric } from '../../../types/types';
index 497e1ff9231802157f7b9cac1c0bc6bc81d3189e..bbd182854a8f128641b6e7ce936c81ccd14eef8d 100644 (file)
@@ -19,6 +19,7 @@
  */
 import { groupBy, memoize, sortBy, toPairs } from 'lodash';
 import { isBranch } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { RawQuery } from '~sonar-aligned/types/router';
 import { enhanceMeasure } from '../../components/measure/utils';
 import { isPullRequest } from '../../helpers/branch-like';
@@ -45,7 +46,6 @@ import {
   serializeString,
 } from '../../helpers/query';
 import { BranchLike } from '../../types/branch-like';
-import { ComponentQualifier } from '../../types/component';
 import { Domain, MeasurePageView } from '../../types/measures';
 import { MetricKey, MetricType } from '../../types/metrics';
 import {
index e707d9741fd512350b6ab9b4af09a02bbb4a9b32..ad9c606eeb0c7767b18703c67813d4df087ba4cc 100644 (file)
@@ -20,8 +20,8 @@
 import { screen, within } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { mockLoggedInUser } from '../../../helpers/testMocks';
-import { ComponentQualifier } from '../../../types/component';
 import { IssueType } from '../../../types/issues';
 import { NoticeType } from '../../../types/users';
 import {
index 926327f5f6f04a513c76469567583a810e4fab65..4da4b20756a147782af52a39fccfae5a2111546c 100644 (file)
 import styled from '@emotion/styled';
 import { Badge, BranchIcon, themeBorder, themeContrast } from 'design-system';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { translate, translateWithParameters } from '../../../helpers/l10n';
 import { collapsePath, limitComponentName } from '../../../helpers/path';
-import { ComponentQualifier, isView } from '../../../types/component';
+import { isView } from '../../../types/component';
 import { Component, Issue } from '../../../types/types';
 import { getSelectedLocation } from '../utils';
 
index 2ef265fa609c657244d9eddac97ec378bb7d1aca..f825be933c9fb2043d8f6dbf29a9eff579562340 100644 (file)
@@ -36,6 +36,7 @@ import { Helmet } from 'react-helmet-async';
 import { FormattedMessage } from 'react-intl';
 import { withRouter } from '~sonar-aligned/components/hoc/withRouter';
 import { getBranchLikeQuery } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Location, RawQuery, Router } from '~sonar-aligned/types/router';
 import { listIssues, searchIssues } from '../../../api/issues';
 import { getRuleDetails } from '../../../api/rules';
@@ -62,7 +63,7 @@ import { translate, translateWithParameters } from '../../../helpers/l10n';
 import { serializeDate } from '../../../helpers/query';
 import { withBranchLikes } from '../../../queries/branch';
 import { BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier, isPortfolioLike, isProject } from '../../../types/component';
+import { isPortfolioLike, isProject } from '../../../types/component';
 import {
   ASSIGNEE_ME,
   Facet,
index 7671c52bc3047b9fae513a1eade2196178c1c8fb..abec2ed97069c945976e1a96dc58efe1c29672f6 100644 (file)
  */
 import { screen } from '@testing-library/react';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { mockComponent } from '../../../../helpers/mocks/component';
 import { mockIssue } from '../../../../helpers/testMocks';
 import { renderComponent } from '../../../../helpers/testReactTestingUtils';
-import { ComponentQualifier } from '../../../../types/component';
 import { Component, Issue } from '../../../../types/types';
 import ComponentBreadcrumbs from '../ComponentBreadcrumbs';
 
index 6b1c96f584c4f776478b3475638503f3070c4951..6d36e808194dc111f3dbb6b45bcac9c5648acfd6 100644 (file)
@@ -34,6 +34,7 @@ import {
 import * as React from 'react';
 import { getBranchLikeQuery, isBranch } from '~sonar-aligned/helpers/branch-like';
 import { getComponentIssuesUrl } from '~sonar-aligned/helpers/urls';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { ComponentContext } from '../../../app/components/componentContext/ComponentContext';
 import { useCurrentUser } from '../../../app/components/current-user/CurrentUserContext';
 import { DEFAULT_ISSUES_QUERY } from '../../../components/shared/utils';
@@ -42,7 +43,6 @@ import { translate } from '../../../helpers/l10n';
 import { collapsedDirFromPath, fileFromPath } from '../../../helpers/path';
 import { getBranchLikeUrl } from '../../../helpers/urls';
 import { useBranchesQuery } from '../../../queries/branch';
-import { ComponentQualifier } from '../../../types/component';
 import { SourceViewerFile } from '../../../types/types';
 import { isLoggedIn } from '../../../types/users';
 import { IssueOpenInIdeButton } from '../components/IssueOpenInIdeButton';
index 7b9d057d675754fc9092ca5d7e4f181d8b3ab07a..f74fcf5e6ad59902760566d32384f5d8cd0e7b59 100644 (file)
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { sortBy } from 'lodash';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { decorateWithUnderlineFlags } from '../../../helpers/code-viewer';
 import { isDefined } from '../../../helpers/types';
 import { useUsersQueries } from '../../../queries/users';
-import { ComponentQualifier } from '../../../types/component';
 import { ReviewHistoryElement, ReviewHistoryType } from '../../../types/security-hotspots';
 import {
   ExpandDirection,
index b545b9601da93588db5b02b467d824d823f8c6a5..f6a898e0d17b2ff689a98697a0d66b80e32e3fda 100644 (file)
  */
 import { omit } from 'lodash';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { searchIssueAuthors } from '../../../api/issues';
 import { translate } from '../../../helpers/l10n';
 import { highlightTerm } from '../../../helpers/search';
-import { ComponentQualifier } from '../../../types/component';
 import { Facet } from '../../../types/issues';
 import { Component, Dict } from '../../../types/types';
 import { Query } from '../utils';
index 52a703f4ef4bf081583e38525dea3fab5e5b4ff1..3321eb714bee718ee85993b26a85340a7f4b0441 100644 (file)
 import { IconProject, Spinner } from '@sonarsource/echoes-react';
 import { omit } from 'lodash';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { getTree, searchProjects } from '../../../api/components';
 import { translate } from '../../../helpers/l10n';
 import { highlightTerm } from '../../../helpers/search';
 import { useProjectQuery } from '../../../queries/projects';
-import { ComponentQualifier } from '../../../types/component';
 import { Facet, ReferencedComponent } from '../../../types/issues';
 import { MetricKey } from '../../../types/metrics';
 import { Component, Dict, Paging } from '../../../types/types';
index dac31cacee5bf3a8d42eb169ca86028f7ba5e476..182d77c96c2ac9385840160761d933e5eeeadb40 100644 (file)
@@ -21,18 +21,13 @@ import { BasicSeparator, FlagMessage, Link } from 'design-system';
 import * as React from 'react';
 import { FormattedMessage } from 'react-intl';
 import { isBranch } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import withAppStateContext from '../../../app/components/app-state/withAppStateContext';
 import { isPullRequest } from '../../../helpers/branch-like';
 import { translate } from '../../../helpers/l10n';
 import { AppState } from '../../../types/appstate';
 import { BranchLike } from '../../../types/branch-like';
-import {
-  ComponentQualifier,
-  isApplication,
-  isPortfolioLike,
-  isProject,
-  isView,
-} from '../../../types/component';
+import { isApplication, isPortfolioLike, isProject, isView } from '../../../types/component';
 import {
   Facet,
   ReferencedComponent,
index 19a5fe4430d58fb9a6ce52dad10b2408ea1e32a4..400960bd1e6e01ced9c1b63ef269f26b5844e4f8 100644 (file)
  */
 import { omit } from 'lodash';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { searchIssueTags } from '../../../api/issues';
 import { translate } from '../../../helpers/l10n';
 import { highlightTerm } from '../../../helpers/search';
-import { ComponentQualifier } from '../../../types/component';
 import { Facet } from '../../../types/issues';
 import { Component, Dict } from '../../../types/types';
 import { Query } from '../utils';
index 11055ca44f8623c4517990edd8f3d5703d213240..ec27ce5ddc7d573f3a14dcb701986efd82f5ead9 100644 (file)
  */
 import { screen, waitFor } from '@testing-library/react';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { mockComponent } from '../../../../helpers/mocks/component';
 import { mockQuery } from '../../../../helpers/mocks/issues';
 import { mockAppState } from '../../../../helpers/testMocks';
 import { renderComponent } from '../../../../helpers/testReactTestingUtils';
-import { ComponentQualifier } from '../../../../types/component';
 import { GlobalSettingKeys } from '../../../../types/settings';
 import { SidebarClass as Sidebar } from '../Sidebar';
 
index 1f734266d96acbb47df3602128cb72a3b45cb9d1..8e296865e2171d118bddd1a712bfd1c2feab0459 100644 (file)
@@ -21,8 +21,8 @@ import { QualityGateIndicator } from 'design-system';
 import { sortBy } from 'lodash';
 import * as React from 'react';
 import { FormattedMessage } from 'react-intl';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import DateTimeFormatter from '../../../components/intl/DateTimeFormatter';
-import { ComponentQualifier } from '../../../types/component';
 import {
   AnalysisMeasuresVariations,
   ProjectAnalysisEventCategory,
index c8a0b727b6effea07c856230bb6980472c7e14bd..03471874a376c3eaa275d3465b395717d25c6a8b 100644 (file)
@@ -20,6 +20,7 @@
 import { sortBy, uniq } from 'lodash';
 import * as React from 'react';
 import { getBranchLikeQuery, isMainBranch } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { getApplicationDetails, getApplicationLeak } from '../../../api/application';
 import { getMeasuresWithPeriodAndMetrics } from '../../../api/measures';
 import { getProjectActivity } from '../../../api/projectActivity';
@@ -45,7 +46,6 @@ import {
 import { isDefined } from '../../../helpers/types';
 import { ApplicationPeriod } from '../../../types/application';
 import { Branch, BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier } from '../../../types/component';
 import { MetricKey } from '../../../types/metrics';
 import { Analysis, GraphType, MeasureHistory } from '../../../types/project-activity';
 import { QualityGateStatus, QualityGateStatusCondition } from '../../../types/quality-gates';
index 4d63589d17bec6c4d24ed92cab3393dc462613a3..85243c10d47375355c5904d94006be33130b09b3 100644 (file)
@@ -26,6 +26,7 @@ import {
 } from 'design-system';
 import * as React from 'react';
 import { useLocation, useRouter } from '~sonar-aligned/components/hoc/withRouter';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import A11ySkipTarget from '../../../components/a11y/A11ySkipTarget';
 import AnalysisMissingInfoMessage from '../../../components/shared/AnalysisMissingInfoMessage';
 import { parseDate } from '../../../helpers/dates';
@@ -33,7 +34,7 @@ import { areCCTMeasuresComputed, isDiffMetric } from '../../../helpers/measures'
 import { CodeScope } from '../../../helpers/urls';
 import { ApplicationPeriod } from '../../../types/application';
 import { Branch } from '../../../types/branch-like';
-import { ComponentQualifier, isPortfolioLike } from '../../../types/component';
+import { isPortfolioLike } from '../../../types/component';
 import { Analysis, GraphType, MeasureHistory } from '../../../types/project-activity';
 import { QualityGateStatus } from '../../../types/quality-gates';
 import { Component, MeasureEnhanced, Metric, Period, QualityGate } from '../../../types/types';
index d6b9a67ffbdbd759dde0bfeffd02a02b5cfcb236..b7b0ce2c72197b4bcd3b3d8d6240b0ce4833c28e 100644 (file)
@@ -21,11 +21,11 @@ import { Link } from 'design-system';
 import * as React from 'react';
 import { FormattedMessage } from 'react-intl';
 import { queryToSearch } from '~sonar-aligned/helpers/urls';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import withCurrentUserContext from '../../../app/components/current-user/withCurrentUserContext';
 import DismissableAlert from '../../../components/ui/DismissableAlert';
 import { translate } from '../../../helpers/l10n';
 import { useProjectBindingQuery } from '../../../queries/devops-integration';
-import { ComponentQualifier } from '../../../types/component';
 import { Component } from '../../../types/types';
 import { CurrentUser, isLoggedIn } from '../../../types/users';
 import { PULL_REQUEST_DECORATION_BINDING_CATEGORY } from '../../settings/constants';
index 9b9d97189d99b20444d30696b4f42275e94c51ef..200ea6b0cba0c85b15066f9ae60abecb54bfb299 100644 (file)
@@ -23,12 +23,12 @@ import * as React from 'react';
 import { FormattedMessage } from 'react-intl';
 import { getBranchLikeQuery } from '~sonar-aligned/helpers/branch-like';
 import { queryToSearch } from '~sonar-aligned/helpers/urls';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import DocumentationLink from '../../../components/common/DocumentationLink';
 import { Image } from '../../../components/common/Image';
 import { translate } from '../../../helpers/l10n';
 import { CodeScope } from '../../../helpers/urls';
 import { Branch } from '../../../types/branch-like';
-import { ComponentQualifier } from '../../../types/component';
 import { NewCodeDefinitionType } from '../../../types/new-code-definition';
 import { Component, Period } from '../../../types/types';
 
index 04a9e2d79ae44589b947aba108a2f3319103d925..4befd866b66bfdc57282bab37f6c77800332c474 100644 (file)
 import { FlagMessage } from 'design-system';
 import * as React from 'react';
 import { isMainBranch } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { getBranchLikeDisplayName } from '../../../helpers/branch-like';
 import { translate, translateWithParameters } from '../../../helpers/l10n';
 import { BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier } from '../../../types/component';
 import { MetricKey } from '../../../types/metrics';
 import { Component, MeasureEnhanced } from '../../../types/types';
 
index a53b07d443473f4611874c9d9625a11c2f5e9e33..fa0604bcd47a923ce8d87c5c2f3eb4871476d187 100644 (file)
@@ -19,7 +19,8 @@
  */
 import { BasicSeparator, Card, Spinner } from 'design-system';
 import * as React from 'react';
-import { ComponentQualifier, isApplication } from '../../../types/component';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
+import { isApplication } from '../../../types/component';
 import { QualityGateStatus } from '../../../types/quality-gates';
 import { CaycStatus, Component, QualityGate } from '../../../types/types';
 import IgnoredConditionWarning from '../components/IgnoredConditionWarning';
index 775bbb533184026c07c48e3abe660668a363615e..0e8a0c68b55648fd4eb5148920c30ce69e8355ce 100644 (file)
@@ -22,12 +22,12 @@ import { isBefore, sub } from 'date-fns';
 import { ButtonLink, FlagMessage, LightLabel, Tabs } from 'design-system';
 import * as React from 'react';
 import { FormattedMessage } from 'react-intl';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import DocumentationLink from '../../../components/common/DocumentationLink';
 import { translate } from '../../../helpers/l10n';
 import { isDiffMetric } from '../../../helpers/measures';
 import { CodeScope } from '../../../helpers/urls';
 import { ApplicationPeriod } from '../../../types/application';
-import { ComponentQualifier } from '../../../types/component';
 import { Analysis, ProjectAnalysisEventCategory } from '../../../types/project-activity';
 import { QualityGateStatus } from '../../../types/quality-gates';
 import { Component, Period } from '../../../types/types';
index 26e9adc8aa0370d5a1e7ca051de7c8931cb5d013..5095400d6fadaec95fee87a80e88887b117f68ee 100644 (file)
@@ -19,6 +19,7 @@
  */
 import { screen, waitFor } from '@testing-library/react';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import AlmSettingsServiceMock from '../../../../api/mocks/AlmSettingsServiceMock';
 import ApplicationServiceMock from '../../../../api/mocks/ApplicationServiceMock';
 import BranchesServiceMock from '../../../../api/mocks/BranchesServiceMock';
@@ -39,7 +40,6 @@ import { mockLoggedInUser, mockMeasure, mockPaging } from '../../../../helpers/t
 import { renderComponent } from '../../../../helpers/testReactTestingUtils';
 import { byRole, byText } from '../../../../helpers/testSelector';
 import { SoftwareImpactSeverity, SoftwareQuality } from '../../../../types/clean-code-taxonomy';
-import { ComponentQualifier } from '../../../../types/component';
 import { MetricKey } from '../../../../types/metrics';
 import { ProjectAnalysisEventCategory } from '../../../../types/project-activity';
 import { CaycStatus } from '../../../../types/types';
index 5c63599a4016440a085d6bd1f327aca5d3b09f02..4f038e9d5517d5b607d8be2b845765ce90e099cb 100644 (file)
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { AppStateContext } from '../../../app/components/app-state/AppStateContext';
 import Link from '../../../components/common/Link';
 import { translate, translateWithParameters } from '../../../helpers/l10n';
-import { ComponentQualifier } from '../../../types/component';
 import { Task } from '../../../types/tasks';
 import { useLicenseIsValid } from './useLicenseIsValid';
 
index 754e63e09d62b85a0ebac4b1c0810d2ee518e8f5..6037324a053c14a596121bdebc0ea8727c406651 100644 (file)
@@ -22,6 +22,7 @@ import { FlagMessage, LargeCenteredLayout, PageContentFontWrapper, Spinner } fro
 import * as React from 'react';
 import { Navigate } from 'react-router-dom';
 import { isBranch, isMainBranch } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { getScannableProjects } from '../../../api/components';
 import withCurrentUserContext from '../../../app/components/current-user/withCurrentUserContext';
 import { getBranchLikeDisplayName } from '../../../helpers/branch-like';
@@ -30,7 +31,6 @@ import { getProjectTutorialLocation } from '../../../helpers/urls';
 import { hasGlobalPermission } from '../../../helpers/users';
 import { useTaskForComponentQuery } from '../../../queries/component';
 import { BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier } from '../../../types/component';
 import { Permissions } from '../../../types/permissions';
 import { TaskTypes } from '../../../types/tasks';
 import { Component } from '../../../types/types';
index c167092bab9c87608d4d35acfbc297f490bec6d8..e3f9e6e096ea11ac8a1a431c773aeca510114d03 100644 (file)
@@ -19,6 +19,7 @@
  */
 import { screen, waitFor } from '@testing-library/react';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { getScannableProjects } from '../../../../api/components';
 import BranchesServiceMock from '../../../../api/mocks/BranchesServiceMock';
 import ComputeEngineServiceMock from '../../../../api/mocks/ComputeEngineServiceMock';
@@ -29,7 +30,6 @@ import { mockTask } from '../../../../helpers/mocks/tasks';
 import { mockCurrentUser, mockLoggedInUser } from '../../../../helpers/testMocks';
 import { renderComponent } from '../../../../helpers/testReactTestingUtils';
 import { getProjectTutorialLocation } from '../../../../helpers/urls';
-import { ComponentQualifier } from '../../../../types/component';
 import { TaskStatuses, TaskTypes } from '../../../../types/tasks';
 import { App } from '../App';
 
index f0c6fe31b6d5065bbb15f64c3500fa804c851cf1..aa2ab4fa4ed65b42ec9c0382b1703b90aa62d95d 100644 (file)
@@ -20,6 +20,7 @@
 import { screen, waitFor } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import BranchesServiceMock from '../../../../api/mocks/BranchesServiceMock';
 import { fetchQualityGate, getQualityGateProjectStatus } from '../../../../api/quality-gates';
 import CurrentUserContextProvider from '../../../../app/components/current-user/CurrentUserContextProvider';
@@ -33,7 +34,6 @@ import { mockLoggedInUser, mockMeasure, mockMetric } from '../../../../helpers/t
 import { renderComponent } from '../../../../helpers/testReactTestingUtils';
 import { byLabelText, byRole } from '../../../../helpers/testSelector';
 import { ComponentPropsType } from '../../../../helpers/testUtils';
-import { ComponentQualifier } from '../../../../types/component';
 import { MetricKey, MetricType } from '../../../../types/metrics';
 import { CaycStatus } from '../../../../types/types';
 import { NoticeType } from '../../../../types/users';
index cc3a6b172ee569cedfcd2169d0bb6e192e3d5043..2b16b970fb2d2a1cda7f52247a65b36297bf2176 100644 (file)
@@ -21,6 +21,7 @@ import { screen, waitFor, within } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import { UserEvent } from '@testing-library/user-event/dist/types/setup/setup';
 import { uniq } from 'lodash';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import GithubProvisioningServiceMock from '../../../../api/mocks/GithubProvisioningServiceMock';
 import PermissionsServiceMock from '../../../../api/mocks/PermissionsServiceMock';
 import { mockPermissionGroup, mockPermissionUser } from '../../../../helpers/mocks/permissions';
@@ -28,7 +29,6 @@ import { PERMISSIONS_ORDER_FOR_PROJECT_TEMPLATE } from '../../../../helpers/perm
 import { mockAppState } from '../../../../helpers/testMocks';
 import { renderAppWithAdminContext } from '../../../../helpers/testReactTestingUtils';
 import { byRole, byText } from '../../../../helpers/testSelector';
-import { ComponentQualifier } from '../../../../types/component';
 import { Feature } from '../../../../types/features';
 import { Permissions } from '../../../../types/permissions';
 import { PermissionGroup, PermissionUser } from '../../../../types/types';
index 00ca92e035871abc2abda1317e3ea78fac0bde28..d3d91fd2a1bfc1807d1fcf5d6574fbf6f1983777 100644 (file)
@@ -21,6 +21,7 @@ import { LargeCenteredLayout, PageContentFontWrapper } from 'design-system';
 import { without } from 'lodash';
 import * as React from 'react';
 import { Helmet } from 'react-helmet-async';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import * as api from '../../../../api/permissions';
 import withAppStateContext, {
   WithAppStateContextProps,
@@ -34,7 +35,6 @@ import {
   convertToPermissionDefinitions,
   filterPermissions,
 } from '../../../../helpers/permissions';
-import { ComponentQualifier } from '../../../../types/component';
 import { Paging, PermissionGroup, PermissionUser } from '../../../../types/types';
 import '../../styles.css';
 import PageHeader from './PageHeader';
index 7055dea9001cda3646170bfe7c8d670fa1d83270..4400f2036faefcf0e8d285805919eee5ba9d1f37 100644 (file)
 import { screen } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import { without } from 'lodash';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import PermissionsServiceMock from '../../../../../api/mocks/PermissionsServiceMock';
 import { mockPermissionGroup, mockPermissionUser } from '../../../../../helpers/mocks/permissions';
 import { PERMISSIONS_ORDER_GLOBAL } from '../../../../../helpers/permissions';
 import { mockAppState } from '../../../../../helpers/testMocks';
 import { renderAppRoutes } from '../../../../../helpers/testReactTestingUtils';
 import { AppState } from '../../../../../types/appstate';
-import { ComponentQualifier } from '../../../../../types/component';
 import { Permissions } from '../../../../../types/permissions';
 import { PermissionGroup, PermissionUser } from '../../../../../types/types';
 import { globalPermissionsRoutes } from '../../../routes';
index be981f86084b6fc9685d84efd38e7b8e709fabc7..5e4461aac928b8c523c60f93265e2ce7c8bfd4e6 100644 (file)
@@ -19,6 +19,7 @@
  */
 import { screen, waitFor } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import AlmSettingsServiceMock from '../../../../../api/mocks/AlmSettingsServiceMock';
 import GithubProvisioningServiceMock from '../../../../../api/mocks/GithubProvisioningServiceMock';
 import PermissionsServiceMock from '../../../../../api/mocks/PermissionsServiceMock';
@@ -34,11 +35,7 @@ import {
   renderAppWithComponentContext,
 } from '../../../../../helpers/testReactTestingUtils';
 import { AlmKeys } from '../../../../../types/alm-settings';
-import {
-  ComponentContextShape,
-  ComponentQualifier,
-  Visibility,
-} from '../../../../../types/component';
+import { ComponentContextShape, Visibility } from '../../../../../types/component';
 import { Feature } from '../../../../../types/features';
 import { Permissions } from '../../../../../types/permissions';
 import { Component, PermissionGroup, PermissionUser, Provider } from '../../../../../types/types';
index 1a41029936bc2e15ac56829847d711126b215794..59d0ede66e8a2a7a3560eb6208fd60c94b024e7f 100644 (file)
@@ -27,7 +27,7 @@ import DateFormatter from '../../../components/intl/DateFormatter';
 import { toShortISO8601String } from '../../../helpers/dates';
 import { translate } from '../../../helpers/l10n';
 
-import { ComponentQualifier } from '../../../types/component';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { ParsedAnalysis } from '../../../types/project-activity';
 import { AnalysesByDay, Query, activityQueryChanged, getAnalysesByVersionByDay } from '../utils';
 import ProjectActivityAnalysis, { BaselineMarker } from './ProjectActivityAnalysis';
index 4c83ecca72a25ed4c8418e502f46cbd838e0206f..fbee22df74972195dd1c39c2c8f0a08af4b34335 100644 (file)
@@ -26,10 +26,10 @@ import {
 } from 'design-system';
 import * as React from 'react';
 import { Helmet } from 'react-helmet-async';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import A11ySkipTarget from '../../../components/a11y/A11ySkipTarget';
 import Suggestions from '../../../components/embed-docs-modal/Suggestions';
 import { translate } from '../../../helpers/l10n';
-import { ComponentQualifier } from '../../../types/component';
 import { MeasureHistory, ParsedAnalysis } from '../../../types/project-activity';
 import { Component, Metric } from '../../../types/types';
 import { Query } from '../utils';
index f1db8d96cb3fbe06b6f1e82a091e19c75d348151..eb2348a7dab651246899b69efcd8b2839f1c68f4 100644 (file)
@@ -19,8 +19,9 @@
  */
 import { InputSelect, LabelValueSelectOption } from 'design-system';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { translate } from '../../../helpers/l10n';
-import { ComponentQualifier, isPortfolioLike } from '../../../types/component';
+import { isPortfolioLike } from '../../../types/component';
 import {
   ApplicationAnalysisEventCategory,
   ProjectAnalysisEventCategory,
index d34221f2e412044ddaf8d916edd31675b079d16e..d3c150434c0707e4dd2fa2c72b849e2afccbecb8 100644 (file)
@@ -22,6 +22,7 @@ import userEvent from '@testing-library/user-event';
 import { keyBy, times } from 'lodash';
 import React from 'react';
 import { Route } from 'react-router-dom';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import ApplicationServiceMock from '../../../../api/mocks/ApplicationServiceMock';
 import { ProjectActivityServiceMock } from '../../../../api/mocks/ProjectActivityServiceMock';
 import { TimeMachineServiceMock } from '../../../../api/mocks/TimeMachineServiceMock';
@@ -38,7 +39,6 @@ import { get } from '../../../../helpers/storage';
 import { mockMetric } from '../../../../helpers/testMocks';
 import { renderAppWithComponentContext } from '../../../../helpers/testReactTestingUtils';
 import { byLabelText, byRole, byTestId, byText } from '../../../../helpers/testSelector';
-import { ComponentQualifier } from '../../../../types/component';
 import { MetricKey, MetricType } from '../../../../types/metrics';
 import {
   ApplicationAnalysisEventCategory,
index bd0dcd9a79577e5bb70c01f916314946cfcc40ad..d783ed1ea2cfb3495069dccac27b5b843eb12cd1 100644 (file)
  */
 import userEvent from '@testing-library/user-event';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { deleteApplication } from '../../../api/application';
 import { deletePortfolio, deleteProject } from '../../../api/project-management';
 import { ComponentContext } from '../../../app/components/componentContext/ComponentContext';
 import { mockComponent } from '../../../helpers/mocks/component';
 import { renderApp } from '../../../helpers/testReactTestingUtils';
 import { byRole, byText } from '../../../helpers/testSelector';
-import { ComponentContextShape, ComponentQualifier } from '../../../types/component';
+import { ComponentContextShape } from '../../../types/component';
 import { Component } from '../../../types/types';
 import App from '../App';
 
index ec3bbbf6c699886af7de96ba89bf1235b7746bdc..60a00c4c931fff08a1c80477be63b4116de1e406 100644 (file)
@@ -18,6 +18,7 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { screen } from '@testing-library/react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import BranchesServiceMock from '../../../api/mocks/BranchesServiceMock';
 import CodingRulesServiceMock from '../../../api/mocks/CodingRulesServiceMock';
 import ComponentsServiceMock from '../../../api/mocks/ComponentsServiceMock';
@@ -29,7 +30,7 @@ import { mockComponent } from '../../../helpers/mocks/component';
 import { mockCurrentUser, mockLoggedInUser, mockMeasure } from '../../../helpers/testMocks';
 import { renderAppWithComponentContext } from '../../../helpers/testReactTestingUtils';
 import { byRole } from '../../../helpers/testSelector';
-import { ComponentQualifier, Visibility } from '../../../types/component';
+import { Visibility } from '../../../types/component';
 import { MetricKey } from '../../../types/metrics';
 import { Component } from '../../../types/types';
 import { CurrentUser } from '../../../types/users';
index 086ad5b782a72038458d39d2fd0cd7df4cf9a99d..642955b8ca5bf917b48f097ec4478d1dcc4a67a6 100644 (file)
 import classNames from 'classnames';
 import { BasicSeparator, SubTitle } from 'design-system';
 import React, { PropsWithChildren, useEffect, useState } from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { getProjectLinks } from '../../../api/projectLinks';
 import { translate } from '../../../helpers/l10n';
-import { ComponentQualifier, Visibility } from '../../../types/component';
+import { Visibility } from '../../../types/component';
 import { Component, Measure, ProjectLink } from '../../../types/types';
 import MetaDescription from './components/MetaDescription';
 import MetaKey from './components/MetaKey';
index 4e51c7275b86cf18085e1e96768531745e5becbe..485d2f1e86bc14e45fe96d18933a4be9073c028e 100644 (file)
 import { DrilldownLink, Note, SizeIndicator, SubHeading } from 'design-system';
 import * as React from 'react';
 import { formatMeasure } from '~sonar-aligned/helpers/measures';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { translate, translateWithParameters } from '../../../../helpers/l10n';
 import { localizeMetric } from '../../../../helpers/measures';
 import { getComponentDrilldownUrl } from '../../../../helpers/urls';
-import { ComponentQualifier } from '../../../../types/component';
 import { MetricKey, MetricType } from '../../../../types/metrics';
 import { Component, Measure } from '../../../../types/types';
 
index 81653411f406aa3c7d1b6897d664225fcc377f4b..ad7ce87ca7be9f90addc9e6a0b9d6275a156c378 100644 (file)
@@ -21,11 +21,11 @@ import { Spinner } from '@sonarsource/echoes-react';
 import { MultiSelector, SubHeading, Tags } from 'design-system';
 import { difference, without } from 'lodash';
 import React, { useEffect, useState } from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { searchProjectTags, setApplicationTags, setProjectTags } from '../../../../api/components';
 import Tooltip from '../../../../components/controls/Tooltip';
 import { PopupPlacement } from '../../../../components/ui/popups';
 import { translate } from '../../../../helpers/l10n';
-import { ComponentQualifier } from '../../../../types/component';
 import { Component } from '../../../../types/types';
 
 interface Props {
index cf7de999d242f360df898936645ae80c76393c9d..c569908cf17dd005d5a2509b98025af1df075d98 100644 (file)
@@ -19,8 +19,8 @@
  */
 import { screen } from '@testing-library/react';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { renderComponent } from '../../../../../helpers/testReactTestingUtils';
-import { ComponentQualifier } from '../../../../../types/component';
 import MetaKey from '../MetaKey';
 
 it('should render correctly', () => {
index 8267fa68ff1c54ffbdf3cb19feef977ae764925f..3766af656528578988bbfecc978e49fec1f080c1 100644 (file)
 import { screen } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { setApplicationTags, setProjectTags } from '../../../../../api/components';
 import { mockComponent } from '../../../../../helpers/mocks/component';
 import { renderComponent } from '../../../../../helpers/testReactTestingUtils';
-import { ComponentQualifier } from '../../../../../types/component';
 import { Component } from '../../../../../types/types';
 import MetaTags from '../MetaTags';
 
index 240d5917a8a679433b043efdb236d584229dd82d..cf5ac70200851910e55529f620646e1b07e687e1 100644 (file)
@@ -21,12 +21,12 @@ import { fireEvent, screen, waitFor } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import * as React from 'react';
 import selectEvent from 'react-select-event';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { getProjectBadgesToken } from '../../../../api/project-badges';
 import { mockBranch } from '../../../../helpers/mocks/branch-like';
 import { mockComponent } from '../../../../helpers/mocks/component';
 import { renderComponent } from '../../../../helpers/testReactTestingUtils';
 import { Location } from '../../../../helpers/urls';
-import { ComponentQualifier } from '../../../../types/component';
 import { MetricKey } from '../../../../types/metrics';
 import ProjectBadges, { ProjectBadgesProps } from '../ProjectBadges';
 import { BadgeType } from '../utils';
index 738c3cbaf5f912fff346dcf402041c13387dbdfb..4858fda67d6f3bd2842b372678cded73ca5307cc 100644 (file)
@@ -32,6 +32,7 @@ import * as React from 'react';
 import { Helmet } from 'react-helmet-async';
 import { useSearchParams } from 'react-router-dom';
 import { withRouter } from '~sonar-aligned/components/hoc/withRouter';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Location, RawQuery, Router } from '~sonar-aligned/types/router';
 import { searchProjects } from '../../../api/components';
 import withAppStateContext from '../../../app/components/app-state/withAppStateContext';
@@ -45,7 +46,6 @@ import { translate } from '../../../helpers/l10n';
 import { get, save } from '../../../helpers/storage';
 import { isDefined } from '../../../helpers/types';
 import { AppState } from '../../../types/appstate';
-import { ComponentQualifier } from '../../../types/component';
 import { MetricKey } from '../../../types/metrics';
 import { CurrentUser, isLoggedIn } from '../../../types/users';
 import { Query, hasFilterParams, parseUrlQuery } from '../query';
index a2ad67b9f0cb77f7fdc386df994da5b515022fa2..5990e6544f292ef5d7a01837b73ffe61bfd908ed 100644 (file)
@@ -21,6 +21,7 @@ import { ButtonSecondary } from 'design-system';
 import * as React from 'react';
 import { withRouter } from '~sonar-aligned/components/hoc/withRouter';
 import { throwGlobalError } from '~sonar-aligned/helpers/error';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Router } from '~sonar-aligned/types/router';
 import { getComponentNavigation } from '../../../api/navigation';
 import withAppStateContext from '../../../app/components/app-state/withAppStateContext';
@@ -30,7 +31,6 @@ import { translate } from '../../../helpers/l10n';
 import { getComponentAdminUrl, getComponentOverviewUrl } from '../../../helpers/urls';
 import { hasGlobalPermission } from '../../../helpers/users';
 import { AppState } from '../../../types/appstate';
-import { ComponentQualifier } from '../../../types/component';
 import { Permissions } from '../../../types/permissions';
 import { LoggedInUser } from '../../../types/users';
 
index 9c70f662718905ab5e04b955d5422b9dfa4c9dd6..764553be846f9faf68a4f225532e2a1de06fb4ab 100644 (file)
@@ -21,12 +21,12 @@ import { screen, within } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import * as React from 'react';
 import { AutoSizerProps } from 'react-virtualized';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { ProjectsServiceMock } from '../../../../api/mocks/ProjectsServiceMock';
 import { save } from '../../../../helpers/storage';
 import { mockAppState, mockLoggedInUser } from '../../../../helpers/testMocks';
 import { renderAppRoutes } from '../../../../helpers/testReactTestingUtils';
 import { byLabelText, byRole, byText } from '../../../../helpers/testSelector';
-import { ComponentQualifier } from '../../../../types/component';
 import { MetricKey } from '../../../../types/metrics';
 import { Dict } from '../../../../types/types';
 import projectRoutes from '../../routes';
index b27d521398ac48d09f4cfac644fe0163b1222e2b..c5702b574663cdc87420c3a83a56f004b1b49a12 100644 (file)
 import userEvent from '@testing-library/user-event';
 import * as React from 'react';
 import { queryToSearch } from '~sonar-aligned/helpers/urls';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { createApplication } from '../../../../api/application';
 import { getComponentNavigation } from '../../../../api/navigation';
 import { mockAppState, mockLoggedInUser, mockRouter } from '../../../../helpers/testMocks';
 import { renderComponent } from '../../../../helpers/testReactTestingUtils';
 import { byRole, byText } from '../../../../helpers/testSelector';
-import { ComponentQualifier, Visibility } from '../../../../types/component';
+import { Visibility } from '../../../../types/component';
 import { FCProps } from '../../../../types/misc';
 import { LoggedInUser } from '../../../../types/users';
 import { ApplicationCreation } from '../ApplicationCreation';
index ddc1f48f1e6b9fed00bf9fb86b96fd51c8a3f883..9913d211aea0ec89592b3af640778d44c61fc2ac 100644 (file)
  */
 import userEvent from '@testing-library/user-event';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { getAlmSettings } from '../../../../api/alm-settings';
 import CurrentUserContextProvider from '../../../../app/components/current-user/CurrentUserContextProvider';
 import { mockAppState, mockCurrentUser, mockLoggedInUser } from '../../../../helpers/testMocks';
 import { renderComponent } from '../../../../helpers/testReactTestingUtils';
 import { byLabelText, byRole, byText } from '../../../../helpers/testSelector';
 import { AlmKeys } from '../../../../types/alm-settings';
-import { ComponentQualifier } from '../../../../types/component';
 import { FCProps } from '../../../../types/misc';
 import { CurrentUser } from '../../../../types/users';
 import PageHeader from '../PageHeader';
index cb188571bf0e3622592edcbb3a9191a5113c7533..b2e6a415f2561cea7e52ac339a3c3adea087f7ef 100644 (file)
@@ -38,6 +38,7 @@ import { isEmpty } from 'lodash';
 import * as React from 'react';
 import { FormattedMessage } from 'react-intl';
 import { formatMeasure } from '~sonar-aligned/helpers/measures';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import Favorite from '../../../../components/controls/Favorite';
 import Tooltip from '../../../../components/controls/Tooltip';
 import DateFromNow from '../../../../components/intl/DateFromNow';
@@ -46,7 +47,6 @@ import Measure from '../../../../components/measure/Measure';
 import { translate, translateWithParameters } from '../../../../helpers/l10n';
 import { isDefined } from '../../../../helpers/types';
 import { getProjectUrl } from '../../../../helpers/urls';
-import { ComponentQualifier } from '../../../../types/component';
 import { MetricKey, MetricType } from '../../../../types/metrics';
 import { Status } from '../../../../types/types';
 import { CurrentUser, isLoggedIn } from '../../../../types/users';
index 352418538c08d992ebb8b5c4acadaa6920edf2ed..420e38cd77bf9c0a522971cc1dfbc87599a90ffd 100644 (file)
@@ -26,12 +26,12 @@ import {
   RatingLabel,
 } from 'design-system';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import Measure from '../../../../components/measure/Measure';
 import { duplicationRatingConverter } from '../../../../components/measure/utils';
 import { translate } from '../../../../helpers/l10n';
 import { formatRating } from '../../../../helpers/measures';
 import { isDefined } from '../../../../helpers/types';
-import { ComponentQualifier } from '../../../../types/component';
 import { MetricKey, MetricType } from '../../../../types/metrics';
 import { Dict } from '../../../../types/types';
 import ProjectCardMeasure from './ProjectCardMeasure';
index a81aab52c1777fb395b95193439feecb776fd3c7..fdcdaf6af55f1ef6e614a165f6d89b0967f401d5 100644 (file)
  */
 import { screen } from '@testing-library/react';
 import React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { mockCurrentUser, mockLoggedInUser } from '../../../../../helpers/testMocks';
 import { renderComponent } from '../../../../../helpers/testReactTestingUtils';
-import { ComponentQualifier, Visibility } from '../../../../../types/component';
+import { Visibility } from '../../../../../types/component';
 import { MetricKey } from '../../../../../types/metrics';
 import { CurrentUser } from '../../../../../types/users';
 import { Project } from '../../../types';
index 7efa8f2e5f3c97fb5c126b4c858a490048ad5df9..10513b0e7437fb2112380e2042a18d698fd23391 100644 (file)
@@ -20,8 +20,8 @@
 import { screen } from '@testing-library/react';
 import * as React from 'react';
 
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { renderComponent } from '../../../../../helpers/testReactTestingUtils';
-import { ComponentQualifier } from '../../../../../types/component';
 import { MetricKey } from '../../../../../types/metrics';
 import { Dict } from '../../../../../types/types';
 import ProjectCardMeasures, { ProjectCardMeasuresProps } from '../ProjectCardMeasures';
index 561806853bbb96c686f4666865520ba21ea49219..85bf80a8c3546655fb2604b5d72feddf82a5de14 100644 (file)
  */
 import { FacetBox, FacetItem } from 'design-system';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { RawQuery } from '~sonar-aligned/types/router';
 import { translate } from '../../../helpers/l10n';
 import { isDefined } from '../../../helpers/types';
-import { ComponentQualifier } from '../../../types/component';
 import { FacetItemsList } from '../../issues/sidebar/FacetItemsList';
 import { formatFacetStat } from '../../issues/utils';
 import { Facet } from '../types';
index 978b0991430fd02485a2125fa3392a84af0a23cc..2635b966faf9a51418361c356a67b0504d2760c0 100644 (file)
@@ -17,8 +17,8 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { RawQuery } from '~sonar-aligned/types/router';
-import { ComponentQualifier } from '../../types/component';
 import { Dict } from '../../types/types';
 
 type Level = 'ERROR' | 'WARN' | 'OK';
index b621422b6a8884a25560acc75b2d550072008353..437faeb5870088974b284a1f9eb1fcafd73acf11 100644 (file)
@@ -17,7 +17,8 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
-import { ComponentQualifier, Visibility } from '../../types/component';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
+import { Visibility } from '../../types/component';
 import { Dict } from '../../types/types';
 
 export interface Project {
index 4aff6bcc288ae96e7f067f3f2af39a88e16a0836..915cea831008e681b8f9e9f6ec3e94e081e44cca 100644 (file)
@@ -21,6 +21,7 @@
 import { Checkbox, LinkHighlight, LinkStandalone } from '@sonarsource/echoes-react';
 import { ActionCell, Badge, ContentCell, Note, TableRow } from 'design-system';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Project } from '../../api/project-management';
 import PrivacyBadgeContainer from '../../components/common/PrivacyBadgeContainer';
 import Tooltip from '../../components/controls/Tooltip';
@@ -28,7 +29,6 @@ import DateFormatter from '../../components/intl/DateFormatter';
 import { translate, translateWithParameters } from '../../helpers/l10n';
 import { getComponentOverviewUrl } from '../../helpers/urls';
 import { useGithubProvisioningEnabledQuery } from '../../queries/identity-provider/github';
-import { ComponentQualifier } from '../../types/component';
 import { LoggedInUser } from '../../types/users';
 import ProjectRowActions from './ProjectRowActions';
 
index 598c13ecd90f67e1bcee2143bc0242672d541317..cbf80bc17048a49a8343cff730808cc40fc991a9 100644 (file)
@@ -20,6 +20,7 @@
 import { screen, waitFor, within } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import selectEvent from 'react-select-event';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import GithubProvisioningServiceMock from '../../../api/mocks/GithubProvisioningServiceMock';
 import PermissionsServiceMock from '../../../api/mocks/PermissionsServiceMock';
 import ProjectManagementServiceMock from '../../../api/mocks/ProjectsManagementServiceMock';
@@ -30,7 +31,6 @@ import { mockAppState, mockCurrentUser } from '../../../helpers/testMocks';
 import { RenderContext, renderAppWithAdminContext } from '../../../helpers/testReactTestingUtils';
 import { byPlaceholderText, byRole, byText } from '../../../helpers/testSelector';
 import { AppState } from '../../../types/appstate';
-import { ComponentQualifier } from '../../../types/component';
 import { Feature } from '../../../types/features';
 import { Permissions } from '../../../types/permissions';
 import { GlobalSettingKeys } from '../../../types/settings';
index c7a59014fd6657a340097c942c44f78e892a0f93..408950cba1a4eb8b0218050e0f7fe6aa1c2abd49 100644 (file)
@@ -22,6 +22,7 @@ import { flatMap, range } from 'lodash';
 import * as React from 'react';
 import { withRouter } from '~sonar-aligned/components/hoc/withRouter';
 import { getBranchLikeQuery } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Location, Router } from '~sonar-aligned/types/router';
 import { getMeasures } from '../../api/measures';
 import { getSecurityHotspotList, getSecurityHotspots } from '../../api/security-hotspots';
@@ -35,7 +36,6 @@ import { KeyboardKeys } from '../../helpers/keycodes';
 import { getStandards } from '../../helpers/security-standard';
 import { withBranchLikes } from '../../queries/branch';
 import { BranchLike } from '../../types/branch-like';
-import { ComponentQualifier } from '../../types/component';
 import { MetricKey } from '../../types/metrics';
 import { SecurityStandard, Standards } from '../../types/security';
 import {
index 4cd77d139e3563dccd6a921dc581ce7bc812d819..64efe95a09d57419d10237470e2d15f70e29da5d 100644 (file)
@@ -32,12 +32,12 @@ import {
 import * as React from 'react';
 import { Helmet } from 'react-helmet-async';
 import { isBranch } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import A11ySkipTarget from '../../components/a11y/A11ySkipTarget';
 import Suggestions from '../../components/embed-docs-modal/Suggestions';
 import { translate } from '../../helpers/l10n';
 import useFollowScroll from '../../hooks/useFollowScroll';
 import { BranchLike } from '../../types/branch-like';
-import { ComponentQualifier } from '../../types/component';
 import { MetricKey } from '../../types/metrics';
 import { SecurityStandard, Standards } from '../../types/security';
 import { HotspotFilters, HotspotStatusFilter, RawHotspot } from '../../types/security-hotspots';
index 6772aa542e68b8e30fc1d0455aeaa831eda8d8e1..b7729278627d4043a4d04ad364945e4d9a4288fa 100644 (file)
@@ -25,9 +25,9 @@ import { FormattedMessage } from 'react-intl';
 import ListFooter from '../../../components/controls/ListFooter';
 import Tooltip from '../../../components/controls/Tooltip';
 
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { translate } from '../../../helpers/l10n';
 import { fileFromPath } from '../../../helpers/path';
-import { ComponentQualifier } from '../../../types/component';
 import { SecurityStandard, Standards } from '../../../types/security';
 import { RawHotspot } from '../../../types/security-hotspots';
 import { SECURITY_STANDARD_RENDERER } from '../utils';
index 11e179a5ddab7eb3710f041ea705b8edf09e7ed2..54673c08fcdc4645db0be9ccff8909825bfffaa7 100644 (file)
@@ -24,11 +24,11 @@ import React from 'react';
 import withCurrentUserContext from '../../../app/components/current-user/withCurrentUserContext';
 
 import { LinkHighlight, LinkStandalone } from '@sonarsource/echoes-react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { translate } from '../../../helpers/l10n';
 import { collapsedDirFromPath, fileFromPath } from '../../../helpers/path';
 import { getBranchLikeUrl } from '../../../helpers/urls';
 import { BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier } from '../../../types/component';
 import { Hotspot } from '../../../types/security-hotspots';
 import { Component } from '../../../types/types';
 import { CurrentUser, isLoggedIn } from '../../../types/users';
index 49c1aaac719974688accf60317aa8501da3c1b7d..c41844ccf730339c00432d7115469b3fd8ea741d 100644 (file)
@@ -22,6 +22,7 @@ import { FlagMessage } from 'design-system';
 import { intersection } from 'lodash';
 import * as React from 'react';
 import { getBranchLikeQuery } from '~sonar-aligned/helpers/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import {
   getComponentData,
   getComponentForSourceViewer,
@@ -33,7 +34,6 @@ import { isSameBranchLike } from '../../helpers/branch-like';
 import { translate } from '../../helpers/l10n';
 import { HttpStatus } from '../../helpers/request';
 import { BranchLike } from '../../types/branch-like';
-import { ComponentQualifier } from '../../types/component';
 import {
   Dict,
   DuplicatedFile,
index 694b4442a7bbdbf8d5d37e426dec434f85b7ff8d..a160a53f1720b2a28f7c32a3b05575449a04c1ea 100644 (file)
@@ -44,6 +44,7 @@ import {
   getComponentIssuesUrl,
   getComponentSecurityHotspotsUrl,
 } from '~sonar-aligned/helpers/urls';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { SOFTWARE_QUALITIES } from '../../helpers/constants';
 import {
   ISSUETYPE_METRIC_KEYS_MAP,
@@ -57,7 +58,6 @@ import { getBaseUrl } from '../../helpers/system';
 import { isDefined } from '../../helpers/types';
 import { getBranchLikeUrl, getCodeUrl } from '../../helpers/urls';
 import type { BranchLike } from '../../types/branch-like';
-import { ComponentQualifier } from '../../types/component';
 import { IssueType } from '../../types/issues';
 import { MetricKey, MetricType } from '../../types/metrics';
 import type { Measure, SourceViewerFile } from '../../types/types';
index 0d3425ae7a86ec803991abb5dae15102f63efbb3..12bfd4b176c0d11c52d35d23fc5180ef0fe046ac 100644 (file)
@@ -26,12 +26,12 @@ import {
 } from 'design-system';
 import { groupBy, sortBy } from 'lodash';
 import React, { Fragment, PureComponent } from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { isPullRequest } from '../../../helpers/branch-like';
 import { translate } from '../../../helpers/l10n';
 import { collapsedDirFromPath, fileFromPath } from '../../../helpers/path';
 import { getProjectUrl } from '../../../helpers/urls';
 import { BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier } from '../../../types/component';
 import { Dict, DuplicatedFile, DuplicationBlock, SourceViewerFile } from '../../../types/types';
 import { WorkspaceContextShape } from '../../workspace/context';
 
index 782581abcaede6b0ca8c3db5ece6caf23a37fbcf..7d778dce69ad804c6647d1be9ea248cd418bc9ed 100644 (file)
@@ -17,9 +17,9 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { mockMainBranch } from '../../../../helpers/mocks/branch-like';
 import { mockRawIssue } from '../../../../helpers/testMocks';
-import { ComponentQualifier } from '../../../../types/component';
 import { IssueStatus, IssueType } from '../../../../types/issues';
 import loadIssues from '../loadIssues';
 
index f96fcca20d8ad09a6d6d32e429fd59954664004f..b4877182d8dd12885314746106caecbdbfbd1f56 100644 (file)
@@ -20,6 +20,7 @@
 
 import { addGlobalSuccessMessage } from 'design-system';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import {
   getReportStatus,
   subscribeToEmailReport,
@@ -30,7 +31,6 @@ import withCurrentUserContext from '../../app/components/current-user/withCurren
 import { translate, translateWithParameters } from '../../helpers/l10n';
 import { AppState } from '../../types/appstate';
 import { Branch } from '../../types/branch-like';
-import { ComponentQualifier } from '../../types/component';
 import { ComponentReportStatus } from '../../types/component-report';
 import { Component } from '../../types/types';
 import { CurrentUser, isLoggedIn } from '../../types/users';
index bce01b501c0500f1dc0367ad47df452c3b30abfc..8fc443d6fb9eab537649e00876a02a1777716835 100644 (file)
@@ -21,6 +21,7 @@ import { screen, waitFor } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import { addGlobalSuccessMessage } from 'design-system';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import {
   getReportStatus,
   subscribeToEmailReport,
@@ -31,7 +32,6 @@ import { mockComponent } from '../../../helpers/mocks/component';
 import { mockComponentReportStatus } from '../../../helpers/mocks/component-report';
 import { mockAppState, mockCurrentUser, mockLoggedInUser } from '../../../helpers/testMocks';
 import { renderApp } from '../../../helpers/testReactTestingUtils';
-import { ComponentQualifier } from '../../../types/component';
 import { ComponentReportActions } from '../ComponentReportActions';
 
 jest.mock('design-system', () => ({
index 946a5ca6ead1bd2ea6cf2dffe75e45d949993129..5d3751a418c5c3c2d49566b110e7455344287981 100644 (file)
@@ -20,9 +20,9 @@
 import { screen } from '@testing-library/react';
 import userEvent from '@testing-library/user-event';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { addFavorite, removeFavorite } from '../../../api/favorites';
 import { renderComponent } from '../../../helpers/testReactTestingUtils';
-import { ComponentQualifier } from '../../../types/component';
 import Favorite from '../Favorite';
 
 jest.mock('../../../api/favorites', () => ({
index 12e7f9eadbe7856f3f14f47899856ee0f5209ab5..87d712c22dd3eaeddc47117b27446e6125245a7f 100644 (file)
  */
 import userEvent from '@testing-library/user-event';
 import * as React from 'react';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { mockBranch } from '../../../helpers/mocks/branch-like';
 import { get, save } from '../../../helpers/storage';
 import { renderComponent } from '../../../helpers/testReactTestingUtils';
 import { byRole, byText } from '../../../helpers/testSelector';
 import { BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier } from '../../../types/component';
 import Workspace, { TYPE_KEY, WorkspaceTypes } from '../Workspace';
 import { WorkspaceContext } from '../context';
 
index 0cd087323f20fec096a46108515e037a475344c6..842db372470f8e3bc85817f29c366e214edd9114 100644 (file)
@@ -19,8 +19,8 @@
  */
 import { searchParamsToQuery } from '~sonar-aligned/helpers/router';
 import { queryToSearch } from '~sonar-aligned/helpers/urls';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { AlmKeys } from '../../types/alm-settings';
-import { ComponentQualifier } from '../../types/component';
 import { IssueType } from '../../types/issues';
 import { MeasurePageView } from '../../types/measures';
 import { mockBranch, mockMainBranch, mockPullRequest } from '../mocks/branch-like';
index c11d35de71ba9bfcbdc39f80df1f4846ae7ee976..76ddb1094848e1de247677092ebd205da3b90ebc 100644 (file)
@@ -17,6 +17,7 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { colors } from '../app/theme';
 import { AlmKeys } from '../types/alm-settings';
 import {
@@ -25,7 +26,6 @@ import {
   SoftwareImpactSeverity,
   SoftwareQuality,
 } from '../types/clean-code-taxonomy';
-import { ComponentQualifier } from '../types/component';
 import {
   IssueResolution,
   IssueScope,
index c041fe9483b82be1d22498fcc1293982c797bbbb..d3fec7e4e20357bdfad30cb25cf93325bb7c4bcc 100644 (file)
@@ -17,7 +17,8 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
-import { ComponentQualifier, TreeComponent, Visibility } from '../../types/component';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
+import { TreeComponent, Visibility } from '../../types/component';
 import { MetricKey } from '../../types/metrics';
 import { Component, ComponentMeasure, ComponentMeasureEnhanced } from '../../types/types';
 import { mockMeasureEnhanced } from '../testMocks';
index 39f327a107f0ded6a048528dfb6c1deff2ab3842..a781055695f993f4da9d3bafc3eed26a02475f3f 100644 (file)
@@ -17,8 +17,9 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Project } from '../../api/project-management';
-import { ComponentQualifier, Visibility } from '../../types/component';
+import { Visibility } from '../../types/component';
 
 export function mockProject(overrides: Partial<Project> = {}): Project {
   return {
index 7d76843e6de6339a011615c741b945354ceedad1..ccb2f630b0e09712869cee695e37a2fce200ce28 100644 (file)
@@ -18,7 +18,7 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { HotspotRatingEnum } from 'design-system';
-import { ComponentQualifier } from '../../types/component';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Standards } from '../../types/security';
 import {
   Hotspot,
index f4126f2d8a5847d0fb38bb037a34f4b89ce8b967..3cd1fc937e30ba13ac5f9c663f531022cc94f9b1 100644 (file)
@@ -17,7 +17,7 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
-import { ComponentQualifier } from '../../types/component';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import {
   DuplicatedFile,
   Duplication,
index 19ccd5345e24b6f84beff3393220d1c696d37cd1..f7554515b06d2f2ffc02c6298e557a2015052e90 100644 (file)
@@ -18,7 +18,7 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { uniqueId } from 'lodash';
-import { ComponentQualifier } from '../../types/component';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Task, TaskStatuses, TaskTypes, TaskWarning } from '../../types/tasks';
 
 export function mockTask(overrides: Partial<Task> = {}): Task {
index 4e9f2400902894f0790b48960d84bb4d26f47eb5..b2ae3877adc71dd8e21d3d395cce2056ca3dbe00 100644 (file)
@@ -19,6 +19,7 @@
  */
 import { omit } from 'lodash';
 import { To } from 'react-router-dom';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Location, Router } from '~sonar-aligned/types/router';
 import { CompareResponse } from '../api/quality-profiles';
 import { RuleDescriptionSections } from '../apps/coding-rules/rule';
@@ -33,7 +34,6 @@ import {
   SoftwareQuality,
 } from '../types/clean-code-taxonomy';
 import { RuleRepository } from '../types/coding-rules';
-import { ComponentQualifier } from '../types/component';
 import { EditionKey } from '../types/editions';
 import {
   IssueDeprecatedStatus,
index dd95ec6b0793793f2920097175eac2870d109097..c4fa26967fe7853cb6e9b84d0d6a62f04811eea3 100644 (file)
@@ -21,10 +21,11 @@ import { Path, To } from 'react-router-dom';
 import { getBranchLikeQuery, isBranch, isMainBranch } from '~sonar-aligned/helpers/branch-like';
 import { queryToSearch } from '~sonar-aligned/helpers/urls';
 import { BranchParameters } from '~sonar-aligned/types/branch-like';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { getProfilePath } from '../apps/quality-profiles/utils';
 import { DEFAULT_ISSUES_QUERY } from '../components/shared/utils';
 import { BranchLike } from '../types/branch-like';
-import { ComponentQualifier, isApplication, isPortfolioLike } from '../types/component';
+import { isApplication, isPortfolioLike } from '../types/component';
 import { MeasurePageView } from '../types/measures';
 import { GraphType } from '../types/project-activity';
 import { Dict } from '../types/types';
diff --git a/server/sonar-web/src/main/js/sonar-aligned/types/component.ts b/server/sonar-web/src/main/js/sonar-aligned/types/component.ts
new file mode 100644 (file)
index 0000000..347769b
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2024 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+export enum ComponentQualifier {
+  Application = 'APP',
+  Directory = 'DIR',
+  Developer = 'DEV',
+  File = 'FIL',
+  Portfolio = 'VW',
+  Project = 'TRK',
+  SubPortfolio = 'SVW',
+  SubProject = 'BRC',
+  TestFile = 'UTS',
+}
index 11feb73a504507340630b3970699c062fbc86e67..519f2d6f978765325ddbafce320aaabddd682b48 100644 (file)
@@ -3,6 +3,8 @@
 exports[`[Function isApplication] should work properly 1`] = `
 {
   "APP": true,
+  "BRC": false,
+  "DEV": false,
   "DIR": false,
   "FIL": false,
   "SVW": false,
@@ -15,6 +17,8 @@ exports[`[Function isApplication] should work properly 1`] = `
 exports[`[Function isFile] should work properly 1`] = `
 {
   "APP": false,
+  "BRC": false,
+  "DEV": false,
   "DIR": false,
   "FIL": true,
   "SVW": false,
@@ -27,6 +31,8 @@ exports[`[Function isFile] should work properly 1`] = `
 exports[`[Function isPortfolioLike] should work properly 1`] = `
 {
   "APP": false,
+  "BRC": false,
+  "DEV": false,
   "DIR": false,
   "FIL": false,
   "SVW": true,
@@ -39,6 +45,8 @@ exports[`[Function isPortfolioLike] should work properly 1`] = `
 exports[`[Function isProject] should work properly 1`] = `
 {
   "APP": false,
+  "BRC": false,
+  "DEV": false,
   "DIR": false,
   "FIL": false,
   "SVW": false,
@@ -51,6 +59,8 @@ exports[`[Function isProject] should work properly 1`] = `
 exports[`[Function isView] should work properly 1`] = `
 {
   "APP": true,
+  "BRC": false,
+  "DEV": false,
   "DIR": false,
   "FIL": false,
   "SVW": true,
index c94b8417e191a213db89771078b7036bd8f91dea..f024bff9c146688cc79188aad10a39d52a803b42 100644 (file)
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
-import {
-  ComponentQualifier,
-  isApplication,
-  isFile,
-  isPortfolioLike,
-  isProject,
-  isView,
-} from '../component';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
+import { isApplication, isFile, isPortfolioLike, isProject, isView } from '../component';
 
 it.each([[isFile], [isView], [isProject], [isApplication], [isPortfolioLike]])(
   '%p should work properly',
index 416034aba9be26ba8d0483ee7243f02bf37d08b1..b70eaca84f1fde379e354d625989649f4c67ee48 100644 (file)
@@ -17,6 +17,7 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { Task } from './tasks';
 import { Component, LightComponent } from './types';
 
@@ -25,16 +26,6 @@ export enum Visibility {
   Private = 'private',
 }
 
-export enum ComponentQualifier {
-  Application = 'APP',
-  Directory = 'DIR',
-  File = 'FIL',
-  Portfolio = 'VW',
-  Project = 'TRK',
-  SubPortfolio = 'SVW',
-  TestFile = 'UTS',
-}
-
 export enum ProjectKeyValidationResult {
   Valid = 'valid',
   Empty = 'empty',
index f30cd41a4e39cdf1bedfdc21d5dea8edc75d4d8b..9b9934f19ddfb0288878acf414c165ae29aadc87 100644 (file)
@@ -18,7 +18,7 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import { HotspotRatingEnum } from 'design-system';
-import { ComponentQualifier } from './component';
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { MessageFormatting } from './issues';
 import { FlowLocation, IssueChangelog, IssueChangelogDiff, Paging, TextRange } from './types';
 import { UserBase } from './users';
index 31874615a18104809186c4897b6aeba1c6ff373a..cfb310e230c8fa728e890baee01d6bda00afbe5b 100644 (file)
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
+import { ComponentQualifier } from '~sonar-aligned/types/component';
 import { RuleDescriptionSection } from '../apps/coding-rules/rule';
 import {
   CleanCodeAttribute,
   CleanCodeAttributeCategory,
   SoftwareImpact,
 } from './clean-code-taxonomy';
-import { ComponentQualifier, Visibility } from './component';
+import { Visibility } from './component';
 import { IssueStatus, IssueTransition, MessageFormatting } from './issues';
 import { NewCodeDefinitionType } from './new-code-definition';
 import { UserActive, UserBase } from './users';