Просмотр исходного кода

ref: Move isSemverRelease & formatVersion into utils/versions/ (#71857)

Related to https://github.com/getsentry/frontend-tsc/issues/13
Ryan Albrecht 9 месяцев назад
Родитель
Сommit
b72b8ce7a4

+ 2 - 1
static/app/components/actions/resolve.tsx

@@ -18,8 +18,9 @@ import type {GroupStatusResolution, ResolvedStatusDetails} from 'sentry/types/gr
 import {GroupStatus, GroupSubstatus} from 'sentry/types/group';
 import {GroupStatus, GroupSubstatus} from 'sentry/types/group';
 import type {Project} from 'sentry/types/project';
 import type {Project} from 'sentry/types/project';
 import {trackAnalytics} from 'sentry/utils/analytics';
 import {trackAnalytics} from 'sentry/utils/analytics';
-import {formatVersion, isSemverRelease} from 'sentry/utils/formatters';
 import useOrganization from 'sentry/utils/useOrganization';
 import useOrganization from 'sentry/utils/useOrganization';
+import {formatVersion} from 'sentry/utils/versions/formatVersion';
+import {isSemverRelease} from 'sentry/utils/versions/isSemverRelease';
 
 
 function SetupReleasesPrompt() {
 function SetupReleasesPrompt() {
   return (
   return (

+ 1 - 1
static/app/components/charts/releaseSeries.tsx

@@ -16,8 +16,8 @@ import type {Series} from 'sentry/types/echarts';
 import type {Organization} from 'sentry/types/organization';
 import type {Organization} from 'sentry/types/organization';
 import {escape} from 'sentry/utils';
 import {escape} from 'sentry/utils';
 import {getFormattedDate, getUtcDateString} from 'sentry/utils/dates';
 import {getFormattedDate, getUtcDateString} from 'sentry/utils/dates';
-import {formatVersion} from 'sentry/utils/formatters';
 import parseLinkHeader from 'sentry/utils/parseLinkHeader';
 import parseLinkHeader from 'sentry/utils/parseLinkHeader';
+import {formatVersion} from 'sentry/utils/versions/formatVersion';
 import withApi from 'sentry/utils/withApi';
 import withApi from 'sentry/utils/withApi';
 import {normalizeUrl} from 'sentry/utils/withDomainRequired';
 import {normalizeUrl} from 'sentry/utils/withDomainRequired';
 import withOrganization from 'sentry/utils/withOrganization';
 import withOrganization from 'sentry/utils/withOrganization';

+ 1 - 1
static/app/components/group/releaseChart.tsx

@@ -9,7 +9,7 @@ import * as SidebarSection from 'sentry/components/sidebarSection';
 import {t} from 'sentry/locale';
 import {t} from 'sentry/locale';
 import type {Group, Release, TimeseriesValue} from 'sentry/types';
 import type {Group, Release, TimeseriesValue} from 'sentry/types';
 import {getFormattedDate} from 'sentry/utils/dates';
 import {getFormattedDate} from 'sentry/utils/dates';
-import {formatVersion} from 'sentry/utils/formatters';
+import {formatVersion} from 'sentry/utils/versions/formatVersion';
 
 
 /**
 /**
  * Stats are provided indexed by statsPeriod strings.
  * Stats are provided indexed by statsPeriod strings.

+ 1 - 1
static/app/components/group/tagFacets/index.tsx

@@ -17,10 +17,10 @@ import type {Event} from 'sentry/types/event';
 import type {Organization} from 'sentry/types/organization';
 import type {Organization} from 'sentry/types/organization';
 import type {Project} from 'sentry/types/project';
 import type {Project} from 'sentry/types/project';
 import {defined} from 'sentry/utils';
 import {defined} from 'sentry/utils';
-import {formatVersion} from 'sentry/utils/formatters';
 import {appendTagCondition} from 'sentry/utils/queryString';
 import {appendTagCondition} from 'sentry/utils/queryString';
 import {useLocation} from 'sentry/utils/useLocation';
 import {useLocation} from 'sentry/utils/useLocation';
 import useOrganization from 'sentry/utils/useOrganization';
 import useOrganization from 'sentry/utils/useOrganization';
+import {formatVersion} from 'sentry/utils/versions/formatVersion';
 import {useFetchIssueTagsForDetailsPage} from 'sentry/views/issueDetails/utils';
 import {useFetchIssueTagsForDetailsPage} from 'sentry/views/issueDetails/utils';
 
 
 import TagFacetsDistributionMeter from './tagFacetsDistributionMeter';
 import TagFacetsDistributionMeter from './tagFacetsDistributionMeter';

+ 1 - 1
static/app/components/profiling/flamegraph/flamegraphDrawer/profileDetails.tsx

@@ -15,7 +15,6 @@ import type {Organization, Project} from 'sentry/types';
 import type {EventTransaction} from 'sentry/types/event';
 import type {EventTransaction} from 'sentry/types/event';
 import {DeviceContextKey} from 'sentry/types/event';
 import {DeviceContextKey} from 'sentry/types/event';
 import {generateLinkToEventInTraceView} from 'sentry/utils/discover/urls';
 import {generateLinkToEventInTraceView} from 'sentry/utils/discover/urls';
-import {formatVersion} from 'sentry/utils/formatters';
 import type {FlamegraphPreferences} from 'sentry/utils/profiling/flamegraph/flamegraphStateProvider/reducers/flamegraphPreferences';
 import type {FlamegraphPreferences} from 'sentry/utils/profiling/flamegraph/flamegraphStateProvider/reducers/flamegraphPreferences';
 import {useFlamegraphPreferences} from 'sentry/utils/profiling/flamegraph/hooks/useFlamegraphPreferences';
 import {useFlamegraphPreferences} from 'sentry/utils/profiling/flamegraph/hooks/useFlamegraphPreferences';
 import type {ProfileGroup} from 'sentry/utils/profiling/profile/importProfile';
 import type {ProfileGroup} from 'sentry/utils/profiling/profile/importProfile';
@@ -25,6 +24,7 @@ import useOrganization from 'sentry/utils/useOrganization';
 import useProjects from 'sentry/utils/useProjects';
 import useProjects from 'sentry/utils/useProjects';
 import type {UseResizableDrawerOptions} from 'sentry/utils/useResizableDrawer';
 import type {UseResizableDrawerOptions} from 'sentry/utils/useResizableDrawer';
 import {useResizableDrawer} from 'sentry/utils/useResizableDrawer';
 import {useResizableDrawer} from 'sentry/utils/useResizableDrawer';
+import {formatVersion} from 'sentry/utils/versions/formatVersion';
 import {QuickContextHoverWrapper} from 'sentry/views/discover/table/quickContext/quickContextWrapper';
 import {QuickContextHoverWrapper} from 'sentry/views/discover/table/quickContext/quickContextWrapper';
 import {ContextType} from 'sentry/views/discover/table/quickContext/utils';
 import {ContextType} from 'sentry/views/discover/table/quickContext/utils';
 
 

+ 1 - 1
static/app/components/version.tsx

@@ -6,9 +6,9 @@ import GlobalSelectionLink from 'sentry/components/globalSelectionLink';
 import Link from 'sentry/components/links/link';
 import Link from 'sentry/components/links/link';
 import {Tooltip} from 'sentry/components/tooltip';
 import {Tooltip} from 'sentry/components/tooltip';
 import type {Organization} from 'sentry/types/organization';
 import type {Organization} from 'sentry/types/organization';
-import {formatVersion} from 'sentry/utils/formatters';
 import theme from 'sentry/utils/theme';
 import theme from 'sentry/utils/theme';
 import {useLocation} from 'sentry/utils/useLocation';
 import {useLocation} from 'sentry/utils/useLocation';
+import {formatVersion} from 'sentry/utils/versions/formatVersion';
 import withOrganization from 'sentry/utils/withOrganization';
 import withOrganization from 'sentry/utils/withOrganization';
 
 
 type Props = {
 type Props = {

+ 0 - 27
static/app/utils/formatters.tsx

@@ -1,4 +1,3 @@
-import {Release} from '@sentry/release-parser';
 import round from 'lodash/round';
 import round from 'lodash/round';
 
 
 import {t, tn} from 'sentry/locale';
 import {t, tn} from 'sentry/locale';
@@ -21,32 +20,6 @@ export function userDisplayName(user: User | CommitAuthor, includeEmail = true):
   return displayName;
   return displayName;
 }
 }
 
 
-export const isSemverRelease = (rawVersion: string): boolean => {
-  try {
-    const parsedVersion = new Release(rawVersion);
-    return !!parsedVersion.versionParsed;
-  } catch {
-    return false;
-  }
-};
-
-export const formatVersion = (rawVersion: string, withPackage = false) => {
-  try {
-    const parsedVersion = new Release(rawVersion);
-    const versionToDisplay = parsedVersion.describe();
-
-    if (versionToDisplay.length) {
-      return `${versionToDisplay}${
-        withPackage && parsedVersion.package ? `, ${parsedVersion.package}` : ''
-      }`;
-    }
-
-    return rawVersion;
-  } catch {
-    return rawVersion;
-  }
-};
-
 // in milliseconds
 // in milliseconds
 export const MONTH = 2629800000;
 export const MONTH = 2629800000;
 export const WEEK = 604800000;
 export const WEEK = 604800000;

+ 16 - 0
static/app/utils/versions/formatVersion.tsx

@@ -0,0 +1,16 @@
+import {Release} from '@sentry/release-parser';
+
+export const formatVersion = (rawVersion: string, withPackage = false) => {
+  try {
+    const parsedVersion = new Release(rawVersion);
+    const versionToDisplay = parsedVersion.describe();
+
+    if (versionToDisplay.length) {
+      return `${versionToDisplay}${withPackage && parsedVersion.package ? `, ${parsedVersion.package}` : ''}`;
+    }
+
+    return rawVersion;
+  } catch {
+    return rawVersion;
+  }
+};

+ 10 - 0
static/app/utils/versions/isSemverRelease.tsx

@@ -0,0 +1,10 @@
+import {Release} from '@sentry/release-parser';
+
+export const isSemverRelease = (rawVersion: string): boolean => {
+  try {
+    const parsedVersion = new Release(rawVersion);
+    return !!parsedVersion.versionParsed;
+  } catch {
+    return false;
+  }
+};

+ 1 - 1
static/app/views/issueDetails/groupActivityItem.tsx

@@ -21,8 +21,8 @@ import type {
   User,
   User,
 } from 'sentry/types';
 } from 'sentry/types';
 import {GroupActivityType} from 'sentry/types/group';
 import {GroupActivityType} from 'sentry/types/group';
-import {isSemverRelease} from 'sentry/utils/formatters';
 import {useTeamsById} from 'sentry/utils/useTeamsById';
 import {useTeamsById} from 'sentry/utils/useTeamsById';
+import {isSemverRelease} from 'sentry/utils/versions/isSemverRelease';
 
 
 interface AssignedMessageProps {
 interface AssignedMessageProps {
   activity: GroupActivityAssigned;
   activity: GroupActivityAssigned;

Некоторые файлы не были показаны из-за большого количества измененных файлов