@@ -33,6 +33,7 @@ use deno_semver::Version;
33
33
use deno_semver:: VersionReq ;
34
34
35
35
use crate :: resolver:: CliSloppyImportsResolver ;
36
+ use crate :: sys:: CliSys ;
36
37
37
38
#[ derive( Debug , Clone ) ]
38
39
pub enum SpecifierUnfurlerDiagnostic {
@@ -190,14 +191,14 @@ enum UnfurlSpecifierError {
190
191
191
192
pub struct SpecifierUnfurler {
192
193
sloppy_imports_resolver : Option < Arc < CliSloppyImportsResolver > > ,
193
- workspace_resolver : Arc < WorkspaceResolver > ,
194
+ workspace_resolver : Arc < WorkspaceResolver < CliSys > > ,
194
195
bare_node_builtins : bool ,
195
196
}
196
197
197
198
impl SpecifierUnfurler {
198
199
pub fn new (
199
200
sloppy_imports_resolver : Option < Arc < CliSloppyImportsResolver > > ,
200
- workspace_resolver : Arc < WorkspaceResolver > ,
201
+ workspace_resolver : Arc < WorkspaceResolver < CliSys > > ,
201
202
bare_node_builtins : bool ,
202
203
) -> Self {
203
204
debug_assert_eq ! (
@@ -252,9 +253,11 @@ impl SpecifierUnfurler {
252
253
specifier : & str ,
253
254
resolution_kind : SloppyImportsResolutionKind ,
254
255
) -> Result < Option < String > , UnfurlSpecifierError > {
255
- let resolved = if let Ok ( resolved) =
256
- self . workspace_resolver . resolve ( specifier, referrer)
257
- {
256
+ let resolved = if let Ok ( resolved) = self . workspace_resolver . resolve (
257
+ specifier,
258
+ referrer,
259
+ resolution_kind. into ( ) ,
260
+ ) {
258
261
match resolved {
259
262
MappedResolution :: Normal { specifier, .. }
260
263
| MappedResolution :: ImportMap { specifier, .. } => Some ( specifier) ,
@@ -758,6 +761,9 @@ mod tests {
758
761
} ] ,
759
762
vec ! [ Arc :: new( package_json) ] ,
760
763
deno_config:: workspace:: PackageJsonDepResolution :: Enabled ,
764
+ Default :: default ( ) ,
765
+ Default :: default ( ) ,
766
+ CliSys :: default ( ) ,
761
767
) ;
762
768
let unfurler = SpecifierUnfurler :: new (
763
769
Some ( Arc :: new ( CliSloppyImportsResolver :: new (
@@ -900,6 +906,7 @@ export type * from "./c.d.ts";
900
906
cwd. join ( "package.json" ) ,
901
907
json ! ( { "workspaces" : [ "./publish" , "./subtract" , "./add" ] } ) ,
902
908
) ;
909
+ let sys = CliSys :: default ( ) ;
903
910
let workspace_resolver = WorkspaceResolver :: new_raw (
904
911
Arc :: new ( ModuleSpecifier :: from_directory_path ( & cwd) . unwrap ( ) ) ,
905
912
None ,
@@ -920,8 +927,10 @@ export type * from "./c.d.ts";
920
927
Arc :: new( pkg_json_publishing) ,
921
928
] ,
922
929
deno_config:: workspace:: PackageJsonDepResolution :: Enabled ,
930
+ Default :: default ( ) ,
931
+ Default :: default ( ) ,
932
+ sys. clone ( ) ,
923
933
) ;
924
- let sys = CliSys :: default ( ) ;
925
934
let unfurler = SpecifierUnfurler :: new (
926
935
Some ( Arc :: new ( CliSloppyImportsResolver :: new (
927
936
SloppyImportsCachedFs :: new ( sys) ,
0 commit comments