summaryrefslogtreecommitdiff
path: root/ext/node/package_json.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2023-04-24 19:44:35 -0400
committerGitHub <noreply@github.com>2023-04-24 19:44:35 -0400
commitaa286fdecb15461ef8ddd4c372f5a13e01e1cb7b (patch)
tree47ddc4e428b650fae536c3c1eb73ae5a64c4fe6a /ext/node/package_json.rs
parentbb74e75a049768c2949aa08de6752a16813b97de (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.rs10
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));