diff --git a/mobile/.babelrc b/mobile/.babelrc
new file mode 100644
index 000000000..d4b74b5be
--- /dev/null
+++ b/mobile/.babelrc
@@ -0,0 +1,3 @@
+{
+ "presets": ["module:metro-react-native-babel-preset"]
+}
diff --git a/mobile/.buckconfig b/mobile/.buckconfig
new file mode 100644
index 000000000..934256cb2
--- /dev/null
+++ b/mobile/.buckconfig
@@ -0,0 +1,6 @@
+
+[android]
+ target = Google Inc.:Google APIs:23
+
+[maven_repositories]
+ central = https://repo1.maven.org/maven2
diff --git a/mobile/.expo-shared/assets.json b/mobile/.expo-shared/assets.json
deleted file mode 100644
index ebb02bbe8..000000000
--- a/mobile/.expo-shared/assets.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "c56d128f72bf6d9431d4d8b0446563a24c61666db5f08d84276dd9d4da59208d": true,
- "03db5e4af02e8ae93d8a477c9c2631bcfe4cd279ccfdd4c3612a1892c1d0f7de": true
-}
\ No newline at end of file
diff --git a/mobile/.gitattributes b/mobile/.gitattributes
new file mode 100644
index 000000000..d42ff1835
--- /dev/null
+++ b/mobile/.gitattributes
@@ -0,0 +1 @@
+*.pbxproj -text
diff --git a/mobile/.gitignore b/mobile/.gitignore
index 683930312..f0fa89df1 100644
--- a/mobile/.gitignore
+++ b/mobile/.gitignore
@@ -1,27 +1,9 @@
-# See https://help.github.com/ignore-files/ for more about ignoring files.
-
-# expo
-.expo/*
-
-# dependencies
-node_modules/**/*
-ios/Pods/**/*
-
-# misc
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-
-npm-debug.*
-yarn-debug.log*
-yarn-error.log*
-*.jks
-*.p12
-*.key
-*.mobileprovision
+# OSX
+#
+.DS_Store
# Xcode
+#
build/
*.pbxuser
!default.pbxuser
@@ -38,18 +20,43 @@ DerivedData
*.hmap
*.ipa
*.xcuserstate
-ios/lightning.xcworkspace/xcshareddata
+project.xcworkspace
+ios/Pods
+ios/lightningApp.xcworkspace/xcshareddata
ios/lightning/Lndmobile.framework
ios/lightning/Supporting/EXShell.json
ios/lightning/Supporting/EXShell.plist.bak
-# Android/IJ
+# Android/IntelliJ
+#
+build/
.idea
.gradle
local.properties
-*.aab
-*.apk
android/Lndmobile/Lndmobile.aar
-android/app/src/main/assets/shell-app.bundle
-android/app/src/main/assets/shell-app-manifest.json
-android/app/prodKernel/
+android/app/release/
+
+# node.js
+#
+node_modules/
+npm-debug.log
+yarn-error.log
+
+# BUCK
+buck-out/
+\.buckd/
+*.keystore
+
+# fastlane
+#
+# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
+# screenshots whenever they are needed.
+# For more information about the recommended setup visit:
+# https://docs.fastlane.tools/best-practices/source-control/
+
+*/fastlane/report.xml
+*/fastlane/Preview.html
+*/fastlane/screenshots
+
+# Bundle artifact
+*.jsbundle
diff --git a/mobile/.watchmanconfig b/mobile/.watchmanconfig
index 0967ef424..9e26dfeeb 100644
--- a/mobile/.watchmanconfig
+++ b/mobile/.watchmanconfig
@@ -1 +1 @@
-{}
+{}
\ No newline at end of file
diff --git a/mobile/App.js b/mobile/App.js
index 88147f079..7f2f40658 100644
--- a/mobile/App.js
+++ b/mobile/App.js
@@ -1,12 +1,13 @@
import 'node-libs-react-native/globals';
-import { Platform } from 'react-native';
// Polyfill ECMAScript Internationalization API on Android
// See: https://github.com/facebook/react-native/issues/19410
-if (Platform.OS === 'android') {
- require('intl');
- require('intl/locale-data/jsonp/en-US');
-}
+import 'intl';
+import 'intl/locale-data/jsonp/en-US';
+
+import { StyleSheet } from 'react-native';
+import * as Font from 'expo-font';
+StyleSheet.setStyleAttributePreprocessor('fontFamily', Font.processFontFamily);
import App from '../src/view/main-mobile';
diff --git a/mobile/README.md b/mobile/README.md
index 85e2a78d9..e7d98ee0a 100644
--- a/mobile/README.md
+++ b/mobile/README.md
@@ -1,218 +1,83 @@
-This project was bootstrapped with [Create React Native App](https://github.com/react-community/create-react-native-app).
+Lightning mobile app
+==========
-Below you'll find information about performing common tasks. The most recent version of this guide is available [here](https://github.com/react-community/create-react-native-app/blob/master/react-native-scripts/template/README.md).
+## Getting started
-## Table of Contents
+This project was bootstrapped using [Expo CLI as a bare project](https://blog.expo.io/you-can-now-use-expo-apis-in-any-react-native-app-7c3a93041331). You should only need `react-native-cli` for development not `expo-cli`. See the [React Native CLI Getting Started Guide](https://facebook.github.io/react-native/docs/getting-started.html)
-* [Updating to New Releases](#updating-to-new-releases)
-* [Available Scripts](#available-scripts)
- * [npm start](#npm-start)
- * [npm test](#npm-test)
- * [npm run ios](#npm-run-ios)
- * [npm run android](#npm-run-android)
- * [npm run eject](#npm-run-eject)
-* [Writing and Running Tests](#writing-and-running-tests)
-* [Environment Variables](#environment-variables)
- * [Configuring Packager IP Address](#configuring-packager-ip-address)
-* [Customizing App Display Name and Icon](#customizing-app-display-name-and-icon)
-* [Sharing and Deployment](#sharing-and-deployment)
- * [Publishing to Expo's React Native Community](#publishing-to-expos-react-native-community)
- * [Building an Expo "standalone" app](#building-an-expo-standalone-app)
- * [Ejecting from Create React Native App](#ejecting-from-create-react-native-app)
- * [Build Dependencies (Xcode & Android Studio)](#build-dependencies-xcode-android-studio)
- * [Should I Use ExpoKit?](#should-i-use-expokit)
-* [Troubleshooting](#troubleshooting)
- * [Networking](#networking)
- * [iOS Simulator won't open](#ios-simulator-wont-open)
- * [QR Code does not scan](#qr-code-does-not-scan)
+## Building lnd
-## Updating to New Releases
+### Build dependencies
-You should only need to update the global installation of `create-react-native-app` very rarely, ideally never.
+* node 10 LTS (brew install node@10)
+* react-native-cli (npm install -g react-native-cli)
+* watchman (brew install watchman)
+* Xcode
+* cocoapods 1.7.2 (brew install cocoapods)
+* go 1.11.6 (brew install go@1.11)
+* [gomobile](https://github.com/golang/go/wiki/Mobile)
+* [lnd mobile build tools](https://github.com/lightninglabs/lnd/tree/mobile-autopilot-100)
+* [Java](https://www.oracle.com/technetwork/java/javase/downloads/index.html)
+* [Android Studio](https://developer.android.com/studio)
+* [Android NDK](https://developer.android.com/ndk/guides)
-Updating the `react-native-scripts` dependency of your app should be as simple as bumping the version number in `package.json` and reinstalling your project's dependencies.
+### Building
-Upgrading to a new version of React Native requires updating the `react-native`, `react`, and `expo` package versions, and setting the correct `sdkVersion` in `app.json`. See the [versioning guide](https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md) for up-to-date information about package version compatibility.
-
-## Available Scripts
-
-If Yarn was installed when the project was initialized, then dependencies will have been installed via Yarn, and you should probably use it to run these commands as well. Unlike dependency installation, command running syntax is identical for Yarn and NPM at the time of this writing.
-
-### `npm start`
-
-Runs your app in development mode.
-
-Open it in the [Expo app](https://expo.io) on your phone to view it. It will reload if you save edits to your files, and you will see build errors and logs in the terminal.
-
-Sometimes you may need to reset or clear the React Native packager's cache. To do so, you can pass the `--reset-cache` flag to the start script:
-
-```
-npm start --reset-cache
-# or
-yarn start --reset-cache
-```
-
-#### `npm test`
-
-Runs the [jest](https://github.com/facebook/jest) test runner on your tests.
-
-#### `npm run ios`
-
-Like `npm start`, but also attempts to open your app in the iOS Simulator if you're on a Mac and have it installed.
-
-#### `npm run android`
-
-Like `npm start`, but also attempts to open your app on a connected Android device or emulator. Requires an installation of Android build tools (see [React Native docs](https://facebook.github.io/react-native/docs/getting-started.html) for detailed setup). We also recommend installing Genymotion as your Android emulator. Once you've finished setting up the native build environment, there are two options for making the right copy of `adb` available to Create React Native App:
-
-##### Using Android Studio's `adb`
-
-1. Make sure that you can run adb from your terminal.
-2. Open Genymotion and navigate to `Settings -> ADB`. Select “Use custom Android SDK tools” and update with your [Android SDK directory](https://stackoverflow.com/questions/25176594/android-sdk-location).
-
-##### Using Genymotion's `adb`
-
-1. Find Genymotion’s copy of adb. On macOS for example, this is normally `/Applications/Genymotion.app/Contents/MacOS/tools/`.
-2. Add the Genymotion tools directory to your path (instructions for [Mac](http://osxdaily.com/2014/08/14/add-new-path-to-path-command-line/), [Linux](http://www.computerhope.com/issues/ch001647.htm), and [Windows](https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/)).
-3. Make sure that you can run adb from your terminal.
-
-#### `npm run eject`
-
-This will start the process of "ejecting" from Create React Native App's build scripts. You'll be asked a couple of questions about how you'd like to build your project.
-
-**Warning:** Running eject is a permanent action (aside from whatever version control system you use). An ejected app will require you to have an [Xcode and/or Android Studio environment](https://facebook.github.io/react-native/docs/getting-started.html) set up.
-
-## Customizing App Display Name and Icon
-
-You can edit `app.json` to include [configuration keys](https://docs.expo.io/versions/latest/guides/configuration.html) under the `expo` key.
-
-To change your app's display name, set the `expo.name` key in `app.json` to an appropriate string.
-
-To set an app icon, set the `expo.icon` key in `app.json` to be either a local path or a URL. It's recommended that you use a 512x512 png file with transparency.
-
-## Writing and Running Tests
-
-This project is set up to use [jest](https://facebook.github.io/jest/) for tests. You can configure whatever testing strategy you like, but jest works out of the box. Create test files in directories called `__tests__` or with the `.test` extension to have the files loaded by jest. See the [the template project](https://github.com/react-community/create-react-native-app/blob/master/react-native-scripts/template/App.test.js) for an example test. The [jest documentation](https://facebook.github.io/jest/docs/en/getting-started.html) is also a wonderful resource, as is the [React Native testing tutorial](https://facebook.github.io/jest/docs/en/tutorial-react-native.html).
-
-## Environment Variables
-
-You can configure some of Create React Native App's behavior using environment variables.
-
-### Configuring Packager IP Address
-
-When starting your project, you'll see something like this for your project URL:
-
-```
-exp://192.168.0.2:19000
```
-
-The "manifest" at that URL tells the Expo app how to retrieve and load your app's JavaScript bundle, so even if you load it in the app via a URL like `exp://localhost:19000`, the Expo client app will still try to retrieve your app at the IP address that the start script provides.
-
-In some cases, this is less than ideal. This might be the case if you need to run your project inside of a virtual machine and you have to access the packager via a different IP address than the one which prints by default. In order to override the IP address or hostname that is detected by Create React Native App, you can specify your own hostname via the `REACT_NATIVE_PACKAGER_HOSTNAME` environment variable:
-
-Mac and Linux:
-
-```
-REACT_NATIVE_PACKAGER_HOSTNAME='my-custom-ip-address-or-hostname' npm start
-```
-
-Windows:
-```
-set REACT_NATIVE_PACKAGER_HOSTNAME='my-custom-ip-address-or-hostname'
-npm start
+go get golang.org/x/mobile/cmd/gomobile
+cd lnd
+make clean
+gomobile init
+make mobile
```
-The above example would cause the development server to listen on `exp://my-custom-ip-address-or-hostname:19000`.
+Next copy the lnd mobile binaries to this project
-## Sharing and Deployment
+1. `lnd/mobile/build/ios/Lndmobile.framework` -> `ios/lightning`
+2. `lnd/mobile/build/android/Lndmobile.aar` -> `android/Lndmobile`
-Create React Native App does a lot of work to make app setup and development simple and straightforward, but it's very difficult to do the same for deploying to Apple's App Store or Google's Play Store without relying on a hosted service.
+## Running the app
-### Publishing to Expo's React Native Community
-
-Expo provides free hosting for the JS-only apps created by CRNA, allowing you to share your app through the Expo client app. This requires registration for an Expo account.
-
-Install the `exp` command-line tool, and run the publish command:
+### Install the dependencies
```
-$ npm i -g exp
-$ exp publish
+npm install (first in git `/` and then in `/mobile`)
+cd ios
+pod install
+cd ..
```
-### Building an Expo "standalone" app
-
-You can also use a service like [Expo's standalone builds](https://docs.expo.io/versions/latest/guides/building-standalone-apps.html) if you want to get an IPA/APK for distribution without having to build the native code yourself.
-
-### Ejecting from Create React Native App
-
-If you want to build and deploy your app yourself, you'll need to eject from CRNA and use Xcode and Android Studio.
-
-This is usually as simple as running `npm run eject` in your project, which will walk you through the process. Make sure to install `react-native-cli` and follow the [native code getting started guide for React Native](https://facebook.github.io/react-native/docs/getting-started.html).
-
-#### Should I Use ExpoKit?
-
-If you have made use of Expo APIs while working on your project, then those API calls will stop working if you eject to a regular React Native project. If you want to continue using those APIs, you can eject to "React Native + ExpoKit" which will still allow you to build your own native code and continue using the Expo APIs. See the [ejecting guide](https://github.com/react-community/create-react-native-app/blob/master/EJECTING.md) for more details about this option.
-
-## Troubleshooting
-
-### Networking
-
-If you're unable to load your app on your phone due to a network timeout or a refused connection, a good first step is to verify that your phone and computer are on the same network and that they can reach each other. Create React Native App needs access to ports 19000 and 19001 so ensure that your network and firewall settings allow access from your device to your computer on both of these ports.
-
-Try opening a web browser on your phone and opening the URL that the packager script prints, replacing `exp://` with `http://`. So, for example, if underneath the QR code in your terminal you see:
+### Start the app in the simulator
```
-exp://192.168.0.1:19000
+npm run ios
+npm run android
```
-Try opening Safari or Chrome on your phone and loading
+### Debugging the app in Xcode or Android Studio
-```
-http://192.168.0.1:19000
-```
-
-and
+Start the metro development server
```
-http://192.168.0.1:19001
+npm start
```
-If this works, but you're still unable to load your app by scanning the QR code, please open an issue on the [Create React Native App repository](https://github.com/react-community/create-react-native-app) with details about these steps and any other error messages you may have received.
-
-If you're not able to load the `http` URL in your phone's web browser, try using the tethering/mobile hotspot feature on your phone (beware of data usage, though), connecting your computer to that WiFi network, and restarting the packager. If you are using a VPN you may need to disable it.
-
-### iOS Simulator won't open
-
-If you're on a Mac, there are a few errors that users sometimes see when attempting to `npm run ios`:
-
-* "non-zero exit code: 107"
-* "You may need to install Xcode" but it is already installed
-* and others
-
-There are a few steps you may want to take to troubleshoot these kinds of errors:
-
-1. Make sure Xcode is installed and open it to accept the license agreement if it prompts you. You can install it from the Mac App Store.
-2. Open Xcode's Preferences, the Locations tab, and make sure that the `Command Line Tools` menu option is set to something. Sometimes when the CLI tools are first installed by Homebrew this option is left blank, which can prevent Apple utilities from finding the simulator. Make sure to re-run `npm/yarn run ios` after doing so.
-3. If that doesn't work, open the Simulator, and under the app menu select `Reset Contents and Settings...`. After that has finished, quit the Simulator, and re-run `npm/yarn run ios`.
-
-### QR Code does not scan
-
-If you're not able to scan the QR code, make sure your phone's camera is focusing correctly, and also make sure that the contrast on the two colors in your terminal is high enough. For example, WebStorm's default themes may [not have enough contrast](https://github.com/react-community/create-react-native-app/issues/49) for terminal QR codes to be scannable with the system barcode scanners that the Expo app uses.
-
-If this causes problems for you, you may want to try changing your terminal's color theme to have more contrast, or running Create React Native App from a different terminal. You can also manually enter the URL printed by the packager script in the Expo app's search bar to load it manually.
+Then just open `ios/LightningApp.xcworkspace` from the finder on your mac. Or open the project in the `android` directory in Android Studio.
-# Building lnd
+## Releasing
-## Build dependencies
+### iOS
-* node 10 LTS
-* expo-cli (npm install -g expo-cli)
-* cocoapods 1.5.3
-* go 1.11.6
+1. Open `ios/LightningApp.xcworkspace` from the finder on your mac
+2. From xcode set the active scheme to `Release`
+3. Set the build target as `Generic iOS device`
+4. Bump the version and build number in the project
+5. Build the Archive in the menu under `Product -> Archive`
-https://github.com/golang/go/wiki/Mobile
-https://github.com/lightninglabs/lnd/tree/mobile-build-tool
-`make mobile` is the golden command
+### Android
-ideally this should be the only setup you would need:
-`go get golang.org/x/mobile/cmd/gomobile`
-`gomobile init # it might take a few minutes`
+1. Open Android Studio
+2. open the project in the `android` directory
+3. Bump the `versionName` and `versionCode` under `app/build.gradle`
+4. From the menu `Build -> Clean Project`
+5. From the menu `Build -> Generate Signed Bundle / APK`
diff --git a/mobile/android/LightningApp.iml b/mobile/android/LightningApp.iml
new file mode 100644
index 000000000..ddb31f0d4
--- /dev/null
+++ b/mobile/android/LightningApp.iml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mobile/android/app/BUCK b/mobile/android/app/BUCK
new file mode 100644
index 000000000..19f753d1b
--- /dev/null
+++ b/mobile/android/app/BUCK
@@ -0,0 +1,65 @@
+# To learn about Buck see [Docs](https://buckbuild.com/).
+# To run your application with Buck:
+# - install Buck
+# - `npm start` - to start the packager
+# - `cd android`
+# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"`
+# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck
+# - `buck install -r android/app` - compile, install and run application
+#
+
+lib_deps = []
+
+for jarfile in glob(['libs/*.jar']):
+ name = 'jars__' + jarfile[jarfile.rindex('/') + 1: jarfile.rindex('.jar')]
+ lib_deps.append(':' + name)
+ prebuilt_jar(
+ name = name,
+ binary_jar = jarfile,
+ )
+
+for aarfile in glob(['libs/*.aar']):
+ name = 'aars__' + aarfile[aarfile.rindex('/') + 1: aarfile.rindex('.aar')]
+ lib_deps.append(':' + name)
+ android_prebuilt_aar(
+ name = name,
+ aar = aarfile,
+ )
+
+android_library(
+ name = "all-libs",
+ exported_deps = lib_deps,
+)
+
+android_library(
+ name = "app-code",
+ srcs = glob([
+ "src/main/java/**/*.java",
+ ]),
+ deps = [
+ ":all-libs",
+ ":build_config",
+ ":res",
+ ],
+)
+
+android_build_config(
+ name = "build_config",
+ package = "com.lightningapp",
+)
+
+android_resource(
+ name = "res",
+ package = "com.lightningapp",
+ res = "src/main/res",
+)
+
+android_binary(
+ name = "app",
+ keystore = "//android/keystores:debug",
+ manifest = "src/main/AndroidManifest.xml",
+ package_type = "debug",
+ deps = [
+ ":app-code",
+ ],
+)
diff --git a/mobile/android/app/app.iml b/mobile/android/app/app.iml
new file mode 100644
index 000000000..ab51546ac
--- /dev/null
+++ b/mobile/android/app/app.iml
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ generateDebugSources
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mobile/android/app/build.gradle b/mobile/android/app/build.gradle
new file mode 100644
index 000000000..904c6f22a
--- /dev/null
+++ b/mobile/android/app/build.gradle
@@ -0,0 +1,161 @@
+apply plugin: "com.android.application"
+
+import com.android.build.OutputFile
+
+/**
+ * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
+ * and bundleReleaseJsAndAssets).
+ * These basically call `react-native bundle` with the correct arguments during the Android build
+ * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
+ * bundle directly from the development server. Below you can see all the possible configurations
+ * and their defaults. If you decide to add a configuration block, make sure to add it before the
+ * `apply from: "../../node_modules/react-native/react.gradle"` line.
+ *
+ * project.ext.react = [
+ * // the name of the generated asset file containing your JS bundle
+ * bundleAssetName: "index.android.bundle",
+ *
+ * // the entry file for bundle generation
+ * entryFile: "index.android.js",
+ *
+ * // whether to bundle JS and assets in debug mode
+ * bundleInDebug: false,
+ *
+ * // whether to bundle JS and assets in release mode
+ * bundleInRelease: true,
+ *
+ * // whether to bundle JS and assets in another build variant (if configured).
+ * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
+ * // The configuration property can be in the following formats
+ * // 'bundleIn${productFlavor}${buildType}'
+ * // 'bundleIn${buildType}'
+ * // bundleInFreeDebug: true,
+ * // bundleInPaidRelease: true,
+ * // bundleInBeta: true,
+ *
+ * // whether to disable dev mode in custom build variants (by default only disabled in release)
+ * // for example: to disable dev mode in the staging build type (if configured)
+ * devDisabledInStaging: true,
+ * // The configuration property can be in the following formats
+ * // 'devDisabledIn${productFlavor}${buildType}'
+ * // 'devDisabledIn${buildType}'
+ *
+ * // the root of your project, i.e. where "package.json" lives
+ * root: "../../",
+ *
+ * // where to put the JS bundle asset in debug mode
+ * jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
+ *
+ * // where to put the JS bundle asset in release mode
+ * jsBundleDirRelease: "$buildDir/intermediates/assets/release",
+ *
+ * // where to put drawable resources / React Native assets, e.g. the ones you use via
+ * // require('./image.png')), in debug mode
+ * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
+ *
+ * // where to put drawable resources / React Native assets, e.g. the ones you use via
+ * // require('./image.png')), in release mode
+ * resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
+ *
+ * // by default the gradle tasks are skipped if none of the JS files or assets change; this means
+ * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
+ * // date; if you have any other folders that you want to ignore for performance reasons (gradle
+ * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
+ * // for example, you might want to remove it from here.
+ * inputExcludes: ["android/**", "ios/**"],
+ *
+ * // override which node gets called and with what additional arguments
+ * nodeExecutableAndArgs: ["node"],
+ *
+ * // supply additional arguments to the packager
+ * extraPackagerArgs: []
+ * ]
+ */
+
+project.ext.react = [
+ entryFile: "index.js"
+]
+
+apply from: '../../node_modules/react-native-unimodules/gradle.groovy'
+apply from: "../../node_modules/react-native/react.gradle"
+
+/**
+ * Set this to true to create two separate APKs instead of one:
+ * - An APK that only works on ARM devices
+ * - An APK that only works on x86 devices
+ * The advantage is the size of the APK is reduced by about 4MB.
+ * Upload all the APKs to the Play Store and people will download
+ * the correct one based on the CPU architecture of their device.
+ */
+def enableSeparateBuildPerCPUArchitecture = true
+
+/**
+ * Run Proguard to shrink the Java bytecode in release builds.
+ */
+def enableProguardInReleaseBuilds = false
+
+android {
+ compileSdkVersion rootProject.ext.compileSdkVersion
+ buildToolsVersion rootProject.ext.buildToolsVersion
+
+ defaultConfig {
+ applicationId "engineering.lightning.LightningApp"
+ minSdkVersion rootProject.ext.minSdkVersion
+ targetSdkVersion rootProject.ext.targetSdkVersion
+ missingDimensionStrategy 'react-native-camera', 'general'
+ versionCode 37
+ versionName "0.2.0"
+ }
+ splits {
+ abi {
+ reset()
+ enable enableSeparateBuildPerCPUArchitecture
+ universalApk false // If true, also generate a universal APK
+ include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
+ }
+ }
+ buildTypes {
+ release {
+ minifyEnabled enableProguardInReleaseBuilds
+ proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
+ }
+ }
+ // applicationVariants are e.g. debug, release
+ applicationVariants.all { variant ->
+ 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, "arm64-v8a": 3, "x86_64": 4]
+ def abi = output.getFilter(OutputFile.ABI)
+ if (abi != null) { // null for the universal-debug, universal-release variants
+ output.versionCodeOverride =
+ versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
+ }
+ }
+ }
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+}
+
+dependencies {
+ implementation project(':react-native-fs')
+ implementation project(':react-native-camera')
+ implementation project(':react-native-keychain')
+ implementation project(':react-native-svg')
+ implementation project(':react-native-gesture-handler')
+ implementation fileTree(dir: "libs", include: ["*.jar"])
+ implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
+ implementation "com.facebook.react:react-native:+" // From node_modules
+ addUnimodulesDependencies()
+
+ implementation project(":Lndmobile")
+}
+
+// Run this once to be able to run the application with BUCK
+// puts all compile dependencies into folder libs for BUCK to use
+task copyDownloadableDepsToLibs(type: Copy) {
+ from configurations.compile
+ into 'libs'
+}
diff --git a/mobile/android/app/build_defs.bzl b/mobile/android/app/build_defs.bzl
new file mode 100644
index 000000000..fff270f8d
--- /dev/null
+++ b/mobile/android/app/build_defs.bzl
@@ -0,0 +1,19 @@
+"""Helper definitions to glob .aar and .jar targets"""
+
+def create_aar_targets(aarfiles):
+ for aarfile in aarfiles:
+ name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
+ lib_deps.append(":" + name)
+ android_prebuilt_aar(
+ name = name,
+ aar = aarfile,
+ )
+
+def create_jar_targets(jarfiles):
+ for jarfile in jarfiles:
+ name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
+ lib_deps.append(":" + name)
+ prebuilt_jar(
+ name = name,
+ binary_jar = jarfile,
+ )
diff --git a/mobile/android/app/proguard-rules.pro b/mobile/android/app/proguard-rules.pro
new file mode 100644
index 000000000..a92fa177e
--- /dev/null
+++ b/mobile/android/app/proguard-rules.pro
@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/mobile/android/app/src/main/AndroidManifest.xml b/mobile/android/app/src/main/AndroidManifest.xml
new file mode 100644
index 000000000..0f760d679
--- /dev/null
+++ b/mobile/android/app/src/main/AndroidManifest.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mobile/android/app/src/main/ic_launcher-web.png b/mobile/android/app/src/main/ic_launcher-web.png
new file mode 100644
index 000000000..cd19c5e42
Binary files /dev/null and b/mobile/android/app/src/main/ic_launcher-web.png differ
diff --git a/mobile/android/app/src/main/java/host/exp/exponent/LndNativeModule.java b/mobile/android/app/src/main/java/com/lightningapp/LndNativeModule.java
similarity index 99%
rename from mobile/android/app/src/main/java/host/exp/exponent/LndNativeModule.java
rename to mobile/android/app/src/main/java/com/lightningapp/LndNativeModule.java
index d4ef80ce3..4a39e47d5 100644
--- a/mobile/android/app/src/main/java/host/exp/exponent/LndNativeModule.java
+++ b/mobile/android/app/src/main/java/com/lightningapp/LndNativeModule.java
@@ -1,4 +1,4 @@
-package host.exp.exponent;
+package com.lightningapp;
import android.content.res.AssetManager;
import android.os.FileObserver;
diff --git a/mobile/android/app/src/main/java/host/exp/exponent/LndNativePackage.java b/mobile/android/app/src/main/java/com/lightningapp/LndNativePackage.java
similarity index 96%
rename from mobile/android/app/src/main/java/host/exp/exponent/LndNativePackage.java
rename to mobile/android/app/src/main/java/com/lightningapp/LndNativePackage.java
index d068f15cd..6eb75a47f 100644
--- a/mobile/android/app/src/main/java/host/exp/exponent/LndNativePackage.java
+++ b/mobile/android/app/src/main/java/com/lightningapp/LndNativePackage.java
@@ -1,4 +1,4 @@
-package host.exp.exponent;
+package com.lightningapp;
import com.facebook.react.ReactPackage;
diff --git a/mobile/android/app/src/main/java/com/lightningapp/MainActivity.java b/mobile/android/app/src/main/java/com/lightningapp/MainActivity.java
new file mode 100644
index 000000000..10cf3def2
--- /dev/null
+++ b/mobile/android/app/src/main/java/com/lightningapp/MainActivity.java
@@ -0,0 +1,15 @@
+package com.lightningapp;
+
+import com.facebook.react.ReactActivity;
+
+public class MainActivity extends ReactActivity {
+
+ /**
+ * Returns the name of the main component registered from JavaScript.
+ * This is used to schedule rendering of the component.
+ */
+ @Override
+ protected String getMainComponentName() {
+ return "LightningApp";
+ }
+}
diff --git a/mobile/android/app/src/main/java/com/lightningapp/MainApplication.java b/mobile/android/app/src/main/java/com/lightningapp/MainApplication.java
new file mode 100644
index 000000000..591428efd
--- /dev/null
+++ b/mobile/android/app/src/main/java/com/lightningapp/MainApplication.java
@@ -0,0 +1,71 @@
+package com.lightningapp;
+
+import android.app.Application;
+
+import com.facebook.react.ReactApplication;
+import com.rnfs.RNFSPackage;
+import org.reactnative.camera.RNCameraPackage;
+import com.oblador.keychain.KeychainPackage;
+import com.horcrux.svg.SvgPackage;
+import com.swmansion.gesturehandler.react.RNGestureHandlerPackage;
+import com.facebook.react.ReactNativeHost;
+import com.facebook.react.ReactPackage;
+import com.facebook.react.shell.MainReactPackage;
+import com.facebook.soloader.SoLoader;
+import com.lightningapp.generated.BasePackageList;
+
+import org.unimodules.adapters.react.ReactAdapterPackage;
+import org.unimodules.adapters.react.ModuleRegistryAdapter;
+import org.unimodules.adapters.react.ReactModuleRegistryProvider;
+import org.unimodules.core.interfaces.Package;
+import org.unimodules.core.interfaces.SingletonModule;
+import expo.modules.constants.ConstantsPackage;
+import expo.modules.permissions.PermissionsPackage;
+import expo.modules.filesystem.FileSystemPackage;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class MainApplication extends Application implements ReactApplication {
+ private final ReactModuleRegistryProvider mModuleRegistryProvider = new ReactModuleRegistryProvider(
+ new BasePackageList().getPackageList(),
+ Arrays.asList()
+ );
+
+ private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
+ @Override
+ public boolean getUseDeveloperSupport() {
+ return BuildConfig.DEBUG;
+ }
+
+ @Override
+ protected List getPackages() {
+ return Arrays.asList(
+ new MainReactPackage(),
+ new RNFSPackage(),
+ new RNCameraPackage(),
+ new KeychainPackage(),
+ new SvgPackage(),
+ new RNGestureHandlerPackage(),
+ new ModuleRegistryAdapter(mModuleRegistryProvider),
+ new LndNativePackage()
+ );
+ }
+
+ @Override
+ protected String getJSMainModuleName() {
+ return "index";
+ }
+ };
+
+ @Override
+ public ReactNativeHost getReactNativeHost() {
+ return mReactNativeHost;
+ }
+
+ @Override
+ public void onCreate() {
+ super.onCreate();
+ SoLoader.init(this, /* native exopackage */ false);
+ }
+}
diff --git a/mobile/android/app/src/main/java/com/lightningapp/generated/BasePackageList.java b/mobile/android/app/src/main/java/com/lightningapp/generated/BasePackageList.java
new file mode 100644
index 000000000..02d3187c9
--- /dev/null
+++ b/mobile/android/app/src/main/java/com/lightningapp/generated/BasePackageList.java
@@ -0,0 +1,19 @@
+package com.lightningapp.generated;
+
+import java.util.Arrays;
+import java.util.List;
+import org.unimodules.core.interfaces.Package;
+
+public class BasePackageList {
+ public List getPackageList() {
+ return Arrays.asList(
+ new expo.modules.constants.ConstantsPackage(),
+ new expo.modules.filesystem.FileSystemPackage(),
+ new expo.modules.font.FontLoaderPackage(),
+ new expo.modules.keepawake.KeepAwakePackage(),
+ new expo.modules.localauthentication.LocalAuthenticationPackage(),
+ new expo.modules.permissions.PermissionsPackage(),
+ new expo.modules.random.RandomPackage()
+ );
+ }
+}
diff --git a/mobile/android/app/src/main/res/drawable/ic_launcher_background.xml b/mobile/android/app/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 000000000..2408e30d1
--- /dev/null
+++ b/mobile/android/app/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 000000000..c4a603d4c
--- /dev/null
+++ b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 000000000..c4a603d4c
--- /dev/null
+++ b/mobile/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 000000000..19d7f6f3c
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..5e5e58f21
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 000000000..183a835f0
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 000000000..02b1a3aa0
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..3da335eb0
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
new file mode 100644
index 000000000..400298451
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 000000000..cd974153b
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..4d32e1889
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
new file mode 100644
index 000000000..327c0502d
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 000000000..68ca58bdb
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..33a32196b
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
new file mode 100644
index 000000000..28774f5a8
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 000000000..49a846e8a
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
new file mode 100644
index 000000000..21156b38e
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
new file mode 100644
index 000000000..3f346c8ee
Binary files /dev/null and b/mobile/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/mobile/android/app/src/main/res/values/colors.xml b/mobile/android/app/src/main/res/values/colors.xml
new file mode 100644
index 000000000..854b3e19a
--- /dev/null
+++ b/mobile/android/app/src/main/res/values/colors.xml
@@ -0,0 +1,14 @@
+
+
+ #1b73b4
+ #011A2D
+ #1b73b4
+ #FFFFFF
+ #FFFFFF
+ #FFFFFF
+ #FF0000
+ #66FFFFFF
+ #F6F6F7
+ #57038D
+ #FFFFFF
+
diff --git a/mobile/android/app/src/main/res/values/strings.xml b/mobile/android/app/src/main/res/values/strings.xml
new file mode 100644
index 000000000..e5eec347b
--- /dev/null
+++ b/mobile/android/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ Testnet
+
diff --git a/mobile/android/app/src/main/res/values/styles.xml b/mobile/android/app/src/main/res/values/styles.xml
new file mode 100644
index 000000000..49db77a5d
--- /dev/null
+++ b/mobile/android/app/src/main/res/values/styles.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
diff --git a/mobile/android/build.gradle b/mobile/android/build.gradle
new file mode 100644
index 000000000..e643c41b8
--- /dev/null
+++ b/mobile/android/build.gradle
@@ -0,0 +1,39 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+buildscript {
+ ext {
+ buildToolsVersion = "28.0.3"
+ minSdkVersion = 21
+ compileSdkVersion = 28
+ targetSdkVersion = 27
+ supportLibVersion = "28.0.0"
+ }
+ repositories {
+ google()
+ jcenter()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:3.3.0'
+
+ // NOTE: Do not place your application dependencies here; they belong
+ // in the individual module build.gradle files
+ }
+}
+
+allprojects {
+ repositories {
+ mavenLocal()
+ google()
+ jcenter()
+ maven {
+ // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
+ url "$rootDir/../node_modules/react-native/android"
+ }
+ }
+}
+
+
+task wrapper(type: Wrapper) {
+ gradleVersion = '4.7'
+ distributionUrl = distributionUrl.replace("bin", "all")
+}
diff --git a/mobile/android/gradle.properties b/mobile/android/gradle.properties
new file mode 100644
index 000000000..89e0d99e2
--- /dev/null
+++ b/mobile/android/gradle.properties
@@ -0,0 +1,18 @@
+# Project-wide Gradle settings.
+
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+# Default value: -Xmx10248m -XX:MaxPermSize=256m
+# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
+
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
diff --git a/mobile/android/gradle/wrapper/gradle-wrapper.jar b/mobile/android/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 000000000..01b8bf6b1
Binary files /dev/null and b/mobile/android/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/mobile/android/gradle/wrapper/gradle-wrapper.properties b/mobile/android/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 000000000..b10568fb2
--- /dev/null
+++ b/mobile/android/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,5 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
diff --git a/mobile/android/gradlew b/mobile/android/gradlew
new file mode 100755
index 000000000..cccdd3d51
--- /dev/null
+++ b/mobile/android/gradlew
@@ -0,0 +1,172 @@
+#!/usr/bin/env sh
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+ echo "$*"
+}
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+ NONSTOP* )
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Escape application args
+save () {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
+}
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+ cd "$(dirname "$0")"
+fi
+
+exec "$JAVACMD" "$@"
diff --git a/mobile/android/gradlew.bat b/mobile/android/gradlew.bat
new file mode 100644
index 000000000..e95643d6a
--- /dev/null
+++ b/mobile/android/gradlew.bat
@@ -0,0 +1,84 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/mobile/android/keystores/BUCK b/mobile/android/keystores/BUCK
new file mode 100644
index 000000000..88e4c31b2
--- /dev/null
+++ b/mobile/android/keystores/BUCK
@@ -0,0 +1,8 @@
+keystore(
+ name = "debug",
+ properties = "debug.keystore.properties",
+ store = "debug.keystore",
+ visibility = [
+ "PUBLIC",
+ ],
+)
diff --git a/mobile/android/keystores/debug.keystore.properties b/mobile/android/keystores/debug.keystore.properties
new file mode 100644
index 000000000..121bfb49f
--- /dev/null
+++ b/mobile/android/keystores/debug.keystore.properties
@@ -0,0 +1,4 @@
+key.store=debug.keystore
+key.alias=androiddebugkey
+key.store.password=android
+key.alias.password=android
diff --git a/mobile/android/settings.gradle b/mobile/android/settings.gradle
new file mode 100644
index 000000000..9545f8aa3
--- /dev/null
+++ b/mobile/android/settings.gradle
@@ -0,0 +1,16 @@
+apply from: '../node_modules/react-native-unimodules/gradle.groovy'
+include ':react-native-fs'
+project(':react-native-fs').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fs/android')
+include ':react-native-camera'
+project(':react-native-camera').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-camera/android')
+include ':react-native-keychain'
+project(':react-native-keychain').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-keychain/android')
+include ':react-native-svg'
+project(':react-native-svg').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-svg/android')
+include ':react-native-gesture-handler'
+project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android')
+includeUnimodulesProjects()
+
+rootProject.name = 'LightningApp'
+
+include ':app', ':Lndmobile'
diff --git a/mobile/app.json b/mobile/app.json
index cbc199e6a..44843bdf3 100644
--- a/mobile/app.json
+++ b/mobile/app.json
@@ -1,40 +1,7 @@
{
+ "name": "LightningApp",
+ "displayName": "Lightning",
"expo": {
- "name": "Lightning",
- "version": "0.0.1",
- "description": "An easy-to-use Lightning wallet.",
- "slug": "lightning-app",
- "privacy": "unlisted",
- "sdkVersion": "32.0.0",
- "platforms": ["ios", "android"],
- "orientation": "portrait",
- "primaryColor": "#57038D",
- "icon": "./assets/icon.png",
- "splash": {
- "image": "./assets/splash.png",
- "resizeMode": "cover",
- "backgroundColor": "#57038D"
- },
- "updates": {
- "fallbackToCacheTimeout": 0,
- "enabled": false
- },
- "assetBundlePatterns": [
- "**/*"
- ],
- "ios": {
- "supportsTablet": true,
- "bundleIdentifier": "engineering.lightning.LightningApp",
- "infoPlist": {
- "NSFaceIDUsageDescription": "Allow Lightning to use Face ID"
- }
- },
- "android": {
- "package": "engineering.lightning.LightningApp"
- },
- "packagerOpts": {
- "config": "./rn-cli.config.js"
- },
- "scheme": "lightning"
+ "sdkVersion": "33.0.0"
}
-}
+}
\ No newline at end of file
diff --git a/mobile/babel.config.js b/mobile/babel.config.js
deleted file mode 100644
index 2900afe9d..000000000
--- a/mobile/babel.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = function(api) {
- api.cache(true);
- return {
- presets: ['babel-preset-expo'],
- };
-};
diff --git a/mobile/index.js b/mobile/index.js
new file mode 100644
index 000000000..ab0ecbf4f
--- /dev/null
+++ b/mobile/index.js
@@ -0,0 +1,5 @@
+import { AppRegistry } from 'react-native';
+import App from './App';
+import { name as appName } from './app.json';
+
+AppRegistry.registerComponent(appName, () => App);
diff --git a/mobile/ios/LightningApp.xcodeproj/project.pbxproj b/mobile/ios/LightningApp.xcodeproj/project.pbxproj
new file mode 100644
index 000000000..002bb2180
--- /dev/null
+++ b/mobile/ios/LightningApp.xcodeproj/project.pbxproj
@@ -0,0 +1,466 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
+ 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; };
+ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
+ 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
+ AC031ECE22BD2D2D0016D936 /* lnd.conf in Resources */ = {isa = PBXBuildFile; fileRef = AC031ECA22BD2D2D0016D936 /* lnd.conf */; };
+ AC031ECF22BD2D2D0016D936 /* LndReactModule.m in Sources */ = {isa = PBXBuildFile; fileRef = AC031ECC22BD2D2D0016D936 /* LndReactModule.m */; };
+ AC031ED022BD2D2D0016D936 /* Lndmobile.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC031ECD22BD2D2D0016D936 /* Lndmobile.framework */; };
+ AC1392D622BD6A5E000DB0CB /* launch_background_image.png in Resources */ = {isa = PBXBuildFile; fileRef = AC1392D422BD6A5E000DB0CB /* launch_background_image.png */; };
+ DAFD221853DB1A8C9A1E7748 /* libPods-LightningApp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6FDDA59DB6552037888286A0 /* libPods-LightningApp.a */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; };
+ 13B07F961A680F5B00A75B9A /* LightningApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LightningApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = LightningApp/AppDelegate.h; sourceTree = ""; };
+ 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = LightningApp/AppDelegate.m; sourceTree = ""; };
+ 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
+ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = LightningApp/Images.xcassets; sourceTree = ""; };
+ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = LightningApp/Info.plist; sourceTree = ""; };
+ 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = LightningApp/main.m; sourceTree = ""; };
+ 2299414940CC188C8A11A41C /* libPods-LightningAppTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-LightningAppTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 6F47E9FDDF749E2E53E2489A /* Pods-LightningAppTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LightningAppTests.release.xcconfig"; path = "Target Support Files/Pods-LightningAppTests/Pods-LightningAppTests.release.xcconfig"; sourceTree = ""; };
+ 6FDDA59DB6552037888286A0 /* libPods-LightningApp.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-LightningApp.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 97439087270E8E67E9E3C3B8 /* Pods-LightningAppTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LightningAppTests.debug.xcconfig"; path = "Target Support Files/Pods-LightningAppTests/Pods-LightningAppTests.debug.xcconfig"; sourceTree = ""; };
+ AC031ECA22BD2D2D0016D936 /* lnd.conf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = lnd.conf; path = lightning/lnd.conf; sourceTree = ""; };
+ AC031ECB22BD2D2D0016D936 /* LndReactModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LndReactModule.h; path = lightning/LndReactModule.h; sourceTree = ""; };
+ AC031ECC22BD2D2D0016D936 /* LndReactModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LndReactModule.m; path = lightning/LndReactModule.m; sourceTree = ""; };
+ AC031ECD22BD2D2D0016D936 /* Lndmobile.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Lndmobile.framework; path = lightning/Lndmobile.framework; sourceTree = ""; };
+ AC1392D522BD6A5E000DB0CB /* Base */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Base; path = LightningApp/Base.lproj/launch_background_image.png; sourceTree = ""; };
+ BDCFBF9BF131F737FA673D2F /* Pods-LightningApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LightningApp.debug.xcconfig"; path = "Target Support Files/Pods-LightningApp/Pods-LightningApp.debug.xcconfig"; sourceTree = ""; };
+ DEC65ACBA64810ECCD8CB2D9 /* Pods-LightningApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LightningApp.release.xcconfig"; path = "Target Support Files/Pods-LightningApp/Pods-LightningApp.release.xcconfig"; sourceTree = ""; };
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
+ ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ DAFD221853DB1A8C9A1E7748 /* libPods-LightningApp.a in Frameworks */,
+ AC031ED022BD2D2D0016D936 /* Lndmobile.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 024DDD8CC46235C283F098C1 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ BDCFBF9BF131F737FA673D2F /* Pods-LightningApp.debug.xcconfig */,
+ DEC65ACBA64810ECCD8CB2D9 /* Pods-LightningApp.release.xcconfig */,
+ 97439087270E8E67E9E3C3B8 /* Pods-LightningAppTests.debug.xcconfig */,
+ 6F47E9FDDF749E2E53E2489A /* Pods-LightningAppTests.release.xcconfig */,
+ );
+ path = Pods;
+ sourceTree = "";
+ };
+ 13B07FAE1A68108700A75B9A /* LightningApp */ = {
+ isa = PBXGroup;
+ children = (
+ AC031ECA22BD2D2D0016D936 /* lnd.conf */,
+ AC031ECD22BD2D2D0016D936 /* Lndmobile.framework */,
+ AC031ECB22BD2D2D0016D936 /* LndReactModule.h */,
+ AC031ECC22BD2D2D0016D936 /* LndReactModule.m */,
+ 008F07F21AC5B25A0029DE68 /* main.jsbundle */,
+ AC1392D422BD6A5E000DB0CB /* launch_background_image.png */,
+ 13B07FAF1A68108700A75B9A /* AppDelegate.h */,
+ 13B07FB01A68108700A75B9A /* AppDelegate.m */,
+ 13B07FB51A68108700A75B9A /* Images.xcassets */,
+ 13B07FB61A68108700A75B9A /* Info.plist */,
+ 13B07FB11A68108700A75B9A /* LaunchScreen.xib */,
+ 13B07FB71A68108700A75B9A /* main.m */,
+ );
+ name = LightningApp;
+ sourceTree = "";
+ };
+ 2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
+ ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
+ 2D16E6891FA4F8E400B85C8A /* libReact.a */,
+ 6FDDA59DB6552037888286A0 /* libPods-LightningApp.a */,
+ 2299414940CC188C8A11A41C /* libPods-LightningAppTests.a */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 832341AE1AAA6A7D00B99B32 /* Libraries */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Libraries;
+ sourceTree = "";
+ };
+ 83CBB9F61A601CBA00E9B192 = {
+ isa = PBXGroup;
+ children = (
+ 13B07FAE1A68108700A75B9A /* LightningApp */,
+ 832341AE1AAA6A7D00B99B32 /* Libraries */,
+ 83CBBA001A601CBA00E9B192 /* Products */,
+ 2D16E6871FA4F8E400B85C8A /* Frameworks */,
+ 024DDD8CC46235C283F098C1 /* Pods */,
+ );
+ indentWidth = 2;
+ sourceTree = "";
+ tabWidth = 2;
+ usesTabs = 0;
+ };
+ 83CBBA001A601CBA00E9B192 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 13B07F961A680F5B00A75B9A /* LightningApp.app */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 13B07F861A680F5B00A75B9A /* LightningApp */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "LightningApp" */;
+ buildPhases = (
+ E87453E83C9DADB6A46CEC1F /* [CP] Check Pods Manifest.lock */,
+ FD4C38642228810C00325AF5 /* Start Packager */,
+ 13B07F871A680F5B00A75B9A /* Sources */,
+ 13B07F8C1A680F5B00A75B9A /* Frameworks */,
+ 13B07F8E1A680F5B00A75B9A /* Resources */,
+ 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = LightningApp;
+ productName = "Hello World";
+ productReference = 13B07F961A680F5B00A75B9A /* LightningApp.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 83CBB9F71A601CBA00E9B192 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0940;
+ ORGANIZATIONNAME = Facebook;
+ TargetAttributes = {
+ 13B07F861A680F5B00A75B9A = {
+ DevelopmentTeam = F7DV2MY8JF;
+ };
+ };
+ };
+ buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "LightningApp" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ English,
+ en,
+ Base,
+ );
+ mainGroup = 83CBB9F61A601CBA00E9B192;
+ productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 13B07F861A680F5B00A75B9A /* LightningApp */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 13B07F8E1A680F5B00A75B9A /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AC031ECE22BD2D2D0016D936 /* lnd.conf in Resources */,
+ 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
+ AC1392D622BD6A5E000DB0CB /* launch_background_image.png in Resources */,
+ 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Bundle React Native code and images";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
+ };
+ E87453E83C9DADB6A46CEC1F /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-LightningApp-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;
+ };
+ FD4C38642228810C00325AF5 /* Start Packager */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ );
+ name = "Start Packager";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 13B07F871A680F5B00A75B9A /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */,
+ AC031ECF22BD2D2D0016D936 /* LndReactModule.m in Sources */,
+ 13B07FC11A68108700A75B9A /* main.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 13B07FB21A68108700A75B9A /* Base */,
+ );
+ name = LaunchScreen.xib;
+ path = LightningApp;
+ sourceTree = "";
+ };
+ AC1392D422BD6A5E000DB0CB /* launch_background_image.png */ = {
+ isa = PBXVariantGroup;
+ children = (
+ AC1392D522BD6A5E000DB0CB /* Base */,
+ );
+ name = launch_background_image.png;
+ sourceTree = "";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 13B07F941A680F5B00A75B9A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = BDCFBF9BF131F737FA673D2F /* Pods-LightningApp.debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CURRENT_PROJECT_VERSION = 1;
+ DEAD_CODE_STRIPPING = NO;
+ DEVELOPMENT_TEAM = F7DV2MY8JF;
+ ENABLE_BITCODE = NO;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/lightning",
+ );
+ INFOPLIST_FILE = LightningApp/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ "-ObjC",
+ "-lc++",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = engineering.lightning.LightningApp;
+ PRODUCT_NAME = LightningApp;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Debug;
+ };
+ 13B07F951A680F5B00A75B9A /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = DEC65ACBA64810ECCD8CB2D9 /* Pods-LightningApp.release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CURRENT_PROJECT_VERSION = 1;
+ DEVELOPMENT_TEAM = F7DV2MY8JF;
+ ENABLE_BITCODE = NO;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(PROJECT_DIR)/lightning",
+ );
+ INFOPLIST_FILE = LightningApp/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ OTHER_LDFLAGS = (
+ "$(inherited)",
+ "-ObjC",
+ "-lc++",
+ );
+ PRODUCT_BUNDLE_IDENTIFIER = engineering.lightning.LightningApp;
+ PRODUCT_NAME = LightningApp;
+ VERSIONING_SYSTEM = "apple-generic";
+ };
+ name = Release;
+ };
+ 83CBBA201A601CBA00E9B192 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ 83CBBA211A601CBA00E9B192 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = YES;
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "LightningApp" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 13B07F941A680F5B00A75B9A /* Debug */,
+ 13B07F951A680F5B00A75B9A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "LightningApp" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 83CBBA201A601CBA00E9B192 /* Debug */,
+ 83CBBA211A601CBA00E9B192 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
+}
diff --git a/mobile/ios/LightningApp.xcodeproj/xcshareddata/xcschemes/LightningApp.xcscheme b/mobile/ios/LightningApp.xcodeproj/xcshareddata/xcschemes/LightningApp.xcscheme
new file mode 100644
index 000000000..d28209927
--- /dev/null
+++ b/mobile/ios/LightningApp.xcodeproj/xcshareddata/xcschemes/LightningApp.xcscheme
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mobile/ios/LightningApp.xcworkspace/contents.xcworkspacedata b/mobile/ios/LightningApp.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 000000000..b7d2466c8
--- /dev/null
+++ b/mobile/ios/LightningApp.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/mobile/ios/LightningApp/AppDelegate.h b/mobile/ios/LightningApp/AppDelegate.h
new file mode 100644
index 000000000..78fbb4d64
--- /dev/null
+++ b/mobile/ios/LightningApp/AppDelegate.h
@@ -0,0 +1,18 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+#import
+#import
+#import
+#import
+
+@interface AppDelegate : UMAppDelegateWrapper
+
+@property (nonatomic, strong) UMModuleRegistryAdapter *moduleRegistryAdapter;
+@property (nonatomic, strong) UIWindow *window;
+
+@end
diff --git a/mobile/ios/LightningApp/AppDelegate.m b/mobile/ios/LightningApp/AppDelegate.m
new file mode 100644
index 000000000..74c561f33
--- /dev/null
+++ b/mobile/ios/LightningApp/AppDelegate.m
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+#import "AppDelegate.h"
+
+#import
+#import
+#import
+
+#import
+#import
+#import
+
+@implementation AppDelegate
+
+@synthesize window = _window;
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+ self.moduleRegistryAdapter = [[UMModuleRegistryAdapter alloc] initWithModuleRegistryProvider:[[UMModuleRegistryProvider alloc] init]];
+ RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
+ RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"LightningApp" initialProperties:nil];
+ rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
+
+ self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
+ UIViewController *rootViewController = [UIViewController new];
+ rootViewController.view = rootView;
+ self.window.rootViewController = rootViewController;
+ [self.window makeKeyAndVisible];
+
+ [super application:application didFinishLaunchingWithOptions:launchOptions];
+
+ return YES;
+}
+
+- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *)options
+{
+ return [RCTLinkingManager application:application openURL:url options:options];
+}
+
+- (NSArray> *)extraModulesForBridge:(RCTBridge *)bridge
+{
+ NSArray> *extraModules = [_moduleRegistryAdapter extraModulesForBridge:bridge];
+ // You can inject any extra modules that you would like here, more information at:
+ // https://facebook.github.io/react-native/docs/native-modules-ios.html#dependency-injection
+ return extraModules;
+}
+
+- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge {
+#ifdef DEBUG
+ return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
+#else
+ return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
+#endif
+}
+
+@end
diff --git a/mobile/ios/LightningApp/Base.lproj/LaunchScreen.xib b/mobile/ios/LightningApp/Base.lproj/LaunchScreen.xib
new file mode 100644
index 000000000..165440ccf
--- /dev/null
+++ b/mobile/ios/LightningApp/Base.lproj/LaunchScreen.xib
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mobile/ios/LightningApp/Base.lproj/launch_background_image.png b/mobile/ios/LightningApp/Base.lproj/launch_background_image.png
new file mode 100644
index 000000000..fde2d21f1
Binary files /dev/null and b/mobile/ios/LightningApp/Base.lproj/launch_background_image.png differ
diff --git a/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon1024x1024.png b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon1024x1024.png
new file mode 100644
index 000000000..b58046259
Binary files /dev/null and b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon1024x1024.png differ
diff --git a/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon20x20@2x.png b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon20x20@2x.png
new file mode 100644
index 000000000..b0e09766e
Binary files /dev/null and b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon20x20@2x.png differ
diff --git a/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon20x20@3x.png b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon20x20@3x.png
new file mode 100644
index 000000000..6dfdf4878
Binary files /dev/null and b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon20x20@3x.png differ
diff --git a/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png
new file mode 100644
index 000000000..a7f68f237
Binary files /dev/null and b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png differ
diff --git a/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon29x29@3x.png b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon29x29@3x.png
new file mode 100644
index 000000000..6d386116b
Binary files /dev/null and b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon29x29@3x.png differ
diff --git a/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png
new file mode 100644
index 000000000..e89f09123
Binary files /dev/null and b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png differ
diff --git a/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon40x40@3x.png b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon40x40@3x.png
new file mode 100644
index 000000000..b25d2d583
Binary files /dev/null and b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon40x40@3x.png differ
diff --git a/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png
new file mode 100644
index 000000000..b25d2d583
Binary files /dev/null and b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png differ
diff --git a/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon60x60@3x.png b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon60x60@3x.png
new file mode 100644
index 000000000..84875fff6
Binary files /dev/null and b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon60x60@3x.png differ
diff --git a/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon76x76@2x~ipad.png b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon76x76@2x~ipad.png
new file mode 100644
index 000000000..27f72557a
Binary files /dev/null and b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon76x76@2x~ipad.png differ
diff --git a/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon76x76~ipad.png b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon76x76~ipad.png
new file mode 100644
index 000000000..4cf36e966
Binary files /dev/null and b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon76x76~ipad.png differ
diff --git a/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon83.5x83.5@2x~ipad.png b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon83.5x83.5@2x~ipad.png
new file mode 100644
index 000000000..97d600b6b
Binary files /dev/null and b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/AppIcon83.5x83.5@2x~ipad.png differ
diff --git a/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/Contents.json b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/Contents.json
new file mode 100644
index 000000000..e15ae46c9
--- /dev/null
+++ b/mobile/ios/LightningApp/Images.xcassets/AppIcon.appiconset/Contents.json
@@ -0,0 +1,145 @@
+{
+ "images" : [
+ {
+ "size" : "20x20",
+ "idiom" : "iphone",
+ "filename" : "AppIcon20x20@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "20x20",
+ "idiom" : "iphone",
+ "filename" : "AppIcon20x20@3x.png",
+ "scale" : "3x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "29x29",
+ "scale" : "1x"
+ },
+ {
+ "size" : "29x29",
+ "idiom" : "iphone",
+ "filename" : "AppIcon29x29@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "29x29",
+ "idiom" : "iphone",
+ "filename" : "AppIcon29x29@3x.png",
+ "scale" : "3x"
+ },
+ {
+ "size" : "40x40",
+ "idiom" : "iphone",
+ "filename" : "AppIcon40x40@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "40x40",
+ "idiom" : "iphone",
+ "filename" : "AppIcon40x40@3x.png",
+ "scale" : "3x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "57x57",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "iphone",
+ "size" : "57x57",
+ "scale" : "2x"
+ },
+ {
+ "size" : "60x60",
+ "idiom" : "iphone",
+ "filename" : "AppIcon60x60@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "60x60",
+ "idiom" : "iphone",
+ "filename" : "AppIcon60x60@3x.png",
+ "scale" : "3x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "20x20",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "20x20",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "29x29",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "29x29",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "40x40",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "40x40",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "50x50",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "50x50",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "72x72",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "ipad",
+ "size" : "72x72",
+ "scale" : "2x"
+ },
+ {
+ "size" : "76x76",
+ "idiom" : "ipad",
+ "filename" : "AppIcon76x76~ipad.png",
+ "scale" : "1x"
+ },
+ {
+ "size" : "76x76",
+ "idiom" : "ipad",
+ "filename" : "AppIcon76x76@2x~ipad.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "83.5x83.5",
+ "idiom" : "ipad",
+ "filename" : "AppIcon83.5x83.5@2x~ipad.png",
+ "scale" : "2x"
+ },
+ {
+ "size" : "1024x1024",
+ "idiom" : "ios-marketing",
+ "filename" : "AppIcon1024x1024.png",
+ "scale" : "1x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/mobile/ios/LightningApp/Images.xcassets/Contents.json b/mobile/ios/LightningApp/Images.xcassets/Contents.json
new file mode 100644
index 000000000..2d92bd53f
--- /dev/null
+++ b/mobile/ios/LightningApp/Images.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/mobile/ios/LightningApp/Info.plist b/mobile/ios/LightningApp/Info.plist
new file mode 100644
index 000000000..539257237
--- /dev/null
+++ b/mobile/ios/LightningApp/Info.plist
@@ -0,0 +1,86 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ en
+ CFBundleDisplayName
+ Testnet
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ 0.2.0
+ CFBundleSignature
+ ????
+ CFBundleURLTypes
+
+
+ CFBundleURLSchemes
+
+ lightning
+
+
+
+ CFBundleVersion
+ 1
+ LSRequiresIPhoneOS
+
+ NSAppTransportSecurity
+
+ NSAllowsArbitraryLoads
+
+ NSExceptionDomains
+
+ localhost
+
+ NSExceptionAllowsInsecureHTTPLoads
+
+
+
+
+ NSCalendarsUsageDescription
+ Allow Lightning to access your calendar
+ NSCameraUsageDescription
+ Allow Lightning to use the camera
+ NSContactsUsageDescription
+ Allow Lightning experiences to access your contacts
+ NSFaceIDUsageDescription
+ Allow Lightning to use Face ID
+ NSLocationAlwaysAndWhenInUseUsageDescription
+ Allow Lightning to use your location
+ NSLocationAlwaysUsageDescription
+ Allow Lightning to use your location
+ NSLocationWhenInUseUsageDescription
+ Allow Lightning to use your location
+ NSMicrophoneUsageDescription
+ Allow Lightning to access your microphone
+ NSMotionUsageDescription
+ Allow Lightning to access your device's accelerometer
+ NSPhotoLibraryAddUsageDescription
+ Give Lightning periences permission to save photos
+ NSPhotoLibraryUsageDescription
+ Give Lightning periences permission to access your photos
+ NSRemindersUsageDescription
+ Allow Lightning to access your reminders
+ UILaunchStoryboardName
+ LaunchScreen
+ UIRequiredDeviceCapabilities
+
+ armv7
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+
+ UIViewControllerBasedStatusBarAppearance
+
+
+
diff --git a/mobile/ios/LightningApp/main.m b/mobile/ios/LightningApp/main.m
new file mode 100644
index 000000000..c316cf816
--- /dev/null
+++ b/mobile/ios/LightningApp/main.m
@@ -0,0 +1,16 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+#import
+
+#import "AppDelegate.h"
+
+int main(int argc, char * argv[]) {
+ @autoreleasepool {
+ return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
+ }
+}
diff --git a/mobile/ios/Podfile b/mobile/ios/Podfile
new file mode 100644
index 000000000..9e28fdad9
--- /dev/null
+++ b/mobile/ios/Podfile
@@ -0,0 +1,42 @@
+platform :ios, '10.0'
+
+require_relative '../node_modules/react-native-unimodules/cocoapods'
+
+target 'LightningApp' do
+ # Pods for LightningApp
+ pod 'React', :path => '../node_modules/react-native', :subspecs => [
+ 'Core',
+ 'CxxBridge',
+ 'DevSupport',
+ 'RCTActionSheet',
+ 'RCTAnimation',
+ 'RCTBlob',
+ 'RCTGeolocation',
+ 'RCTImage',
+ 'RCTLinkingIOS',
+ 'RCTNetwork',
+ 'RCTSettings',
+ 'RCTText',
+ 'RCTVibration',
+ 'RCTWebSocket',
+ ]
+
+ pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
+
+ pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
+ pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
+ pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
+
+ use_unimodules!
+
+ pod 'RNGestureHandler', :path => '../node_modules/react-native-gesture-handler'
+
+ pod 'RNSVG', :path => '../node_modules/react-native-svg'
+
+ pod 'RNKeychain', :path => '../node_modules/react-native-keychain'
+
+ pod 'react-native-camera', path: '../node_modules/react-native-camera'
+
+ pod 'RNFS', :path => '../node_modules/react-native-fs'
+
+end
\ No newline at end of file
diff --git a/mobile/ios/Podfile.lock b/mobile/ios/Podfile.lock
new file mode 100644
index 000000000..4c254cb84
--- /dev/null
+++ b/mobile/ios/Podfile.lock
@@ -0,0 +1,283 @@
+PODS:
+ - boost-for-react-native (1.63.0)
+ - DoubleConversion (1.1.6)
+ - EXAppLoaderProvider (5.0.1)
+ - EXConstants (5.0.1):
+ - UMConstantsInterface
+ - UMCore
+ - EXFileSystem (5.0.1):
+ - UMCore
+ - UMFileSystemInterface
+ - EXFont (5.0.1):
+ - UMCore
+ - UMFontInterface
+ - EXKeepAwake (5.0.1):
+ - UMCore
+ - EXLocalAuthentication (5.0.1):
+ - UMConstantsInterface
+ - UMCore
+ - EXPermissions (5.0.1):
+ - UMCore
+ - UMPermissionsInterface
+ - EXRandom (5.0.1):
+ - UMCore
+ - Folly (2018.10.22.00):
+ - boost-for-react-native
+ - DoubleConversion
+ - glog
+ - glog (0.3.5)
+ - React (0.59.8):
+ - React/Core (= 0.59.8)
+ - react-native-camera (2.11.0):
+ - React
+ - react-native-camera/RCT (= 2.11.0)
+ - react-native-camera/RN (= 2.11.0)
+ - react-native-camera/RCT (2.11.0):
+ - React
+ - react-native-camera/RN (2.11.0):
+ - React
+ - React/Core (0.59.8):
+ - yoga (= 0.59.8.React)
+ - React/CxxBridge (0.59.8):
+ - Folly (= 2018.10.22.00)
+ - React/Core
+ - React/cxxreact
+ - React/jsiexecutor
+ - React/cxxreact (0.59.8):
+ - boost-for-react-native (= 1.63.0)
+ - DoubleConversion
+ - Folly (= 2018.10.22.00)
+ - glog
+ - React/jsinspector
+ - React/DevSupport (0.59.8):
+ - React/Core
+ - React/RCTWebSocket
+ - React/fishhook (0.59.8)
+ - React/jsi (0.59.8):
+ - DoubleConversion
+ - Folly (= 2018.10.22.00)
+ - glog
+ - React/jsiexecutor (0.59.8):
+ - DoubleConversion
+ - Folly (= 2018.10.22.00)
+ - glog
+ - React/cxxreact
+ - React/jsi
+ - React/jsinspector (0.59.8)
+ - React/RCTActionSheet (0.59.8):
+ - React/Core
+ - React/RCTAnimation (0.59.8):
+ - React/Core
+ - React/RCTBlob (0.59.8):
+ - React/Core
+ - React/RCTGeolocation (0.59.8):
+ - React/Core
+ - React/RCTImage (0.59.8):
+ - React/Core
+ - React/RCTNetwork
+ - React/RCTLinkingIOS (0.59.8):
+ - React/Core
+ - React/RCTNetwork (0.59.8):
+ - React/Core
+ - React/RCTSettings (0.59.8):
+ - React/Core
+ - React/RCTText (0.59.8):
+ - React/Core
+ - React/RCTVibration (0.59.8):
+ - React/Core
+ - React/RCTWebSocket (0.59.8):
+ - React/Core
+ - React/fishhook
+ - React/RCTBlob
+ - RNFS (2.13.3):
+ - React
+ - RNGestureHandler (1.3.0):
+ - React
+ - RNKeychain (3.1.3):
+ - React
+ - RNSVG (9.5.1):
+ - React
+ - UMBarCodeScannerInterface (2.0.1)
+ - UMCameraInterface (2.0.1)
+ - UMConstantsInterface (2.0.1)
+ - UMCore (2.0.1)
+ - UMFaceDetectorInterface (2.0.1)
+ - UMFileSystemInterface (2.0.1)
+ - UMFontInterface (2.0.1)
+ - UMImageLoaderInterface (2.0.1)
+ - UMPermissionsInterface (2.0.1)
+ - UMReactNativeAdapter (2.0.1):
+ - React
+ - UMCore
+ - UMFontInterface
+ - UMSensorsInterface (2.0.1)
+ - UMTaskManagerInterface (2.0.1)
+ - yoga (0.59.8.React)
+
+DEPENDENCIES:
+ - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
+ - EXAppLoaderProvider (from `../node_modules/expo-app-loader-provider/ios`)
+ - EXConstants (from `../node_modules/expo-constants/ios`)
+ - EXFileSystem (from `../node_modules/expo-file-system/ios`)
+ - EXFont (from `../node_modules/expo-font/ios`)
+ - EXKeepAwake (from `../node_modules/expo-keep-awake/ios`)
+ - EXLocalAuthentication (from `../node_modules/expo-local-authentication/ios`)
+ - EXPermissions (from `../node_modules/expo-permissions/ios`)
+ - EXRandom (from `../node_modules/expo-random/ios`)
+ - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
+ - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
+ - react-native-camera (from `../node_modules/react-native-camera`)
+ - React/Core (from `../node_modules/react-native`)
+ - React/CxxBridge (from `../node_modules/react-native`)
+ - React/DevSupport (from `../node_modules/react-native`)
+ - React/RCTActionSheet (from `../node_modules/react-native`)
+ - React/RCTAnimation (from `../node_modules/react-native`)
+ - React/RCTBlob (from `../node_modules/react-native`)
+ - React/RCTGeolocation (from `../node_modules/react-native`)
+ - React/RCTImage (from `../node_modules/react-native`)
+ - React/RCTLinkingIOS (from `../node_modules/react-native`)
+ - React/RCTNetwork (from `../node_modules/react-native`)
+ - React/RCTSettings (from `../node_modules/react-native`)
+ - React/RCTText (from `../node_modules/react-native`)
+ - React/RCTVibration (from `../node_modules/react-native`)
+ - React/RCTWebSocket (from `../node_modules/react-native`)
+ - RNFS (from `../node_modules/react-native-fs`)
+ - RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
+ - RNKeychain (from `../node_modules/react-native-keychain`)
+ - RNSVG (from `../node_modules/react-native-svg`)
+ - UMBarCodeScannerInterface (from `../node_modules/unimodules-barcode-scanner-interface/ios`)
+ - UMCameraInterface (from `../node_modules/unimodules-camera-interface/ios`)
+ - UMConstantsInterface (from `../node_modules/unimodules-constants-interface/ios`)
+ - "UMCore (from `../node_modules/@unimodules/core/ios`)"
+ - UMFaceDetectorInterface (from `../node_modules/unimodules-face-detector-interface/ios`)
+ - UMFileSystemInterface (from `../node_modules/unimodules-file-system-interface/ios`)
+ - UMFontInterface (from `../node_modules/unimodules-font-interface/ios`)
+ - UMImageLoaderInterface (from `../node_modules/unimodules-image-loader-interface/ios`)
+ - UMPermissionsInterface (from `../node_modules/unimodules-permissions-interface/ios`)
+ - "UMReactNativeAdapter (from `../node_modules/@unimodules/react-native-adapter/ios`)"
+ - UMSensorsInterface (from `../node_modules/unimodules-sensors-interface/ios`)
+ - UMTaskManagerInterface (from `../node_modules/unimodules-task-manager-interface/ios`)
+ - yoga (from `../node_modules/react-native/ReactCommon/yoga`)
+
+SPEC REPOS:
+ https://github.com/cocoapods/specs.git:
+ - boost-for-react-native
+
+EXTERNAL SOURCES:
+ DoubleConversion:
+ :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
+ EXAppLoaderProvider:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/expo-app-loader-provider/ios"
+ EXConstants:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/expo-constants/ios"
+ EXFileSystem:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/expo-file-system/ios"
+ EXFont:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/expo-font/ios"
+ EXKeepAwake:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/expo-keep-awake/ios"
+ EXLocalAuthentication:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/expo-local-authentication/ios"
+ EXPermissions:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/expo-permissions/ios"
+ EXRandom:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/expo-random/ios"
+ Folly:
+ :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
+ glog:
+ :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
+ React:
+ :path: "../node_modules/react-native"
+ react-native-camera:
+ :path: "../node_modules/react-native-camera"
+ RNFS:
+ :path: "../node_modules/react-native-fs"
+ RNGestureHandler:
+ :path: "../node_modules/react-native-gesture-handler"
+ RNKeychain:
+ :path: "../node_modules/react-native-keychain"
+ RNSVG:
+ :path: "../node_modules/react-native-svg"
+ UMBarCodeScannerInterface:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/unimodules-barcode-scanner-interface/ios"
+ UMCameraInterface:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/unimodules-camera-interface/ios"
+ UMConstantsInterface:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/unimodules-constants-interface/ios"
+ UMCore:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/@unimodules/core/ios"
+ UMFaceDetectorInterface:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/unimodules-face-detector-interface/ios"
+ UMFileSystemInterface:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/unimodules-file-system-interface/ios"
+ UMFontInterface:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/unimodules-font-interface/ios"
+ UMImageLoaderInterface:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/unimodules-image-loader-interface/ios"
+ UMPermissionsInterface:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/unimodules-permissions-interface/ios"
+ UMReactNativeAdapter:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/@unimodules/react-native-adapter/ios"
+ UMSensorsInterface:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/unimodules-sensors-interface/ios"
+ UMTaskManagerInterface:
+ :path: !ruby/object:Pathname
+ path: "../node_modules/unimodules-task-manager-interface/ios"
+ yoga:
+ :path: "../node_modules/react-native/ReactCommon/yoga"
+
+SPEC CHECKSUMS:
+ boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
+ DoubleConversion: bb338842f62ab1d708ceb63ec3d999f0f3d98ecd
+ EXAppLoaderProvider: 43e88f7967ab45672e66b6f90f9e79b5718bf960
+ EXConstants: 831e6b7ad2f3e8c6153d077aca7e849364d948a8
+ EXFileSystem: 90407abadbedff7b4c5cf880b963614c9c4bdd07
+ EXFont: 84bb0b334c2ffb85431cbde6bfa1133a777754e1
+ EXKeepAwake: 919260da0600a4556597d9d7ec82e85a36715c27
+ EXLocalAuthentication: 19761579bfaf8c2309e70984ca11c155779d2d95
+ EXPermissions: b43ee30a37edfd6a89fb9f33d32bca2817b1ba24
+ EXRandom: 28cd2082402a65ed4a9294151d38b7dd5a7f87ac
+ Folly: de497beb10f102453a1afa9edbf8cf8a251890de
+ glog: aefd1eb5dda2ab95ba0938556f34b98e2da3a60d
+ React: 76e6aa2b87d05eb6cccb6926d72685c9a07df152
+ react-native-camera: 37580137d13b0f2fabd631e4217eb11f0e4d5764
+ RNFS: c9bbde46b0d59619f8e7b735991c60e0f73d22c1
+ RNGestureHandler: 5329a942fce3d41c68b84c2c2276ce06a696d8b0
+ RNKeychain: c658833a9cb2cbcba6423bdd6e16cce59e27da0e
+ RNSVG: 0eb087cfb5d7937be93c45b163b26352a647e681
+ UMBarCodeScannerInterface: 6630bdb7de233b049a1002ed07e0d725c9b5dc13
+ UMCameraInterface: caef76a9296162e73cbb4ffd4cf935612c778213
+ UMConstantsInterface: 2de3b83b072815d2f7acf9a9d76ceaa8da0d78cf
+ UMCore: 5b881629fec134b7a0cbed28e84530654ab1af65
+ UMFaceDetectorInterface: 1a7be5c7d39581f048a0ba1a50692678e6912b0a
+ UMFileSystemInterface: 94735a34a909dbd794d59b4fe8c81dfceb5679d0
+ UMFontInterface: 512036d6ec126360cdc312fc05244eb61f76f8f5
+ UMImageLoaderInterface: b8ca0d89511975966aef12bc876f93a1411ba5aa
+ UMPermissionsInterface: 369b1d48b8aecc016b1d2e0a8f4ca6126f2b7b4c
+ UMReactNativeAdapter: e534472d0585602178c577fdd1e416761b1f705e
+ UMSensorsInterface: 57458d4fbb07b1101cc7fbb091798c877b2444f2
+ UMTaskManagerInterface: 2d2d591bbd0de47f2a8ef46cea775edcd82d4afd
+ yoga: 92b2102c3d373d1a790db4ab761d2b0ffc634f64
+
+PODFILE CHECKSUM: 6ba37724914ffcea4e9e5176c7d6adc64f69901d
+
+COCOAPODS: 1.7.2
diff --git a/mobile/ios/lightning/LndReactModule.m b/mobile/ios/lightning/LndReactModule.m
index 94989829d..16cbcbd0f 100644
--- a/mobile/ios/lightning/LndReactModule.m
+++ b/mobile/ios/lightning/LndReactModule.m
@@ -136,6 +136,7 @@ @implementation LndReactModule
@"ChannelBalance" : ^(NSData* bytes, NativeCallback* cb) { LndmobileChannelBalance(bytes, cb); },
@"NewAddress" : ^(NSData* bytes, NativeCallback* cb) { LndmobileNewAddress(bytes, cb); },
@"EstimateFee" : ^(NSData* bytes, NativeCallback* cb) { LndmobileEstimateFee(bytes, cb); },
+ @"StopDaemon" : ^(NSData* bytes, NativeCallback* cb) { LndmobileStopDaemon(bytes, cb); },
@"Status" : ^(NSData* bytes, NativeCallback* cb) { LndmobileStatus(bytes, cb); },
@"SetScores" : ^(NSData* bytes, NativeCallback* cb) { LndmobileSetScores(bytes, cb); },
@"QueryScores" : ^(NSData* bytes, NativeCallback* cb) { LndmobileQueryScores(bytes, cb); },
diff --git a/mobile/package-lock.json b/mobile/package-lock.json
index 648b9a210..ac3ac1af2 100644
--- a/mobile/package-lock.json
+++ b/mobile/package-lock.json
@@ -1,5 +1,4 @@
{
- "name": "LightningApp",
"requires": true,
"lockfileVersion": 1,
"dependencies": {
@@ -12,16 +11,16 @@
}
},
"@babel/core": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.4.tgz",
- "integrity": "sha512-lQgGX3FPRgbz2SKmhMtYgJvVzGZrmjaF4apZ2bLwofAKiSjxU0drPh4S/VasyYXwaTs+A1gvQ45BN8SQJzHsQQ==",
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.5.tgz",
+ "integrity": "sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA==",
"requires": {
"@babel/code-frame": "^7.0.0",
"@babel/generator": "^7.4.4",
"@babel/helpers": "^7.4.4",
- "@babel/parser": "^7.4.4",
+ "@babel/parser": "^7.4.5",
"@babel/template": "^7.4.4",
- "@babel/traverse": "^7.4.4",
+ "@babel/traverse": "^7.4.5",
"@babel/types": "^7.4.4",
"convert-source-map": "^1.1.0",
"debug": "^4.1.0",
@@ -30,6 +29,21 @@
"resolve": "^1.3.2",
"semver": "^5.4.1",
"source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
}
},
"@babel/generator": {
@@ -260,9 +274,9 @@
}
},
"@babel/parser": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.4.tgz",
- "integrity": "sha512-5pCS4mOsL+ANsFZGdvNLybx4wtqAZJ0MJjMHxvzI3bvIsz6sQvzW8XX92EYIkiPtIvcfG3Aj+Ir5VNyjnZhP7w=="
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.5.tgz",
+ "integrity": "sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew=="
},
"@babel/plugin-external-helpers": {
"version": "7.2.0",
@@ -272,16 +286,6 @@
"@babel/helper-plugin-utils": "^7.0.0"
}
},
- "@babel/plugin-proposal-async-generator-functions": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
- "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-remap-async-to-generator": "^7.1.0",
- "@babel/plugin-syntax-async-generators": "^7.2.0"
- }
- },
"@babel/plugin-proposal-class-properties": {
"version": "7.4.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.4.tgz",
@@ -291,16 +295,6 @@
"@babel/helper-plugin-utils": "^7.0.0"
}
},
- "@babel/plugin-proposal-decorators": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz",
- "integrity": "sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw==",
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.4.4",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-decorators": "^7.2.0"
- }
- },
"@babel/plugin-proposal-export-default-from": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz",
@@ -310,15 +304,6 @@
"@babel/plugin-syntax-export-default-from": "^7.2.0"
}
},
- "@babel/plugin-proposal-json-strings": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
- "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-syntax-json-strings": "^7.2.0"
- }
- },
"@babel/plugin-proposal-nullish-coalescing-operator": {
"version": "7.4.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.4.4.tgz",
@@ -355,28 +340,10 @@
"@babel/plugin-syntax-optional-chaining": "^7.2.0"
}
},
- "@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz",
- "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.4.4",
- "regexpu-core": "^4.5.4"
- }
- },
- "@babel/plugin-syntax-async-generators": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
- "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-syntax-decorators": {
+ "@babel/plugin-syntax-class-properties": {
"version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz",
- "integrity": "sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA==",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz",
+ "integrity": "sha512-UxYaGXYQ7rrKJS/PxIKRkv3exi05oH7rokBAsmCSsCxz1sVPZ7Fu6FzKoGgUvmY+0YgSkYHgUoCh5R5bCNBQlw==",
"requires": {
"@babel/helper-plugin-utils": "^7.0.0"
}
@@ -405,14 +372,6 @@
"@babel/helper-plugin-utils": "^7.0.0"
}
},
- "@babel/plugin-syntax-json-strings": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
- "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
"@babel/plugin-syntax-jsx": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz",
@@ -527,24 +486,6 @@
"@babel/helper-plugin-utils": "^7.0.0"
}
},
- "@babel/plugin-transform-dotall-regex": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz",
- "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/helper-regex": "^7.4.4",
- "regexpu-core": "^4.5.4"
- }
- },
- "@babel/plugin-transform-duplicate-keys": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz",
- "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
"@babel/plugin-transform-exponentiation-operator": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
@@ -596,15 +537,6 @@
"@babel/helper-plugin-utils": "^7.0.0"
}
},
- "@babel/plugin-transform-modules-amd": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz",
- "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==",
- "requires": {
- "@babel/helper-module-transforms": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
"@babel/plugin-transform-modules-commonjs": {
"version": "7.4.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz",
@@ -615,40 +547,6 @@
"@babel/helper-simple-access": "^7.1.0"
}
},
- "@babel/plugin-transform-modules-systemjs": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz",
- "integrity": "sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ==",
- "requires": {
- "@babel/helper-hoist-variables": "^7.4.4",
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-modules-umd": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
- "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
- "requires": {
- "@babel/helper-module-transforms": "^7.1.0",
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
- "@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.4.tgz",
- "integrity": "sha512-Ki+Y9nXBlKfhD+LXaRS7v95TtTGYRAf9Y1rTDiE75zf8YQz4GDaWRXosMfJBXxnk88mGFjWdCRIeqDbon7spYA==",
- "requires": {
- "regexp-tree": "^0.1.0"
- }
- },
- "@babel/plugin-transform-new-target": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz",
- "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
"@babel/plugin-transform-object-assign": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz",
@@ -712,19 +610,11 @@
}
},
"@babel/plugin-transform-regenerator": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.4.tgz",
- "integrity": "sha512-Zz3w+pX1SI0KMIiqshFZkwnVGUhDZzpX2vtPzfJBKQQq8WsP/Xy9DNdELWivxcKOCX/Pywge4SiEaPaLtoDT4g==",
- "requires": {
- "regenerator-transform": "^0.13.4"
- }
- },
- "@babel/plugin-transform-reserved-words": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz",
- "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==",
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz",
+ "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==",
"requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
+ "regenerator-transform": "^0.14.0"
}
},
"@babel/plugin-transform-runtime": {
@@ -772,18 +662,10 @@
"@babel/helper-plugin-utils": "^7.0.0"
}
},
- "@babel/plugin-transform-typeof-symbol": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
- "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0"
- }
- },
"@babel/plugin-transform-typescript": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.4.4.tgz",
- "integrity": "sha512-rwDvjaMTx09WC0rXGBRlYSSkEHOKRrecY6hEr3SVIPKII8DVWXtapNAfAyMC0dovuO+zYArcAuKeu3q9DNRfzA==",
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.4.5.tgz",
+ "integrity": "sha512-RPB/YeGr4ZrFKNwfuQRlMf2lxoCUaU01MTw39/OFE/RiL8HDjtn68BwEPft1P7JN4akyEmjGWAMNldOV7o9V2g==",
"requires": {
"@babel/helper-plugin-utils": "^7.0.0",
"@babel/plugin-syntax-typescript": "^7.2.0"
@@ -799,61 +681,6 @@
"regexpu-core": "^4.5.4"
}
},
- "@babel/preset-env": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.4.tgz",
- "integrity": "sha512-FU1H+ACWqZZqfw1x2G1tgtSSYSfxJLkpaUQL37CenULFARDo+h4xJoVHzRoHbK+85ViLciuI7ME4WTIhFRBBlw==",
- "requires": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-async-generator-functions": "^7.2.0",
- "@babel/plugin-proposal-json-strings": "^7.2.0",
- "@babel/plugin-proposal-object-rest-spread": "^7.4.4",
- "@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
- "@babel/plugin-syntax-async-generators": "^7.2.0",
- "@babel/plugin-syntax-json-strings": "^7.2.0",
- "@babel/plugin-syntax-object-rest-spread": "^7.2.0",
- "@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
- "@babel/plugin-transform-arrow-functions": "^7.2.0",
- "@babel/plugin-transform-async-to-generator": "^7.4.4",
- "@babel/plugin-transform-block-scoped-functions": "^7.2.0",
- "@babel/plugin-transform-block-scoping": "^7.4.4",
- "@babel/plugin-transform-classes": "^7.4.4",
- "@babel/plugin-transform-computed-properties": "^7.2.0",
- "@babel/plugin-transform-destructuring": "^7.4.4",
- "@babel/plugin-transform-dotall-regex": "^7.4.4",
- "@babel/plugin-transform-duplicate-keys": "^7.2.0",
- "@babel/plugin-transform-exponentiation-operator": "^7.2.0",
- "@babel/plugin-transform-for-of": "^7.4.4",
- "@babel/plugin-transform-function-name": "^7.4.4",
- "@babel/plugin-transform-literals": "^7.2.0",
- "@babel/plugin-transform-member-expression-literals": "^7.2.0",
- "@babel/plugin-transform-modules-amd": "^7.2.0",
- "@babel/plugin-transform-modules-commonjs": "^7.4.4",
- "@babel/plugin-transform-modules-systemjs": "^7.4.4",
- "@babel/plugin-transform-modules-umd": "^7.2.0",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.4",
- "@babel/plugin-transform-new-target": "^7.4.4",
- "@babel/plugin-transform-object-super": "^7.2.0",
- "@babel/plugin-transform-parameters": "^7.4.4",
- "@babel/plugin-transform-property-literals": "^7.2.0",
- "@babel/plugin-transform-regenerator": "^7.4.4",
- "@babel/plugin-transform-reserved-words": "^7.2.0",
- "@babel/plugin-transform-shorthand-properties": "^7.2.0",
- "@babel/plugin-transform-spread": "^7.2.0",
- "@babel/plugin-transform-sticky-regex": "^7.2.0",
- "@babel/plugin-transform-template-literals": "^7.4.4",
- "@babel/plugin-transform-typeof-symbol": "^7.2.0",
- "@babel/plugin-transform-unicode-regex": "^7.4.4",
- "@babel/types": "^7.4.4",
- "browserslist": "^4.5.2",
- "core-js-compat": "^3.0.0",
- "invariant": "^2.2.2",
- "js-levenshtein": "^1.1.3",
- "semver": "^5.5.0"
- }
- },
"@babel/register": {
"version": "7.4.4",
"resolved": "https://registry.npmjs.org/@babel/register/-/register-7.4.4.tgz",
@@ -867,28 +694,26 @@
"source-map-support": "^0.5.9"
},
"dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- },
- "source-map-support": {
- "version": "0.5.12",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz",
- "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==",
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
+ "core-js": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.1.4.tgz",
+ "integrity": "sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ=="
}
}
},
"@babel/runtime": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.4.tgz",
- "integrity": "sha512-w0+uT71b6Yi7i5SE0co4NioIpSYS6lLiXvCzWzGSKvpK5vdQtCbICHMj+gbAKAOtxiV6HsVh/MBdaF9EQ6faSg==",
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz",
+ "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==",
"requires": {
"regenerator-runtime": "^0.13.2"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.13.2",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz",
+ "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA=="
+ }
}
},
"@babel/template": {
@@ -902,19 +727,34 @@
}
},
"@babel/traverse": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.4.tgz",
- "integrity": "sha512-Gw6qqkw/e6AGzlyj9KnkabJX7VcubqPtkUQVAwkc0wUMldr3A/hezNB3Rc5eIvId95iSGkGIOe5hh1kMKf951A==",
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.5.tgz",
+ "integrity": "sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==",
"requires": {
"@babel/code-frame": "^7.0.0",
"@babel/generator": "^7.4.4",
"@babel/helper-function-name": "^7.1.0",
"@babel/helper-split-export-declaration": "^7.4.4",
- "@babel/parser": "^7.4.4",
+ "@babel/parser": "^7.4.5",
"@babel/types": "^7.4.4",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.11"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
}
},
"@babel/types": {
@@ -927,56 +767,30 @@
"to-fast-properties": "^2.0.0"
}
},
- "@expo/vector-icons": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-9.0.0.tgz",
- "integrity": "sha512-k5ndrW3oueW5jRDLt3o8iXKmiU+CvvCZPewOvxY7eRMivi8hIr6TkW6tMCGE1vS5fwmXffIkIpKGZkSbX7TxwA==",
- "requires": {
- "lodash": "^4.17.4",
- "react-native-vector-icons": "6.0.0"
- }
- },
- "@expo/websql": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@expo/websql/-/websql-1.0.1.tgz",
- "integrity": "sha1-//DPnBuqH3D54dZYt8OaQg2bEKk=",
- "requires": {
- "argsarray": "^0.0.1",
- "immediate": "^3.2.2",
- "noop-fn": "^1.0.0",
- "pouchdb-collections": "^1.0.1",
- "tiny-queue": "^0.2.1"
- }
- },
"@protobufjs/aspromise": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
- "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=",
- "dev": true
+ "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78="
},
"@protobufjs/base64": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
- "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
- "dev": true
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
},
"@protobufjs/codegen": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
- "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
- "dev": true
+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
},
"@protobufjs/eventemitter": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
- "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=",
- "dev": true
+ "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A="
},
"@protobufjs/fetch": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
"integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=",
- "dev": true,
"requires": {
"@protobufjs/aspromise": "^1.1.1",
"@protobufjs/inquire": "^1.1.0"
@@ -985,37 +799,97 @@
"@protobufjs/float": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
- "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=",
- "dev": true
+ "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E="
},
"@protobufjs/inquire": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
- "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=",
- "dev": true
+ "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik="
},
"@protobufjs/path": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
- "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=",
- "dev": true
+ "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0="
},
"@protobufjs/pool": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
- "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=",
- "dev": true
+ "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q="
},
"@protobufjs/utf8": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
- "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=",
- "dev": true
+ "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA="
+ },
+ "@react-native-community/cli": {
+ "version": "1.9.10",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-1.9.10.tgz",
+ "integrity": "sha512-mYFsSljhia/xNozRRDXC5HyGRBWaDh3OickT28i6NrJSZLjp0kAH6g4c0OWk67EslgXcMi/qYpucA8W54ldu1w==",
+ "requires": {
+ "chalk": "^1.1.1",
+ "commander": "^2.19.0",
+ "compression": "^1.7.1",
+ "connect": "^3.6.5",
+ "denodeify": "^1.2.1",
+ "envinfo": "^5.7.0",
+ "errorhandler": "^1.5.0",
+ "escape-string-regexp": "^1.0.5",
+ "execa": "^1.0.0",
+ "fs-extra": "^7.0.1",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.1.3",
+ "inquirer": "^3.0.6",
+ "lodash": "^4.17.5",
+ "metro": "^0.51.0",
+ "metro-config": "^0.51.0",
+ "metro-core": "^0.51.0",
+ "metro-memory-fs": "^0.51.0",
+ "metro-react-native-babel-transformer": "^0.51.0",
+ "mime": "^1.3.4",
+ "minimist": "^1.2.0",
+ "mkdirp": "^0.5.1",
+ "morgan": "^1.9.0",
+ "node-fetch": "^2.2.0",
+ "node-notifier": "^5.2.1",
+ "opn": "^3.0.2",
+ "plist": "^3.0.0",
+ "semver": "^5.0.3",
+ "serve-static": "^1.13.1",
+ "shell-quote": "1.6.1",
+ "slash": "^2.0.0",
+ "ws": "^1.1.0",
+ "xcode": "^2.0.0",
+ "xmldoc": "^0.4.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ }
+ }
},
"@react-navigation/core": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-3.4.1.tgz",
- "integrity": "sha512-slslu4FmjKQMO/EKGGqqGsfC6evQLdbJM2ROACcC2Xxf0+nPeZV5ND8HHukUZZucJRE6Bg/NI+zC1XSBYRjhnw==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-3.4.2.tgz",
+ "integrity": "sha512-7G+iDzLSTeOUU4vVZeRZKJ+Bd7ds7ZxYNqZcB8i0KlBeQEQfR74Ounfu/p0KIEq2RiNnaE3QT7WVP3C87sebzw==",
"requires": {
"hoist-non-react-statics": "^3.3.0",
"path-to-regexp": "^1.7.0",
@@ -1034,12 +908,12 @@
}
},
"@react-navigation/native": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.4.1.tgz",
- "integrity": "sha512-pMAPQfvwC4DvhQfsrXKAf+FiU+A5XAh216v17rEePSFcbeOEt7cvewmWxCxydN/vFjJChFiPV+xnjJyJBdPLOg==",
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.5.0.tgz",
+ "integrity": "sha512-TmGOis++ejEXG3sqNJhCSKqB0/qLu3FQgDtO959qpqif36R/diR8SQwJqeSdofoEiK3CepdhFlTCeHdS1/+MsQ==",
"requires": {
"hoist-non-react-statics": "^3.0.1",
- "react-native-safe-area-view": "^0.13.0",
+ "react-native-safe-area-view": "^0.14.1",
"react-native-screens": "^1.0.0 || ^1.0.0-alpha"
},
"dependencies": {
@@ -1073,9 +947,9 @@
},
"dependencies": {
"@sinonjs/samsam": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.1.tgz",
- "integrity": "sha512-wRSfmyd81swH0hA1bxJZJ57xr22kC07a1N4zuIL47yTS04bDk6AoCkczcqHEjcRPmJ+FruGJ9WBQiJwMtIElFw==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.2.tgz",
+ "integrity": "sha512-ILO/rR8LfAb60Y1Yfp9vxfYAASK43NFC2mLzpvLUbCQY/Qu8YwReboseu8aheCEkyElZF2L2T9mHcR2bgdvZyA==",
"dev": true,
"requires": {
"@sinonjs/commons": "^1.0.2",
@@ -1097,49 +971,33 @@
"integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
"dev": true
},
- "@types/fbemitter": {
- "version": "2.0.32",
- "resolved": "https://registry.npmjs.org/@types/fbemitter/-/fbemitter-2.0.32.tgz",
- "integrity": "sha1-jtIE2g9U6cjq7DGx7skeJRMtCCw="
- },
- "@types/invariant": {
- "version": "2.2.29",
- "resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.29.tgz",
- "integrity": "sha512-lRVw09gOvgviOfeUrKc/pmTiRZ7g7oDOU6OAutyuSHpm1/o2RaBQvRhgK8QEdu+FFuw/wnWb29A/iuxv9i8OpQ=="
- },
- "@types/lodash": {
- "version": "4.14.126",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.126.tgz",
- "integrity": "sha512-HxQ+wQnBtnL0LszZrVdMqWIlzZNyKuMLUb6swQ3mo6ysPqpAu7gfnapCQIi0B+Mrf0fNLZh8AWgJs2njejVasg=="
- },
- "@types/lodash.zipobject": {
- "version": "4.1.6",
- "resolved": "https://registry.npmjs.org/@types/lodash.zipobject/-/lodash.zipobject-4.1.6.tgz",
- "integrity": "sha512-30khEHqHWaLgMZR35wtkg07OmHiNiDQyor0SK7oj8Sy05tg6jDjPmJybeZ64WKeFZUEgs1tdJwdT0xUl+2qUgQ==",
- "requires": {
- "@types/lodash": "*"
- }
- },
"@types/long": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz",
- "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==",
- "dev": true
+ "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q=="
},
- "@types/qs": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.5.3.tgz",
- "integrity": "sha512-Jugo5V/1bS0fRhy2z8+cUAHEyWOATaz4rbyLVvcFs7+dXp5HfwpEwzF1Q11bB10ApUqHf+yTauxI0UXQDwGrbA=="
+ "@types/node": {
+ "version": "10.14.9",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.9.tgz",
+ "integrity": "sha512-NelG/dSahlXYtSoVPErrp06tYFrvzj8XLWmKA+X8x0W//4MqbUyZu++giUG/v0bjAT6/Qxa8IjodrfdACyb0Fg=="
},
- "@types/uuid-js": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/@types/uuid-js/-/uuid-js-0.7.2.tgz",
- "integrity": "sha512-9R+mA6mMXkFVQnXEeX5fMQDR2SYND7cafJTqbeMpLhgsL7qr7MF4ZBxWpLexml3lZsBsyAmqVWbOiB0N10m15w=="
+ "@unimodules/core": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@unimodules/core/-/core-2.0.1.tgz",
+ "integrity": "sha512-evbJUEAf8TvIfzR2/T9npWuqyYE8042qvmE7uWF+uDAt8KclMS9g7clbNTEG1ck5ov9AYWMMgohFaPfDCkJicw==",
+ "requires": {
+ "compare-versions": "^3.4.0"
+ }
},
- "@types/websql": {
- "version": "0.0.27",
- "resolved": "https://registry.npmjs.org/@types/websql/-/websql-0.0.27.tgz",
- "integrity": "sha1-Yhpman8CAY58u0q6uVaiVzbCfXE="
+ "@unimodules/react-native-adapter": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@unimodules/react-native-adapter/-/react-native-adapter-2.0.1.tgz",
+ "integrity": "sha512-D9CSGLIWX0iWLv4Voq0i+xo0YZcraTN1uCdJ+EepwmBplRHDrDCoh2M9Upm4aIso5812pXOBHmGf31AhIKKhYA==",
+ "requires": {
+ "invariant": "^2.2.4",
+ "lodash": "^4.5.0",
+ "prop-types": "^15.6.1"
+ }
},
"absolute-path": {
"version": "0.0.0",
@@ -1155,27 +1013,6 @@
"negotiator": "0.6.2"
}
},
- "ajv": {
- "version": "6.10.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
- "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
- "requires": {
- "fast-deep-equal": "^2.0.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-errors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
- "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ=="
- },
- "ajv-keywords": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz",
- "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw=="
- },
"ansi": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
@@ -1224,12 +1061,9 @@
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
"ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "requires": {
- "color-convert": "^1.9.0"
- }
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
},
"ansi-wrap": {
"version": "0.1.0",
@@ -1282,14 +1116,6 @@
}
}
},
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
"expand-brackets": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@@ -1373,25 +1199,6 @@
}
}
},
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
"extglob": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
@@ -1519,11 +1326,6 @@
"snapdragon": "^0.8.1",
"to-regex": "^3.0.2"
}
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
},
@@ -1544,18 +1346,12 @@
"sprintf-js": "~1.0.2"
}
},
- "argsarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/argsarray/-/argsarray-0.0.1.tgz",
- "integrity": "sha1-bnIHtOzbObCviDA/pa4ivajfYcs="
- },
"arr-diff": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
- "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
"requires": {
- "arr-flatten": "^1.0.1",
- "array-slice": "^0.2.3"
+ "arr-flatten": "^1.0.1"
}
},
"arr-flatten": {
@@ -1564,9 +1360,9 @@
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
},
"arr-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
- "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0="
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
},
"array-filter": {
"version": "0.0.1",
@@ -1666,642 +1462,45 @@
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
},
- "babel-code-frame": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "babel-plugin-syntax-trailing-function-commas": {
+ "version": "7.0.0-beta.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz",
+ "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ=="
+ },
+ "babel-preset-fbjs": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.2.0.tgz",
+ "integrity": "sha512-5Jo+JeWiVz2wHUUyAlvb/sSYnXNig9r+HqGAOSfh5Fzxp7SnAaR/tEGRJ1ZX7C77kfk82658w6R5Z+uPATTD9g==",
"requires": {
- "chalk": "^1.1.3",
- "esutils": "^2.0.2",
- "js-tokens": "^3.0.2"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "babel-core": {
- "version": "6.26.3",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
- "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
- "requires": {
- "babel-code-frame": "^6.26.0",
- "babel-generator": "^6.26.0",
- "babel-helpers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-register": "^6.26.0",
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "convert-source-map": "^1.5.1",
- "debug": "^2.6.9",
- "json5": "^0.5.1",
- "lodash": "^4.17.4",
- "minimatch": "^3.0.4",
- "path-is-absolute": "^1.0.1",
- "private": "^0.1.8",
- "slash": "^1.0.0",
- "source-map": "^0.5.7"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "json5": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "babel-generator": {
- "version": "6.26.1",
- "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
- "requires": {
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "detect-indent": "^4.0.0",
- "jsesc": "^1.3.0",
- "lodash": "^4.17.4",
- "source-map": "^0.5.7",
- "trim-right": "^1.0.1"
- },
- "dependencies": {
- "jsesc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
- "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s="
- }
- }
- },
- "babel-helper-builder-react-jsx": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
- "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "esutils": "^2.0.2"
- }
- },
- "babel-helper-call-delegate": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
- "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
- "requires": {
- "babel-helper-hoist-variables": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-define-map": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
- "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-helper-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
- "requires": {
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-get-function-arity": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
- "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-hoist-variables": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
- "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-optimise-call-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
- "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-replace-supers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
- "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
- "requires": {
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helpers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
- "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-messages": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-check-es2015-constants": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
- "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-module-resolver": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz",
- "integrity": "sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==",
- "requires": {
- "find-babel-config": "^1.1.0",
- "glob": "^7.1.2",
- "pkg-up": "^2.0.0",
- "reselect": "^3.0.1",
- "resolve": "^1.4.0"
- }
- },
- "babel-plugin-react-native-web": {
- "version": "0.9.13",
- "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.9.13.tgz",
- "integrity": "sha512-cgHJcA+jDIcEH0g0JSCjRxGlKIMVR5GWCgVSFwfjIP1HCvjFOtjUWGHPEnlMShp9mHl/WtL2v59sRWzVnoK3CA=="
- },
- "babel-plugin-syntax-class-properties": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
- "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94="
- },
- "babel-plugin-syntax-flow": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
- "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0="
- },
- "babel-plugin-syntax-jsx": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
- "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY="
- },
- "babel-plugin-syntax-object-rest-spread": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
- "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U="
- },
- "babel-plugin-syntax-trailing-function-commas": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
- "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM="
- },
- "babel-plugin-transform-class-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz",
- "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-plugin-syntax-class-properties": "^6.8.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-arrow-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
- "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
- "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-block-scoping": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
- "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-plugin-transform-es2015-classes": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
- "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
- "requires": {
- "babel-helper-define-map": "^6.24.1",
- "babel-helper-function-name": "^6.24.1",
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-helper-replace-supers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-computed-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
- "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-destructuring": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
- "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-for-of": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
- "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
- "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
- "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-modules-commonjs": {
- "version": "6.26.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
- "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
- "requires": {
- "babel-plugin-transform-strict-mode": "^6.24.1",
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-types": "^6.26.0"
- }
- },
- "babel-plugin-transform-es2015-object-super": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
- "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
- "requires": {
- "babel-helper-replace-supers": "^6.24.1",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-parameters": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
- "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
- "requires": {
- "babel-helper-call-delegate": "^6.24.1",
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-shorthand-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
- "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-spread": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
- "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-template-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
- "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es3-member-expression-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz",
- "integrity": "sha1-cz00RPPsxBvvjtGmpOCWV7iWnrs=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es3-property-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz",
- "integrity": "sha1-sgeNWELiKr9A9z6M3pzTcRq9V1g=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-flow-strip-types": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
- "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
- "requires": {
- "babel-plugin-syntax-flow": "^6.18.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-object-rest-spread": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
- "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
- "requires": {
- "babel-plugin-syntax-object-rest-spread": "^6.8.0",
- "babel-runtime": "^6.26.0"
- }
- },
- "babel-plugin-transform-react-display-name": {
- "version": "6.25.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
- "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-react-jsx": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
- "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
- "requires": {
- "babel-helper-builder-react-jsx": "^6.24.1",
- "babel-plugin-syntax-jsx": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-strict-mode": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
- "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-preset-expo": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-5.1.1.tgz",
- "integrity": "sha512-aboINGtepZW4s5IKu9dpNY7RUzTlM4S55xw2cuQ39DiEWY1fr8TsbLyK4lMC5LXrGhoTGypnn85/Y4yPEdnK5g==",
- "requires": {
- "@babel/core": "^7.1.0",
- "@babel/plugin-proposal-decorators": "^7.1.0",
- "@babel/preset-env": "^7.3.1",
- "babel-plugin-module-resolver": "^3.1.1",
- "babel-plugin-react-native-web": "^0.9.6",
- "metro-react-native-babel-preset": "^0.49.0"
- }
- },
- "babel-preset-fbjs": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-2.3.0.tgz",
- "integrity": "sha512-ZOpAI1/bN0Y3J1ZAK9gRsFkHy9gGgJoDRUjtUCla/129LC7uViq9nIK22YdHfey8szohYoZY3f9L2lGOv0Edqw==",
- "requires": {
- "babel-plugin-check-es2015-constants": "^6.8.0",
- "babel-plugin-syntax-class-properties": "^6.8.0",
- "babel-plugin-syntax-flow": "^6.8.0",
- "babel-plugin-syntax-jsx": "^6.8.0",
- "babel-plugin-syntax-object-rest-spread": "^6.8.0",
- "babel-plugin-syntax-trailing-function-commas": "^6.8.0",
- "babel-plugin-transform-class-properties": "^6.8.0",
- "babel-plugin-transform-es2015-arrow-functions": "^6.8.0",
- "babel-plugin-transform-es2015-block-scoped-functions": "^6.8.0",
- "babel-plugin-transform-es2015-block-scoping": "^6.8.0",
- "babel-plugin-transform-es2015-classes": "^6.8.0",
- "babel-plugin-transform-es2015-computed-properties": "^6.8.0",
- "babel-plugin-transform-es2015-destructuring": "^6.8.0",
- "babel-plugin-transform-es2015-for-of": "^6.8.0",
- "babel-plugin-transform-es2015-function-name": "^6.8.0",
- "babel-plugin-transform-es2015-literals": "^6.8.0",
- "babel-plugin-transform-es2015-modules-commonjs": "^6.8.0",
- "babel-plugin-transform-es2015-object-super": "^6.8.0",
- "babel-plugin-transform-es2015-parameters": "^6.8.0",
- "babel-plugin-transform-es2015-shorthand-properties": "^6.8.0",
- "babel-plugin-transform-es2015-spread": "^6.8.0",
- "babel-plugin-transform-es2015-template-literals": "^6.8.0",
- "babel-plugin-transform-es3-member-expression-literals": "^6.8.0",
- "babel-plugin-transform-es3-property-literals": "^6.8.0",
- "babel-plugin-transform-flow-strip-types": "^6.8.0",
- "babel-plugin-transform-object-rest-spread": "^6.8.0",
- "babel-plugin-transform-react-display-name": "^6.8.0",
- "babel-plugin-transform-react-jsx": "^6.8.0"
- }
- },
- "babel-register": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
- "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
- "requires": {
- "babel-core": "^6.26.0",
- "babel-runtime": "^6.26.0",
- "core-js": "^2.5.0",
- "home-or-tmp": "^2.0.0",
- "lodash": "^4.17.4",
- "mkdirp": "^0.5.1",
- "source-map-support": "^0.4.15"
- },
- "dependencies": {
- "core-js": {
- "version": "2.6.5",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz",
- "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A=="
- }
- }
- },
- "babel-runtime": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
- "requires": {
- "core-js": "^2.4.0",
- "regenerator-runtime": "^0.11.0"
- },
- "dependencies": {
- "core-js": {
- "version": "2.6.5",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz",
- "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A=="
- },
- "regenerator-runtime": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
- }
- }
- },
- "babel-template": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-traverse": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
- "requires": {
- "babel-code-frame": "^6.26.0",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "debug": "^2.6.8",
- "globals": "^9.18.0",
- "invariant": "^2.2.2",
- "lodash": "^4.17.4"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ=="
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "babel-types": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
- "requires": {
- "babel-runtime": "^6.26.0",
- "esutils": "^2.0.2",
- "lodash": "^4.17.4",
- "to-fast-properties": "^1.0.3"
- },
- "dependencies": {
- "to-fast-properties": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
- }
+ "@babel/plugin-proposal-class-properties": "^7.0.0",
+ "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
+ "@babel/plugin-syntax-class-properties": "^7.0.0",
+ "@babel/plugin-syntax-flow": "^7.0.0",
+ "@babel/plugin-syntax-jsx": "^7.0.0",
+ "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
+ "@babel/plugin-transform-arrow-functions": "^7.0.0",
+ "@babel/plugin-transform-block-scoped-functions": "^7.0.0",
+ "@babel/plugin-transform-block-scoping": "^7.0.0",
+ "@babel/plugin-transform-classes": "^7.0.0",
+ "@babel/plugin-transform-computed-properties": "^7.0.0",
+ "@babel/plugin-transform-destructuring": "^7.0.0",
+ "@babel/plugin-transform-flow-strip-types": "^7.0.0",
+ "@babel/plugin-transform-for-of": "^7.0.0",
+ "@babel/plugin-transform-function-name": "^7.0.0",
+ "@babel/plugin-transform-literals": "^7.0.0",
+ "@babel/plugin-transform-member-expression-literals": "^7.0.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.0.0",
+ "@babel/plugin-transform-object-super": "^7.0.0",
+ "@babel/plugin-transform-parameters": "^7.0.0",
+ "@babel/plugin-transform-property-literals": "^7.0.0",
+ "@babel/plugin-transform-react-display-name": "^7.0.0",
+ "@babel/plugin-transform-react-jsx": "^7.0.0",
+ "@babel/plugin-transform-shorthand-properties": "^7.0.0",
+ "@babel/plugin-transform-spread": "^7.0.0",
+ "@babel/plugin-transform-template-literals": "^7.0.0",
+ "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0"
}
},
- "babylon": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
- },
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
@@ -2367,6 +1566,11 @@
}
}
},
+ "base-64": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz",
+ "integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs="
+ },
"base64-js": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
@@ -2381,14 +1585,14 @@
}
},
"big-integer": {
- "version": "1.6.43",
- "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.43.tgz",
- "integrity": "sha512-9dULc9jsKmXl0Aeunug8wbF+58n+hQoFjqClN7WeZwGLh0XJUWyJJ9Ee+Ep+Ql/J9fRsTVaeThp8MhiCCrY0Jg=="
+ "version": "1.6.44",
+ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.44.tgz",
+ "integrity": "sha512-7MzElZPTyJ2fNvBkPxtFQ2fWIkVmuzw41+BZHSzpEq3ymB2MfeKp1+yXl/tS75xCx+WnyV+yb0kp+K1C3UNwmQ=="
},
- "big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
+ "blueimp-md5": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.10.0.tgz",
+ "integrity": "sha512-EkNUOi7tpV68TqjpiUz9D9NcT8um2+qtgntmMbi5UKssVX2m/2PLqotcric0RE63pB3HPN/fjf3cKHN2ufGSUQ=="
},
"bn.js": {
"version": "4.11.8",
@@ -2500,16 +1704,6 @@
"pako": "~1.0.5"
}
},
- "browserslist": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.0.tgz",
- "integrity": "sha512-Jk0YFwXBuMOOol8n6FhgkDzn3mY9PYLYGk29zybF05SbRTsMgPqmTNeQQhOghCxq5oFqAXE3u4sYddr4C0uRhg==",
- "requires": {
- "caniuse-lite": "^1.0.30000967",
- "electron-to-chromium": "^1.3.133",
- "node-releases": "^1.1.19"
- }
- },
"bser": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz",
@@ -2527,24 +1721,10 @@
"ieee754": "^1.1.4"
}
},
- "buffer-alloc": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
- "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
- "requires": {
- "buffer-alloc-unsafe": "^1.1.0",
- "buffer-fill": "^1.0.0"
- }
- },
- "buffer-alloc-unsafe": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
- "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
- },
- "buffer-fill": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
- "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw="
+ "buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
},
"buffer-from": {
"version": "1.1.1",
@@ -2615,11 +1795,6 @@
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
"integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
},
- "caniuse-lite": {
- "version": "1.0.30000967",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000967.tgz",
- "integrity": "sha512-rUBIbap+VJfxTzrM4akJ00lkvVb5/n5v3EGXfWzSH5zT8aJmGzjA8HWhJ4U6kCpzxozUSnB+yvAYDRPY6mRpgQ=="
- },
"capture-exit": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz",
@@ -2636,6 +1811,24 @@
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"chardet": {
@@ -2663,11 +1856,6 @@
"static-extend": "^0.1.1"
},
"dependencies": {
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
- },
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
@@ -2706,6 +1894,14 @@
"wrap-ansi": "^2.0.0"
},
"dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
@@ -2732,15 +1928,6 @@
"object-visit": "^1.0.0"
}
},
- "color": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color/-/color-2.0.1.tgz",
- "integrity": "sha512-ubUCVVKfT7r2w2D3qtHakj8mbmKms+tThR8gI8zEYCbUBl8/voqFGt3kgBqGwXAopgXybnkuOq+qMYCRrp4cXw==",
- "requires": {
- "color-convert": "^1.9.1",
- "color-string": "^1.5.2"
- }
- },
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -2754,15 +1941,6 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
},
- "color-string": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
- "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
- "requires": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
- }
- },
"color-support": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
@@ -2778,6 +1956,11 @@
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
},
+ "compare-versions": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz",
+ "integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg=="
+ },
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
@@ -2803,21 +1986,6 @@
"on-headers": "~1.0.2",
"safe-buffer": "5.1.2",
"vary": "~1.1.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
}
},
"concat-map": {
@@ -2837,29 +2005,14 @@
}
},
"connect": {
- "version": "3.6.6",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
- "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=",
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
+ "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
"requires": {
"debug": "2.6.9",
- "finalhandler": "1.1.0",
- "parseurl": "~1.3.2",
+ "finalhandler": "1.1.2",
+ "parseurl": "~1.3.3",
"utils-merge": "1.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
}
},
"console-browserify": {
@@ -2889,32 +2042,9 @@
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
},
"core-js": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.0.1.tgz",
- "integrity": "sha512-sco40rF+2KlE0ROMvydjkrVMMG1vYilP2ALoRXcYR4obqbYIuV3Bg+51GEDW+HF8n7NRA+iaA4qD0nD9lo9mew=="
- },
- "core-js-compat": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.0.1.tgz",
- "integrity": "sha512-2pC3e+Ht/1/gD7Sim/sqzvRplMiRnFQVlPpDVaHtY9l7zZP7knamr3VRD6NyGfHd84MrDC0tAM9ulNxYMW0T3g==",
- "requires": {
- "browserslist": "^4.5.4",
- "core-js": "3.0.1",
- "core-js-pure": "3.0.1",
- "semver": "^6.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz",
- "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ=="
- }
- }
- },
- "core-js-pure": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.0.1.tgz",
- "integrity": "sha512-mSxeQ6IghKW3MoyF4cz19GJ1cMm7761ON+WObSyLfTu/Jn3x7w4NwNFnrZxgl4MTSvYYepVLNuRtlB4loMwJ5g=="
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
+ "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A=="
},
"core-util-is": {
"version": "1.0.2",
@@ -2922,25 +2052,14 @@
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cosmiconfig": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.0.tgz",
- "integrity": "sha512-nxt+Nfc3JAqf4WIWd0jXLjTJZmsPLrA9DDc4nRw2KFJQJK7DNooqSXrNI7tzLG50CF8axczly5UV929tBmh/7g==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
+ "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
"requires": {
"import-fresh": "^2.0.0",
"is-directory": "^0.3.1",
- "js-yaml": "^3.13.0",
+ "js-yaml": "^3.13.1",
"parse-json": "^4.0.0"
- },
- "dependencies": {
- "parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
- "requires": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- }
- }
}
},
"create-ecdh": {
@@ -2985,6 +2104,27 @@
"fbjs": "^0.8.9",
"loose-envify": "^1.3.1",
"object-assign": "^4.1.1"
+ },
+ "dependencies": {
+ "core-js": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
+ },
+ "fbjs": {
+ "version": "0.8.17",
+ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
+ "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
+ "requires": {
+ "core-js": "^1.0.0",
+ "isomorphic-fetch": "^2.1.1",
+ "loose-envify": "^1.0.0",
+ "object-assign": "^4.1.0",
+ "promise": "^7.1.1",
+ "setimmediate": "^1.0.5",
+ "ua-parser-js": "^0.7.18"
+ }
+ }
}
},
"cross-spawn": {
@@ -3005,11 +2145,11 @@
"integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
},
"debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.0.0"
}
},
"decamelize": {
@@ -3022,11 +2162,6 @@
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
},
- "dedent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.6.0.tgz",
- "integrity": "sha1-Dm2o8M5Sg471zsXI+TlrDBtko8s="
- },
"define-property": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
@@ -3103,19 +2238,6 @@
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
- "detect-indent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
- "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
- "requires": {
- "repeating": "^2.0.0"
- }
- },
- "detect-newline": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
- "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I="
- },
"diff": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
@@ -3147,11 +2269,6 @@
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
- "electron-to-chromium": {
- "version": "1.3.133",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.133.tgz",
- "integrity": "sha512-lyoC8aoqbbDqsprb6aPdt9n3DpOZZzdz/T4IZKsR0/dkZIxnJVUjjcpOSwA66jPRIOyDAamCTAUqweU05kKNSg=="
- },
"elliptic": {
"version": "6.4.1",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
@@ -3166,11 +2283,6 @@
"minimalistic-crypto-utils": "^1.0.0"
}
},
- "emojis-list": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
- },
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@@ -3184,6 +2296,14 @@
"iconv-lite": "~0.4.13"
}
},
+ "end-of-stream": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
"envinfo": {
"version": "5.12.1",
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-5.12.1.tgz",
@@ -3241,505 +2361,140 @@
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
"integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q=="
},
- "events": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
- "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ="
- },
- "evp_bytestokey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "requires": {
- "md5.js": "^1.3.4",
- "safe-buffer": "^5.1.1"
- }
- },
- "exec-sh": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz",
- "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==",
- "requires": {
- "merge": "^1.2.0"
- }
- },
- "execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "requires": {
- "cross-spawn": "^5.0.1",
- "get-stream": "^3.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "requires": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- }
- }
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "requires": {
- "is-posix-bracket": "^0.1.0"
- }
- },
- "expand-range": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
- "requires": {
- "fill-range": "^2.1.0"
- }
- },
- "expo": {
- "version": "32.0.6",
- "resolved": "https://registry.npmjs.org/expo/-/expo-32.0.6.tgz",
- "integrity": "sha512-LMFtWZY+lwMHkoThTBwirctPB/5WeZtGrVM8MVoCI1e7jlONOfNQceM6X2j06BO5HxcCF/ASJSUDiTIIStAeaA==",
- "requires": {
- "@babel/runtime": "^7.1.2",
- "@expo/vector-icons": "~9.0.0",
- "@expo/websql": "^1.0.1",
- "@types/fbemitter": "^2.0.32",
- "@types/invariant": "^2.2.29",
- "@types/lodash.zipobject": "^4.1.4",
- "@types/qs": "^6.5.1",
- "@types/uuid-js": "^0.7.1",
- "@types/websql": "^0.0.27",
- "babel-preset-expo": "^5.0.0",
- "cross-spawn": "^6.0.5",
- "expo-ads-admob": "~2.0.0",
- "expo-analytics-segment": "~2.0.0",
- "expo-app-auth": "~2.0.0",
- "expo-app-loader-provider": "~1.0.0",
- "expo-asset": "~2.0.0",
- "expo-background-fetch": "~1.0.0",
- "expo-barcode-scanner": "~2.0.0",
- "expo-barcode-scanner-interface": "~2.0.0",
- "expo-camera": "~2.0.0",
- "expo-camera-interface": "~2.0.0",
- "expo-constants": "~2.0.0",
- "expo-constants-interface": "~2.0.0",
- "expo-contacts": "~2.0.0",
- "expo-core": "~2.0.0",
- "expo-errors": "~1.0.0",
- "expo-face-detector": "~2.0.0",
- "expo-face-detector-interface": "~2.0.0",
- "expo-file-system": "~2.0.0",
- "expo-file-system-interface": "~2.0.0",
- "expo-font": "~2.0.0",
- "expo-font-interface": "~2.0.0",
- "expo-gl": "~2.0.0",
- "expo-gl-cpp": "~2.0.0",
- "expo-google-sign-in": "~2.0.0",
- "expo-image-loader-interface": "~2.0.0",
- "expo-local-authentication": "~2.0.0",
- "expo-localization": "~2.0.0",
- "expo-location": "~2.0.1",
- "expo-media-library": "~2.0.0",
- "expo-payments-stripe": "~2.0.0",
- "expo-permissions": "~2.0.0",
- "expo-permissions-interface": "~2.0.0",
- "expo-print": "~2.0.0",
- "expo-react-native-adapter": "~2.0.0",
- "expo-sensors": "~2.0.0",
- "expo-sensors-interface": "~2.0.0",
- "expo-sms": "~2.0.0",
- "expo-task-manager": "~1.0.0",
- "fbemitter": "^2.1.1",
- "invariant": "^2.2.2",
- "lodash.filter": "^4.6.0",
- "lodash.map": "^4.6.0",
- "lodash.omit": "^4.5.0",
- "lodash.zipobject": "^4.1.3",
- "lottie-react-native": "2.5.0",
- "md5-file": "^3.2.3",
- "nullthrows": "^1.1.0",
- "pretty-format": "^23.6.0",
- "prop-types": "^15.6.0",
- "qs": "^6.5.0",
- "react-native-branch": "2.2.5",
- "react-native-gesture-handler": "~1.0.14",
- "react-native-reanimated": "1.0.0-alpha.11",
- "react-native-screens": "1.0.0-alpha.22",
- "react-native-svg": "8.0.10",
- "react-native-view-shot": "2.5.0",
- "serialize-error": "^2.1.0",
- "uuid-js": "^0.7.5",
- "whatwg-fetch": "^2.0.4"
- },
- "dependencies": {
- "react-native-maps": {
- "version": "github:expo/react-native-maps#e6f98ff7272e5d0a7fe974a41f28593af2d77bb2",
- "from": "github:expo/react-native-maps#e6f98ff7272e5d0a7fe974a41f28593af2d77bb2"
- }
- }
- },
- "expo-ads-admob": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-ads-admob/-/expo-ads-admob-2.0.0.tgz",
- "integrity": "sha512-mGx4rDBlDgVRf0jKsl4IpghBDG7vphriUmGa6BYRjnwc7PaQJMeQOINxQKLr37CvTuzvhiDz+yYFBeS5baRNXg==",
- "requires": {
- "prop-types": "^15.6.2"
- }
- },
- "expo-analytics-segment": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-analytics-segment/-/expo-analytics-segment-2.0.0.tgz",
- "integrity": "sha512-NSqvm1bK0cxnBXwypkfQc1ZM8jE5ARgSs1PYgxqsyEDY1ivxJkpvf0R0QOxqHjG4N34ox0J3YJHRCLHyMyrRbA==",
- "requires": {
- "expo-core": "~2.0.0"
- }
- },
- "expo-app-auth": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-app-auth/-/expo-app-auth-2.0.0.tgz",
- "integrity": "sha512-g3U0+G2nwgcTiINTAS3FtQvvLfOm9ZMeUDJ6rc6YkG7JmcW6vC0s3QURYlF33UdqWeN4VUYw7o0zP6r4jsZhNQ==",
- "requires": {
- "expo-constants-interface": "~2.0.0",
- "expo-core": "~2.0.0"
- }
- },
- "expo-app-loader-provider": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/expo-app-loader-provider/-/expo-app-loader-provider-1.0.0.tgz",
- "integrity": "sha512-PAQnlGNQLO6k+k+kgGyqw4oaLS6GAvRwZRG1BofYBvcIzhZf24Nys7DuA6JT5Ukb1FtO8c5Ioi4C7pKntYiPdw==",
- "requires": {
- "expo-core": "~2.0.0"
- }
- },
- "expo-asset": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-2.0.0.tgz",
- "integrity": "sha512-8E/vQ/grJl1OX2lkzChbQJWsynIRupkxR0r8RMJ0js+MfDtmyi3m4lVzY4AjUz/y7KJ9XpldKjsqerFWb/Nmew==",
- "requires": {
- "uri-parser": "^1.0.1",
- "url-join": "^4.0.0",
- "url-loader": "^1.1.2"
- }
- },
- "expo-background-fetch": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/expo-background-fetch/-/expo-background-fetch-1.0.0.tgz",
- "integrity": "sha512-oQY2gCEZIka1xKlkW0y3/GYobdXDl9Q3//sfogLlxVcoTFScLRYCwTOBVb6RsCzLwv/CzZedbR+1WjlvKshS6Q==",
- "requires": {
- "expo-task-manager": "~1.0.0"
- }
- },
- "expo-barcode-scanner": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-barcode-scanner/-/expo-barcode-scanner-2.0.0.tgz",
- "integrity": "sha512-ryWfpqpw+gzvZVfsm6IUj6oSi22sWeuEg7j38Vn0C9LoHVWNt93JcKWTulO+8Pk2iThvr/ernmHqyMGatwmv6g==",
- "requires": {
- "expo-barcode-scanner-interface": "~2.0.0",
- "lodash.mapvalues": "^4.6.0",
- "prop-types": "^15.6.0"
- }
- },
- "expo-barcode-scanner-interface": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-barcode-scanner-interface/-/expo-barcode-scanner-interface-2.0.0.tgz",
- "integrity": "sha512-rfCLqL06zVcyT5usKBQqDA0ilIEYv5zi91lUJ6s2/Llvx/OHuiPY4w1ol5HJPRJQvaBHop3lXqnb7dUuEMTsIA=="
- },
- "expo-camera": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-camera/-/expo-camera-2.0.0.tgz",
- "integrity": "sha512-TVRuMMQ8+Y54v7Q3Wls3ZXABMhA+W7u5M3Ghdmc6hPUVubG1TprAk257BorfaI09QJ5jOevDzdw3IAFEvyE+Pg==",
- "requires": {
- "lodash.mapvalues": "^4.6.0",
- "prop-types": "^15.6.0"
- }
- },
- "expo-camera-interface": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-camera-interface/-/expo-camera-interface-2.0.0.tgz",
- "integrity": "sha512-6CLexDa/RhrJ74dzNKyg7aHcNG11FH/F83sD+wIbhoE7fm3FGEbSXxOKccWmVAUApMyn3Sdev4MLjnKUX0opBQ==",
- "requires": {
- "expo-core": "~2.0.0"
- }
- },
- "expo-constants": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-2.0.1.tgz",
- "integrity": "sha512-OIT1afOYYSpDxnnTp5jNXNB2nfnbmykLT+fLaKTu60VdtrO0sr20eB30YwuALU7n/xSYM/xKPsP8jDCzq40YLw==",
- "requires": {
- "ua-parser-js": "^0.7.19",
- "uuid": "^3.3.2"
- }
- },
- "expo-constants-interface": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-constants-interface/-/expo-constants-interface-2.0.0.tgz",
- "integrity": "sha512-H5qXLl1Ew+Aemo127B9zvdtutYCZRwYnb1wRY2gKvECuyHTfRylld7fA6otebNf1NwqCQ5bowTZtls4SKWxTiQ==",
- "requires": {
- "expo-core": "~2.0.0"
- }
- },
- "expo-contacts": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-contacts/-/expo-contacts-2.0.0.tgz",
- "integrity": "sha512-aRq8WZ9XeTffI8vidS2Yu51WqIRsj+oWt2kaFPCnGHeH71eE6HxuNapQGe+RmoyJmpntVHYdlg3kAgyW84odQw==",
- "requires": {
- "expo-core": "~2.0.0",
- "expo-errors": "~1.0.0",
- "uuid-js": "^0.7.5"
- }
- },
- "expo-core": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/expo-core/-/expo-core-2.0.2.tgz",
- "integrity": "sha512-QKkICJ06m/J1PxTJqtVu03+fUXwjLqb2YPF5J9DT7W4EknPq1sHY3ZKJgAr1PhK24fzvVoxWOKqiIstliZdBOA=="
- },
- "expo-errors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/expo-errors/-/expo-errors-1.0.0.tgz",
- "integrity": "sha512-4CL/75aigg+pYwgR+7SUJwYgX2oa7ZGAwK1aYKnyUnwQOa9jmjJJoT9KPHO8SbDHz+mEwjD5TE8ZXfOWlMl+kw==",
- "requires": {
- "expo-core": "~2.0.0"
- }
- },
- "expo-face-detector": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-face-detector/-/expo-face-detector-2.0.0.tgz",
- "integrity": "sha512-w+pO6AURNNZt0ocqHPFHR6EQ2ZyZorSkwRCCZoLLm7GZ1PdMLIRfkqeN1hAWmHcGt9sEzRBaYWJETzDtwSd4BA==",
- "requires": {
- "expo-core": "~2.0.0",
- "expo-face-detector-interface": "~2.0.0",
- "expo-permissions-interface": "~2.0.0"
- }
- },
- "expo-face-detector-interface": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-face-detector-interface/-/expo-face-detector-interface-2.0.0.tgz",
- "integrity": "sha512-BXBxTMFy2YFANWxxgXmrie2R68ATv2KJJ9iaVYCNSoAXplAsHF+Kc2hkVBLE/xAU2+QFzVq9N21CVOIfKsWN4A==",
- "requires": {
- "expo-core": "~2.0.0"
- }
- },
- "expo-file-system": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-2.0.0.tgz",
- "integrity": "sha512-snYf1kIYB9Jx2z1Vsj7+q3SSKyjmWPH+dpWlxCS+gHRgFzWI36y46SZCL/d76SmM2SOMhS95mIU+EZR7rKSJTQ==",
- "requires": {
- "expo-core": "~2.0.0",
- "expo-file-system-interface": "~2.0.0",
- "uuid-js": "^0.7.5"
- }
- },
- "expo-file-system-interface": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-file-system-interface/-/expo-file-system-interface-2.0.0.tgz",
- "integrity": "sha512-lhNjfPyNspQIJOqDM/Z8lpFICc0QF/Ah1DtYCDeQSng/zgAaLlRyDN3vSb/a5NrluSDfRlU2oF2sbrxIsOzzbg==",
- "requires": {
- "expo-core": "~2.0.0"
- }
- },
- "expo-font": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-2.0.0.tgz",
- "integrity": "sha512-0o79ON0aQQCcA3OXXnRllGGnFFfDXXe2QB/IIGrksD5UL8MPwhLWAsD3ZsZJYgo3H6tE/i8moB2zQ1i2Q/4pNg==",
- "requires": {
- "invariant": "^2.2.2"
- }
- },
- "expo-font-interface": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-font-interface/-/expo-font-interface-2.0.0.tgz",
- "integrity": "sha512-5tEGjUwOLd5h6vTR3xfNc6jXTRKzLVnGpIjns+L2aArIIktmlZU3Y/gzueY8AkB6J6SB5DYSLlybp5kQrUOImw==",
- "requires": {
- "expo-core": "~2.0.0"
- }
- },
- "expo-gl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-gl/-/expo-gl-2.0.0.tgz",
- "integrity": "sha512-iCzaBXvV/YIfPUTAZrI6TDdQDp3qPOCKfib8L/haAjXLf74SqDevQzLFSTfahGZJRgR9/NXsVfKc0z6MmTeIZw==",
- "requires": {
- "prop-types": "^15.6.2"
- }
- },
- "expo-gl-cpp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-gl-cpp/-/expo-gl-cpp-2.0.0.tgz",
- "integrity": "sha512-Vuj/ABhqOQgdFFJjGEzZ9soFEHGbwOzL6T9oH70osrl4laep/4RCtQy80zThC0aNRDFFmh5923SyqBo5CGKJyQ==",
- "requires": {
- "expo-core": "~2.0.0"
- }
- },
- "expo-google-sign-in": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-google-sign-in/-/expo-google-sign-in-2.0.0.tgz",
- "integrity": "sha512-2uuHbKQov4e+oITVBj/TyUhGqyP2hCEGRMqzHc1POb47z7J3yfVordAxdost4sazrWkWRrOHMAJp6Xah38d5pQ==",
- "requires": {
- "expo-errors": "~1.0.0",
- "invariant": "^2.2.4"
- }
- },
- "expo-image-loader-interface": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-image-loader-interface/-/expo-image-loader-interface-2.0.0.tgz",
- "integrity": "sha512-aOHa37N/8gEyzDGO5df6PST8uce1L94OxNTfD5JtWVH3tWmkaN760S33T9ecWmydcUv9zFCOcCC4gZTwEWUJiQ==",
- "requires": {
- "expo-core": "~2.0.0"
- }
- },
- "expo-local-authentication": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-local-authentication/-/expo-local-authentication-2.0.0.tgz",
- "integrity": "sha512-okW+EeLXgIG6xNfxl99bjJDrzmrx44fzYmSRKFspCH6JJQNqGFUgyMjqOsiSlEjPxr3S7Y2aYU0pHgoeoajGjw==",
- "requires": {
- "expo-core": "~2.0.0",
- "invariant": "^2.2.4"
- }
- },
- "expo-localization": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-localization/-/expo-localization-2.0.0.tgz",
- "integrity": "sha512-QDs76ZWi8zf/Zbt9EG/ToQ8qQv3Z8GsjPVFT3J0idikpuMIPhqKSZLYOkiXpTuOhh5I1CGfIiXCqkQX77n8l7A==",
- "requires": {
- "expo-core": "~2.0.0",
- "moment": "^2.22.2",
- "moment-timezone": "^0.5.23",
- "rtl-detect": "^1.0.2"
- }
+ "events": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ="
},
- "expo-location": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/expo-location/-/expo-location-2.0.1.tgz",
- "integrity": "sha512-hd1lZ1yPh+q50AihNqdeAumr3R64fp7qKlJ/5Ry1ap519Gy3uA1y+XOw5HHNXDw+/fbO9O1xBLpAuJUbZxVk8w==",
+ "evp_bytestokey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
"requires": {
- "invariant": "^2.2.4"
+ "md5.js": "^1.3.4",
+ "safe-buffer": "^5.1.1"
}
},
- "expo-media-library": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-media-library/-/expo-media-library-2.0.0.tgz",
- "integrity": "sha512-o6zQEuanRYFIh2z74B5NhZQdCAZPRTBLFnGB5ZUfdiAXjrN5gnn9tY+7vYyNJcS4uxd7r7sVK+2l2QP14EsPMg==",
+ "exec-sh": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz",
+ "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==",
"requires": {
- "expo-core": "~2.0.0",
- "expo-errors": "~1.0.0",
- "expo-permissions-interface": "~2.0.0"
+ "merge": "^1.2.0"
}
},
- "expo-payments-stripe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-payments-stripe/-/expo-payments-stripe-2.0.0.tgz",
- "integrity": "sha512-13xMfo7vmFnfWvt5TihqN2baEUBCHztk4DBX3vOhjUU/dpgUcLX+jQUFVQNduYxlOk7nFW/z7GiByjqVkkOd0Q==",
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
"requires": {
- "expo-core": "~2.0.0"
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
}
},
- "expo-permissions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-permissions/-/expo-permissions-2.0.0.tgz",
- "integrity": "sha512-0niegCTjcNdLk/715VqG5ibnT45eRGRebgdjTk/HtFOLjFtMs2mQKpneF3BbwVAK88bCbAiwtSBNt21/C+6z7A==",
+ "expand-brackets": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
"requires": {
- "expo-core": "~2.0.0",
- "expo-permissions-interface": "~2.0.0"
+ "is-posix-bracket": "^0.1.0"
}
},
- "expo-permissions-interface": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-permissions-interface/-/expo-permissions-interface-2.0.0.tgz",
- "integrity": "sha512-hk9oR6CtV2MLONdtPkKvOfpfmbJ48BDbYjvW/Na31znVvUAPHs7owckqSgh5BVoIAz8tMgp7fptaifEhPOayvg==",
+ "expand-range": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
"requires": {
- "expo-core": "~2.0.0"
+ "fill-range": "^2.1.0"
}
},
- "expo-print": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-print/-/expo-print-2.0.0.tgz",
- "integrity": "sha512-wTzqIxaNb7qq+2P+y8Yf/umfqDJQnXYCf9Ns046pFOeybHd1r3pJRy6A9Myc2tFeNA2/xSx8oICMmqO1ZNRPLQ==",
- "requires": {
- "babel-preset-expo": "^5.0.0",
- "expo-core": "~2.0.0",
- "expo-errors": "~1.0.0"
- }
+ "expo-app-loader-provider": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/expo-app-loader-provider/-/expo-app-loader-provider-5.0.1.tgz",
+ "integrity": "sha512-RrbKXYmy980MdSgroY0fWPEFp4qqRGfE2oixPgN52poXJyrLbFeSmV/92IDsEOFv02jtrbbHJ8i3tiIF63czXA=="
},
- "expo-react-native-adapter": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-react-native-adapter/-/expo-react-native-adapter-2.0.0.tgz",
- "integrity": "sha512-pRlmqqb9mPr1abgzEGnzeEWa7VI8WWqMWRnU/ySJTcOWRyX63oUobTKX/Bw1HuwGyB6+rVRqEF+IObOeo8va4w==",
+ "expo-asset": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-5.0.1.tgz",
+ "integrity": "sha512-dDu2jgFVd5UdBVfCgiznaib7R8bF3fZ0H3cLEO8q05lXV5NwFc/ftC2BXy0+tvV5u/yEtnRvQFAQQBJVhtbvpQ==",
"requires": {
- "expo-image-loader-interface": "~2.0.0",
- "expo-permissions-interface": "~2.0.0",
- "invariant": "^2.2.4",
- "lodash.omit": "^4.5.0",
- "lodash.pick": "^4.4.0",
- "prop-types": "^15.6.1"
+ "blueimp-md5": "^2.10.0",
+ "path-browserify": "^1.0.0",
+ "url-parse": "^1.4.4"
}
},
- "expo-sensors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-sensors/-/expo-sensors-2.0.0.tgz",
- "integrity": "sha512-qr5n+gXKmmXL4LCAXygeafIHxzOLfepewsnVS2ZJJ3ARNdhH6bWpgXLOxJH8482O21sV/dGFn0DG/lbuiyBxeg==",
+ "expo-constants": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-5.0.1.tgz",
+ "integrity": "sha512-Ny3teALKaE/jFzBg6DHr2GOoHpwQ/OLs3q3VugZOoR6hXCeVcCEP9MyNvhgn/cheeBDAa6UIgarv2Yufb5RMqQ==",
"requires": {
- "invariant": "^2.2.4"
+ "ua-parser-js": "^0.7.19"
}
},
- "expo-sensors-interface": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-sensors-interface/-/expo-sensors-interface-2.0.0.tgz",
- "integrity": "sha512-Lx5j4xeBxPHPxc1ySL3EZqr0PtJAdNaHu/uEj4OkrvWfE8QfyN/dS8j8x7vtdHZmwlBONWev2dL5Kpojzo7DEQ==",
+ "expo-file-system": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-5.0.1.tgz",
+ "integrity": "sha512-8AD8Tt0vR8XNIPXOg5akPUPGuf+SCiE9kY5JppUwfJtfIsiH3BZnebu1bkYCVOMojSgFA017kr8VmH57vEWdnQ==",
"requires": {
- "expo-core": "~2.0.0"
+ "uuid-js": "^0.7.5"
}
},
- "expo-sms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/expo-sms/-/expo-sms-2.0.0.tgz",
- "integrity": "sha512-kQ7VnBHjz0B2OyfM100daLWwOvGQ88Tm1q75RPiYN/miry/3mpXriFDbvMnF8EH6G7UlfdrVTIdV63HuYyhNmA==",
+ "expo-font": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-5.0.1.tgz",
+ "integrity": "sha512-fa/z31lLi1ut6IGTf9/Kvw9KAlwSGQaBkuunuqjrW2ephqiXlHTeOOsaqKMirtmiqgsKOJysdlYUH1Aw03Y2bg==",
"requires": {
- "expo-core": "~2.0.0",
- "expo-permissions-interface": "~2.0.0"
+ "fontfaceobserver": "^2.1.0"
}
},
- "expo-task-manager": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/expo-task-manager/-/expo-task-manager-1.0.0.tgz",
- "integrity": "sha512-ySm4K9JNl+Yw5BAdatJdc0A3rV8Bp2PT6R3P0M7q6P6jkbscn+NJ7VAVzu05ID8MY8yGGSZHyzRjScEW7/lskA==",
- "requires": {
- "expo-core": "~2.0.0",
- "expo-errors": "~1.0.0",
- "expo-task-manager-interface": "~1.0.0"
- }
+ "expo-keep-awake": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-5.0.1.tgz",
+ "integrity": "sha512-DPWAqgxbmLyJoCXPbDXbj+1XFjP/ulv4AYzvi1a+jsvZRU2uiFdho0w269Y++DLCQf30vbuu3zs5HiaJGU43fA=="
},
- "expo-task-manager-interface": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/expo-task-manager-interface/-/expo-task-manager-interface-1.0.0.tgz",
- "integrity": "sha512-ly+LK55Yyx/jFQN4ZQsRFFn5JGAczY6nPNMV1iTxxK7o6I1hv2ZO9DAzYQpU41VIoPNDsSO/5JAh0HWV44MlsA==",
+ "expo-local-authentication": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/expo-local-authentication/-/expo-local-authentication-5.0.1.tgz",
+ "integrity": "sha512-Fy4T/5N/WUIFsbuRCDWOZzKejbe90nuCbyD4I5rOmHTZRbIxDfGePUUF/fJv5JhjxEl87QdrIlNMpLLyTLiRqw==",
"requires": {
- "expo-core": "~2.0.0"
+ "invariant": "^2.2.4"
}
},
- "expokit": {
- "version": "32.1.2",
- "resolved": "https://registry.npmjs.org/expokit/-/expokit-32.1.2.tgz",
- "integrity": "sha512-NwK13vKc0GmzxrqNE7IAZ45TjnpPW7oD75JMRkNB2kCbpAm/1iKP7p2RTQPhl4fTNh/ROtRwpPIsL0w3cdMMAg==",
- "dev": true,
+ "expo-permissions": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/expo-permissions/-/expo-permissions-5.0.1.tgz",
+ "integrity": "sha512-cOg9f9TaV8grORTwLSuoPfviDGcJSALjaALvxdmQD5ujPW6lxO6Ofd/s4/dV4L3lJww4HXiurjPJnT5yo+3ydw=="
+ },
+ "expo-random": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/expo-random/-/expo-random-5.0.1.tgz",
+ "integrity": "sha512-VUPDd8Ds1adaQoaCxTvEsSdiE02LuszazkxwvDjykE+oPG9CYOcc19yvk8wivyciEkMnjD5zYkM67ystFELGXw==",
"requires": {
- "jsc-android": "^224109.1.0"
+ "base64-js": "^1.3.0"
}
},
"extend-shallow": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
- "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
"requires": {
- "kind-of": "^1.1.0"
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
}
},
"external-editor": {
@@ -3771,16 +2526,6 @@
"time-stamp": "^1.0.0"
}
},
- "fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
- },
- "fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
- },
"fb-watchman": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz",
@@ -3789,43 +2534,34 @@
"bser": "^2.0.0"
}
},
- "fbemitter": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-2.1.1.tgz",
- "integrity": "sha1-Uj4U/a9SSIBbsC9i78M75wP1GGU=",
- "requires": {
- "fbjs": "^0.8.4"
- }
- },
"fbjs": {
- "version": "0.8.17",
- "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
- "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz",
+ "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==",
"requires": {
- "core-js": "^1.0.0",
+ "core-js": "^2.4.1",
+ "fbjs-css-vars": "^1.0.0",
"isomorphic-fetch": "^2.1.1",
"loose-envify": "^1.0.0",
"object-assign": "^4.1.0",
"promise": "^7.1.1",
"setimmediate": "^1.0.5",
"ua-parser-js": "^0.7.18"
- },
- "dependencies": {
- "core-js": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
- "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
- }
}
},
+ "fbjs-css-vars": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz",
+ "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ=="
+ },
"fbjs-scripts": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-0.8.3.tgz",
- "integrity": "sha512-aUJ/uEzMIiBYuj/blLp4sVNkQQ7ZEB/lyplG1IzzOmZ83meiWecrGg5jBo4wWrxXmO4RExdtsSV1QkTjPt2Gag==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-1.2.0.tgz",
+ "integrity": "sha512-5krZ8T0Bf8uky0abPoCLrfa7Orxd8UH4Qq8hRUF2RZYNMu+FmEOrBc7Ib3YVONmxTXTlLAvyrrdrVmksDb2OqQ==",
"requires": {
+ "@babel/core": "^7.0.0",
"ansi-colors": "^1.0.1",
- "babel-core": "^6.7.2",
- "babel-preset-fbjs": "^2.1.2",
+ "babel-preset-fbjs": "^3.2.0",
"core-js": "^2.4.1",
"cross-spawn": "^5.1.0",
"fancy-log": "^1.3.2",
@@ -3835,11 +2571,6 @@
"through2": "^2.0.0"
},
"dependencies": {
- "core-js": {
- "version": "2.6.5",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz",
- "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A=="
- },
"cross-spawn": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
@@ -3878,48 +2609,17 @@
}
},
"finalhandler": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
- "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
+ "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
"requires": {
"debug": "2.6.9",
- "encodeurl": "~1.0.1",
+ "encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"on-finished": "~2.3.0",
- "parseurl": "~1.3.2",
- "statuses": "~1.3.1",
+ "parseurl": "~1.3.3",
+ "statuses": "~1.5.0",
"unpipe": "~1.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "find-babel-config": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz",
- "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==",
- "requires": {
- "json5": "^0.5.1",
- "path-exists": "^3.0.0"
- },
- "dependencies": {
- "json5": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
- }
}
},
"find-cache-dir": {
@@ -3940,6 +2640,11 @@
"locate-path": "^2.0.0"
}
},
+ "fontfaceobserver": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.1.0.tgz",
+ "integrity": "sha512-ReOsO2F66jUa0jmv2nlM/s1MiutJx/srhAe2+TE8dJCMi02ZZOcCTxTCQFr3Yet+uODUtnr4Mewg+tNQ+4V1Ng=="
+ },
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -3974,6 +2679,16 @@
"graceful-fs": "^4.1.2",
"jsonfile": "^2.1.0",
"klaw": "^1.0.0"
+ },
+ "dependencies": {
+ "jsonfile": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ }
}
},
"fs.realpath": {
@@ -4480,9 +3195,12 @@
"integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
},
"get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "requires": {
+ "pump": "^3.0.0"
+ }
},
"get-value": {
"version": "2.0.6",
@@ -4520,12 +3238,12 @@
}
},
"global": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
- "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
+ "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
"requires": {
"min-document": "^2.19.0",
- "process": "~0.5.1"
+ "process": "^0.11.10"
}
},
"globals": {
@@ -4648,15 +3366,6 @@
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz",
"integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw=="
},
- "home-or-tmp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
- "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.1"
- }
- },
"hosted-git-info": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
@@ -4674,10 +3383,10 @@
"toidentifier": "1.0.0"
},
"dependencies": {
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
}
}
},
@@ -4704,11 +3413,6 @@
"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz",
"integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA=="
},
- "immediate": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz",
- "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw="
- },
"import-fresh": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
@@ -4733,9 +3437,9 @@
}
},
"inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"inquirer": {
"version": "3.3.0",
@@ -4797,16 +3501,6 @@
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"requires": {
"kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
}
},
"is-arrayish": {
@@ -4825,16 +3519,6 @@
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"requires": {
"kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
}
},
"is-descriptor": {
@@ -4882,21 +3566,10 @@
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
"integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
},
- "is-finite": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
"is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "requires": {
- "number-is-nan": "^1.0.0"
- }
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
},
"is-glob": {
"version": "2.0.1",
@@ -4912,16 +3585,6 @@
"integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
"requires": {
"kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
}
},
"is-plain-object": {
@@ -4994,49 +3657,46 @@
"requires": {
"node-fetch": "^1.0.1",
"whatwg-fetch": ">=0.10.0"
- }
- },
- "jest-docblock": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz",
- "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=",
- "requires": {
- "detect-newline": "^2.1.0"
+ },
+ "dependencies": {
+ "node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "requires": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ }
}
},
"jest-haste-map": {
- "version": "23.5.0",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz",
- "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==",
+ "version": "24.0.0-alpha.6",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.0.0-alpha.6.tgz",
+ "integrity": "sha512-+NO2HMbjvrG8BC39ieLukdpFrcPhhjCJGhpbHodHNZygH1Tt06WrlNYGpZtWKx/zpf533tCtMQXO/q59JenjNw==",
"requires": {
"fb-watchman": "^2.0.0",
"graceful-fs": "^4.1.11",
"invariant": "^2.2.4",
- "jest-docblock": "^23.2.0",
- "jest-serializer": "^23.0.1",
- "jest-worker": "^23.2.0",
+ "jest-serializer": "^24.0.0-alpha.6",
+ "jest-worker": "^24.0.0-alpha.6",
"micromatch": "^2.3.11",
- "sane": "^2.0.0"
+ "sane": "^3.0.0"
}
},
"jest-serializer": {
- "version": "23.0.1",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz",
- "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU="
+ "version": "24.4.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.4.0.tgz",
+ "integrity": "sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q=="
},
"jest-worker": {
- "version": "23.2.0",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz",
- "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=",
+ "version": "24.0.0-alpha.6",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.0.0-alpha.6.tgz",
+ "integrity": "sha512-iXtH7MR9bjWlNnlnRBcrBRrb4cSVxML96La5vsnmBvDI+mJnkP5uEt6Fgpo5Y8f3z9y2Rd7wuPnKRxqQsiU/dA==",
"requires": {
"merge-stream": "^1.0.1"
}
},
- "js-levenshtein": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
- "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g=="
- },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -5051,12 +3711,6 @@
"esprima": "^4.0.0"
}
},
- "jsc-android": {
- "version": "224109.1.0",
- "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-224109.1.0.tgz",
- "integrity": "sha512-mhALFynePc/wJsUt9BJuH13mSK/dGWtBO/pcYwVV1I0A7iduyqy3fSoAt1b0yI+/B3TzlGyue/gqjPxsqG1HRQ==",
- "dev": true
- },
"jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -5067,11 +3721,6 @@
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
},
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- },
"json-stable-stringify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
@@ -5089,9 +3738,9 @@
}
},
"jsonfile": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
- "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"requires": {
"graceful-fs": "^4.1.6"
}
@@ -5108,9 +3757,12 @@
"dev": true
},
"kind-of": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
- "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ="
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
},
"klaw": {
"version": "1.3.1",
@@ -5137,24 +3789,14 @@
"parse-json": "^2.2.0",
"pify": "^2.0.0",
"strip-bom": "^3.0.0"
- }
- },
- "loader-utils": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
- "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^2.0.0",
- "json5": "^1.0.1"
},
"dependencies": {
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"requires": {
- "minimist": "^1.2.0"
+ "error-ex": "^1.2.0"
}
}
}
@@ -5178,32 +3820,12 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
},
- "lodash.filter": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz",
- "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4="
- },
"lodash.get": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
"dev": true
},
- "lodash.map": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz",
- "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM="
- },
- "lodash.mapvalues": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
- "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw="
- },
- "lodash.omit": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
- "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA="
- },
"lodash.pad": {
"version": "4.5.1",
"resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz",
@@ -5219,21 +3841,11 @@
"resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz",
"integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs="
},
- "lodash.pick": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
- "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM="
- },
"lodash.throttle": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
"integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ="
},
- "lodash.zipobject": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lodash.zipobject/-/lodash.zipobject-4.1.3.tgz",
- "integrity": "sha1-s5n1q6j/YqdG9peb8gshT5ZNvvg="
- },
"lolex": {
"version": "2.7.5",
"resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.5.tgz",
@@ -5243,8 +3855,7 @@
"long": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
- "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==",
- "dev": true
+ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
},
"loose-envify": {
"version": "1.4.0",
@@ -5254,22 +3865,6 @@
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
- "lottie-ios": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/lottie-ios/-/lottie-ios-2.5.3.tgz",
- "integrity": "sha512-oBtLkPJ4JkaUqUTOsmFPbSK2/fW6iBezcH5UKBgODaGMpZXCjogArXcvmG7KRNEnPiYMhgqSCKd8tDyDrwQp7Q=="
- },
- "lottie-react-native": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/lottie-react-native/-/lottie-react-native-2.5.0.tgz",
- "integrity": "sha1-BxG4s0vsd0FVLCS3Hv09TKs0dXE=",
- "requires": {
- "invariant": "^2.2.2",
- "lottie-ios": "^2.5.0",
- "prop-types": "^15.5.10",
- "react-native-safe-module": "^1.1.0"
- }
- },
"lru-cache": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
@@ -5321,14 +3916,6 @@
"resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
"integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A=="
},
- "md5-file": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-3.2.3.tgz",
- "integrity": "sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==",
- "requires": {
- "buffer-alloc": "^1.1.0"
- }
- },
"md5.js": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
@@ -5361,9 +3948,9 @@
}
},
"metro": {
- "version": "0.45.6",
- "resolved": "https://registry.npmjs.org/metro/-/metro-0.45.6.tgz",
- "integrity": "sha512-+RinU6Qcea/zX9xxfrgmeFBwJ3tsdgLyBJm4tQOmusU4kE8YEE4LQ3IGG60qk3wzYloflMB/8ilIGG4Z/gz2Ew==",
+ "version": "0.51.1",
+ "resolved": "https://registry.npmjs.org/metro/-/metro-0.51.1.tgz",
+ "integrity": "sha512-nM0dqn8LQlMjhChl2fzTUq2EWiUebZM7nkesD9vQe47W10bj/tbRLPiIIAxht6SRDbPd/hRA+t39PxLhPSKEKg==",
"requires": {
"@babel/core": "^7.0.0",
"@babel/generator": "^7.0.0",
@@ -5374,30 +3961,32 @@
"@babel/types": "^7.0.0",
"absolute-path": "^0.0.0",
"async": "^2.4.0",
- "babel-preset-fbjs": "2.3.0",
- "chalk": "^1.1.1",
+ "babel-preset-fbjs": "^3.0.1",
+ "buffer-crc32": "^0.2.13",
+ "chalk": "^2.4.1",
"concat-stream": "^1.6.0",
"connect": "^3.6.5",
"debug": "^2.2.0",
"denodeify": "^1.2.1",
"eventemitter3": "^3.0.0",
- "fbjs": "0.8.17",
+ "fbjs": "^1.0.0",
"fs-extra": "^1.0.0",
"graceful-fs": "^4.1.3",
"image-size": "^0.6.0",
- "jest-docblock": "23.2.0",
- "jest-haste-map": "23.5.0",
- "jest-worker": "23.2.0",
+ "invariant": "^2.2.4",
+ "jest-haste-map": "24.0.0-alpha.6",
+ "jest-worker": "24.0.0-alpha.6",
"json-stable-stringify": "^1.0.1",
"lodash.throttle": "^4.1.1",
"merge-stream": "^1.0.1",
- "metro-cache": "0.45.6",
- "metro-config": "0.45.6",
- "metro-core": "0.45.6",
- "metro-minify-uglify": "0.45.6",
- "metro-react-native-babel-preset": "0.45.6",
- "metro-resolver": "0.45.6",
- "metro-source-map": "0.45.6",
+ "metro-babel-transformer": "0.51.1",
+ "metro-cache": "0.51.1",
+ "metro-config": "0.51.1",
+ "metro-core": "0.51.1",
+ "metro-minify-uglify": "0.51.1",
+ "metro-react-native-babel-preset": "0.51.1",
+ "metro-resolver": "0.51.1",
+ "metro-source-map": "0.51.1",
"mime-types": "2.1.11",
"mkdirp": "^0.5.1",
"node-fetch": "^2.2.0",
@@ -5411,48 +4000,15 @@
"throat": "^4.1.0",
"wordwrap": "^1.0.0",
"write-file-atomic": "^1.2.0",
- "ws": "^1.1.0",
+ "ws": "^1.1.5",
"xpipe": "^1.0.5",
"yargs": "^9.0.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "metro-babel7-plugin-react-transform": {
- "version": "0.45.6",
- "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.45.6.tgz",
- "integrity": "sha512-NsVKqiBaF+Tm3FXzqiEExl9iJG+EimbpQP5h9ygxBE4AsYRc2S3X/YD/1ds3RTHMgfhinWVaus+DrG5OqK5mTA==",
- "requires": {
- "@babel/helper-module-imports": "^7.0.0"
- }
- },
"metro-react-native-babel-preset": {
- "version": "0.45.6",
- "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.45.6.tgz",
- "integrity": "sha512-qh+iXlV2tDfvHYbhh1meihxnzXXXB8nF1fi8z2HFxqYDkFBM48XewXO6mLz97PL8lmuTGvX/2dYVuFtriENw1w==",
+ "version": "0.51.1",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.51.1.tgz",
+ "integrity": "sha512-e9tsYDFhU70gar0jQWcZXRPJVCv4k7tEs6Pm74wXO2OO/T1MEumbvniDIGwGG8bG8RUnYdHhjcaiub2Vc5BRWw==",
"requires": {
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-export-default-from": "^7.0.0",
@@ -5479,6 +4035,7 @@
"@babel/plugin-transform-react-jsx": "^7.0.0",
"@babel/plugin-transform-react-jsx-source": "^7.0.0",
"@babel/plugin-transform-regenerator": "^7.0.0",
+ "@babel/plugin-transform-runtime": "^7.0.0",
"@babel/plugin-transform-shorthand-properties": "^7.0.0",
"@babel/plugin-transform-spread": "^7.0.0",
"@babel/plugin-transform-sticky-regex": "^7.0.0",
@@ -5486,7 +4043,7 @@
"@babel/plugin-transform-typescript": "^7.0.0",
"@babel/plugin-transform-unicode-regex": "^7.0.0",
"@babel/template": "^7.0.0",
- "metro-babel7-plugin-react-transform": "0.45.6",
+ "metro-babel7-plugin-react-transform": "0.51.1",
"react-transform-hmr": "^1.0.4"
}
},
@@ -5497,53 +4054,18 @@
},
"mime-types": {
"version": "2.1.11",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz",
- "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=",
- "requires": {
- "mime-db": "~1.23.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "node-fetch": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.5.0.tgz",
- "integrity": "sha512-YuZKluhWGJwCcUu4RlZstdAxr8bFfOVHakc1mplwHkk8J+tqM1Y5yraYvIUpeX8aY7+crCwiELJq7Vl0o0LWXw=="
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- },
- "yargs": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
- "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz",
+ "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=",
"requires": {
- "camelcase": "^4.1.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^2.0.0",
- "read-pkg-up": "^2.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^7.0.0"
+ "mime-db": "~1.23.0"
}
}
}
},
"metro-babel-register": {
- "version": "0.45.6",
- "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.45.6.tgz",
- "integrity": "sha512-Io8JinYIzGcXiTaO7o0DGw8wFcAiITTb7mLh3lbuJd9PndbPOo+jhrHkTsNtXc9MRHiT4KbEheXJ/QoeLKJK/Q==",
+ "version": "0.51.0",
+ "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.51.0.tgz",
+ "integrity": "sha512-rhdvHFOZ7/ub019A3+aYs8YeLydb02/FAMsKr2Nz2Jlf6VUxWrMnrcT0NYX16F9TGdi2ulRlJ9dwvUmdhkk+Bw==",
"requires": {
"@babel/core": "^7.0.0",
"@babel/plugin-proposal-class-properties": "^7.0.0",
@@ -5557,73 +4079,83 @@
"@babel/register": "^7.0.0",
"core-js": "^2.2.2",
"escape-string-regexp": "^1.0.5"
- },
- "dependencies": {
- "core-js": {
- "version": "2.6.5",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz",
- "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A=="
- }
+ }
+ },
+ "metro-babel-transformer": {
+ "version": "0.51.1",
+ "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.51.1.tgz",
+ "integrity": "sha512-+tOnZZzOzufB86ASdfimUEGB1jBKsdsVpPdjNJZkueTFyvYlGqWDQKHM1w9bwKMeM/czPQ48Y6m8Bou6le0X4w==",
+ "requires": {
+ "@babel/core": "^7.0.0"
}
},
"metro-babel7-plugin-react-transform": {
- "version": "0.49.2",
- "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.49.2.tgz",
- "integrity": "sha512-LpJT8UvqF/tvVqEwiLUTMjRPhEGdI8e2dr3424XaRANba3j0nqmrbKdJQsPE8TrcqMWR4RHmfsXk0ti5QrEvJg==",
+ "version": "0.51.1",
+ "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.51.1.tgz",
+ "integrity": "sha512-wzn4X9KgmAMZ7Bi6v9KxA7dw+AHGL0RODPxU5NDJ3A6d0yERvzfZ3qkzWhz8jbFkVBK12cu5DTho3HBazKQDOw==",
"requires": {
"@babel/helper-module-imports": "^7.0.0"
}
},
"metro-cache": {
- "version": "0.45.6",
- "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.45.6.tgz",
- "integrity": "sha512-v7q2pLsI7oABEjpwPJwTd7ufwKvpctVOddcffI/2hRhuJC/seLlqkRt7kv+Q/WfaR9X4KLcEoIjZmgNy4cw1ag==",
+ "version": "0.51.1",
+ "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.51.1.tgz",
+ "integrity": "sha512-0m1+aicsw77LVAehNuTxDpE1c/7Xv/ajRD+UL/lFCWUxnrjSbxVtIKr8l5DxEY11082c1axVRuaV9e436W+eXg==",
"requires": {
- "jest-serializer": "23.0.1",
- "metro-core": "0.45.6",
+ "jest-serializer": "24.0.0-alpha.6",
+ "metro-core": "0.51.1",
"mkdirp": "^0.5.1",
"rimraf": "^2.5.4"
+ },
+ "dependencies": {
+ "jest-serializer": {
+ "version": "24.0.0-alpha.6",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.0.0-alpha.6.tgz",
+ "integrity": "sha512-IPA5T6/GhlE6dedSk7Cd7YfuORnYjN0VD5iJVFn1Q81RJjpj++Hen5kJbKcg547vXsQ1TddV15qOA/zeIfOCLw=="
+ }
}
},
"metro-config": {
- "version": "0.45.6",
- "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.45.6.tgz",
- "integrity": "sha512-ZhVtkpXhOi+qWi7vdE3HGIhyyBT1wtIukQuxTMwLTUluv2/1DClo/uX9inmf++CmOhOpU7QpqrMzl6vf+AwnOg==",
+ "version": "0.51.1",
+ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.51.1.tgz",
+ "integrity": "sha512-WCNd0tTI9gb/ubgTqK1+ljZL4b3hsXVinsOAtep4nHiVb6DSDdbO2yXDD2rpYx3NE6hDRMFS9HHg6G0139pAqQ==",
"requires": {
"cosmiconfig": "^5.0.5",
- "metro": "0.45.6",
- "metro-cache": "0.45.6",
- "metro-core": "0.45.6"
+ "metro": "0.51.1",
+ "metro-cache": "0.51.1",
+ "metro-core": "0.51.1",
+ "pretty-format": "24.0.0-alpha.6"
}
},
"metro-core": {
- "version": "0.45.6",
- "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.45.6.tgz",
- "integrity": "sha512-M0YkGnkjStdCsSNYVW+aVlJ4WjwcqjIhQV+VzEnGZYdyo6cMi9MxUZ69iV2jIxd3LAeaQQaNe8OQtQp8dfIh/g==",
+ "version": "0.51.1",
+ "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.51.1.tgz",
+ "integrity": "sha512-sG1yACjdFqmIzZN50HqLTKUMp1oy0AehHhmIuYeIllo1DjX6Y2o3UAT3rGP8U+SAqJGXf/OWzl6VNyRPGDENfA==",
"requires": {
- "jest-haste-map": "23.5.0",
+ "jest-haste-map": "24.0.0-alpha.6",
"lodash.throttle": "^4.1.1",
- "metro-resolver": "0.45.6",
+ "metro-resolver": "0.51.1",
"wordwrap": "^1.0.0"
}
},
"metro-memory-fs": {
- "version": "0.45.6",
- "resolved": "https://registry.npmjs.org/metro-memory-fs/-/metro-memory-fs-0.45.6.tgz",
- "integrity": "sha512-YAGoNQVTM/vl65jR/ztucAZJIk0ejD3INZT0LiISRULBt6Rxfiqa22v5GG0Enq+95vlgmt26g+auHM2nxTUInQ=="
+ "version": "0.51.1",
+ "resolved": "https://registry.npmjs.org/metro-memory-fs/-/metro-memory-fs-0.51.1.tgz",
+ "integrity": "sha512-dXVUpLPLwfQcYHd1HlqHGVzBsiwvUdT92TDSbdc10152TP+iynHBqLDWbxt0MAtd6c/QXwOuGZZ1IcX3+lv5iw=="
},
"metro-minify-uglify": {
- "version": "0.45.6",
- "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.45.6.tgz",
- "integrity": "sha512-l+lZ7Gg6CN9XddgmwAbo7zOLT2QB9a6VALXLzmvr6gB1mc6SBZwtAh+hARvdymtcr1CgbaWADZPAA+W3oQZH4g==",
+ "version": "0.51.1",
+ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.51.1.tgz",
+ "integrity": "sha512-HAqd/rFrQ6mnbqVAszDXIKTg2rqHlY9Fm8DReakgbkAeyMbF2mH3kEgtesPmTrhajdFk81UZcNSm6wxj1JMgVg==",
"requires": {
"uglify-es": "^3.1.9"
}
},
"metro-react-native-babel-preset": {
- "version": "0.49.2",
- "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.49.2.tgz",
- "integrity": "sha512-N0+4ramShYCHSAVEPUNWIZuKZskWj8/RDSoinhadHpdpHORMbMxLkexSOVHLluB+XFQ+DENLEx5oVPYwOlENBA==",
+ "version": "0.52.0",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.52.0.tgz",
+ "integrity": "sha512-Z/bWNIexZ5k4JXUjTjhmjoOpF1Cil+eEm1PNh4TVDvO3wEE3eKajMuuJCFa/a992OSpk3wUlFwQkYl7VO6NQSg==",
+ "dev": true,
"requires": {
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-export-default-from": "^7.0.0",
@@ -5633,6 +4165,7 @@
"@babel/plugin-proposal-optional-chaining": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-syntax-export-default-from": "^7.0.0",
+ "@babel/plugin-syntax-flow": "^7.2.0",
"@babel/plugin-transform-arrow-functions": "^7.0.0",
"@babel/plugin-transform-block-scoping": "^7.0.0",
"@babel/plugin-transform-classes": "^7.0.0",
@@ -5658,22 +4191,104 @@
"@babel/plugin-transform-typescript": "^7.0.0",
"@babel/plugin-transform-unicode-regex": "^7.0.0",
"@babel/template": "^7.0.0",
- "metro-babel7-plugin-react-transform": "0.49.2",
+ "metro-babel7-plugin-react-transform": "0.52.0",
"react-transform-hmr": "^1.0.4"
+ },
+ "dependencies": {
+ "metro-babel7-plugin-react-transform": {
+ "version": "0.52.0",
+ "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.52.0.tgz",
+ "integrity": "sha512-7T3f2zmzPHy/NS6TAw4OysAwD8XDFwuEbbUXVxP38FnPjBsH+ykVWbI+Uxm7jU5bB4/u3bA/eKSRmHi6NK+jOg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0"
+ }
+ }
+ }
+ },
+ "metro-react-native-babel-transformer": {
+ "version": "0.51.0",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.51.0.tgz",
+ "integrity": "sha512-VFnqtE0qrVmU1HV9B04o53+NZHvDwR+CWCoEx4+7vCqJ9Tvas741biqCjah9xtifoKdElQELk6x0soOAWCDFJA==",
+ "requires": {
+ "@babel/core": "^7.0.0",
+ "babel-preset-fbjs": "^3.0.1",
+ "metro-babel-transformer": "0.51.0",
+ "metro-react-native-babel-preset": "0.51.0"
+ },
+ "dependencies": {
+ "metro-babel-transformer": {
+ "version": "0.51.0",
+ "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.51.0.tgz",
+ "integrity": "sha512-M7KEY/hjD3E8tJEliWgI0VOSaJtqaznC0ItM6FiMrhoGDqqa1BvGofl+EPcKqjBSOV1UgExua/T1VOIWbjwQsw==",
+ "requires": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "metro-babel7-plugin-react-transform": {
+ "version": "0.51.0",
+ "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.51.0.tgz",
+ "integrity": "sha512-dZ95kXcE2FJMoRsYhxr7YLCbOlHWKwe0bOpihRhfImDTgFfuKIzU4ROQwMUbE0NCbzB+ATFsa2FZ3pHDJ5GI0w==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.0.0"
+ }
+ },
+ "metro-react-native-babel-preset": {
+ "version": "0.51.0",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.51.0.tgz",
+ "integrity": "sha512-Y/aPeLl4RzY8IEAneOyDcpdjto/8yjIuX9eUWRngjSqdHYhGQtqiSBpfTpo0BvXpwNRLwCLHyXo58gNpckTJFw==",
+ "requires": {
+ "@babel/plugin-proposal-class-properties": "^7.0.0",
+ "@babel/plugin-proposal-export-default-from": "^7.0.0",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
+ "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.0.0",
+ "@babel/plugin-proposal-optional-chaining": "^7.0.0",
+ "@babel/plugin-syntax-dynamic-import": "^7.0.0",
+ "@babel/plugin-syntax-export-default-from": "^7.0.0",
+ "@babel/plugin-transform-arrow-functions": "^7.0.0",
+ "@babel/plugin-transform-block-scoping": "^7.0.0",
+ "@babel/plugin-transform-classes": "^7.0.0",
+ "@babel/plugin-transform-computed-properties": "^7.0.0",
+ "@babel/plugin-transform-destructuring": "^7.0.0",
+ "@babel/plugin-transform-exponentiation-operator": "^7.0.0",
+ "@babel/plugin-transform-flow-strip-types": "^7.0.0",
+ "@babel/plugin-transform-for-of": "^7.0.0",
+ "@babel/plugin-transform-function-name": "^7.0.0",
+ "@babel/plugin-transform-literals": "^7.0.0",
+ "@babel/plugin-transform-modules-commonjs": "^7.0.0",
+ "@babel/plugin-transform-object-assign": "^7.0.0",
+ "@babel/plugin-transform-parameters": "^7.0.0",
+ "@babel/plugin-transform-react-display-name": "^7.0.0",
+ "@babel/plugin-transform-react-jsx": "^7.0.0",
+ "@babel/plugin-transform-react-jsx-source": "^7.0.0",
+ "@babel/plugin-transform-regenerator": "^7.0.0",
+ "@babel/plugin-transform-runtime": "^7.0.0",
+ "@babel/plugin-transform-shorthand-properties": "^7.0.0",
+ "@babel/plugin-transform-spread": "^7.0.0",
+ "@babel/plugin-transform-sticky-regex": "^7.0.0",
+ "@babel/plugin-transform-template-literals": "^7.0.0",
+ "@babel/plugin-transform-typescript": "^7.0.0",
+ "@babel/plugin-transform-unicode-regex": "^7.0.0",
+ "@babel/template": "^7.0.0",
+ "metro-babel7-plugin-react-transform": "0.51.0",
+ "react-transform-hmr": "^1.0.4"
+ }
+ }
}
},
"metro-resolver": {
- "version": "0.45.6",
- "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.45.6.tgz",
- "integrity": "sha512-RY4tqKxSEz4ahLPaJlx30x6vG8HVyLT3w5aUDcyB5B2eQH3ckLnyUYUpd0sT7HFoJ1T5U5DFtWvS3P4yJcRB7A==",
+ "version": "0.51.1",
+ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.51.1.tgz",
+ "integrity": "sha512-zmWbD/287NDA/jLPuPV0hne/YMMSG0dljzu21TYMg2lXRLur/zROJHHhyepZvuBHgInXBi4Vhr2wvuSnY39SuA==",
"requires": {
"absolute-path": "^0.0.0"
}
},
"metro-source-map": {
- "version": "0.45.6",
- "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.45.6.tgz",
- "integrity": "sha512-FBubSEEitGrvUeuCPVwXTJX7Y1WjFhsUHickqQE+mXplOgREyeZ7o80ffqEWitfsMUQN9385LxIPmAdPzQXLsQ==",
+ "version": "0.51.1",
+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.51.1.tgz",
+ "integrity": "sha512-JyrE+RV4YumrboHPHTGsUUGERjQ681ImRLrSYDGcmNv4tfpk9nvAK26UAas4IvBYFCC9oW90m0udt3kaQGv59Q==",
"requires": {
"source-map": "^0.5.6"
}
@@ -5696,24 +4311,6 @@
"object.omit": "^2.0.0",
"parse-glob": "^3.0.4",
"regex-cache": "^0.4.2"
- },
- "dependencies": {
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
- "requires": {
- "arr-flatten": "^1.0.1"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
}
},
"miller-rabin": {
@@ -5726,9 +4323,9 @@
}
},
"mime": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.2.tgz",
- "integrity": "sha512-zJBfZDkwRu+j3Pdd2aHsR5GfH2jIWhmL1ZzBoc+X+3JEti2hbArWcyJ+1laC1D2/U/W1a/+Cegj0/OnEU2ybjg=="
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
},
"mime-db": {
"version": "1.40.0",
@@ -5814,14 +4411,14 @@
}
},
"mobx": {
- "version": "4.9.4",
- "resolved": "https://registry.npmjs.org/mobx/-/mobx-4.9.4.tgz",
- "integrity": "sha512-RaEpydw7D1ebp1pdFHrEMZcLk4nALAZyHAroCPQpqLzuIXIxJpLmMIe5PUZwYHqvlcWL6DVqDYCANZpPOi9iXA=="
+ "version": "4.11.0",
+ "resolved": "https://registry.npmjs.org/mobx/-/mobx-4.11.0.tgz",
+ "integrity": "sha512-S73IMAAE7gR5Lyy1xmuoWC/AXddeeH2Ey1HMv/DAKXBtVwOMNYWYnRa4aa6g6rsD/OwIItQcDGKUNM7Xjj8H0Q=="
},
"mobx-react": {
- "version": "5.4.3",
- "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-5.4.3.tgz",
- "integrity": "sha512-WC8yFlwvJ91hy8j6CrydAuFteUafcuvdITFQeHl3LRIf5ayfT/4W3M/byhEYD2BcJWejeXr8y4Rh2H26RunCRQ==",
+ "version": "5.4.4",
+ "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-5.4.4.tgz",
+ "integrity": "sha512-2mTzpyEjVB/RGk2i6KbcmP4HWcAUFox5ZRCrGvSyz49w20I4C4qql63grPpYrS9E9GKwgydBHQlA4y665LuRCQ==",
"requires": {
"hoist-non-react-statics": "^3.0.0",
"react-lifecycles-compat": "^3.0.2"
@@ -5837,19 +4434,6 @@
}
}
},
- "moment": {
- "version": "2.24.0",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
- "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
- },
- "moment-timezone": {
- "version": "0.5.25",
- "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.25.tgz",
- "integrity": "sha512-DgEaTyN/z0HFaVcVbSyVCUU6HeFdnNC3vE4c9cgu2dgMTvjBUBdBzWfasTBmAW45u5OIMeCJtU8yNjM22DHucw==",
- "requires": {
- "moment": ">= 2.9.0"
- }
- },
"morgan": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz",
@@ -5860,27 +4444,12 @@
"depd": "~1.1.2",
"on-finished": "~2.3.0",
"on-headers": "~1.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
}
},
"ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"mute-stream": {
"version": "0.0.7",
@@ -5888,9 +4457,9 @@
"integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
},
"nan": {
- "version": "2.13.2",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz",
- "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==",
+ "version": "2.14.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
+ "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
"optional": true
},
"nanomatch": {
@@ -5921,23 +4490,6 @@
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
},
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- },
"kind-of": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
@@ -5956,26 +4508,30 @@
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
},
"nise": {
- "version": "1.4.10",
- "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.10.tgz",
- "integrity": "sha512-sa0RRbj53dovjc7wombHmVli9ZihXbXCQ2uH3TNm03DyvOSIQbxg+pbqDKrk2oxMK1rtLGVlKxcB9rrc6X5YjA==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/nise/-/nise-1.5.0.tgz",
+ "integrity": "sha512-Z3sfYEkLFzFmL8KY6xnSJLRxwQwYBjOXi/24lb62ZnZiGA0JUzGGTI6TBIgfCSMIDl9Jlu8SRmHNACLTemDHww==",
"dev": true,
"requires": {
"@sinonjs/formatio": "^3.1.0",
"@sinonjs/text-encoding": "^0.7.1",
"just-extend": "^4.0.2",
- "lolex": "^2.3.2",
+ "lolex": "^4.1.0",
"path-to-regexp": "^1.7.0"
+ },
+ "dependencies": {
+ "lolex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.1.0.tgz",
+ "integrity": "sha512-BYxIEXiVq5lGIXeVHnsFzqa1TxN5acnKnPCdlZSpzm8viNEOhiigupA4vTQ9HEFQ6nLTQ9wQOgBknJgzUYQ9Aw==",
+ "dev": true
+ }
}
},
"node-fetch": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
- "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
- "requires": {
- "encoding": "^0.1.11",
- "is-stream": "^1.0.1"
- }
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
+ "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
},
"node-int64": {
"version": "0.4.0",
@@ -6011,10 +4567,10 @@
"util": "^0.10.3"
},
"dependencies": {
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+ "path-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo="
}
}
},
@@ -6035,19 +4591,6 @@
"which": "^1.3.0"
}
},
- "node-releases": {
- "version": "1.1.19",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.19.tgz",
- "integrity": "sha512-SH/B4WwovHbulIALsQllAVwqZZD1kPmKCqrhGfR29dXjLAVZMHvBjD3S6nL9D/J9QkmZ1R92/0wCMDKXUUvyyA==",
- "requires": {
- "semver": "^5.3.0"
- }
- },
- "noop-fn": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/noop-fn/-/noop-fn-1.0.0.tgz",
- "integrity": "sha1-XzPUfxPSFQ35PgywNmmemC94/78="
- },
"normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
@@ -6117,14 +4660,6 @@
"requires": {
"is-descriptor": "^0.1.0"
}
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
}
}
},
@@ -6235,11 +4770,6 @@
"resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
"integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
},
- "os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
- },
"os-locale": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
@@ -6248,6 +4778,37 @@
"execa": "^0.7.0",
"lcid": "^1.0.0",
"mem": "^1.1.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "execa": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+ "requires": {
+ "cross-spawn": "^5.0.1",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
+ }
}
},
"os-tmpdir": {
@@ -6311,11 +4872,12 @@
}
},
"parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
"requires": {
- "error-ex": "^1.2.0"
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
}
},
"parse-node-version": {
@@ -6334,9 +4896,9 @@
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
},
"path-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
- "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo="
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.0.tgz",
+ "integrity": "sha512-Hkavx/nY4/plImrZPHRk2CL9vpOymZLgEbMNX1U0bjcBL7QN9wODxyx0yaMZURSQaUtSEvDrfAvxa9oPb0at9g=="
},
"path-exists": {
"version": "3.0.0",
@@ -6389,11 +4951,6 @@
"create-hmac": "^1.1.2"
}
},
- "pegjs": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz",
- "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0="
- },
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
@@ -6455,14 +5012,6 @@
}
}
},
- "pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
- "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
- "requires": {
- "find-up": "^2.1.0"
- }
- },
"plist": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
@@ -6483,6 +5032,35 @@
"arr-diff": "^1.0.1",
"arr-union": "^2.0.1",
"extend-shallow": "^1.1.2"
+ },
+ "dependencies": {
+ "arr-diff": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz",
+ "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=",
+ "requires": {
+ "arr-flatten": "^1.0.1",
+ "array-slice": "^0.2.3"
+ }
+ },
+ "arr-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz",
+ "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0="
+ },
+ "extend-shallow": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz",
+ "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=",
+ "requires": {
+ "kind-of": "^1.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
+ "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ="
+ }
}
},
"posix-character-classes": {
@@ -6490,29 +5068,32 @@
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
},
- "pouchdb-collections": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/pouchdb-collections/-/pouchdb-collections-1.0.1.tgz",
- "integrity": "sha1-/mOhfal3YRq+98uAJssalVP9g1k="
- },
"preserve": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
"integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks="
},
"pretty-format": {
- "version": "23.6.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz",
- "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==",
+ "version": "24.0.0-alpha.6",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.0.0-alpha.6.tgz",
+ "integrity": "sha512-zG2m6YJeuzwBFqb5EIdmwYVf30sap+iMRuYNPytOccEXZMAJbPIFGKVJ/U0WjQegmnQbRo9CI7j6j3HtDaifiA==",
"requires": {
- "ansi-regex": "^3.0.0",
+ "ansi-regex": "^4.0.0",
"ansi-styles": "^3.2.0"
},
"dependencies": {
"ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
}
}
},
@@ -6522,14 +5103,14 @@
"integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
},
"process": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
- "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8="
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
},
"process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"promise": {
"version": "7.3.1",
@@ -6553,7 +5134,6 @@
"version": "6.8.8",
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz",
"integrity": "sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw==",
- "dev": true,
"requires": {
"@protobufjs/aspromise": "^1.1.2",
"@protobufjs/base64": "^1.1.2",
@@ -6568,14 +5148,6 @@
"@types/long": "^4.0.0",
"@types/node": "^10.1.0",
"long": "^4.0.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "10.14.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.6.tgz",
- "integrity": "sha512-Fvm24+u85lGmV4hT5G++aht2C5I4Z4dYlWZIh62FAfFO/TfzXtPpoLI6I7AuBWkIFqZCnhFOoTT7RjjaIL5Fjg==",
- "dev": true
- }
}
},
"pseudomap": {
@@ -6596,6 +5168,15 @@
"safe-buffer": "^5.1.2"
}
},
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
@@ -6606,15 +5187,10 @@
"resolved": "https://registry.npmjs.org/qr-image/-/qr-image-3.2.0.tgz",
"integrity": "sha1-n6gpW+rlDEoUnPn5CaHbRkqGcug="
},
- "qs": {
- "version": "6.7.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
- },
"query-string": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.5.0.tgz",
- "integrity": "sha512-TYC4hDjZSvVxLMEucDMySkuAS9UIzSbAiYGyA9GWCjLKB8fQpviFbjd20fD7uejCDxZS+ftSdBKE6DS+xucJFg==",
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.8.0.tgz",
+ "integrity": "sha512-CVpZPN0xDUfmoT7qlDbbx/2jNjk43LW3Ayjy7E2BjOQNlL8L/hqhihUpv/XPu/w3H/LBjlZ7OXP8x/QEnuxTtA==",
"requires": {
"decode-uri-component": "^0.2.0",
"split-on-first": "^1.0.0",
@@ -6631,6 +5207,11 @@
"resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
"integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
},
+ "querystringify": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
+ "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA=="
+ },
"randomatic": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
@@ -6667,14 +5248,14 @@
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
},
"react": {
- "version": "16.5.0",
- "resolved": "https://registry.npmjs.org/react/-/react-16.5.0.tgz",
- "integrity": "sha512-nw/yB/L51kA9PsAy17T1JrzzGRk+BlFCJwFF7p+pwVxgqwPjYNeZEkkH7LXn9dmflolrYMXLWMTkQ77suKPTNQ==",
+ "version": "16.8.3",
+ "resolved": "https://registry.npmjs.org/react/-/react-16.8.3.tgz",
+ "integrity": "sha512-3UoSIsEq8yTJuSu0luO1QQWYbgGEILm+eJl2QN/VLDi7hL+EN18M3q3oVZwmVzzBJ3DkM7RMdRwBmZZ+b4IzSA==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
- "schedule": "^0.3.0"
+ "scheduler": "^0.13.3"
}
},
"react-clone-referenced-element": {
@@ -6688,9 +5269,9 @@
"integrity": "sha512-WUSQJ4P/wWcusaH+zZmbECOk7H5N2pOIl0vzheeornkIMhu+qrNdGFm0bDZLCb0hSF0jf/kH1SgkNGfBdTc4wA=="
},
"react-devtools-core": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.3.4.tgz",
- "integrity": "sha512-6lsBDRInT9jU8Ya8bnKWJSsnaGg/xk1ZSfvhc/dHc3n2CUTMfGlqm2tGeZQ9WEoe0Y2K7Lg90Kvb1E8anLePaQ==",
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.6.1.tgz",
+ "integrity": "sha512-I/LSX+tpeTrGKaF1wXSfJ/kP+6iaP2JfshEjW8LtQBdz6c6HhzOJtjZXhqOUrAdysuey8M1/JgPY1flSVVt8Ig==",
"requires": {
"shell-quote": "^1.6.1",
"ws": "^3.3.1"
@@ -6724,34 +5305,35 @@
"integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
},
"react-native": {
- "version": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",
- "integrity": "sha512-+taJh7bN2owmwaZpJUrNpHdmPAL6ZynNCZj15uLQgjaPFq0ZBIG2ZWuSJ48eGoUjAb3lrWxkmLlHb2eJFXc7sQ==",
+ "version": "0.59.8",
+ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.59.8.tgz",
+ "integrity": "sha512-x1T+/pEXrjgdH9uDzd5doJy5aFlBqW04j7ljDKIGALchhnvdFbtXXrUZ/1PfWHMrIdZxtaDt4tkSttp662GSQA==",
"requires": {
+ "@babel/runtime": "^7.0.0",
+ "@react-native-community/cli": "^1.2.1",
"absolute-path": "^0.0.0",
"art": "^0.10.0",
"base64-js": "^1.1.2",
- "chalk": "^1.1.1",
+ "chalk": "^2.4.1",
"commander": "^2.9.0",
"compression": "^1.7.1",
"connect": "^3.6.5",
"create-react-class": "^15.6.3",
"debug": "^2.2.0",
"denodeify": "^1.2.1",
- "envinfo": "^5.7.0",
"errorhandler": "^1.5.0",
"escape-string-regexp": "^1.0.5",
"event-target-shim": "^1.0.5",
- "fbjs": "0.8.17",
- "fbjs-scripts": "^0.8.1",
+ "fbjs": "^1.0.0",
+ "fbjs-scripts": "^1.0.0",
"fs-extra": "^1.0.0",
"glob": "^7.1.1",
"graceful-fs": "^4.1.3",
"inquirer": "^3.0.6",
+ "invariant": "^2.2.4",
"lodash": "^4.17.5",
- "metro": "^0.45.6",
- "metro-babel-register": "^0.45.6",
- "metro-core": "^0.45.6",
- "metro-memory-fs": "^0.45.6",
+ "metro-babel-register": "0.51.0",
+ "metro-react-native-babel-transformer": "0.51.0",
"mime": "^1.3.4",
"minimist": "^1.2.0",
"mkdirp": "^0.5.1",
@@ -6759,108 +5341,33 @@
"node-fetch": "^2.2.0",
"node-notifier": "^5.2.1",
"npmlog": "^2.0.4",
+ "nullthrows": "^1.1.0",
"opn": "^3.0.2",
"optimist": "^0.6.1",
"plist": "^3.0.0",
- "pretty-format": "^4.2.1",
+ "pretty-format": "24.0.0-alpha.6",
"promise": "^7.1.1",
"prop-types": "^15.5.8",
"react-clone-referenced-element": "^1.0.1",
- "react-devtools-core": "3.3.4",
- "react-timer-mixin": "^0.13.2",
+ "react-devtools-core": "^3.6.0",
"regenerator-runtime": "^0.11.0",
"rimraf": "^2.5.4",
"semver": "^5.0.3",
"serve-static": "^1.13.1",
"shell-quote": "1.6.1",
"stacktrace-parser": "^0.1.3",
- "ws": "^1.1.0",
- "xcode": "^0.9.1",
+ "ws": "^1.1.5",
"xmldoc": "^0.4.0",
"yargs": "^9.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "node-fetch": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.5.0.tgz",
- "integrity": "sha512-YuZKluhWGJwCcUu4RlZstdAxr8bFfOVHakc1mplwHkk8J+tqM1Y5yraYvIUpeX8aY7+crCwiELJq7Vl0o0LWXw=="
- },
- "pretty-format": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-4.3.1.tgz",
- "integrity": "sha1-UwvlxCs8BbNkFKeipDN6qArNDo0="
- },
- "regenerator-runtime": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- },
- "yargs": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
- "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
- "requires": {
- "camelcase": "^4.1.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^2.0.0",
- "read-pkg-up": "^2.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^7.0.0"
- }
- }
}
},
- "react-native-branch": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/react-native-branch/-/react-native-branch-2.2.5.tgz",
- "integrity": "sha1-QHTdY7SXPmOX2c5Q6XtXx3pRjp0="
+ "react-native-camera": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/react-native-camera/-/react-native-camera-2.11.0.tgz",
+ "integrity": "sha512-ay8te4nvL5mGzRjb2QMTOyJX+JfaIW/9oFjFVIkXOB9DzFipfeVTPMdwNx9GMpdmQ0muSXkuF16pa7K/1QLHlQ==",
+ "requires": {
+ "prop-types": "^15.6.2"
+ }
},
"react-native-crypto": {
"version": "2.1.2",
@@ -6886,6 +5393,25 @@
"prop-types": "15.5.10"
},
"dependencies": {
+ "core-js": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
+ },
+ "fbjs": {
+ "version": "0.8.17",
+ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
+ "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
+ "requires": {
+ "core-js": "^1.0.0",
+ "isomorphic-fetch": "^2.1.1",
+ "loose-envify": "^1.0.0",
+ "object-assign": "^4.1.0",
+ "promise": "^7.1.1",
+ "setimmediate": "^1.0.5",
+ "ua-parser-js": "^0.7.18"
+ }
+ },
"prop-types": {
"version": "15.5.10",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz",
@@ -6897,16 +5423,30 @@
}
}
},
+ "react-native-fs": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.13.3.tgz",
+ "integrity": "sha512-B62LSSAEYQGItg7KVTzTVVCxezOYFBYp4DMVFbdoZUd1mZVFdqR2sy1HY1mye1VI/Lf3IbxSyZEQ0GmrrdwLjg==",
+ "requires": {
+ "base-64": "^0.1.0",
+ "utf8": "^2.1.1"
+ }
+ },
"react-native-gesture-handler": {
- "version": "1.0.17",
- "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.17.tgz",
- "integrity": "sha512-0czy7SZvF4q2aCQUGFaBu/yBjYYEbcqSU1/r2bZ/IoXj+DgYuIPBL60SSXhJdYJU8G3brfUHmtgSdcNte8Lh0w==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.3.0.tgz",
+ "integrity": "sha512-ASRFIXBuKRvqlmwkWJhV8yP2dTpvcqVrLNpd7FKVBFHYWr6SAxjGyO9Ik8w1lAxDhMlRP2IcJ9p9eq5X2WWeLQ==",
"requires": {
"hoist-non-react-statics": "^2.3.1",
"invariant": "^2.2.2",
"prop-types": "^15.5.10"
}
},
+ "react-native-keychain": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/react-native-keychain/-/react-native-keychain-3.1.3.tgz",
+ "integrity": "sha512-eWUbjYJge4icX8FhWJk/OPlyGxPnW9bZDysBX3WwOG37iurdH692HKnM2Ih+S+0te65RytImvUrcVnHVBbumYg=="
+ },
"react-native-randombytes": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/react-native-randombytes/-/react-native-randombytes-3.5.3.tgz",
@@ -6928,75 +5468,67 @@
}
}
},
- "react-native-reanimated": {
- "version": "1.0.0-alpha.11",
- "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-1.0.0-alpha.11.tgz",
- "integrity": "sha512-lDakjY8CXmZiSN71hyc276b3d7M9mKV9ZyYw4W/rTnnJbgBFaqdIxSHq4S4LxSbVqpAoQMfUJqPTE0BKbAz7Aw=="
- },
"react-native-safe-area-view": {
- "version": "0.13.2",
- "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.13.2.tgz",
- "integrity": "sha512-UEeoHi7HXObKd111RKZa6a+aQdxLHlngfaoM3UBgeDDc+7BU7Vd54DSzFFWDL3lwFhieTSvLh6z89jHDypA9KQ==",
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.14.5.tgz",
+ "integrity": "sha512-1NxWK1G0gzwCOuyNV/zf4n18s6FWsiqgwkzU3P9C0Iu8AErjhstK1jUqpRwzLH8+/7hGLsrQedmn+ZbQTOrJPg==",
"requires": {
"hoist-non-react-statics": "^2.3.1"
}
},
- "react-native-safe-module": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/react-native-safe-module/-/react-native-safe-module-1.2.0.tgz",
- "integrity": "sha1-ojgkyiTtwpAZE2lKdmRkdRE9Vw0=",
- "requires": {
- "dedent": "^0.6.0"
- }
- },
"react-native-screens": {
"version": "1.0.0-alpha.22",
"resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-1.0.0-alpha.22.tgz",
"integrity": "sha512-kSyAt0AeVU6N7ZonfV6dP6iZF8B7Bce+tk3eujXhzBGsLg0VSLnU7uE9VqJF0xdQrHR91ZjGgVMieo/8df9KTA=="
},
"react-native-svg": {
- "version": "8.0.10",
- "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-8.0.10.tgz",
- "integrity": "sha512-gsG5GUdvlox67+ohLnq3tZSqiYBmz4M5lKKeUfnJZ8EPrMMS5ZgaVj7Zcccee1VvINS5xQaoenUJdha/GEo34w==",
- "requires": {
- "color": "^2.0.1",
- "lodash": "^4.16.6",
- "pegjs": "^0.10.0"
- }
+ "version": "9.5.1",
+ "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-9.5.1.tgz",
+ "integrity": "sha512-cRGfomzG/5LEwuJ6ct3m5yccckeI9aj8BNYwDPVxOeJ84LuJuvk5OqcjlYNeEzOWmWiH+QrFXfpLH1ag04bUeQ=="
},
"react-native-tab-view": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.4.0.tgz",
- "integrity": "sha512-YnTO4tavO0TXN1nHVQel+4IB0SYoke+moAbdsai9I5DlQ2PTtW4077Vm2N9cdN7zCb5JoWKHulyB9jtTdKR3fQ==",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.4.1.tgz",
+ "integrity": "sha512-Bke8KkDcDhvB/z0AS7MnQKMD2p6Kwfc1rSKlMOvg9CC5CnClQ2QEnhPSbwegKDYhUkBI92iH/BYy7hNSm5kbUQ==",
"requires": {
"prop-types": "^15.6.1"
}
},
- "react-native-vector-icons": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.0.0.tgz",
- "integrity": "sha512-uF3oWb3TV42uXi2apVOZHw9oy9Nr5SXDVwOo1umQWo/yYCrDzXyVfq14DzezgEbJ9jfc/yghBelj0agkXmOKlg==",
- "requires": {
- "lodash": "^4.0.0",
- "prop-types": "^15.6.2",
- "yargs": "^8.0.2"
+ "react-native-unimodules": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/react-native-unimodules/-/react-native-unimodules-0.4.0.tgz",
+ "integrity": "sha512-GbaBjq/jj7avF7DSQ8GBQp91pO4op6mjKm8JvhsslRv9S5EkHegn/GUbOhDxp0LJ+Yil8YwqXSOc7AW90eNt2g==",
+ "requires": {
+ "@unimodules/core": "~2.0.0",
+ "@unimodules/react-native-adapter": "~2.0.0",
+ "chalk": "^2.4.2",
+ "expo-app-loader-provider": "~5.0.0",
+ "expo-asset": "~5.0.0",
+ "expo-constants": "~5.0.0",
+ "expo-file-system": "~5.0.0",
+ "expo-permissions": "~5.0.0",
+ "unimodules-barcode-scanner-interface": "~2.0.0",
+ "unimodules-camera-interface": "~2.0.0",
+ "unimodules-constants-interface": "~2.0.0",
+ "unimodules-face-detector-interface": "~2.0.0",
+ "unimodules-file-system-interface": "~2.0.0",
+ "unimodules-font-interface": "~2.0.0",
+ "unimodules-image-loader-interface": "~2.0.0",
+ "unimodules-permissions-interface": "~2.0.0",
+ "unimodules-sensors-interface": "~2.0.0",
+ "unimodules-task-manager-interface": "~2.0.0"
}
},
- "react-native-view-shot": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/react-native-view-shot/-/react-native-view-shot-2.5.0.tgz",
- "integrity": "sha512-xFJA+N7wh8Ik/17I4QB24e0a0L3atg1ScVehvtYR5UBTgHdzTFA0ZylvXp9gkZt7V+AT5Pni0H3NQItpqSKFoQ=="
- },
"react-navigation": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-3.9.1.tgz",
- "integrity": "sha512-4rUQXGT0yvLb9yX9NDuKdrXb/NcAPGUHDTlto8Fg4Tm23uuyBBSrDVStqC59rUM4JcoQnRqhenN2wXGvWE+WYA==",
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-3.11.0.tgz",
+ "integrity": "sha512-wlPcDtNiIdPeYxNQ/MN4arY5Xe9EphD2QVpRuvvuPWW+BamF3AJaIy060r3Yz59DODAoWllscabat/yqnih8Tg==",
"requires": {
"@react-navigation/core": "~3.4.1",
- "@react-navigation/native": "~3.4.0",
- "react-navigation-drawer": "1.2.1",
- "react-navigation-stack": "1.3.0",
- "react-navigation-tabs": "1.1.2"
+ "@react-navigation/native": "~3.5.0",
+ "react-navigation-drawer": "~1.2.1",
+ "react-navigation-stack": "~1.4.0",
+ "react-navigation-tabs": "~1.1.4"
}
},
"react-navigation-drawer": {
@@ -7008,19 +5540,19 @@
}
},
"react-navigation-stack": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/react-navigation-stack/-/react-navigation-stack-1.3.0.tgz",
- "integrity": "sha512-ouyD1GkRksJSGuvAuqrJnlJnZ5g2g/+/WB/MTa8BzjSBvyOgruD5TrmEkpViCOMr1R17C8D4Htln90H4D+NV3Q=="
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/react-navigation-stack/-/react-navigation-stack-1.4.0.tgz",
+ "integrity": "sha512-zEe9wCA0Ot8agarYb//0nSWYW1GM+1R0tY/nydUV0EizeJ27At0EklYVWvYEuYU6C48va6cu8OPL7QD/CcJACw=="
},
"react-navigation-tabs": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.1.2.tgz",
- "integrity": "sha512-D4fecSwZfvNh5WHTURmUVrNSgy3tiNfID0n5eKTOhCz4Sls4EM2l27UTX833ngxXhQ1FqRtBxzQZ+Dp1FWJ1pw==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.1.4.tgz",
+ "integrity": "sha512-py2hLCRxPwXOzmY1W9XcY1rWXxdK6RGW/aXh56G9gIf8cpHNDhy/bJV4e46/JrVcse3ybFaN0liT09/DM/NdwQ==",
"requires": {
"hoist-non-react-statics": "^2.5.0",
"prop-types": "^15.6.1",
"react-lifecycles-compat": "^3.0.4",
- "react-native-tab-view": "^1.3.4"
+ "react-native-tab-view": "^1.4.1"
}
},
"react-proxy": {
@@ -7032,10 +5564,29 @@
"react-deep-force-update": "^1.0.0"
}
},
- "react-timer-mixin": {
- "version": "0.13.4",
- "resolved": "https://registry.npmjs.org/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz",
- "integrity": "sha512-4+ow23tp/Tv7hBM5Az5/Be/eKKF7DIvJ09voz5LyHGQaqqz9WV8YMs31eFvcYQs7d451LSg7kDJV70XYN/Ug/Q=="
+ "react-test-renderer": {
+ "version": "16.6.3",
+ "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.6.3.tgz",
+ "integrity": "sha512-B5bCer+qymrQz/wN03lT0LppbZUDRq6AMfzMKrovzkGzfO81a9T+PWQW6MzkWknbwODQH/qpJno/yFQLX5IWrQ==",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.6.2",
+ "react-is": "^16.6.3",
+ "scheduler": "^0.11.2"
+ },
+ "dependencies": {
+ "scheduler": {
+ "version": "0.11.3",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.3.tgz",
+ "integrity": "sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ }
+ }
+ }
},
"react-transform-hmr": {
"version": "1.0.4",
@@ -7077,16 +5628,6 @@
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
- },
- "dependencies": {
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
}
},
"regenerate": {
@@ -7103,14 +5644,14 @@
}
},
"regenerator-runtime": {
- "version": "0.13.2",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz",
- "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA=="
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
},
"regenerator-transform": {
- "version": "0.13.4",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.4.tgz",
- "integrity": "sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A==",
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.0.tgz",
+ "integrity": "sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w==",
"requires": {
"private": "^0.1.6"
}
@@ -7130,32 +5671,8 @@
"requires": {
"extend-shallow": "^3.0.2",
"safe-regex": "^1.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
}
},
- "regexp-tree": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.6.tgz",
- "integrity": "sha512-LFrA98Dw/heXqDojz7qKFdygZmFoiVlvE1Zp7Cq2cvF+ZA+03Gmhy0k0PQlsC1jvHPiTUSs+pDHEuSWv6+6D7w=="
- },
"regexpu-core": {
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz",
@@ -7204,14 +5721,6 @@
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
},
- "repeating": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
- "requires": {
- "is-finite": "^1.0.0"
- }
- },
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -7222,15 +5731,15 @@
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
},
- "reselect": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz",
- "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc="
+ "requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"resolve": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz",
- "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz",
+ "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==",
"requires": {
"path-parse": "^1.0.6"
}
@@ -7281,11 +5790,6 @@
"resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz",
"integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw=="
},
- "rtl-detect": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.2.tgz",
- "integrity": "sha512-5X1422hvphzg2a/bo4tIDbjFjbJUOaPZwqE6dnyyxqwFqfR+tBcvfqapJr0o0VygATVCGKiODEewhZtKF+90AA=="
- },
"run-async": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
@@ -7326,13 +5830,14 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sane": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz",
- "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/sane/-/sane-3.1.0.tgz",
+ "integrity": "sha512-G5GClRRxT1cELXfdAq7UKtUsv8q/ZC5k8lQGmjEm4HcAl3HzBy68iglyNCmw4+0tiXPCBZntslHlRhbnsSws+Q==",
"requires": {
"anymatch": "^2.0.0",
"capture-exit": "^1.2.0",
"exec-sh": "^0.2.0",
+ "execa": "^1.0.0",
"fb-watchman": "^2.0.0",
"fsevents": "^1.2.3",
"micromatch": "^3.1.4",
@@ -7378,14 +5883,6 @@
}
}
},
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
"expand-brackets": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@@ -7469,25 +5966,6 @@
}
}
},
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
"extglob": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
@@ -7615,11 +6093,6 @@
"snapdragon": "^0.8.1",
"to-regex": "^3.0.2"
}
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
},
@@ -7628,24 +6101,15 @@
"resolved": "https://registry.npmjs.org/sax/-/sax-1.1.6.tgz",
"integrity": "sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA="
},
- "schedule": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/schedule/-/schedule-0.3.0.tgz",
- "integrity": "sha512-20+1KVo517sR7Nt+bYBN8a+bEJDKLPEx7Ohtts1kX05E4/HY53YUNuhfkVNItmWAnBYHcpG9vsd2/CJxG+aPCQ==",
+ "scheduler": {
+ "version": "0.13.6",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz",
+ "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==",
"requires": {
+ "loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
}
},
- "schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
- "requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- }
- },
"semver": {
"version": "5.7.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
@@ -7671,30 +6135,10 @@
"statuses": "~1.5.0"
},
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
- },
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
}
}
},
@@ -7794,50 +6238,13 @@
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
},
"simple-plist": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.2.1.tgz",
- "integrity": "sha1-cXZts1IyaSjPOoByQrp2IyJjZyM=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.0.0.tgz",
+ "integrity": "sha512-043L2rO80LVF7zfZ+fqhsEkoJFvW8o59rt/l4ctx1TJWoTx7/jkiS1R5TatD15Z1oYnuLJytzE7gcnnBuIPL2g==",
"requires": {
"bplist-creator": "0.0.7",
"bplist-parser": "0.1.1",
- "plist": "2.0.1"
- },
- "dependencies": {
- "base64-js": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.1.2.tgz",
- "integrity": "sha1-1kAMrBxMZgl22Q0HoENR2JOV9eg="
- },
- "plist": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/plist/-/plist-2.0.1.tgz",
- "integrity": "sha1-CjLKlIGxw2TpLhjcVch23p0B2os=",
- "requires": {
- "base64-js": "1.1.2",
- "xmlbuilder": "8.2.2",
- "xmldom": "0.1.x"
- }
- },
- "xmlbuilder": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
- "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M="
- }
- }
- },
- "simple-swizzle": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
- "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
- "requires": {
- "is-arrayish": "^0.3.1"
- },
- "dependencies": {
- "is-arrayish": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
- "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
- }
+ "plist": "^3.0.1"
}
},
"sinon": {
@@ -7855,6 +6262,17 @@
"nise": "^1.4.5",
"supports-color": "^5.5.0",
"type-detect": "^4.0.8"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"sjcl": {
@@ -7863,9 +6281,9 @@
"integrity": "sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ=="
},
"slash": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A=="
},
"slide": {
"version": "1.1.6",
@@ -7887,14 +6305,6 @@
"use": "^3.1.0"
},
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
@@ -7910,11 +6320,6 @@
"requires": {
"is-extendable": "^0.1.0"
}
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
},
@@ -7980,16 +6385,6 @@
"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
"requires": {
"kind-of": "^3.2.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
}
},
"source-map": {
@@ -8010,11 +6405,19 @@
}
},
"source-map-support": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "version": "0.5.12",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz",
+ "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==",
"requires": {
- "source-map": "^0.5.6"
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
}
},
"source-map-url": {
@@ -8061,25 +6464,6 @@
"integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
"requires": {
"extend-shallow": "^3.0.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
}
},
"sprintf-js": {
@@ -8115,9 +6499,9 @@
}
},
"statuses": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
- "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
"stream-buffers": {
"version": "2.2.0",
@@ -8155,11 +6539,6 @@
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
},
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
- },
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
@@ -8171,9 +6550,9 @@
}
},
"string_decoder": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz",
- "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -8197,12 +6576,9 @@
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
},
"supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
},
"temp": {
"version": "0.8.3",
@@ -8252,11 +6628,6 @@
"setimmediate": "^1.0.4"
}
},
- "tiny-queue": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/tiny-queue/-/tiny-queue-0.2.1.tgz",
- "integrity": "sha1-JaZ/LG4lOyypQZd7XvdELvl6YEY="
- },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -8286,16 +6657,6 @@
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
"requires": {
"kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
}
},
"to-regex": {
@@ -8307,25 +6668,6 @@
"extend-shallow": "^3.0.2",
"regex-not": "^1.0.2",
"safe-regex": "^1.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- }
- },
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
}
},
"to-regex-range": {
@@ -8344,14 +6686,6 @@
"requires": {
"kind-of": "^3.0.2"
}
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
}
}
},
@@ -8387,9 +6721,9 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
"ua-parser-js": {
- "version": "0.7.19",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz",
- "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ=="
+ "version": "0.7.20",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz",
+ "integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw=="
},
"uglify-es": {
"version": "3.3.9",
@@ -8441,6 +6775,56 @@
"resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
"integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw=="
},
+ "unimodules-barcode-scanner-interface": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unimodules-barcode-scanner-interface/-/unimodules-barcode-scanner-interface-2.0.1.tgz",
+ "integrity": "sha512-Rp3428am/4vCcvVsreqaaGcJNcjtVOMDHVX0yjF2yr8QfD07UVzRYo8ZBhQHc/hYSVWwe+19Pbmk0b+sTnTgkg=="
+ },
+ "unimodules-camera-interface": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unimodules-camera-interface/-/unimodules-camera-interface-2.0.1.tgz",
+ "integrity": "sha512-m+sYhFFahaPWYl0aVCq9VU8u6CiLVI4cSywYl9rwbIMAifi83rO5GUKKDIaMfAqMj9z77i/RF53x3nVdpclpyA=="
+ },
+ "unimodules-constants-interface": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unimodules-constants-interface/-/unimodules-constants-interface-2.0.1.tgz",
+ "integrity": "sha512-Ue/5CpfHvc9jrVc9bvDRgMVMQznvgpJ27hQoNia0sUhsMtHDvnFhXrcNfLO4tG5zGgcda6fuKtTMz91vLz8uqw=="
+ },
+ "unimodules-face-detector-interface": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unimodules-face-detector-interface/-/unimodules-face-detector-interface-2.0.1.tgz",
+ "integrity": "sha512-uM25vRESCRXwhmgVlkiDhxx1R0yGFjoiTYjqG7bfqzSnc964HR3Qy5KaWvJUOtFpLun50pfBw+lzutqFnshCpg=="
+ },
+ "unimodules-file-system-interface": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unimodules-file-system-interface/-/unimodules-file-system-interface-2.0.1.tgz",
+ "integrity": "sha512-1z//JY7ifBxq3e4dgjID2JgX3uTYEZqVFS1PqlVb9FEmdD+nvuGI2w+ohe+3Y20FYX1lZrffGCeT/Si3xa4tkA=="
+ },
+ "unimodules-font-interface": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unimodules-font-interface/-/unimodules-font-interface-2.0.1.tgz",
+ "integrity": "sha512-LirIkEZyBJMakQkYwSZBBbqXWY5KFBbBF97CCAaV/uzp6UaNawExD8kYhexajM3+uNdIPlnCIfdqQbpbXBdkVg=="
+ },
+ "unimodules-image-loader-interface": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unimodules-image-loader-interface/-/unimodules-image-loader-interface-2.0.1.tgz",
+ "integrity": "sha512-o6HHXNcWmDiT8NhBR/wRB/MTf64sQ3c9sSf13BMvmKt2nt64lkhzQC7IVDl1oxx2ejHTfwhC/XK/EafaJvvHWQ=="
+ },
+ "unimodules-permissions-interface": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unimodules-permissions-interface/-/unimodules-permissions-interface-2.0.1.tgz",
+ "integrity": "sha512-eqs6Bub19RiUHxCMrrdyro+xOpab1reHjGHBBoMOndY4bKkARpKDN7x1gDxJv3HCtP8a2hAm0xae0cDZ5S38Tw=="
+ },
+ "unimodules-sensors-interface": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unimodules-sensors-interface/-/unimodules-sensors-interface-2.0.1.tgz",
+ "integrity": "sha512-JvR04JZHqt+EJiGL/9KWsaTpTJQ53qqNMmZAC+MX6NUgnz1bWiUw9eY9MAAIaQbmorCwKyCqfpX9twTUM8z1yA=="
+ },
+ "unimodules-task-manager-interface": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unimodules-task-manager-interface/-/unimodules-task-manager-interface-2.0.1.tgz",
+ "integrity": "sha512-dXC9ta54lw23JxOX64OAT7wz6S0IExZZ7tf8iPjnNQPQLSqnuVuC7JRo7ZGV1HYFsR1aIwbrFxS7uiBE5SKCUg=="
+ },
"union-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
@@ -8452,11 +6836,6 @@
"set-value": "^0.4.3"
},
"dependencies": {
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
- },
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
@@ -8478,6 +6857,11 @@
}
}
},
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ },
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -8524,19 +6908,6 @@
}
}
},
- "uri-js": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
- "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "uri-parser": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/uri-parser/-/uri-parser-1.0.1.tgz",
- "integrity": "sha512-TRjjM2M83RD9jIIYttNj7ghUQTKSov+WXZbQIMM8DxY1R1QdJEGWNKKMYCxyeOw1p9re2nQ85usM6dPTVtox1g=="
- },
"urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
@@ -8558,19 +6929,13 @@
}
}
},
- "url-join": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz",
- "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo="
- },
- "url-loader": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz",
- "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==",
+ "url-parse": {
+ "version": "1.4.7",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
+ "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
"requires": {
- "loader-utils": "^1.1.0",
- "mime": "^2.0.3",
- "schema-utils": "^1.0.0"
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
}
},
"use": {
@@ -8578,12 +6943,24 @@
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
},
+ "utf8": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz",
+ "integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY="
+ },
"util": {
"version": "0.10.4",
"resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
"integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
"requires": {
"inherits": "2.0.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ }
}
},
"util-deprecate": {
@@ -8638,9 +7015,9 @@
}
},
"whatwg-fetch": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz",
- "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng=="
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz",
+ "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q=="
},
"which": {
"version": "1.3.1",
@@ -8669,6 +7046,14 @@
"strip-ansi": "^3.0.1"
},
"dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
@@ -8706,20 +7091,12 @@
}
},
"xcode": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/xcode/-/xcode-0.9.3.tgz",
- "integrity": "sha1-kQqJwWrubMC0LKgFptC0z4chHPM=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.0.0.tgz",
+ "integrity": "sha512-5xF6RCjAdDEiEsbbZaS/gBRt3jZ/177otZcpoLCjGN/u1LrfgH7/Sgeeavpr/jELpyDqN2im3AKosl2G2W8hfw==",
"requires": {
- "pegjs": "^0.10.0",
- "simple-plist": "^0.2.1",
- "uuid": "3.0.1"
- },
- "dependencies": {
- "uuid": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
- "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE="
- }
+ "simple-plist": "^1.0.0",
+ "uuid": "^3.3.2"
}
},
"xmlbuilder": {
@@ -8761,9 +7138,9 @@
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
},
"yargs": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
- "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
+ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
"requires": {
"camelcase": "^4.1.0",
"cliui": "^3.2.0",
diff --git a/mobile/package.json b/mobile/package.json
index dc58b62f9..64ff5fa74 100644
--- a/mobile/package.json
+++ b/mobile/package.json
@@ -1,31 +1,37 @@
{
- "name": "LightningApp",
- "private": true,
- "devDependencies": {
- "expokit": "^32.1.2",
- "prop-types": "^15.6.2",
- "protobufjs": "^6.8.8",
- "sinon": "^6.1.5"
- },
- "main": "node_modules/expo/AppEntry.js",
"scripts": {
- "start": "expo start",
- "android": "expo start --android",
- "ios": "expo start --ios",
- "eject": "expo eject",
- "publish": "expo publish --release-channel expo-32"
+ "android": "react-native run-android",
+ "ios": "react-native run-ios",
+ "start": "react-native start"
},
"dependencies": {
- "expo": "^32.0.6",
+ "expo-font": "^5.0.1",
+ "expo-keep-awake": "^5.0.1",
+ "expo-local-authentication": "^5.0.1",
+ "expo-random": "^5.0.1",
"intl": "^1.2.5",
"locale-currency": "0.0.2",
"mobx": "^4.9.4",
"mobx-react": "^5.4.3",
"node-libs-react-native": "^1.0.3",
+ "protobufjs": "^6.8.8",
"qr-image": "^3.2.0",
- "react": "16.5.0",
- "react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",
+ "react": "16.8.3",
+ "react-native": "0.59.8",
+ "react-native-camera": "^2.11.0",
"react-native-dropdownalert": "^3.10.0",
- "react-navigation": "^3.9.1"
- }
+ "react-native-fs": "^2.13.3",
+ "react-native-gesture-handler": "^1.3.0",
+ "react-native-keychain": "^3.1.3",
+ "react-native-svg": "^9.5.1",
+ "react-native-unimodules": "0.4.0",
+ "react-navigation": "^3.11.0"
+ },
+ "devDependencies": {
+ "metro-react-native-babel-preset": "0.52.0",
+ "prop-types": "^15.7.2",
+ "react-test-renderer": "16.6.3",
+ "sinon": "^6.1.5"
+ },
+ "private": true
}
diff --git a/mobile/rn-cli.config.js b/mobile/rn-cli.config.js
index 309a0631f..551962c87 100644
--- a/mobile/rn-cli.config.js
+++ b/mobile/rn-cli.config.js
@@ -5,7 +5,20 @@ module.exports = {
extraNodeModules: {
react: path.resolve(__dirname, 'node_modules/react'),
'react-native': path.resolve(__dirname, 'node_modules/react-native'),
- expo: path.resolve(__dirname, 'node_modules/expo'),
+ 'expo-font': path.resolve(__dirname, 'node_modules/expo-font'),
+ 'expo-random': path.resolve(__dirname, 'node_modules/expo-random'),
+ 'expo-keep-awake': path.resolve(
+ __dirname,
+ 'node_modules/expo-keep-awake'
+ ),
+ 'expo-permissions': path.resolve(
+ __dirname,
+ 'node_modules/expo-permissions'
+ ),
+ 'expo-local-authentication': path.resolve(
+ __dirname,
+ 'node_modules/expo-local-authentication'
+ ),
'prop-types': path.resolve(__dirname, 'node_modules/prop-types'),
'react-native-svg': path.resolve(
__dirname,
@@ -15,6 +28,18 @@ module.exports = {
__dirname,
'node_modules/react-navigation'
),
+ 'react-native-keychain': path.resolve(
+ __dirname,
+ 'node_modules/react-native-keychain'
+ ),
+ 'react-native-camera': path.resolve(
+ __dirname,
+ 'node_modules/react-native-camera'
+ ),
+ 'react-native-fs': path.resolve(
+ __dirname,
+ 'node_modules/react-native-fs'
+ ),
mobx: path.resolve(__dirname, 'node_modules/mobx'),
'mobx-react': path.resolve(__dirname, 'node_modules/mobx-react'),
'locale-currency': path.resolve(
@@ -38,6 +63,5 @@ module.exports = {
watchFolders: [
path.resolve(__dirname, '../src'),
path.resolve(__dirname, '../assets'),
- path.resolve(__dirname, '../stories'),
],
};
diff --git a/src/action/auth-mobile.js b/src/action/auth-mobile.js
index dbb82bbe8..4d86a963b 100644
--- a/src/action/auth-mobile.js
+++ b/src/action/auth-mobile.js
@@ -5,17 +5,32 @@
import { PIN_LENGTH } from '../config';
+const VERSION = '0';
const PIN = 'DevicePin';
const PASS = 'WalletPassword';
+const USER = 'lightning';
class AuthAction {
- constructor(store, wallet, nav, SecureStore, Fingerprint, Alert) {
+ constructor(
+ store,
+ wallet,
+ nav,
+ Random,
+ Keychain,
+ Fingerprint,
+ Alert,
+ ActionSheetIOS,
+ Platform
+ ) {
this._store = store;
this._wallet = wallet;
this._nav = nav;
- this._SecureStore = SecureStore;
+ this._Random = Random;
+ this._Keychain = Keychain;
this._Fingerprint = Fingerprint;
this._Alert = Alert;
+ this._ActionSheetIOS = ActionSheetIOS;
+ this._Platform = Platform;
}
//
@@ -206,7 +221,7 @@ class AuthAction {
* @return {Promise}
*/
async _generateWalletPassword() {
- const newPass = this._totallyNotSecureRandomPassword();
+ const newPass = await this._secureRandomPassword();
await this._setToKeyStore(PASS, newPass);
this._store.wallet.newPassword = newPass;
this._store.wallet.passwordVerify = newPass;
@@ -225,18 +240,22 @@ class AuthAction {
await this._wallet.checkPassword();
}
- _getFromKeyStore(key) {
- const options = {
- keychainAccessible: this._SecureStore.WHEN_UNLOCKED_THIS_DEVICE_ONLY,
- };
- return this._SecureStore.getItemAsync(key, options);
+ async _getFromKeyStore(key) {
+ const vKey = `${VERSION}_${key}`;
+ const credentials = await this._Keychain.getInternetCredentials(vKey);
+ if (credentials) {
+ return credentials.password;
+ } else {
+ return null;
+ }
}
_setToKeyStore(key, value) {
const options = {
- keychainAccessible: this._SecureStore.WHEN_UNLOCKED_THIS_DEVICE_ONLY,
+ accessible: this._Keychain.WHEN_UNLOCKED_THIS_DEVICE_ONLY,
};
- return this._SecureStore.setItemAsync(key, value, options);
+ const vKey = `${VERSION}_${key}`;
+ return this._Keychain.setInternetCredentials(vKey, USER, value, options);
}
_alert(title, callback) {
@@ -244,22 +263,48 @@ class AuthAction {
}
/**
- * NOT SECURE ... DO NOT USE IN PRODUCTION !!!
- *
- * Just a stop gap during development until we have a secure native
- * PRNG: https://github.com/lightninglabs/lightning-app/issues/777
- *
- * Generate a hex encoded 256 bit entropy wallet password (which will
- * be stretched using a KDF in lnd).
- * @return {string} A hex string containing some random bytes
+ * Generate a random hex encoded 256 bit entropy wallet password.
+ * @return {Promise} A hex string containing some random bytes
*/
- _totallyNotSecureRandomPassword() {
- const bytes = new Uint8Array(32);
- for (let i = 0; i < bytes.length; i++) {
- bytes[i] = Math.floor(256 * Math.random());
- }
+ async _secureRandomPassword() {
+ const bytes = await this._Random.getRandomBytesAsync(32);
return Buffer.from(bytes.buffer).toString('hex');
}
+
+ //
+ // Help / Restore actions
+ //
+
+ askForHelp() {
+ const message =
+ "If you have forgotten your PIN, or you're locked out of your wallet, you can reset your PIN with your Recovery Phrase.";
+ const action = 'Recover My Wallet';
+ const cancel = 'Cancel';
+ if (this._Platform.OS === 'ios') {
+ this._ActionSheetIOS.showActionSheetWithOptions(
+ {
+ message,
+ options: [cancel, action],
+ cancelButtonIndex: 0,
+ destructiveButtonIndex: 1,
+ },
+ i => i === 1 && this._initRestoreWallet()
+ );
+ } else {
+ this._Alert.alert(null, message, [
+ {
+ text: action,
+ onPress: () => this._initRestoreWallet(),
+ },
+ { text: cancel, style: 'cancel' },
+ ]);
+ }
+ }
+
+ _initRestoreWallet() {
+ this._store.settings.restoring = true;
+ this._wallet.initRestoreWallet();
+ }
}
export default AuthAction;
diff --git a/src/action/grpc-mobile.js b/src/action/grpc-mobile.js
index a490766ad..57678bef3 100644
--- a/src/action/grpc-mobile.js
+++ b/src/action/grpc-mobile.js
@@ -204,6 +204,7 @@ class GrpcAction {
SendPayment: 'SendRequest',
SubscribeTransactions: 'GetTransactionsRequest',
SubscribeInvoices: 'InvoiceSubscription',
+ StopDaemon: 'StopRequest',
};
return map[method] || `${method}Request`;
}
@@ -218,6 +219,7 @@ class GrpcAction {
CloseChannel: 'CloseStatusUpdate',
SubscribeTransactions: 'Transaction',
SubscribeInvoices: 'Invoice',
+ StopDaemon: 'StopResponse',
};
return map[method] || `${method}Response`;
}
diff --git a/src/action/index-mobile.js b/src/action/index-mobile.js
index 751ee26a0..6778a0b7a 100644
--- a/src/action/index-mobile.js
+++ b/src/action/index-mobile.js
@@ -4,17 +4,21 @@
* when certain flags on the global store are set to true.
*/
-import sinon from 'sinon';
-
import { when } from 'mobx';
import {
Alert,
+ Linking,
+ Platform,
Clipboard,
- // AsyncStorage,
- // NativeModules,
- // NativeEventEmitter,
+ AsyncStorage,
+ NativeModules,
+ ActionSheetIOS,
+ NativeEventEmitter,
} from 'react-native';
-import { SecureStore, LocalAuthentication, Linking } from 'expo';
+import * as Random from 'expo-random';
+import * as LocalAuthentication from 'expo-local-authentication';
+import * as Keychain from 'react-native-keychain';
+import RNFS from 'react-native-fs';
import { NavigationActions, StackActions } from 'react-navigation';
import { nap } from '../helper';
import store from '../store';
@@ -40,16 +44,13 @@ import AtplAction from './autopilot';
store.init(); // initialize computed values
-// export const db = new AppStorage(store, AsyncStorage);
-export const db = sinon.createStubInstance(AppStorage); // STUB DURING DEVELOPMENT
-// export const grpc = new GrpcAction(store, NativeModules, NativeEventEmitter);
-export const grpc = sinon.createStubInstance(GrpcAction); // STUB DURING DEVELOPMENT
-// export const ipc = new IpcAction(grpc);
-export const ipc = sinon.createStubInstance(IpcAction); // STUB DURING DEVELOPMENT
+export const db = new AppStorage(store, AsyncStorage);
+export const grpc = new GrpcAction(store, NativeModules, NativeEventEmitter);
+export const ipc = new IpcAction(grpc);
export const log = new LogAction(store, ipc, false);
export const nav = new NavAction(store, NavigationActions, StackActions);
export const notify = new NotificationAction(store, nav);
-export const wallet = new WalletAction(store, grpc, db, nav, notify);
+export const wallet = new WalletAction(store, grpc, db, nav, notify, RNFS);
export const info = new InfoAction(store, grpc, nav, notify);
export const transaction = new TransactionAction(store, grpc, nav, notify);
export const channel = new ChannelAction(store, grpc, nav, notify);
@@ -60,9 +61,12 @@ export const auth = new AuthAction(
store,
wallet,
nav,
- SecureStore,
+ Random,
+ Keychain,
LocalAuthentication,
- Alert
+ Alert,
+ ActionSheetIOS,
+ Platform
);
export const autopilot = new AtplAction(store, grpc, db, notify);
@@ -125,145 +129,3 @@ when(
autopilot.init();
}
);
-
-// STUB DURING DEVELOPMENT
-sinon.stub(wallet, 'update');
-sinon.stub(wallet, 'getExchangeRate');
-sinon.stub(transaction, 'update');
-sinon.stub(invoice, 'generateUri');
-sinon.stub(payment, 'checkType');
-sinon.stub(payment, 'payBitcoin');
-sinon.stub(payment, 'payLightning');
-sinon.stub(channel, 'update');
-sinon.stub(channel, 'connectAndOpen');
-sinon.stub(channel, 'closeSelectedChannel');
-sinon.stub(autopilot, 'toggle');
-
-// SET SOME DUMMY DATA DURING DEVELOPMENT
-setTimeout(
- () => (store.walletAddress = 'ra2XT898gWTp9q2DwMgtwMJsUEh3oMeS4K'),
- 3000
-);
-store.balanceSatoshis = 76543;
-store.pendingBalanceSatoshis = 800000;
-store.channelBalanceSatoshis = 598760;
-store.settings.exchangeRate.usd = 0.00016341;
-store.settings.exchangeRate.eur = 0.0001896;
-store.settings.exchangeRate.gbp = 0.00021405;
-store.invoice.amount = '0.45678';
-store.invoice.note = 'For the love of bitcoin';
-store.invoice.encoded =
- 'lnbc4567800n1pdvqx48pp5eng6uyqnkdlx93m2598ug93qtuls8gapygxznshzd56h7n5cxs0sdp9gehhygr5dpjjqmr0wejjqmmxyp3xjarrda5kucqzysmhyrleqpt3yqf5nctzsr3hvrv9vhhnawazkwyzu8t4mf85tllsyjsf8hgu5nt6dj3jaljjgmt999xnlsweqvatypzlu34nhpjlxf59qp4dn2pv';
-store.invoice.uri = `lightning:${store.invoice.encoded}`;
-store.channels = [...Array(4)].map(() => ({
- remotePubkey:
- '0343bc80b914aebf8e50eb0b8e445fc79b9e6e8e5e018fa8c5f85c7d429c117b38',
- id: '1337006139441152',
- fundingTxId: '610da3203c36b17783477cbe5db092220ac7d58477cbe5db092',
- capacity: 2005000,
- localBalance: 1990000,
- remoteBalance: 10000,
- commitFee: 0,
- channelPoint:
- '3511ae8a52c97d957eaf65f828504e68d0991f0276adff94c6ba91c7f6cd4275',
- active: true,
- status: 'open',
-}));
-store.pendingChannels = [...Array(6)].map((x, i) => ({
- remotePubkey:
- '0343bc80b914aebf8e50eb0b8e445fc79b9e6e8e5e018fa8c5f85c7d429c117b38',
- id: '1337006139441152',
- fundingTxId: '610da3203c36b17783477cbe5db092220ac7d58477cbe5db092',
- capacity: 1005000,
- localBalance: 600000,
- remoteBalance: 400000,
- commitFee: 0,
- channelPoint:
- '3511ae8a52c97d957eaf65f828504e68d0991f0276adff94c6ba91c7f6cd4275',
- status: i % 2 === 0 ? 'pending-closing' : 'pending-open',
-}));
-store.closedChannels = [...Array(4)].map(() => ({
- remotePubkey:
- '0343bc80b914aebf8e50eb0b8e445fc79b9e6e8e5e018fa8c5f85c7d429c117b38',
- fundingTxId: '610da3203c36b17783477cbe5db092220ac7d58477cbe5db092',
- closingTxId:
- 'd8413966f01ac4d288d87b8b6f2057aed07ceccb318a94f1319b1b2cc7876f4a',
- capacity: 2005000,
- localBalance: 1990000,
- remoteBalance: 10000,
- channelPoint:
- '3511ae8a52c97d957eaf65f828504e68d0991f0276adff94c6ba91c7f6cd4275',
- status: 'closed',
-}));
-store.percentSynced = 0.85;
-store.transactions = [...Array(5)].map((x, i) => ({
- id: '610da3203c36b17783477cbe5db092220ac7d58477cbe5db092',
- type: 'bitcoin',
- amount: 923456,
- fee: 8250,
- confirmations: i % 2 === 0 ? 0 : 6,
- status: i % 2 === 0 ? 'unconfirmed' : 'confirmed',
- date: new Date(),
-}));
-store.invoices = [...Array(1)].map(() => ({
- id: '610da3203c36b17783477cbe5db092220ac7d58477cbe5db092',
- type: 'lightning',
- amount: 81345,
- status: 'in-progress',
- date: new Date(),
-}));
-store.selectedTransaction = (store.computedTransactions || []).find(
- tx => tx.type === 'bitcoin'
-);
-store.selectedChannel = store.computedChannels && store.computedChannels[0];
-store.seedMnemonic = [
- 'empower',
- 'neglect',
- 'experience',
- 'elevator',
- 'entropy',
- 'future',
- 'trust',
- 'swift',
- 'pluck',
- 'easy',
- 'kite',
- 'measure',
- 'engage',
- 'settle',
- 'dog',
- 'manager',
- 'tool',
- 'fan',
- 'neglect',
- 'conduct',
- 'blouse',
- 'stone',
- 'quit',
- 'cashew',
-];
-store.restoreSeedMnemonic = Array(24).fill('');
-store.logs = [
- '[14:00:24.995] [info] Using lnd in path lnd',
- 'Checking for update',
- '[14:00:25.047] [info] lnd: 2018-06-28 14:00:25.039 [WRN] LTND: open /home/valentine/.config/lightning-app/lnd/lnd.conf: no such file or directory',
- '2018-06-28 14:00:25.039 [INF] LTND: Version 0.4.2-beta commit=884c51dfdc85284ba8d063c4547d2b5665eba010',
- '2018-06-28 14:00:25.039 [INF] LTND: Active chain: Bitcoin (network=testnet)',
- '2018-06-28 14:00:25.039 [INF] CHDB: Checking for schema update: latest_version=1, db_version=1',
- '[14:00:25.170] [info] lnd: 2018-06-28 14:00:25.055 [INF] RPCS: password RPC server listening on 127.0.0.1:10009',
- '2018-06-28 14:00:25.055 [INF] RPCS: password gRPC proxy started at 127.0.0.1:8080',
- '2018-06-28 14:00:25.055 [INF] LTND: Waiting for wallet encryption password. Use `lncli create` to create a wallet, `lncli unlock` to unlock an existing wallet, or `lncli changepassword` to change the password of an existing wallet and unlock it.',
- '[14:00:25.541] [info] Loaded initial state',
- '[14:00:25.557] [info] GRPC unlockerReady',
- 'Found version 0.2.0-prealpha.9 (url: Lightning-linux-x86_64v0.2.0-prealpha.9.AppImage)',
- 'Downloading update from Lightning-linux-x86_64v0.2.0-prealpha.9.AppImage',
- 'No cached update available',
- 'File has 2893 changed blocks',
- 'Full: 106,265.24 KB, To download: 59,575.39 KB (56%)',
- 'Differential download: https://github.com/lightninglabs/lightning-app/releases/download/v0.2.0-prealpha.9/Lightning-linux-x86_64v0.2.0-prealpha.9.AppImage',
- 'Redirect to https://github-production-release-asset-2e65be.s3.amazonaws.com/76898197/428914b4-7561-11e8-8826-08fde1bd29aa',
- '[14:00:33.730] [info] lnd: 2018-06-28 14:00:33.730 [INF] LNWL: Opened wallet',
- '[14:00:33.731] [info] lnd: 2018-06-28 14:00:33.730 [INF] LTND: Primary chain is set to: bitcoin',
- '[14:00:33.879] [info] lnd: 2018-06-28 14:00:33.879 [INF] BTCN: Loaded 1032 addresses from file /home/valentine/.config/lightning-app/lnd/data/chain/bitcoin/testnet/peers.json',
- '[14:00:33.893] [info] lnd: 2018-06-28 14:00:33.892 [INF] CMGR: DNS discovery failed on seed x49.seed.tbtc.petertodd.org: lookup x49.seed.tbtc.petertodd.org: No address associated with hostname',
-].join('\n');
diff --git a/src/action/nav-mobile.js b/src/action/nav-mobile.js
index 2aac031b1..4a7078de6 100644
--- a/src/action/nav-mobile.js
+++ b/src/action/nav-mobile.js
@@ -15,6 +15,8 @@ class NavAction {
this._navigate = routeName =>
navigatorRef.dispatch(this._navActions.navigate({ routeName }));
+ this._back = () => navigatorRef.dispatch(this._navActions.back());
+
this._reset = (stackName, routeName) =>
navigatorRef.dispatch(
this._stackActions.reset({
@@ -31,6 +33,10 @@ class NavAction {
this._store.navReady = true;
}
+ goBack() {
+ this._back();
+ }
+
goLoader() {
this._navigate('Loader');
}
diff --git a/src/action/wallet.js b/src/action/wallet.js
index 0530e6ccd..a06817862 100644
--- a/src/action/wallet.js
+++ b/src/action/wallet.js
@@ -14,12 +14,13 @@ import { when } from 'mobx';
import * as log from './log';
class WalletAction {
- constructor(store, grpc, db, nav, notification) {
+ constructor(store, grpc, db, nav, notification, FS) {
this._store = store;
this._grpc = grpc;
this._db = db;
this._nav = nav;
this._notification = notification;
+ this._FS = FS;
}
//
@@ -265,6 +266,7 @@ class WalletAction {
*/
async initWallet({ walletPassword, seedMnemonic, recoveryWindow = 0 }) {
try {
+ await Promise.all([this.deleteDB('testnet'), this.deleteDB('mainnet')]);
await this._grpc.sendUnlockerCommand('InitWallet', {
walletPassword: toBuffer(walletPassword),
cipherSeedMnemonic: seedMnemonic,
@@ -273,10 +275,37 @@ class WalletAction {
this._store.walletUnlocked = true;
this._nav.goSeedSuccess();
} catch (err) {
- this._notification.display({
- type: 'error',
- msg: `Initializing wallet failed: ${err.details}`,
- });
+ if (this._store.settings.restoring) {
+ this._notification.display({
+ type: 'error',
+ msg: `Initializing wallet failed. Invalid seed.`,
+ });
+ this.initRestoreWallet();
+ } else {
+ this._notification.display({
+ type: 'error',
+ msg: `Initializing wallet failed.`,
+ });
+ }
+ }
+ }
+
+ /**
+ * Delete the wallet.db file. This allows the user to restore their wallet
+ * (including channel state) from the seed if they've they've forgotten the
+ * wallet pin/password.
+ * @return {Promise}
+ */
+ async deleteDB(network) {
+ if (!this._FS) {
+ return;
+ }
+ const lndDir = this._FS.DocumentDirectoryPath;
+ const dbPath = `${lndDir}/data/chain/bitcoin/${network}/wallet.db`;
+ try {
+ await this._FS.unlink(dbPath);
+ } catch (err) {
+ log.info(`No ${network} wallet to delete.`);
}
}
@@ -352,7 +381,7 @@ class WalletAction {
this._store.wallet.restoreIndex -= 3;
this._store.wallet.focusedRestoreInd = this._store.wallet.restoreIndex;
} else {
- this._nav.goSelectSeed();
+ this._nav.goBack ? this._nav.goBack() : this._nav.goSelectSeed();
}
}
diff --git a/src/component/font-loader-mobile.js b/src/component/font-loader-mobile.js
index 32c31315c..18dcdd643 100644
--- a/src/component/font-loader-mobile.js
+++ b/src/component/font-loader-mobile.js
@@ -1,7 +1,7 @@
import React from 'react';
import { StyleSheet, View } from 'react-native';
import PropTypes from 'prop-types';
-import { Font } from 'expo';
+import * as Font from 'expo-font';
import { color } from './style';
const styles = StyleSheet.create({
diff --git a/src/component/input.js b/src/component/input.js
index b2f0c95cb..ec883b328 100644
--- a/src/component/input.js
+++ b/src/component/input.js
@@ -18,6 +18,7 @@ const baseStyles = StyleSheet.create({
lineHeight: font.lineHeightM + 3,
height: font.lineHeightM + 2 * 12,
color: color.blackText,
+ padding: 0,
},
});
diff --git a/src/component/notification-wrapper.js b/src/component/notification-wrapper.js
index 0b894f727..ec8d8e2d3 100644
--- a/src/component/notification-wrapper.js
+++ b/src/component/notification-wrapper.js
@@ -1,6 +1,6 @@
import React from 'react';
import { StyleSheet, View, Platform, StatusBar } from 'react-native';
-import { KeepAwake } from 'expo';
+import KeepAwake from 'expo-keep-awake';
import { observer } from 'mobx-react';
import PropTypes from 'prop-types';
import DropdownAlert from 'react-native-dropdownalert';
diff --git a/src/component/pin-entry.js b/src/component/pin-entry.js
index 0ff80ecfe..92c988a68 100644
--- a/src/component/pin-entry.js
+++ b/src/component/pin-entry.js
@@ -83,7 +83,7 @@ const keyboardStyles = StyleSheet.create({
},
});
-export const PinKeyboard = ({ onInput, onBackspace }) => (
+export const PinKeyboard = ({ onInput, onBackspace, onHelp }) => (
@@ -102,7 +102,7 @@ export const PinKeyboard = ({ onInput, onBackspace }) => (
- {}} />
+ {onHelp ? : {}} />}
@@ -113,6 +113,7 @@ export const PinKeyboard = ({ onInput, onBackspace }) => (
PinKeyboard.propTypes = {
onInput: PropTypes.func.isRequired,
onBackspace: PropTypes.func.isRequired,
+ onHelp: PropTypes.func,
};
//
@@ -173,3 +174,25 @@ const BackspaceKey = ({ onPress }) => (
BackspaceKey.propTypes = {
onPress: PropTypes.func.isRequired,
};
+
+//
+// Help Key
+//
+
+const helpStyles = StyleSheet.create({
+ txt: {
+ fontFamily: 'SF Pro Text Bold',
+ color: color.whiteBg,
+ fontSize: 14,
+ },
+});
+
+const HelpKey = ({ onPress }) => (
+
+);
+
+HelpKey.propTypes = {
+ onPress: PropTypes.func.isRequired,
+};
diff --git a/src/component/qrcode-scanner.js b/src/component/qrcode-scanner.js
index 4b5ea377b..069371803 100644
--- a/src/component/qrcode-scanner.js
+++ b/src/component/qrcode-scanner.js
@@ -1,6 +1,7 @@
import React from 'react';
import { View, StyleSheet } from 'react-native';
-import { BarCodeScanner, Permissions } from 'expo';
+import * as Permissions from 'expo-permissions';
+import { RNCamera } from 'react-native-camera';
import PropTypes from 'prop-types';
import Text from './text';
import { color } from './style';
@@ -12,10 +13,14 @@ import { color } from './style';
const styles = StyleSheet.create({
wrapper: {
flex: 1,
- },
- blank: {
+ flexDirection: 'column',
backgroundColor: color.black,
},
+ scanner: {
+ flex: 1,
+ justifyContent: 'flex-end',
+ alignItems: 'center',
+ },
noPermission: {
justifyContent: 'center',
alignItems: 'center',
@@ -50,7 +55,7 @@ export default class QRCodeScanner extends React.Component {
render() {
const { hasCameraPermission, scanned } = this.state;
if (hasCameraPermission === null) {
- return ;
+ return ;
} else if (hasCameraPermission === false) {
return (
@@ -62,12 +67,19 @@ export default class QRCodeScanner extends React.Component {
} else {
return (
- this.handleCodeScanned(...args)
}
- barCodeTypes={[BarCodeScanner.Constants.BarCodeType.qr]}
- style={StyleSheet.absoluteFill}
+ barCodeTypes={[RNCamera.Constants.BarCodeType.qr]}
+ style={styles.scanner}
/>
diff --git a/src/view/pin-mobile.js b/src/view/pin-mobile.js
index f56c572e7..4abfc41b1 100644
--- a/src/view/pin-mobile.js
+++ b/src/view/pin-mobile.js
@@ -53,6 +53,7 @@ class PinView extends React.Component {
auth.pushPinDigit({ digit, param: 'pin' })}
onBackspace={() => auth.popPinDigit({ param: 'pin' })}
+ onHelp={() => auth.askForHelp()}
/>
diff --git a/test/unit/action/auth-mobile.spec.js b/test/unit/action/auth-mobile.spec.js
index 28b95774b..9e0a64d0d 100644
--- a/test/unit/action/auth-mobile.spec.js
+++ b/test/unit/action/auth-mobile.spec.js
@@ -9,18 +9,24 @@ describe('Action AuthMobile Unit Tests', () => {
let wallet;
let nav;
let auth;
- let SecureStore;
+ let Random;
+ let Keychain;
let Fingerprint;
let Alert;
+ let ActionSheetIOS;
+ let Platform;
beforeEach(() => {
sandbox = sinon.createSandbox({});
store = new Store();
wallet = sinon.createStubInstance(WalletAction);
nav = sinon.createStubInstance(NavAction);
- SecureStore = {
- getItemAsync: sinon.stub(),
- setItemAsync: sinon.stub(),
+ Random = {
+ getRandomBytesAsync: sinon.stub(),
+ };
+ Keychain = {
+ getInternetCredentials: sinon.stub(),
+ setInternetCredentials: sinon.stub(),
};
Fingerprint = {
hasHardwareAsync: sinon.stub(),
@@ -30,7 +36,21 @@ describe('Action AuthMobile Unit Tests', () => {
Alert = {
alert: sinon.stub(),
};
- auth = new AuthAction(store, wallet, nav, SecureStore, Fingerprint, Alert);
+ ActionSheetIOS = {
+ showActionSheetWithOptions: sinon.stub(),
+ };
+ Platform = { OS: 'ios' };
+ auth = new AuthAction(
+ store,
+ wallet,
+ nav,
+ Random,
+ Keychain,
+ Fingerprint,
+ Alert,
+ ActionSheetIOS,
+ Platform
+ );
});
afterEach(() => {
@@ -177,9 +197,10 @@ describe('Action AuthMobile Unit Tests', () => {
store.auth.pinVerify = '000000';
await auth.checkNewPin();
expect(
- SecureStore.setItemAsync,
+ Keychain.setInternetCredentials,
'was called with',
- 'DevicePin',
+ '0_DevicePin',
+ 'lightning',
'000000'
);
expect(auth._generateWalletPassword, 'was called once');
@@ -190,7 +211,7 @@ describe('Action AuthMobile Unit Tests', () => {
store.auth.pinVerify = '00000';
await auth.checkNewPin();
expect(Alert.alert, 'was called once');
- expect(SecureStore.setItemAsync, 'was not called');
+ expect(Keychain.setInternetCredentials, 'was not called');
expect(auth._generateWalletPassword, 'was not called');
});
@@ -199,7 +220,7 @@ describe('Action AuthMobile Unit Tests', () => {
store.auth.pinVerify = '000001';
await auth.checkNewPin();
expect(Alert.alert, 'was called once');
- expect(SecureStore.setItemAsync, 'was not called');
+ expect(Keychain.setInternetCredentials, 'was not called');
expect(auth._generateWalletPassword, 'was not called');
});
});
@@ -211,14 +232,14 @@ describe('Action AuthMobile Unit Tests', () => {
it('should work for two same pins', async () => {
store.auth.pin = '000000';
- SecureStore.getItemAsync.resolves('000000');
+ Keychain.getInternetCredentials.resolves({ password: '000000' });
await auth.checkPin();
expect(auth._unlockWallet, 'was called once');
});
it('should display error for non matching pins', async () => {
store.auth.pin = '000001';
- SecureStore.getItemAsync.resolves('000000');
+ Keychain.getInternetCredentials.resolves({ password: '000000' });
await auth.checkPin();
expect(Alert.alert, 'was called once');
expect(auth._unlockWallet, 'was not called');
@@ -227,7 +248,7 @@ describe('Action AuthMobile Unit Tests', () => {
describe('checkResetPin()', () => {
beforeEach(() => {
- SecureStore.getItemAsync.resolves('000000');
+ Keychain.getInternetCredentials.resolves({ password: '000000' });
});
it('should work for two same pins', async () => {
@@ -236,9 +257,10 @@ describe('Action AuthMobile Unit Tests', () => {
store.auth.resetPinVerify = '100000';
await auth.checkResetPin();
expect(
- SecureStore.setItemAsync,
+ Keychain.setInternetCredentials,
'was called with',
- 'DevicePin',
+ '0_DevicePin',
+ 'lightning',
'100000'
);
expect(nav.goResetPasswordSaved, 'was called once');
@@ -250,7 +272,7 @@ describe('Action AuthMobile Unit Tests', () => {
store.auth.resetPinVerify = '00000';
await auth.checkNewPin();
expect(Alert.alert, 'was called once');
- expect(SecureStore.setItemAsync, 'was not called');
+ expect(Keychain.setInternetCredentials, 'was not called');
expect(nav.goResetPasswordSaved, 'was not called');
});
@@ -260,7 +282,7 @@ describe('Action AuthMobile Unit Tests', () => {
store.auth.resetPinVerify = '000001';
await auth.checkResetPin();
expect(Alert.alert, 'was called once');
- expect(SecureStore.setItemAsync, 'was not called');
+ expect(Keychain.setInternetCredentials, 'was not called');
expect(nav.goResetPasswordSaved, 'was not called');
});
@@ -270,7 +292,7 @@ describe('Action AuthMobile Unit Tests', () => {
store.auth.resetPinVerify = '000001';
await auth.checkResetPin();
expect(Alert.alert, 'was called once');
- expect(SecureStore.setItemAsync, 'was not called');
+ expect(Keychain.setInternetCredentials, 'was not called');
expect(nav.goResetPasswordSaved, 'was not called');
});
});
@@ -312,12 +334,19 @@ describe('Action AuthMobile Unit Tests', () => {
});
describe('_generateWalletPassword()', () => {
+ beforeEach(() => {
+ const pass =
+ 'd1df8b8c3e828392b4a176a23cfe5668578f4edc5f18abdf3d468078505485be';
+ sandbox.stub(auth, '_secureRandomPassword').resolves(pass);
+ });
+
it('should generate a password and store it', async () => {
await auth._generateWalletPassword();
expect(
- SecureStore.setItemAsync,
+ Keychain.setInternetCredentials,
'was called with',
- 'WalletPassword',
+ '0_WalletPassword',
+ 'lightning',
/^[0-9a-f]{64}$/
);
expect(store.wallet.newPassword, 'to match', /^[0-9a-f]{64}$/);
@@ -328,18 +357,64 @@ describe('Action AuthMobile Unit Tests', () => {
describe('_unlockWallet()', () => {
it('should not unlock wallet without hardware support', async () => {
- SecureStore.getItemAsync.resolves('some-password');
+ Keychain.getInternetCredentials.resolves({ password: 'some-password' });
await auth._unlockWallet();
- expect(SecureStore.getItemAsync, 'was called with', 'WalletPassword');
+ expect(
+ Keychain.getInternetCredentials,
+ 'was called with',
+ '0_WalletPassword'
+ );
expect(store.wallet.password, 'to equal', 'some-password');
expect(wallet.checkPassword, 'was called once');
});
});
- describe('_totallyNotSecureRandomPassword()', () => {
+ describe('_getFromKeyStore()', () => {
+ it('should read keychain value', async () => {
+ Keychain.getInternetCredentials.resolves({ password: 'some-password' });
+ const value = await auth._getFromKeyStore('key');
+ expect(value, 'to equal', 'some-password');
+ expect(Keychain.getInternetCredentials, 'was called with', '0_key');
+ });
+
+ it('should get empty value from keychain', async () => {
+ Keychain.getInternetCredentials.resolves(false);
+ const value = await auth._getFromKeyStore('key');
+ expect(value, 'to equal', null);
+ expect(Keychain.getInternetCredentials, 'was called with', '0_key');
+ });
+ });
+
+ describe('_secureRandomPassword()', () => {
it('should generate hex encoded 256bit entropy password', async () => {
- const pass = auth._totallyNotSecureRandomPassword();
+ const buf = Buffer.from(
+ 'd1df8b8c3e828392b4a176a23cfe5668578f4edc5f18abdf3d468078505485be',
+ 'hex'
+ );
+ Random.getRandomBytesAsync.resolves(new Uint8Array(buf));
+ const pass = await auth._secureRandomPassword();
expect(pass.length, 'to equal', 64);
});
});
+
+ describe('askForHelp()', () => {
+ it('should display action sheet on iOS', async () => {
+ auth.askForHelp();
+ expect(ActionSheetIOS.showActionSheetWithOptions, 'was called once');
+ });
+
+ it('should display alert on Android', async () => {
+ Platform.OS = 'android';
+ auth.askForHelp();
+ expect(Alert.alert, 'was called once');
+ });
+ });
+
+ describe('_initRestoreWallet()', () => {
+ it('should init wallet restoration', async () => {
+ auth._initRestoreWallet();
+ expect(store.settings.restoring, 'to be', true);
+ expect(wallet.initRestoreWallet, 'was called once');
+ });
+ });
});
diff --git a/test/unit/action/grpc-mobile.spec.js b/test/unit/action/grpc-mobile.spec.js
index fa9f8d9fd..ad502a1c8 100644
--- a/test/unit/action/grpc-mobile.spec.js
+++ b/test/unit/action/grpc-mobile.spec.js
@@ -304,6 +304,14 @@ describe('Action GRPC Mobile Unit Tests', () => {
await grpc.sendCommand('NewAddress');
expect(LndReactModuleStub.sendCommand, 'was called once');
});
+
+ it('should work for StopDaemon', async () => {
+ LndReactModuleStub.sendCommand.resolves({
+ data: grpc._serializeResponse('StopDaemon'),
+ });
+ await grpc.sendCommand('StopDaemon');
+ expect(LndReactModuleStub.sendCommand, 'was called once');
+ });
});
describe('sendStreamCommand()', () => {
diff --git a/test/unit/action/wallet.spec.js b/test/unit/action/wallet.spec.js
index 7a3b222a4..7e371b96a 100644
--- a/test/unit/action/wallet.spec.js
+++ b/test/unit/action/wallet.spec.js
@@ -18,6 +18,7 @@ describe('Action Wallet Unit Tests', () => {
let wallet;
let nav;
let notification;
+ let RNFS;
beforeEach(() => {
sandbox = sinon.createSandbox({});
@@ -30,7 +31,11 @@ describe('Action Wallet Unit Tests', () => {
db = sinon.createStubInstance(AppStorage);
notification = sinon.createStubInstance(NotificationAction);
nav = sinon.createStubInstance(NavAction);
- wallet = new WalletAction(store, grpc, db, nav, notification);
+ RNFS = {
+ DocumentDirectoryPath: '/foo/bar',
+ unlink: sinon.stub(),
+ };
+ wallet = new WalletAction(store, grpc, db, nav, notification, RNFS);
});
afterEach(() => {
@@ -303,7 +308,31 @@ describe('Action Wallet Unit Tests', () => {
describe('initWallet()', () => {
it('should init wallet', async () => {
grpc.sendUnlockerCommand.withArgs('InitWallet').resolves();
+ RNFS.unlink.resolves();
await wallet.initWallet({ walletPassword: 'baz', seedMnemonic: ['foo'] });
+ expect(
+ RNFS.unlink,
+ 'was called with',
+ '/foo/bar/data/chain/bitcoin/mainnet/wallet.db'
+ );
+ expect(
+ RNFS.unlink,
+ 'was called with',
+ '/foo/bar/data/chain/bitcoin/testnet/wallet.db'
+ );
+ expect(store.walletUnlocked, 'to be', true);
+ expect(grpc.sendUnlockerCommand, 'was called with', 'InitWallet', {
+ walletPassword: Buffer.from('baz', 'utf8'),
+ cipherSeedMnemonic: ['foo'],
+ });
+ expect(nav.goSeedSuccess, 'was called once');
+ });
+
+ it('should not delete wallet if RNFS not supported', async () => {
+ grpc.sendUnlockerCommand.withArgs('InitWallet').resolves();
+ delete wallet._FS;
+ await wallet.initWallet({ walletPassword: 'baz', seedMnemonic: ['foo'] });
+ expect(RNFS.unlink, 'was not called');
expect(store.walletUnlocked, 'to be', true);
expect(grpc.sendUnlockerCommand, 'was called with', 'InitWallet', {
walletPassword: Buffer.from('baz', 'utf8'),
@@ -312,12 +341,24 @@ describe('Action Wallet Unit Tests', () => {
expect(nav.goSeedSuccess, 'was called once');
});
+ it('should display error notification on restore failure', async () => {
+ store.settings.restoring = true;
+ grpc.sendUnlockerCommand
+ .withArgs('InitWallet')
+ .rejects(new Error('Boom!'));
+ await wallet.initWallet({ walletPassword: 'baz', seedMnemonic: ['foo'] });
+ expect(notification.display, 'was called once');
+ expect(nav.goRestoreSeed, 'was called once');
+ expect(nav.goSeedSuccess, 'was not called');
+ });
+
it('should display error notification on failure', async () => {
grpc.sendUnlockerCommand
.withArgs('InitWallet')
.rejects(new Error('Boom!'));
await wallet.initWallet({ walletPassword: 'baz', seedMnemonic: ['foo'] });
expect(notification.display, 'was called once');
+ expect(nav.goRestoreSeed, 'was not called');
expect(nav.goSeedSuccess, 'was not called');
});
});