You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.7 KiB
36 lines
1.7 KiB
if (typeof firebase === 'undefined') throw new Error('hosting/init-error: Firebase SDK not detected. You must include it before /__/firebase/init.js');
|
|
/*--CONFIG--*/
|
|
if (firebaseConfig) {
|
|
firebase.initializeApp(firebaseConfig);
|
|
|
|
/*--EMULATORS--*/
|
|
if (firebaseEmulators) {
|
|
console.log("Automatically connecting Firebase SDKs to running emulators:");
|
|
Object.keys(firebaseEmulators).forEach(function (key) {
|
|
console.log('\t' + key + ': http://' + firebaseEmulators[key].hostAndPort);
|
|
});
|
|
|
|
if (firebaseEmulators.database && typeof firebase.database === 'function') {
|
|
firebase.database().useEmulator(firebaseEmulators.database.host, firebaseEmulators.database.port);
|
|
}
|
|
|
|
if (firebaseEmulators.firestore && typeof firebase.firestore === 'function') {
|
|
firebase.firestore().useEmulator(firebaseEmulators.firestore.host, firebaseEmulators.firestore.port);
|
|
}
|
|
|
|
if (firebaseEmulators.functions && typeof firebase.functions === 'function') {
|
|
firebase.functions().useEmulator(firebaseEmulators.functions.host, firebaseEmulators.functions.port);
|
|
}
|
|
|
|
if (firebaseEmulators.auth && typeof firebase.auth === 'function') {
|
|
// TODO: Consider using location.protocol + '//' instead (may help HTTPS).
|
|
firebase.auth().useEmulator('http://' + firebaseEmulators.auth.hostAndPort);
|
|
}
|
|
|
|
if (firebaseEmulators.storage && typeof firebase.storage === 'function') {
|
|
firebase.storage().useEmulator(firebaseEmulators.storage.host, firebaseEmulators.storage.port);
|
|
}
|
|
} else {
|
|
console.log("To automatically connect the Firebase SDKs to running emulators, replace '/__/firebase/init.js' with '/__/firebase/init.js?useEmulator=true' in your index.html");
|
|
}
|
|
}
|