From 244a7892ec623fcfbfca377bab4d4e59a5cd06e8 Mon Sep 17 00:00:00 2001 From: Bruno Lemos Date: Sun, 3 Dec 2017 23:21:09 -0200 Subject: [PATCH] Replace firebase with react-native-firebase --- android/app/build.gradle | 16 +- android/app/google-services.json | 62 +++++ .../brunolemos/devhub/MainApplication.java | 6 + android/build.gradle | 5 +- android/settings.gradle | 2 + ios/Podfile | 8 + ios/Podfile.lock | 80 ++++++ ios/devhub.xcodeproj/project.pbxproj | 117 ++++++++ .../contents.xcworkspacedata | 10 + ios/devhub/AppDelegate.m | 5 +- ios/devhub/GoogleService-Info.plist | 42 +++ package.json | 2 +- src/libs/firebase/index.js | 3 + src/libs/firebase/index.web.js | 3 + src/sagas/auth.js | 2 +- src/store/middlewares/firebase/index.js | 2 +- src/utils/services/setup.dev.js | 2 +- src/utils/services/setup.prod.js | 2 +- web/package.json | 24 +- web/yarn.lock | 184 +++++++++++- yarn.lock | 262 ++++++------------ 21 files changed, 628 insertions(+), 211 deletions(-) create mode 100644 android/app/google-services.json create mode 100644 ios/Podfile create mode 100644 ios/Podfile.lock create mode 100644 ios/devhub.xcworkspace/contents.xcworkspacedata create mode 100644 ios/devhub/GoogleService-Info.plist create mode 100644 src/libs/firebase/index.js create mode 100644 src/libs/firebase/index.web.js diff --git a/android/app/build.gradle b/android/app/build.gradle index d0a1ae57..49e7a318 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -65,8 +65,8 @@ import com.android.build.OutputFile * ] */ project.ext.react = [ - entryFile: "index.js", - nodeExecutableAndArgs : ["/usr/local/bin/node"] + entryFile : "index.js", + nodeExecutableAndArgs: ["/usr/local/bin/node"] ]; apply from: "../../node_modules/react-native/react.gradle" @@ -120,7 +120,7 @@ android { variant.outputs.each { output -> // For each separate APK per architecture, set a unique version code as described here: // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits - def versionCodes = ["armeabi-v7a":1, "x86":2] + def versionCodes = ["armeabi-v7a": 1, "x86": 2] def abi = output.getFilter(OutputFile.ABI) if (abi != null) { // null for the universal-debug, universal-release variants output.versionCodeOverride = @@ -131,6 +131,14 @@ android { } dependencies { + compile "com.google.android.gms:play-services-base:11.6.2" + + implementation 'com.google.firebase:firebase-auth:11.6.2' + implementation 'com.google.firebase:firebase-core:11.6.2' + implementation 'com.google.firebase:firebase-database:11.6.2' + compile(project(':react-native-firebase')) { + transitive = false + } compile project(':react-native-code-push') compile project(':react-native-vector-icons') compile project(':react-native-prompt-android') @@ -147,3 +155,5 @@ task copyDownloadableDepsToLibs(type: Copy) { from configurations.compile into 'libs' } + +apply plugin: 'com.google.gms.google-services' \ No newline at end of file diff --git a/android/app/google-services.json b/android/app/google-services.json new file mode 100644 index 00000000..c85c9185 --- /dev/null +++ b/android/app/google-services.json @@ -0,0 +1,62 @@ +{ + "project_info": { + "project_number": "589579854600", + "firebase_url": "https://devhub-65899.firebaseio.com", + "project_id": "devhub-65899", + "storage_bucket": "devhub-65899.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:589579854600:android:9e47b631a5be6ed3", + "android_client_info": { + "package_name": "org.brunolemos.devhub" + } + }, + "oauth_client": [ + { + "client_id": "589579854600-6aqpf7hs07lgmu50vvqer3cr7ebbcci9.apps.googleusercontent.com", + "client_type": 1, + "android_info": { + "package_name": "org.brunolemos.devhub", + "certificate_hash": "de90c81a791b4f6c17ab170051683e9ebc99eebe" + } + }, + { + "client_id": "589579854600-vcf6q5kovufi6jmf905k3hh76754jgdv.apps.googleusercontent.com", + "client_type": 3 + } + ], + "api_key": [ + { + "current_key": "AIzaSyBhCQmv6cXRxu9bUQcvsVBlP4cwJvLwo0U" + } + ], + "services": { + "analytics_service": { + "status": 1 + }, + "appinvite_service": { + "status": 2, + "other_platform_oauth_client": [ + { + "client_id": "589579854600-nd8bv6fcdjvfg0ke6j4cu44brnqdhs55.apps.googleusercontent.com", + "client_type": 2, + "ios_info": { + "bundle_id": "org.brunolemos.devhub" + } + }, + { + "client_id": "589579854600-vcf6q5kovufi6jmf905k3hh76754jgdv.apps.googleusercontent.com", + "client_type": 3 + } + ] + }, + "ads_service": { + "status": 2 + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/android/app/src/main/java/org/brunolemos/devhub/MainApplication.java b/android/app/src/main/java/org/brunolemos/devhub/MainApplication.java index 691e1a94..0d3b1766 100644 --- a/android/app/src/main/java/org/brunolemos/devhub/MainApplication.java +++ b/android/app/src/main/java/org/brunolemos/devhub/MainApplication.java @@ -3,6 +3,9 @@ package org.brunolemos.devhub; import android.app.Application; import com.facebook.react.ReactApplication; +import io.invertase.firebase.RNFirebasePackage; +import io.invertase.firebase.auth.RNFirebaseAuthPackage; +import io.invertase.firebase.database.RNFirebaseDatabasePackage; import com.microsoft.codepush.react.CodePush; import com.oblador.vectoricons.VectorIconsPackage; import im.shimo.react.prompt.RNPromptPackage; @@ -38,6 +41,9 @@ public class MainApplication extends Application implements ReactApplication { protected List getPackages() { return Arrays.asList( new MainReactPackage(), + new RNFirebasePackage(), + new RNFirebaseAuthPackage(), + new RNFirebaseDatabasePackage(), new CodePush(getResources().getString(R.string.reactNativeCodePush_androidDeploymentKey), getApplicationContext(), BuildConfig.DEBUG), new VectorIconsPackage(), new RNPromptPackage(), diff --git a/android/build.gradle b/android/build.gradle index 4d6d2f2e..3f42a942 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -3,12 +3,14 @@ buildscript { repositories { jcenter() + google() } dependencies { - classpath 'com.android.tools.build:gradle:3.0.0-rc2' + classpath 'com.android.tools.build:gradle:3.0.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files + classpath 'com.google.gms:google-services:3.1.0' } } @@ -32,5 +34,6 @@ allprojects { url "$rootDir/../node_modules/react-native/android" } maven { url 'https://maven.google.com' } + google() } } diff --git a/android/settings.gradle b/android/settings.gradle index 990431a5..f46d4258 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,4 +1,6 @@ rootProject.name = 'devhub' +include ':react-native-firebase' +project(':react-native-firebase').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-firebase/android') include ':react-native-code-push' project(':react-native-code-push').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-code-push/android/app') include ':react-native-vector-icons' diff --git a/ios/Podfile b/ios/Podfile new file mode 100644 index 00000000..4faf0133 --- /dev/null +++ b/ios/Podfile @@ -0,0 +1,8 @@ +platform :ios, '9.0' + +target 'devhub' do + pod 'Firebase/Auth' + pod 'Firebase/Core' + pod 'Firebase/Database' + pod 'Firebase/Performance' +end diff --git a/ios/Podfile.lock b/ios/Podfile.lock new file mode 100644 index 00000000..d1511a39 --- /dev/null +++ b/ios/Podfile.lock @@ -0,0 +1,80 @@ +PODS: + - Firebase/Auth (4.6.0): + - Firebase/Core + - FirebaseAuth (= 4.3.2) + - Firebase/Core (4.6.0): + - FirebaseAnalytics (= 4.0.5) + - FirebaseCore (= 4.0.11) + - Firebase/Database (4.6.0): + - Firebase/Core + - FirebaseDatabase (= 4.1.1) + - Firebase/Performance (4.6.0): + - Firebase/Core + - FirebasePerformance (= 1.0.6) + - FirebaseAnalytics (4.0.5): + - FirebaseCore (~> 4.0) + - FirebaseInstanceID (~> 2.0) + - GoogleToolboxForMac/NSData+zlib (~> 2.1) + - nanopb (~> 0.3) + - FirebaseAuth (4.3.2): + - FirebaseAnalytics (~> 4.0) + - GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1) + - GTMSessionFetcher/Core (~> 1.1) + - FirebaseCore (4.0.11): + - GoogleToolboxForMac/NSData+zlib (~> 2.1) + - FirebaseDatabase (4.1.1): + - FirebaseAnalytics (~> 4.0) + - FirebaseCore (~> 4.0) + - leveldb-library (~> 1.18) + - FirebaseInstanceID (2.0.6) + - FirebasePerformance (1.0.6): + - FirebaseAnalytics (~> 4.0) + - FirebaseInstanceID (~> 2.0) + - GoogleToolboxForMac/Logger (~> 2.1) + - GoogleToolboxForMac/NSData+zlib (~> 2.1) + - GTMSessionFetcher/Core (~> 1.1) + - Protobuf (~> 3.1) + - GoogleToolboxForMac/DebugUtils (2.1.3): + - GoogleToolboxForMac/Defines (= 2.1.3) + - GoogleToolboxForMac/Defines (2.1.3) + - GoogleToolboxForMac/Logger (2.1.3): + - GoogleToolboxForMac/Defines (= 2.1.3) + - GoogleToolboxForMac/NSData+zlib (2.1.3): + - GoogleToolboxForMac/Defines (= 2.1.3) + - GoogleToolboxForMac/NSDictionary+URLArguments (2.1.3): + - GoogleToolboxForMac/DebugUtils (= 2.1.3) + - GoogleToolboxForMac/Defines (= 2.1.3) + - GoogleToolboxForMac/NSString+URLArguments (= 2.1.3) + - GoogleToolboxForMac/NSString+URLArguments (2.1.3) + - GTMSessionFetcher/Core (1.1.12) + - leveldb-library (1.20) + - nanopb (0.3.8): + - nanopb/decode (= 0.3.8) + - nanopb/encode (= 0.3.8) + - nanopb/decode (0.3.8) + - nanopb/encode (0.3.8) + - Protobuf (3.5.0) + +DEPENDENCIES: + - Firebase/Auth + - Firebase/Core + - Firebase/Database + - Firebase/Performance + +SPEC CHECKSUMS: + Firebase: 27321a925aa85520618255a7c630859e0502ccbd + FirebaseAnalytics: 5b02a63ead2c3f0259cfc7f15e053e440587ecf8 + FirebaseAuth: e58563adb207a43910a2ed87fecb9fa7d556df5a + FirebaseCore: 2a946ece8fbe3ce1fdeeb55324f273caade22df9 + FirebaseDatabase: 2e6e8e110b93b9a6e7aac71774c769a363035cb1 + FirebaseInstanceID: 24958382a1011bba5aaff37e334e7a650b9118f5 + FirebasePerformance: fa032c27e229eb8c1a8638918793fe2e47465205 + GoogleToolboxForMac: 2501e2ad72a52eb3dfe7bd9aee7dad11b858bd20 + GTMSessionFetcher: ebaa1f79a5366922c1735f1566901f50beba23b7 + leveldb-library: 4f9eedf84ab46b4fa3b7893bf30714b2a1a74022 + nanopb: 5601e6bca2dbf1ed831b519092ec110f66982ca3 + Protobuf: 8a9838fba8dae3389230e1b7f8c104aa32389c03 + +PODFILE CHECKSUM: de5a8b56a80f3b33b0171e76066e1dff90fdae29 + +COCOAPODS: 1.3.1 diff --git a/ios/devhub.xcodeproj/project.pbxproj b/ios/devhub.xcodeproj/project.pbxproj index 7bd1179e..a3cef64e 100644 --- a/ios/devhub.xcodeproj/project.pbxproj +++ b/ios/devhub.xcodeproj/project.pbxproj @@ -35,10 +35,13 @@ 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; }; 2D02E4C91E0B4AEC006451C7 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; }; 2DCD954D1E0B4F2C00145EB5 /* devhubTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* devhubTests.m */; }; + 2E276D4C1FD4C4BE0058788E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 2E276D1F1FD4C4BD0058788E /* GoogleService-Info.plist */; }; 5232DF879D074A6ABA62224E /* libBugsnagReactNative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D6BD35C9A6E44D1DB4C3167F /* libBugsnagReactNative.a */; }; 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; + 71BFD3EAC398589B168A2A62 /* libPods-devhub.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A3A4B5680C632FDD42E2F55B /* libPods-devhub.a */; }; 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; 83AEBCBC202D4C608CF8923D /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F2855FDDE71C413BBC970B94 /* Octicons.ttf */; }; + 8C5E9F2D15C240AB956F6CE4 /* libRNFirebase.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6DF8A77BBCB64CD58EA135CA /* libRNFirebase.a */; }; A7D0AB6F3C114F3C8399A381 /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 300F91CC07E6476581E94EC8 /* libRNVectorIcons.a */; }; ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; B53BAB8A3A534747BFB4F380 /* libRCTWKWebView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F305C6BF733462DA9E90660 /* libRCTWKWebView.a */; }; @@ -118,6 +121,13 @@ remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7; remoteInfo = "devhub-tvOS"; }; + 2E276CE21FD4BC4B0058788E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 23C930F930344DE786001E88 /* RNFirebase.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RNFirebase; + }; 2EC0B1401F93128E00CC1AC9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; @@ -376,6 +386,7 @@ 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* devhubTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = devhubTests.m; sourceTree = ""; }; 03F6F5E9B87540DCA389D1B3 /* MaterialIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = ""; }; + 0FD3B1A6C6054CC9D627D441 /* Pods-devhub.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-devhub.release.xcconfig"; path = "Pods/Target Support Files/Pods-devhub/Pods-devhub.release.xcconfig"; sourceTree = ""; }; 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; }; 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* devhub.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = devhub.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -388,23 +399,28 @@ 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; 16FB089C1FBE47C69EAB11F1 /* CodePush.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = CodePush.xcodeproj; path = "../node_modules/react-native-code-push/ios/CodePush.xcodeproj"; sourceTree = ""; }; 19FD1329052D4BBFB30C1E00 /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = ""; }; + 23C930F930344DE786001E88 /* RNFirebase.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNFirebase.xcodeproj; path = "../node_modules/react-native-firebase/ios/RNFirebase.xcodeproj"; sourceTree = ""; }; 2C41A9A692724FAE8FA57BFE /* Feather.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Feather.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Feather.ttf"; sourceTree = ""; }; 2D02E47B1E0B4A5D006451C7 /* devhub-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "devhub-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D02E4901E0B4A5D006451C7 /* devhub-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "devhub-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2E276D1F1FD4C4BD0058788E /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "devhub/GoogleService-Info.plist"; sourceTree = ""; }; 300F91CC07E6476581E94EC8 /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = ""; }; 3E92330DCBAC4800B769D829 /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = ""; }; 4BAEAD646A9C49DE836C8A69 /* libBVLinearGradient.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libBVLinearGradient.a; sourceTree = ""; }; 4FB2ADA054BE42EEB78BEB91 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialCommunityIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = ""; }; 53299AD872FA4DAB8C499F37 /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; + 6DF8A77BBCB64CD58EA135CA /* libRNFirebase.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNFirebase.a; sourceTree = ""; }; 6F305C6BF733462DA9E90660 /* libRCTWKWebView.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTWKWebView.a; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; 8BF57841895241008738AAB6 /* Zocial.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Zocial.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = ""; }; 8E64CAC976FE475392ECC27B /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; }; + 94506C367515ECEFD2CC4812 /* Pods-devhub.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-devhub.debug.xcconfig"; path = "Pods/Target Support Files/Pods-devhub/Pods-devhub.debug.xcconfig"; sourceTree = ""; }; 9679FAF269BF4E0FB22BB03E /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = SimpleLineIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = ""; }; A1039A4077D44D609FDAC346 /* libCodePush.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libCodePush.a; sourceTree = ""; }; A30FD1018C834BEF8D3D16D1 /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = ""; }; + A3A4B5680C632FDD42E2F55B /* libPods-devhub.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-devhub.a"; sourceTree = BUILT_PRODUCTS_DIR; }; A6A2F0020AD449F9BFE1245E /* BugsnagReactNative.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = BugsnagReactNative.xcodeproj; path = "../node_modules/bugsnag-react-native/cocoa/BugsnagReactNative.xcodeproj"; sourceTree = ""; }; ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; B8C424C0B08A4BFB97EC3AAF /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = ""; }; @@ -450,6 +466,8 @@ CD2B0E6510CF40159C67E56B /* libSafariViewManager.a in Frameworks */, A7D0AB6F3C114F3C8399A381 /* libRNVectorIcons.a in Frameworks */, B53BAB8A3A534747BFB4F380 /* libRCTWKWebView.a in Frameworks */, + 8C5E9F2D15C240AB956F6CE4 /* libRNFirebase.a in Frameworks */, + 71BFD3EAC398589B168A2A62 /* libPods-devhub.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -537,6 +555,15 @@ name = "Supporting Files"; sourceTree = ""; }; + 096EB8B5AD82B3CD26D15DE6 /* Pods */ = { + isa = PBXGroup; + children = ( + 94506C367515ECEFD2CC4812 /* Pods-devhub.debug.xcconfig */, + 0FD3B1A6C6054CC9D627D441 /* Pods-devhub.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; 0D8AE705E8E240BFAA2603E9 /* Resources */ = { isa = PBXGroup; children = ( @@ -578,6 +605,7 @@ 13B07FAE1A68108700A75B9A /* devhub */ = { isa = PBXGroup; children = ( + 2E276D1F1FD4C4BD0058788E /* GoogleService-Info.plist */, 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 13B07FB01A68108700A75B9A /* AppDelegate.m */, @@ -614,10 +642,19 @@ isa = PBXGroup; children = ( 53299AD872FA4DAB8C499F37 /* libz.tbd */, + A3A4B5680C632FDD42E2F55B /* libPods-devhub.a */, ); name = Frameworks; sourceTree = ""; }; + 2E276CDF1FD4BC4B0058788E /* Products */ = { + isa = PBXGroup; + children = ( + 2E276CE31FD4BC4B0058788E /* libRNFirebase.a */, + ); + name = Products; + sourceTree = ""; + }; 2EE8CF3F1F9311BD003727F9 /* Recovered References */ = { isa = PBXGroup; children = ( @@ -627,6 +664,7 @@ D35399F480F84E7FB342E422 /* libSafariViewManager.a */, 300F91CC07E6476581E94EC8 /* libRNVectorIcons.a */, 6F305C6BF733462DA9E90660 /* libRCTWKWebView.a */, + 6DF8A77BBCB64CD58EA135CA /* libRNFirebase.a */, ); name = "Recovered References"; sourceTree = ""; @@ -720,6 +758,7 @@ ECC15F79E90F4221BBBBF39D /* SafariViewManager.xcodeproj */, 19FD1329052D4BBFB30C1E00 /* RNVectorIcons.xcodeproj */, F7AF6CA5D12D47B99860270D /* RCTWKWebView.xcodeproj */, + 23C930F930344DE786001E88 /* RNFirebase.xcodeproj */, ); name = Libraries; sourceTree = ""; @@ -743,6 +782,7 @@ 2B666D945C434E6A9A1F7BA1 /* Frameworks */, 0D8AE705E8E240BFAA2603E9 /* Resources */, 2EE8CF3F1F9311BD003727F9 /* Recovered References */, + 096EB8B5AD82B3CD26D15DE6 /* Pods */, ); indentWidth = 2; sourceTree = ""; @@ -794,10 +834,13 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "devhub" */; buildPhases = ( + 9BE921CAA9CADA91780A2C9E /* [CP] Check Pods Manifest.lock */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + 074FAA526AE65BF03F2AC5B9 /* [CP] Embed Pods Frameworks */, + F8EEFA8DA40151F1EC4A8EEE /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -950,6 +993,10 @@ ProductGroup = 146834001AC3E56700842450 /* Products */; ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; }, + { + ProductGroup = 2E276CDF1FD4BC4B0058788E /* Products */; + ProjectRef = 23C930F930344DE786001E88 /* RNFirebase.xcodeproj */; + }, { ProductGroup = 2EE8CF661F9311C1003727F9 /* Products */; ProjectRef = 19FD1329052D4BBFB30C1E00 /* RNVectorIcons.xcodeproj */; @@ -1026,6 +1073,13 @@ remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 2E276CE31FD4BC4B0058788E /* libRNFirebase.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRNFirebase.a; + remoteRef = 2E276CE21FD4BC4B0058788E /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 2EC0B1411F93128E00CC1AC9 /* libthird-party.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1286,6 +1340,7 @@ buildActionMask = 2147483647; files = ( 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, + 2E276D4C1FD4C4BE0058788E /* GoogleService-Info.plist in Resources */, 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, 83AEBCBC202D4C608CF8923D /* Octicons.ttf in Resources */, ); @@ -1323,6 +1378,21 @@ shellPath = /bin/sh; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; + 074FAA526AE65BF03F2AC5B9 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-devhub/Pods-devhub-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -1337,6 +1407,39 @@ shellPath = /bin/sh; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; + 9BE921CAA9CADA91780A2C9E /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-devhub-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + F8EEFA8DA40151F1EC4A8EEE /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-devhub/Pods-devhub-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -1419,6 +1522,7 @@ "$(SRCROOT)/../node_modules/react-native-safari-view", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView", + "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**", ); INFOPLIST_FILE = devhubTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1431,6 +1535,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1455,6 +1560,7 @@ "$(SRCROOT)/../node_modules/react-native-safari-view", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView", + "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**", ); INFOPLIST_FILE = devhubTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1467,6 +1573,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1479,6 +1586,7 @@ }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 94506C367515ECEFD2CC4812 /* Pods-devhub.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; @@ -1492,6 +1600,7 @@ "$(SRCROOT)/../node_modules/react-native-safari-view", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView", + "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**", ); INFOPLIST_FILE = devhub/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1508,6 +1617,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 0FD3B1A6C6054CC9D627D441 /* Pods-devhub.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; @@ -1520,6 +1630,7 @@ "$(SRCROOT)/../node_modules/react-native-safari-view", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView", + "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**", ); INFOPLIST_FILE = devhub/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1555,6 +1666,7 @@ "$(SRCROOT)/../node_modules/react-native-safari-view", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView", + "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**", ); INFOPLIST_FILE = "devhub-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1566,6 +1678,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1600,6 +1713,7 @@ "$(SRCROOT)/../node_modules/react-native-safari-view", "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/react-native-wkwebview-reborn/ios/RCTWKWebView", + "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**", ); INFOPLIST_FILE = "devhub-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1611,6 +1725,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1646,6 +1761,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.devhub-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1677,6 +1793,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.devhub-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/ios/devhub.xcworkspace/contents.xcworkspacedata b/ios/devhub.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..5699e60a --- /dev/null +++ b/ios/devhub.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/ios/devhub/AppDelegate.m b/ios/devhub/AppDelegate.m index 8b45a6dc..e441f170 100644 --- a/ios/devhub/AppDelegate.m +++ b/ios/devhub/AppDelegate.m @@ -14,12 +14,15 @@ #import #import +@import Firebase; + @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - NSURL *jsCodeLocation; + [FIRApp configure]; + NSURL *jsCodeLocation; #ifdef DEBUG jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; diff --git a/ios/devhub/GoogleService-Info.plist b/ios/devhub/GoogleService-Info.plist new file mode 100644 index 00000000..07a8e11a --- /dev/null +++ b/ios/devhub/GoogleService-Info.plist @@ -0,0 +1,42 @@ + + + + + AD_UNIT_ID_FOR_BANNER_TEST + ca-app-pub-3940256099942544/2934735716 + AD_UNIT_ID_FOR_INTERSTITIAL_TEST + ca-app-pub-3940256099942544/4411468910 + CLIENT_ID + 589579854600-nd8bv6fcdjvfg0ke6j4cu44brnqdhs55.apps.googleusercontent.com + REVERSED_CLIENT_ID + com.googleusercontent.apps.589579854600-nd8bv6fcdjvfg0ke6j4cu44brnqdhs55 + API_KEY + AIzaSyCnx-9QEsBb1Hu7VhW8nTtbMN7B-CLML4Q + GCM_SENDER_ID + 589579854600 + PLIST_VERSION + 1 + BUNDLE_ID + org.brunolemos.devhub + PROJECT_ID + devhub-65899 + STORAGE_BUCKET + devhub-65899.appspot.com + IS_ADS_ENABLED + + IS_ANALYTICS_ENABLED + + IS_APPINVITE_ENABLED + + IS_GCM_ENABLED + + IS_SIGNIN_ENABLED + + GOOGLE_APP_ID + 1:589579854600:ios:9e47b631a5be6ed3 + DATABASE_URL + https://devhub-65899.firebaseio.com + CodePushDeploymentKey + deployment-key-here + + \ No newline at end of file diff --git a/package.json b/package.json index c701a0ef..9856ceab 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,6 @@ "babel-polyfill": "^6.26.0", "bugsnag-react-native": "^2.7.5", "denormalizr": "^0.6.0", - "firebase": "4.7.0", "github": "git+https://github.com/brunolemos/react-native-github-api.git", "gravatar": "^1.6.0", "immutable": "^3.8.2", @@ -41,6 +40,7 @@ "react": "^16.2.0", "react-native": "0.50.4", "react-native-code-push": "^5.2.0-beta", + "react-native-firebase": "^3.1.1", "react-native-immutable-list-view": "^0.6.2", "react-native-linear-gradient": "^2.3.0", "react-native-prompt-android": "^0.3.1", diff --git a/src/libs/firebase/index.js b/src/libs/firebase/index.js new file mode 100644 index 00000000..9fd88426 --- /dev/null +++ b/src/libs/firebase/index.js @@ -0,0 +1,3 @@ +import firebase from 'react-native-firebase' + +export default firebase diff --git a/src/libs/firebase/index.web.js b/src/libs/firebase/index.web.js new file mode 100644 index 00000000..b3751e81 --- /dev/null +++ b/src/libs/firebase/index.web.js @@ -0,0 +1,3 @@ +import * as firebase from 'firebase' // eslint-disable-line + +export default firebase diff --git a/src/sagas/auth.js b/src/sagas/auth.js index 4a312fcd..49882826 100644 --- a/src/sagas/auth.js +++ b/src/sagas/auth.js @@ -1,9 +1,9 @@ // @flow import moment from 'moment' -import * as firebase from 'firebase' import { all, call, put, select, takeLatest } from 'redux-saga/effects' +import firebase from '../libs/firebase' import { bugsnagClient } from '../utils/services' import { diff --git a/src/store/middlewares/firebase/index.js b/src/store/middlewares/firebase/index.js index e352b447..b1e1c57f 100644 --- a/src/store/middlewares/firebase/index.js +++ b/src/store/middlewares/firebase/index.js @@ -1,6 +1,6 @@ -import * as firebase from 'firebase' import { debounce } from 'lodash' +import firebase from '../../../libs/firebase' import { RESET_ACCOUNT_DATA, FIREBASE_RECEIVED_EVENT, diff --git a/src/utils/services/setup.dev.js b/src/utils/services/setup.dev.js index 6f2d977e..a7cb117f 100644 --- a/src/utils/services/setup.dev.js +++ b/src/utils/services/setup.dev.js @@ -1,4 +1,4 @@ -import * as firebase from 'firebase' +import firebase from '../../libs/firebase' export default () => ({ bugsnagClient: null, diff --git a/src/utils/services/setup.prod.js b/src/utils/services/setup.prod.js index f2d634ee..e6f1288c 100644 --- a/src/utils/services/setup.prod.js +++ b/src/utils/services/setup.prod.js @@ -1,4 +1,4 @@ -import * as firebase from 'firebase' +import firebase from '../../libs/firebase' import Bugsnag from '../../libs/bugsnag' import pkg from '../../../package.json' diff --git a/web/package.json b/web/package.json index b438e213..03201604 100644 --- a/web/package.json +++ b/web/package.json @@ -5,6 +5,7 @@ "homepage": "./", "dependencies": { "bugsnag-js": "^3.3.3", + "firebase": "^4.7.0", "react": "^16.2.0", "react-dom": "^16.2.0", "react-helmet": "^5.2.0", @@ -19,8 +20,7 @@ "sw-precache": "^5.2.0" }, "scripts": { - "build": - "NODE_ENV=production extensible-react-scripts build && sw-precache --config=sw-precache-config.js", + "build": "NODE_ENV=production extensible-react-scripts build && sw-precache --config=sw-precache-config.js", "deploy": "gh-pages -d build", "eject": "extensible-react-scripts eject", "predeploy": "PUBLIC_URL=https://brunolemos.github.io/devhub/ npm run build", @@ -29,9 +29,15 @@ "test": "extensible-react-scripts test --env=jsdom" }, "jest": { - "collectCoverageFrom": ["src/**/*.{js,jsx}"], - "setupFiles": ["/config/polyfills.js"], - "testPathIgnorePatterns": ["[/\\\\](build|docs|node_modules|scripts)[/\\\\]"], + "collectCoverageFrom": [ + "src/**/*.{js,jsx}" + ], + "setupFiles": [ + "/config/polyfills.js" + ], + "testPathIgnorePatterns": [ + "[/\\\\](build|docs|node_modules|scripts)[/\\\\]" + ], "testEnvironment": "node", "testURL": "http://localhost", "transform": { @@ -39,13 +45,17 @@ "^.+\\.(styl|sass|less|css)$": "/config/jest/cssTransform.js", "^(?!.*\\.(js|jsx|styl|sass|less|css|json)$)": "/config/jest/fileTransform.js" }, - "transformIgnorePatterns": ["[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$"], + "transformIgnorePatterns": [ + "[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$" + ], "moduleNameMapper": { "^react-native$": "react-native-web" } }, "babel": { - "presets": ["react-app"] + "presets": [ + "react-app" + ] }, "eslintConfig": { "extends": "react-app" diff --git a/web/yarn.lock b/web/yarn.lock index 199b1a58..ee06bba8 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -2,6 +2,54 @@ # yarn lockfile v1 +"@firebase/app@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@firebase/app/-/app-0.1.3.tgz#4bebeadb18426d44de8899cd6c37a9a1aaccc62c" + dependencies: + "@firebase/util" "^0.1.3" + +"@firebase/auth@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@firebase/auth/-/auth-0.2.2.tgz#27af36f565dec5ca6ed6814e8310d78156c5d02c" + +"@firebase/database@^0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@firebase/database/-/database-0.1.4.tgz#fce481e785e16375b2ae8e9e97f205ca209c1b8b" + dependencies: + "@firebase/util" "^0.1.3" + faye-websocket "0.11.1" + +"@firebase/firestore@^0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@firebase/firestore/-/firestore-0.2.0.tgz#d3debc9032971852266e43b08f337c9c8765bd41" + dependencies: + "@firebase/webchannel-wrapper" "^0.2.4" + grpc "^1.7.1" + +"@firebase/messaging@^0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@firebase/messaging/-/messaging-0.1.4.tgz#9a78d6bc8efade3319a0488b605c7bfb632da83f" + dependencies: + "@firebase/util" "^0.1.3" + +"@firebase/polyfill@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@firebase/polyfill/-/polyfill-0.1.2.tgz#6192c0b7896bc54044c50ff5bc715f6b8fc34820" + dependencies: + promise-polyfill "^6.0.2" + +"@firebase/storage@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@firebase/storage/-/storage-0.1.3.tgz#446e190bca95e43114fd301d7e36e88a5b2a7c87" + +"@firebase/util@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@firebase/util/-/util-0.1.3.tgz#9f03dddb605d2c9a78d453f983f9ac2ee4ed1f94" + +"@firebase/webchannel-wrapper@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.2.4.tgz#ec8438b780baff09254076efe345f30fdb41243e" + "@timer/detect-port@1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@timer/detect-port/-/detect-port-1.1.3.tgz#1383abd67f9a5d683df5276f8a92d60bdf9abb90" @@ -199,6 +247,10 @@ args@3.0.7: pkginfo "0.4.1" string-similarity "1.2.0" +arguejs@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/arguejs/-/arguejs-0.2.3.tgz#b6f939f5fe0e3cd1f3f93e2aa9262424bf312af7" + aria-query@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.5.0.tgz#85e3152cd8cc5bab18dbed61cd9c4fce54fa79c3" @@ -268,6 +320,13 @@ asap@~2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" +ascli@~1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ascli/-/ascli-1.0.1.tgz#bcfa5974a62f18e81cabaeb49732ab4a88f906bc" + dependencies: + colour "~0.7.1" + optjs "~3.2.2" + asn1.js@^4.0.0: version "4.9.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" @@ -1242,6 +1301,12 @@ builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" +bytebuffer@~5: + version "5.0.1" + resolved "https://registry.yarnpkg.com/bytebuffer/-/bytebuffer-5.0.1.tgz#582eea4b1a873b6d020a48d58df85f0bba6cfddd" + dependencies: + long "~3" + bytes@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070" @@ -1286,7 +1351,7 @@ camelcase@^1.0.2: version "1.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" -camelcase@^2.0.0, camelcase@^2.1.0: +camelcase@^2.0.0, camelcase@^2.0.1, camelcase@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -1431,7 +1496,7 @@ cliui@^2.1.0: right-align "^0.1.1" wordwrap "0.0.2" -cliui@^3.2.0: +cliui@^3.0.3, cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" dependencies: @@ -1493,6 +1558,10 @@ colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" +colour@~0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/colour/-/colour-0.7.1.tgz#9cb169917ec5d12c0736d3e8685746df1cadf778" + combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" @@ -1967,6 +2036,10 @@ detect-indent@^4.0.0: dependencies: repeating "^2.0.0" +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + detect-node@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" @@ -2024,6 +2097,10 @@ dom-serializer@0: domelementtype "~1.1.1" entities "~1.1.1" +dom-storage@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dom-storage/-/dom-storage-2.0.2.tgz#ed17cbf68abd10e0aef8182713e297c5e4b500b0" + dom-urls@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/dom-urls/-/dom-urls-1.1.0.tgz#001ddf81628cd1e706125c7176f53ccec55d918e" @@ -2622,15 +2699,15 @@ fastparse@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" -faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" +faye-websocket@0.11.1, faye-websocket@~0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" dependencies: websocket-driver ">=0.5.1" -faye-websocket@~0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" dependencies: websocket-driver ">=0.5.1" @@ -2762,6 +2839,20 @@ find-up@^2.1.0: dependencies: locate-path "^2.0.0" +firebase@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/firebase/-/firebase-4.7.0.tgz#31bf2f52adae0a5ca098a63532a3626c0ae09877" + dependencies: + "@firebase/app" "^0.1.3" + "@firebase/auth" "^0.2.2" + "@firebase/database" "^0.1.4" + "@firebase/firestore" "^0.2.0" + "@firebase/messaging" "^0.1.4" + "@firebase/polyfill" "^0.1.2" + "@firebase/storage" "^0.1.3" + dom-storage "^2.0.2" + xmlhttprequest "^1.8.0" + flat-cache@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" @@ -3045,6 +3136,16 @@ growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" +grpc@^1.7.1: + version "1.7.2" + resolved "https://registry.yarnpkg.com/grpc/-/grpc-1.7.2.tgz#f3f31e96c1752e1587f940758bb2374f5c13478e" + dependencies: + arguejs "^0.2.3" + lodash "^4.15.0" + nan "^2.8.0" + node-pre-gyp "^0.6.39" + protobufjs "^5.0.0" + gzip-size@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520" @@ -3122,7 +3223,7 @@ hash.js@^1.0.0, hash.js@^1.0.3: dependencies: inherits "^2.0.1" -hawk@~3.1.3: +hawk@3.1.3, hawk@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" dependencies: @@ -4218,6 +4319,10 @@ lodash.uniq@^4.5.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" +long@~3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" + longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" @@ -4442,6 +4547,10 @@ nan@^2.3.0: version "2.6.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" +nan@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -4524,6 +4633,22 @@ node-pre-gyp@^0.6.29: tar "^2.2.1" tar-pack "^3.4.0" +node-pre-gyp@^0.6.39: + version "0.6.39" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" + dependencies: + detect-libc "^1.0.2" + hawk "3.1.3" + mkdirp "^0.5.1" + nopt "^4.0.1" + npmlog "^4.0.2" + rc "^1.1.7" + request "2.81.0" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^2.2.1" + tar-pack "^3.4.0" + node-status-codes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" @@ -4698,6 +4823,10 @@ optionator@^0.8.1, optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" +optjs@~3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/optjs/-/optjs-3.2.2.tgz#69a6ce89c442a44403141ad2f9b370bd5bb6f4ee" + original@>=0.0.5: version "1.0.0" resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b" @@ -5256,6 +5385,10 @@ progress@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" +promise-polyfill@^6.0.2: + version "6.1.0" + resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-6.1.0.tgz#dfa96943ea9c121fca4de9b5868cb39d3472e057" + promise@7.1.1, promise@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" @@ -5277,6 +5410,15 @@ prop-types@^15.6.0: loose-envify "^1.3.1" object-assign "^4.1.1" +protobufjs@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-5.0.2.tgz#59748d7dcf03d2db22c13da9feb024e16ab80c91" + dependencies: + ascli "~1" + bytebuffer "~5" + glob "^7.0.5" + yargs "^3.10.0" + proxy-addr@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3" @@ -5680,7 +5822,7 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request@^2.79.0, request@^2.81.0: +request@2.81.0, request@^2.79.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: @@ -6873,6 +7015,10 @@ window-size@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" +window-size@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" + wordwrap@0.0.2, wordwrap@~0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" @@ -6939,11 +7085,15 @@ xml-name-validator@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" +xmlhttprequest@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" + "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" -y18n@^3.2.1: +y18n@^3.2.0, y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" @@ -6963,6 +7113,18 @@ yargs-parser@^5.0.0: dependencies: camelcase "^3.0.0" +yargs@^3.10.0: + version "3.32.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" + dependencies: + camelcase "^2.0.1" + cliui "^3.0.3" + decamelize "^1.1.1" + os-locale "^1.4.0" + string-width "^1.0.1" + window-size "^0.1.4" + y18n "^3.2.0" + yargs@^6.0.0: version "6.6.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" diff --git a/yarn.lock b/yarn.lock index e4f8be74..32417252 100644 --- a/yarn.lock +++ b/yarn.lock @@ -55,54 +55,6 @@ lodash "^4.2.0" to-fast-properties "^2.0.0" -"@firebase/app@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@firebase/app/-/app-0.1.3.tgz#4bebeadb18426d44de8899cd6c37a9a1aaccc62c" - dependencies: - "@firebase/util" "^0.1.3" - -"@firebase/auth@^0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@firebase/auth/-/auth-0.2.2.tgz#27af36f565dec5ca6ed6814e8310d78156c5d02c" - -"@firebase/database@^0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@firebase/database/-/database-0.1.4.tgz#fce481e785e16375b2ae8e9e97f205ca209c1b8b" - dependencies: - "@firebase/util" "^0.1.3" - faye-websocket "0.11.1" - -"@firebase/firestore@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@firebase/firestore/-/firestore-0.2.0.tgz#d3debc9032971852266e43b08f337c9c8765bd41" - dependencies: - "@firebase/webchannel-wrapper" "^0.2.4" - grpc "^1.7.1" - -"@firebase/messaging@^0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@firebase/messaging/-/messaging-0.1.4.tgz#9a78d6bc8efade3319a0488b605c7bfb632da83f" - dependencies: - "@firebase/util" "^0.1.3" - -"@firebase/polyfill@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@firebase/polyfill/-/polyfill-0.1.2.tgz#6192c0b7896bc54044c50ff5bc715f6b8fc34820" - dependencies: - promise-polyfill "^6.0.2" - -"@firebase/storage@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@firebase/storage/-/storage-0.1.3.tgz#446e190bca95e43114fd301d7e36e88a5b2a7c87" - -"@firebase/util@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@firebase/util/-/util-0.1.3.tgz#9f03dddb605d2c9a78d453f983f9ac2ee4ed1f94" - -"@firebase/webchannel-wrapper@^0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.2.4.tgz#ec8438b780baff09254076efe345f30fdb41243e" - abab@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" @@ -207,6 +159,10 @@ amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" +andlog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/andlog/-/andlog-1.0.0.tgz#25b39047ac9c1e5f6b2c8e4cdb5e7bf9e65e534b" + ansi-escapes@^1.0.0, ansi-escapes@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" @@ -275,10 +231,6 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -arguejs@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/arguejs/-/arguejs-0.2.3.tgz#b6f939f5fe0e3cd1f3f93e2aa9262424bf312af7" - aria-query@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.7.0.tgz#4af10a1e61573ddea0cf3b99b51c52c05b424d24" @@ -352,13 +304,6 @@ asap@~2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" -ascli@~1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ascli/-/ascli-1.0.1.tgz#bcfa5974a62f18e81cabaeb49732ab4a88f906bc" - dependencies: - colour "~0.7.1" - optjs "~3.2.2" - asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" @@ -1004,6 +949,14 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" +babel-polyfill@6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" + dependencies: + babel-runtime "^6.22.0" + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + babel-polyfill@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" @@ -1378,6 +1331,12 @@ boom@2.x.x: dependencies: hoek "2.x.x" +bows@^1.6.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/bows/-/bows-1.7.0.tgz#a3598ed9cef61a7a0cab1a7240f291654865ec76" + dependencies: + andlog "^1.0.0" + bplist-creator@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.4.tgz#4ac0496782e127a85c1d2026a4f5eb22a7aff991" @@ -1453,12 +1412,6 @@ builtin-modules@^1.0.0, builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" -bytebuffer@~5: - version "5.0.1" - resolved "https://registry.yarnpkg.com/bytebuffer/-/bytebuffer-5.0.1.tgz#582eea4b1a873b6d020a48d58df85f0bba6cfddd" - dependencies: - long "~3" - bytes@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.1.0.tgz#ac93c410e2ffc9cc7cf4b464b38289067f5e47b4" @@ -1485,10 +1438,6 @@ camelcase@^1.0.2, camelcase@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" -camelcase@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" @@ -1508,7 +1457,7 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1526,6 +1475,10 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0: escape-string-regexp "^1.0.5" supports-color "^4.0.0" +chardet@^0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" + ci-info@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" @@ -1573,7 +1526,7 @@ cliui@^2.1.0: right-align "^0.1.1" wordwrap "0.0.2" -cliui@^3.0.3, cliui@^3.2.0: +cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" dependencies: @@ -1622,10 +1575,6 @@ color-name@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" -colour@~0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/colour/-/colour-0.7.1.tgz#9cb169917ec5d12c0736d3e8685746df1cadf778" - combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" @@ -2048,10 +1997,6 @@ detect-indent@^4.0.0: dependencies: repeating "^2.0.0" -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - detective@^4.3.1: version "4.5.0" resolved "https://registry.yarnpkg.com/detective/-/detective-4.5.0.tgz#6e5a8c6b26e6c7a254b1c6b6d7490d98ec91edd1" @@ -2083,10 +2028,6 @@ doctrine@^2.0.2: dependencies: esutils "^2.0.2" -dom-storage@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dom-storage/-/dom-storage-2.0.2.tgz#ed17cbf68abd10e0aef8182713e297c5e4b500b0" - dom-walk@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" @@ -2541,6 +2482,14 @@ external-editor@^1.0.1: spawn-sync "^1.0.15" tmp "^0.0.29" +external-editor@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48" + dependencies: + chardet "^0.4.0" + iconv-lite "^0.4.17" + tmp "^0.0.33" + external-editor@^2.0.4: version "2.0.5" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.5.tgz#52c249a3981b9ba187c7cacf5beb50bf1d91a6bc" @@ -2582,12 +2531,6 @@ fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" -faye-websocket@0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" - dependencies: - websocket-driver ">=0.5.1" - fb-watchman@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" @@ -2714,20 +2657,6 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" -firebase@4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/firebase/-/firebase-4.7.0.tgz#31bf2f52adae0a5ca098a63532a3626c0ae09877" - dependencies: - "@firebase/app" "^0.1.3" - "@firebase/auth" "^0.2.2" - "@firebase/database" "^0.1.4" - "@firebase/firestore" "^0.2.0" - "@firebase/messaging" "^0.1.4" - "@firebase/polyfill" "^0.1.2" - "@firebase/storage" "^0.1.3" - dom-storage "^2.0.2" - xmlhttprequest "^1.8.0" - flat-cache@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" @@ -3028,16 +2957,6 @@ growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" -grpc@^1.7.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/grpc/-/grpc-1.7.2.tgz#f3f31e96c1752e1587f940758bb2374f5c13478e" - dependencies: - arguejs "^0.2.3" - lodash "^4.15.0" - nan "^2.8.0" - node-pre-gyp "^0.6.39" - protobufjs "^5.0.0" - gulp-util@^3.0.4: version "3.0.8" resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" @@ -3315,6 +3234,24 @@ inquirer@1.1.3: strip-ansi "^3.0.0" through "^2.3.6" +inquirer@3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" + dependencies: + ansi-escapes "^1.1.0" + chalk "^1.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.1" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx "^4.1.0" + string-width "^2.0.0" + strip-ansi "^3.0.0" + through "^2.3.6" + inquirer@^3.0.6: version "3.3.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" @@ -4280,10 +4217,6 @@ log-update@^1.0.2: ansi-escapes "^1.0.0" cli-cursor "^1.0.2" -long@~3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" - longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" @@ -4459,7 +4392,7 @@ minimist@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.0.tgz#cdf225e8898f840a258ded44fc91776770afdc93" -minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0: +minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -4524,10 +4457,6 @@ nan@^2.3.0: version "2.7.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" -nan@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -4550,7 +4479,7 @@ netmask@~1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" -node-fetch@^1.0.1, node-fetch@^1.3.3: +node-fetch@1.6.3, node-fetch@^1.0.1, node-fetch@^1.3.3: version "1.6.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" dependencies: @@ -4585,22 +4514,6 @@ node-pre-gyp@^0.6.36: tar "^2.2.1" tar-pack "^3.4.0" -node-pre-gyp@^0.6.39: - version "0.6.39" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" - dependencies: - detect-libc "^1.0.2" - hawk "3.1.3" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.0.2" - rc "^1.1.7" - request "2.81.0" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" - node-uuid@^1.4.0: version "1.4.8" resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" @@ -4729,6 +4642,24 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +opencollective@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1" + dependencies: + babel-polyfill "6.23.0" + chalk "1.1.3" + inquirer "3.0.6" + minimist "1.2.0" + node-fetch "1.6.3" + opn "4.0.2" + +opn@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + opn@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/opn/-/opn-3.0.3.tgz#b6d99e7399f78d65c3baaffef1fb288e9b85243a" @@ -4757,10 +4688,6 @@ options@>=0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" -optjs@~3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/optjs/-/optjs-3.2.2.tgz#69a6ce89c442a44403141ad2f9b370bd5bb6f4ee" - ora@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" @@ -5038,10 +4965,6 @@ progress@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" -promise-polyfill@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-6.0.2.tgz#d9c86d3dc4dc2df9016e88946defd69b49b41162" - promise@^7, promise@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" @@ -5063,15 +4986,6 @@ prop-types@^15.6.0: loose-envify "^1.3.1" object-assign "^4.1.1" -protobufjs@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-5.0.2.tgz#59748d7dcf03d2db22c13da9feb024e16ab80c91" - dependencies: - ascli "~1" - bytebuffer "~5" - glob "^7.0.5" - yargs "^3.10.0" - proxy-addr@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3" @@ -5218,6 +5132,14 @@ react-native-drawer-layout@1.3.2: dependencies: react-native-dismiss-keyboard "1.0.0" +react-native-firebase@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/react-native-firebase/-/react-native-firebase-3.1.1.tgz#82d8fdb0abe1a9140101b75fb8b6a5094ea2e99d" + dependencies: + bows "^1.6.0" + opencollective "^1.0.3" + prop-types "^15.6.0" + react-native-immutable-list-view@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/react-native-immutable-list-view/-/react-native-immutable-list-view-0.6.2.tgz#294fb9327bd39e6565ad07a2da83aa71e5902d31" @@ -6751,16 +6673,6 @@ webidl-conversions@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0" -websocket-driver@>=0.5.1: - version "0.6.5" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" - dependencies: - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7" - whatwg-encoding@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz#3c6c451a198ee7aec55b1ec61d0920c67801a5f4" @@ -6818,7 +6730,7 @@ window-size@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" -window-size@^0.1.2, window-size@^0.1.4: +window-size@^0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" @@ -6923,10 +6835,6 @@ xmldom@0.1.x: version "0.1.27" resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" -xmlhttprequest@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" - xpipe@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf" @@ -6959,18 +6867,6 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" -yargs@^3.10.0: - version "3.32.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" - dependencies: - camelcase "^2.0.1" - cliui "^3.0.3" - decamelize "^1.1.1" - os-locale "^1.4.0" - string-width "^1.0.1" - window-size "^0.1.4" - y18n "^3.2.0" - yargs@^6.0.0: version "6.6.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"