functions で admin を初期化するのはルートで1回だけ

2021/2/27
firebase cloud functions
admin.initializeApp(functions.config().firebase);

をいろんなエンドポイントで実行するとデプロイでこける。

なのでトップレベルで、

import * as admin from "firebase-admin";
import * as functions from "firebase-functions";

admin.initializeApp(functions.config().firebase);

export { helloWorld, helloWorld2 } from "./routes/hello";

とするとよい。

もし、

import * as admin from "firebase-admin";
import * as functions from "firebase-functions";

export { helloWorld, helloWorld2 } from "./routes/hello";

admin.initializeApp(functions.config().firebase);

とすると落ちる。