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/byonm.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/byonm.rs')
-rw-r--r-- | cli/npm/byonm.rs | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/cli/npm/byonm.rs b/cli/npm/byonm.rs index bfb9bed7f..ec3fb00e9 100644 --- a/cli/npm/byonm.rs +++ b/cli/npm/byonm.rs @@ -12,7 +12,6 @@ use deno_core::error::AnyError; use deno_core::serde_json; use deno_runtime::deno_fs::FileSystem; use deno_runtime::deno_node::NodePermissions; -use deno_runtime::deno_node::NodeResolutionMode; use deno_runtime::deno_node::NpmResolver; use deno_runtime::deno_node::PackageJson; use deno_semver::package::PackageReq; @@ -23,7 +22,6 @@ use crate::args::NpmProcessStateKind; use crate::util::fs::canonicalize_path_maybe_not_exists_with_fs; use deno_runtime::fs_util::specifier_to_file_path; -use super::common::types_package_name; use super::CliNpmResolver; use super::InnerCliNpmResolverRef; @@ -97,20 +95,13 @@ impl NpmResolver for ByonmCliNpmResolver { &self, name: &str, referrer: &ModuleSpecifier, - mode: NodeResolutionMode, ) -> Result<PathBuf, AnyError> { fn inner( fs: &dyn FileSystem, name: &str, referrer: &ModuleSpecifier, - mode: NodeResolutionMode, ) -> Result<PathBuf, AnyError> { let referrer_file = specifier_to_file_path(referrer)?; - let types_pkg_name = if mode.is_types() && !name.starts_with("@types/") { - Some(types_package_name(name)) - } else { - None - }; let mut current_folder = referrer_file.parent().unwrap(); loop { let node_modules_folder = if current_folder.ends_with("node_modules") { @@ -119,14 +110,6 @@ impl NpmResolver for ByonmCliNpmResolver { Cow::Owned(current_folder.join("node_modules")) }; - // attempt to resolve the types package first, then fallback to the regular package - if let Some(types_pkg_name) = &types_pkg_name { - let sub_dir = join_package_name(&node_modules_folder, types_pkg_name); - if fs.is_dir_sync(&sub_dir) { - return Ok(sub_dir); - } - } - let sub_dir = join_package_name(&node_modules_folder, name); if fs.is_dir_sync(&sub_dir) { return Ok(sub_dir); @@ -146,7 +129,7 @@ impl NpmResolver for ByonmCliNpmResolver { ); } - let path = inner(&*self.fs, name, referrer, mode)?; + let path = inner(&*self.fs, name, referrer)?; Ok(self.fs.realpath_sync(&path)?) } |