diff --git a/App.js b/App.js
index 9a17e88..ceb523c 100644
--- a/App.js
+++ b/App.js
@@ -10,6 +10,7 @@ import {
import { store, persistor } from "./redux/store";
import { Provider } from "react-redux";
import { PersistGate } from "redux-persist/integration/react";
+import SignIn from "./components/signin.component";
export default function App() {
return (
@@ -19,6 +20,7 @@ export default function App() {
Open up App.js to start working on your app! ttt
+
diff --git a/components/signin.component.jsx b/components/signin.component.jsx
new file mode 100644
index 0000000..d082b20
--- /dev/null
+++ b/components/signin.component.jsx
@@ -0,0 +1,36 @@
+import React from "react";
+import { View, Text, Button } from "react-native";
+import { createStructuredSelector } from "reselect";
+
+import {
+ selectBodyshop,
+ selectCurrentUser,
+} from "../redux/user/user.selectors";
+import { emailSignInStart } from "../redux/user/user.actions";
+import { connect } from "react-redux";
+
+const mapStateToProps = createStructuredSelector({
+ bodyshop: selectBodyshop,
+ currentUser: selectCurrentUser,
+});
+
+const mapDispatchToProps = (dispatch) => ({
+ emailSignInStart: (email, password) =>
+ dispatch(emailSignInStart({ email, password })),
+});
+
+export function SignIn({ bodyshop, currentUser, emailSignInStart }) {
+ return (
+
+ The secondary view
+ {JSON.stringify(currentUser)}
+
+ );
+}
+
+export default connect(mapStateToProps, mapDispatchToProps)(SignIn);
diff --git a/firebase/firebase.utils.js b/firebase/firebase.utils.js
index 5389921..fa3964d 100644
--- a/firebase/firebase.utils.js
+++ b/firebase/firebase.utils.js
@@ -2,12 +2,25 @@ import firebase from "firebase/app";
import "firebase/firestore";
import "firebase/auth";
import "firebase/database";
-//import "firebase/analytics";
-import "firebase/messaging";
+import "firebase/analytics";
+//import "firebase/messaging";
import { store } from "../redux/store";
-const config = JSON.parse(process.env.REACT_APP_FIREBASE_CONFIG);
-firebase.initializeApp(config);
+//const config = JSON.parse(process.env.REACT_APP_FIREBASE_CONFIG);
+const config = {
+ apiKey: "AIzaSyDPLT8GiDHDR1R4nI66Qi0BY1aYviDPioc",
+ authDomain: "imex-dev.firebaseapp.com",
+ databaseURL: "https://imex-dev.firebaseio.com",
+ projectId: "imex-dev",
+ storageBucket: "imex-dev.appspot.com",
+ messagingSenderId: "759548147434",
+ appId: "1:759548147434:web:e8239868a48ceb36700993",
+ measurementId: "G-K5XRBVVB4S",
+};
+
+if (!firebase.apps.length) {
+ firebase.initializeApp(config);
+}
export const auth = firebase.auth();
export const firestore = firebase.firestore();
@@ -35,17 +48,17 @@ export const updateCurrentUser = (userDetails) => {
});
};
-let messaging;
-try {
- messaging = firebase.messaging();
- // Project Settings => Cloud Messaging => Web Push certificates
- messaging.usePublicVapidKey(process.env.REACT_APP_FIREBASE_PUBLIC_VAPID_KEY);
- console.log("[FCM UTIL] FCM initialized successfully.");
-} catch {
- console.log("[FCM UTIL] Firebase Messaging is likely unsupported.");
-}
+// let messaging;
+// try {
+// messaging = firebase.messaging();
+// // Project Settings => Cloud Messaging => Web Push certificates
+// messaging.usePublicVapidKey(process.env.REACT_APP_FIREBASE_PUBLIC_VAPID_KEY);
+// console.log("[FCM UTIL] FCM initialized successfully.");
+// } catch {
+// console.log("[FCM UTIL] Firebase Messaging is likely unsupported.");
+// }
-export { messaging };
+// export { messaging };
export const logImEXEvent = (eventName, additionalParams, stateProp = null) => {
const state = stateProp || store.getState();
@@ -61,56 +74,56 @@ export const logImEXEvent = (eventName, additionalParams, stateProp = null) => {
analytics.logEvent(eventName, eventParams);
};
-if (messaging) {
- messaging.onMessage(async (payload) => {
- console.log("[FCM] UTILS Message received. ", payload);
- navigator.serviceWorker.getRegistration().then((registration) => {
- return registration.showNotification(
- "[UTIL]" + payload.notification.title,
- payload.notification
- );
- });
+// if (messaging) {
+// messaging.onMessage(async (payload) => {
+// console.log("[FCM] UTILS Message received. ", payload);
+// navigator.serviceWorker.getRegistration().then((registration) => {
+// return registration.showNotification(
+// "[UTIL]" + payload.notification.title,
+// payload.notification
+// );
+// });
- // if (!payload.clientId) return;
+// // if (!payload.clientId) return;
- // // Get the client.
- // const client = await clients.get(payload.clientId);
- // // Exit early if we don't get the client.
- // // Eg, if it closed.
- // if (!client) return;
+// // // Get the client.
+// // const client = await clients.get(payload.clientId);
+// // // Exit early if we don't get the client.
+// // // Eg, if it closed.
+// // if (!client) return;
- // // Send a message to the client.
- // console.log("Posting to client.");
- // client.postMessage({
- // msg: "Hey I just got a fetch from you!",
- // url: payload.request.url,
- // });
+// // // Send a message to the client.
+// // console.log("Posting to client.");
+// // client.postMessage({
+// // msg: "Hey I just got a fetch from you!",
+// // url: payload.request.url,
+// // });
- // [START_EXCLUDE]
- // Update the UI to include the received message.
- //appendMessage(payload);
+// // [START_EXCLUDE]
+// // Update the UI to include the received message.
+// //appendMessage(payload);
- // [END_EXCLUDE]
- });
+// // [END_EXCLUDE]
+// });
- messaging.onTokenRefresh(() => {
- messaging
- .getToken()
- .then((refreshedToken) => {
- console.log("[FCM] Token refreshed.");
- // Indicate that the new Instance ID token has not yet been sent to the
- // app server.
- // setTokenSentToServer(false);
- // // Send Instance ID token to app server.
- // sendTokenToServer(refreshedToken);
- // // [START_EXCLUDE]
- // // Display new Instance ID token and clear UI of all previous messages.
- // resetUI();
- // [END_EXCLUDE]
- })
- .catch((err) => {
- console.log("[FCM] Unable to retrieve refreshed token ", err);
- // showToken("Unable to retrieve refreshed token ", err);
- });
- });
-}
+// messaging.onTokenRefresh(() => {
+// messaging
+// .getToken()
+// .then((refreshedToken) => {
+// console.log("[FCM] Token refreshed.");
+// // Indicate that the new Instance ID token has not yet been sent to the
+// // app server.
+// // setTokenSentToServer(false);
+// // // Send Instance ID token to app server.
+// // sendTokenToServer(refreshedToken);
+// // // [START_EXCLUDE]
+// // // Display new Instance ID token and clear UI of all previous messages.
+// // resetUI();
+// // [END_EXCLUDE]
+// })
+// .catch((err) => {
+// console.log("[FCM] Unable to retrieve refreshed token ", err);
+// // showToken("Unable to retrieve refreshed token ", err);
+// });
+// });
+// }
diff --git a/package.json b/package.json
index 9bd8dca..5494b9e 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
"@react-native-community/async-storage": "^1.11.0",
"expo": "~38.0.8",
"expo-status-bar": "^1.0.2",
+ "firebase": "^7.17.1",
"react": "~16.11.0",
"react-dom": "~16.11.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz",
diff --git a/redux/root.saga.js b/redux/root.saga.js
index 5916fe0..82bb66b 100644
--- a/redux/root.saga.js
+++ b/redux/root.saga.js
@@ -1,6 +1,6 @@
import { all, call } from "redux-saga/effects";
-// import { userSagas } from "./user/user.sagas";
+import { userSagas } from "./user/user.sagas";
// import { messagingSagas } from "./messaging/messaging.sagas";
// import { emailSagas } from "./email/email.sagas";
// import { modalsSagas } from "./modals/modals.sagas";
@@ -9,7 +9,7 @@ import { all, call } from "redux-saga/effects";
export default function* rootSaga() {
yield all([
- // call(userSagas),
+ call(userSagas),
// call(messagingSagas),
// call(emailSagas),
// call(modalsSagas),
diff --git a/redux/user/user.reducer.js b/redux/user/user.reducer.js
index b292c0e..c320b81 100644
--- a/redux/user/user.reducer.js
+++ b/redux/user/user.reducer.js
@@ -1,4 +1,4 @@
-// import UserActionTypes from "./user.types";
+import UserActionTypes from "./user.types";
const INITIAL_STATE = {
currentUser: {
@@ -17,12 +17,6 @@ const INITIAL_STATE = {
const userReducer = (state = INITIAL_STATE, action) => {
switch (action.type) {
- // case UserActionTypes.SET_LOCAL_FINGERPRINT:
- // return { ...state, fingerprint: action.payload };
- // case UserActionTypes.SET_INSTANCE_ID:
- // return { ...state, conflict: false };
- // case UserActionTypes.SET_INSTANCE_CONFLICT:
- // return { ...state, conflict: true };
// case UserActionTypes.VALIDATE_PASSWORD_RESET_START:
// case UserActionTypes.SEND_PASSWORD_RESET_EMAIL_START:
// return {
@@ -42,47 +36,47 @@ const userReducer = (state = INITIAL_STATE, action) => {
// ...state,
// passwordreset: { ...state.passwordreset, success: true },
// };
- // case UserActionTypes.SIGN_IN_SUCCESS:
- // return {
- // ...state,
- // currentUser: action.payload,
- // error: null,
- // };
- // case UserActionTypes.SIGN_OUT_SUCCESS:
- // return {
- // ...state,
- // currentUser: { authorized: false },
- // error: null,
- // };
- // case UserActionTypes.UNAUTHORIZED_USER:
- // return {
- // ...state,
- // error: null,
- // currentUser: { authorized: false },
- // };
+ case UserActionTypes.SIGN_IN_SUCCESS:
+ return {
+ ...state,
+ currentUser: action.payload,
+ error: null,
+ };
+ case UserActionTypes.SIGN_OUT_SUCCESS:
+ return {
+ ...state,
+ currentUser: { authorized: false },
+ error: null,
+ };
+ case UserActionTypes.UNAUTHORIZED_USER:
+ return {
+ ...state,
+ error: null,
+ currentUser: { authorized: false },
+ };
// case UserActionTypes.SET_USER_LANGUAGE:
// return {
// ...state,
// language: action.payload,
// };
- // case UserActionTypes.UPDATE_USER_DETAILS_SUCCESS:
- // return {
- // ...state,
- // currentUser: {
- // ...state.currentUser,
- // ...action.payload, //Spread current user details in.
- // },
- // };
+ case UserActionTypes.UPDATE_USER_DETAILS_SUCCESS:
+ return {
+ ...state,
+ currentUser: {
+ ...state.currentUser,
+ ...action.payload, //Spread current user details in.
+ },
+ };
- // case UserActionTypes.SET_SHOP_DETAILS:
- // return { ...state, bodyshop: action.payload };
- // case UserActionTypes.SIGN_IN_FAILURE:
- // case UserActionTypes.SIGN_OUT_FAILURE:
- // case UserActionTypes.EMAIL_SIGN_UP_FAILURE:
- // return {
- // ...state,
- // error: action.payload,
- // };
+ case UserActionTypes.SET_SHOP_DETAILS:
+ return { ...state, bodyshop: action.payload };
+ case UserActionTypes.SIGN_IN_FAILURE:
+ case UserActionTypes.SIGN_OUT_FAILURE:
+ case UserActionTypes.EMAIL_SIGN_UP_FAILURE:
+ return {
+ ...state,
+ error: action.payload,
+ };
default:
return state;
}
diff --git a/redux/user/user.sagas.js b/redux/user/user.sagas.js
index 52b48b8..c8b42b4 100644
--- a/redux/user/user.sagas.js
+++ b/redux/user/user.sagas.js
@@ -1,28 +1,20 @@
-import Fingerprint2 from "fingerprintjs2";
-import LogRocket from "logrocket";
-import { all, call, delay, put, select, takeLatest } from "redux-saga/effects";
+import { all, call, put, takeLatest } from "redux-saga/effects";
import {
auth,
- firestore,
getCurrentUser,
- logImEXEvent,
updateCurrentUser,
} from "../../firebase/firebase.utils";
import {
- checkInstanceId,
- setInstanceConflict,
- setInstanceId,
- setLocalFingerprint,
+ sendPasswordResetFailure,
+ sendPasswordResetSuccess,
signInFailure,
signInSuccess,
signOutFailure,
signOutSuccess,
unauthorizedUser,
updateUserDetailsSuccess,
- sendPasswordResetFailure,
- sendPasswordResetSuccess,
- validatePasswordResetSuccess,
validatePasswordResetFailure,
+ validatePasswordResetSuccess,
} from "./user.actions";
import UserActionTypes from "./user.types";
@@ -31,10 +23,8 @@ export function* onEmailSignInStart() {
}
export function* signInWithEmail({ payload: { email, password } }) {
try {
- logImEXEvent("redux_sign_in_attempt", { user: email });
-
+ //logImEXEvent("redux_sign_in_attempt", { user: email });
const { user } = yield auth.signInWithEmailAndPassword(email, password);
-
yield put(
signInSuccess({
uid: user.uid,
@@ -46,7 +36,7 @@ export function* signInWithEmail({ payload: { email, password } }) {
);
} catch (error) {
yield put(signInFailure(error));
- logImEXEvent("redux_sign_in_failure", { user: email, error });
+ //logImEXEvent("redux_sign_in_failure", { user: email, error });
}
}
@@ -55,7 +45,7 @@ export function* onCheckUserSession() {
}
export function* isUserAuthenticated() {
try {
- logImEXEvent("redux_auth_check");
+ //logImEXEvent("redux_auth_check");
const user = yield getCurrentUser();
if (!user) {
@@ -63,7 +53,6 @@ export function* isUserAuthenticated() {
return;
}
- LogRocket.identify(user.email);
yield put(
signInSuccess({
uid: user.uid,
@@ -82,7 +71,7 @@ export function* onSignOutStart() {
}
export function* signOutStart() {
try {
- logImEXEvent("redux_sign_out");
+ //logImEXEvent("redux_sign_out");
yield auth.signOut();
yield put(signOutSuccess());
@@ -104,65 +93,13 @@ export function* updateUserDetails(userDetails) {
//TODO error handling
}
}
-export function* onSetInstanceId() {
- yield takeLatest(UserActionTypes.SET_INSTANCE_ID, setInstanceIdSaga);
-}
-export function* setInstanceIdSaga({ payload: uid }) {
- try {
- const userInstanceRef = firestore.doc(`userInstance/${uid}`);
-
- const fingerprint = Fingerprint2.x64hash128(
- (yield Fingerprint2.getPromise({})).map((c) => c.value).join(""),
- 31
- );
-
- yield userInstanceRef.set({
- timestamp: new Date(),
- fingerprint,
- });
-
- yield put(setLocalFingerprint(fingerprint));
- yield delay(5 * 60 * 1000);
- yield put(checkInstanceId(uid));
- } catch (error) {
- console.log("error", error);
- //yield put(signOutFailure(error.message));
- //TODO error handling
- }
-}
-
-export function* onCheckInstanceId() {
- yield takeLatest(UserActionTypes.CHECK_INSTANCE_ID, checkInstanceIdSaga);
-}
-export function* checkInstanceIdSaga({ payload: uid }) {
- try {
- const userInstanceRef = firestore.doc(`userInstance/${uid}`);
-
- const snapshot = yield userInstanceRef.get();
- let fingerprint = yield select((state) => state.user.fingerprint);
-
- if (snapshot.data().fingerprint === fingerprint) {
- yield delay(5 * 60 * 1000);
- yield put(checkInstanceId(uid));
- } else {
- console.log("ERROR: Fingerprints do not match. Conflict detected.");
- logImEXEvent("instance_confict");
- yield put(setInstanceConflict());
- }
- } catch (error) {
- console.log("error", error);
- //TODO error handling
- }
-}
export function* onSignInSuccess() {
yield takeLatest(UserActionTypes.SIGN_IN_SUCCESS, signInSuccessSaga);
}
export function* signInSuccessSaga({ payload }) {
- LogRocket.identify(payload.email);
- yield put(setInstanceId(payload.uid));
- yield logImEXEvent("redux_sign_in_success");
+ //yield logImEXEvent("redux_sign_in_success");
}
export function* onSendPasswordResetStart() {
@@ -176,7 +113,6 @@ export function* sendPasswordResetEmail({ payload }) {
yield auth.sendPasswordResetEmail(payload, {
url: "https://imex.online/passwordreset",
});
- console.log("Good should send.");
yield put(sendPasswordResetSuccess());
} catch (error) {
yield put(sendPasswordResetFailure(error.message));
@@ -194,7 +130,6 @@ export function* validatePasswordResetStart({ payload: { password, code } }) {
yield auth.confirmPasswordReset(code, password);
yield put(validatePasswordResetSuccess());
} catch (error) {
- console.log("function*validatePasswordResetStart -> error", error);
yield put(validatePasswordResetFailure(error.message));
}
}
@@ -205,8 +140,7 @@ export function* userSagas() {
call(onCheckUserSession),
call(onSignOutStart),
call(onUpdateUserDetails),
- call(onSetInstanceId),
- call(onCheckInstanceId),
+
call(onSignInSuccess),
call(onSendPasswordResetStart),
call(onValidatePasswordResetStart),
diff --git a/yarn.lock b/yarn.lock
index 220ab7c..61e7b3e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1018,6 +1018,244 @@
pouchdb-collections "^1.0.1"
tiny-queue "^0.2.1"
+"@firebase/analytics-types@0.3.1":
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/@firebase/analytics-types/-/analytics-types-0.3.1.tgz#3c5f5d71129c88295e17e914e34b391ffda1723c"
+ integrity sha512-63vVJ5NIBh/JF8l9LuPrQYSzFimk7zYHySQB4Dk9rVdJ8kV/vGQoVTvRu1UW05sEc2Ug5PqtEChtTHU+9hvPcA==
+
+"@firebase/analytics@0.4.1":
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/@firebase/analytics/-/analytics-0.4.1.tgz#0f1e6f4e56af11c3956b1652520095a1fbd2c418"
+ integrity sha512-y5ZuhqX/PwLi0t7AKxNAi3NnlEwXe0rpknulUWUg3/1dALqtd2RrAOATQoV5FNnKK6YUH5UmK0Jb9KcSjsFeNw==
+ dependencies:
+ "@firebase/analytics-types" "0.3.1"
+ "@firebase/component" "0.1.17"
+ "@firebase/installations" "0.4.15"
+ "@firebase/logger" "0.2.6"
+ "@firebase/util" "0.3.0"
+ tslib "^1.11.1"
+
+"@firebase/app-types@0.6.1":
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.6.1.tgz#dcbd23030a71c0c74fc95d4a3f75ba81653850e9"
+ integrity sha512-L/ZnJRAq7F++utfuoTKX4CLBG5YR7tFO3PLzG1/oXXKEezJ0kRL3CMRoueBEmTCzVb/6SIs2Qlaw++uDgi5Xyg==
+
+"@firebase/app@0.6.9":
+ version "0.6.9"
+ resolved "https://registry.yarnpkg.com/@firebase/app/-/app-0.6.9.tgz#e60412d9b6012afb73caef2a1353e1b4c4182954"
+ integrity sha512-X2riRgK49IK8LCQ3j7BKLu3zqHDTJSaT6YgcLewtHuOVwtpHfGODiS1cL5VMvKm3ogxP84GA70tN3sdoL/vTog==
+ dependencies:
+ "@firebase/app-types" "0.6.1"
+ "@firebase/component" "0.1.17"
+ "@firebase/logger" "0.2.6"
+ "@firebase/util" "0.3.0"
+ dom-storage "2.1.0"
+ tslib "^1.11.1"
+ xmlhttprequest "1.8.0"
+
+"@firebase/auth-interop-types@0.1.5":
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/@firebase/auth-interop-types/-/auth-interop-types-0.1.5.tgz#9fc9bd7c879f16b8d1bb08373a0f48c3a8b74557"
+ integrity sha512-88h74TMQ6wXChPA6h9Q3E1Jg6TkTHep2+k63OWg3s0ozyGVMeY+TTOti7PFPzq5RhszQPQOoCi59es4MaRvgCw==
+
+"@firebase/auth-types@0.10.1":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@firebase/auth-types/-/auth-types-0.10.1.tgz#7815e71c9c6f072034415524b29ca8f1d1770660"
+ integrity sha512-/+gBHb1O9x/YlG7inXfxff/6X3BPZt4zgBv4kql6HEmdzNQCodIRlEYnI+/da+lN+dha7PjaFH7C7ewMmfV7rw==
+
+"@firebase/auth@0.14.9":
+ version "0.14.9"
+ resolved "https://registry.yarnpkg.com/@firebase/auth/-/auth-0.14.9.tgz#481db24d5bd6eded8ac2e5aea6edb9307040229c"
+ integrity sha512-PxYa2r5qUEdheXTvqROFrMstK8W4uPiP7NVfp+2Bec+AjY5PxZapCx/YFDLkU0D7YBI82H74PtZrzdJZw7TJ4w==
+ dependencies:
+ "@firebase/auth-types" "0.10.1"
+
+"@firebase/component@0.1.17":
+ version "0.1.17"
+ resolved "https://registry.yarnpkg.com/@firebase/component/-/component-0.1.17.tgz#2ce3e1aa060eccf0f06d20368ef9a32cf07c07be"
+ integrity sha512-/tN5iLcFp9rdpTfCJPfQ/o2ziGHlDxOzNx6XD2FoHlu4pG/PPGu+59iRfQXIowBGhxcTGD/l7oJhZEY/PVg0KQ==
+ dependencies:
+ "@firebase/util" "0.3.0"
+ tslib "^1.11.1"
+
+"@firebase/database-types@0.5.1":
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/@firebase/database-types/-/database-types-0.5.1.tgz#fab2f3fb48eec374a9f435ed21e138635cb9b71c"
+ integrity sha512-onQxom1ZBYBJ648w/VNRzUewovEDAH7lvnrrpCd69ukkyrMk6rGEO/PQ9BcNEbhlNtukpsqRS0oNOFlHs0FaSA==
+ dependencies:
+ "@firebase/app-types" "0.6.1"
+
+"@firebase/database@0.6.9":
+ version "0.6.9"
+ resolved "https://registry.yarnpkg.com/@firebase/database/-/database-0.6.9.tgz#18a4bdc93b0b10c19a8ad4ff616bba196e5a16e0"
+ integrity sha512-+X2dNFDpcLEcDRdXp2Hgkf0RnNz3AOIC+Y7UFMQYadm9buB+snXomlnlkMzOj6o+Cp3V7GnpBrKKeeFqzF6wGQ==
+ dependencies:
+ "@firebase/auth-interop-types" "0.1.5"
+ "@firebase/component" "0.1.17"
+ "@firebase/database-types" "0.5.1"
+ "@firebase/logger" "0.2.6"
+ "@firebase/util" "0.3.0"
+ faye-websocket "0.11.3"
+ tslib "^1.11.1"
+
+"@firebase/firestore-types@1.12.0":
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/@firebase/firestore-types/-/firestore-types-1.12.0.tgz#511e572e946b07f5a603c90e078f0cd714923fac"
+ integrity sha512-OqNxVb63wPZdUc7YnpacAW1WNIMSKERSewCRi+unCQ0YI0KNfrDSypyGCyel+S3GdOtKMk9KnvDknaGbnaFX4g==
+
+"@firebase/firestore@1.16.2":
+ version "1.16.2"
+ resolved "https://registry.yarnpkg.com/@firebase/firestore/-/firestore-1.16.2.tgz#66eedeefab569331efc1ad9ab49a8f1c867a9163"
+ integrity sha512-iIkAL860oD/QA1uYI9JBbWqBYFWd+DnuSj//BIbOGn3DNAruDFy07g8re1vn+0MMas9bMk6CZATJNCFPeH8AsQ==
+ dependencies:
+ "@firebase/component" "0.1.17"
+ "@firebase/firestore-types" "1.12.0"
+ "@firebase/logger" "0.2.6"
+ "@firebase/util" "0.3.0"
+ "@firebase/webchannel-wrapper" "0.2.41"
+ "@grpc/grpc-js" "^1.0.0"
+ "@grpc/proto-loader" "^0.5.0"
+ tslib "^1.11.1"
+
+"@firebase/functions-types@0.3.17":
+ version "0.3.17"
+ resolved "https://registry.yarnpkg.com/@firebase/functions-types/-/functions-types-0.3.17.tgz#348bf5528b238eeeeeae1d52e8ca547b21d33a94"
+ integrity sha512-DGR4i3VI55KnYk4IxrIw7+VG7Q3gA65azHnZxo98Il8IvYLr2UTBlSh72dTLlDf25NW51HqvJgYJDKvSaAeyHQ==
+
+"@firebase/functions@0.4.49":
+ version "0.4.49"
+ resolved "https://registry.yarnpkg.com/@firebase/functions/-/functions-0.4.49.tgz#cca60a2f8e188e020c7e5a5ecf075474885ffb03"
+ integrity sha512-ma3+z1wMKervmEJCLWxwIjbSV+n3/BTfFPSZdTjt18Wgiso5q4BzEObFkorxaXZiyT3KpZ0qOO97lgcoth2hIA==
+ dependencies:
+ "@firebase/component" "0.1.17"
+ "@firebase/functions-types" "0.3.17"
+ "@firebase/messaging-types" "0.4.5"
+ isomorphic-fetch "2.2.1"
+ tslib "^1.11.1"
+
+"@firebase/installations-types@0.3.4":
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/@firebase/installations-types/-/installations-types-0.3.4.tgz#589a941d713f4f64bf9f4feb7f463505bab1afa2"
+ integrity sha512-RfePJFovmdIXb6rYwtngyxuEcWnOrzdZd9m7xAW0gRxDIjBT20n3BOhjpmgRWXo/DAxRmS7bRjWAyTHY9cqN7Q==
+
+"@firebase/installations@0.4.15":
+ version "0.4.15"
+ resolved "https://registry.yarnpkg.com/@firebase/installations/-/installations-0.4.15.tgz#ec5a098aea6b5e3e29e73270eeaaf9791587d20a"
+ integrity sha512-6uGgDocDGu5gI7FeDBDcLaH4npz0cm2f0kctOFK+5N1CyK8Tv2YGv5/uGqlrTtSwDW+8tgKNo/5XXJJOPr9Jsw==
+ dependencies:
+ "@firebase/component" "0.1.17"
+ "@firebase/installations-types" "0.3.4"
+ "@firebase/util" "0.3.0"
+ idb "3.0.2"
+ tslib "^1.11.1"
+
+"@firebase/logger@0.2.6":
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/@firebase/logger/-/logger-0.2.6.tgz#3aa2ca4fe10327cabf7808bd3994e88db26d7989"
+ integrity sha512-KIxcUvW/cRGWlzK9Vd2KB864HlUnCfdTH0taHE0sXW5Xl7+W68suaeau1oKNEqmc3l45azkd4NzXTCWZRZdXrw==
+
+"@firebase/messaging-types@0.4.5":
+ version "0.4.5"
+ resolved "https://registry.yarnpkg.com/@firebase/messaging-types/-/messaging-types-0.4.5.tgz#452572d3c5b7fa83659fdb1884450477229f5dc4"
+ integrity sha512-sux4fgqr/0KyIxqzHlatI04Ajs5rc3WM+WmtCpxrKP1E5Bke8xu/0M+2oy4lK/sQ7nov9z15n3iltAHCgTRU3Q==
+
+"@firebase/messaging@0.6.21":
+ version "0.6.21"
+ resolved "https://registry.yarnpkg.com/@firebase/messaging/-/messaging-0.6.21.tgz#d301de72ad055c3f302b917b8a11373cd78c7431"
+ integrity sha512-cunbFNCtUy25Zp4/jn5lenYUPqgHpjKNUwRjKc7vIzYb4IT2Vu/7kaEptO3K0KQBC6O0QV3ZtqQxKrI9aLiSHg==
+ dependencies:
+ "@firebase/component" "0.1.17"
+ "@firebase/installations" "0.4.15"
+ "@firebase/messaging-types" "0.4.5"
+ "@firebase/util" "0.3.0"
+ idb "3.0.2"
+ tslib "^1.11.1"
+
+"@firebase/performance-types@0.0.13":
+ version "0.0.13"
+ resolved "https://registry.yarnpkg.com/@firebase/performance-types/-/performance-types-0.0.13.tgz#58ce5453f57e34b18186f74ef11550dfc558ede6"
+ integrity sha512-6fZfIGjQpwo9S5OzMpPyqgYAUZcFzZxHFqOyNtorDIgNXq33nlldTL/vtaUZA8iT9TT5cJlCrF/jthKU7X21EA==
+
+"@firebase/performance@0.3.10":
+ version "0.3.10"
+ resolved "https://registry.yarnpkg.com/@firebase/performance/-/performance-0.3.10.tgz#b68336e23f4b5422bd67f6ce35e28293a6b8945e"
+ integrity sha512-j/hsx2xfOO1hZulmz7KxemoTIVXxrv94rt79x8qO1HzysT7ziViNvQ9cQGjDZWwVSO29TpLH31GOWLVnwmnxWQ==
+ dependencies:
+ "@firebase/component" "0.1.17"
+ "@firebase/installations" "0.4.15"
+ "@firebase/logger" "0.2.6"
+ "@firebase/performance-types" "0.0.13"
+ "@firebase/util" "0.3.0"
+ tslib "^1.11.1"
+
+"@firebase/polyfill@0.3.36":
+ version "0.3.36"
+ resolved "https://registry.yarnpkg.com/@firebase/polyfill/-/polyfill-0.3.36.tgz#c057cce6748170f36966b555749472b25efdb145"
+ integrity sha512-zMM9oSJgY6cT2jx3Ce9LYqb0eIpDE52meIzd/oe/y70F+v9u1LDqk5kUF5mf16zovGBWMNFmgzlsh6Wj0OsFtg==
+ dependencies:
+ core-js "3.6.5"
+ promise-polyfill "8.1.3"
+ whatwg-fetch "2.0.4"
+
+"@firebase/remote-config-types@0.1.9":
+ version "0.1.9"
+ resolved "https://registry.yarnpkg.com/@firebase/remote-config-types/-/remote-config-types-0.1.9.tgz#fe6bbe4d08f3b6e92fce30e4b7a9f4d6a96d6965"
+ integrity sha512-G96qnF3RYGbZsTRut7NBX0sxyczxt1uyCgXQuH/eAfUCngxjEGcZQnBdy6mvSdqdJh5mC31rWPO4v9/s7HwtzA==
+
+"@firebase/remote-config@0.1.26":
+ version "0.1.26"
+ resolved "https://registry.yarnpkg.com/@firebase/remote-config/-/remote-config-0.1.26.tgz#62f448237bc46b986c27ac623b5cc5852007ea05"
+ integrity sha512-B6+nARVNcswysd6C16nK5tdGECgEpr1wdH6LyqylEQ8hUxYWN18qe49b9uPu+ktaHq0gFLg03gayZvQs7fxJOg==
+ dependencies:
+ "@firebase/component" "0.1.17"
+ "@firebase/installations" "0.4.15"
+ "@firebase/logger" "0.2.6"
+ "@firebase/remote-config-types" "0.1.9"
+ "@firebase/util" "0.3.0"
+ tslib "^1.11.1"
+
+"@firebase/storage-types@0.3.13":
+ version "0.3.13"
+ resolved "https://registry.yarnpkg.com/@firebase/storage-types/-/storage-types-0.3.13.tgz#cd43e939a2ab5742e109eb639a313673a48b5458"
+ integrity sha512-pL7b8d5kMNCCL0w9hF7pr16POyKkb3imOW7w0qYrhBnbyJTdVxMWZhb0HxCFyQWC0w3EiIFFmxoz8NTFZDEFog==
+
+"@firebase/storage@0.3.41":
+ version "0.3.41"
+ resolved "https://registry.yarnpkg.com/@firebase/storage/-/storage-0.3.41.tgz#cba8946f980d70e68d52cfb110ad109592a645d0"
+ integrity sha512-2imzI78HcB7FjUqXMRHsGLlZnTYkaCHBjJflSbypwLrEty0hreR6vx3ThOO5y0MFH93WwifqUFJAa+Twkx6CIA==
+ dependencies:
+ "@firebase/component" "0.1.17"
+ "@firebase/storage-types" "0.3.13"
+ "@firebase/util" "0.3.0"
+ tslib "^1.11.1"
+
+"@firebase/util@0.3.0":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@firebase/util/-/util-0.3.0.tgz#c3e938192cde4e1c6260aecaaf22103add2352f5"
+ integrity sha512-GTwC+FSLeCPc44/TXCDReNQ5FPRIS5cb8Gr1XcD1TgiNBOvmyx61Om2YLwHp2GnN++6m6xmwmXARm06HOukATA==
+ dependencies:
+ tslib "^1.11.1"
+
+"@firebase/webchannel-wrapper@0.2.41":
+ version "0.2.41"
+ resolved "https://registry.yarnpkg.com/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.2.41.tgz#4e470c25a99fa0b1f629f1c5ef180a318d399fd0"
+ integrity sha512-XcdMT5PSZHiuf7LJIhzKIe+RyYa25S3LHRRvLnZc6iFjwXkrSDJ8J/HWO6VT8d2ZTbawp3VcLEjRF/VN8glCrA==
+
+"@grpc/grpc-js@^1.0.0":
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.1.3.tgz#0b91b166d744b6a43b00430dceff0f0ff88c98d5"
+ integrity sha512-HtOsk2YUofBcm1GkPqGzb6pwHhv+74eC2CUO229USIDKRtg30ycbZmqC+HdNtY3nHqoc9IgcRlntFgopyQoYCA==
+ dependencies:
+ semver "^6.2.0"
+
+"@grpc/proto-loader@^0.5.0":
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.5.5.tgz#6725e7a1827bdf8e92e29fbf4e9ef0203c0906a9"
+ integrity sha512-WwN9jVNdHRQoOBo9FDH7qU+mgfjPc8GygPYms3M+y3fbQLfnCe/Kv/E01t7JRgnrsOHH8euvSbed3mIalXhwqQ==
+ dependencies:
+ lodash.camelcase "^4.3.0"
+ protobufjs "^6.8.6"
+
"@hapi/address@2.x.x":
version "2.1.4"
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
@@ -1105,6 +1343,59 @@
"@types/yargs" "^15.0.0"
chalk "^3.0.0"
+"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"
+ integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78=
+
+"@protobufjs/base64@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735"
+ integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==
+
+"@protobufjs/codegen@^2.0.4":
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb"
+ integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==
+
+"@protobufjs/eventemitter@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70"
+ integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A=
+
+"@protobufjs/fetch@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45"
+ integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=
+ dependencies:
+ "@protobufjs/aspromise" "^1.1.1"
+ "@protobufjs/inquire" "^1.1.0"
+
+"@protobufjs/float@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1"
+ integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=
+
+"@protobufjs/inquire@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089"
+ integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=
+
+"@protobufjs/path@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d"
+ integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=
+
+"@protobufjs/pool@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54"
+ integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=
+
+"@protobufjs/utf8@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
+ integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=
+
"@react-native-community/async-storage@^1.11.0":
version "1.11.0"
resolved "https://registry.yarnpkg.com/@react-native-community/async-storage/-/async-storage-1.11.0.tgz#bf81b8813080846f150c67f531987c429b442166"
@@ -1288,6 +1579,16 @@
"@types/istanbul-lib-coverage" "*"
"@types/istanbul-lib-report" "*"
+"@types/long@^4.0.1":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9"
+ integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==
+
+"@types/node@^13.7.0":
+ version "13.13.15"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.15.tgz#fe1cc3aa465a3ea6858b793fd380b66c39919766"
+ integrity sha512-kwbcs0jySLxzLsa2nWUAGOd/s21WU1jebrEdtzhsj1D4Yps1EOuyI1Qcu+FD56dL7NRNIJtDDjcqIG22NwkgLw==
+
"@types/stack-utils@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
@@ -2051,6 +2352,11 @@ core-js-compat@^3.6.2:
browserslist "^4.8.5"
semver "7.0.0"
+core-js@3.6.5, core-js@^3.6.5:
+ version "3.6.5"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a"
+ integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==
+
core-js@^1.0.0:
version "1.2.7"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
@@ -2061,11 +2367,6 @@ core-js@^2.2.2, core-js@^2.4.1:
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
-core-js@^3.6.5:
- version "3.6.5"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a"
- integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==
-
core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
@@ -2240,6 +2541,11 @@ destroy@~1.0.4:
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
+dom-storage@2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/dom-storage/-/dom-storage-2.1.0.tgz#00fb868bc9201357ea243c7bcfd3304c1e34ea39"
+ integrity sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q==
+
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
@@ -2612,6 +2918,13 @@ fancy-log@^1.3.2:
parse-node-version "^1.0.0"
time-stamp "^1.0.0"
+faye-websocket@0.11.3:
+ version "0.11.3"
+ resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e"
+ integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==
+ dependencies:
+ websocket-driver ">=0.5.1"
+
fb-watchman@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85"
@@ -2748,6 +3061,26 @@ find-up@^4.1.0:
locate-path "^5.0.0"
path-exists "^4.0.0"
+firebase@^7.17.1:
+ version "7.17.1"
+ resolved "https://registry.yarnpkg.com/firebase/-/firebase-7.17.1.tgz#6b2566d91a820a7993e3d2c75435f8baaabb58bb"
+ integrity sha512-g2Wkk2fz8VoeSrxv2PIQizm2j74EtbpxQ+wd2AvH2iEF5LRaJOsk3zVBtIlyJIQ3vGTmlutIxtyyoDAQcPO9TA==
+ dependencies:
+ "@firebase/analytics" "0.4.1"
+ "@firebase/app" "0.6.9"
+ "@firebase/app-types" "0.6.1"
+ "@firebase/auth" "0.14.9"
+ "@firebase/database" "0.6.9"
+ "@firebase/firestore" "1.16.2"
+ "@firebase/functions" "0.4.49"
+ "@firebase/installations" "0.4.15"
+ "@firebase/messaging" "0.6.21"
+ "@firebase/performance" "0.3.10"
+ "@firebase/polyfill" "0.3.36"
+ "@firebase/remote-config" "0.1.26"
+ "@firebase/storage" "0.3.41"
+ "@firebase/util" "0.3.0"
+
fontfaceobserver@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/fontfaceobserver/-/fontfaceobserver-2.1.0.tgz#e2705d293e2c585a6531c2a722905657317a2991"
@@ -2948,6 +3281,11 @@ http-errors@~1.7.2:
statuses ">= 1.5.0 < 2"
toidentifier "1.0.0"
+http-parser-js@>=0.5.1:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77"
+ integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==
+
hyphenate-style-name@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d"
@@ -2967,6 +3305,11 @@ iconv-lite@^0.6.2:
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
+idb@3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/idb/-/idb-3.0.2.tgz#c8e9122d5ddd40f13b60ae665e4862f8b13fa384"
+ integrity sha512-+FLa/0sTXqyux0o6C+i2lOR0VoS60LU/jzUo5xjfY6+7sEEgy4Gz1O7yFBXvjd7N0NyIGWIRg8DcQSLEG+VSPw==
+
image-size@^0.6.0:
version "0.6.3"
resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.6.3.tgz#e7e5c65bb534bd7cdcedd6cb5166272a85f75fb2"
@@ -3272,7 +3615,7 @@ isobject@^3.0.0, isobject@^3.0.1:
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
-isomorphic-fetch@^2.1.1:
+isomorphic-fetch@2.2.1, isomorphic-fetch@^2.1.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=
@@ -3524,6 +3867,11 @@ locate-path@^5.0.0:
dependencies:
p-locate "^4.1.0"
+lodash.camelcase@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
+ integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
+
lodash.throttle@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
@@ -3550,6 +3898,11 @@ logkitty@^0.7.1:
dayjs "^1.8.15"
yargs "^15.1.0"
+long@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
+ integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
+
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
@@ -4385,6 +4738,11 @@ process-nextick-args@~2.0.0:
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+promise-polyfill@8.1.3:
+ version "8.1.3"
+ resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.1.3.tgz#8c99b3cf53f3a91c68226ffde7bde81d7f904116"
+ integrity sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==
+
promise@^7.1.1:
version "7.3.1"
resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
@@ -4401,6 +4759,25 @@ prop-types@15.7.2, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, p
object-assign "^4.1.1"
react-is "^16.8.1"
+protobufjs@^6.8.6:
+ version "6.10.1"
+ resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.10.1.tgz#e6a484dd8f04b29629e9053344e3970cccf13cd2"
+ integrity sha512-pb8kTchL+1Ceg4lFd5XUpK8PdWacbvV5SK2ULH2ebrYtl4GjJmS24m6CKME67jzV53tbJxHlnNOSqQHbTsR9JQ==
+ dependencies:
+ "@protobufjs/aspromise" "^1.1.2"
+ "@protobufjs/base64" "^1.1.2"
+ "@protobufjs/codegen" "^2.0.4"
+ "@protobufjs/eventemitter" "^1.1.0"
+ "@protobufjs/fetch" "^1.1.0"
+ "@protobufjs/float" "^1.0.2"
+ "@protobufjs/inquire" "^1.1.0"
+ "@protobufjs/path" "^1.1.2"
+ "@protobufjs/pool" "^1.1.0"
+ "@protobufjs/utf8" "^1.1.0"
+ "@types/long" "^4.0.1"
+ "@types/node" "^13.7.0"
+ long "^4.0.0"
+
pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
@@ -4767,6 +5144,11 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+safe-buffer@>=5.1.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
safe-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
@@ -4817,7 +5199,7 @@ semver@^5.1.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-semver@^6.3.0:
+semver@^6.2.0, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
@@ -5261,6 +5643,11 @@ toidentifier@1.0.0:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
+tslib@^1.11.1:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
+ integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
+
type-fest@^0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48"
@@ -5488,6 +5875,25 @@ wcwidth@^1.0.1:
dependencies:
defaults "^1.0.3"
+websocket-driver@>=0.5.1:
+ version "0.7.4"
+ resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760"
+ integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
+ dependencies:
+ http-parser-js ">=0.5.1"
+ safe-buffer ">=5.1.0"
+ websocket-extensions ">=0.1.1"
+
+websocket-extensions@>=0.1.1:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
+ integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
+
+whatwg-fetch@2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"
+ integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==
+
whatwg-fetch@>=0.10.0, whatwg-fetch@^3.0.0:
version "3.3.1"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.3.1.tgz#6c1acf37dec176b0fd6bc9a74b616bec2f612935"
@@ -5628,6 +6034,11 @@ xmldom@0.1.x:
resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.31.tgz#b76c9a1bd9f0a9737e5a72dc37231cf38375e2ff"
integrity sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==
+xmlhttprequest@1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc"
+ integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=
+
xpipe@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf"