SIGN IN SIGN UP
denoland / deno UNCLAIMED

A modern runtime for JavaScript and TypeScript.

0 0 30 Rust

feat(task): support exclusion groups in task name wildcards (#34506)

Adds a `(!a|b|c)` exclusion syntax to `deno task` wildcard patterns,
modeled after [concurrently][cc]. For example,
`deno task "test:*(!e2e|interactive)"` now matches `test:unit` and
`test:integration` but skips `test:e2e` and `test:interactive`.

The exclusion group is parsed off the end of the argument, and each
listed value is matched against what a `*` in the pattern captured. A
pattern without a `*` but with a `(!...)` group is rejected, since
there is nothing to exclude from.

This is the common case from #29355; more elaborate forms (multiple
exclusion groups, sub-wildcards inside the group) are intentionally
not handled.

Closes #29355.
B
Bartek Iwańczuk committed
3c12aa92cdfafef6f0aa2727a974907c2db5ede7
Parent: 8fd78d5
Committed by GitHub <noreply@github.com> on 5/30/2026, 7:08:47 AM