Skip to content

jednano/postcss-nested-props

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5203a10 · Nov 2, 2017

History

62 Commits
Nov 2, 2017
Feb 22, 2017
Feb 22, 2017
Mar 18, 2017
Feb 24, 2017
Nov 2, 2017
Jul 10, 2015
Nov 2, 2017
Nov 2, 2017
Feb 23, 2017
Feb 22, 2017

Repository files navigation

postcss-nested-props

NPM version npm license Travis Build Status codecov Dependency Status

npm

PostCSS plugin to unwrap nested properties.

Nested Properties

CSS has quite a few properties that are in “namespaces;” for instance, font-family, font-size, and font-weight are all in the font namespace. In CSS, if you want to set a bunch of properties in the same namespace, you have to type it out each time. This plugin provides a shortcut: just write the namespace once, then nest each of the sub-properties within it. For example:

.funky {
  font: {
    family: fantasy;
    size: 30em;
    weight: bold;
  }
}

is compiled to:

.funky {
  font-family: fantasy;
  font-size: 30em;
  font-weight: bold;
}

The property namespace itself can also have a value. For example:

.funky {
  font: 20px/24px fantasy {
    weight: bold;
  }
}

is compiled to:

.funky {
  font: 20px/24px fantasy;
  font-weight: bold;
}

For nested rules, use the postcss-nested plugin, but make sure to run it after this one.

Installation

$ npm install postcss-nested-props

Usage

JavaScript

postcss([ require('postcss-nested-props') ]);

TypeScript

import * as postcssNestedProps from 'postcss-nested-props';

postcss([ postcssNestedProps ]);

Options

None at this time.

Testing

Run the following command:

$ npm test

This will build scripts, run tests and generate a code coverage report. Anything less than 100% coverage will throw an error.

Watching

For much faster development cycles, run the following commands in 2 separate processes:

$ npm run build:watch

Compiles TypeScript source into the ./dist folder and watches for changes.

$ npm run watch

Runs the tests in the ./dist folder and watches for changes.