CSSHint
CSSHint is a code review tool based on NodeJS. The current rules are based on ecomfe CSS STYLE SPEC. It also covers CSSLint rules.
After a period of code refactoring, we finally came to this version, in which CSS
parser is replaced with postcss.
In addition, we changed the way of implementation which was also able to improve the performance by a large margin. Meanwhile, the following global
object has three attributes as follows:
global.CSSHINT_INVALID_ALL_COUNT
: it is used to count the number ofwarn
to servemax-error
.global.CSSHINT_HEXCOLOR_CASE_FLAG
: it is used to record project's color value, whether the letters are small or capital.0
is for small and1
is for capital. This attribute is to serveunifying-color-case-sensitive
.global.CSSHINT_FONTFAMILY_CASE_FLAG
: it is used to record whetherfont-family
is small or capital to serveunifying-font-family-case-sensitive
.
Install & Update
CSSHint has been released on npm. It can be installed following the instructions.
$ [sudo] npm install csshint [-g]
Follow the following instruction if you are to update your CSSHint.
$ [sudo] npm update csshint [-g]
Usage
-
in CLI
$ csshint -v // show version $ csshint [filePath|dirPath] // run csshint on file or dir
-
in Node.js
/** * detect css file content * * @param {string} fileContent file content * @param {Object=} config config of rule, optional * * @return {Promise} Promise Object * reject and resolve arguments: * { * path: {string} file path * messages: {Array.<Object>} warning messages, [{ruleName, line, col, errorChar, message, colorMessage}] * } */ exports.checkString(fileContent, config); /** * detect file * * @param {Object} file the object has path and content key * @param {Array} errors warning messages * @param {Function} done detect callback */ check(file, errors, done);
TODO
- Complete coverage csslint rule。
- support
/* csshint-disable ruleName */
and/* csshint-enable ruleName1 */
.