AGLint
AGLint copied to clipboard
Universal adblock filter list linter
Not every ad blocker is capable of parsing them properly so having such a rule makes sense as this way the filter list will be compatible with any ad blocker.
Once we finish with the declarative converter, it makes sense to add a new linter rule that checks if a rule is compatible with different MV3 implementations (Safari is a...
I suggest adding support for linting DNS filtering rules as well: https://adguard-dns.io/kb/general/dns-filtering-syntax/ We'll need to differentiate DNS lists from traditional lists and it seems that the "user agent" string can...
Currently we only have a very simple config file generator. In the future, we need to create a proper config creator wizard that will get the user's needs and the...
https://github.com/AdguardTeam/AGLint/issues/13#issuecomment-1685891080 Workflow: if the parsed rule node category is network rule and no modifiers specified at all, and the rule pattern only contains letters/digits, then the rule should be reported
[#13 comment 1589006534](https://github.com/AdguardTeam/AGLint/issues/13#issuecomment-1589006534) [#13 comment 1631258759](https://github.com/AdguardTeam/AGLint/issues/13#issuecomment-1631258759) We should check https://github.com/tjenkinson/redos-detector Keep in mind that regexps can occur in several places, e.g. as network rule patterns, modifier values, scriptlet parameters
Declaration block of CSS injection rules should be checked against unsafe resource loadings https://github.com/AdguardTeam/AGLint/issues/13#issuecomment-1589184815 AGTree utility `getForbiddenFunctionNodes()` can be used
Example: https://github.com/csstree/csstree#top-level-api Related: https://github.com/AdguardTeam/AGLint/issues/43
@ameshkov I think it makes sense to move the descriptions of the linter rules from the README to the docs folder, as separate files. So the link would be https://github.com/AdguardTeam/AGLint/blob/master/docs/rules/adg-scriptlet-quotes.md...
Currently the test coverage is insufficient at certain points (50%, 70% etc), although the parser has been functionally tested in detail. We should extend the unit tests to achieve at...