@lego/stylelint-config

LEGO shareable stylelint config for css and scss projects

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@lego/stylelint-config
6.1.22 years ago4 years agoMinified + gzip package size for @lego/stylelint-config in KB

Readme

@lego/stylelint-config

Prerequisites

  • Don't use @lego/stylelint-config as a globally installed module

Installation

  1. Install this config package:

$ npm install --save-dev @lego/stylelint-config

Usage

Full Configurations

This package includes the following complete and ready to use configurations:
  • @lego/stylelint-config - Base config
  • @lego/stylelint-config/src/configurations/css - Base config + css specific rules
  • @lego/stylelint-config/src/configurations/scss - Base config + scss specific rules

add any above configuration in your stylelint.config.js file
module.exports = {
  extends: '@lego/stylelint-config/src/configurations/scss.js',
  rules: {
    // your overrides or custom rules here
  },
};

or if you prefer the json formatted .stylelintrc file:
{
  "extends": "@lego/stylelint-config/src/configurations/scss.js",
  "rules": {
    // your overrides or custom rules here
  }
}

NOTE: Avoid extending multiple complete configs as it can cause unexpected results, if you need to do this you should consider a piecemeal config as explained below.

Piecemeal Configurations

Stylelint configuration is broken apart in the ./src/rules folder, containing Stylelint's rules and rules for specific Stylelint plugins.
f.ex: the full set of Stylelint rules (./src/rules/eslint) are broken into categories that mirror Stylelint's documentation.
|-- src
|   |-- configurations
|   |   |-- base.js
|   |   |-- css.js
|   |   |-- scss.js
|   |-- rules
|   |   |-- stylelint-declaration-block-no-ignored-properties.js
|   |   |-- stylelint-no-unsupported-browser-features.js
|   |   |-- stylelint-order.js
|   |   |-- stylelint-scss.js
|   |   |-- stylelint
|   |       |-- limit-language-features.js
|   |       |-- possible-errors.js
|   |       |-- stylistic-issues.js

Limitations

Due to an issue with Stylelint, config extension cannot be called from a globally installed (npm install -g stylelint) stylelint.

Included Plugins

stylelint-declaration-block-no-ignored-properties

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

stylelint-no-unsupported-browser-features

disallow features that aren't supported by your target browser audience
  • https://github.com/ismay/stylelint-no-unsupported-browser-features

stylelint-order

A plugin pack of order related linting rules for stylelint. Every rule support autofixing (stylelint --fix).
  • https://github.com/hudochenkov/stylelint-order