今川館

都内勤務の地味OLです

JSHintの設定ファイル

JSHintはデフォルトだと全然チェックしない

JSLintが鬱陶しいからJSHintを使っている人は多いと思う。
ところが、JSHintはデフォルトだとチェック基準がすごく甘くてチェックとして機能しない。

例えば、IEで即スクリプトエラーになる「ハッシュの末尾カンマ」さえもデフォルトではチェックしない。

var dct = {
    foo: 1,
    bar: 2,
}

↑こういうやつな。

JSHintのオプション一覧

www.jshint.com/docs/options/:title

ここにまとまっているから好きなものを選んでオプションに渡せば良かろうよ。

$HOME/.jshintrc を書いておくとチェックルールを変更できる

そして、~/.jshintrcというファイルにJSON形式でオプションを設定しておくとjshintコマンドを実行したときに自動的に読み込んで処理してくれる。

わたしは以下の設定くらいは入れている。

{
    "indent": 4,
    "globalstrict": false,
    "es3": true,      // IE6, 7, 8向け
    "unused": true,   // 宣言して使っていない変数に警告
    "undef": true,    // var がついていない変数に警告
    "trailing": true, // 行末スペース禁止
    "laxcomma": true, // 前置カンマ禁止
    "loopfunc": true  // ループの中で関数の定義禁止
}