summaryrefslogtreecommitdiff
path: root/cli/npm/managed/mod.rs
diff options
context:
space:
mode:
authorNathan Whitaker <17734409+nathanwhit@users.noreply.github.com>2024-07-15 12:11:09 -0700
committerGitHub <noreply@github.com>2024-07-15 12:11:09 -0700
commit04f9db5b2217fe06f88e76146aac6362ff0b0b86 (patch)
treeaa4becb2529141de3e6bb8d3ba430f3c7e036902 /cli/npm/managed/mod.rs
parent29186d7e5963f2398b28ee2c043b27e4881075ef (diff)
fix(node): Fix `--allow-scripts` with no `deno.json` (#24533)
We would resolve the wrong package.json, resulting in an inability to run CJS (or other node-mode) scripts
Diffstat (limited to 'cli/npm/managed/mod.rs')
-rw-r--r--cli/npm/managed/mod.rs29
1 files changed, 16 insertions, 13 deletions
diff --git a/cli/npm/managed/mod.rs b/cli/npm/managed/mod.rs
index 1020a57e9..a18ad4d7f 100644
--- a/cli/npm/managed/mod.rs
+++ b/cli/npm/managed/mod.rs
@@ -518,22 +518,25 @@ impl ManagedCliNpmResolver {
}
}
+fn npm_process_state(
+ snapshot: ValidSerializedNpmResolutionSnapshot,
+ node_modules_path: Option<&Path>,
+) -> String {
+ serde_json::to_string(&NpmProcessState {
+ kind: NpmProcessStateKind::Snapshot(snapshot.into_serialized()),
+ local_node_modules_path: node_modules_path
+ .map(|p| p.to_string_lossy().to_string()),
+ })
+ .unwrap()
+}
+
impl NpmResolver for ManagedCliNpmResolver {
/// Gets the state of npm for the process.
fn get_npm_process_state(&self) -> String {
- serde_json::to_string(&NpmProcessState {
- kind: NpmProcessStateKind::Snapshot(
- self
- .resolution
- .serialized_valid_snapshot()
- .into_serialized(),
- ),
- local_node_modules_path: self
- .fs_resolver
- .node_modules_path()
- .map(|p| p.to_string_lossy().to_string()),
- })
- .unwrap()
+ npm_process_state(
+ self.resolution.serialized_valid_snapshot(),
+ self.fs_resolver.node_modules_path().map(|p| p.as_path()),
+ )
}
fn resolve_package_folder_from_package(