diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-01-03 22:50:58 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-04 09:20:58 +0530 |
commit | 48556748577ba46db5f9212d14a0fcaa90d632f6 (patch) | |
tree | ddc4ada934f3b65e18dd9b8c3bf9d232d567bc16 /cli/resolver.rs | |
parent | ad65440092ed2e5f85d1c7cadb6f59bef0c7be75 (diff) |
fix(unstable/byonm): support using an import map with byonm (#21786)
Supports mixing an import map with byonm.
Diffstat (limited to 'cli/resolver.rs')
-rw-r--r-- | cli/resolver.rs | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/cli/resolver.rs b/cli/resolver.rs index 808ffcb9a..2bd947c34 100644 --- a/cli/resolver.rs +++ b/cli/resolver.rs @@ -253,22 +253,23 @@ impl Resolver for CliGraphResolver { } let referrer = &referrer_range.specifier; - let result = match self + let result = self .mapped_specifier_resolver - .resolve(specifier, referrer)? - { - MappedResolution::ImportMap(specifier) => Ok(specifier), - MappedResolution::PackageJson(specifier) => { - // found a specifier in the package.json, so mark that - // we need to do an "npm install" later - self.found_package_json_dep_flag.raise(); - Ok(specifier) - } - MappedResolution::None => { - deno_graph::resolve_import(specifier, &referrer_range.specifier) - .map_err(|err| err.into()) - } - }; + .resolve(specifier, referrer) + .map_err(|err| err.into()) + .and_then(|resolution| match resolution { + MappedResolution::ImportMap(specifier) => Ok(specifier), + MappedResolution::PackageJson(specifier) => { + // found a specifier in the package.json, so mark that + // we need to do an "npm install" later + self.found_package_json_dep_flag.raise(); + Ok(specifier) + } + MappedResolution::None => { + deno_graph::resolve_import(specifier, &referrer_range.specifier) + .map_err(|err| err.into()) + } + }); // do sloppy imports resolution if enabled let result = |