From 4003913489cf86a8a2fecf653af2273decbdbc8f Mon Sep 17 00:00:00 2001 From: Sudhir Verma Date: Fri, 29 Mar 2024 15:09:17 +0530 Subject: [PATCH] Refactor code (#617) * Code refactoring * moving example -> component * Fix import for component * Remove layout folder * refactoring code * Fix eslint warning * Fix eslint warning * Fix build * Fix build for assessmentReport --- .eslintrc.js | 2 +- src/App.tsx | 24 ++++++++--------- .../Button/ThreeWayToggle/index.tsx | 12 ++++----- .../CounterCards/DefaultCounterCard/index.tsx | 0 .../Charts/BarChart/StyledChartWrapper.tsx | 0 .../Charts/BarChart/VulHistory/index.tsx | 0 .../Charts/BarChart/useChart.tsx | 0 .../Charts/PieChart/Languages/index.tsx | 0 .../Charts/PieChart/SeverityLevels/index.tsx | 0 .../Charts/PieChart/StyledChartWrapper.tsx | 0 .../Charts/PieChart/TecStacks/index.tsx | 0 .../Charts/PieChart/useChart.tsx | 0 .../DefaultNavbar/DefaultNavbarDropdown.tsx | 0 .../DefaultNavbar/DefaultNavbarMobile.tsx | 0 .../Navbars/DefaultNavbar/index.tsx | 0 src/index.tsx | 2 +- .../pages/besAssessmentReport/index.tsx | 6 ----- src/layouts/pages/besVersionHistory/index.tsx | 7 ----- src/layouts/pages/modelDetails/index.tsx | 6 ----- src/layouts/pages/modelOfInterest/index.tsx | 6 ----- .../modelVulnerabilitiesDetailed/index.tsx | 6 ----- src/layouts/pages/presentation/index.tsx | 7 ----- src/layouts/pages/projectOfInterest/index.tsx | 7 ----- .../pages/vulnerabilityDetails/index.tsx | 6 ----- .../pages/vulnerabilityOfInterest/index.tsx | 7 ----- .../BesAssessmentReport/CodeQL/index.tsx | 5 ++-- .../BesAssessmentReport/Fossology/index.tsx | 4 +-- .../{SBOM => Sbom}/index.tsx | 6 ++--- .../index.tsx | 4 +-- .../{Sonarqube => SonarQube}/index.tsx | 6 ++--- src/pages/BesAssessmentReport/index.tsx | 14 +++++----- .../AssessmentAnalytics/index.tsx | 17 ++++++------ .../AssessmentReport/BasicTable.tsx | 3 +-- .../AssessmentReport/FetchSastReport.tsx | 5 ++-- .../AssessmentReport/SastToggleButton.tsx | 6 ++--- .../AssessmentReport/index.tsx | 18 ++++++------- src/pages/BesVersionHistory/index.tsx | 11 ++++---- .../BesVersionHistory/{tags.tsx => tags.ts} | 0 .../AttackType/AttackVulnerabilityReport.tsx | 12 ++++----- .../FuzzingModel/AttackType/ModelAttack.tsx | 2 +- src/pages/FuzzingModel/DefenceData.tsx | 6 ++--- src/pages/FuzzingModel/index.tsx | 26 +++++++++---------- .../FuzzingModel/sections/DefenseSummary.tsx | 12 ++++----- .../FuzzingModel/sections/LeftFuzzing.tsx | 2 +- .../FuzzingModel/sections/RightFuzzing.tsx | 6 ++--- .../pages/iconify => pages/Iconify}/index.tsx | 0 .../{Presentation => LandingPages}/index.tsx | 24 ++++++++--------- .../sections/Counters.tsx | 4 +-- .../ModelOfInterest/ArcDiagram/index.tsx | 15 +++++------ src/pages/ModelOfInterest/FilterMoi.tsx | 1 - .../ModelOfInterest/GraphDisplay/index.tsx | 14 +++++----- .../ModelDisplay/ModelTable.tsx | 4 +-- .../ModelOfInterest/ModelDisplay/index.tsx | 8 +++--- src/pages/ModelOfInterest/TabForMoi.tsx | 3 +-- .../ModelOfInterest/filter/ModelType.tsx | 2 +- .../{riskAnalysis.tsx => SecurityDomain.tsx} | 2 +- src/pages/ModelOfInterest/index.tsx | 9 +++---- .../ModelVulnerabilitiesDetailedTable.tsx | 7 +++-- .../ModelVulnerabilitiesDetailed/index.tsx | 7 +++-- .../ProjectOfInterest/ClearTabForPoi.tsx | 3 +-- src/pages/ProjectOfInterest/FilterPoi.tsx | 3 ++- .../PoiTable/PoiListHead.tsx | 2 ++ .../PoiTable/SearchPoiList.tsx | 2 +- src/pages/ProjectOfInterest/ProjectCount.tsx | 1 - .../ProjectDisplay/index.tsx | 4 +-- src/pages/ProjectOfInterest/TabForPoi.tsx | 3 +-- ...nologyStack.tsx => BeSTechnologyStack.tsx} | 3 +-- .../ProjectOfInterest/filter/Industry.tsx | 1 - .../ProjectOfInterest/filter/Languages.tsx | 1 - .../ProjectOfInterest/filter/Licensees.tsx | 1 - .../filter/OpenSourceProjectType.tsx | 3 +-- .../filter/SecurityDomain.tsx | 1 - .../filter/TechnologyDomain.tsx | 3 +-- .../filter/TechnologyDomainComposition.tsx | 3 +-- src/pages/ProjectOfInterest/index.tsx | 12 ++++----- .../AdversarialAttackSummary.tsx | 8 +++--- .../ShowModelDetails/AssessmentSummary.tsx | 2 +- .../ShowModelDetails/DisplayFileReport.tsx | 2 +- .../ShowModelDetails/DisplayModelReport.tsx | 2 +- .../ShowModelDetails/DisplayRepository.tsx | 1 + src/pages/ShowModelDetails/index.tsx | 2 +- .../ShowVulnerabilityContent.tsx | 2 -- src/pages/ShowVulnerabilityDetails/index.tsx | 4 +-- .../VulnerabilityOfInterest/EcoSystem.tsx | 2 +- .../VulnerabilityOfInterest/FilterVoi.tsx | 1 + .../VulnerabilityOfInterest/TabForVoi.tsx | 1 - .../VoiTable/SearchVoiList.tsx | 2 +- .../VulnerablitiDisplay/index.tsx | 6 ++--- .../filter/EcoSystemFilter.tsx | 1 - src/pages/VulnerabilityOfInterest/index.tsx | 2 +- src/routes.tsx | 14 +++++----- ...poi_data.tsx => ProjectOfInterestData.tsx} | 2 +- ...atch_json_report.ts => fatchJsonReport.ts} | 0 src/utils/formatNumber.ts | 6 ----- 94 files changed, 191 insertions(+), 278 deletions(-) rename src/{examples => components}/Button/ThreeWayToggle/index.tsx (80%) rename src/{examples => components}/Cards/CounterCards/DefaultCounterCard/index.tsx (100%) rename src/{examples => components}/Charts/BarChart/StyledChartWrapper.tsx (100%) rename src/{examples => components}/Charts/BarChart/VulHistory/index.tsx (100%) rename src/{examples => components}/Charts/BarChart/useChart.tsx (100%) rename src/{examples => components}/Charts/PieChart/Languages/index.tsx (100%) rename src/{examples => components}/Charts/PieChart/SeverityLevels/index.tsx (100%) rename src/{examples => components}/Charts/PieChart/StyledChartWrapper.tsx (100%) rename src/{examples => components}/Charts/PieChart/TecStacks/index.tsx (100%) rename src/{examples => components}/Charts/PieChart/useChart.tsx (100%) rename src/{examples => components}/Navbars/DefaultNavbar/DefaultNavbarDropdown.tsx (100%) rename src/{examples => components}/Navbars/DefaultNavbar/DefaultNavbarMobile.tsx (100%) rename src/{examples => components}/Navbars/DefaultNavbar/index.tsx (100%) delete mode 100644 src/layouts/pages/besAssessmentReport/index.tsx delete mode 100644 src/layouts/pages/besVersionHistory/index.tsx delete mode 100644 src/layouts/pages/modelDetails/index.tsx delete mode 100644 src/layouts/pages/modelOfInterest/index.tsx delete mode 100644 src/layouts/pages/modelVulnerabilitiesDetailed/index.tsx delete mode 100644 src/layouts/pages/presentation/index.tsx delete mode 100644 src/layouts/pages/projectOfInterest/index.tsx delete mode 100644 src/layouts/pages/vulnerabilityDetails/index.tsx delete mode 100644 src/layouts/pages/vulnerabilityOfInterest/index.tsx rename src/pages/BesAssessmentReport/{SBOM => Sbom}/index.tsx (98%) rename src/pages/BesAssessmentReport/Scorecard/{scorecardTable => ScorecardTable}/index.tsx (97%) rename src/pages/BesAssessmentReport/{Sonarqube => SonarQube}/index.tsx (95%) rename src/pages/BesVersionHistory/{tags.tsx => tags.ts} (100%) rename src/{layouts/pages/iconify => pages/Iconify}/index.tsx (100%) rename src/pages/{Presentation => LandingPages}/index.tsx (84%) rename src/pages/{Presentation => LandingPages}/sections/Counters.tsx (93%) rename src/pages/ModelOfInterest/filter/{riskAnalysis.tsx => SecurityDomain.tsx} (99%) rename src/{layouts/pages/projectOfInterest => pages/ProjectOfInterest}/PoiTable/PoiListHead.tsx (99%) rename src/{layouts/pages/projectOfInterest => pages/ProjectOfInterest}/PoiTable/SearchPoiList.tsx (97%) rename src/{layouts/pages/projectOfInterest => pages/ProjectOfInterest}/ProjectDisplay/index.tsx (98%) rename src/pages/ProjectOfInterest/filter/{BeS-TechnologyStack.tsx => BeSTechnologyStack.tsx} (98%) rename src/utils/{poi_data.tsx => ProjectOfInterestData.tsx} (93%) rename src/utils/{fatch_json_report.ts => fatchJsonReport.ts} (100%) diff --git a/.eslintrc.js b/.eslintrc.js index 54968af1..c37fcbf9 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -25,7 +25,7 @@ module.exports = { // These are the rules that I use 'react-native/no-unused-styles': 'warn', 'react-native/no-inline-styles': 'off', - 'react-native/no-raw-text': ['warn', { + 'react-native/no-raw-text': ['off', { skip: ['CustomText'] }], "react-native/no-single-element-style-arrays": "warn", diff --git a/src/App.tsx b/src/App.tsx index e66c5ca5..325a9d4d 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -8,14 +8,14 @@ import { ThemeProvider } from "@mui/material/styles"; import CssBaseline from "@mui/material/CssBaseline"; import theme from "./assets/theme"; -import Presentation from "./layouts/pages/presentation"; import routes from "./routes"; -import BesVersionHistory from "./layouts/pages/besVersionHistory"; -import BesAssessmentReport from "./layouts/pages/besAssessmentReport"; -import ShowVulnerabilityDetailsPage from "./layouts/pages/vulnerabilityDetails"; -import ShowModelDetailsPage from "./layouts/pages/modelDetails"; -import ModelVulnerabilitiesDetailedPage from "./layouts/pages/modelVulnerabilitiesDetailed"; -import FuzzingModelPage from "./pages/FuzzingModel"; +import FuzzingModel from "./pages/FuzzingModel"; +import BesAssessmentReport from "./pages/BesAssessmentReport"; +import BesVersionHistory from "./pages/BesVersionHistory"; +import ShowModelDetails from "./pages/ShowModelDetails"; +import ModelVulnerabilitiesDetailed from "./pages/ModelVulnerabilitiesDetailed"; +import LandingPages from "./pages/LandingPages"; +import ShowVulnerabilityDetails from "./pages/ShowVulnerabilityDetails"; function App() { const { pathname } = useLocation(); @@ -47,7 +47,7 @@ function App() { { getRoutes(routes) } } /> - } /> + } /> } @@ -58,19 +58,19 @@ function App() { /> } + element={ } /> } + element={ } /> } + element={ } /> } + element={ } /> diff --git a/src/examples/Button/ThreeWayToggle/index.tsx b/src/components/Button/ThreeWayToggle/index.tsx similarity index 80% rename from src/examples/Button/ThreeWayToggle/index.tsx rename to src/components/Button/ThreeWayToggle/index.tsx index 6689b5fc..f0231538 100644 --- a/src/examples/Button/ThreeWayToggle/index.tsx +++ b/src/components/Button/ThreeWayToggle/index.tsx @@ -1,4 +1,3 @@ - import * as React from 'react'; import ToggleButton from '@mui/material/ToggleButton'; import ToggleButtonGroup from '@mui/material/ToggleButtonGroup'; @@ -10,7 +9,7 @@ import tableIcon from "../../../assets/images/cells.png"; import arcIcon from "../../../assets/images/arc.png"; import ArcDiagram from '../../../pages/ModelOfInterest/ArcDiagram'; -function switchView(viewValue:any, filteredCveReport: any, filterName: any, handleFilterByName: any) { +function switchView(viewValue: any, filteredCveReport: any, filterName: any, handleFilterByName: any) { switch (viewValue) { case "table": return ( @@ -37,6 +36,7 @@ function switchView(viewValue:any, filteredCveReport: any, filterName: any, hand return null; } } + export default function ThreeWayToggleButton({ filteredCveReport, filterName, handleFilterByName }: any) { const [view, setView] = React.useState('table'); @@ -46,7 +46,7 @@ export default function ThreeWayToggleButton({ filteredCveReport, filterName, ha ) => { setView(newView); }; - + return ( <> - - - + + + { switchView(view, filteredCveReport, filterName, handleFilterByName) } diff --git a/src/examples/Cards/CounterCards/DefaultCounterCard/index.tsx b/src/components/Cards/CounterCards/DefaultCounterCard/index.tsx similarity index 100% rename from src/examples/Cards/CounterCards/DefaultCounterCard/index.tsx rename to src/components/Cards/CounterCards/DefaultCounterCard/index.tsx diff --git a/src/examples/Charts/BarChart/StyledChartWrapper.tsx b/src/components/Charts/BarChart/StyledChartWrapper.tsx similarity index 100% rename from src/examples/Charts/BarChart/StyledChartWrapper.tsx rename to src/components/Charts/BarChart/StyledChartWrapper.tsx diff --git a/src/examples/Charts/BarChart/VulHistory/index.tsx b/src/components/Charts/BarChart/VulHistory/index.tsx similarity index 100% rename from src/examples/Charts/BarChart/VulHistory/index.tsx rename to src/components/Charts/BarChart/VulHistory/index.tsx diff --git a/src/examples/Charts/BarChart/useChart.tsx b/src/components/Charts/BarChart/useChart.tsx similarity index 100% rename from src/examples/Charts/BarChart/useChart.tsx rename to src/components/Charts/BarChart/useChart.tsx diff --git a/src/examples/Charts/PieChart/Languages/index.tsx b/src/components/Charts/PieChart/Languages/index.tsx similarity index 100% rename from src/examples/Charts/PieChart/Languages/index.tsx rename to src/components/Charts/PieChart/Languages/index.tsx diff --git a/src/examples/Charts/PieChart/SeverityLevels/index.tsx b/src/components/Charts/PieChart/SeverityLevels/index.tsx similarity index 100% rename from src/examples/Charts/PieChart/SeverityLevels/index.tsx rename to src/components/Charts/PieChart/SeverityLevels/index.tsx diff --git a/src/examples/Charts/PieChart/StyledChartWrapper.tsx b/src/components/Charts/PieChart/StyledChartWrapper.tsx similarity index 100% rename from src/examples/Charts/PieChart/StyledChartWrapper.tsx rename to src/components/Charts/PieChart/StyledChartWrapper.tsx diff --git a/src/examples/Charts/PieChart/TecStacks/index.tsx b/src/components/Charts/PieChart/TecStacks/index.tsx similarity index 100% rename from src/examples/Charts/PieChart/TecStacks/index.tsx rename to src/components/Charts/PieChart/TecStacks/index.tsx diff --git a/src/examples/Charts/PieChart/useChart.tsx b/src/components/Charts/PieChart/useChart.tsx similarity index 100% rename from src/examples/Charts/PieChart/useChart.tsx rename to src/components/Charts/PieChart/useChart.tsx diff --git a/src/examples/Navbars/DefaultNavbar/DefaultNavbarDropdown.tsx b/src/components/Navbars/DefaultNavbar/DefaultNavbarDropdown.tsx similarity index 100% rename from src/examples/Navbars/DefaultNavbar/DefaultNavbarDropdown.tsx rename to src/components/Navbars/DefaultNavbar/DefaultNavbarDropdown.tsx diff --git a/src/examples/Navbars/DefaultNavbar/DefaultNavbarMobile.tsx b/src/components/Navbars/DefaultNavbar/DefaultNavbarMobile.tsx similarity index 100% rename from src/examples/Navbars/DefaultNavbar/DefaultNavbarMobile.tsx rename to src/components/Navbars/DefaultNavbar/DefaultNavbarMobile.tsx diff --git a/src/examples/Navbars/DefaultNavbar/index.tsx b/src/components/Navbars/DefaultNavbar/index.tsx similarity index 100% rename from src/examples/Navbars/DefaultNavbar/index.tsx rename to src/components/Navbars/DefaultNavbar/index.tsx diff --git a/src/index.tsx b/src/index.tsx index 24a279c4..dd0ead09 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -6,7 +6,7 @@ import App from "./App"; const container: any = document.getElementById("root"); // Create a root. - + const root = ReactDOMClient.createRoot(container); root.render( diff --git a/src/layouts/pages/besAssessmentReport/index.tsx b/src/layouts/pages/besAssessmentReport/index.tsx deleted file mode 100644 index 50e90109..00000000 --- a/src/layouts/pages/besAssessmentReport/index.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import * as React from "react"; -import BesAssessmentReport from "../../../pages/BesAssessmentReport"; - -export default function BesAssessmentReportPage() { - return ; -} diff --git a/src/layouts/pages/besVersionHistory/index.tsx b/src/layouts/pages/besVersionHistory/index.tsx deleted file mode 100644 index 5f0d18c5..00000000 --- a/src/layouts/pages/besVersionHistory/index.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import * as React from "react"; - -import BesVersionHistory from "../../../pages/BesVersionHistory"; - -export default function BesVersionHistoryPage() { - return ; -} diff --git a/src/layouts/pages/modelDetails/index.tsx b/src/layouts/pages/modelDetails/index.tsx deleted file mode 100644 index 2e11329e..00000000 --- a/src/layouts/pages/modelDetails/index.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import * as React from "react"; -import ShowModelDetails from "../../../pages/ShowModelDetails"; - -export default function ShowModelDetailsPage() { - return ; -} diff --git a/src/layouts/pages/modelOfInterest/index.tsx b/src/layouts/pages/modelOfInterest/index.tsx deleted file mode 100644 index 993d1ce6..00000000 --- a/src/layouts/pages/modelOfInterest/index.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import * as React from "react"; -import ModelOfInterest from "../../../pages/ModelOfInterest"; - -export default function ShowModelOfInterestPage() { - return ; -} diff --git a/src/layouts/pages/modelVulnerabilitiesDetailed/index.tsx b/src/layouts/pages/modelVulnerabilitiesDetailed/index.tsx deleted file mode 100644 index 38113db2..00000000 --- a/src/layouts/pages/modelVulnerabilitiesDetailed/index.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import * as React from "react"; -import ModelVulnerabilitiesDetailed from "../../../pages/ModelVulnerabilitiesDetailed"; - -export default function ModelVulnerabilitiesDetailedPage() { - return ; -} diff --git a/src/layouts/pages/presentation/index.tsx b/src/layouts/pages/presentation/index.tsx deleted file mode 100644 index cfff26e1..00000000 --- a/src/layouts/pages/presentation/index.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import * as React from "react"; - -import Presentation from "../../../pages/Presentation"; - -export default function PresentationPage() { - return ; -} diff --git a/src/layouts/pages/projectOfInterest/index.tsx b/src/layouts/pages/projectOfInterest/index.tsx deleted file mode 100644 index cab67a68..00000000 --- a/src/layouts/pages/projectOfInterest/index.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import * as React from "react"; - -import ProjectOfInterest from "../../../pages/ProjectOfInterest"; - -export default function ProjectOfInterestPage() { - return ; -} diff --git a/src/layouts/pages/vulnerabilityDetails/index.tsx b/src/layouts/pages/vulnerabilityDetails/index.tsx deleted file mode 100644 index 838104bb..00000000 --- a/src/layouts/pages/vulnerabilityDetails/index.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import * as React from "react"; -import ShowVulnerabilityDetails from "../../../pages/ShowVulnerabilityDetails"; - -export default function ShowVulnerabilityDetailsPage() { - return ; -} diff --git a/src/layouts/pages/vulnerabilityOfInterest/index.tsx b/src/layouts/pages/vulnerabilityOfInterest/index.tsx deleted file mode 100644 index d4e6f8bd..00000000 --- a/src/layouts/pages/vulnerabilityOfInterest/index.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import * as React from "react"; - -import VulnerabilityOfInterest from "../../../pages/VulnerabilityOfInterest"; - -export default function VulnerabilityOfInterestPage() { - return ; -} diff --git a/src/pages/BesAssessmentReport/CodeQL/index.tsx b/src/pages/BesAssessmentReport/CodeQL/index.tsx index 9106d146..125ad25a 100644 --- a/src/pages/BesAssessmentReport/CodeQL/index.tsx +++ b/src/pages/BesAssessmentReport/CodeQL/index.tsx @@ -1,4 +1,3 @@ - import React, { useState } from "react"; import { @@ -14,7 +13,7 @@ import { import { applySortFilter, getComparator -} from "../../../layouts/pages/projectOfInterest/ProjectDisplay"; +} from "../../ProjectOfInterest/ProjectDisplay"; const TABLE_HEAD = [ { id: "descriiption", label: "Description", alignRight: false }, @@ -31,7 +30,7 @@ const TABLE_HEAD = [ export default function CodeQL({ data }: any) { const [page, setPage] = useState(0); const [rowsPerPage, setRowsPerPage] = useState(15); - + // eslint-disable-next-line no-unused-vars const [filterName, setFilterName] = useState(""); diff --git a/src/pages/BesAssessmentReport/Fossology/index.tsx b/src/pages/BesAssessmentReport/Fossology/index.tsx index 4bc52192..0886772b 100644 --- a/src/pages/BesAssessmentReport/Fossology/index.tsx +++ b/src/pages/BesAssessmentReport/Fossology/index.tsx @@ -12,7 +12,7 @@ import { import { applySortFilter, getComparator -} from "../../../layouts/pages/projectOfInterest/ProjectDisplay"; +} from "../../ProjectOfInterest/ProjectDisplay"; const TABLE_HEAD = [ { id: "FileName", label: "FileName", alignRight: false }, @@ -29,7 +29,7 @@ const TABLE_HEAD = [ export default function Fossology({ data }: any) { const [page, setPage] = useState(0); const [rowsPerPage, setRowsPerPage] = useState(15); - + // eslint-disable-next-line no-unused-vars const [filterName, setFilterName] = useState(""); diff --git a/src/pages/BesAssessmentReport/SBOM/index.tsx b/src/pages/BesAssessmentReport/Sbom/index.tsx similarity index 98% rename from src/pages/BesAssessmentReport/SBOM/index.tsx rename to src/pages/BesAssessmentReport/Sbom/index.tsx index 9c7c6249..44bf81c6 100644 --- a/src/pages/BesAssessmentReport/SBOM/index.tsx +++ b/src/pages/BesAssessmentReport/Sbom/index.tsx @@ -12,7 +12,7 @@ import { import { applySortFilter, getComparator -} from "../../../layouts/pages/projectOfInterest/ProjectDisplay"; +} from "../../ProjectOfInterest/ProjectDisplay"; const TABLE_HEAD = [ { id: "Package Name", label: "Package Name", alignRight: false }, @@ -27,13 +27,13 @@ const TABLE_HEAD = [ export default function Sbom({ data }: any) { const [page, setPage] = useState(0); const [rowsPerPage, setRowsPerPage] = useState(15); - + // eslint-disable-next-line no-unused-vars const [filterName, setFilterName] = useState(""); let sonarqubeData: any; if (data?.packages) sonarqubeData = data?.packages; else sonarqubeData = []; - + const filteredUsers = applySortFilter( sonarqubeData, getComparator("desc", "name"), diff --git a/src/pages/BesAssessmentReport/Scorecard/scorecardTable/index.tsx b/src/pages/BesAssessmentReport/Scorecard/ScorecardTable/index.tsx similarity index 97% rename from src/pages/BesAssessmentReport/Scorecard/scorecardTable/index.tsx rename to src/pages/BesAssessmentReport/Scorecard/ScorecardTable/index.tsx index 5ae806bc..4b7966da 100644 --- a/src/pages/BesAssessmentReport/Scorecard/scorecardTable/index.tsx +++ b/src/pages/BesAssessmentReport/Scorecard/ScorecardTable/index.tsx @@ -12,7 +12,7 @@ import { import { applySortFilter, getComparator -} from "../../../../layouts/pages/projectOfInterest/ProjectDisplay"; +} from "../../../ProjectOfInterest/ProjectDisplay"; const TABLE_HEAD = [ { id: "name", label: "Name", alignRight: false }, @@ -26,7 +26,7 @@ const TABLE_HEAD = [ export default function ScorecardTable({ data }: any) { const [page, setPage] = useState(0); const [rowsPerPage, setRowsPerPage] = useState(15); - + // eslint-disable-next-line no-unused-vars const [filterName, setFilterName] = useState(""); const scorecardData: any = data?.checks ?? []; diff --git a/src/pages/BesAssessmentReport/Sonarqube/index.tsx b/src/pages/BesAssessmentReport/SonarQube/index.tsx similarity index 95% rename from src/pages/BesAssessmentReport/Sonarqube/index.tsx rename to src/pages/BesAssessmentReport/SonarQube/index.tsx index ae7ba9f6..433cc829 100644 --- a/src/pages/BesAssessmentReport/Sonarqube/index.tsx +++ b/src/pages/BesAssessmentReport/SonarQube/index.tsx @@ -9,7 +9,7 @@ import { TablePagination, TableRow, } from "@mui/material"; -import { applySortFilter, getComparator } from "../../../layouts/pages/projectOfInterest/ProjectDisplay"; +import { applySortFilter, getComparator } from "../../ProjectOfInterest/ProjectDisplay"; const TABLE_HEAD = [ { id: "Component", label: "Component", alignRight: false }, @@ -20,10 +20,10 @@ const TABLE_HEAD = [ // Fixme: Code refactor -export default function Sonarqube({ data }: any) { +export default function SonarQube({ data }: any) { const [page, setPage] = useState(0); const [rowsPerPage, setRowsPerPage] = useState(15); - + // eslint-disable-next-line no-unused-vars const [filterName, setFilterName] = useState(""); diff --git a/src/pages/BesAssessmentReport/index.tsx b/src/pages/BesAssessmentReport/index.tsx index 16081b49..8069db8b 100644 --- a/src/pages/BesAssessmentReport/index.tsx +++ b/src/pages/BesAssessmentReport/index.tsx @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/restrict-template-expressions */ - + import React, { useEffect, useState } from "react"; import { useParams } from "react-router-dom"; import { assessmentDatastoreURL } from "../../dataStore"; @@ -9,16 +9,16 @@ import { } from "../../utils/assessmentReport"; import { fetchJsonData } from "../BesVersionHistory/AssessmentReport"; import MKBox from "../../components/MKBox"; -import DefaultNavbar from "../../examples/Navbars/DefaultNavbar"; import routes from "../../routes"; -import ScorecardTable from "./Scorecard/scorecardTable"; import CodeQL from "./CodeQL"; -import Sonarqube from "./Sonarqube"; import Fossology from "./Fossology"; -import Sbom from "./SBOM"; +import Sbom from "./Sbom"; import Scorecard from "./Scorecard"; import Grid from "@mui/material/Grid"; import Card from "@mui/material/Card"; +import DefaultNavbar from "../../components/Navbars/DefaultNavbar"; +import ScorecardTable from "./Scorecard/ScorecardTable"; +import SonarQube from "./SonarQube"; export const spanStyle: any = { fontSize: "1rem", @@ -34,13 +34,13 @@ function displayReport(BeSName: string, besReport: any, report: any): any { return ; } if (besReport === "Sonarqube") { - return ; + return ; } if (besReport === "Fossology") { return ; } if (besReport === "SBOM") { - return ; + return ; } } diff --git a/src/pages/BesVersionHistory/AssessmentAnalytics/index.tsx b/src/pages/BesVersionHistory/AssessmentAnalytics/index.tsx index 296fbaea..26e4591d 100644 --- a/src/pages/BesVersionHistory/AssessmentAnalytics/index.tsx +++ b/src/pages/BesVersionHistory/AssessmentAnalytics/index.tsx @@ -1,26 +1,26 @@ /* eslint-disable @typescript-eslint/restrict-template-expressions */ /* eslint-disable react-hooks/exhaustive-deps */ - + import * as React from "react"; import { useTheme } from "@mui/material/styles"; import Card from "@mui/material/Card"; import Grid from "@mui/material/Grid"; -import VulHistory from "../../../examples/Charts/BarChart/VulHistory"; -import { fetchJsonReport } from "../../../utils/fatch_json_report"; +import { fetchJsonReport } from "../../../utils/fatchJsonReport"; import { assessmentDatastoreURL } from "../../../dataStore"; import { assessmentPath, assessmentReport } from "../../../utils/assessmentReport"; import MKTypography from "../../../components/MKTypography"; -import Language from "../../../examples/Charts/PieChart/Languages"; +import VulHistory from "../../../components/Charts/BarChart/VulHistory"; +import Language from "../../../components/Charts/PieChart/Languages"; export const getLinkData = async (link: any, setRiskData: any) => { try { - + const response = await fetchJsonReport(link); try { - + const data = JSON.parse(response); setRiskData(data); } catch (err) { @@ -35,7 +35,7 @@ export const countSeverity = async ( vulnerabilityData: any, setSeverity: any ) => { - + if (Object.keys(vulnerabilityData).length !== 0) { const supportedSeverityLevels: string[] = [ "low", @@ -60,7 +60,7 @@ export const countSeverity = async ( severityCounts[supportedSeverityLevels[j]]++; } } - + for (const sevStack of Object.keys(severityCounts)) { severityForChart.push({ label: sevStack, @@ -229,4 +229,5 @@ function AssessmentAnalytics({ ); } + export default AssessmentAnalytics; diff --git a/src/pages/BesVersionHistory/AssessmentReport/BasicTable.tsx b/src/pages/BesVersionHistory/AssessmentReport/BasicTable.tsx index 4c7262e6..db480898 100644 --- a/src/pages/BesVersionHistory/AssessmentReport/BasicTable.tsx +++ b/src/pages/BesVersionHistory/AssessmentReport/BasicTable.tsx @@ -4,9 +4,7 @@ import TableContainer from '@mui/material/TableContainer'; import Paper from '@mui/material/Paper'; export function createData({ tableData }: any) { - return [{ tableData }]; - } export function createHeading(tableHeading: string[]) { @@ -50,4 +48,5 @@ const BasicTable: React.FC = ({ tableData, tableHeading, tableStyle ); }; + export default BasicTable; diff --git a/src/pages/BesVersionHistory/AssessmentReport/FetchSastReport.tsx b/src/pages/BesVersionHistory/AssessmentReport/FetchSastReport.tsx index dacb9ea6..052806ac 100644 --- a/src/pages/BesVersionHistory/AssessmentReport/FetchSastReport.tsx +++ b/src/pages/BesVersionHistory/AssessmentReport/FetchSastReport.tsx @@ -1,10 +1,9 @@ - import * as React from "react"; import { Typography } from "@mui/material"; import MKTypography from "../../../components/MKTypography"; import BasicTable from "./BasicTable"; -const FetchSAST = ({ cqData, sqData }: any): any => { +const FetchSastReport = ({ cqData, sqData }: any): any => { let critical: number = 0; let high: number = 0; let medium: number = 0; @@ -197,4 +196,4 @@ const FetchSAST = ({ cqData, sqData }: any): any => { } }; -export default FetchSAST; +export default FetchSastReport; diff --git a/src/pages/BesVersionHistory/AssessmentReport/SastToggleButton.tsx b/src/pages/BesVersionHistory/AssessmentReport/SastToggleButton.tsx index 5067ee0b..3af8ba84 100644 --- a/src/pages/BesVersionHistory/AssessmentReport/SastToggleButton.tsx +++ b/src/pages/BesVersionHistory/AssessmentReport/SastToggleButton.tsx @@ -4,7 +4,7 @@ import ToggleButtonGroup from "@mui/material/ToggleButtonGroup"; import Typography from "@mui/material/Typography"; import { Link, To } from "react-router-dom"; import MKBox from "../../../components/MKBox"; -import FetchSAST from "./FetchSastReport"; +import FetchSastReport from "./FetchSastReport"; function switchSast( newSast: any, @@ -41,7 +41,7 @@ function switchSast( - @@ -76,7 +76,7 @@ function switchSast( - + ); diff --git a/src/pages/BesVersionHistory/AssessmentReport/index.tsx b/src/pages/BesVersionHistory/AssessmentReport/index.tsx index 682ac303..ed46394f 100644 --- a/src/pages/BesVersionHistory/AssessmentReport/index.tsx +++ b/src/pages/BesVersionHistory/AssessmentReport/index.tsx @@ -15,7 +15,7 @@ import { } from "@mui/material"; import CloseIcon from '@mui/icons-material/Close'; -import { fetchJsonReport } from "../../../utils/fatch_json_report"; +import { fetchJsonReport } from "../../../utils/fatchJsonReport"; import { Link } from "react-router-dom"; import { assessmentDatastoreURL, versionDetailsURL } from "../../../dataStore"; import MKTypography from "../../../components/MKTypography"; @@ -23,7 +23,6 @@ import { assessmentPath, assessmentReport, } from "../../../utils/assessmentReport"; -import FetchSAST from "./FetchSastReport"; import { useState } from "react"; import vulnerabilityIcon from "../../../assets/images/bug.png"; import dependencyIcon from "../../../assets/images/data-flow.png"; @@ -31,6 +30,7 @@ import licenseIcon from "../../../assets/images/certificate.png"; import scorecardIcon from "../../../assets/images/speedometer.png"; import tavossIcon from "../../../assets/images/verified.png"; import BasicTable from "./BasicTable"; +import FetchSastReport from "./FetchSastReport"; export const fetchJsonData = async (link: any, setJsonData: any) => { try { @@ -362,7 +362,7 @@ const FetchSBOM = ({ data, masterData, name, weakness }: any) => { const id = dataObject?.id; - const name = dataObject?.name; + const projectName = dataObject?.name; const bes_technology_stack = dataObject?.bes_technology_stack; @@ -370,17 +370,17 @@ const FetchSBOM = ({ data, masterData, name, weakness }: any) => { if (!duplicate) tracked.push(dp.name); tableData.push({ ID: id, - Name: name, + Name: projectName, "BeS Tech Stack": bes_technology_stack, License: license, Link: ( link ), - Weakness: weakness[name] ? "Exist" : "Absent", + Weakness: weakness[projectName] ? "Exist" : "Absent", }); } }); @@ -571,7 +571,7 @@ function GetAssessmentData(version: string, name: string, report: string, itemDa ) { return ([ codeQlData.length, - , + , "", "", ]); @@ -595,7 +595,7 @@ function GetAssessmentData(version: string, name: string, report: string, itemDa } return ([ count, - , + , "", "", ]); @@ -612,7 +612,7 @@ function GetAssessmentData(version: string, name: string, report: string, itemDa return ([ codeqllength, - , + , "", "", ]); diff --git a/src/pages/BesVersionHistory/index.tsx b/src/pages/BesVersionHistory/index.tsx index 0091fcd0..f886bb3a 100644 --- a/src/pages/BesVersionHistory/index.tsx +++ b/src/pages/BesVersionHistory/index.tsx @@ -1,20 +1,19 @@ /* eslint-disable @typescript-eslint/restrict-template-expressions */ /* eslint-disable no-prototype-builtins */ - + import * as React from "react"; import Grid from "@mui/material/Grid"; import Card from "@mui/material/Card"; import { useParams } from "react-router-dom"; -import { projectOfInterestData } from "../../utils/poi_data"; +import { projectOfInterestData } from "../../utils/ProjectOfInterestData"; import { MenuItem, Select, Tooltip } from "@mui/material"; import { makeStyles } from "@mui/styles"; import MKBox from "../../components/MKBox"; import MKTypography from "../../components/MKTypography"; import AssessmentReport from "./AssessmentReport"; import AssessmentAnalytics from "./AssessmentAnalytics"; -import DefaultNavbar from "../../examples/Navbars/DefaultNavbar"; import routes from "../../routes"; -import { getEnvPathStatus } from "../../utils/fatch_json_report"; +import { getEnvPathStatus } from "../../utils/fatchJsonReport"; import ApartmentIcon from '@mui/icons-material/Apartment'; import DownloadIcon from '@mui/icons-material/Download'; import Button from '@mui/material/Button'; @@ -23,6 +22,8 @@ import Box from '@mui/material/Box'; import Modal from '@mui/material/Modal'; import Fade from '@mui/material/Fade'; import { projectTags } from "./tags"; +import DefaultNavbar from "../../components/Navbars/DefaultNavbar"; + export const osspoiMasterAndSummary = async ( setData: any, besId: string, @@ -182,7 +183,7 @@ function BesVersionHistory() { besName.slice(1), setVersionSummary ); - // eslint-disable-next-line react-hooks/exhaustive-deps + // eslint-disable-next-line react-hooks/exhaustive-deps }, []); const [selectedOption, setSelectedOption] = React.useState(""); diff --git a/src/pages/BesVersionHistory/tags.tsx b/src/pages/BesVersionHistory/tags.ts similarity index 100% rename from src/pages/BesVersionHistory/tags.tsx rename to src/pages/BesVersionHistory/tags.ts diff --git a/src/pages/FuzzingModel/AttackType/AttackVulnerabilityReport.tsx b/src/pages/FuzzingModel/AttackType/AttackVulnerabilityReport.tsx index a24b7027..7cfecc63 100644 --- a/src/pages/FuzzingModel/AttackType/AttackVulnerabilityReport.tsx +++ b/src/pages/FuzzingModel/AttackType/AttackVulnerabilityReport.tsx @@ -10,7 +10,7 @@ export const dividerDiv = () => { return ; }; -function reportforExtraction(data: any) { +function reportForExtraction(data: any) { return ( <> { if (data) setTimeout( - () => - { inferenceLineGraph(lineRefStartInference, lineRefRightInference); }, + () => { inferenceLineGraph(lineRefStartInference, lineRefRightInference); }, 200 ); }); @@ -157,19 +157,19 @@ function FuzzingModelPage() { fetchJsonData(extractionLink, extractionSetreport).then((data) => { if (data) setTimeout( - () => - { extractionLineGraph(lineRefStartExtraction, lineRefRightExtraction); }, + () => { extractionLineGraph(lineRefStartExtraction, lineRefRightExtraction); }, 200 ); }); fetchJsonData(dataPoisoningLink, dataPoisoningSetreport).then((data) => { if (data) setTimeout( - () => - { dataPoisoningLineGraph( - lineRefStartDataPoisoning, - lineRefRightDataPoisoning - ); }, + () => { + dataPoisoningLineGraph( + lineRefStartDataPoisoning, + lineRefRightDataPoisoning + ); + }, 200 ); }); @@ -251,4 +251,4 @@ function FuzzingModelPage() { ); } -export default FuzzingModelPage; +export default FuzzingModel; diff --git a/src/pages/FuzzingModel/sections/DefenseSummary.tsx b/src/pages/FuzzingModel/sections/DefenseSummary.tsx index 5c83838b..e5892a12 100644 --- a/src/pages/FuzzingModel/sections/DefenseSummary.tsx +++ b/src/pages/FuzzingModel/sections/DefenseSummary.tsx @@ -1,4 +1,3 @@ - import React from "react"; import Grid from "@mui/material/Grid"; @@ -24,7 +23,6 @@ interface TabPanelProps { function CustomTabPanel(props: TabPanelProps) { const { children, value, index, ...other } = props; - return (
- +
@@ -141,7 +139,7 @@ function DefenseSummary() { - + diff --git a/src/pages/FuzzingModel/sections/LeftFuzzing.tsx b/src/pages/FuzzingModel/sections/LeftFuzzing.tsx index d37063d2..89ba6f27 100644 --- a/src/pages/FuzzingModel/sections/LeftFuzzing.tsx +++ b/src/pages/FuzzingModel/sections/LeftFuzzing.tsx @@ -4,7 +4,7 @@ import Grid from "@mui/material/Grid"; import ModelAttack from "../AttackType/ModelAttack"; import MKBox from "../../../components/MKBox"; -function LeftFuzzing({ evasion, inference, extraction, dataPoisoning }: any) { +function LeftFuzzing({ evasion, inference, extraction, dataPoisoning }: any) { return ( diff --git a/src/pages/FuzzingModel/sections/RightFuzzing.tsx b/src/pages/FuzzingModel/sections/RightFuzzing.tsx index 1bbf861a..dc1cbd95 100644 --- a/src/pages/FuzzingModel/sections/RightFuzzing.tsx +++ b/src/pages/FuzzingModel/sections/RightFuzzing.tsx @@ -8,12 +8,12 @@ import { useLocation } from "react-router-dom"; function RightFuzzing() { const location = useLocation(); - const selectedFuzz: {name: string} = location.state.selectedFuzz; + const selectedFuzz: { name: string } = location.state.selectedFuzz; const [loadingEvasion, setLoadingEvasion] = useState(true); const [loadingInference, setLoadingInference] = useState(true); const [loadingExtraction, setLoadingExtraction] = useState(true); const [loadingDataPoisoning, setLoadingDataPoisoning] = useState(true); - + const [evasion, evasionSetreport]: any = React.useState({}); const [inference, inferenceSetreport]: any = React.useState({}); const [extraction, extractionSetreport]: any = React.useState({}); @@ -36,7 +36,7 @@ function RightFuzzing() { fetchJsonData(inferenceLink, inferenceSetreport); fetchJsonData(extractionLink, extractionSetreport); fetchJsonData(dataPoisoningLink, dataPoisoningSetreport); - // eslint-disable-next-line react-hooks/exhaustive-deps + // eslint-disable-next-line react-hooks/exhaustive-deps }, []); return ( diff --git a/src/layouts/pages/iconify/index.tsx b/src/pages/Iconify/index.tsx similarity index 100% rename from src/layouts/pages/iconify/index.tsx rename to src/pages/Iconify/index.tsx diff --git a/src/pages/Presentation/index.tsx b/src/pages/LandingPages/index.tsx similarity index 84% rename from src/pages/Presentation/index.tsx rename to src/pages/LandingPages/index.tsx index 90588e06..d6e15fcb 100644 --- a/src/pages/Presentation/index.tsx +++ b/src/pages/LandingPages/index.tsx @@ -1,25 +1,24 @@ - import * as React from "react"; import Container from "@mui/material/Container"; import Grid from "@mui/material/Grid"; import Card from "@mui/material/Card"; -import Stack from '@mui/material/Stack'; +import Stack from '@mui/material/Stack'; import { Link } from 'react-router-dom'; import MKBox from "../../components/MKBox"; import MKTypography from "../../components/MKTypography"; -import DefaultNavbar from "../../examples/Navbars/DefaultNavbar"; import Button from "../../components/MKButton"; -// Presentation page sections +// LandingPages page sections import Counters from "./sections/Counters"; // Routes import routes from "../../routes"; +import DefaultNavbar from "../../components/Navbars/DefaultNavbar"; -function Presentation() { +function LandingPages() { return ( <> @@ -43,31 +42,32 @@ function Presentation() { mt={ -6 } mb={ 1 } style={ { - fontSize:"30px", + fontSize: "30px", lineHeight: '1.3' } } > Transform next generation application security threat models and security assessment playbooks into global commons{ " " } - + BeSLighthouse provides an intuitive dashboard with actionable insights into the security posture of open-source projects, machine learning models, training dataset to foster trust and reliability in the open-source ecosystem. - + - + - + @@ -89,4 +89,4 @@ function Presentation() { ); } -export default Presentation; +export default LandingPages; diff --git a/src/pages/Presentation/sections/Counters.tsx b/src/pages/LandingPages/sections/Counters.tsx similarity index 93% rename from src/pages/Presentation/sections/Counters.tsx rename to src/pages/LandingPages/sections/Counters.tsx index f51ee1cc..bf56195c 100644 --- a/src/pages/Presentation/sections/Counters.tsx +++ b/src/pages/LandingPages/sections/Counters.tsx @@ -4,9 +4,7 @@ import Grid from "@mui/material/Grid"; // React components import MKBox from "../../../components/MKBox"; - -// React examples -import DefaultCounterCard from "../../../examples/Cards/CounterCards/DefaultCounterCard"; +import DefaultCounterCard from "../../../components/Cards/CounterCards/DefaultCounterCard"; function Counters() { return ( diff --git a/src/pages/ModelOfInterest/ArcDiagram/index.tsx b/src/pages/ModelOfInterest/ArcDiagram/index.tsx index 2fc3415c..a33e5621 100644 --- a/src/pages/ModelOfInterest/ArcDiagram/index.tsx +++ b/src/pages/ModelOfInterest/ArcDiagram/index.tsx @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/restrict-template-expressions */ - + import React, { useEffect } from 'react'; import * as d3 from 'd3'; import { modelOfInterestData } from "../../../dataStore"; @@ -23,7 +23,7 @@ const ArcDiagram: React.FC = () => { // append the svg object to the body of the page const svg = d3.select("#Arc_diagram") .append("svg") - .attr("viewBox", [0, height/2, width, height + 150]) + .attr("viewBox", [0, height / 2, width, height + 150]) .attr("width", width) .attr("height", height) .append("g"); @@ -36,8 +36,8 @@ const ArcDiagram: React.FC = () => { const links: Array<{ source: string, target: string }> = []; // get color - function getColor(type : string){ - if (type === "Classic"){ + function getColor(type: string) { + if (type === "Classic") { return "blue"; } else { return "#EC5800"; @@ -105,7 +105,6 @@ const ArcDiagram: React.FC = () => { .selectAll("mynodes") .data(spacedNodes) .join("circle") - // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing .attr("cx", (d: { name: string, x: number | undefined }) => d.x !== undefined ? d.x : 0) // Explicitly provide type information .attr("cy", height - 30) .attr("r", 8) @@ -121,7 +120,7 @@ const ArcDiagram: React.FC = () => { const res: boolean = data.find((item: { name: any; }) => item.name === nodeName); return res; }; - + // And give them a label const labelSelection = svg .selectAll("mylabels") @@ -135,7 +134,7 @@ const ArcDiagram: React.FC = () => { .attr("font-family", "sans-serif") .attr("font-size", 16) .on('mouseover', function (event, d) { - // Highlight the nodes: every node is green except for him + // Highlight the nodes: every node is green except for him nodeSelection.style('opacity', node => node.group === d.group ? 0.2 : 0.1); d3.select(this).style('opacity', 1); d3.select(this).attr("cursor", isClickable(d.name) ? "pointer" : "default"); @@ -162,7 +161,7 @@ const ArcDiagram: React.FC = () => { .style('opacity', 1) .attr("cursor", isClickable(d.name) ? "pointer" : "default"); }).on('mouseout', function () { - // Reset the styles on mouseout + // Reset the styles on mouseout nodeSelection.style('opacity', 1); d3.select(this).attr("cursor", "default"); linkSelection diff --git a/src/pages/ModelOfInterest/FilterMoi.tsx b/src/pages/ModelOfInterest/FilterMoi.tsx index db57f01f..c4157e4b 100644 --- a/src/pages/ModelOfInterest/FilterMoi.tsx +++ b/src/pages/ModelOfInterest/FilterMoi.tsx @@ -1,4 +1,3 @@ - import * as React from "react"; import Box from "@mui/material/Box"; import Tabs, { tabsClasses } from "@mui/material/Tabs"; diff --git a/src/pages/ModelOfInterest/GraphDisplay/index.tsx b/src/pages/ModelOfInterest/GraphDisplay/index.tsx index bd987a61..a7dc239a 100644 --- a/src/pages/ModelOfInterest/GraphDisplay/index.tsx +++ b/src/pages/ModelOfInterest/GraphDisplay/index.tsx @@ -1,4 +1,4 @@ - + import React, { useEffect } from "react"; import * as d3 from "d3"; @@ -38,7 +38,7 @@ const GraphDisplay = () => { }); const isClickable = (nodeName: string) => { - const res: boolean = data.find((item: {name: string}) => item.name === nodeName); + const res: boolean = data.find((item: { name: string }) => item.name === nodeName); return res; }; @@ -84,7 +84,7 @@ const GraphDisplay = () => { .attr("viewBox", [-width / 2, -height / 2, width, height]) .attr("style", "max-width: 100%; height: auto;") .append("g"); - + // Add a line for each link, with arrowheads. const link = svg.append("g") .attr("stroke", "#555") @@ -135,7 +135,7 @@ const GraphDisplay = () => { .attr("dx", 14) .attr("dy", 4) .attr("fill", d => (d).isDependency ? "#34495e" : "#2c3e50"); - + // Set the position attributes of links and nodes each time the simulation ticks. function ticked() { link @@ -153,17 +153,17 @@ const GraphDisplay = () => { (d).fx = (d).x; (d).fy = (d).y; } - + function dragged(event: any, d: Node) { (d).fx = event.x; (d).fy = event.y; } - + function dragended(event: any, d: Node) { if (!event.active) simulation.alphaTarget(0); (d).fx = null; (d).fy = null; - } + } }) .catch((error) => { console.error("Error fetching data:", error.message); diff --git a/src/pages/ModelOfInterest/ModelDisplay/ModelTable.tsx b/src/pages/ModelOfInterest/ModelDisplay/ModelTable.tsx index 9a87b716..85482629 100644 --- a/src/pages/ModelOfInterest/ModelDisplay/ModelTable.tsx +++ b/src/pages/ModelOfInterest/ModelDisplay/ModelTable.tsx @@ -1,4 +1,4 @@ - + import React, { useState } from "react"; import { @@ -70,7 +70,7 @@ export default function ModelTable({ data }: any) { { filteredModel .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) - .map((row: {name: string, type: any, id: number, organization: string, quality_control: any, created_date: any, dependencies: any}, index: number) => { + .map((row: { name: string, type: any, id: number, organization: string, quality_control: any, created_date: any, dependencies: any }, index: number) => { return ( { row.id } diff --git a/src/pages/ModelOfInterest/ModelDisplay/index.tsx b/src/pages/ModelOfInterest/ModelDisplay/index.tsx index 2046ec3f..f7e0b6a0 100644 --- a/src/pages/ModelOfInterest/ModelDisplay/index.tsx +++ b/src/pages/ModelOfInterest/ModelDisplay/index.tsx @@ -1,9 +1,9 @@ import { filter } from "lodash"; import React, { useState } from "react"; import { modelOfInterestData } from "../../../dataStore"; -import { getComparator } from "../../../layouts/pages/projectOfInterest/ProjectDisplay"; +import { getComparator } from "../../ProjectOfInterest/ProjectDisplay"; import { fetchJsonData } from "../../BesVersionHistory/AssessmentReport"; -import ThreeWayToggleButton from "../../../examples/Button/ThreeWayToggle"; +import ThreeWayToggleButton from "../../../components/Button/ThreeWayToggle"; import { modelType, filterCheck, riskAnalysis } from "../filter/references"; function applySortFilter(array: any, comparator: any, query: any) { @@ -24,11 +24,11 @@ function applySortFilter(array: any, comparator: any, query: any) { } function filterDataBasedOnUserSelecrtionOnModelType( - modelType: string, + modelTypeName: string, getModelLIST: any[] ): any { const filteredArray = getModelLIST.filter((item) => - item.type.includes(modelType) + item.type.includes(modelTypeName) ); return filteredArray; } diff --git a/src/pages/ModelOfInterest/TabForMoi.tsx b/src/pages/ModelOfInterest/TabForMoi.tsx index 5b8f69b2..809cbc82 100644 --- a/src/pages/ModelOfInterest/TabForMoi.tsx +++ b/src/pages/ModelOfInterest/TabForMoi.tsx @@ -1,7 +1,6 @@ - import * as React from "react"; import Tab from "@mui/material/Tab"; -import { SecurityDomain } from "./filter/riskAnalysis"; +import { SecurityDomain } from "./filter/SecurityDomain"; import { ModelType } from "./filter/ModelType"; export function TabForMoi({ filter, setFilter }: any) { diff --git a/src/pages/ModelOfInterest/filter/ModelType.tsx b/src/pages/ModelOfInterest/filter/ModelType.tsx index faed226d..aae81366 100644 --- a/src/pages/ModelOfInterest/filter/ModelType.tsx +++ b/src/pages/ModelOfInterest/filter/ModelType.tsx @@ -36,7 +36,7 @@ export function ModelType({ filter, setFilter }: any) { setFilter({ ...filter }); } return ( -
+
{ const osspoi: any = JSON.parse( @@ -104,7 +103,6 @@ function ProjectOfInterest() { fontSize="18px" width="100%" style={ { fontWeight: "lighter" } } - // fontWeight="lighter" > Empower your development teams with unparalleled insights into your open source software supply chain. BeSecure assesses their risk diff --git a/src/pages/ShowModelDetails/AdversarialAttackSummary.tsx b/src/pages/ShowModelDetails/AdversarialAttackSummary.tsx index 9d58e247..5c066657 100644 --- a/src/pages/ShowModelDetails/AdversarialAttackSummary.tsx +++ b/src/pages/ShowModelDetails/AdversarialAttackSummary.tsx @@ -197,14 +197,14 @@ const AdversarialAttackSummary = ({ model }: any) => { - { attackName.map((name) => { + { attackName.map((nameOfAttack) => { return ( - { name } + { nameOfAttack } - { riskPosture(attackMap, name) } - { defenceAvailable(attackMap, name) } + { riskPosture(attackMap, nameOfAttack) } + { defenceAvailable(attackMap, nameOfAttack) } ); }) } diff --git a/src/pages/ShowModelDetails/AssessmentSummary.tsx b/src/pages/ShowModelDetails/AssessmentSummary.tsx index d3e39457..8ae9d321 100644 --- a/src/pages/ShowModelDetails/AssessmentSummary.tsx +++ b/src/pages/ShowModelDetails/AssessmentSummary.tsx @@ -3,7 +3,7 @@ import * as React from "react"; import MKBox from "../../components/MKBox"; import MKTypography from "../../components/MKTypography"; import Grid from "@mui/material/Grid"; -import { fetchJsonReport } from "../../utils/fatch_json_report"; +import { fetchJsonReport } from "../../utils/fatchJsonReport"; import { besecureMlAssessmentDataStore } from "../../dataStore"; import StaticAnalysisSummary from "./StaticAnalysisSummary"; import Divider from "@mui/material/Divider"; diff --git a/src/pages/ShowModelDetails/DisplayFileReport.tsx b/src/pages/ShowModelDetails/DisplayFileReport.tsx index b3a9d191..77d72f27 100644 --- a/src/pages/ShowModelDetails/DisplayFileReport.tsx +++ b/src/pages/ShowModelDetails/DisplayFileReport.tsx @@ -9,7 +9,7 @@ import { TableContainer, TableRow } from "@mui/material"; -import PoiListHead from "../../layouts/pages/projectOfInterest/PoiTable/PoiListHead"; +import PoiListHead from "../ProjectOfInterest/PoiTable/PoiListHead"; import { useLocation } from "react-router-dom"; import { dividerDiv } from "./AssessmentSummary"; diff --git a/src/pages/ShowModelDetails/DisplayModelReport.tsx b/src/pages/ShowModelDetails/DisplayModelReport.tsx index ca8dabcc..7a0d85d7 100644 --- a/src/pages/ShowModelDetails/DisplayModelReport.tsx +++ b/src/pages/ShowModelDetails/DisplayModelReport.tsx @@ -9,7 +9,7 @@ import { TableContainer, TableRow } from "@mui/material"; -import PoiListHead from "../../layouts/pages/projectOfInterest/PoiTable/PoiListHead"; +import PoiListHead from "../ProjectOfInterest/PoiTable/PoiListHead"; import { useLocation } from "react-router-dom"; // Fixme: Code refactor diff --git a/src/pages/ShowModelDetails/DisplayRepository.tsx b/src/pages/ShowModelDetails/DisplayRepository.tsx index 519eaa8f..ebf1598c 100644 --- a/src/pages/ShowModelDetails/DisplayRepository.tsx +++ b/src/pages/ShowModelDetails/DisplayRepository.tsx @@ -4,6 +4,7 @@ import React from "react"; import { dividerDiv } from "./AssessmentSummary"; const repository = ["Repository Type", "Repository URL"]; + export default function DisplayRepository({ data }: any): any { return repository.map((value, index) => { return ( diff --git a/src/pages/ShowModelDetails/index.tsx b/src/pages/ShowModelDetails/index.tsx index 0586d392..b8716386 100644 --- a/src/pages/ShowModelDetails/index.tsx +++ b/src/pages/ShowModelDetails/index.tsx @@ -3,11 +3,11 @@ import Grid from "@mui/material/Grid"; import ShowModelContent from "./ShowModelContent"; import MKBox from "../../components/MKBox"; -import DefaultNavbar from "../../examples/Navbars/DefaultNavbar"; import routes from "../../routes"; import AssessmentSummary, { verifyLink } from "./AssessmentSummary"; import { useParams } from "react-router-dom"; import { modelOfInterestData } from "../../dataStore"; +import DefaultNavbar from "../../components/Navbars/DefaultNavbar"; function ShowModelDetails() { const [data, setData] = React.useState([]); diff --git a/src/pages/ShowVulnerabilityDetails/ShowVulnerabilityContent.tsx b/src/pages/ShowVulnerabilityDetails/ShowVulnerabilityContent.tsx index ef32acc5..d4fd975c 100644 --- a/src/pages/ShowVulnerabilityDetails/ShowVulnerabilityContent.tsx +++ b/src/pages/ShowVulnerabilityDetails/ShowVulnerabilityContent.tsx @@ -178,7 +178,6 @@ function displayAffectedVersion(affected: any) { function displayAffectedPackage(affected: any) { const list: any = []; - // eslint-disable-next-line array-callback-return affected.map((value: {package: {ecosystem: string, name: string}, versions: number, ranges: any}) => { const data = ( <> @@ -294,7 +293,6 @@ function ShowVulnerabilityContent() { return ( <> { - // eslint-disable-next-line array-callback-return report.map((value: any) => { if (value.cve_id === cve_Id) { return ( diff --git a/src/pages/ShowVulnerabilityDetails/index.tsx b/src/pages/ShowVulnerabilityDetails/index.tsx index 312fd116..5426900b 100644 --- a/src/pages/ShowVulnerabilityDetails/index.tsx +++ b/src/pages/ShowVulnerabilityDetails/index.tsx @@ -3,11 +3,11 @@ import * as React from "react"; import Grid from "@mui/material/Grid"; import Card from "@mui/material/Card"; -import { projectOfInterestData } from "../../utils/poi_data"; +import { projectOfInterestData } from "../../utils/ProjectOfInterestData"; import ShowVulnerabilityContent from "./ShowVulnerabilityContent"; import MKBox from "../../components/MKBox"; -import DefaultNavbar from "../../examples/Navbars/DefaultNavbar"; import routes from "../../routes"; +import DefaultNavbar from "../../components/Navbars/DefaultNavbar"; export const fetchOsspoiMaterData = async () => { const osspoi: any = JSON.parse( diff --git a/src/pages/VulnerabilityOfInterest/EcoSystem.tsx b/src/pages/VulnerabilityOfInterest/EcoSystem.tsx index b67ccee8..154fd908 100644 --- a/src/pages/VulnerabilityOfInterest/EcoSystem.tsx +++ b/src/pages/VulnerabilityOfInterest/EcoSystem.tsx @@ -6,9 +6,9 @@ import Card from "@mui/material/Card"; import ReactApexChart from "react-apexcharts"; import { useTheme } from "@mui/material/styles"; import { Typography } from "@mui/material"; -import useChart from "../../examples/Charts/PieChart/useChart"; import { fNumber } from "../../utils/formatNumber"; import MKBox from "../../components/MKBox"; +import useChart from "../../components/Charts/PieChart/useChart"; function EcoSystem({ title, chartColors, chartData }: any) { const theme = useTheme(); diff --git a/src/pages/VulnerabilityOfInterest/FilterVoi.tsx b/src/pages/VulnerabilityOfInterest/FilterVoi.tsx index d89a4bec..7db2c5fe 100644 --- a/src/pages/VulnerabilityOfInterest/FilterVoi.tsx +++ b/src/pages/VulnerabilityOfInterest/FilterVoi.tsx @@ -3,6 +3,7 @@ import Box from "@mui/material/Box"; import Tabs, { tabsClasses } from "@mui/material/Tabs"; import { TabForVoi } from "./TabForVoi"; +// Fix me export default function ScrollableTabsButtonVisibleVUL({ filter, setFilter diff --git a/src/pages/VulnerabilityOfInterest/TabForVoi.tsx b/src/pages/VulnerabilityOfInterest/TabForVoi.tsx index 4a13bd0a..5fbae5c0 100644 --- a/src/pages/VulnerabilityOfInterest/TabForVoi.tsx +++ b/src/pages/VulnerabilityOfInterest/TabForVoi.tsx @@ -1,4 +1,3 @@ - import * as React from "react"; import Tab from "@mui/material/Tab"; import { EcoSystemFilter } from "./filter/EcoSystemFilter"; diff --git a/src/pages/VulnerabilityOfInterest/VoiTable/SearchVoiList.tsx b/src/pages/VulnerabilityOfInterest/VoiTable/SearchVoiList.tsx index 329714a0..4739cc23 100644 --- a/src/pages/VulnerabilityOfInterest/VoiTable/SearchVoiList.tsx +++ b/src/pages/VulnerabilityOfInterest/VoiTable/SearchVoiList.tsx @@ -5,7 +5,7 @@ import PropTypes from "prop-types"; // @mui import { styled, alpha } from "@mui/material/styles"; import { Toolbar, OutlinedInput, InputAdornment } from "@mui/material"; -import Iconify from "../../../layouts/pages/iconify"; +import Iconify from "../../Iconify"; const StyledRoot = styled(Toolbar)(({ theme }) => ({ height: 96, diff --git a/src/pages/VulnerabilityOfInterest/VulnerablitiDisplay/index.tsx b/src/pages/VulnerabilityOfInterest/VulnerablitiDisplay/index.tsx index 995e3099..d89a0bd7 100644 --- a/src/pages/VulnerabilityOfInterest/VulnerablitiDisplay/index.tsx +++ b/src/pages/VulnerabilityOfInterest/VulnerablitiDisplay/index.tsx @@ -1,7 +1,7 @@ import { filter } from "lodash"; import React, { useState } from "react"; -import { getComparator } from "../../../layouts/pages/projectOfInterest/ProjectDisplay"; +import { getComparator } from "../../ProjectOfInterest/ProjectDisplay"; import SearchVoiList from "../VoiTable/SearchVoiList"; import VulnerabilityTable from "../VoiTable/VulnerabilityTable"; import { ecoSystem, filterCheck } from "../filter/references"; @@ -30,14 +30,14 @@ function applySortFilter(array: any, comparator: any, query: any) { } function filterDataBasedOnUserSelecrtionOnEcoSystem( - ecoSystem: string, + ecoSystemName: string, getVoiLIST: any[] ): any { const regex = /^([^:]+)/gm; const filteredArray = getVoiLIST.filter((obj) => { return obj.affected.some( (item: { package: { ecosystem: { match: (arg0: RegExp) => string[]; }; }; }) => { - return item.package.ecosystem.match(regex)[0] === ecoSystem; + return item.package.ecosystem.match(regex)[0] === ecoSystemName; } ); } diff --git a/src/pages/VulnerabilityOfInterest/filter/EcoSystemFilter.tsx b/src/pages/VulnerabilityOfInterest/filter/EcoSystemFilter.tsx index c7e7b589..53b72bf9 100644 --- a/src/pages/VulnerabilityOfInterest/filter/EcoSystemFilter.tsx +++ b/src/pages/VulnerabilityOfInterest/filter/EcoSystemFilter.tsx @@ -1,4 +1,3 @@ - import * as React from "react"; import FormControl from "@mui/material/FormControl"; import MenuItem from "@mui/material/MenuItem"; diff --git a/src/pages/VulnerabilityOfInterest/index.tsx b/src/pages/VulnerabilityOfInterest/index.tsx index 413aff62..10553987 100644 --- a/src/pages/VulnerabilityOfInterest/index.tsx +++ b/src/pages/VulnerabilityOfInterest/index.tsx @@ -2,7 +2,6 @@ import * as React from "react"; import Grid from "@mui/material/Grid"; import Card from "@mui/material/Card"; -import DefaultNavbar from "../../examples/Navbars/DefaultNavbar"; import MKBox from "../../components/MKBox"; import routes from "../../routes"; import VulnerablitiDisplay from "./VulnerablitiDisplay"; @@ -14,6 +13,7 @@ import ProjectLogo from "../../assets/images/security-system.png"; import EcoSystem from "./EcoSystem"; import theme from "../../assets/theme"; import ScrollableTabsButtonVisibleVUL from "./FilterVoi"; +import DefaultNavbar from "../../components/Navbars/DefaultNavbar"; function countEcosystem(reports: any) { const regex = /^([^:]+)/gm; diff --git a/src/routes.tsx b/src/routes.tsx index 9a70efd3..d8d909c9 100644 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -3,16 +3,16 @@ import * as React from "react"; // @mui icons import GitHubIcon from "@mui/icons-material/GitHub"; import Icon from "@mui/material/Icon"; -import ModelOfInterestPage from "./layouts/pages/modelOfInterest"; -import VulnerabilityOfInterestPage from "./layouts/pages/vulnerabilityOfInterest"; -import ProjectOfInterestPage from "./layouts/pages/projectOfInterest"; import HomeIcon from '@mui/icons-material/Home'; +import ModelOfInterest from "./pages/ModelOfInterest"; +import VulnerabilityOfInterest from "./pages/VulnerabilityOfInterest"; +import ProjectOfInterest from "./pages/ProjectOfInterest"; const routes = [ { name: "Be-Secure", key: "github", - icon: , + icon: , href: "https://be-secure.github.io/Be-Secure/" }, { @@ -20,21 +20,21 @@ const routes = [ key: "Project-of-Interest", icon: library_books, route: "/BeSLighthouse/Project-Of-Interest", - component: + component: }, { name: "Vulnerabilities of Interest", key: "Vulnerability-Of-Interest", icon: gpp_bad, route: "/BeSLighthouse/Vulnerability-Of-Interest", - component: + component: }, { name: "Models of Interest", key: "Vulnerability-Of-Interest", icon: view_in_ar, route: "/BeSLighthouse/Model-Of-Interest", - component: + component: }, { name: "github", diff --git a/src/utils/poi_data.tsx b/src/utils/ProjectOfInterestData.tsx similarity index 93% rename from src/utils/poi_data.tsx rename to src/utils/ProjectOfInterestData.tsx index 8a7344c6..e1493542 100644 --- a/src/utils/poi_data.tsx +++ b/src/utils/ProjectOfInterestData.tsx @@ -1,5 +1,5 @@ import { osspoiMaster, versionDetailsURL } from "../dataStore"; -import { fetchJsonReport } from "./fatch_json_report"; +import { fetchJsonReport } from "./fatchJsonReport"; export class ProjectOfInterestData { public poi: any; diff --git a/src/utils/fatch_json_report.ts b/src/utils/fatchJsonReport.ts similarity index 100% rename from src/utils/fatch_json_report.ts rename to src/utils/fatchJsonReport.ts diff --git a/src/utils/formatNumber.ts b/src/utils/formatNumber.ts index e3bc9139..8ead5dca 100644 --- a/src/utils/formatNumber.ts +++ b/src/utils/formatNumber.ts @@ -1,20 +1,16 @@ import numeral from "numeral"; -// ---------------------------------------------------------------------- - export function fNumber(number: number) { return numeral(number).format(); } export function fCurrency(number: number) { const format = number ? numeral(number).format("$0,0.00") : ""; - return result(format, ".00"); } export function fPercent(number: number) { const format = number ? numeral(Number(number) / 100).format("0.0%") : ""; - return result(format, ".0"); } @@ -25,12 +21,10 @@ export function fShortenNumber(number: number) { export function fData(number: number) { const format = number ? numeral(number).format("0.0 b") : ""; - return result(format, ".0"); } function result(format: any, key = ".00") { const isInteger = format.includes(key); - return isInteger ? format.replace(key, "") : format; }