summaryrefslogtreecommitdiff
path: root/cli/tools
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tools')
-rw-r--r--cli/tools/check.rs8
-rw-r--r--cli/tools/task.rs23
-rw-r--r--cli/tools/vendor/mod.rs15
3 files changed, 30 insertions, 16 deletions
diff --git a/cli/tools/check.rs b/cli/tools/check.rs
index eee82adcf..c7f404223 100644
--- a/cli/tools/check.rs
+++ b/cli/tools/check.rs
@@ -21,6 +21,7 @@ use crate::cache::Caches;
use crate::cache::DenoDir;
use crate::cache::FastInsecureHasher;
use crate::cache::TypeCheckCache;
+use crate::node::CliNodeResolver;
use crate::npm::NpmPackageResolver;
use crate::tsc;
use crate::version;
@@ -41,6 +42,7 @@ pub struct TypeChecker {
deno_dir: DenoDir,
caches: Arc<Caches>,
cli_options: Arc<CliOptions>,
+ node_resolver: Arc<CliNodeResolver>,
npm_resolver: Arc<NpmPackageResolver>,
}
@@ -49,12 +51,14 @@ impl TypeChecker {
deno_dir: DenoDir,
caches: Arc<Caches>,
cli_options: Arc<CliOptions>,
+ node_resolver: Arc<CliNodeResolver>,
npm_resolver: Arc<NpmPackageResolver>,
) -> Self {
Self {
deno_dir,
caches,
cli_options,
+ node_resolver,
npm_resolver,
}
}
@@ -133,7 +137,7 @@ impl TypeChecker {
debug,
graph: graph.clone(),
hash_data,
- maybe_npm_resolver: Some(self.npm_resolver.clone()),
+ maybe_node_resolver: Some(self.node_resolver.clone()),
maybe_tsbuildinfo,
root_names,
check_mode: type_check_mode,
@@ -144,7 +148,7 @@ impl TypeChecker {
if let Some(file_name) = &d.file_name {
if !file_name.starts_with("http") {
if ModuleSpecifier::parse(file_name)
- .map(|specifier| !self.npm_resolver.in_npm_package(&specifier))
+ .map(|specifier| !self.node_resolver.in_npm_package(&specifier))
.unwrap_or(true)
{
Some(d.clone())
diff --git a/cli/tools/task.rs b/cli/tools/task.rs
index 9e82f14d9..c64e2a77c 100644
--- a/cli/tools/task.rs
+++ b/cli/tools/task.rs
@@ -1,8 +1,11 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
+use crate::args::CliOptions;
use crate::args::Flags;
use crate::args::TaskFlags;
use crate::colors;
+use crate::node::CliNodeResolver;
+use crate::npm::NpmPackageResolver;
use crate::proc_state::ProcState;
use crate::util::fs::canonicalize_path;
use deno_core::anyhow::bail;
@@ -50,7 +53,7 @@ pub async fn execute_script(
Some(path) => canonicalize_path(&PathBuf::from(path))?,
None => config_file_path.parent().unwrap().to_owned(),
};
- let script = get_script_with_args(script, &ps);
+ let script = get_script_with_args(script, &ps.options);
output_task(task_name, &script);
let seq_list = deno_task_shell::parser::parse(&script)
.with_context(|| format!("Error parsing script '{task_name}'."))?;
@@ -92,11 +95,12 @@ pub async fn execute_script(
.unwrap()
.to_owned(),
};
- let script = get_script_with_args(script, &ps);
+ let script = get_script_with_args(script, &ps.options);
output_task(task_name, &script);
let seq_list = deno_task_shell::parser::parse(&script)
.with_context(|| format!("Error parsing script '{task_name}'."))?;
- let npx_commands = resolve_npm_commands(&ps)?;
+ let npx_commands =
+ resolve_npm_commands(&ps.npm_resolver, &ps.node_resolver)?;
let env_vars = collect_env_vars();
let exit_code =
deno_task_shell::execute(seq_list, env_vars, &cwd, npx_commands).await;
@@ -108,9 +112,8 @@ pub async fn execute_script(
}
}
-fn get_script_with_args(script: &str, ps: &ProcState) -> String {
- let additional_args = ps
- .options
+fn get_script_with_args(script: &str, options: &CliOptions) -> String {
+ let additional_args = options
.argv()
.iter()
// surround all the additional arguments in double quotes
@@ -231,13 +234,13 @@ impl ShellCommand for NpmPackageBinCommand {
}
fn resolve_npm_commands(
- ps: &ProcState,
+ npm_resolver: &NpmPackageResolver,
+ node_resolver: &CliNodeResolver,
) -> Result<HashMap<String, Rc<dyn ShellCommand>>, AnyError> {
let mut result = HashMap::new();
- let snapshot = ps.npm_resolver.snapshot();
+ let snapshot = npm_resolver.snapshot();
for id in snapshot.top_level_packages() {
- let bin_commands =
- crate::node::node_resolve_binary_commands(&id.nv, &ps.npm_resolver)?;
+ let bin_commands = node_resolver.resolve_binary_commands(&id.nv)?;
for bin_command in bin_commands {
result.insert(
bin_command.to_string(),
diff --git a/cli/tools/vendor/mod.rs b/cli/tools/vendor/mod.rs
index e75b19e2c..225c3e6a8 100644
--- a/cli/tools/vendor/mod.rs
+++ b/cli/tools/vendor/mod.rs
@@ -15,6 +15,7 @@ use crate::args::CliOptions;
use crate::args::Flags;
use crate::args::FmtOptionsConfig;
use crate::args::VendorFlags;
+use crate::graph_util::ModuleGraphBuilder;
use crate::proc_state::ProcState;
use crate::tools::fmt::format_json;
use crate::util::fs::canonicalize_path;
@@ -43,7 +44,12 @@ pub async fn vendor(
validate_output_dir(&output_dir, &vendor_flags)?;
validate_options(&mut cli_options, &output_dir)?;
let ps = ProcState::from_cli_options(Arc::new(cli_options)).await?;
- let graph = create_graph(&ps, &vendor_flags).await?;
+ let graph = create_graph(
+ &ps.module_graph_builder,
+ &vendor_flags,
+ ps.options.initial_cwd(),
+ )
+ .await?;
let vendored_count = build::build(
graph,
&ps.parsed_source_cache,
@@ -261,16 +267,17 @@ fn is_dir_empty(dir_path: &Path) -> Result<bool, AnyError> {
}
async fn create_graph(
- ps: &ProcState,
+ module_graph_builder: &ModuleGraphBuilder,
flags: &VendorFlags,
+ initial_cwd: &Path,
) -> Result<deno_graph::ModuleGraph, AnyError> {
let entry_points = flags
.specifiers
.iter()
- .map(|p| resolve_url_or_path(p, ps.options.initial_cwd()))
+ .map(|p| resolve_url_or_path(p, initial_cwd))
.collect::<Result<Vec<_>, _>>()?;
- ps.module_graph_builder.create_graph(entry_points).await
+ module_graph_builder.create_graph(entry_points).await
}
#[cfg(test)]