🔎

Cloud FunctionsにESLintを設定したらエラー出た!

2023/01/27に公開

TypeScriptにLintを導入したいが...

Cloud FunctionsをTypeScrptで使おうとして、ESLintの設定もするように、講師の方からご指摘があり、導入したのですが、エラーでハマりました😱

エラー内容

Parsing error: Cannot read file '/users/jj_app/js_lesson/20230127-functions/tsconfig.json'.eslint

tsconfig.tsがルートにないので、ファイルの1行目のimportでエラーが起きるとのこと!

解決方法

こちらのサイトを参考にプロジェクトディレクトリに、.vscodeディレクトリを作成して、settings.jsonを作成すると、1行目のimportのエラーを解消できた!

.vscode/setting.json
{
  "eslint.workingDirectories": ["./functions"]
}

その次は、半角スペースを無くさないとエラーできるのに、ハマりましたが😇

無事に解決できたと思われます。

修正後のコード

index.ts
import * as functions from "firebase-functions";
import * as admin from "firebase-admin";
admin.initializeApp();

export const helloWorld = functions.https.onRequest((request, response) => {
  // コードの保管機能で、{ structuredData: true }ないの半角スペースを削除する.
  // 豆電球のiconを押せば候補が出てくるので、指示に従う.
  functions.logger.info("Hello logs!", {structuredData: true});
  response.send("Hello from Firebase!");
});

まとめ

ESLintの設定方法が書かれたTypeScrpitのサイトがありました!
Cloud Functions以外でやったときは、セミコロンとダブルクォートをつけるのを強制したりして、「コードを綺麗に書きなさいよ」と、制約をつけてました。
ESLint使ってる企業で働いたことないので、さっぱりわからないですね。
職場によっては、;つけたりつけなかったりするとか?

https://typescriptbook.jp/tutorials/eslint

Discussion