69 lines
1.5 KiB
JavaScript
69 lines
1.5 KiB
JavaScript
// @ts-check
|
|
|
|
/** @type {import("stylelint").Config} */
|
|
export default {
|
|
extends: ["stylelint-config-standard", "stylelint-config-html/vue", "stylelint-config-recess-order"],
|
|
plugins: ["stylelint-scss", "stylelint-order", "stylelint-prettier"],
|
|
overrides: [
|
|
{
|
|
files: ["**/*.(css|html|vue)"],
|
|
customSyntax: "postcss-html"
|
|
},
|
|
{
|
|
files: ["*.scss", "**/*.scss"],
|
|
customSyntax: "postcss-scss",
|
|
extends: ["stylelint-config-standard-scss", "stylelint-config-recommended-vue/scss"]
|
|
}
|
|
],
|
|
rules: {
|
|
"prettier/prettier": true,
|
|
"selector-class-pattern": null,
|
|
"no-descending-specificity": null,
|
|
"scss/dollar-variable-pattern": null,
|
|
"selector-pseudo-class-no-unknown": [
|
|
true,
|
|
{
|
|
ignorePseudoClasses: ["deep", "global"]
|
|
}
|
|
],
|
|
"selector-pseudo-element-no-unknown": [
|
|
true,
|
|
{
|
|
ignorePseudoElements: ["v-deep", "v-global", "v-slotted"]
|
|
}
|
|
],
|
|
"at-rule-no-unknown": [
|
|
true,
|
|
{
|
|
ignoreAtRules: ["tailwind", "apply", "variants", "responsive", "screen", "function", "if", "each", "include", "mixin", "use"]
|
|
}
|
|
],
|
|
"rule-empty-line-before": [
|
|
"always",
|
|
{
|
|
ignore: ["after-comment", "first-nested"]
|
|
}
|
|
],
|
|
"unit-no-unknown": [true, { ignoreUnits: ["rpx"] }],
|
|
"order/order": [
|
|
[
|
|
"dollar-variables",
|
|
"custom-properties",
|
|
"at-rules",
|
|
"declarations",
|
|
{
|
|
type: "at-rule",
|
|
name: "supports"
|
|
},
|
|
{
|
|
type: "at-rule",
|
|
name: "media"
|
|
},
|
|
"rules"
|
|
],
|
|
{ severity: "warning" }
|
|
]
|
|
},
|
|
ignoreFiles: ["**/*.js", "**/*.ts", "**/*.jsx", "**/*.tsx", "report.html"]
|
|
};
|