@@ -6,20 +6,20 @@ import Header from '../../../../components/Header';
66import Footer from '../../../../components/Footer' ;
77import CrateInfoCard from '../../../../components/CrateInfoCard' ;
88import DependenciesList , { Dependency } from '../../../../components/DependenciesList' ;
9- import DependencyGraph , { GraphDependency } from '../../../../components/DependencyGraph' ;
9+ import DependencyGraph , { GraphDependency } from '../../../../components/DependencyGraph' ;
1010import VulnerabilitiesList , { Vulnerability } from '../../../../components/VulnerabilitiesList' ;
1111import SecurityAdvisories from '../../../../components/SecurityAdvisories' ;
1212import BenchmarkResults from '../../../../components/BenchmarkResults' ;
1313import VersionsSelector from '../../../../components/VersionsSelector' ;
1414import { CrateInfo } from '@/app/lib/crate_info' ;
1515
16-
16+ //异步获取依赖树
1717async function fetchDependencyTree ( name : string , version : string ) {
1818 const response = await fetch ( `/api/crates/${ name } /${ version } ` ) ;
1919 const versionData = await response . json ( ) ;
20-
20+
2121 const dependencies = versionData . dependencies || [ ] ;
22-
22+
2323 const dependenciesDetails = await Promise . all ( dependencies . map ( async ( subDep : { name : string ; version : string ; } ) => {
2424 return fetchDependencyTree ( subDep . name , subDep . version ) ;
2525 } ) ) ;
@@ -49,31 +49,31 @@ const CratePage = () => {
4949
5050
5151 useEffect ( ( ) => {
52-
52+
5353 fetch ( `/api/crates/${ crateName } ` )
5454 . then ( response => response . json ( ) )
5555 . then ( data => {
5656 setCrateInfo ( data . crateInfo || { } ) ;
5757 setVersions ( data . versions || [ ] ) ;
58-
58+
5959 setBenchmarks ( data . benchmarks || [ ] ) ;
6060 } )
6161 . catch ( error => {
6262 console . error ( 'Error fetching data:' , error ) ;
6363 } ) ;
64-
64+
6565 } , [ crateName , currentVersion ] ) ;
66-
67- useEffect ( ( ) => {
66+
67+ useEffect ( ( ) => {
6868 fetch ( `/api/crates/${ name } /${ version } ` )
69- . then ( response => response . json ( ) )
70- . then ( data => {
71- setVulnerabilities ( data . vulnerabilities ) ;
72- setDependencies ( data . dependencies ) ;
73- } )
74- . catch ( error => {
75- console . error ( 'Error fetching data:' , error ) ;
76- } ) ;
69+ . then ( response => response . json ( ) )
70+ . then ( data => {
71+ setVulnerabilities ( data . vulnerabilities ) ;
72+ setDependencies ( data . dependencies ) ;
73+ } )
74+ . catch ( error => {
75+ console . error ( 'Error fetching data:' , error ) ;
76+ } ) ;
7777
7878
7979 } , [ crateName , currentVersion ] ) ;
@@ -89,7 +89,7 @@ const CratePage = () => {
8989 console . error ( 'Error fetching dependency tree:' , error ) ;
9090 }
9191 }
92-
92+
9393 if ( crateName && currentVersion ) {
9494 loadDependencies ( ) ;
9595 }
@@ -113,7 +113,7 @@ const CratePage = () => {
113113 < Header onBack = { ( ) => window . history . back ( ) } />
114114 < main className = "flex-grow overflow-y-auto bg-gray-100" >
115115 < div className = "container mx-auto p-2 flex" >
116- < div className = "w-full md:w-2/3 pr-2" >
116+ < div className = "w-full md:w-2/3 pr-2" >
117117 < CrateInfoCard crateInfo = { crateInfo } />
118118 < SecurityAdvisories vulnerabilities = { vulnerabilities } />
119119 < VulnerabilitiesList vulnerabilities = { vulnerabilities } />
@@ -126,7 +126,7 @@ const CratePage = () => {
126126 crateName = { crateInfo . name }
127127 onVersionChange = { handleVersionChange }
128128 />
129-
129+
130130 < DependenciesList dependencies = { dependencies } onDependencyClick = { handleDependencyClick } />
131131 < DependencyGraph crateName = { name } currentVersion = { version } dependencies = { graphDependencies } />
132132 </ div >
0 commit comments