🔎
Cloud FunctionsにESLintを設定したらエラー出た!
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使ってる企業で働いたことないので、さっぱりわからないですね。
職場によっては、;つけたりつけなかったりするとか?
Discussion