diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2024-06-08 20:05:28 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-08 20:05:28 -0400 |
commit | 31154ff95899166a2535fc859c1fca2cbf19d422 (patch) | |
tree | 1497c08b1c88e271c48d19539b6d619b4db82cb9 /cli/npm/managed/resolvers/global.rs | |
parent | 32f5b4808ef7591401b46ea5bb3d680c18dedf20 (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.rs | 32 |
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) } |