summaryrefslogtreecommitdiff
path: root/ext/node/resolution.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2023-05-05 12:44:24 -0400
committerGitHub <noreply@github.com>2023-05-05 16:44:24 +0000
commita6c47ee74023f6ef683988cabc8caa95406e3c99 (patch)
tree74026c558a175b9cf6f881ec7229499878dd6a1a /ext/node/resolution.rs
parent5270c43e412cc636cd9923182169d166d181f78a (diff)
refactor(ext/node): combine `deno_node::Fs` with `deno_fs::FileSystem` (#18991)
Diffstat (limited to 'ext/node/resolution.rs')
-rw-r--r--ext/node/resolution.rs17
1 files changed, 10 insertions, 7 deletions
diff --git a/ext/node/resolution.rs b/ext/node/resolution.rs
index 046c774fa..71b988c19 100644
--- a/ext/node/resolution.rs
+++ b/ext/node/resolution.rs
@@ -19,7 +19,6 @@ use deno_semver::npm::NpmPackageReqReference;
use crate::errors;
use crate::AllowAllNodePermissions;
-use crate::NodeFs;
use crate::NodePermissions;
use crate::NpmResolver;
use crate::PackageJson;
@@ -107,12 +106,15 @@ impl NodeResolution {
#[derive(Debug)]
pub struct NodeResolver {
- fs: Arc<dyn NodeFs>,
+ fs: Arc<dyn deno_fs::FileSystem>,
npm_resolver: Arc<dyn NpmResolver>,
}
impl NodeResolver {
- pub fn new(fs: Arc<dyn NodeFs>, npm_resolver: Arc<dyn NpmResolver>) -> Self {
+ pub fn new(
+ fs: Arc<dyn deno_fs::FileSystem>,
+ npm_resolver: Arc<dyn NpmResolver>,
+ ) -> Self {
Self { fs, npm_resolver }
}
@@ -280,8 +282,9 @@ impl NodeResolver {
p_str.to_string()
};
- let (is_dir, is_file) = if let Ok(stats) = self.fs.metadata(Path::new(&p)) {
- (stats.is_dir, stats.is_file)
+ let (is_dir, is_file) = if let Ok(stats) = self.fs.stat_sync(Path::new(&p))
+ {
+ (stats.is_directory, stats.is_file)
} else {
(false, false)
};
@@ -491,7 +494,7 @@ impl NodeResolver {
referrer_kind: NodeModuleKind,
) -> Option<PathBuf> {
fn probe_extensions(
- fs: &dyn NodeFs,
+ fs: &dyn deno_fs::FileSystem,
path: &Path,
referrer_kind: NodeModuleKind,
) -> Option<PathBuf> {
@@ -1079,7 +1082,7 @@ impl NodeResolver {
) -> Result<PathBuf, AnyError> {
let file_path = url.to_file_path().unwrap();
let current_dir = deno_core::strip_unc_prefix(
- self.fs.canonicalize(file_path.parent().unwrap())?,
+ self.fs.realpath_sync(file_path.parent().unwrap())?,
);
let mut current_dir = current_dir.as_path();
let package_json_path = current_dir.join("package.json");