unhurried

コンピュータ関連ネタがほとんど、ときどき趣味も…

ライブラリ手動追加時のESLintエラーを抑制する

この頃はかなり乗り遅れ感ありますが、こつこつAngularJSを試してみています。 Yeoman generator-gulp-angularで面倒な環境構築はスキップできるのですが、各ツールの動きを知らないせいで、時々はまってしまいます。

今回は手動でライブラリを追加したときに出る、ESLintのno-undefエラーの回避方法についてです。

たいていのライブラリはAngularのプラグイン化されていて、すぐにServiceとしてDIして使えるとか便利なのですが、ニッチなライブラリは自分でscriptタグを記載して組み込むことがあります。
このときに、ライブラリで定義されているグローバル変数を参照すると、ESLintで下記のようなエラーが指摘されます。

error  "xxx" is not defined     no-undef

放っておいても動作はするので問題ないのですが、これを回避するには、.eslintrcにグローバル変数を記載すれば良いです。

{
  "globals": {
     "xxx": true
  }
}

参考:http://yukidarake.hateblo.jp/entry/2015/11/11/200221

追記

id:mysticateaさんのコメントにある通り、globalsにはkeyにグローバル変数名、valueに上書きを許容するかを表す真偽値を持ったオブジェクトを指定するそうです。 http://eslint.org/docs/user-guide/configuring#specifying-globals