Skip to content

Latest commit

 

History

History
318 lines (217 loc) · 9.91 KB

README.md

File metadata and controls

318 lines (217 loc) · 9.91 KB

Stylelint Config Extended SCSS

NPM Version NPM Downloads ESM Provenance CodeQL Specs Commitlint Editorconfig Prettier ESLint Remark

Table of Contents

Installation

bun i -D @archoleat/stylelint-config-extended-scss stylelint-define-config

Usage

Add the following code to the stylelint.config.ts or stylelint.config.js file:

import { defineConfig } from 'stylelint-define-config';

export default defineConfig({
  extends: '@archoleat/stylelint-config-extended-scss',
});

Add the Space Between Logical Groups

If you want to add spaces between logical groups, add this rule to your Stylelint config:

import { defineConfig } from 'stylelint-define-config';

export default defineConfig({
  extends: '@archoleat/stylelint-config-extended-scss',
  rules: {
    'declaration-empty-line-before': null,
  },
});

Before

.popup {
  opacity: 0;
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

After

.popup {
  opacity: 0;

  position: fixed;
  inset: 0;
  z-index: 1;

  pointer-events: none;
}

This Config

Extends

Plugins

  • stylelint-declaration-block-no-ignored-properties: Disallow property values that are ignored due to another property value in the same rule.

  • stylelint-gamut: Throw warning if color goes out of sRGB color space and is not wrapped in @media (color-gamut: p3) {} or @media (color-gamut: rec2020) {}

  • stylelint-group-selectors: Identify the selectors, which can be grouped, as they have same set of properties and values.

  • stylelint-high-performance-animation: Enhances your animations.

  • stylelint-order: Sorts over 400 properties for enhanced clarity and maintainability.

    Properties are logically grouped and separated by a space. A space between groups will only appear if the group has 3 or more properties.

  • stylelint-plugin-defensive-css: Enforcing defensive CSS best practices.

  • stylelint-plugin-logical-css: Replace properties with logical alternatives.

  • stylelint-rem-over-px: Enforce the usage of rem units over px units.

    Declaring the rule with default values is equivalent to:

      "rem-over-px/rem-over-px": [
        true,
        {
          "ignore": "1px",
          "ignoreFunctions": ["url"],
          "ignoreAtRules": ["media"],
          "fontSize": 16
        }
      ],

Rules

This is a list of the lints turned on in this configuration, and what they do.

CSS

At-rule
Case
Color
Declaration
Descending
Function
Max & Min
Notation
Pattern
Selector
Unknown

SCSS

SCSS At-rule
Comment
SCSS Declaration
Dollar Variable
SCSS Function
Import
Maps
Media
SCSS Selector
SCSS Unknown

Contributing

Please read CONTRIBUTING to start contributing.

License

This project is licensed under the MIT license.