feat(unstable): support selectors in JS lint plugins (#27452)

This PR adds support for using selectors in the JS linting plugin API.
Supported at the moment are:

- `Foo Bar` (descendant)
- `Foo > Bar` (child combinator)
- `Foo + Foo` (next sibling)
- `Foo ~ Foo` (subsequent sibling)
- `[attr]`, `[attr=value]` (attribute selectors, supported operators:
`=`, `!=`, `<`, `>`, `<=`, `>=`)
- `:first-child`
- `:last-child`
- `:nth-child(2)`, `:nth-child(2n + 1)`
This commit is contained in:
Marvin Hagemeister 2024-12-23 08:45:47 +01:00 committed by David Sherret
parent 0eb7f11a84
commit 9bea68b51a
10 changed files with 2272 additions and 54 deletions

1014
cli/js/40_lint_selector.js Normal file

File diff suppressed because it is too large Load diff