node package manager


Automated CSS Transformations


Automated css transformations.


npm install csstransform --save-dev

Example Usage

csstransform can be used to transform existing css and transform for example it's selectors.

var css = __dirname + '/input/bootstrap.css';
var target = __dirname + '/output/bootstrap-match-string.css';
var csstransform = require('../index');
var csst = csstransform(css);
    prepend: '.bootstrap-admin',
    match: ".modal"

How it works

csstransform uses cssom (a full fledged css parser) to parse the css into an internal css dom. When calling toString(target), the css is formatted with cssbeautify.


Creates a new CSST Object and parses the css file into a cssom Object.

Parameters css: String, css Path to the css file to read

Returns Object, the new created CCST Object that holds the parsed css dom for further transformations.

Transforms the css selectors. transformSelectorText is chainable. Therefore several Transformation can take place.

Parameters op: Object, {[match,] [exclude,] [append,] [prepend,] [replace]}

Returns Object, this CSST object for function chanining.

op Object

    prepend: String,
    append: String,
    replace: [String, String],
    match: String or Regex,
    exclude: String or Regex

op Object Description

prepend will prepend the given string to the selector.

append will append the given string to the selector.

replace is an Array where the first element is the String that should be replaced and the second element is the String that will be used as replacement.

If match is missing, it matches every selector. If match is provided with a String value, it will be used as contains(). If match is a Regex, it will directly be used in the .match(regex) function.

Opposite of match. The found selectors will be excluded from the transfomration.

writes the the formatted css to the target file.

Parameters target: String, Path to the target file.

Returns String, The formatted css.


Run tests with mocha: