mirror of
https://github.com/discourse/discourse.git
synced 2026-08-04 10:39:43 +08:00
Upcoming changes with `body_class: true` add a `uc-*` class to `<body>`. This class is temporary, so we do not want core/theme/plugin CSS to become dependent on it. Therefore we must not allow it to contribute specificity to selectors. This commit adds a `discourse/uc-classes-in-where` which reports any misuse of `.uc-*` classes, fixes up some existing cases, and documents the pattern in the upcoming-changes skill.
33 lines
945 B
JavaScript
Vendored
33 lines
945 B
JavaScript
Vendored
import noCoreVariables from "./stylelint-rules/no-core-variables.mjs";
|
|
import requireDesignTokens from "./stylelint-rules/require-design-tokens.mjs";
|
|
import ucClassesInWhere from "./stylelint-rules/uc-classes-in-where.mjs";
|
|
|
|
export default {
|
|
extends: ["@discourse/lint-configs/stylelint"],
|
|
plugins: [noCoreVariables, requireDesignTokens, ucClassesInWhere],
|
|
rules: {
|
|
"media-feature-range-notation": "context",
|
|
"discourse/uc-classes-in-where": true,
|
|
},
|
|
overrides: [
|
|
{
|
|
files: [
|
|
"**/sidebar.scss",
|
|
"**/sidebar-*.scss",
|
|
"**/*-sidebar.scss",
|
|
"**/*-sidebar-*.scss",
|
|
],
|
|
rules: {
|
|
"discourse/no-core-color-variables": true,
|
|
"discourse/require-design-tokens": true,
|
|
},
|
|
},
|
|
{
|
|
files: ["themes/horizon/scss/**"],
|
|
rules: {
|
|
"discourse/no-core-color-variables": null,
|
|
"discourse/require-design-tokens": null,
|
|
},
|
|
},
|
|
],
|
|
};
|