@@ -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