Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including icss-replace-symbols with all npm packages installed. Try it out:

var icssReplaceSymbols = require("icss-replace-symbols")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

icss-replace-symbols v1.1.0

Replacing symbols during the linking phase of ICSS

Build Status

ICSS — Replace Symbols

Governs the way tokens are searched & replaced during the linking stage of ICSS loading.

This is broken into its own module in case the behaviour needs to be replicated in other PostCSS plugins (i.e. CSS Modules Constants)


import replaceSymbols from "icss-replace-symbols"
replaceSymbols(css, translations)


  • css is the PostCSS tree you're working with
  • translations is an JS object of symbol: "replacement" pairs, where all occurrences of symbol are replaced with replacement.


A symbol is a string of alphanumeric, - or _ characters. A replacement can be any string. They are replaced in the following places:

  • In the value of a declaration, i.e. color: my_symbol; or box-shadow: 0 0 blur spread shadow-color
  • In a media expression i.e. @media small {} or @media screen and not-large {}



Glen Maddern, 2015.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free