@@ -6,13 +6,15 @@ mod util;
6
6
mod zip;
7
7
8
8
use std:: {
9
- collections:: { HashMap , HashSet , hash_map:: Entry } ,
9
+ collections:: hash_map:: Entry ,
10
+ hash:: BuildHasherDefault ,
10
11
path:: { Path , PathBuf } ,
11
12
} ;
12
13
13
14
use fancy_regex:: Regex ;
14
15
use indexmap:: IndexMap ;
15
16
use lazy_static:: lazy_static;
17
+ use rustc_hash:: { FxHashMap , FxHashSet , FxHasher } ;
16
18
use serde:: { Deserialize , Serialize } ;
17
19
use serde_with:: { DefaultOnNull , serde_as} ;
18
20
@@ -68,7 +70,7 @@ pub struct PackageInformation {
68
70
discard_from_lookup : bool ,
69
71
70
72
#[ serde_as( as = "Vec<(_, Option<_>)>" ) ]
71
- package_dependencies : HashMap < String , Option < PackageDependency > > ,
73
+ package_dependencies : FxHashMap < String , Option < PackageDependency > > ,
72
74
}
73
75
74
76
#[ serde_as]
@@ -91,21 +93,21 @@ pub struct Manifest {
91
93
// "name": "@app/monorepo",
92
94
// "workspace:."
93
95
// }]
94
- dependency_tree_roots : HashSet < PackageLocator > ,
96
+ dependency_tree_roots : FxHashSet < PackageLocator > ,
95
97
96
98
// fallbackPool: [[
97
99
// "@app/monorepo",
98
100
// "workspace:.",
99
101
// ]]
100
102
#[ serde_as( as = "Vec<(_, _)>" ) ]
101
- fallback_pool : HashMap < String , Option < PackageDependency > > ,
103
+ fallback_pool : FxHashMap < String , Option < PackageDependency > > ,
102
104
103
105
// fallbackExclusionList: [[
104
106
// "@app/server",
105
107
// ["workspace:sources/server"],
106
108
// ]]
107
109
#[ serde_as( as = "Vec<(_, _)>" ) ]
108
- fallback_exclusion_list : HashMap < String , HashSet < String > > ,
110
+ fallback_exclusion_list : FxHashMap < String , FxHashSet < String > > ,
109
111
110
112
// packageRegistryData: [
111
113
// [null, [
@@ -115,7 +117,8 @@ pub struct Manifest {
115
117
// }]
116
118
// ]
117
119
#[ 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 > > > ,
119
122
}
120
123
121
124
fn parse_scoped_package_name ( specifier : & str ) -> Option < ( String , Option < String > ) > {
0 commit comments