haiku-atelier-2024/stylelint.config.js

36 lines
1.4 KiB
JavaScript

// @ts-check
import { propertyGroups } from "stylelint-config-clean-order";
/** @type {Array<import("./lib/stylelint.js").StylelintConfigCleanOrderPropertyGroup>} */
const propertiesOrder = propertyGroups.map(properties => ({
emptyLineBefore: "never",
noEmptyLineBetween: true,
properties,
}));
/** @type {import("stylelint").Config} */
export default {
extends: ["stylelint-config-standard-scss", "stylelint-config-sass-guidelines", "stylelint-config-clean-order"],
plugins: ["stylelint-declaration-block-no-ignored-properties"],
rules: {
"@stylistic/selector-list-comma-newline-after": null,
"@stylistic/string-quotes": null,
"@stylistic/function-parentheses-space-inside": null,
"custom-property-pattern": null,
"declaration-block-no-duplicate-custom-properties": true,
"declaration-block-no-duplicate-properties": true,
"declaration-block-no-redundant-longhand-properties": true,
"declaration-block-no-shorthand-property-overrides": true,
"max-nesting-depth": null,
"no-descending-specificity": null,
"no-duplicate-selectors": [true, { disallowInList: false }],
"order/properties-order": [propertiesOrder, { severity: "error", unspecified: "bottomAlphabetical" }],
"plugin/declaration-block-no-ignored-properties": true,
"selector-class-pattern": null,
"selector-id-pattern": null,
"selector-max-id": null,
"selector-no-qualifying-type": null,
"selector-max-compound-selectors": null,
},
};