summaryrefslogtreecommitdiff
path: root/cli/npm/managed/resolvers/global.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-06-08 20:05:28 -0400
committerGitHub <noreply@github.com>2024-06-08 20:05:28 -0400
commit31154ff95899166a2535fc859c1fca2cbf19d422 (patch)
tree1497c08b1c88e271c48d19539b6d619b4db82cb9 /cli/npm/managed/resolvers/global.rs
parent32f5b4808ef7591401b46ea5bb3d680c18dedf20 (diff)
fix(check): attempt to resolve types from pkg before `@types` pkg (#24152)
I've been meaning to fix this for ages, but I finally ran into it here: https://github.com/dsherret/ts-ast-viewer/actions/runs/9432038675/job/25981325408 We need to resolve the `@types` package as a fallback instead of eagerly resolving it.
Diffstat (limited to 'cli/npm/managed/resolvers/global.rs')
-rw-r--r--cli/npm/managed/resolvers/global.rs32
1 files changed, 3 insertions, 29 deletions
diff --git a/cli/npm/managed/resolvers/global.rs b/cli/npm/managed/resolvers/global.rs
index bfd2f4de3..d10b33e7d 100644
--- a/cli/npm/managed/resolvers/global.rs
+++ b/cli/npm/managed/resolvers/global.rs
@@ -11,16 +11,12 @@ use deno_ast::ModuleSpecifier;
use deno_core::anyhow::bail;
use deno_core::error::AnyError;
use deno_core::url::Url;
-use deno_npm::resolution::PackageNotFoundFromReferrerError;
use deno_npm::NpmPackageCacheFolderId;
use deno_npm::NpmPackageId;
-use deno_npm::NpmResolutionPackage;
use deno_npm::NpmSystemInfo;
use deno_runtime::deno_fs::FileSystem;
use deno_runtime::deno_node::NodePermissions;
-use deno_runtime::deno_node::NodeResolutionMode;
-use super::super::super::common::types_package_name;
use super::super::cache::NpmCache;
use super::super::cache::TarballCache;
use super::super::resolution::NpmResolution;
@@ -57,17 +53,6 @@ impl GlobalNpmPackageResolver {
system_info,
}
}
-
- fn resolve_types_package(
- &self,
- package_name: &str,
- referrer_pkg_id: &NpmPackageCacheFolderId,
- ) -> Result<NpmResolutionPackage, Box<PackageNotFoundFromReferrerError>> {
- let types_name = types_package_name(package_name);
- self
- .resolution
- .resolve_package_from_package(&types_name, referrer_pkg_id)
- }
}
#[async_trait(?Send)]
@@ -92,7 +77,6 @@ impl NpmPackageFsResolver for GlobalNpmPackageResolver {
&self,
name: &str,
referrer: &ModuleSpecifier,
- mode: NodeResolutionMode,
) -> Result<PathBuf, AnyError> {
let Some(referrer_pkg_id) = self
.cache
@@ -100,19 +84,9 @@ impl NpmPackageFsResolver for GlobalNpmPackageResolver {
else {
bail!("could not find npm package for '{}'", referrer);
};
- let pkg = if mode.is_types() && !name.starts_with("@types/") {
- // attempt to resolve the types package first, then fallback to the regular package
- match self.resolve_types_package(name, &referrer_pkg_id) {
- Ok(pkg) => pkg,
- Err(_) => self
- .resolution
- .resolve_package_from_package(name, &referrer_pkg_id)?,
- }
- } else {
- self
- .resolution
- .resolve_package_from_package(name, &referrer_pkg_id)?
- };
+ let pkg = self
+ .resolution
+ .resolve_package_from_package(name, &referrer_pkg_id)?;
self.package_folder(&pkg.id)
}