npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

eltexsoft-stylelint-config

v0.0.4

Published

Config for stylelint CSS

Downloads

2

Readme

eltexsoft-stylelint-config

NPM version Build status

The standard shareable config for stylelint.

Extends stylelint-config-standard.

Turns on additional rules to enforce the common stylistic conventions found within a handful of CSS styleguides, including: The Idiomatic CSS Principles, Google's CSS Style Guide, Airbnb's Styleguide, and @mdo's Code Guide.

It favours flexibility over strictness for things like multi-line lists and single-line rulesets, and tries to avoid potentially divisive rules.

Use it as is or as a foundation for your own config.

To see the rules that this config uses, please read the config itself.

Example

@import url(x.css);
@import url(y.css);

/**
 * Multi-line comment
 */

.selector-1,
.selector-2,
.selector-3[type="text"] {
    background: linear-gradient(#fff, rgba(0, 0, 0, 0.8));
    box-sizing: border-box;
    display: block;
    color: #333;
}

.selector-a,
.selector-b:not(:first-child) {
    padding: 10px !important;
    top: calc(calc(1em * 2) / 3);
}

.selector-x {
    width: 10%;
}

.selector-y {
    width: 20%;
}

.selector-z {
    width: 30%;
}

/* Single-line comment */

@media (min-width >= 60em) {
    .selector {
        /* Flush to parent comment */
        transform: translate(1, 1) scale(3);
    }
}

@media (orientation: portrait), projection and (color) {
    .selector-i + .selector-ii {
        background: color(rgb(0, 0, 0) lightness(50%));
        font-family: helvetica, "arial black", sans-serif;
    }
}

/* Flush single line comment */
@media screen and (min-resolution: 192dpi), screen and (min-resolution: 2dppx) {
    .selector {
        background-image:
            repeating-linear-gradient(
                -45deg,
                transparent,
                #fff 25px,
                rgba(255, 255, 255, 1) 50px
            );
        margin: 10px;
        margin-bottom: 5px;
        box-shadow:
            0 1px 1px #000,
            0 1px 0 #fff,
            2px 2px 1px 1px #ccc inset;
        height: 10rem;
    }

    /* Flush nested single line comment */
    .selector::after {
        content: '→';
        background-image: url(x.svg);
    }
}

Note: the config is tested against this example, as such the example contains plenty of CSS syntax, formatting and features.

Installation

npm install eltexsoft-stylelint-config --save-dev

or

yarn add eltexsoft-stylelint-config --dev

Usage

If you've installed eltexsoft-stylelint-config locally within your project, just set your stylelint config to:

{
    "extends": "eltexsoft-stylelint-config"
}

If you've globally installed eltexsoft-stylelint-config using the -g flag, then you'll need to use the absolute path to eltexsoft-stylelint-config in your config e.g.

{
    "extends": "/absolute/path/to/eltexsoft-stylelint-config"
}

Since stylelint 9.7.0, you can simply use the globally installed configuration name instead of the absolute path:

{
    "extends": "eltexsoft-stylelint-config"
}

Extending the config

Simply add a "rules" key to your config, then add your overrides and additions there.

For example, to change the at-rule-no-unknown rule to use its ignoreAtRules option, change the indentation to tabs, turn off the number-leading-zero rule,and add the unit-whitelist rule:

{
    "extends": "eltexsoft-stylelint-config",
    "rules": {
        "at-rule-no-unknown": [ true, {
            "ignoreAtRules": [
              "extends",
              "ignores"
            ]
        }],
        "number-leading-zero": null,
        "unit-whitelist": ["em", "rem", "s"]
    }
}

Changelog

License