LoginSignup
1
0

More than 3 years have passed since last update.

Sider(旧Side CI) の ESLint v5 で Markdown ファイルが叱られる(Unexpected character '#')

Last updated at Posted at 2018-09-10

[eslint] Error - Parsing error: Unexpected character '#'

GitHub で利用できる自動コードレビュー・サービスSider」(旧Side CIで ES Lint のチェックを有効にすると Markdown ファイルが叱られる。sideci.ymlext: 'js' とJS ファイルを明示しても NG。

[eslint] Error - Parsing error: Unexpected character '#'

# はじめに
これは README のテキストです。

TL;DR

*.js ファイルが1つも無い場合の ESLint v5.4.0 からの仕様です。「Sider」(旧SideCI)で ESLint を有効にし、sideci.yml に ESLint の検索対象のディレクトリを全て(「./*」)に指定している場合に発生します。

以下のいずれかをお試しください。

  • ダミーの「*.js」ファイルを設置する。
  • 何かしらの「*.js」ファイルを設置するまで Sider 側の ESLint を無効にする。

TS;DR

ESLint は、JavaScriptの静的コード分析ツールです。JavaScript のコードで見つかった問題のあるパターンを識別してくれます。

ESLint v4 系の場合は Javascript ファイルが1つもない場合は「success」を返していましたが、ESLint の v5.4.0 からチェック対象の Javascript ファイルが1つもない場合はエラーを吐き出すようになりました。

sideci.ymleslint のディレクトリを明示すると回避できることがわかったので、「dir: './*'」と設定して回避できていたのですが、新規 Markdown を追加したところ、レビューが通らなくなりました。該当 Markdown ファイルに意図しない文字「#」があるとのこと。

[eslint] Error - Parsing error: Unexpected character '#'

# はじめに
これは README のテキストです。

しかし、「Sider」側のログをみると、新規追加の Markdown ファイルどころか他の Markdown ファイルにもゲーゲー言っており、パースエラーの種類を網羅する勢い。

  • No id found! - Error - Parsing error: Unexpected character '#'
  • No id found! - Error - Parsing error: Unexpected token . : < 4.0
  • No id found! - Error - Parsing error: Unexpected token Status
TraceLog
Running analyzer
# eslint --format=compact --no-color --output-file=/tmp/d...r/output.txt --ext=js ./*
exit status: 1

output.txt

/tmp/d...r/CODE_OF_CONDUCT.md: line 1, col 1, Error - Parsing error: Unexpected character '#'
/tmp/d...r/composer.json: line 2, col 11, Error - Parsing error: Unexpected token :
/tmp/d...r/index.php: line 1, col 1, Error - Parsing error: Unexpected token <
/tmp/d...r/LICENSE_OUTLINE.md: line 1, col 1, Error - Parsing error: Unexpected character '#'
/tmp/d...r/LICENSE.md: line 1, col 24, Error - Parsing error: Unexpected token 4.0
/tmp/d...r/MEMBERS.md: line 1, col 1, Error - Parsing error: Unexpected character '#'
/tmp/d...r/README.md: line 1, col 10, Error - Parsing error: Unexpected token Status
/tmp/d...r/sideci.yml: line 4, col 10, Error - Parsing error: Unexpected token .

8 problems

# eslint --version

v5.4.0
exit status: 0
No id found! - Error - Parsing error: Unexpected character '#'
No id found! - Error - Parsing error: Unexpected token :
No id found! - Error - Parsing error: Unexpected token <
No id found! - Error - Parsing error: Unexpected character '#'
No id found! - Error - Parsing error: Unexpected token 4.0
No id found! - Error - Parsing error: Unexpected character '#'
No id found! - Error - Parsing error: Unexpected token Status
No id found! - Error - Parsing error: Unexpected token .
Removing issues from unchanged or untracked files...    -> 6.0005e-05s
Writing result...    -> 0.000254659s

観念してダミーの Javascript ファイルを設置したところ、すんなり回避できたのですが、使わないファイルがあるのも気持ち悪いので、実際に設置するまで設定を無効にしておくことにしました。(で、設置したらしたで設定を有効にするのを忘れるというフラグ)

併せて読みたい

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0