module.exports = {
    extends: [
        'stylelint-config-standard',
        'stylelint-config-recess-order',
        'stylelint-config-css-modules',
    ],
    plugins: ['stylelint-scss'],
    ignoreFiles: ['./node_modules/**/*.css'],
    rules: {
        'at-rule-no-unknown': [
            true,
            {
                ignoreAtRules: [
                    // --------
                    // Tailwind
                    // --------
                    'tailwind',
                    'apply',
                    'variants',
                    'responsive',
                    'screen',
                ],
            },
        ],
        'no-duplicate-selectors': null,
        'no-empty-source': null,
        'selector-pseudo-element-no-unknown': null,
        'declaration-block-trailing-semicolon': null,
        'no-descending-specificity': null,
        'string-no-newline': null,
        // Use camelCase for classes and ids only. Works better with CSS modules
        // 'selector-class-pattern': /^[a-z][a-zA-Z]*(-(enter|leave)(-(active|to))?)?$/,
        // 'selector-id-pattern': /^[a-z][a-zA-Z]*$/,
        // Limit the number of universal selectors in a selector,
        // to avoid very slow selectors
        'selector-max-universal': 1,
        // --------
        // SCSS rules
        // --------
        'scss/dollar-variable-colon-space-before': 'never',
        'scss/dollar-variable-colon-space-after': 'always',
        'scss/dollar-variable-no-missing-interpolation': true,
        'scss/dollar-variable-pattern': /^[a-z-]+$/,
        'scss/double-slash-comment-whitespace-inside': 'always',
        'scss/operator-no-newline-before': true,
        'scss/operator-no-unspaced': true,
        'scss/selector-no-redundant-nesting-selector': true,
        // Allow SCSS and CSS module keywords beginning with `@`
        'scss/at-rule-no-unknown': null,
    },
}
