summaryrefslogtreecommitdiff
path: root/cli/schemas
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2024-11-16 11:18:17 +0000
committerGitHub <noreply@github.com>2024-11-16 12:18:17 +0100
commit84e12386480d76e97ad85d9c5314168e7ab03e04 (patch)
treef5b680eed392481cb1809acaf57c1045fcb1ce14 /cli/schemas
parent48b94c099526eb262287e101a75cb4571b8972b0 (diff)
feat(task): support object notation, remove support for JSDocs (#26886)
This commit changes three aspects of `deno task`: 1. Tasks can now be written using object notation like so: ```jsonc { "tasks": { "foo": "deno run foo.js", "bar": { "command": "deno run bar.js" } } ``` 2. Support for comments for tasks is now removed. Comments above tasks will no longer be printed when running `deno task`. 3. Tasks written using object notation can have "description" field that replaces support for comments above tasks: ```jsonc { "tasks": { "bar": { "description": "This is a bar task" "command": "deno run bar.js" } } ``` ``` $ deno task Available tasks: - bar // This is a bar task deno run bar.js ``` Pulled most of the changes from https://github.com/denoland/deno/pull/26467 to support "dependencies" in tasks. Additionally some cleanup was performed to make code easier to read. --------- Co-authored-by: David Sherret <dsherret@gmail.com>
Diffstat (limited to 'cli/schemas')
-rw-r--r--cli/schemas/config-file.v1.json23
1 files changed, 21 insertions, 2 deletions
diff --git a/cli/schemas/config-file.v1.json b/cli/schemas/config-file.v1.json
index 9f4737fa0..56a8090f9 100644
--- a/cli/schemas/config-file.v1.json
+++ b/cli/schemas/config-file.v1.json
@@ -431,8 +431,27 @@
"type": "object",
"patternProperties": {
"^[A-Za-z][A-Za-z0-9_\\-:]*$": {
- "type": "string",
- "description": "Command to execute for this task name."
+ "oneOf": [
+ {
+ "type": "string",
+ "description": "Command to execute for this task name."
+ },
+ {
+ "type": "object",
+ "description": "A definition of a task to execute",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of a task that will be shown when running `deno task` without a task name"
+ },
+ "command": {
+ "type": "string",
+ "required": true,
+ "description": "The task to execute"
+ }
+ }
+ }
+ ]
}
},
"additionalProperties": false