Built-in filters
Passkey without a filter returns 193
modules, mostly Facebook’s business login screens. With --filter protocol it returns
12, which are the entire feature.
Check before you trust
Making your own
Built-in filters are read only. Copy one and edit the copy.How matching works
Four lists of regular expressions, checked in order. The first match wins.1
hardExclude
Dropped no matter what, even if the include list also matches. This exists for
file types handled better by other means, like
.pb schemas.2
include
Kept, overriding the exclude list.
WAWebSendMessageAction matches the generic
“ends in Action” exclusion, but it is exactly what you want, so the include list
rescues it.3
exclude
Dropped.
4
defaultVerdict
What happens to anything no list matched.
keep makes a deny list, which is what
default is. drop makes an allow list, which is what protocol is.excludeDependentsOfExcluded, anything that depends on a dropped module is also
dropped, following the chain as far as it goes. Modules matched by include are
exempt, since you asked for them explicitly.
Two more lists tune the comparison rather than the selection:
noiseDepslists dependencies whose coming and going says nothing, so they are left out of reported dependency changes.noiseCodelists patterns for compiler output, so a module whose entire change is build noise gets counted as noise instead of reported.
The
default filter’s rules come from ProtoCocktail’s wa-diff-analyzer, built up
by hand against real bundles over a long period. It encodes a lot of accumulated
knowledge about which module name means what.