module.exports = { // Extend recommended configs extends: [ "stylelint-config-standard", "stylelint-config-recommended-scss", "stylelint-config-recommended-vue/scss", "stylelint-config-html/vue", "stylelint-config-recess-order", ], // Parsers for different file types overrides: [ { files: ["**/*.{vue,html}"], customSyntax: "postcss-html", }, { files: ["**/*.{css,scss}"], customSyntax: "postcss-scss", }, ], // Custom rules rules: { "import-notation": "string", // CSS import notation: "string" | "url" "selector-class-pattern": null, // Selector class naming rule "custom-property-pattern": null, // Custom property naming rule "keyframes-name-pattern": null, // Keyframe naming rule "no-descending-specificity": null, // Allow non-descending specificity // Пустая строка `//` внутри блока комментария — абзацный разделитель, а не // забытый комментарий. Правило появилось в stylelint-config-recommended-scss // 17 и требует либо склеивать абзацы, либо разрывать блок пустой строкой; // и то и другое ухудшает читаемость объяснений, ради которых эти // комментарии написаны. "scss/comment-no-empty": null, // Allow global, export and deep pseudo classes "selector-pseudo-class-no-unknown": [ true, { ignorePseudoClasses: ["global", "export", "deep"], }, ], // Allow unknown properties "property-no-unknown": [ true, { ignoreProperties: ["menuBg", "menuText", "menuActiveText"], }, ], }, };