Skip to content

Commit 4836bef

Browse files
committed
tighten up UnknownSeverity types
1 parent 9fe21cc commit 4836bef

File tree

3 files changed

+23
-17
lines changed

3 files changed

+23
-17
lines changed

apps/site/components/EOL/EOLModal/index.tsx

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import type { ModalProps } from '#site/types';
99
import type {
1010
EOLModalData,
1111
KnownVulnerability,
12-
Vulnerability,
12+
UnknownSeverityVulnerability,
1313
} from '#site/types/vulnerabilities';
1414

1515
const EOLModal: FC<ModalProps> = ({ open, closeModal, data }) => {
@@ -26,21 +26,25 @@ const EOLModal: FC<ModalProps> = ({ open, closeModal, data }) => {
2626
}
2727
);
2828

29-
const [knownVulns, unknownVulns] = vulnerabilities.reduce(
30-
(acc, vuln) => {
31-
acc[vuln.severity === 'unknown' ? 1 : 0].push(vuln as KnownVulnerability);
29+
const [knownVulnerabilities, unknownVulnerabilities] = vulnerabilities.reduce(
30+
(acc, vulnerability) => {
31+
if (vulnerability.severity === 'unknown') {
32+
acc[1].push(vulnerability as UnknownSeverityVulnerability);
33+
} else {
34+
acc[0].push(vulnerability as KnownVulnerability);
35+
}
3236
return acc;
3337
},
34-
[[], []] as [Array<KnownVulnerability>, Array<Vulnerability>]
38+
[[], []] as [Array<KnownVulnerability>, Array<UnknownSeverityVulnerability>]
3539
);
3640

37-
knownVulns.sort(
41+
knownVulnerabilities.sort(
3842
(a, b) =>
3943
SEVERITY_ORDER.indexOf(a.severity) - SEVERITY_ORDER.indexOf(b.severity)
4044
);
4145

42-
const hasKnownVulns = knownVulns.length > 0;
43-
const hasAnyVulns = hasKnownVulns || unknownVulns.length > 0;
46+
const hasKnownVulnerabilities = knownVulnerabilities.length > 0;
47+
const hasAnyVulnerabilities = hasKnownVulnerabilities || unknownVulnerabilities.length > 0;
4448

4549
return (
4650
<Modal open={open} onOpenChange={closeModal}>
@@ -54,14 +58,14 @@ const EOLModal: FC<ModalProps> = ({ open, closeModal, data }) => {
5458
</p>
5559
)}
5660

57-
{hasKnownVulns && <VulnerabilitiesTable vulnerabilities={knownVulns} />}
61+
{hasKnownVulnerabilities && <VulnerabilitiesTable vulnerabilities={knownVulnerabilities} />}
5862

5963
<UnknownSeveritySection
60-
vulnerabilities={unknownVulns}
61-
hasKnownVulns={hasKnownVulns}
64+
vulnerabilities={unknownVulnerabilities}
65+
hasKnownVulnerabilities={hasKnownVulnerabilities}
6266
/>
6367

64-
{!hasAnyVulns && (
68+
{!hasAnyVulnerabilities && (
6569
<p className="m-1">
6670
{t('components.eolModal.noVulnerabilitiesMessage')}
6771
</p>

apps/site/components/EOL/UnknownSeveritySection/index.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@ import { useTranslations } from 'next-intl';
22
import type { FC } from 'react';
33

44
import VulnerabilitiesTable from '#site/components/EOL/VulnerabilitiesTable';
5-
import type { Vulnerability } from '#site/types/vulnerabilities';
5+
import type { UnknownSeverityVulnerability } from '#site/types/vulnerabilities';
66

77
const UnknownSeveritySection: FC<{
8-
vulnerabilities: Array<Vulnerability>;
9-
hasKnownVulns: boolean;
10-
}> = ({ vulnerabilities, hasKnownVulns }) => {
8+
vulnerabilities: Array<UnknownSeverityVulnerability>;
9+
hasKnownVulnerabilities: boolean;
10+
}> = ({ vulnerabilities, hasKnownVulnerabilities }) => {
1111
const t = useTranslations();
1212

1313
if (!vulnerabilities.length) {
1414
return null;
1515
}
1616

1717
return (
18-
<details open={!hasKnownVulns}>
18+
<details open={!hasKnownVulnerabilities}>
1919
<summary className="cursor-pointer font-semibold">
2020
{t('components.eolModal.showUnknownSeverities')} (
2121
{vulnerabilities.length})

apps/site/types/vulnerabilities.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,5 @@ export type EOLModalData = {
3434
export type KnownVulnerability = Vulnerability & {
3535
severity: (typeof SEVERITY_ORDER)[number];
3636
};
37+
38+
export type UnknownSeverityVulnerability = Vulnerability & { severity: 'unknown' };

0 commit comments

Comments
 (0)