問題: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 ファイル置いたらエラーが出なくなるので設置してね」ということに。