diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-04-24 19:44:35 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-24 19:44:35 -0400 |
commit | aa286fdecb15461ef8ddd4c372f5a13e01e1cb7b (patch) | |
tree | 47ddc4e428b650fae536c3c1eb73ae5a64c4fe6a /ext/node/package_json.rs | |
parent | bb74e75a049768c2949aa08de6752a16813b97de (diff) |
refactor(ext/node): allow injecting `NodeFs` from CLI (#18829)
This allows providing a `NodeFs` as part of the `WorkerOptions`.
Diffstat (limited to 'ext/node/package_json.rs')
-rw-r--r-- | ext/node/package_json.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/ext/node/package_json.rs b/ext/node/package_json.rs index 08f78681a..0e34897e3 100644 --- a/ext/node/package_json.rs +++ b/ext/node/package_json.rs @@ -62,16 +62,18 @@ impl PackageJson { } } - pub fn load<Fs: NodeFs>( + pub fn load( + fs: &dyn NodeFs, resolver: &dyn NpmResolver, permissions: &mut dyn NodePermissions, path: PathBuf, ) -> Result<PackageJson, AnyError> { resolver.ensure_read_permission(permissions, &path)?; - Self::load_skip_read_permission::<Fs>(path) + Self::load_skip_read_permission(fs, path) } - pub fn load_skip_read_permission<Fs: NodeFs>( + pub fn load_skip_read_permission( + fs: &dyn NodeFs, path: PathBuf, ) -> Result<PackageJson, AnyError> { assert!(path.is_absolute()); @@ -80,7 +82,7 @@ impl PackageJson { return Ok(CACHE.with(|cache| cache.borrow()[&path].clone())); } - let source = match Fs::read_to_string(&path) { + let source = match fs.read_to_string(&path) { Ok(source) => source, Err(err) if err.kind() == ErrorKind::NotFound => { return Ok(PackageJson::empty(path)); |