relay
relay copied to clipboard
feat(releases): Add negated prefix to glob matching
Customers want to allowlist certain package names for their release. For example: foo@*. But this is a filter so actually what happens is this deny lists the package name foo. To allow customers to allow list a package name we need to introduce negated prefix literals. The chosen syntax is (!foo*)*. Where ( ) represents a group. And ! negates the group. The parentheses wrapping was chosen because it mirrors the behavior of character classes with its negated prefix. It also simplifies implementation so negation always works on a literal and is not a generalized operator that can work on any expression.