prlint
prlint copied to clipboard
Expose comparison operators
Regular expressions are okay, but sometimes they don't cut it. For example:
"additions": [
{
"pattern": "0|^[1-9]$|^[1-9]\\d$",
"message": "Your PR is too big (over 99 additions)"
}
]
Would be better written as:
"additions": [
{
"less-than": 99,
"message": "Your PR is too big (over 99 additions)"
}
]
Another option would be to create a custom DSL to safely evaluate comparison operators. For example:
-
"comparison": "$0 < 99" -
"comparison": "$0 == 'sample string'" -
"comparison": "$0 > 10 && $0 < 99" -
"comparison": "'wip' != $0"
https://github.com/joewalnes/filtrex looks like a perfect fit
https://jsonnet.org/ might be appropriate too