summaryrefslogtreecommitdiff
path: root/cli/tools/task.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-07-19 15:56:07 -0400
committerGitHub <noreply@github.com>2024-07-19 15:56:07 -0400
commitafcae364beb2cffa8e583b4ffd3a55b59336cb1b (patch)
treef98ba0e5af179b9172f130b63fb35cd77c122932 /cli/tools/task.rs
parenta4c76add565b9674ef6880de88013948c61a1ce5 (diff)
refactor: update to deno_config 0.25 (#24645)
- Gets rid of WorkspaceMemberContext. It's now `Workspace` and `WorkspaceDirectory` - Uses the workspace cache in the lsp * https://github.com/denoland/deno_config/pull/95 * https://github.com/denoland/deno_config/pull/96
Diffstat (limited to 'cli/tools/task.rs')
-rw-r--r--cli/tools/task.rs33
1 files changed, 16 insertions, 17 deletions
diff --git a/cli/tools/task.rs b/cli/tools/task.rs
index 9ab54f258..d2e16fb12 100644
--- a/cli/tools/task.rs
+++ b/cli/tools/task.rs
@@ -8,8 +8,9 @@ use crate::factory::CliFactory;
use crate::npm::CliNpmResolver;
use crate::task_runner;
use crate::util::fs::canonicalize_path;
+use deno_config::deno_json::Task;
use deno_config::workspace::TaskOrScript;
-use deno_config::workspace::Workspace;
+use deno_config::workspace::WorkspaceDirectory;
use deno_config::workspace::WorkspaceTasksConfig;
use deno_core::anyhow::bail;
use deno_core::anyhow::Context;
@@ -30,8 +31,8 @@ pub async fn execute_script(
) -> Result<i32, AnyError> {
let factory = CliFactory::from_flags(flags)?;
let cli_options = factory.cli_options();
- let start_ctx = cli_options.workspace.resolve_start_ctx();
- if !start_ctx.has_deno_or_pkg_json() {
+ let start_dir = &cli_options.start_dir;
+ if !start_dir.has_deno_or_pkg_json() {
bail!("deno task couldn't find deno.json(c). See https://deno.land/manual@v{}/getting_started/configuration_file", env!("CARGO_PKG_VERSION"))
}
let force_use_pkg_json =
@@ -44,7 +45,7 @@ pub async fn execute_script(
v == "1"
})
.unwrap_or(false);
- let tasks_config = start_ctx.to_tasks_config()?;
+ let tasks_config = start_dir.to_tasks_config()?;
let tasks_config = if force_use_pkg_json {
tasks_config.with_only_pkg_json()
} else {
@@ -56,7 +57,7 @@ pub async fn execute_script(
None => {
print_available_tasks(
&mut std::io::stdout(),
- &cli_options.workspace,
+ &cli_options.start_dir,
&tasks_config,
)?;
return Ok(1);
@@ -143,7 +144,7 @@ pub async fn execute_script(
if log::log_enabled!(log::Level::Error) {
print_available_tasks(
&mut std::io::stderr(),
- &cli_options.workspace,
+ &cli_options.start_dir,
&tasks_config,
)?;
}
@@ -204,7 +205,7 @@ fn output_task(task_name: &str, script: &str) {
fn print_available_tasks(
writer: &mut dyn std::io::Write,
- workspace: &Arc<Workspace>,
+ workspace_dir: &Arc<WorkspaceDirectory>,
tasks_config: &WorkspaceTasksConfig,
) -> Result<(), std::io::Error> {
writeln!(writer, "{}", colors::green("Available tasks:"))?;
@@ -228,7 +229,8 @@ fn print_available_tasks(
.as_ref()
.map(|config| {
let is_root = !is_cwd_root_dir
- && config.folder_url == *workspace.root_folder().0.as_ref();
+ && config.folder_url
+ == *workspace_dir.workspace.root_dir().as_ref();
config
.tasks
.iter()
@@ -242,13 +244,10 @@ fn print_available_tasks(
.as_ref()
.map(|config| {
let is_root = !is_cwd_root_dir
- && config.folder_url == *workspace.root_folder().0.as_ref();
+ && config.folder_url
+ == *workspace_dir.workspace.root_dir().as_ref();
config.tasks.iter().map(move |(k, v)| {
- (
- is_root,
- false,
- (k, Cow::Owned(deno_config::Task::Definition(v.clone()))),
- )
+ (is_root, false, (k, Cow::Owned(Task::Definition(v.clone()))))
})
})
.into_iter()
@@ -275,10 +274,10 @@ fn print_available_tasks(
}
)?;
let definition = match task.as_ref() {
- deno_config::Task::Definition(definition) => definition,
- deno_config::Task::Commented { definition, .. } => definition,
+ Task::Definition(definition) => definition,
+ Task::Commented { definition, .. } => definition,
};
- if let deno_config::Task::Commented { comments, .. } = task.as_ref() {
+ if let Task::Commented { comments, .. } = task.as_ref() {
let slash_slash = colors::italic_gray("//");
for comment in comments {
writeln!(