簡単なESlintの設定で試してたら、acync
とfetch
でエラーにったのでメモ
.eslintrc
{ "root": true, "extends": [ "eslint:recommended" ], "env": { "es6": true, "node": true, "commonjs": true }, "parserOptions": { "sourceType": "module" }, "rules": { "no-console": ["warn"], "no-extra-parens": ["off"], "semi": [ 2, "always" ] } }
acync/await
async () => ...
-> error Parsing error: Unexpected token =>
async function() => ...
-> error Parsing error: Unexpected token function
parserOptions
に"ecmaVersion": 2017
を追加する
{ // 略 "parserOptions": { "sourceType": "module", "ecmaVersion": 2017 // <- 追加 } }
FetchAPI
fetch(api_url).then(...)
-> error 'fetch' is not defined no-undef
globals
にfetch
を追加する
"ecmaVersion": 2017
ではダメっぽい。
{ // 略 "globals": { "fetch": false // <- 追加 } }
eslintの設定ゴリゴリ書くのあまり好きじゃない(特にrules
)んで、env
にes2017: true
とかでエラーにならないようにとかならないかな...
[参考]
- Error with async: "Parsing error: Unexpected token =>" · Issue #8126 · eslint/eslint · GitHub
- Every single ECMAScript edition should have an "env" option · Issue #9109 · eslint/eslint · GitHub
- airbnbのeslintで'fetch is not defined'って出る - Qiita
これはリンツ