0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-08 07:16:56 -05:00
denoland-deno/tests/specs/task
Marvin Hagemeister c44b05cab5
feat(task): add support for task wildcards (#27007)
This PR adds support for passing wildcard tasks. All matched tasks are
sorted in case they have dependencies. Tasks already in the dependency
tree will be pruned so that every task only runs once.

```json
{
  "tasks": {
    "foo-1": "echo 'foo-1'",
    "foo-2": "echo 'foo-2'"
  }
}
```

```sh
$ deno task "foo-*"
Task foo-1 echo 'foo-1'
foo-1
Task foo-2 echo 'foo-2'
foo-2
```

The changes in the PR look a little bigger than they really are due to
formatting. For the most part, I've only needed to hoist up the task
matching logic.

Closes https://github.com/denoland/deno/issues/26944
Closes https://github.com/denoland/deno/issues/21530

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2025-01-30 14:37:10 +01:00
..
additional_args chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
additional_args_nested_strings chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
additional_args_no_logic chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
additional_args_no_shell_expansion chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
bin_package fix(npm): ensure scoped package name is encoded in URLs (#26390) 2024-10-18 20:38:57 +02:00
bin_pkg_with_scope_auto chore(lint): add .out file reference checker (#27078) 2024-11-26 20:53:20 -08:00
bin_pkg_with_scope_none fix(npm): ensure scoped package name is encoded in URLs (#26390) 2024-10-18 20:38:57 +02:00
boolean_logic chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
both_deno_json_selected chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
both_no_arg chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
both_package_json_selected fix(npm): ensure scoped package name is encoded in URLs (#26390) 2024-10-18 20:38:57 +02:00
both_prefers_deno chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
byonm chore: remove DENO_FUTURE=1 from spec tests (#25329) 2024-08-31 21:25:32 +00:00
cwd chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
cwd_resolves_config_from_specified_dir chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
deno_exe_no_env chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
deno_json_lifecycle_script_names feat(task): workspace support with --filter and --recursive (#26949) 2024-11-21 00:35:12 +01:00
deno_no_pre_post chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
dependencies fix(task): support tasks without commands (#27191) 2024-12-19 18:10:58 +00:00
dependencies_root_not_cycle fix(task): ensure root config always looks up dependencies in root (#26959) 2024-11-21 09:43:51 -05:00
dependencies_shadowed_root_name fix(task): ensure root config always looks up dependencies in root (#26959) 2024-11-21 09:43:51 -05:00
description fix(task): handle carriage return in task description (#27099) 2024-11-27 01:12:47 +00:00
emoji chore: deprecate task itests (#25558) 2024-09-11 17:39:47 +02:00
eval feat(task): add --eval flag (#26943) 2024-11-20 02:23:20 +01:00
exit_code_5 chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
filter fix(task): --recursive option not working (#27183) 2024-12-05 19:00:35 +01:00
init_cwd chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
init_cwd_already_set chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
invalid_unstable_feature fix(unstable): move sloppy-import warnings to lint rule (#24710) 2024-07-25 09:07:59 -04:00
kill_task_windows_kills_children fix(task): kill descendants when killing task process on Windows (#27163) 2024-12-04 12:19:06 -05:00
no_args chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
node_modules_dir_false refactor: remove DENO_FUTURE (#25314) 2024-08-30 21:58:24 +00:00
non_existent chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
npm_run fix(task): always use npm for npm run with flags (#24028) 2024-05-29 20:16:35 +00:00
npx_installed_pkg_non_byonm BREAKING: DENO_FUTURE=1 by default, or welcome to Deno 2.0 (#25213) 2024-08-30 13:58:58 -04:00
npx_non_existent chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
package_json_echo chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
package_json_no_arg chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
package_json_node_modules_dir_none fix(npm): ensure scoped package name is encoded in URLs (#26390) 2024-10-18 20:38:57 +02:00
piped_stdin chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
post chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
post_only chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
pre chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
pre_only chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
pre_post chore: remove unnecessary envs in spec tests (#25982) 2024-10-02 10:14:38 +01:00
signals fix(task): forward signals to spawned sub-processes on unix (#27141) 2024-11-29 17:36:43 -05:00
wildcard feat(task): add support for task wildcards (#27007) 2025-01-30 14:37:10 +01:00
workspace fix(cli): deno task exit with status 0 (#25637) 2024-09-15 11:29:24 +05:30
workspace_regex_match fix(task): properly handle task name wildcards with --recursive (#27396) 2024-12-18 03:32:37 +01:00