@@ -6,13 +6,15 @@ mod util;
66mod zip;
77
88use std:: {
9- collections:: { HashMap , HashSet , hash_map:: Entry } ,
9+ collections:: hash_map:: Entry ,
10+ hash:: BuildHasherDefault ,
1011 path:: { Path , PathBuf } ,
1112} ;
1213
1314use fancy_regex:: Regex ;
1415use indexmap:: IndexMap ;
1516use lazy_static:: lazy_static;
17+ use rustc_hash:: { FxHashMap , FxHashSet , FxHasher } ;
1618use serde:: { Deserialize , Serialize } ;
1719use serde_with:: { DefaultOnNull , serde_as} ;
1820
@@ -68,7 +70,7 @@ pub struct PackageInformation {
6870 discard_from_lookup : bool ,
6971
7072 #[ serde_as( as = "Vec<(_, Option<_>)>" ) ]
71- package_dependencies : HashMap < String , Option < PackageDependency > > ,
73+ package_dependencies : FxHashMap < String , Option < PackageDependency > > ,
7274}
7375
7476#[ serde_as]
@@ -91,21 +93,21 @@ pub struct Manifest {
9193 // "name": "@app/monorepo",
9294 // "workspace:."
9395 // }]
94- dependency_tree_roots : HashSet < PackageLocator > ,
96+ dependency_tree_roots : FxHashSet < PackageLocator > ,
9597
9698 // fallbackPool: [[
9799 // "@app/monorepo",
98100 // "workspace:.",
99101 // ]]
100102 #[ serde_as( as = "Vec<(_, _)>" ) ]
101- fallback_pool : HashMap < String , Option < PackageDependency > > ,
103+ fallback_pool : FxHashMap < String , Option < PackageDependency > > ,
102104
103105 // fallbackExclusionList: [[
104106 // "@app/server",
105107 // ["workspace:sources/server"],
106108 // ]]
107109 #[ serde_as( as = "Vec<(_, _)>" ) ]
108- fallback_exclusion_list : HashMap < String , HashSet < String > > ,
110+ fallback_exclusion_list : FxHashMap < String , FxHashSet < String > > ,
109111
110112 // packageRegistryData: [
111113 // [null, [
@@ -115,7 +117,8 @@ pub struct Manifest {
115117 // }]
116118 // ]
117119 #[ serde_as( as = "Vec<(DefaultOnNull<_>, Vec<(DefaultOnNull<_>, _)>)>" ) ]
118- package_registry_data : HashMap < String , IndexMap < String , PackageInformation > > ,
120+ package_registry_data :
121+ FxHashMap < String , IndexMap < String , PackageInformation , BuildHasherDefault < FxHasher > > > ,
119122}
120123
121124fn parse_scoped_package_name ( specifier : & str ) -> Option < ( String , Option < String > ) > {
0 commit comments