pascalduez / stylelint-config-css-modules

CSS modules shareable config for stylelint
The Unlicense
112 stars 2 forks source link
css css-modules stylelint

stylelint-config-css-modules

npm version CI Status

CSS modules shareable config for stylelint.

Tweaks stylelint rules to accept css modules specific syntax.
This is useful as an override of pre-defined rules, for instance the stylelint-config-standard.

Installation

npm install stylelint-config-css-modules --save-dev
# or
pnpm install stylelint-config-css-modules --save-dev
# or
yarn add stylelint-config-css-modules --dev

stylelint-config-css-modules comes with stylelint-scss as optionalDependencies, if you're not using SCSS and want to strip it from your node_modules just:

npm install stylelint-config-css-modules --save-dev --no-optional
# or
pnpm install stylelint-config-css-modules --save-dev --no-optional
# or
yarn add stylelint-config-css-modules --dev --ignore-optional

Usage

{
  "extends": [
    "stylelint-config-standard",
    "stylelint-config-css-modules"
  ]
}

Examples

@value colors: './colors.css';
@value primary, secondary from colors;

.base {
  content: 'base';
  color: primary;
}

.composed {
  composes: base;
}

.composedWith {
  compose-with: base;
}

.flexible {
  composes: flex from './utils.css';
  flex-direction: column;
}

:global(.js) .progressive {
  display: block;
}

:export {
  black: #000;
  white: #111;
}

SCSS

Using SCSS along with configs such as stylelint-config-standard-scss means you should necessarily have stylelint-scss installed.

{
  "extends": [
    "stylelint-config-standard-scss",
    "stylelint-config-css-modules"
  ]
}

Credits

Licence

stylelint-config-css-modules is unlicensed.