40 lines
1.8 KiB
JavaScript
Executable file
40 lines
1.8 KiB
JavaScript
Executable file
// @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<StylelintConfigCleanOrderPropertyGroup>} */
|
|
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,
|
|
},
|
|
};
|