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 @import:ed 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 looking into your property ordering
–zeroUnits - doesn’t complain if you add units to values of 0
The following options (and defaults) are available in the programatic api:
compile: false
compress: false
includePath: []
noIDs: true
noJSPrefix: true
noOverqualifying: true
noUnderscores: true
noUniversalSelectors: true
prefixWhitespace: true
strictPropertyOrder: true
stripColors: false
zeroUnits: 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')
recess('./js/fat.css', { compile: true }, function (err, obj) {
if (err) throw err
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.
RECESS
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
OPTIONS
@import:ed LESS files in..js-prefixed classnamesdiv#foo.bar)*selectorEXAMPLES
Lint all css files
Lint file, ignore styling of IDs
Lint file with compact output and no color
Compile and compress .less file, then output it to a new file
Watch a directory for changes and auto compile a css file from the changes. experimental
Watch a single file for changes and auto compile a css file from the changes. experimental
PROGRAMMATIC API
Recess provides a pretty simple programmatic api.
Once you’ve required recess, just pass it a
path(or array of paths) and an optionaloptionsobject and an optionalcallback:The following options (and defaults) are available in the programatic api:
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:
INSTALLATION
To install recess you need both node and npm installed.
AUTHORS
LICENSE
Copyright 2012-2013 Twitter, Inc.
Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0