Cloud Functions TypeScript
単純に?やるには、
firebase init functions で、yes/noをそれなりに答えればOK.
自分がやりたいのは Vue.jsのコードに依存させたコードを書きたい。
Vue.js側で書いたモデルの制約化でのコードが必要
悩みとしては近い。sharedではなく、 そのままproject配下のsrcの typescirpt sourceに依存して書きたい。
昔のメモ書き、最初の試行錯誤のめも
最初から始める、既存のtypescriptプロジェクトに新規に?typeScriptのfunctionsを書く、既存のfunctionsがjsでそれをtypescriptにする
3つめのパターンが自分の状況に該当
Migrating an existing JavaScript project to TypeScript
既存のvue.jsプロジェクトで、firebase initをした。
すでにfunctionsやhostingの設定をしていて、functionsは functionsディレクトリにpackage.jsonなどがあるので、
ここだけ変わるかなとおもったけえど、
rootDir
firebase.jsonで、functions:{ predeployの設定
functionsDir
.eslintrc.js
package.json
buildコマンドが入った。
lint: srcができて、そこが対象になった。
"main"ができてentryポイントができた。 lib/index.js
tsconfig.json
設定がある。意味するところは、key名からなんとなくわかるが...
src/index.ts
ここに書いてということだろうが、
この src/index.tsを既存のjsコードと振り替えるということだろう。
npm install --save @types/<dependency>
<dependency>がよくわからない。 packages.jsonにある dependenciesを1つづつ 手打ちで installする?
npm install --save @types/firebase-adminとかだと、404だが、、
functions/lib/index.js を .tsにrenameしたら、eslintが、tsconfig.jsが rootDirにないというが、functionsDirにできたのに、、
コピペするか?
package.jsonで、buildコマンドにtypeがあった...
あと、lib/index.tsでなく、src/index.tsだった。
.eslintrcのエラー.
たしかに、ここに parse: @typescript-eslint/parser がある。
parserOptions は project: tsconfig.json, sourceType: moduleとなってる。
tsconfig.json, eslintrc.js, packages.json ...設定ファイルが複数で、、、
ただでさえ、projectのdirの子供directoryの中の設定ファイル群なのに、、
eslintが通らないと、buildできない設定なので、、
エラーメッセージは、ファイルがincludeされてないというものだが、実質的?には、
.eslintrc.js を parse対象から外すのが大切?
やっていると、vue.jsにも typescript設定をしないといけなくなってきたかも...