このページのコンテンツは JSHint プロジェクト リポジトリ からソースされています。誤りに気づいた場合は、 問題を開く か(さらに良い方法として) プルリクエストを送信 してください。

独自の JSHint レポーターを作成

JSHint レポーターは JSHint からローデータをを受け取り、コンソール(または別のファイル、あるいは電子メールの送信)に出力する JavaScript ファイルです。使い方は自由に選べます。

最もシンプルなレポーターは、JSHint がファイルを正常に処理した場合は「OK」を、処理できなかった場合は「FAIL」を表示します。

module.exports = {
  reporter: function (errors) {
    console.log(errors.length ? "FAIL" : "OK");
  }
};

各レポーター ファイルは 1 つの関数、つまりエラーの配列を受け取る「reporter」を公開する必要があります。この配列の各エントリは次の構造を持ちます。

{
  file:        [string, filename]
  error: {
    id:        [string, usually '(error)'],
    code:      [string, error/warning code],
    reason:    [string, error/warning message],
    evidence:  [string, a piece of code that generated this error]
    line:      [number]
    character: [number]
    scope:     [string, message scope;
                usually '(main)' unless the code was eval'ed]

    [+ a few other legacy fields that you don't need to worry about.]
  }
}

そして実際の例

[
  {
    file: 'demo.js',
    error:  {
      id: '(error)',
      code: 'W117',
      reason: '\'module\' is not defined.'
      evidence: 'module.exports = {',
      line: 3,
      character: 1,
      scope: '(main)',

      // [...]
    }
  },

  // [...]
]

まだ混乱している場合は、JSHint リポジトリに レポーターの例 があります。