Skip to content

Commit 7b5b57e

Browse files
fix: add pre-configured firebase app module
1 parent c0bd9fd commit 7b5b57e

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import { NgModule } from '@angular/core'
2+
import {
3+
FirebaseNameOrConfigToken,
4+
FirebaseOptionsToken,
5+
AngularFireModule
6+
} from 'angularfire2'
7+
import { EnvironmentService } from '../environment'
8+
import { FIREBASE_USER_AUTH_TOKEN } from './common/server'
9+
10+
export interface IFirebaseEnvConfig {
11+
readonly [key: string]: string | undefined
12+
readonly FIREBASE_API_KEY: string
13+
readonly FIREBASE_AUTH_DOMAIN: string
14+
readonly FIREBASE_DATABASE_URL: string
15+
readonly FIREBASE_PROJECT_ID: string
16+
readonly FIREBASE_STORAGE_BUCKET: string
17+
readonly FIREBASE_MESSAGING_SENDER_ID: string
18+
}
19+
20+
export function firebaseEnvironmentFactory(
21+
es: EnvironmentService<IFirebaseEnvConfig>
22+
) {
23+
return {
24+
apiKey: es.config.FIREBASE_API_KEY,
25+
authDomain: es.config.FIREBASE_AUTH_DOMAIN,
26+
databaseURL: es.config.FIREBASE_DATABASE_URL,
27+
projectId: es.config.FIREBASE_PROJECT_ID,
28+
storageBucket: es.config.FIREBASE_STORAGE_BUCKET,
29+
messagingSenderId: es.config.FIREBASE_MESSAGING_SENDER_ID
30+
}
31+
}
32+
33+
// tslint:disable-next-line:no-class
34+
@NgModule({
35+
imports: [AngularFireModule],
36+
providers: [
37+
{ provide: FIREBASE_USER_AUTH_TOKEN, useValue: undefined },
38+
{
39+
provide: FirebaseNameOrConfigToken,
40+
useValue: 'universal-webapp'
41+
},
42+
{
43+
provide: FirebaseOptionsToken,
44+
useFactory: firebaseEnvironmentFactory,
45+
deps: [EnvironmentService]
46+
}
47+
]
48+
})
49+
export class FirebaseUniversalAppModule {}

src/modules/firebase/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
export { FirebaseUniversalAppModule } from './firebase.app.module'
12
export { FirebaseFsBrowserModule } from './firestore/browser.firebase.fs.module'
23
export {
34
UniversalFirestoreService

0 commit comments

Comments
 (0)