A Tasty Treats Podcast for Web Developers.

Ask a Potluck Question โ†’
Wes Bos

Wes Bos

XL5G3 Full Stack JavaScript Developer. Creator of really good web development courses. BBQ enthusiast.

Scott Tolinski

Scott Tolinski

Web Developer, NX2V1, Creator of Level Up Tuts, Bboy, Robotops Crew and Youtuber

Playing: 371: Hasty Treat - Stylelint for Linting CSS

0:00

LOUDNESS

Jul 19th, 2021

Hasty Treat - Stylelint for Linting CSS

๐Ÿ‘‡ Download Showโœ๏ธ Edit Show Notes

In this Hasty Treat, Scott and Wes talk about Stylelint, what it is and why you should use it!

Sanity - Sponsor

Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get a Sanity powered site up and running in minutes at sanity.io/create. Get an awesome supercharged free developer plan on sanity.io/syntax.

Sentry - Sponsor

If you want to know whatโ€™s happening with your code, track errors and monitor performance with Sentry. Sentryโ€™s Application Monitoring platform helps developers see performance issues, fix errors faster, and optimize their code health. Cut your time on error resolution from hours to minutes. It works with any language and integrates with dozens of other services. Syntax listeners new to Sentry can get two months for free by visiting Sentry.io and using the coupon code TASTYTREAT during sign up.

Show Notes

03:15 - What is a linter anyway? Why do you want to lint your CSS?

  • Does stylelint fix errors or just tell you errors?

04:42 - Getting setup

  • .stylelintrc
  • stylelint extension
  • Sass
  • High perf animations
  • stylelint order
  • Max nesting depth
  • Declaration strict value
{
    "extends": [
        "stylelint-config-standard",
        "stylelint-config-sass-guidelines"
    ],
    "plugins": [
        "stylelint-high-performance-animation",
        "stylelint-declaration-strict-value",
        "stylelint-order"
    ],
    "rules": {
        "selector-no-qualifying-type": [
            true,
            {
                "ignore": [
                    "attribute"
                ]
            }
        ],
        "plugin/no-low-performance-animation-properties": [
            true,
            {
                "ignoreProperties": [
                    "color",
                    "background-color",
                    "box-shadow"
                ]
            }
        ],
        "indentation": "tab",
        "order/order": [
            "custom-properties",
            "declarations"
        ],
        "order/properties-alphabetical-order": null,
        "declaration-block-no-duplicate-custom-properties": true,
        "declaration-empty-line-before": null,
        "scale-unlimited/declaration-strict-value": [
            [
                "/color$/",
                "z-index",
                "font-size"
            ]
        ],
        "scss/dollar-variable-pattern": "^[a-z][a-zA-Z0-9]+$",
        "max-nesting-depth": 3,
        "selector-pseudo-class-no-unknown": null
    }
}

Tweet us your tasty treats!