Skip to content

Commit e4d7978

Browse files
committed
fix(nuxt): use env config in prod
1 parent 3574571 commit e4d7978

File tree

5 files changed

+17
-7
lines changed

5 files changed

+17
-7
lines changed

packages/nuxt/package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
"@firebase/app-types": ">=0.8.1",
3939
"firebase": "^9.0.0",
4040
"firebase-admin": "^11.3.0",
41+
"firebase-functions": "^4.1.0",
4142
"vuefire": ">=3.0.0-alpha.12"
4243
},
4344
"peerDependenciesMeta": {
@@ -46,6 +47,9 @@
4647
},
4748
"firebase-admin": {
4849
"optional": true
50+
},
51+
"firebase-functions": {
52+
"optional": true
4953
}
5054
},
5155
"devDependencies": {
@@ -56,6 +60,7 @@
5660
"eslint": "^8.28.0",
5761
"firebase": "^9.14.0",
5862
"firebase-admin": "^11.3.0",
63+
"firebase-functions": "^4.1.0",
5964
"nuxt": "^3.0.0",
6065
"vuefire": "workspace:*"
6166
}

packages/nuxt/playground/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ node_modules
66
.output
77
.env
88
dist
9+
service-account.json

packages/nuxt/playground/nuxt.config.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,8 @@ export default defineNuxtConfig({
1414

1515
alias: {
1616
// import the dev version directly
17-
'vuefire/server': fileURLToPath(
18-
new URL('../../../src/server/index.ts', import.meta.url)
19-
),
2017
vuefire: fileURLToPath(new URL('../../../src/index.ts', import.meta.url)),
18+
'vuefire/*': fileURLToPath(new URL('../../../src/*', import.meta.url)),
2119
},
2220

2321
modules: [

packages/nuxt/src/runtime/2.admin-plugin.server.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import admin from 'firebase-admin'
22
import { VueFireAppCheckServer } from 'vuefire/server'
3+
import { config } from 'firebase-functions'
34
import { defineNuxtPlugin, useAppConfig } from '#app'
45

56
export default defineNuxtPlugin((nuxtApp) => {
@@ -16,7 +17,11 @@ export default defineNuxtPlugin((nuxtApp) => {
1617
if (!admin.apps.length) {
1718
const adminApp = admin.initializeApp({
1819
...firebaseAdmin.config,
19-
credential: admin.credential.cert(firebaseAdmin.serviceAccount),
20+
credential:
21+
process.env.NODE_ENV === 'production'
22+
? // when deployed we get direct access to the config
23+
config().firebase
24+
: admin.credential.cert(firebaseAdmin.serviceAccount),
2025
})
2126

2227
if (vuefireOptions.appCheck) {

pnpm-lock.yaml

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)