Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add selector-pseudo-class-allowed-list @page support #8176

Merged
merged 5 commits into from
Dec 9, 2024

Conversation

Mouvedia
Copy link
Member

@Mouvedia Mouvedia commented Dec 7, 2024

Which issue, if any, is this issue related to?

Closes #1871

Is there anything in the PR that needs further explanation?

I am having a hard time getting consistent results out of the benchmark-rule script.
i.e. walkRules/WalkAtRules vs walk/switch

Copy link

changeset-bot bot commented Dec 7, 2024

🦋 Changeset detected

Latest commit: 17c3e4e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
stylelint Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@Mouvedia Mouvedia requested a review from romainmenke December 7, 2024 04:39
Copy link
Member

@romainmenke romainmenke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @Mouvedia

I've left some questions and a suggestion, please take a look when you have time.

Copy link
Member

@romainmenke romainmenke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for applying the feedback @Mouvedia
I've left two suggestions to improve code coverage.

});

root.walkAtRules('page', (atRuleNode) => {
if (!isStandardSyntaxAtRule(atRuleNode)) return;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add a test with a non-standard at rule?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that codecov is being overzealous with these warnings.
i.e. it would be akin to adding cases to isStandardSyntaxAtRule.test.mjs directly

If you have a relevant test to add to /selector-pseudo-class-allowed-list/__tests__/index.mjs please provide it.


To be clear I think that new tests could probably be added to isStandardSyntaxAtRule.test.mjs but I won't add them in this PR.
e.g. margin at-rules

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it could be fine to add a single test with non standard syntax.
Not to test the utility itself, but to encode that this rule doesn't support non-standard syntax in at rules.

But I don't think this is blocking :)

Copy link
Member

@romainmenke romainmenke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you. LGTM 👍

Copy link
Member

@jeddy3 jeddy3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks.

@Mouvedia Mouvedia merged commit 2f5fb29 into stylelint:main Dec 9, 2024
16 of 17 checks passed
@Mouvedia Mouvedia deleted the spcal-at-page branch December 9, 2024 20:51
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Dec 16, 2024
| datasource | package   | from    | to      |
| ---------- | --------- | ------- | ------- |
| npm        | stylelint | 16.11.0 | 16.12.0 |


## [v16.12.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16120)

-   Added: `selector-pseudo-class-allowed-list` now checks `@page` pseudo-classes ([#8176](stylelint/stylelint#8176)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Added: `selector-pseudo-class-disallowed-list` now checks `@page` pseudo-classes ([#8171](stylelint/stylelint#8171)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `at-rule-property-required-list` message to use "descriptor" for accuracy ([#8186](stylelint/stylelint#8186)) ([@ybiquitous](https://github.com/ybiquitous)).
-   Fixed: `custom-property-no-missing-var-function` false positives for `container-name` ([#8157](stylelint/stylelint#8157)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `custom-property-no-missing-var-function` false positives for custom properties passed to `running()` ([#8172](stylelint/stylelint#8172)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `function-no-unknown` false positives for `running()` ([#8172](stylelint/stylelint#8172)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for `:open` ([#8184](stylelint/stylelint#8184)) ([@lukewarlow](https://github.com/lukewarlow)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for `:recto`, `:verso` and `:nth()` ([#8170](stylelint/stylelint#8170)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for some `moz-*` vendor-prefixed pseudo-classes ([#8188](stylelint/stylelint#8188)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-element-no-unknown` false positives for `::details-content` ([#8174](stylelint/stylelint#8174)) ([@lukewarlow](https://github.com/lukewarlow)).
-   Fixed: `selector-type-no-unknown` false positives for idents in functional pseudo-classes ([#8191](stylelint/stylelint#8191)) ([@elskhn](https://github.com/elskhn)).
-   Fixed: `value-keyword-case` false negatives ([#8158](stylelint/stylelint#8158)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `value-keyword-case` false positives for vendor-prefixed system colors ([#8146](stylelint/stylelint#8146)) ([@Mouvedia](https://github.com/Mouvedia)).
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Dec 16, 2024
| datasource | package   | from    | to      |
| ---------- | --------- | ------- | ------- |
| npm        | stylelint | 16.11.0 | 16.12.0 |


## [v16.12.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16120)

-   Added: `selector-pseudo-class-allowed-list` now checks `@page` pseudo-classes ([#8176](stylelint/stylelint#8176)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Added: `selector-pseudo-class-disallowed-list` now checks `@page` pseudo-classes ([#8171](stylelint/stylelint#8171)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `at-rule-property-required-list` message to use "descriptor" for accuracy ([#8186](stylelint/stylelint#8186)) ([@ybiquitous](https://github.com/ybiquitous)).
-   Fixed: `custom-property-no-missing-var-function` false positives for `container-name` ([#8157](stylelint/stylelint#8157)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `custom-property-no-missing-var-function` false positives for custom properties passed to `running()` ([#8172](stylelint/stylelint#8172)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `function-no-unknown` false positives for `running()` ([#8172](stylelint/stylelint#8172)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for `:open` ([#8184](stylelint/stylelint#8184)) ([@lukewarlow](https://github.com/lukewarlow)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for `:recto`, `:verso` and `:nth()` ([#8170](stylelint/stylelint#8170)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for some `moz-*` vendor-prefixed pseudo-classes ([#8188](stylelint/stylelint#8188)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-element-no-unknown` false positives for `::details-content` ([#8174](stylelint/stylelint#8174)) ([@lukewarlow](https://github.com/lukewarlow)).
-   Fixed: `selector-type-no-unknown` false positives for idents in functional pseudo-classes ([#8191](stylelint/stylelint#8191)) ([@elskhn](https://github.com/elskhn)).
-   Fixed: `value-keyword-case` false negatives ([#8158](stylelint/stylelint#8158)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `value-keyword-case` false positives for vendor-prefixed system colors ([#8146](stylelint/stylelint#8146)) ([@Mouvedia](https://github.com/Mouvedia)).
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Dec 16, 2024
| datasource | package   | from    | to      |
| ---------- | --------- | ------- | ------- |
| npm        | stylelint | 16.11.0 | 16.12.0 |


## [v16.12.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16120)

-   Added: `selector-pseudo-class-allowed-list` now checks `@page` pseudo-classes ([#8176](stylelint/stylelint#8176)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Added: `selector-pseudo-class-disallowed-list` now checks `@page` pseudo-classes ([#8171](stylelint/stylelint#8171)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `at-rule-property-required-list` message to use "descriptor" for accuracy ([#8186](stylelint/stylelint#8186)) ([@ybiquitous](https://github.com/ybiquitous)).
-   Fixed: `custom-property-no-missing-var-function` false positives for `container-name` ([#8157](stylelint/stylelint#8157)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `custom-property-no-missing-var-function` false positives for custom properties passed to `running()` ([#8172](stylelint/stylelint#8172)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `function-no-unknown` false positives for `running()` ([#8172](stylelint/stylelint#8172)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for `:open` ([#8184](stylelint/stylelint#8184)) ([@lukewarlow](https://github.com/lukewarlow)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for `:recto`, `:verso` and `:nth()` ([#8170](stylelint/stylelint#8170)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for some `moz-*` vendor-prefixed pseudo-classes ([#8188](stylelint/stylelint#8188)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-element-no-unknown` false positives for `::details-content` ([#8174](stylelint/stylelint#8174)) ([@lukewarlow](https://github.com/lukewarlow)).
-   Fixed: `selector-type-no-unknown` false positives for idents in functional pseudo-classes ([#8191](stylelint/stylelint#8191)) ([@elskhn](https://github.com/elskhn)).
-   Fixed: `value-keyword-case` false negatives ([#8158](stylelint/stylelint#8158)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `value-keyword-case` false positives for vendor-prefixed system colors ([#8146](stylelint/stylelint#8146)) ([@Mouvedia](https://github.com/Mouvedia)).
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Dec 16, 2024
| datasource | package   | from    | to      |
| ---------- | --------- | ------- | ------- |
| npm        | stylelint | 16.11.0 | 16.12.0 |


## [v16.12.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16120)

-   Added: `selector-pseudo-class-allowed-list` now checks `@page` pseudo-classes ([#8176](stylelint/stylelint#8176)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Added: `selector-pseudo-class-disallowed-list` now checks `@page` pseudo-classes ([#8171](stylelint/stylelint#8171)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `at-rule-property-required-list` message to use "descriptor" for accuracy ([#8186](stylelint/stylelint#8186)) ([@ybiquitous](https://github.com/ybiquitous)).
-   Fixed: `custom-property-no-missing-var-function` false positives for `container-name` ([#8157](stylelint/stylelint#8157)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `custom-property-no-missing-var-function` false positives for custom properties passed to `running()` ([#8172](stylelint/stylelint#8172)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `function-no-unknown` false positives for `running()` ([#8172](stylelint/stylelint#8172)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for `:open` ([#8184](stylelint/stylelint#8184)) ([@lukewarlow](https://github.com/lukewarlow)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for `:recto`, `:verso` and `:nth()` ([#8170](stylelint/stylelint#8170)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for some `moz-*` vendor-prefixed pseudo-classes ([#8188](stylelint/stylelint#8188)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-element-no-unknown` false positives for `::details-content` ([#8174](stylelint/stylelint#8174)) ([@lukewarlow](https://github.com/lukewarlow)).
-   Fixed: `selector-type-no-unknown` false positives for idents in functional pseudo-classes ([#8191](stylelint/stylelint#8191)) ([@elskhn](https://github.com/elskhn)).
-   Fixed: `value-keyword-case` false negatives ([#8158](stylelint/stylelint#8158)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `value-keyword-case` false positives for vendor-prefixed system colors ([#8146](stylelint/stylelint#8146)) ([@Mouvedia](https://github.com/Mouvedia)).
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Dec 16, 2024
| datasource | package   | from    | to      |
| ---------- | --------- | ------- | ------- |
| npm        | stylelint | 16.11.0 | 16.12.0 |


## [v16.12.0](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#16120)

-   Added: `selector-pseudo-class-allowed-list` now checks `@page` pseudo-classes ([#8176](stylelint/stylelint#8176)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Added: `selector-pseudo-class-disallowed-list` now checks `@page` pseudo-classes ([#8171](stylelint/stylelint#8171)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `at-rule-property-required-list` message to use "descriptor" for accuracy ([#8186](stylelint/stylelint#8186)) ([@ybiquitous](https://github.com/ybiquitous)).
-   Fixed: `custom-property-no-missing-var-function` false positives for `container-name` ([#8157](stylelint/stylelint#8157)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `custom-property-no-missing-var-function` false positives for custom properties passed to `running()` ([#8172](stylelint/stylelint#8172)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `function-no-unknown` false positives for `running()` ([#8172](stylelint/stylelint#8172)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for `:open` ([#8184](stylelint/stylelint#8184)) ([@lukewarlow](https://github.com/lukewarlow)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for `:recto`, `:verso` and `:nth()` ([#8170](stylelint/stylelint#8170)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-class-no-unknown` false positives for some `moz-*` vendor-prefixed pseudo-classes ([#8188](stylelint/stylelint#8188)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `selector-pseudo-element-no-unknown` false positives for `::details-content` ([#8174](stylelint/stylelint#8174)) ([@lukewarlow](https://github.com/lukewarlow)).
-   Fixed: `selector-type-no-unknown` false positives for idents in functional pseudo-classes ([#8191](stylelint/stylelint#8191)) ([@elskhn](https://github.com/elskhn)).
-   Fixed: `value-keyword-case` false negatives ([#8158](stylelint/stylelint#8158)) ([@Mouvedia](https://github.com/Mouvedia)).
-   Fixed: `value-keyword-case` false positives for vendor-prefixed system colors ([#8146](stylelint/stylelint#8146)) ([@Mouvedia](https://github.com/Mouvedia)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Apply selector-pseudo-class-*-list rules to at-page
3 participants