CSS LintPhantomJSから利用してCSSをチェックするスクリプトとほとんど同じのJSLintを利用してJavaScriptをチェックするスクリプトです。書けよとか言われたので書きます。

var f = phantom.args[0],
  fs = require("fs"),
  js = fs.read(f);

if (phantom.injectJs("jslint.js")) {
  var i,
    r = JSLINT(js),
    l = JSLINT.errors.length;

  if (!r) {
    for (i = 0; i < l; i++) {
      var e = JSLINT.errors[i];

      if (e) {
        console.log([f, e.line, e.character, e.reason].join(":"));
      }
    }
  }
}

phantom.exit();

あんまり関係ない話ですけど、JSLintでスペース4つでインデントがデフォルトなのは、

var foo = "hoge",
    bar = "hage",
    buz = "hige";

とかvarでまとめて宣言する時に二行目以降が揃うからなんですかね?