summaryrefslogtreecommitdiff
path: root/cli/tools/repl/session.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2023-04-27 10:05:20 -0400
committerGitHub <noreply@github.com>2023-04-27 10:05:20 -0400
commit742cc3111ccb7c3c12c1b05904be052094657481 (patch)
tree56910a8843fbc666b719b61e772bfa51dbfd750e /cli/tools/repl/session.rs
parent03132e19da6c8e34e8100c6a57cd911b43900950 (diff)
refactor(cli): extract out ProcState from CliMainWorker (#18867)
Diffstat (limited to 'cli/tools/repl/session.rs')
-rw-r--r--cli/tools/repl/session.rs36
1 files changed, 19 insertions, 17 deletions
diff --git a/cli/tools/repl/session.rs b/cli/tools/repl/session.rs
index 7fc251362..b2645097c 100644
--- a/cli/tools/repl/session.rs
+++ b/cli/tools/repl/session.rs
@@ -1,8 +1,12 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
+use std::sync::Arc;
+
+use crate::args::CliOptions;
use crate::colors;
use crate::lsp::ReplLanguageServer;
-use crate::ProcState;
+use crate::npm::CliNpmResolver;
+use crate::resolver::CliGraphResolver;
use deno_ast::swc::ast as swc_ast;
use deno_ast::swc::visit::noop_visit_type;
@@ -117,7 +121,9 @@ struct TsEvaluateResponse {
}
pub struct ReplSession {
- proc_state: ProcState,
+ has_node_modules_dir: bool,
+ npm_resolver: Arc<CliNpmResolver>,
+ resolver: Arc<CliGraphResolver>,
pub worker: MainWorker,
session: LocalInspectorSession,
pub context_id: u64,
@@ -132,7 +138,9 @@ pub struct ReplSession {
impl ReplSession {
pub async fn initialize(
- proc_state: ProcState,
+ cli_options: &CliOptions,
+ npm_resolver: Arc<CliNpmResolver>,
+ resolver: Arc<CliGraphResolver>,
mut worker: MainWorker,
) -> Result<Self, AnyError> {
let language_server = ReplLanguageServer::new_initialized().await?;
@@ -171,14 +179,14 @@ impl ReplSession {
}
assert_ne!(context_id, 0);
- let referrer = deno_core::resolve_path(
- "./$deno$repl.ts",
- proc_state.options.initial_cwd(),
- )
- .unwrap();
+ let referrer =
+ deno_core::resolve_path("./$deno$repl.ts", cli_options.initial_cwd())
+ .unwrap();
let mut repl_session = ReplSession {
- proc_state,
+ has_node_modules_dir: cli_options.has_node_modules_dir(),
+ npm_resolver,
+ resolver,
worker,
session,
context_id,
@@ -487,7 +495,6 @@ impl ReplSession {
.iter()
.flat_map(|i| {
self
- .proc_state
.resolver
.resolve(i, &self.referrer)
.ok()
@@ -506,22 +513,17 @@ impl ReplSession {
if !self.has_initialized_node_runtime {
deno_node::initialize_runtime(
&mut self.worker.js_runtime,
- self.proc_state.options.has_node_modules_dir(),
+ self.has_node_modules_dir,
None,
)?;
self.has_initialized_node_runtime = true;
}
- self
- .proc_state
- .npm_resolver
- .add_package_reqs(npm_imports)
- .await?;
+ self.npm_resolver.add_package_reqs(npm_imports).await?;
// prevent messages in the repl about @types/node not being cached
if has_node_specifier {
self
- .proc_state
.npm_resolver
.inject_synthetic_types_node_package()
.await?;