css-dont-reassign
v0.9.0
Published
A linter to help stop you reassigning your CSS selectors
Downloads
1
Readme
css-dont-reassign
A linter to help stop you reassigning your CSS selectors
Motivation
This module has been heavily inspired by Immutable CSS and Functional Programming, CSS, and your sanity. Both ideas describe a style of writing CSS in which your (specified) classes should never be overwritten - go and read them though, as they describe it better than here!
Installation
$ npm i --save css-dont-reassign
Usage
var dontReassign = require('css-dont-reassign');
dontReassign(pathToCss /*, options */)
.then(function (result) {
console.log(result.toString());
});
dontReassign()
takes two arguments, pathToCss
should be a fully qualified path to a css file. options
is an optional argument, covered in detail below.
Options
classMatch (optional)
(string|regex)
This will allow you to specify a matching pattern for your selectors. E.g .util-
, will only match selectors prefixed with .util-
. This is described in the Enforcing Immutability section on CSS Wizadry.
Result
Result is an array of issues
, and has a toString
method.
Issue object
{
selector: String,
line: Object, // { line: Number, column: Number }
from: String
rule: Rule
}
selector
The selector that was defined or mutated.
line
An object containing the line and column of the selector definition.
from
The file path.
rule
The raw postcss class.