問題:ESLint で Oops! Something went wrong! :(
GitHub で利用できる自動コード・レビューサービス「Sider
」(旧SideCI
)で Javascript の構文チェッカー「ESLint
」を有効にすると、以前は発生していなかった以下のエラーが発生する。
2018-08-13T23:37:12Z
Oops! Something went wrong! :(
ESLint: 5.1.0.
No files matching the pattern "." were found.
Please check for typing mistakes in the pattern.
TL;DR
ESLint のバージョンが v4.x 系から v5.1.0 になったことによる動作仕様変更です。
eslint
を実行しても指定したディレクトリ下に Javascript ファイルが1つもないとエラーが返されるようになりました。.js
ファイルを設置するまで ESLint
を無効にするか、以下のいずれかをお試しください。
対処法1
sideci.yml
に対象ディレクトリを追加する
「sideci.yml
」の「linter:
」設定に「eslint
」がない場合、デフォルトで使われる dir
設定が「.
」となりレビューに失敗するので、明示的にディレクトリのパスを指定します。
linter:
eslint:
dir: “./*”
参考文献
- Issue #10530 Invalid warning about Webpack config after upgrading to 5 | ESLint @ GitHub
- Issue #10599 ESLint 5.1.0 - No files matching the pattern for several repos | ESLint @ GitHub
対処法2
ダミーの
js
ファイルを設置する
function hello(name) {
document.body.textContent = "Hello, " + nama + "!"
}
hello("World");
参考文献
- ESLint 最初の一歩 @ Qiita
TS;DR
先日までパスしていた「sideci.yml
」の設定で、「README.md
」ファイルを修正したところ、以下のエラーでレビューを通りませんでした。
2018-08-13T23:37:12Z
Oops! Something went wrong! :(
ESLint: 5.1.0.
No files matching the pattern "." were found.
Please check for typing mistakes in the pattern.
エラー内容を見ると、ESLint の対象ディレクトリの探索パターンが「.
」であることが原因のようで ESLint v4.x
時代には発生しませんでした。
該当リポジトリの Sider 設定で ESLint を有効にはしているものの、今後のために有効にしているだけで、実際には対象となる JavaScript は(まだ)ありません。
同様の不具合が v5.1.0 からあるらしく、「sideci.yml
」に明示的に「dir: "./*”
」を設定したところレビューがパスされるようになったので、デフォルトの設定の見直しが必要なのかと思いサポートに問い合わせたところ、ESLint v5 からの仕様であるとのこと。「Javascript ファイル置いたらエラーが出なくなるので設置してね」ということに。