functions に json がアップできない罠
create: 2019-11-6
Blog Nuxt化 Nuxt.js firebase functions

firebase functionsを利用するに当たり、サービスアカウント情報を環境変数ではなくjsonファイルで保持していました。
環境変数でやれ、というのは重々承知の上でございます。

{
  "type": "service_account",
  "project_id": "nekoha-blog"
}

それを firebase の初期化関数の中で読み出すコード。

serviceAccount = require('./serviceAccountKey.json')

ローカルではもちろん問題なく動くのですが、デプロイすると読めない事象が。

拡張子が json だとだめ?

拡張子が.jsonだとデプロイ対象にならないらしい。

.jsファイルは持っていってくれるので JSON ファイルを書き換え。

exports.default = {
  type: 'service_account',
  project_id: 'nekoha-blog'
}

requiredefault を読むように書き換えます。

serviceAccount = require('./serviceAccountKey.js').default

これで無事読み込めるようになりました!