Skip to content
Snippets Groups Projects
Commit 1a4e2d77 authored by wooshanghyeon's avatar wooshanghyeon
Browse files

connect firebase and examples signUp & signIn

parent 577f6733
Branches
No related tags found
No related merge requests found
/** import React, {useState} from 'react';
* Sample React Native App
* https://github.com/facebook/react-native
*
* @format
* @flow strict-local
*/
import React from 'react'; import {Text, TextInput, TouchableOpacity, View} from 'react-native';
import {signIn, signUp} from './lib/auth';
import {Text, View} from 'react-native'; import {Alert} from 'react-native';
const App = () => { const App = () => {
const [email, setEmail] = useState();
const [password, setPass] = useState();
const onSignUp = async () => {
console.log(email, password);
try {
const {user} = await signUp({email, password});
console.log(user);
Alert.alert('회원가입 성공!');
} catch (e) {
console.log(e);
Alert.alert('회원가입 실패ㅠㅠ');
}
};
const onSignIn = async () => {
console.log(email, password);
try {
const {user} = await signIn({email, password});
console.log(user);
Alert.alert('로그인 성공!.');
} catch (e) {
Alert.alert('로그인에 실패ㅠㅠ');
}
};
return ( return (
<View> <View>
<Text>Hello</Text> <Text style={{fontSize: 20, fontWeight: 'bold'}}>회원가입 예시</Text>
<View style={{borderWidth: 3}}>
<TextInput
onChangeText={setEmail}
placeholder="email"
placeholderTextColor={'black'}
style={{borderColor: 'red', borderBottomWidth: 1}}
/>
<TextInput
onChangeText={setPass}
placeholder="password"
placeholderTextColor={'black'}
style={{borderColor: 'red', borderBottomWidth: 1}}
/>
<TouchableOpacity onPress={onSignUp}>
<Text>SignUp</Text>
</TouchableOpacity>
</View>
<Text style={{fontSize: 20, fontWeight: 'bold'}}>로그인 예시</Text>
<View style={{borderWidth: 3}}>
<TextInput
onChangeText={setEmail}
placeholder="email"
placeholderTextColor={'black'}
style={{borderColor: 'red', borderBottomWidth: 1}}
/>
<TextInput
onChangeText={setPass}
placeholder="password"
placeholderTextColor={'black'}
style={{borderColor: 'red', borderBottomWidth: 1}}
/>
<TouchableOpacity onPress={onSignIn}>
<Text>Login</Text>
</TouchableOpacity>
</View>
</View> </View>
); );
}; };
......
apply plugin: "com.android.application" apply plugin: "com.android.application"
apply plugin: "com.google.gms.google-services"
import com.android.build.OutputFile import com.android.build.OutputFile
import org.apache.tools.ant.taskdefs.condition.Os import org.apache.tools.ant.taskdefs.condition.Os
...@@ -141,7 +142,7 @@ android { ...@@ -141,7 +142,7 @@ android {
versionCode 1 versionCode 1
versionName "1.0" versionName "1.0"
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
multiDexEnabled true
if (isNewArchitectureEnabled()) { if (isNewArchitectureEnabled()) {
// We configure the NDK build only if you decide to opt-in for the New Architecture. // We configure the NDK build only if you decide to opt-in for the New Architecture.
externalNativeBuild { externalNativeBuild {
...@@ -279,7 +280,7 @@ dependencies { ...@@ -279,7 +280,7 @@ dependencies {
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") { debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
exclude group:'com.facebook.flipper' exclude group:'com.facebook.flipper'
} }
implementation platform('com.google.firebase:firebase-bom:29.1.0')
if (enableHermes) { if (enableHermes) {
def hermesPath = "../../node_modules/hermes-engine/android/"; def hermesPath = "../../node_modules/hermes-engine/android/";
debugImplementation files(hermesPath + "hermes-debug.aar") debugImplementation files(hermesPath + "hermes-debug.aar")
......
{
"project_info": {
"project_number": "1007669651619",
"project_id": "foss2023-1-by-201821197-woo",
"storage_bucket": "foss2023-1-by-201821197-woo.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:1007669651619:android:5eb3c5de6657a601197716",
"android_client_info": {
"package_name": "com.awesomeproject"
}
},
"oauth_client": [
{
"client_id": "1007669651619-gnljjv57opi7lsuikrfbqapnjhpm2mjn.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyBMI9lTqKT4oh4YAP1yXfGX9T50WdcXgc0"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "1007669651619-gnljjv57opi7lsuikrfbqapnjhpm2mjn.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}
\ No newline at end of file
...@@ -25,6 +25,7 @@ buildscript { ...@@ -25,6 +25,7 @@ buildscript {
classpath("com.android.tools.build:gradle:7.0.4") classpath("com.android.tools.build:gradle:7.0.4")
classpath("com.facebook.react:react-native-gradle-plugin") classpath("com.facebook.react:react-native-gradle-plugin")
classpath("de.undercouch:gradle-download-task:4.1.2") classpath("de.undercouch:gradle-download-task:4.1.2")
classpath 'com.google.gms:google-services:4.3.10'
// NOTE: Do not place your application dependencies here; they belong // NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // in the individual module build.gradle files
} }
......
import auth from '@react-native-firebase/auth';
export function signIn({email, password}) {
return auth().signInWithEmailAndPassword(email, password);
}
export function signUp({email, password}) {
return auth().createUserWithEmailAndPassword(email, password);
}
export function subscribeAuth(callback) {
return auth().onAuthStateChanged(callback);
}
export function signOut() {
return auth().signOut();
}
import firestore from '@react-native-firebase/firestore';
export const userCollection = firestore().collection('users');
export function createUser({id, displayName, photoURL}) {
return userCollection.doc(id).set({
id,
displayName,
photoURL,
});
}
export async function getUser(id) {
const doc = await userCollection.doc(id).get();
return doc.data();
}
...@@ -8,6 +8,10 @@ ...@@ -8,6 +8,10 @@
"name": "awesomeproject", "name": "awesomeproject",
"version": "0.0.1", "version": "0.0.1",
"dependencies": { "dependencies": {
"@react-native-firebase/app": "^18.0.0",
"@react-native-firebase/auth": "^18.0.0",
"@react-native-firebase/firestore": "^18.0.0",
"@react-native-firebase/storage": "^18.0.0",
"react": "17.0.2", "react": "17.0.2",
"react-native": "0.68.2" "react-native": "0.68.2"
}, },
...@@ -4041,6 +4045,58 @@ ...@@ -4041,6 +4045,58 @@
"integrity": "sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==", "integrity": "sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==",
"dev": true "dev": true
}, },
"node_modules/@react-native-firebase/app": {
"version": "18.0.0",
"resolved": "https://registry.npmjs.org/@react-native-firebase/app/-/app-18.0.0.tgz",
"integrity": "sha512-jvxitPNkcxE6IyGHiOGaURA42ZHBesTeSLbOfqQL6ZtTkQ0sPkFk6VPM2OR5s5S2NfOCfd9dddOhFLIX5VE3ig==",
"dependencies": {
"opencollective-postinstall": "^2.0.1",
"superstruct": "^0.6.2"
},
"peerDependencies": {
"expo": ">=47.0.0",
"react": "*",
"react-native": "*"
},
"peerDependenciesMeta": {
"expo": {
"optional": true
}
}
},
"node_modules/@react-native-firebase/auth": {
"version": "18.0.0",
"resolved": "https://registry.npmjs.org/@react-native-firebase/auth/-/auth-18.0.0.tgz",
"integrity": "sha512-9FOsvNH/w5+Cr48nxuJ3Lb85vxFe2A45w37OMxzfZCnLYXJJBvlF1espy3SCMKzwA31RN9+D0jH7OavacKbpzw==",
"dependencies": {
"plist": "^3.0.5"
},
"peerDependencies": {
"@react-native-firebase/app": "18.0.0",
"expo": ">=47.0.0"
},
"peerDependenciesMeta": {
"expo": {
"optional": true
}
}
},
"node_modules/@react-native-firebase/firestore": {
"version": "18.0.0",
"resolved": "https://registry.npmjs.org/@react-native-firebase/firestore/-/firestore-18.0.0.tgz",
"integrity": "sha512-jGalEquLZGvn2iM1pGQsC0tFnUlA1mRt7hqYbrSSo8eVdcr05NhlNwNvBu2ShcVi1MCQvtsPmEQ8ppu3pt0srw==",
"peerDependencies": {
"@react-native-firebase/app": "18.0.0"
}
},
"node_modules/@react-native-firebase/storage": {
"version": "18.0.0",
"resolved": "https://registry.npmjs.org/@react-native-firebase/storage/-/storage-18.0.0.tgz",
"integrity": "sha512-aJchEV1nHzECq5bNE9bA6sczJs0ox59IQoox9vnuzdfh+Aep3ezjQBVJckriQ7/W/pV28fs32XyRx3GLVSRq6w==",
"peerDependencies": {
"@react-native-firebase/app": "18.0.0"
}
},
"node_modules/@react-native/assets": { "node_modules/@react-native/assets": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz",
...@@ -7307,6 +7363,17 @@ ...@@ -7307,6 +7363,17 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/for-own": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
"integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==",
"dependencies": {
"for-in": "^1.0.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/form-data": { "node_modules/form-data": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
...@@ -11488,6 +11555,34 @@ ...@@ -11488,6 +11555,34 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/mixin-object": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
"integrity": "sha512-ALGF1Jt9ouehcaXaHhn6t1yGWRqGaHkPFndtFVHfZXOvkIZ/yoGaSi0AHVTafb3ZBGg4dr/bDwnaEKqCXzchMA==",
"dependencies": {
"for-in": "^0.1.3",
"is-extendable": "^0.1.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/mixin-object/node_modules/for-in": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
"integrity": "sha512-F0to7vbBSHP8E3l6dCjxNOLuSFAACIxFy3UehTUlG7svlXi37HHsDkyVcHo0Pq8QwrE+pXvWSVX3ZT1T9wAZ9g==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/mixin-object/node_modules/is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/mkdirp": { "node_modules/mkdirp": {
"version": "0.5.6", "version": "0.5.6",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
...@@ -12001,6 +12096,14 @@ ...@@ -12001,6 +12096,14 @@
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/opencollective-postinstall": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz",
"integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==",
"bin": {
"opencollective-postinstall": "index.js"
}
},
"node_modules/optionator": { "node_modules/optionator": {
"version": "0.9.1", "version": "0.9.1",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
...@@ -14088,6 +14191,58 @@ ...@@ -14088,6 +14191,58 @@
"resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz",
"integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw=="
}, },
"node_modules/superstruct": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.6.2.tgz",
"integrity": "sha512-lvA97MFAJng3rfjcafT/zGTSWm6Tbpk++DP6It4Qg7oNaeM+2tdJMuVgGje21/bIpBEs6iQql1PJH6dKTjl4Ig==",
"dependencies": {
"clone-deep": "^2.0.1",
"kind-of": "^6.0.1"
}
},
"node_modules/superstruct/node_modules/clone-deep": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz",
"integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==",
"dependencies": {
"for-own": "^1.0.0",
"is-plain-object": "^2.0.4",
"kind-of": "^6.0.0",
"shallow-clone": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/superstruct/node_modules/is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/superstruct/node_modules/shallow-clone": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz",
"integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==",
"dependencies": {
"is-extendable": "^0.1.1",
"kind-of": "^5.0.0",
"mixin-object": "^2.0.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/superstruct/node_modules/shallow-clone/node_modules/kind-of": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/supports-color": { "node_modules/supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
...@@ -18047,6 +18202,35 @@ ...@@ -18047,6 +18202,35 @@
"integrity": "sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==", "integrity": "sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==",
"dev": true "dev": true
}, },
"@react-native-firebase/app": {
"version": "18.0.0",
"resolved": "https://registry.npmjs.org/@react-native-firebase/app/-/app-18.0.0.tgz",
"integrity": "sha512-jvxitPNkcxE6IyGHiOGaURA42ZHBesTeSLbOfqQL6ZtTkQ0sPkFk6VPM2OR5s5S2NfOCfd9dddOhFLIX5VE3ig==",
"requires": {
"opencollective-postinstall": "^2.0.1",
"superstruct": "^0.6.2"
}
},
"@react-native-firebase/auth": {
"version": "18.0.0",
"resolved": "https://registry.npmjs.org/@react-native-firebase/auth/-/auth-18.0.0.tgz",
"integrity": "sha512-9FOsvNH/w5+Cr48nxuJ3Lb85vxFe2A45w37OMxzfZCnLYXJJBvlF1espy3SCMKzwA31RN9+D0jH7OavacKbpzw==",
"requires": {
"plist": "^3.0.5"
}
},
"@react-native-firebase/firestore": {
"version": "18.0.0",
"resolved": "https://registry.npmjs.org/@react-native-firebase/firestore/-/firestore-18.0.0.tgz",
"integrity": "sha512-jGalEquLZGvn2iM1pGQsC0tFnUlA1mRt7hqYbrSSo8eVdcr05NhlNwNvBu2ShcVi1MCQvtsPmEQ8ppu3pt0srw==",
"requires": {}
},
"@react-native-firebase/storage": {
"version": "18.0.0",
"resolved": "https://registry.npmjs.org/@react-native-firebase/storage/-/storage-18.0.0.tgz",
"integrity": "sha512-aJchEV1nHzECq5bNE9bA6sczJs0ox59IQoox9vnuzdfh+Aep3ezjQBVJckriQ7/W/pV28fs32XyRx3GLVSRq6w==",
"requires": {}
},
"@react-native/assets": { "@react-native/assets": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz",
...@@ -20534,6 +20718,14 @@ ...@@ -20534,6 +20718,14 @@
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
"integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ=="
}, },
"for-own": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
"integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==",
"requires": {
"for-in": "^1.0.1"
}
},
"form-data": { "form-data": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
...@@ -23695,6 +23887,27 @@ ...@@ -23695,6 +23887,27 @@
"is-extendable": "^1.0.1" "is-extendable": "^1.0.1"
} }
}, },
"mixin-object": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
"integrity": "sha512-ALGF1Jt9ouehcaXaHhn6t1yGWRqGaHkPFndtFVHfZXOvkIZ/yoGaSi0AHVTafb3ZBGg4dr/bDwnaEKqCXzchMA==",
"requires": {
"for-in": "^0.1.3",
"is-extendable": "^0.1.1"
},
"dependencies": {
"for-in": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
"integrity": "sha512-F0to7vbBSHP8E3l6dCjxNOLuSFAACIxFy3UehTUlG7svlXi37HHsDkyVcHo0Pq8QwrE+pXvWSVX3ZT1T9wAZ9g=="
},
"is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="
}
}
},
"mkdirp": { "mkdirp": {
"version": "0.5.6", "version": "0.5.6",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
...@@ -24091,6 +24304,11 @@ ...@@ -24091,6 +24304,11 @@
} }
} }
}, },
"opencollective-postinstall": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz",
"integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q=="
},
"optionator": { "optionator": {
"version": "0.9.1", "version": "0.9.1",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
...@@ -25731,6 +25949,50 @@ ...@@ -25731,6 +25949,50 @@
"resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz",
"integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw=="
}, },
"superstruct": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.6.2.tgz",
"integrity": "sha512-lvA97MFAJng3rfjcafT/zGTSWm6Tbpk++DP6It4Qg7oNaeM+2tdJMuVgGje21/bIpBEs6iQql1PJH6dKTjl4Ig==",
"requires": {
"clone-deep": "^2.0.1",
"kind-of": "^6.0.1"
},
"dependencies": {
"clone-deep": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz",
"integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==",
"requires": {
"for-own": "^1.0.0",
"is-plain-object": "^2.0.4",
"kind-of": "^6.0.0",
"shallow-clone": "^1.0.0"
}
},
"is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="
},
"shallow-clone": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz",
"integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==",
"requires": {
"is-extendable": "^0.1.1",
"kind-of": "^5.0.0",
"mixin-object": "^2.0.1"
},
"dependencies": {
"kind-of": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
}
}
}
}
},
"supports-color": { "supports-color": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
...@@ -10,6 +10,10 @@ ...@@ -10,6 +10,10 @@
"lint": "eslint ." "lint": "eslint ."
}, },
"dependencies": { "dependencies": {
"@react-native-firebase/app": "^18.0.0",
"@react-native-firebase/auth": "^18.0.0",
"@react-native-firebase/firestore": "^18.0.0",
"@react-native-firebase/storage": "^18.0.0",
"react": "17.0.2", "react": "17.0.2",
"react-native": "0.68.2" "react-native": "0.68.2"
}, },
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment