// @ts-expect-error -- La dépendance ne dispose pas de types. import { propertyGroups } from "stylelint-config-clean-order"; /** @type {string[][]} */ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument -- Impossible de typer correctement avec JSDoc. const groupesProprietes = Array.from(/** @type {GroupeProprietes} */ propertyGroups); /** @import { StylelintConfigCleanOrderPropertyGroup } from "./lib/stylelint" */ /** @type {Array} */ const ordreProprietes = groupesProprietes.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/function-parentheses-space-inside": null, "@stylistic/selector-list-comma-newline-after": null, "@stylistic/string-quotes": 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": [ordreProprietes, { severity: "error", unspecified: "bottomAlphabetical" }], "plugin/declaration-block-no-ignored-properties": true, "selector-class-pattern": null, "selector-id-pattern": null, "selector-max-compound-selectors": null, "selector-max-id": null, "selector-no-qualifying-type": null, }, };