PostCSS plugin for css modules to local-scope classes and ids
JavaScript
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
test
.gitignore
.travis.yml
LICENSE
README.md
package.json
yarn.lock

README.md

postcss-icss-selectors Build Status

PostCSS plugin for css modules to local-scope classes and ids

Usage

postcss([ require('postcss-icss-selectors')(options) ])

See PostCSS docs for examples for your environment.

Options

mode

local by default or global

In local mode

.foo { ... } /* => */ .file__foo---h63h { ... }

.foo .bar { ... } /* => */ .file__foo----h63h .file__bar----h63h { ... }

/* Shorthand global selector */

:global .foo .bar { ... } /* => */ .foo .bar { ... }

.foo :global .bar { ... } /* => */ .file__foo----h63h .bar { ... }

/* Targeted global selector */

:global(.foo) .bar { ... } /* => */ .foo .file__bar----h63h { ... }

.foo:global(.bar) { ... } /* => */ .file__foo----h63h.bar { ... }

.foo :global(.bar) .baz { ... } /* => */ .file__foo----h63h .bar .file__baz----h63h { ... }

.foo:global(.bar) .baz { ... } /* => */ .file__foo----h63h.bar .file__baz----h63h { ... }

In global mode

.foo { ... } /* => */ .foo { ... }

.foo .bar { ... } /* => */ .foo .bar { ... }

/* Shorthand local selector */

:local .foo :global .bar { ... } /* => */ .file__foo----h63h .bar { ... }

.foo :local .bar { ... } /* => */ .foo .file__foo----h63h { ... }

/* Targeted local selector */

:local(.foo) .bar { ... } /* => */ .file__foo----h63h .bar { ... }

.foo:local(.bar) { ... } /* => */ .foo.file__bar----h63h { ... }

generateScopeName(localName, filepath, css)

Converts every new local name in #id or .class defintion to global alias. By default returns [name]__[local]---[hash:base64:5].

Messages

postcss-icss-selectors passes result.messages for each local-scoped class or id

{
  plugin: 'postcss-icss-selectors',
  type: 'icss-scoped',
  name: string, // local-scoped identifier
  value: string // generated global identifier
}

License

MIT © Mark Dalgleish and Bogdan Chadkin, 2015