Skip to content

Commit 76c2630

Browse files
authored
Merge pull request #32 from lupas/addFirePerf
Add fire perf
2 parents 1f1f0ea + b45462b commit 76c2630

File tree

4 files changed

+36
-14
lines changed

4 files changed

+36
-14
lines changed

README.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ modules: [
6666
}
6767
},
6868
// The following options are optional:
69-
useOnly: ['auth','firestore','functions','storage','realtimeDb', 'messaging'],
69+
useOnly: ['auth','firestore','functions','storage','realtimeDb', 'messaging', 'performance'],
7070
customEnv: false,
7171
functionsLocation: 'us-central1',
7272
}
@@ -88,19 +88,21 @@ Firebase products supported by nuxt-fire so far:
8888
| Storage | \$fireStorage |
8989
| Functions | \$fireFunc |
9090
| Messaging | \$fireMess |
91+
| Performance | \$firePerf |
9192

9293
See [Firebase's official docs](https://firebase.google.com/docs/) for more usage information.
9394

9495
You can further access the objects like so:
9596

96-
| Firebase Obj | Shortcut |
97-
| ------------------ | ---------------- |
98-
| firebase.auth | \$fireAuthObj |
99-
| firebase.database | \$fireDbObj |
100-
| firebase.firestore | \$fireStoreObj |
101-
| firebase.storage | \$fireStorageObj |
102-
| firebase.functions | \$fireFuncObj |
103-
| firebase.messaging | \$fireMessObj |
97+
| Firebase Obj | Shortcut |
98+
| -------------------- | ---------------- |
99+
| firebase.auth | \$fireAuthObj |
100+
| firebase.database | \$fireDbObj |
101+
| firebase.firestore | \$fireStoreObj |
102+
| firebase.storage | \$fireStorageObj |
103+
| firebase.functions | \$fireFuncObj |
104+
| firebase.messaging | \$fireMessObj |
105+
| firebase.performance | \$firePerfObj |
104106

105107
## Options
106108

@@ -109,7 +111,7 @@ You can further access the objects like so:
109111
By default, all supported Firebase products are loaded. If you only wish to load certain products (recommended!), add the `useOnly` option.
110112

111113
- type: `Array<string>`
112-
- default: `['auth','firestore','functions','storage','realtimeDb', 'messaging']`
114+
- default: `['auth','firestore','functions','storage','realtimeDb', 'messaging', 'performance']`
113115
- required: `false`
114116

115117
#### config[environment]

index.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,19 @@ export default function nuxtFire(moduleOptions) {
2828
'databaseURL',
2929
'projectId',
3030
'storageBucket',
31-
'messagingSenderId'
31+
'messagingSenderId',
32+
'appId'
3233
]
3334

35+
if (!configKeys.includes('appId')) {
36+
// TODO: Delete after v3.0.0
37+
console.error(
38+
'\x1b[31m',
39+
`Nuxt-Fire Error: Since v2.0.0 you must update your Firebase config object to include your 'appID'. See Release notes.!`
40+
)
41+
return
42+
}
43+
3444
if (requiredKeys.some(k => !configKeys.includes(k))) {
3545
//TODO: Replace with @nuxtjs/plugin-utils error
3646
console.error(
@@ -48,7 +58,8 @@ export default function nuxtFire(moduleOptions) {
4858
'functions',
4959
'storage',
5060
'realtimeDb',
51-
'messaging'
61+
'messaging',
62+
'performance'
5263
]
5364
}
5465

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nuxt-fire",
3-
"version": "1.4.1",
3+
"version": "2.0.0",
44
"license": "MIT",
55
"description": "Intergrate Firebase into your Nuxt project.",
66
"main": "index.js",
@@ -15,6 +15,6 @@
1515
"access": "public"
1616
},
1717
"peerDependencies": {
18-
"firebase": "^6.0.2"
18+
"firebase": "^6.3.1"
1919
}
2020
}

plugin.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import firebase from 'firebase/app'
55
<%= options.useOnly.includes('storage') ? "import 'firebase/storage'" : "" %>
66
<%= options.useOnly.includes('functions') ? "import 'firebase/functions'" : "" %>
77
<%= options.useOnly.includes('messaging') ? "import 'firebase/messaging'" : "" %>
8+
<%= options.useOnly.includes('performance') ? "import 'firebase/performance'" : "" %>
89

910
export default (ctx, inject) => {
1011

@@ -58,4 +59,12 @@ export default (ctx, inject) => {
5859
inject('fireMessObj', fireMessObj)
5960
}
6061

62+
// Firebase Performance can only be initiated on client side
63+
if(process.browser && options.useOnly.includes('performance')){
64+
const firePerf = firebase.performance()
65+
const firePerfObj = firebase.performance
66+
inject('firePerf', firePerf)
67+
inject('firePerfObj', firePerfObj)
68+
}
69+
6170
}

0 commit comments

Comments
 (0)