npmのCSS Lintを使うようにしようかなと思って入れたけどCLIがなんかうまく動かない。動くようにちゃんと直すにも色々よくわからないので、CSSファイルを受け取ってチェックするだけのオレオレCLIを書いて使うことにした。
#!/usr/bin/env node
var fs = require('fs');
var cl = require('csslint');
var cssfile = process.argv.slice(2)[0];
var results = cl.CSSLint.verify(fs.readFileSync(cssfile, 'UTF-8'));
for (i = 0, l = results.messages.length; i < l; i++) {
var m = results.messages[i];
if (!m.rollup) {
console.log([cssfile, m.line, m.col, m.message].join(':'));
}
}
コマンドラインに渡された最初の引数をCSSファイルのパスとみなして、それを開いてチェックするだけ。出力はGNU Coding Standardsの4.4 Formatting Error Messagesに従ってコロン区切り。まとめメッセージ(font-size
プロパティーの指定が多過ぎとか文句言う奴)は捨ててる。
グローバルにインストールされたcsslintモジュールを使う場合はNODE_PATH
環境変数の設定も必要。そうでない場合は同じディレクトリにインストールすれば良い。