summaryrefslogtreecommitdiff
path: root/cli/args/mod.rs
diff options
context:
space:
mode:
authorNathan Whitaker <17734409+nathanwhit@users.noreply.github.com>2024-03-27 14:14:27 -0700
committerGitHub <noreply@github.com>2024-03-27 14:14:27 -0700
commit2dc37f411e8947d3c20cd93d1fa1937edc239499 (patch)
tree0ecb10fb3cc0e9085130c3683155529c5de74e84 /cli/args/mod.rs
parent68fecc6de4b2e6556adeb2730798bf42017c4be6 (diff)
feat(task): Task description in the form of comments (#23101)
Closes #22786. TLDR; ```jsonc { "tasks": { // Some comment // // describing what the task does "dev": "deno run -A --watch main.ts" } } ``` ```bash deno task ``` ![Screenshot 2024-03-27 at 1 43 49 PM](https://github.com/denoland/deno/assets/17734409/7a14da8c-8e63-45ba-9bfb-590d250b56a9)
Diffstat (limited to 'cli/args/mod.rs')
-rw-r--r--cli/args/mod.rs23
1 files changed, 20 insertions, 3 deletions
diff --git a/cli/args/mod.rs b/cli/args/mod.rs
index 330b10d0f..76de434fd 100644
--- a/cli/args/mod.rs
+++ b/cli/args/mod.rs
@@ -796,11 +796,18 @@ impl CliOptions {
} else {
None
};
+ let parse_options = deno_config::ParseOptions {
+ include_task_comments: matches!(
+ flags.subcommand,
+ DenoSubcommand::Task(..)
+ ),
+ };
let maybe_config_file = ConfigFile::discover(
&flags.config_flag,
flags.config_path_args(&initial_cwd),
&initial_cwd,
additional_config_file_names,
+ &parse_options,
)?;
let mut maybe_package_json = None;
@@ -1183,7 +1190,7 @@ impl CliOptions {
pub fn resolve_tasks_config(
&self,
- ) -> Result<IndexMap<String, String>, AnyError> {
+ ) -> Result<IndexMap<String, deno_config::Task>, AnyError> {
if let Some(config_file) = &self.maybe_config_file {
config_file.resolve_tasks_config()
} else if self.maybe_package_json.is_some() {
@@ -1850,7 +1857,12 @@ mod test {
let cwd = &std::env::current_dir().unwrap();
let config_specifier =
ModuleSpecifier::parse("file:///deno/deno.jsonc").unwrap();
- let config_file = ConfigFile::new(config_text, config_specifier).unwrap();
+ let config_file = ConfigFile::new(
+ config_text,
+ config_specifier,
+ &deno_config::ParseOptions::default(),
+ )
+ .unwrap();
let actual = resolve_import_map_specifier(
Some("import-map.json"),
Some(&config_file),
@@ -1869,7 +1881,12 @@ mod test {
let config_text = r#"{}"#;
let config_specifier =
ModuleSpecifier::parse("file:///deno/deno.jsonc").unwrap();
- let config_file = ConfigFile::new(config_text, config_specifier).unwrap();
+ let config_file = ConfigFile::new(
+ config_text,
+ config_specifier,
+ &deno_config::ParseOptions::default(),
+ )
+ .unwrap();
let actual = resolve_import_map_specifier(
None,
Some(&config_file),