recess-imprt-css

2.0.0 • Public • Published

RECESS Build Status

Developed at Twitter to support our internal styleguide, RECESS is a simple, attractive code quality tool for CSS built on top of LESS.

Incorporate it into your development process as a linter, or integrate it directly into your build system as a compiler, RECESS will keep your source looking clean and super manageable.

GENERAL USE

$ recess [path] [options]

OPTIONS

  • --compile: compiles your code and outputs it to the terminal. Fixes white space and sort order. Can compile css or less.
  • --compress: compress your compiled code.
  • --config: accepts a path, which specifies a json config object
  • --format - control the output format of errors:
    • --format text - the default format, shows errors and context
    • --format compact - show errors one-error-per-line, useful for IDE integration
  • --noSummary: don't output the summary block for each file
  • --includePath: accepts an additional directory path to look for @imported LESS files in.
  • --stripColors: removes color from output (useful when logging)
  • --watch: watch filesystem for changes, useful when compiling Less projects
  • --noIDs: doesn't complain about using IDs in your stylesheets
  • --noJSPrefix: doesn't complain about styling .js- prefixed classnames
  • --noOverqualifying: doesn't complain about overqualified selectors (ie: div#foo.bar)
  • --noUnderscores: doesn't complain about using underscores in your class names
  • --noUniversalSelectors: doesn't complain about using the universal * selector
  • --prefixWhitespace: adds whitespace prefix to line up vender prefixed properties
  • --strictPropertyOrder: doesn't look into your property ordering
  • --zeroUnits: doesn't complain if you add units to values of 0

EXAMPLES

Lint all css files

$ recess *.css

Lint file, ignore styling of IDs

$ recess ./bootstrap.css --noIds false

Lint file with compact output and no color

$ recess ./bootstrap.css --format compact --stripColors

Compile and compress .less file, then output it to a new file

$ recess ./bootstrap.less --compress > ./bootstrap-production.css

Watch a directory for changes and auto compile a css file from the changes. experimental

$ recess input.less:ouput.css --watch watch/this/dir/for/changes

Watch a single file for changes and auto compile a css file from the changes. experimental

$ recess input.less:ouput.css --watch

PROGRAMMATIC API

Recess provides a pretty simple programmatic API.

var recess = require('recess')

Once you've required recess, just pass it a path (or array of paths) and an optional options object and an optional callback:

recess(['../fat.css', '../twitter.css'], { compile: true }, callback)

The following options (and defaults) are available in the programatic API:

  • compile: default = false
  • compress: default = false
  • includePath: default = []
  • noIDs: default = true
  • noJSPrefix: default = true
  • noOverqualifying: default = true
  • noUnderscores: default = true
  • noUniversalSelectors: default = true
  • prefixWhitespace: default = true
  • strictPropertyOrder: default = true
  • stripColors: default = false
  • zeroUnits: default = true

The callback is fired when each instance has finished processessing an input. The callback is passed an array of of instances (one for each path). The instances have a bunch of useful things on them like the raw data and an array of output strings.

When compiling, access the compiled source through the output property:

var recess = require('recess')
 
var options = { compile: true };
 
recess('./js/fat.css', options, function (err, instances) {
  if (err) {
    throw err;
  }
 
  instances.forEach(function(obj) {
    console.log(
      obj,        // recess instance for fat.css
      obj.output, // array of loggable content
      obj.errors, // array of failed lint rules
    );
  });
});

INSTALLATION

To install recess you need both node and npm installed.

$ npm install recess -g

AUTHORS

LICENSE

Copyright 2012-2013 Twitter, Inc.

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

Readme

Keywords

Package Sidebar

Install

npm i recess-imprt-css

Weekly Downloads

1

Version

2.0.0

License

none

Last publish

Collaborators

  • drawyan