summaryrefslogtreecommitdiff
path: root/cli/worker.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2022-09-28 13:04:16 -0400
committerGitHub <noreply@github.com>2022-09-28 13:04:16 -0400
commitd677ba67f50e5edb0491d8ed1e4171473d662081 (patch)
tree9f8740666298ac8e1041fa3e169d8f3a9e074448 /cli/worker.rs
parent23125b275f282f96a6316d11f97e5603dab0d009 (diff)
feat(npm): functionality to support child_process.fork (#15891)
Diffstat (limited to 'cli/worker.rs')
-rw-r--r--cli/worker.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/cli/worker.rs b/cli/worker.rs
index 0454069fa..581d4f90f 100644
--- a/cli/worker.rs
+++ b/cli/worker.rs
@@ -354,7 +354,6 @@ pub async fn create_main_worker(
ps.npm_resolver
.add_package_reqs(vec![package_ref.req.clone()])
.await?;
- ps.prepare_node_std_graph().await?;
let node_resolution = node::node_resolve_binary_export(
&package_ref.req,
package_ref.sub_path.as_deref(),
@@ -363,9 +362,20 @@ pub async fn create_main_worker(
let is_main_cjs =
matches!(node_resolution, node::NodeResolution::CommonJs(_));
(node_resolution.into_url(), is_main_cjs)
+ } else if ps.npm_resolver.is_npm_main() {
+ let node_resolution =
+ node::url_to_node_resolution(main_module, &ps.npm_resolver)?;
+ let is_main_cjs =
+ matches!(node_resolution, node::NodeResolution::CommonJs(_));
+ (node_resolution.into_url(), is_main_cjs)
} else {
(main_module, false)
};
+
+ if ps.npm_resolver.has_packages() {
+ ps.prepare_node_std_graph().await?;
+ }
+
let module_loader = CliModuleLoader::new(ps.clone());
let maybe_inspector_server = ps.maybe_inspector_server.clone();