diff --git a/.env b/.env index 9c0cfe4beb..0200367a9f 100644 --- a/.env +++ b/.env @@ -18,7 +18,6 @@ SNOOPY=0 RPC_NETWORKS_ONLY=0 PARTITIONED_TOPIC=0 CONTRACT_NODES=1 -MOBILE_UI_FOR_DESKTOP=1 STATUS_GO_PROTOCOL=0 STATUS_GO_ENABLE_NIMBUS=0 KEYCARD_TEST_MENU=0 diff --git a/.env.e2e b/.env.e2e index cb0a0bee6a..f0d332382d 100644 --- a/.env.e2e +++ b/.env.e2e @@ -17,7 +17,6 @@ SNOOPY=0 STICKERS_ENABLED=1 PARTITIONED_TOPIC=0 CONTRACT_NODES=1 -MOBILE_UI_FOR_DESKTOP=1 BLANK_PREVIEW=0 TOOLTIP_EVENTS=1 COMMANDS_ENABLED=1 diff --git a/.env.jenkins b/.env.jenkins index 18c27184bf..effd5c0314 100644 --- a/.env.jenkins +++ b/.env.jenkins @@ -18,7 +18,6 @@ SNOOPY=0 RPC_NETWORKS_ONLY=0 PARTITIONED_TOPIC=0 CONTRACT_NODES=1 -MOBILE_UI_FOR_DESKTOP=1 STATUS_GO_ENABLE_NIMBUS=0 KEYCARD_TEST_MENU=0 ENABLE_ROOT_ALERT=1 \ No newline at end of file diff --git a/.env.nightly b/.env.nightly index 90c5fc44fd..f8aed37b19 100644 --- a/.env.nightly +++ b/.env.nightly @@ -16,6 +16,5 @@ SNOOPY=0 RPC_NETWORKS_ONLY=0 PARTITIONED_TOPIC=0 CONTRACT_NODES=1 -MOBILE_UI_FOR_DESKTOP=1 HARDWALLET_ENABLED=1 ENABLE_ROOT_ALERT=1 \ No newline at end of file diff --git a/.env.release b/.env.release index adc2b27867..83be19d9aa 100644 --- a/.env.release +++ b/.env.release @@ -15,6 +15,5 @@ POW_TIME=1 SNOOPY=0 RPC_NETWORKS_ONLY=1 PARTITIONED_TOPIC=0 -MOBILE_UI_FOR_DESKTOP=1 HARDWALLET_ENABLED=1 ENABLE_ROOT_ALERT=1 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 02da974ba7..419522adec 100644 --- a/.gitignore +++ b/.gitignore @@ -67,9 +67,6 @@ env/dev/env/config.cljs externs/ shim.js -# Desktop build -index.desktop.js - # Generated by lein voom # /pom.xml @@ -128,12 +125,8 @@ fastlane/README.md # emacs .dir-locals.el -#ignore platform-specific files in the root since they are only symlinks to files in folders 'desktop/js_files' and 'mobile/js_files' -/DEPENDENCIES.md +# We don't use NPM /package-lock.json -/package.json -/metro.config.js -/yarn.lock /.re-natal /re-natal @@ -141,27 +134,6 @@ fastlane/README.md pkg /BUILD_NUMBER -# Status Desktop -cmake_install.cmake -CMakeCache.txt -**/CMakeFiles/ -/StatusImPackage/* -*.AppImage -Status-Windows-x86_64.exe -/desktop/bin/* -/desktop/lib/* -/desktop/modules/* -/desktop/Makefile -/desktop/graph_info.json -/desktop/run-app.bat -/desktop/run-app.sh -/desktop/CMakeFiles/ -/desktop/reportApp/Makefile -/deployment/windows/Status.rc -*_autogen/ -CompleteBundleWin.cmake -logger_settings.ini - # Conan conan*.txt conanbuildinfo.* diff --git a/mobile/js_files/DEPENDENCIES.md b/DEPENDENCIES.md similarity index 97% rename from mobile/js_files/DEPENDENCIES.md rename to DEPENDENCIES.md index 088055d38a..cfc6e46430 100644 --- a/mobile/js_files/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -122,10 +122,6 @@ used to get user language and interact with i18n.js used to send email to support when phone is shaked -## "react-native-navigation-twopane": "git+https://github.com/status-im/react-native-navigation-twopane.git#v0.0.2-status" - -used by desktop - ## "react-native-screens": "1.0.0-alpha.22" used by react-navigation diff --git a/Makefile b/Makefile index 9d7a162183..1ab0269dc7 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: nix-add-gcroots clean nix-clean run-metro react-native-desktop test release _list _fix-node-perms _tmpdir-mk _tmpdir-rm +.PHONY: nix-add-gcroots clean nix-clean run-metro test release _list _fix-node-perms _tmpdir-mk _tmpdir-rm help: SHELL := /bin/sh help: ##@other Show this help @@ -171,18 +171,6 @@ release-ios: watchman-clean ##@build build release for iOS release $(MAKE) jsbundle-ios && \ xcodebuild -workspace ios/StatusIm.xcworkspace -scheme StatusIm -configuration Release -destination 'generic/platform=iOS' -UseModernBuildSystem=N clean archive -release-desktop: export TARGET ?= $(HOST_OS) -release-desktop: ##@build build release for desktop release based on TARGET - @$(MAKE) jsbundle-desktop && \ - scripts/build-desktop.sh; \ - $(MAKE) watchman-clean - -release-windows-desktop: export TARGET ?= windows -release-windows-desktop: ##@build build release for windows desktop release - @$(MAKE) jsbundle-desktop && \ - scripts/build-desktop.sh; \ - $(MAKE) watchman-clean - jsbundle-android: SHELL := /bin/sh jsbundle-android: export TARGET := android jsbundle-android: export BUILD_ENV ?= prod @@ -208,10 +196,6 @@ status-go-ios: SHELL := /bin/sh status-go-ios: ##@status-go Compile status-go for iOS app nix/scripts/build.sh targets.status-go.mobile.ios -status-go-desktop: SHELL := /bin/sh -status-go-desktop: ##@status-go Compile status-go for desktop app - nix/scripts/build.sh targets.status-go.desktop - #-------------- # Watch, Build & Review changes #-------------- @@ -220,10 +204,6 @@ run-clojure: export TARGET := clojure run-clojure: ##@run Watch for and build Clojure changes for mobile yarn shadow-cljs watch mobile -run-clojure-desktop: export TARGET ?= $(HOST_OS) -run-clojure-desktop: #@run Watch for and build Clojure changes for desktop - clj -R:dev build.clj watch --platform desktop - run-metro: export TARGET := clojure run-metro: ##@run Start Metro to build React Native changes @scripts/start-react-native.sh @@ -246,10 +226,6 @@ else npx react-native run-ios endif -run-desktop: export TARGET ?= $(HOST_OS) -run-desktop: ##@run Run Desktop build - npx react-native run-desktop - #-------------- # Tests #-------------- @@ -280,15 +256,6 @@ coverage: ##@test Run tests once in NodeJS generating coverage # Other #-------------- -start-desktop-server: export TARGET ?= $(HOST_OS) -start-desktop-server: #@other Start ubuntu-server.js for desktop - node ubuntu-server.js - -react-native-desktop: export TARGET ?= $(HOST_OS) -react-native-desktop: export _NIX_PURE ?= true -react-native-desktop: ##@other Start react native packager - @scripts/start-react-native.sh - geth-connect: export TARGET := android-env geth-connect: ##@other Connect to Geth on the device adb forward tcp:8545 tcp:8545 && \ diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md index 5abbc455fd..286a65dd8a 100644 --- a/TROUBLESHOOTING.md +++ b/TROUBLESHOOTING.md @@ -67,8 +67,6 @@ info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this Update yarn.lock file. In order to do this, perform the following steps on a clean `status-react` repo: ``` cd status-react -ln -sf mobile/js_files/package.json . -ln -sf mobile/js_files/yarn.lock . yarn install ``` and don't forget to commit updated `yarn.lock` together with `package.json`. diff --git a/ci/Jenkinsfile.android b/ci/Jenkinsfile.android index 9f9a750b55..193d90524c 100644 --- a/ci/Jenkinsfile.android +++ b/ci/Jenkinsfile.android @@ -1,4 +1,4 @@ -library 'status-react-jenkins@v1.1.9' +library 'status-react-jenkins@v1.1.10' pipeline { agent { label 'linux' } diff --git a/ci/Jenkinsfile.combined b/ci/Jenkinsfile.combined index 4608ca1540..dea8cdea6e 100644 --- a/ci/Jenkinsfile.combined +++ b/ci/Jenkinsfile.combined @@ -1,4 +1,4 @@ -library 'status-react-jenkins@v1.1.9' +library 'status-react-jenkins@v1.1.10' pipeline { agent { label 'linux' } diff --git a/ci/Jenkinsfile.ios b/ci/Jenkinsfile.ios index ff00bf723a..863206da2c 100644 --- a/ci/Jenkinsfile.ios +++ b/ci/Jenkinsfile.ios @@ -1,4 +1,4 @@ -library 'status-react-jenkins@v1.1.9' +library 'status-react-jenkins@v1.1.10' pipeline { agent { label 'macos-xcode-11.5' } diff --git a/ci/Jenkinsfile.linux b/ci/Jenkinsfile.linux deleted file mode 100644 index 5659be115c..0000000000 --- a/ci/Jenkinsfile.linux +++ /dev/null @@ -1,125 +0,0 @@ -library 'status-react-jenkins@v1.1.9' - -pipeline { - agent { label 'linux' } - - parameters { - string( - name: 'BUILD_TYPE', - description: 'Specify build type. Values: pr / nightly / release', - defaultValue: 'pr', - ) - } - - options { - timestamps() - /* Prevent Jenkins jobs from running forever */ - timeout(time: 40, unit: 'MINUTES') - /* Limit builds retained */ - buildDiscarder(logRotator( - numToKeepStr: '10', - daysToKeepStr: '20', - artifactNumToKeepStr: '10', - )) - /* Allows combined build to copy */ - copyArtifactPermission('/status-react/*') - } - - /** - * WARNING: Jenkins ignores PATH changes in Docker - * https://issues.jenkins-ci.org/browse/JENKINS-49076 - **/ - environment { - LANG = "en_US.UTF-8" - LC_ALL = "en_US.UTF-8" - LANGUAGE = "en_US.UTF-8" - TARGET = 'linux' - NIX_CONF_DIR = "${env.WORKSPACE}/nix" - VERBOSE_LEVEL = '3' - /* We use EXECUTOR_NUMBER to avoid multiple instances clashing */ - YARN_CACHE_FOLDER = "/var/tmp/yarn-${EXECUTOR_NUMBER}" - GRADLE_USER_HOME = "/var/tmp/gradle-${EXECUTOR_NUMBER}" - } - - stages { - stage('Prep') { - steps { - script { - btype = utils.getBuildType() - print "Running ${btype} build!" - jenkins.abortPreviousRunningBuilds() - /* Cleanup and Prep */ - commonPrep(btype) - } - } - } - stage('Parallel Assemble') { - parallel { - stage('Checks') { stages { - stage('Lint') { - steps { - script { - /* We want the build result to be uploaded */ - catchError( - message: 'Linting check failed!', - buildResult: 'FAILURE', - stageResult: 'FAILURE' - ) { - sh 'make lint' - } - } - } - } - stage('Tests') { - steps { - script { - sh 'make test' - } - } - } - } } - stage('Build') { stages { - stage('JSBundle') { - steps { - script { desktop.buildJSBundle() } - } - } - stage('Compile') { - steps { - script { desktop.compile() } - } - } - stage('Bundle') { - steps { - script { app = desktop.bundleLinux(btype) } - } - } - } } - } - } - stage('Parallel Upload') { - parallel { - stage('Archive') { - steps { - archiveArtifacts app - } - } - stage('Upload') { - steps { - script { env.PKG_URL = s3.uploadArtifact(app) } - } - } - } - } - stage('Cleanup') { - steps { - sh 'make watchman-clean' - sh 'make clean' - } - } - } - post { - success { script { github.notifyPR(true) } } - failure { script { github.notifyPR(false) } } - } -} diff --git a/ci/Jenkinsfile.macos b/ci/Jenkinsfile.macos deleted file mode 100644 index 539f1d69dd..0000000000 --- a/ci/Jenkinsfile.macos +++ /dev/null @@ -1,123 +0,0 @@ -library 'status-react-jenkins@v1.1.9' - -pipeline { - agent { label 'macos-xcode-11.5' } - - parameters { - string( - name: 'BUILD_TYPE', - description: 'Specify build type. Values: pr / nightly / release', - defaultValue: 'pr', - ) - } - - options { - timestamps() - /* Prevent Jenkins jobs from running forever */ - timeout(time: 30, unit: 'MINUTES') - /* Limit builds retained */ - buildDiscarder(logRotator( - numToKeepStr: '10', - daysToKeepStr: '20', - artifactNumToKeepStr: '10', - )) - /* Allows combined build to copy */ - copyArtifactPermission('/status-react/*') - } - - environment { - LANG = "en_US.UTF-8" - LC_ALL = "en_US.UTF-8" - LANGUAGE = "en_US.UTF-8" - TARGET = 'macos' - NIX_CONF_DIR = "${env.WORKSPACE}/nix" - /* See nix/README.md */ - NIX_IGNORE_SYMLINK_STORE = 1 - VERBOSE_LEVEL = '3' - /* We use EXECUTOR_NUMBER to avoid multiple instances clashing */ - YARN_CACHE_FOLDER = "/var/tmp/yarn-${EXECUTOR_NUMBER}" - GRADLE_USER_HOME = "/var/tmp/gradle-${EXECUTOR_NUMBER}" - } - - stages { - stage('Prep') { - steps { - script { - btype = utils.getBuildType() - print "Running ${btype} build!" - jenkins.abortPreviousRunningBuilds() - /* Cleanup and Prep */ - commonPrep(btype) - } - } - } - stage('Parallel Assemble') { - parallel { - stage('Checks') { stages { - stage('Lint') { - steps { - script { - /* We want the build result to be uploaded */ - catchError( - message: 'Linting check failed!', - buildResult: 'FAILURE', - stageResult: 'FAILURE' - ) { - sh 'make lint' - } - } - } - } - stage('Tests') { - steps { - script { - sh 'make test' - } - } - } - } } - stage('Build') { stages { - stage('JSBundle') { - steps { - script { desktop.buildJSBundle() } - } - } - stage('Compile') { - steps { - script { desktop.compile() } - } - } - stage('Bundle') { - steps { - script { dmg = desktop.bundleMacOS(btype) } - } - } - } } - } - } - stage('Parallel Upload') { - parallel { - stage('Archive') { - steps { - archiveArtifacts dmg - } - } - stage('Upload') { - steps { - script { env.PKG_URL = s3.uploadArtifact(dmg) } - } - } - } - } - stage('Cleanup') { - steps { - sh 'make watchman-clean' - sh 'make clean' - } - } - } - post { - success { script { github.notifyPR(true) } } - failure { script { github.notifyPR(false) } } - } -} diff --git a/ci/Jenkinsfile.nix-cache b/ci/Jenkinsfile.nix-cache index d4baf4aab1..88918a11ab 100644 --- a/ci/Jenkinsfile.nix-cache +++ b/ci/Jenkinsfile.nix-cache @@ -1,4 +1,4 @@ -library 'status-react-jenkins@v1.1.9' +library 'status-react-jenkins@v1.1.10' pipeline { agent { label params.AGENT_LABEL } @@ -36,7 +36,7 @@ pipeline { } stage('Build status-go') { steps { script { - def platforms = ['mobile.android', 'mobile.ios', 'desktop'] + def platforms = ['mobile.android', 'mobile.ios'] if (uname != "Darwin") { platforms.removeAll { it == "ios" } } diff --git a/ci/Jenkinsfile.windows b/ci/Jenkinsfile.windows deleted file mode 100644 index e3f3df5d66..0000000000 --- a/ci/Jenkinsfile.windows +++ /dev/null @@ -1,128 +0,0 @@ -library 'status-react-jenkins@v1.1.9' - -pipeline { - agent { label 'linux' } - - parameters { - string( - name: 'BUILD_TYPE', - description: 'Specify build type. Values: pr / nightly / release', - defaultValue: 'pr', - ) - } - - options { - timestamps() - /* Prevent Jenkins jobs from running forever */ - timeout(time: 45, unit: 'MINUTES') - /* Limit builds retained */ - buildDiscarder(logRotator( - numToKeepStr: '10', - daysToKeepStr: '20', - artifactNumToKeepStr: '10', - )) - /* Allows combined build to copy */ - copyArtifactPermission('/status-react/*') - } - - /** - * WARNING: Jenkins ignores PATH changes in Docker - * https://issues.jenkins-ci.org/browse/JENKINS-49076 - **/ - environment { - LANG = "en_US.UTF-8" - LC_ALL = "en_US.UTF-8" - LANGUAGE = "en_US.UTF-8" - TARGET = 'windows' - NIX_CONF_DIR = "${env.WORKSPACE}/nix" - VERBOSE_LEVEL = '3' - /* Conan settings */ - CONAN_PRINT_RUN_COMMANDS = '1' - CONAN_SYSREQUIRES_MODE = 'disabled' - CONAN_SYSREQUIRES_SUDO = '0' - /* We use EXECUTOR_NUMBER to avoid multiple instances clashing */ - YARN_CACHE_FOLDER = "/var/tmp/yarn-${EXECUTOR_NUMBER}" - } - - stages { - stage('Prep') { - steps { - script { - btype = utils.getBuildType() - print "Running ${btype} build!" - jenkins.abortPreviousRunningBuilds() - /* Cleanup and Prep */ - commonPrep(btype) - } - } - } - stage('Parallel Assemble') { - parallel { - stage('Checks') { stages { - stage('Lint') { - steps { - script { - /* We want the build result to be uploaded */ - catchError( - message: 'Linting check failed!', - buildResult: 'FAILURE', - stageResult: 'FAILURE' - ) { - sh 'make lint' - } - } - } - } - stage('Tests') { - steps { - script { - sh 'make test' - } - } - } - } } - stage('Build') { stages { - stage('JSBundle') { - steps { - script { desktop.buildJSBundle() } - } - } - stage('Compile') { - steps { - script { desktop.compile() } - } - } - stage('Bundle') { - steps { - script { app = desktop.bundleWindows(btype) } - } - } - } } - } - } - stage('Parallel Upload') { - parallel { - stage('Archive') { - steps { - archiveArtifacts app - } - } - stage('Upload') { - steps { - script { env.PKG_URL = s3.uploadArtifact(app) } - } - } - } - } - stage('Cleanup') { - steps { - sh 'make watchman-clean' - sh 'make clean' - } - } - } - post { - success { script { github.notifyPR(true) } } - failure { script { github.notifyPR(false) } } - } -} diff --git a/ci/tools/Jenkinsfile.fastlane-clean b/ci/tools/Jenkinsfile.fastlane-clean index 2f1cfd9ce0..b441963b35 100644 --- a/ci/tools/Jenkinsfile.fastlane-clean +++ b/ci/tools/Jenkinsfile.fastlane-clean @@ -1,4 +1,4 @@ -library 'status-react-jenkins@v1.1.9' +library 'status-react-jenkins@v1.1.10' pipeline { agent { label 'macos' } diff --git a/ci/tools/Jenkinsfile.playstore-meta b/ci/tools/Jenkinsfile.playstore-meta index 27bffb207c..8e8b832ed8 100644 --- a/ci/tools/Jenkinsfile.playstore-meta +++ b/ci/tools/Jenkinsfile.playstore-meta @@ -1,4 +1,4 @@ -library 'status-react-jenkins@v1.1.9' +library 'status-react-jenkins@v1.1.10' pipeline { agent { label 'linux' } diff --git a/deployment/linux/usr/bin/.keep b/deployment/linux/usr/bin/.keep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/deployment/linux/usr/lib/.keep b/deployment/linux/usr/lib/.keep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/deployment/linux/usr/share/applications/Status.desktop b/deployment/linux/usr/share/applications/Status.desktop deleted file mode 100644 index a753f7d0c0..0000000000 --- a/deployment/linux/usr/share/applications/Status.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Type=Application -Name=Status -Comment=Status Desktop -Exec=Status -Icon=Status -Categories=Network; diff --git a/deployment/linux/usr/share/icons/hicolor/1024x1024/apps/Status.png b/deployment/linux/usr/share/icons/hicolor/1024x1024/apps/Status.png deleted file mode 100644 index c19a824618..0000000000 Binary files a/deployment/linux/usr/share/icons/hicolor/1024x1024/apps/Status.png and /dev/null differ diff --git a/deployment/macos/Info.plist b/deployment/macos/Info.plist deleted file mode 100644 index a0a8ae9f02..0000000000 --- a/deployment/macos/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDisplayName - Status - CFBundleExecutable - Status - CFBundleIconFile - status-icon - CFBundleIdentifier - im.status.statusim - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Status - CFBundlePackageType - APPL - CFBundleShortVersionString - 0.1 - CFBundleVersion - 0.1 - - LSMinimumSystemVersion - 10.9.0 - NSHighResolutionCapable - True - NSPrincipalClass - NSApplication - - CFBundleURLTypes - - - CFBundleURLSchemes - - status-im - - CFBundleURLName - im.status.ethereum.applink-desktop - - - - diff --git a/deployment/macos/create-icon.sh b/deployment/macos/create-icon.sh deleted file mode 100755 index fd1bb76da2..0000000000 --- a/deployment/macos/create-icon.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -function make_icns { - local file="../status-icon.png" - local iconset="$(mktemp -d)" - local output_icon="status-icon.icns" - - for size in {16,32,64,128,256,512}; do - sips --resampleHeightWidth "${size}" "${size}" "${file}" --out "${iconset}/icon_${size}x${size}.png" &> /dev/null - sips --resampleHeightWidth "$((size * 2))" "$((size * 2))" "${file}" --out "${iconset}/icon_${size}x${size}@2x.png" &> /dev/null - done - - mv "${iconset}" "${iconset}.iconset" - iconutil --convert icns "${iconset}.iconset" --output "${output_icon}" - - echo "${output_icon}" # so its path is returned when the function ends -} - -make_icns diff --git a/deployment/macos/dmg-background.png b/deployment/macos/dmg-background.png deleted file mode 100644 index d42d96bf70..0000000000 Binary files a/deployment/macos/dmg-background.png and /dev/null differ diff --git a/deployment/macos/dmg-background@2x.png b/deployment/macos/dmg-background@2x.png deleted file mode 100644 index 2afecc542e..0000000000 Binary files a/deployment/macos/dmg-background@2x.png and /dev/null differ diff --git a/deployment/macos/dmg-background@3x.png b/deployment/macos/dmg-background@3x.png deleted file mode 100644 index ba70a18164..0000000000 Binary files a/deployment/macos/dmg-background@3x.png and /dev/null differ diff --git a/deployment/macos/macos-developer-id.keychain-db.gpg b/deployment/macos/macos-developer-id.keychain-db.gpg deleted file mode 100644 index 70fb6c9348..0000000000 Binary files a/deployment/macos/macos-developer-id.keychain-db.gpg and /dev/null differ diff --git a/deployment/macos/qt-reportApp.conf b/deployment/macos/qt-reportApp.conf deleted file mode 100644 index df50e9dba0..0000000000 --- a/deployment/macos/qt-reportApp.conf +++ /dev/null @@ -1,4 +0,0 @@ -[Paths] -Plugins = ../PlugIns -Imports = ../Resources/qml -Qml2Imports = ../Resources/qml diff --git a/deployment/macos/status-dmg.json b/deployment/macos/status-dmg.json deleted file mode 100644 index d70adc9d49..0000000000 --- a/deployment/macos/status-dmg.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "title": "Status", - "background": "dmg-background.png", - "contents": [ - { - "x": 385, - "y": 235, - "type": "link", - "path": "/Applications" - }, - { - "x": 170, - "y": 236, - "type": "file", - "path": "../../StatusImPackage/Status.app" - } - ] -} diff --git a/deployment/macos/status-icon.icns b/deployment/macos/status-icon.icns deleted file mode 100644 index 35e982c298..0000000000 Binary files a/deployment/macos/status-icon.icns and /dev/null differ diff --git a/deployment/status-icon.png b/deployment/status-icon.png deleted file mode 100644 index 24dd1b4877..0000000000 Binary files a/deployment/status-icon.png and /dev/null differ diff --git a/deployment/status-icon.svg b/deployment/status-icon.svg deleted file mode 100644 index 12f39c42ae..0000000000 --- a/deployment/status-icon.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deployment/windows/Status.rc.in b/deployment/windows/Status.rc.in deleted file mode 100644 index 6e4bd8e946..0000000000 --- a/deployment/windows/Status.rc.in +++ /dev/null @@ -1,71 +0,0 @@ -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE resource. -// -#ifndef APSTUDIO_INVOKED -#include "targetver.h" -#endif -#define APSTUDIO_HIDDEN_SYMBOLS -#include "windows.h" -#undef APSTUDIO_HIDDEN_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE 9, 1 - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. - -IDI_STATUS ICON "${ICO_RESOURCE_PATH}" - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#ifndef APSTUDIO_INVOKED\r\n" - "#include ""targetver.h""\r\n" - "#endif\r\n" - "#define APSTUDIO_HIDDEN_SYMBOLS\r\n" - "#include ""windows.h""\r\n" - "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE resource. -// - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED diff --git a/deployment/windows/nsis/include/SnoreNotify.nsh b/deployment/windows/nsis/include/SnoreNotify.nsh deleted file mode 100644 index 37744a5508..0000000000 --- a/deployment/windows/nsis/include/SnoreNotify.nsh +++ /dev/null @@ -1,23 +0,0 @@ -!include LogicLib.nsh -!include WordFunc.nsh - -Function SnoreWinVer - ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion - ${VersionCompare} "6.2" $R0 $R0 - ${If} $R0 == 1 - Push "NotWin8" - ${Else} - Push "AtLeastWin8" - ${EndIf} -FunctionEnd - -!macro SnoreShortcut path exe appID - Call SnoreWinVer - Pop $0 - ${If} $0 == "AtLeastWin8" - nsExec::ExecToLog '"${SnoreToastExe}" -install "${path}" "${exe}" "${appID}"' - ${Else} - DetailPrint "Creating shortcut to ${exe}" - CreateShortCut "${path}" "${exe}" - ${EndIf} -!macroend \ No newline at end of file diff --git a/deployment/windows/nsis/include/UAC.nsh b/deployment/windows/nsis/include/UAC.nsh deleted file mode 100644 index 08979aba97..0000000000 --- a/deployment/windows/nsis/include/UAC.nsh +++ /dev/null @@ -1,299 +0,0 @@ -/*** UAC Plug-in *** - -Interactive User (MediumIL) Admin user (HighIL) -***[Setup.exe]************* ***[Setup.exe]************** -* * * * -* +++[.OnInit]+++++++++++ * * +++[.OnInit]++++++++++++ * -* + UAC_RunElevated >---+-+----> * + + * -* + NSIS.Quit + * * + + * -* +++++++++++++++++++++++ * * ++++++++++++++++++++++++ * -* * * * -* * * * -* +++[Section]+++++++++++ * * +++[Section]++++++++++++ * -* + + * /--+-+- -** -** Get integrity level of current process -** -**/ -!macro UAC_GetIntegrityLevel outvar -UAC::_ 6 -!if "${outvar}" != "s" - Pop ${outvar} -!endif -!macroend - - - -/* UAC_IsAdmin -** -** Is the current process running with administrator privileges? Result in $0 -** -** ${If} ${UAC_IsAdmin} ... -** -**/ -!macro UAC_IsAdmin -UAC::_ 2 -!macroend -!define UAC_IsAdmin `"" UAC_IsAdmin ""` -!macro _UAC_IsAdmin _a _b _t _f -!insertmacro _UAC_MakeLL_Cmp _!= 0 2s -!macroend - - - -/* UAC_IsInnerInstance -** -** Does the current process have a NSIS/UAC parent process that is part of the elevation operation? -** -** ${If} ${UAC_IsInnerInstance} ... -** -**/ -!macro UAC_IsInnerInstance -UAC::_ 3 -!macroend -!define UAC_IsInnerInstance `"" UAC_IsInnerInstance ""` -!macro _UAC_IsInnerInstance _a _b _t _f -!insertmacro _UAC_MakeLL_Cmp _!= 0 3s -!macroend - - - -/* UAC_PageElevation_OnInit, UAC_PageElevation_OnGuiInit, -** -** Helper macros for elevation on a custom elevation page, see the DualMode example for more information. -** -**/ -!macro UAC_Notify_OnGuiInit -UAC::_ 4 -!macroend -!macro UAC_PageElevation_OnGuiInit -!insertmacro UAC_Notify_OnGuiInit -!macroend -!macro UAC_PageElevation_OnInit -UAC::_ 5 -${IfThen} ${Errors} ${|} Quit ${|} -!macroend - - - -/* UAC_AsUser_Call -** -** Calls a function or label in the user process instance. -** All the UAC_AsUser_* macros use this helper macro. -** -**/ -!define UAC_SYNCREGISTERS 0x1 -;define UAC_SYNCSTACK 0x2 -!define UAC_SYNCOUTDIR 0x4 -!define UAC_SYNCINSTDIR 0x8 -;define UAC_CLEARERRFLAG 0x10 -!macro UAC_AsUser_Call type name flags -push $0 -Get${type}Address $0 ${name} -!verbose push -!verbose ${UAC_VERBOSE} -!insertmacro _UAC_ParseDefineFlagsToInt _UAC_AsUser_Call__flags ${flags} -!verbose pop -StrCpy $0 "1$0:${_UAC_AsUser_Call__flags}" -!undef _UAC_AsUser_Call__flags -Exch $0 -UAC::_ -!macroend - - - -/* -** UAC_AsUser_GetSection -*/ -!macro UAC_AsUser_GetSection secprop secidx outvar -!insertmacro _UAC_AsUser_GenOp ${outvar} SectionGet${secprop} ${secidx} "" -!macroend - - - -/* -** UAC_AsUser_GetGlobalVar -** UAC_AsUser_GetGlobal -*/ -!macro UAC_AsUser_GetGlobalVar var -!insertmacro _UAC_AsUser_GenOp ${var} StrCpy "" ${var} -!macroend -!macro UAC_AsUser_GetGlobal outvar srcvar -!insertmacro _UAC_AsUser_GenOp ${outvar} StrCpy "" ${srcvar} -!macroend - - - -/* -** UAC_AsUser_ExecShell -** -** Call ExecShell in the user process instance. -** -*/ -!macro UAC_AsUser_ExecShell verb command params workdir show -!insertmacro _UAC_IncL -goto _UAC_L_E_${__UAC_L} -_UAC_L_F_${__UAC_L}: -ExecShell "${verb}" "${command}" '${params}' ${show} -return -_UAC_L_E_${__UAC_L}: -!if "${workdir}" != "" - push $outdir - SetOutPath "${workdir}" -!endif -!insertmacro UAC_AsUser_Call Label _UAC_L_F_${__UAC_L} ${UAC_SYNCREGISTERS}|${UAC_SYNCOUTDIR}|${UAC_SYNCINSTDIR} #|${UAC_CLEARERRFLAG} -!if "${workdir}" != "" - pop $outdir - SetOutPath $outdir -!endif -!macroend - - - -!macro _UAC_MakeLL_Cmp cmpop cmp pluginparams -!insertmacro _LOGICLIB_TEMP -UAC::_ ${pluginparams} -pop $_LOGICLIB_TEMP -!insertmacro ${cmpop} $_LOGICLIB_TEMP ${cmp} `${_t}` `${_f}` -!macroend -!macro _UAC_definemath def val1 op val2 -!define /math _UAC_definemath "${val1}" ${op} ${val2} -!ifdef ${def} - !undef ${def} -!endif -!define ${def} "${_UAC_definemath}" -!undef _UAC_definemath -!macroend -!macro _UAC_ParseDefineFlags_orin parse outflags -!searchparse /noerrors ${${parse}} "" _UAC_ParseDefineFlags_orin_f1 "|" _UAC_ParseDefineFlags_orin_f2 -!define _UAC_ParseDefineFlags_orin_this ${_UAC_ParseDefineFlags_orin_f1} -!undef ${parse} -!define ${parse} ${_UAC_ParseDefineFlags_orin_f2} -!define _UAC_ParseDefineFlags_orin_saveout ${${outflags}} -!undef ${outflags} -!define /math ${outflags} "${_UAC_ParseDefineFlags_orin_saveout}" | "${_UAC_ParseDefineFlags_orin_this}" -!undef _UAC_ParseDefineFlags_orin_saveout -!undef _UAC_ParseDefineFlags_orin_this -!ifdef _UAC_ParseDefineFlags_orin_f1 - !undef _UAC_ParseDefineFlags_orin_f1 -!endif -!ifdef _UAC_ParseDefineFlags_orin_f2 - !undef _UAC_ParseDefineFlags_orin_f2 -!endif -!macroend -!macro _UAC_ParseDefineFlags_Begin _outdef _in -!define _UAC_PDF${_outdef}_parse "${_in}" -!define _UAC_PDF${_outdef}_flags "" -!define _UAC_PDF${_outdef}_r 0 -!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x1 -!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x2 -!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x4 -!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x8 -!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x10 -!macroend -!macro _UAC_ParseDefineFlags_End _outdef -!define ${_outdef} ${_UAC_PDF${_outdef}_r} -!undef _UAC_PDF${_outdef}_r -!undef _UAC_PDF${_outdef}_flags -!undef _UAC_PDF${_outdef}_parse -!macroend -!macro _UAC_ParseDefineFlags_IncludeFlag _outdef flag -!if ${_UAC_PDF${_outdef}_flags} & ${flag} - !insertmacro _UAC_definemath _UAC_PDF${_outdef}_r ${_UAC_PDF${_outdef}_r} | ${flag} -!endif -!macroend -!macro _UAC_ParseDefineFlagsToInt _outdef _in -!insertmacro _UAC_ParseDefineFlags_Begin _UAC_ParseDefineFlagsToInt_tmp "${_in}" -!define ${_outdef} ${_UAC_PDF_UAC_ParseDefineFlagsToInt_tmp_flags} -!insertmacro _UAC_ParseDefineFlags_End _UAC_ParseDefineFlagsToInt_tmp -!undef _UAC_ParseDefineFlagsToInt_tmp -!macroend -!macro _UAC_IncL -!insertmacro _UAC_definemath __UAC_L "${__UAC_L}" + 1 -!macroend -!macro _UAC_AsUser_GenOp outvar op opparam1 opparam2 -!define _UAC_AUGOGR_ID _UAC_AUGOGR_OP${outvar}${op}${opparam1}${opparam2} -!ifndef ${_UAC_AUGOGR_ID} ;Has this exact action been done before? - !if ${outvar} == $0 - !define ${_UAC_AUGOGR_ID} $1 - !else - !define ${_UAC_AUGOGR_ID} $0 - !endif - !if "${opparam1}" == "" - !define _UAC_AUGOGR_OPP1 ${${_UAC_AUGOGR_ID}} - !define _UAC_AUGOGR_OPP2 ${opparam2} - !else - !define _UAC_AUGOGR_OPP1 ${opparam1} - !define _UAC_AUGOGR_OPP2 ${${_UAC_AUGOGR_ID}} - !endif - goto ${_UAC_AUGOGR_ID}_C - ${_UAC_AUGOGR_ID}_F: - ${op} ${_UAC_AUGOGR_OPP1} ${_UAC_AUGOGR_OPP2} - return - ${_UAC_AUGOGR_ID}_C: - !undef _UAC_AUGOGR_OPP1 - !undef _UAC_AUGOGR_OPP2 -!endif -push ${${_UAC_AUGOGR_ID}} -!insertmacro UAC_AsUser_Call Label ${_UAC_AUGOGR_ID}_F ${UAC_SYNCREGISTERS} -StrCpy ${outvar} ${${_UAC_AUGOGR_ID}} -pop ${${_UAC_AUGOGR_ID}} -!undef _UAC_AUGOGR_ID -!macroend - - - -!verbose pop -!endif /* UAC_HDR__INC */ \ No newline at end of file diff --git a/deployment/windows/nsis/include/nsProcess.nsh b/deployment/windows/nsis/include/nsProcess.nsh deleted file mode 100644 index 84278b02b0..0000000000 --- a/deployment/windows/nsis/include/nsProcess.nsh +++ /dev/null @@ -1,28 +0,0 @@ -!define nsProcess::FindProcess `!insertmacro nsProcess::FindProcess` - -!macro nsProcess::FindProcess _FILE _ERR - nsProcess::_FindProcess /NOUNLOAD `${_FILE}` - Pop ${_ERR} -!macroend - - -!define nsProcess::KillProcess `!insertmacro nsProcess::KillProcess` - -!macro nsProcess::KillProcess _FILE _ERR - nsProcess::_KillProcess /NOUNLOAD `${_FILE}` - Pop ${_ERR} -!macroend - -!define nsProcess::CloseProcess `!insertmacro nsProcess::CloseProcess` - -!macro nsProcess::CloseProcess _FILE _ERR - nsProcess::_CloseProcess /NOUNLOAD `${_FILE}` - Pop ${_ERR} -!macroend - - -!define nsProcess::Unload `!insertmacro nsProcess::Unload` - -!macro nsProcess::Unload - nsProcess::_Unload -!macroend \ No newline at end of file diff --git a/deployment/windows/nsis/plugins/x86-ansi/SimpleFC.dll b/deployment/windows/nsis/plugins/x86-ansi/SimpleFC.dll deleted file mode 100644 index 73b7d9634d..0000000000 Binary files a/deployment/windows/nsis/plugins/x86-ansi/SimpleFC.dll and /dev/null differ diff --git a/deployment/windows/nsis/plugins/x86-ansi/UAC.dll b/deployment/windows/nsis/plugins/x86-ansi/UAC.dll deleted file mode 100644 index 57a58c5399..0000000000 Binary files a/deployment/windows/nsis/plugins/x86-ansi/UAC.dll and /dev/null differ diff --git a/deployment/windows/nsis/plugins/x86-ansi/nsProcess.dll b/deployment/windows/nsis/plugins/x86-ansi/nsProcess.dll deleted file mode 100644 index 4ce012103f..0000000000 Binary files a/deployment/windows/nsis/plugins/x86-ansi/nsProcess.dll and /dev/null differ diff --git a/deployment/windows/nsis/plugins/x86-unicode/UAC.dll b/deployment/windows/nsis/plugins/x86-unicode/UAC.dll deleted file mode 100644 index 97e7d15eae..0000000000 Binary files a/deployment/windows/nsis/plugins/x86-unicode/UAC.dll and /dev/null differ diff --git a/deployment/windows/nsis/plugins/x86-unicode/nsProcess.dll b/deployment/windows/nsis/plugins/x86-unicode/nsProcess.dll deleted file mode 100644 index 2478624ee0..0000000000 Binary files a/deployment/windows/nsis/plugins/x86-unicode/nsProcess.dll and /dev/null differ diff --git a/deployment/windows/nsis/setup.nsi b/deployment/windows/nsis/setup.nsi deleted file mode 100644 index d7ff5e72be..0000000000 --- a/deployment/windows/nsis/setup.nsi +++ /dev/null @@ -1,1034 +0,0 @@ -;-------------------------------- -; Build environment -;-------------------------------- - - ;Unicode true - ;!define top_srcdir @top_srcdir@ - ;!define base_image_dir "" - ;!define srcdir @srcdir@ - !define VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_BUILD} - !define VERSION_FULL ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_BUILD}.0 - ;!define PUBLISHER "Status.im" - ;!define WEBSITE_URL "https://status.im/" - !define AppUserModelId "StatusIm.Status.Desktop.1" ; app.id must match ID in modules/react-native-desktop-notification/desktop/desktopnotification.cpp - !define SnoreToastExe "$INSTDIR\SnoreToast.exe" - !define AppLinkFileName "Status.lnk" - !define AppExeName "Status.exe" - !define UninstallExeName "Uninstall.exe" - !define UninstallLinkName "Uninstall.lnk" - !define NodeJsServerExeName "ubuntu-server.exe" - !define SetupExeFileName "Status-x86_64-setup.exe" - !define OrgRegistryKeyPath "Software\${PUBLISHER}" - !define AppRegistryKeyPath "${OrgRegistryKeyPath}\Status Desktop" - !define UninstallRegKeyPath "Software\Microsoft\Windows\CurrentVersion\Uninstall\Status Desktop" - - !addplugindir plugins/x86-ansi - -;-------------------------------- -;General -;-------------------------------- - - ;Name and file - Name "Status Desktop ${VERSION}" - OutFile "${top_srcdir}/${SetupExeFileName}" - - SetCompressor /FINAL ${COMPRESSION_TYPE} ${COMPRESSION_ALGO} - - ; Default installation folder - InstallDir "$PROGRAMFILES64\${PUBLISHER}" - - ; Get installation folder from registry if available - InstallDirRegKey HKLM "${AppRegistryKeyPath}" "" - - RequestExecutionLevel user - - !define DUMP_KEY "SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" - -;-------------------------------- -; Include Modern UI and functions -;-------------------------------- - - !include "MUI2.nsh" - !include "WordFunc.nsh" - !include "Library.nsh" - !include "WinVer.nsh" - !include "FileFunc.nsh" -; !include "Memento.nsh" - !include "StrFunc.nsh" - !include "include/UAC.nsh" - !include "include/SnoreNotify.nsh" - !include "include/nsProcess.nsh" - - ${StrRep} - -;-------------------------------- -; Installer's VersionInfo -;-------------------------------- - - VIProductVersion "${VERSION_FULL}" - VIAddVersionKey "CompanyName" "${PUBLISHER}" - VIAddVersionKey "ProductName" "Status Desktop" - VIAddVersionKey "ProductVersion" "${VERSION}" - VIAddVersionKey "FileDescription" "Status Desktop Client" - VIAddVersionKey "FileVersion" "${VERSION}" - VIAddVersionKey "LegalCopyright" "${PUBLISHER}" - VIAddVersionKey "OriginalFilename" "${SetupExeFileName}" - -;-------------------------------- -; Required functions -;-------------------------------- - - !insertmacro GetParameters - !insertmacro GetOptions - !insertmacro un.GetParameters - !insertmacro un.GetOptions - -;-------------------------------- -;Variables -;-------------------------------- - - Var MUI_TEMP - Var STARTMENU_FOLDER - Var PREVIOUS_INSTALLDIR - Var PREVIOUS_VERSION - Var PREVIOUS_VERSION_STATE - Var REINSTALL_UNINSTALL - Var ALL_USERS_DEFAULT - Var ALL_USERS - Var IS_ADMIN - Var USERNAME - Var PERFORM_UPDATE - Var SKIPLICENSE - Var SKIPUAC - Var GetInstalledSize.total - Var OldRunDir - Var CommandLine - Var Quiet - -;-------------------------------- -;Interface Settings -;-------------------------------- - - !define MUI_ICON "${top_srcdir}/deployment/windows/status.ico" - ;!define MUI_UNICON "${srcdir}/uninstall.ico" - - !define MUI_ABORTWARNING - -;-------------------------------- -;Memento settings -;-------------------------------- - -;!define MEMENTO_REGISTRY_ROOT SHELL_CONTEXT -;!define MEMENTO_REGISTRY_KEY "${AppRegistryKeyPath}" - -;-------------------------------- -;Pages - - !define MUI_PAGE_CUSTOMFUNCTION_PRE PageDirectoryPre - !insertmacro MUI_PAGE_DIRECTORY - - ; Start Menu Folder Page Configuration - !define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX" - !define MUI_STARTMENUPAGE_REGISTRY_KEY "${AppRegistryKeyPath}" - !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Startmenu" - !define MUI_STARTMENUPAGE_DEFAULTFOLDER "Status Desktop" - - !define MUI_PAGE_CUSTOMFUNCTION_PRE PageStartmenuPre - !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER - - !define MUI_PAGE_CUSTOMFUNCTION_LEAVE PostInstPage - !insertmacro MUI_PAGE_INSTFILES - - !define MUI_PAGE_CUSTOMFUNCTION_PRE un.ConfirmPagePre - !insertmacro MUI_UNPAGE_CONFIRM - !insertmacro MUI_UNPAGE_INSTFILES - !define MUI_PAGE_CUSTOMFUNCTION_PRE un.FinishPagePre - !insertmacro MUI_UNPAGE_FINISH - -Function GetUserInfo - ClearErrors - UserInfo::GetName - ${If} ${Errors} - StrCpy $IS_ADMIN 1 - Return - ${EndIf} - Pop $USERNAME - - ${If} ${UAC_IsAdmin} - StrCpy $IS_ADMIN 1 - ${Else} - StrCpy $IS_ADMIN 0 - ${EndIf} - -FunctionEnd - -Function UpdateShellVarContext - - ${If} $ALL_USERS == 1 - SetShellVarContext all - DetailPrint "Installing for all users" - ${Else} - SetShellVarContext current - DetailPrint "Installing for current user" - ${EndIf} - -FunctionEnd - -!Macro MessageBoxImpl options text sdreturn checks - ${If} $Quiet == 1 - MessageBox ${options} `${text}` ${checks} - ${Else} - MessageBox ${options} `${text}` /SD ${sdreturn} ${checks} - ${Endif} - -!MacroEnd - -!define MessageBox `!insertmacro MessageBoxImpl` - -Function ReadAllUsersCommandline - - ${GetOptions} $CommandLine "/user" $R1 - - ${Unless} ${Errors} - ${If} $R1 == "current" - ${OrIf} $R1 == "=current" - StrCpy $ALL_USERS 0 - ${ElseIf} $R1 == "all" - ${OrIf} $R1 == "=all" - StrCpy $ALL_USERS 1 - ${Else} - ${MessageBox} MB_ICONSTOP "Invalid option for /user. Has to be either /user=all or /user=current" IDOK '' - Abort - ${EndIf} - ${EndUnless} - Call UpdateShellVarContext - -FunctionEnd - -Function CheckPrevInstallDirExists - - ${If} $PREVIOUS_INSTALLDIR != "" - - ; Make sure directory is valid - Push $R0 - Push $R1 - StrCpy $R0 "$PREVIOUS_INSTALLDIR" "" -1 - ${If} $R0 == '\' - ${OrIf} $R0 == '/' - StrCpy $R0 $PREVIOUS_INSTALLDIR*.* - ${Else} - StrCpy $R0 $PREVIOUS_INSTALLDIR\*.* - ${EndIf} - ${IfNot} ${FileExists} $R0 - StrCpy $PREVIOUS_INSTALLDIR "" - ${EndIf} - Pop $R1 - Pop $R0 - - ${EndIf} - -FunctionEnd - -Function ReadPreviousVersion - - ReadRegStr $PREVIOUS_INSTALLDIR HKLM "${AppRegistryKeyPath}" "" - - Call CheckPrevInstallDirExists - - ${If} $PREVIOUS_INSTALLDIR != "" - ; Detect version - ReadRegStr $PREVIOUS_VERSION HKLM "${AppRegistryKeyPath}" "Version" - ${If} $PREVIOUS_VERSION != "" - StrCpy $ALL_USERS 1 - SetShellVarContext all - return - ${EndIf} - ${EndIf} - - ReadRegStr $PREVIOUS_INSTALLDIR HKCU "${AppRegistryKeyPath}" "" - - Call CheckPrevInstallDirExists - - ${If} $PREVIOUS_INSTALLDIR != "" - ; Detect version - ReadRegStr $PREVIOUS_VERSION HKCU "${AppRegistryKeyPath}" "Version" - ${If} $PREVIOUS_VERSION != "" - StrCpy $ALL_USERS 0 - SetShellVarContext current - return - ${EndIf} - ${EndIf} - -FunctionEnd - -Function LoadPreviousSettings - - ; Component selection - ;${MementoSectionRestore} - - ; Startmenu - !define ID "Application" - - !ifdef MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT & MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY & MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME - - ReadRegStr $mui.StartMenuPage.RegistryLocation "${MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME}" - - ${if} $mui.StartMenuPage.RegistryLocation != "" - StrCpy "$STARTMENU_FOLDER" $mui.StartMenuPage.RegistryLocation - ${else} - StrCpy "$STARTMENU_FOLDER" "" - ${endif} - - !undef ID - - !endif - - ${If} $PREVIOUS_INSTALLDIR != "" - StrCpy $INSTDIR $PREVIOUS_INSTALLDIR - ${EndIf} - -FunctionEnd - -Function ReadUpdateCommandline - - ${GetOptions} $CommandLine "/update" $R1 - - ${If} ${Errors} - StrCpy $PERFORM_UPDATE 0 - ${Else} - StrCpy $PERFORM_UPDATE 1 - ${EndIf} - -FunctionEnd - -Function ReadSkipLicense - - ${GetOptions} $CommandLine "/skiplicense" $R1 - - ${If} ${Errors} - StrCpy $SKIPLICENSE 0 - ${Else} - StrCpy $SKIPLICENSE 1 - ${EndIf} - -FunctionEnd - -Function ReadSkipUAC - - ${GetOptions} $CommandLine "/skipuac" $R1 - - ${If} ${Errors} - StrCpy $SKIPUAC 0 - ${Else} - StrCpy $SKIPUAC 1 - ${EndIf} - -FunctionEnd - -Function ReadQuiet - - ${GetOptions} $CommandLine "/quiet" $R1 - - ${If} ${Errors} - StrCpy $Quiet 0 - ${Else} - StrCpy $Quiet 1 - SetSilent silent - ${EndIf} - -FunctionEnd - -Function .onInit - - Pop $OldRunDir - - ; Store command line - ${GetParameters} $CommandLine - - Call ReadQuiet - - ${Unless} ${AtLeastWin7} - ${MessageBox} MB_YESNO|MB_ICONSTOP "Unsupported operating system.$\nStatus Desktop ${VERSION} requires at least Windows 7 and may not work correctly on your system.$\nDo you really want to continue with the installation?" IDNO 'IDYES installonoldwindows' - Abort -installonoldwindows: - ${EndUnless} - ${Unless} ${RunningX64} - ${MessageBox} MB_OK|MB_ICONSTOP "Unsupported operating system.$\nThis is the installer for the 64bit version of Status Desktop ${VERSION} and does not run on your operating system which is only 32bit." IDOK '' - Abort - ${EndUnless} - - Call ReadSkipUAC - - ${If} $SKIPUAC != 1 -uac_tryagain: - !insertmacro UAC_RunElevated - - ${Switch} $0 - ${Case} 0 - ${IfThen} $1 = 1 ${|} Quit ${|} ;we are the outer process, the inner process has done its work, we are done. - ${IfThen} $3 <> 0 ${|} ${Break} ${|} ;we are admin, let the show go on - ${If} $2 = 3 ;RunAs completed successfully, but with a non-admin user - MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_TOPMOST|MB_SETFOREGROUND "Status Desktop setup requires admin privileges, try again" /SD IDNO IDYES uac_tryagain IDNO 0 - ${EndIf} - ;fall-through and die - ${Case} 1223 - ; User aborted elevation, continue regardless - ${Break} - ${Default} - ${MessageBox} mb_iconstop "Could not elevate process (errorcode $0), continuing with normal user privileges." IDOK '' - ${Break} - ${EndSwitch} - - ; The UAC plugin changes the error level even in the inner process, reset it. - SetErrorLevel -1 - ${EndIf} - - ; /update argument - Call ReadUpdateCommandline - - Call ReadSkipLicense - - Call GetUserInfo - - ; Initialize $ALL_USERS with default value - ${If} $IS_ADMIN == 1 - StrCpy $ALL_USERS 1 - ${Else} - StrCpy $ALL_USERS 0 - ${EndIf} - Call UpdateShellVarContext - - ; See if previous version exists - ; This can change ALL_USERS - Call ReadPreviousVersion - - ${If} $PREVIOUS_VERSION != "" - StrCpy $REINSTALL_UNINSTALL 1 - ${EndIf} - - ; Load _all_ previous settings. - ; Need to do it now as up to now, $ALL_USERS was possibly reflecting a - ; previous installation. After this call, $ALL_USERS reflects the requested - ; installation mode for this installation. - Call LoadPreviousSettings - - Call ReadAllUsersCommandline - - ${If} $ALL_USERS == 1 - ${If} $IS_ADMIN == 0 - - ${If} $PREVIOUS_VERSION != "" - ${MessageBox} MB_ICONSTOP "Status Desktop has been previously installed for all users.$\nPlease restart the installer with Administrator privileges." IDOK '' - Abort - ${Else} - ${MessageBox} MB_ICONSTOP "Cannot install for all users.$\nPlease restart the installer with Administrator privileges." IDOK '' - Abort - ${EndIf} - ${EndIf} - ${EndIf} - - ${If} $PREVIOUS_VERSION == "" - - StrCpy $PERFORM_UPDATE 0 - DetailPrint "No previous version of Status Desktop was found" - - ${Else} - - Push "${VERSION}" - Push $PREVIOUS_VERSION - Call StatusVersionCompare - - DetailPrint "Found previous version: $PREVIOUS_VERSION" - DetailPrint "Installing $PREVIOUS_VERSION_STATE version ${VERSION}" - - ${EndIf} - - StrCpy $ALL_USERS_DEFAULT $ALL_USERS - -FunctionEnd - -Function StatusVersionCompare - - Exch $1 - Exch - Exch $0 - - Push $2 - Push $3 - Push $4 - -versioncomparebegin: - ${If} $0 == "" - ${AndIf} $1 == "" - StrCpy $PREVIOUS_VERSION_STATE "same" - goto versioncomparedone - ${EndIf} - - StrCpy $2 0 - StrCpy $3 0 - - ; Parse rc / beta suffixes for segments - StrCpy $4 $0 2 - ${If} $4 == "rc" - StrCpy $2 100 - StrCpy $0 $0 "" 2 - ${Else} - StrCpy $4 $0 4 - ${If} $4 == "beta" - StrCpy $0 $0 "" 4 - ${Else} - StrCpy $2 10000 - ${EndIf} - ${EndIf} - - StrCpy $4 $1 2 - ${If} $4 == "rc" - StrCpy $3 100 - StrCpy $1 $1 "" 2 - ${Else} - StrCpy $4 $1 4 - ${If} $4 == "beta" - StrCpy $1 $1 "" 4 - ${Else} - StrCpy $3 10000 - ${EndIf} - ${EndIf} - -split1loop: - - StrCmp $0 "" split1loopdone - StrCpy $4 $0 1 - StrCpy $0 $0 "" 1 - StrCmp $4 "." split1loopdone - StrCmp $4 "-" split1loopdone - StrCpy $2 $2$4 - goto split1loop -split1loopdone: - -split2loop: - - StrCmp $1 "" split2loopdone - StrCpy $4 $1 1 - StrCpy $1 $1 "" 1 - StrCmp $4 "." split2loopdone - StrCmp $4 "-" split2loopdone - StrCpy $3 $3$4 - goto split2loop -split2loopdone: - - ${If} $2 > $3 - StrCpy $PREVIOUS_VERSION_STATE "newer" - ${ElseIf} $3 > $2 - StrCpy $PREVIOUS_VERSION_STATE "older" - ${Else} - goto versioncomparebegin - ${EndIf} - - -versioncomparedone: - - Pop $4 - Pop $3 - Pop $2 - Pop $1 - Pop $0 - -FunctionEnd - -Function PageDirectoryPre - - ${If} $PERFORM_UPDATE == 1 - Abort - ${EndIf} - - ${If} $REINSTALL_UNINSTALL == "1" - ${AndIf} $PREVIOUS_VERSION_STATE != "same" - - Abort - - ${EndIf} - -FunctionEnd - -Function PageStartmenuPre - - ${If} $PERFORM_UPDATE == 1 - Abort - ${EndIf} - - ${If} $REINSTALL_UNINSTALL == "1" - ${AndIf} $PREVIOUS_VERSION_STATE != "same" - - ${If} "$STARTMENU_FOLDER" == "" - - StrCpy "$STARTMENU_FOLDER" ">" - - ${EndIf} - - Abort - - ${EndIf} - -FunctionEnd - -Function .OnInstFailed -FunctionEnd - -Function .onInstSuccess - - ;${MementoSectionSave} - - - ; Detect multiple install directories - ${If} $OldRunDir != '' - ${GetFileVersion} $OldRunDir $R0 - ${GetFileVersion} "$INSTDIR\${AppExeName}" $R1 - - StrCpy $R2 $OldRunDir -14 - - ${If} $R0 != '' - ${AndIf} $R1 != '' - ${AndIf} $R0 != $R1 - ${MessageBox} MB_ICONEXCLAMATION 'Multiple installations of Status Desktop detected.$\n$\nStatus Desktop ${VERSION} has been installed to "$InstDir".$\nAn old installation of Status Desktop $R0 still exists in the "$R2" directory.$\n$\nPlease delete the old version in the "$R2" directory.' IDOK '' - ${EndIf} - ${EndIf} - -FunctionEnd - -;-------------------------------- -; Languages -;-------------------------------- - - !insertmacro MUI_LANGUAGE "English" - -;-------------------------------- -;Installer Sections -;-------------------------------- - -Section "Status Desktop" SecMain - - ;SectionIn 1 RO - - ${nsProcess::FindProcess} "${NodeJsServerExeName}" $R0 - - ${If} $R0 == 0 - DetailPrint "${NodeJsServerExeName} is running. Closing it down" - ${nsProcess::CloseProcess} "${NodeJsServerExeName}" $R0 - DetailPrint "Waiting for ${NodeJsServerExeName} to close" - Sleep 2000 - ${Else} - DetailPrint "${NodeJsServerExeName} was not found to be running" - ${EndIf} - - ${nsProcess::Unload} - - SetOutPath "$INSTDIR" - - File "${top_srcdir}\.env" - File "${top_srcdir}\node_modules\node-notifier\vendor\snoreToast\SnoreToast.exe" - File /r "${top_srcdir}\desktop\bin\" - File /r "${base_image_dir}\" - - SetOutPath "$INSTDIR\notifier" - File "${top_srcdir}\node_modules\node-notifier\vendor\notifu\*.exe" - - SetOutPath "$INSTDIR\assets\resources\fonts" - File /r "${top_srcdir}\resources\fonts\" - - SetOutPath "$INSTDIR\assets\desktop\resources" - File /r "${top_srcdir}\desktop\resources\" - - SetOutPath "$INSTDIR\assets\resources\images" - File /r "${top_srcdir}\resources\images\" - - ;Create uninstaller - WriteUninstaller "$INSTDIR\${UninstallExeName}" - - WriteRegStr SHCTX "${AppRegistryKeyPath}" "" $INSTDIR - WriteRegStr SHCTX "${AppRegistryKeyPath}" "Version" "${VERSION}" - - WriteRegDWORD SHCTX "${AppRegistryKeyPath}" "Updated" $PERFORM_UPDATE - - ${StrRep} $R0 "$INSTDIR\${UninstallExeName}" '"' '""' - WriteRegExpandStr SHCTX "${UninstallRegKeyPath}" "UninstallString" '"$R0"' - WriteRegExpandStr SHCTX "${UninstallRegKeyPath}" "InstallLocation" "$INSTDIR" - WriteRegStr SHCTX "${UninstallRegKeyPath}" "DisplayName" "Status Desktop ${VERSION}" - WriteRegStr SHCTX "${UninstallRegKeyPath}" "DisplayIcon" "$INSTDIR\${AppExeName}" - WriteRegStr SHCTX "${UninstallRegKeyPath}" "DisplayVersion" "${VERSION}" - WriteRegStr SHCTX "${UninstallRegKeyPath}" "URLInfoAbout" "${WEBSITE_URL}" - WriteRegStr SHCTX "${UninstallRegKeyPath}" "URLUpdateInfo" "${WEBSITE_URL}" - WriteRegStr SHCTX "${UninstallRegKeyPath}" "HelpLink" "${WEBSITE_URL}" - WriteRegStr SHCTX "${UninstallRegKeyPath}" "Publisher" "${PUBLISHER}" - WriteRegDWORD SHCTX "${UninstallRegKeyPath}" "VersionMajor" "${VERSION_MAJOR}" - WriteRegDWORD SHCTX "${UninstallRegKeyPath}" "VersionMinor" "${VERSION_MINOR}" - WriteRegDWORD SHCTX "${UninstallRegKeyPath}" "NoModify" "1" - WriteRegDWORD SHCTX "${UninstallRegKeyPath}" "NoRepair" "1" - - Call GetInstalledSize - WriteRegDWORD SHCTX "${UninstallRegKeyPath}" "EstimatedSize" "$GetInstalledSize.total" ; Create/Write the reg key with the dword value - - ;Add applications to the firewall exception list - All Networks - All IP Version - Enabled - SimpleFC::IsApplicationAdded "$INSTDIR\${AppExeName}" - Pop $0 ; return error(1)/success(0) - ${if} $0 == "0" - Pop $1 ; return 1=Added/0=Not added - ${if} $1 == "0" - ; SimpleFC::AddApplication [name] [path] [scope] [ip_version] [remote_addresses] [status] - SimpleFC::AddApplication "Status Desktop Ethereum Node" "$INSTDIR\${AppExeName}" 0 2 "" 1 - SimpleFC::AddApplication "Status Desktop Node.js Server" "$INSTDIR\${NodeJsServerExeName}" 1 2 "" 1 - ${endif} - ${endif} - - !insertmacro MUI_STARTMENU_WRITE_BEGIN Application - - ;Create shortcuts - SetOutPath "$INSTDIR" - CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER" - CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\${UninstallLinkName}" "$INSTDIR\${UninstallExeName}" - - ;CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\${AppLinkFileName}" "$INSTDIR\${AppExeName}" - !insertmacro SnoreShortcut "$SMPROGRAMS\$STARTMENU_FOLDER\${AppLinkFileName}" "$INSTDIR\${AppExeName}" "${AppUserModelId}" - - !insertmacro MUI_STARTMENU_WRITE_END - - ; Push $R0 - ; StrCpy $R0 "$STARTMENU_FOLDER" 1 - ; ${if} $R0 == ">" - ; ;Write folder to registry - ; WriteRegStr "${MUI_STARTMENUPAGE_Application_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_Application_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_Application_REGISTRY_VALUENAME}" ">" - ; ${endif} - ; Pop $R0 - - ${If} $ALL_USERS == 1 - ; Enable mini dumps - ${If} ${RunningX64} - SetRegView 64 - ${EndIf} - WriteRegDWORD HKLM "${DUMP_KEY}\${AppExeName}" "DumpType" "1" - WriteRegDWORD HKLM "${DUMP_KEY}\${NodeJsServerExeName}" "DumpType" "1" - ${If} ${RunningX64} - SetRegView lastused - ${EndIf} - ${EndIf} - - ; Register App Path so that typing status in Win+R dialog starts Status Desktop - WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\App Paths\${AppExeName}" "" "$INSTDIR\${AppExeName}" - WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\App Paths\${AppExeName}" "Path" "$INSTDIR" - -SectionEnd - -;-------------------------------- -; Functions -;-------------------------------- - -Function PostInstPage - - ; Don't advance automatically if details expanded - FindWindow $R0 "#32770" "" $HWNDPARENT - GetDlgItem $R0 $R0 1016 - System::Call user32::IsWindowVisible(i$R0)i.s - Pop $R0 - - ${If} $R0 != 0 - SetAutoClose false - ${EndIf} - -FunctionEnd - -Function GetInstalledSize - Push $0 - Push $1 - StrCpy $GetInstalledSize.total 0 - ${ForEach} $1 0 256 + 1 - ${if} ${SectionIsSelected} $1 - SectionGetSize $1 $0 - IntOp $GetInstalledSize.total $GetInstalledSize.total + $0 - ${Endif} - ${Next} - Pop $1 - Pop $0 - IntFmt $GetInstalledSize.total "0x%08X" $GetInstalledSize.total - Push $GetInstalledSize.total -FunctionEnd - -;-------------------------------- -; Descriptions -;-------------------------------- - - ; Language strings - LangString DESC_SecMain ${LANG_ENGLISH} "Required program files." - ;LangString DESC_SecDesktop ${LANG_ENGLISH} "Create desktop icon for FileZilla" - - ; Assign language strings to sections - !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${SecMain} $(DESC_SecMain) - ;!insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} $(DESC_SecDesktop) - !insertmacro MUI_FUNCTION_DESCRIPTION_END - -;-------------------------------- -; Uninstaller Variables -;-------------------------------- - -Var un.REMOVE_ALL_USERS -Var un.REMOVE_CURRENT_USER - -;-------------------------------- -;Uninstaller Functions -;-------------------------------- - -Function un.GetUserInfo - ClearErrors - UserInfo::GetName - ${If} ${Errors} - StrCpy $IS_ADMIN 1 - Return - ${EndIf} - Pop $USERNAME - - ${If} ${UAC_IsAdmin} - StrCpy $IS_ADMIN 1 - ${Else} - StrCpy $IS_ADMIN 0 - ${EndIf} - -FunctionEnd - -Function un.ReadPreviousVersion - - ReadRegStr $R0 HKLM "${AppRegistryKeyPath}" "" - - ${If} $R0 != "" - ;Detect version - ReadRegStr $R2 HKLM "${AppRegistryKeyPath}" "Version" - ${If} $R2 == "" - StrCpy $R0 "" - ${EndIf} - ${EndIf} - - ReadRegStr $R1 HKCU "${AppRegistryKeyPath}" "" - - ${If} $R1 != "" - ;Detect version - ReadRegStr $R2 HKCU "${AppRegistryKeyPath}" "Version" - ${If} $R2 == "" - StrCpy $R1 "" - ${EndIf} - ${EndIf} - - ${If} $R1 == $INSTDIR - Strcpy $un.REMOVE_CURRENT_USER 1 - ${EndIf} - ${If} $R0 == $INSTDIR - Strcpy $un.REMOVE_ALL_USERS 1 - ${EndIf} - ${If} $un.REMOVE_CURRENT_USER != 1 - ${AndIf} $un.REMOVE_ALL_USERS != 1 - ${If} $R1 != "" - Strcpy $un.REMOVE_CURRENT_USER 1 - ${If} $R0 == $R1 - Strcpy $un.REMOVE_ALL_USERS 1 - ${EndIf} - ${Else} - StrCpy $un.REMOVE_ALL_USERS = 1 - ${EndIf} - ${EndIf} - -FunctionEnd - -Function un.onInit - - ${un.GetParameters} $CommandLine - - ${un.GetOptions} $CommandLine "/quiet" $R1 - ${If} ${Errors} - StrCpy $Quiet 0 - ${Else} - StrCpy $Quiet 1 - SetSilent silent - ${EndIf} - - Call un.GetUserInfo - Call un.ReadPreviousVersion - - ${If} $un.REMOVE_ALL_USERS == 1 - ${AndIf} $IS_ADMIN == 0 -uac_tryagain: - !insertmacro UAC_RunElevated - - ${Switch} $0 - ${Case} 0 - ${IfThen} $1 = 1 ${|} Quit ${|} ;we are the outer process, the inner process has done its work, we are done. - ${IfThen} $3 <> 0 ${|} ${Break} ${|} ;we are admin, let the show go on - ${If} $2 = 3 ;RunAs completed successfully, but with a non-admin user - MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_TOPMOST|MB_SETFOREGROUND "Status Desktop setup requires admin privileges, try again" /SD IDNO IDYES uac_tryagain IDNO 0 - Abort - ${EndIf} - ;fall-through and die - ${Default} - ${MessageBox} MB_ICONSTOP "Status Desktop has been installed for all users.$\nPlease restart the uninstaller with Administrator privileges to remove it." IDOK '' - Abort - ${EndSwitch} - - ; The UAC plugin changes the error level even in the inner process, reset it. - SetErrorLevel -1 - ${EndIf} - -FunctionEnd - -Function un.RemoveStartmenu - - !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP - - Delete "$SMPROGRAMS\$MUI_TEMP\${UninstallLinkName}" - Delete "$SMPROGRAMS\$MUI_TEMP\${AppLinkFileName}" - - ${un.GetOptions} $CommandLine "/keepstartmenudir" $R1 - ${If} ${Errors} - - ; Delete empty start menu parent diretories - StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP" - - startMenuDeleteLoop: - RMDir $MUI_TEMP - GetFullPathName $MUI_TEMP "$MUI_TEMP\.." - - IfErrors startMenuDeleteLoopDone - - StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop - startMenuDeleteLoopDone: - - ${EndUnless} - -FunctionEnd - -Function un.ConfirmPagePre - - ${un.GetOptions} $CommandLine "/frominstall" $R1 - ${Unless} ${Errors} - Abort - ${EndUnless} - -FunctionEnd - -Function un.FinishPagePre - - ${un.GetOptions} $CommandLine "/frominstall" $R1 - ${Unless} ${Errors} - SetRebootFlag false - Abort - ${EndUnless} - -FunctionEnd - -;-------------------------------- -; Uninstaller Section -;-------------------------------- - -Section "Uninstall" - - SetShellVarContext all - - SetDetailsPrint lastused - - ${nsProcess::FindProcess} "${AppExeName}" $R0 - - ${If} $R0 == 0 - DetailPrint "${AppExeName} is running. Closing it down" - ${nsProcess::CloseProcess} "${AppExeName}" $R0 - DetailPrint "Waiting for ${AppExeName} to close" - Sleep 2000 - ${Else} - DetailPrint "${AppExeName} was not found to be running" - ${EndIf} - - ${nsProcess::FindProcess} "${NodeJsServerExeName}" $R0 - - ${If} $R0 == 0 - DetailPrint "${NodeJsServerExeName} is running. Closing it down" - ${nsProcess::CloseProcess} "${NodeJsServerExeName}" $R0 - DetailPrint "Waiting for ${NodeJsServerExeName} to close" - Sleep 2000 - ${Else} - DetailPrint "${NodeJsServerExeName} was not found to be running" - ${EndIf} - - ${nsProcess::Unload} - - SimpleFC::RemoveApplication "$INSTDIR\${AppExeName}" - SimpleFC::RemoveApplication "$INSTDIR\${NodeJsServerExeName}" - - Delete "$INSTDIR\.env" - Delete "$INSTDIR\*.dll" - Delete "$INSTDIR\${AppExeName}" - Delete "$INSTDIR\reportApp.exe" - Delete "$INSTDIR\vc_redist.x64.exe" - Delete "$INSTDIR\${NodeJsServerExeName}" - Delete "$INSTDIR\${UninstallExeName}" - RMDir /r "$INSTDIR\assets" - Delete "$INSTDIR\bearer\*.dll" - RMDir "$INSTDIR\bearer" - Delete "$INSTDIR\iconengines\*.dll" - RMDir "$INSTDIR\iconengines" - Delete "$INSTDIR\imageformats\*.dll" - RMDir "$INSTDIR\imageformats" - RMDir /r "$INSTDIR\node_modules" - Delete "$INSTDIR\notifier\*.exe" - RMDir "$INSTDIR\notifier" - Delete "$INSTDIR\platforms\*.dll" - RMDir "$INSTDIR\platforms" - RMDir /r "$INSTDIR\QtGraphicalEffects" - RMDir /r "$INSTDIR\QtQml" - RMDir /r "$INSTDIR\QtQuick" - RMDir /r "$INSTDIR\QtQuick.2" - RMDir /r "$INSTDIR\QtWebSockets" - Delete "$INSTDIR\styles\*.dll" - RMDir "$INSTDIR\styles" - Delete "$INSTDIR\translations\*.qm" - RMDir "$INSTDIR\translations" - - Delete "$INSTDIR" - - ${un.GetOptions} $CommandLine "/frominstall" $R1 - ${If} ${Errors} - RMDir /r /REBOOTOK "$INSTDIR" - - DeleteRegValue SHCTX "${AppRegistryKeyPath}" "Package" - DeleteRegValue SHCTX "${AppRegistryKeyPath}" "Updated" - DeleteRegValue SHCTX "${AppRegistryKeyPath}" "Channel" - ${EndIf} - - ${If} $un.REMOVE_ALL_USERS == 1 - SetShellVarContext all - Call un.RemoveStartmenu - - DeleteRegKey /ifempty HKLM "${AppRegistryKeyPath}" - DeleteRegKey /ifempty HKLM "${OrgRegistryKeyPath}" - DeleteRegKey HKLM "${UninstallRegKeyPath}" - - Delete "$DESKTOP\${AppLinkFileName}" - - ; Remove dump key - ${If} ${RunningX64} - SetRegView 64 - ${EndIf} - DeleteRegValue HKLM "${DUMP_KEY}\${AppExeName}" "DumpType" - DeleteRegValue HKLM "${DUMP_KEY}\${NodeJsServerExeName}" "DumpType" - ${If} ${RunningX64} - SetRegView lastused - ${EndIf} - ${EndIf} - - ${If} $un.REMOVE_CURRENT_USER == 1 - SetShellVarContext current - Call un.RemoveStartmenu - - DeleteRegKey /ifempty HKCU "${AppRegistryKeyPath}" - DeleteRegKey /ifempty HKCU "${OrgRegistryKeyPath}" - DeleteRegKey HKCU "${UninstallRegKeyPath}" - - Delete "$DESKTOP\${AppLinkFileName}" - ${EndIf} - - DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\App Paths\${AppExeName}" - -SectionEnd diff --git a/deployment/windows/resource.h b/deployment/windows/resource.h deleted file mode 100644 index 8f7a0e1fca..0000000000 --- a/deployment/windows/resource.h +++ /dev/null @@ -1,20 +0,0 @@ -//{{NO_DEPENDENCIES}} -// clang-format off -// Used by Status.rc - -#define IDI_STATUS 107 -#ifndef IDC_STATIC -#define IDC_STATIC -1 -#endif -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS - -#define _APS_NO_MFC 130 -#define _APS_NEXT_RESOURCE_VALUE 129 -#define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 110 -#endif -#endif diff --git a/deployment/windows/status.ico b/deployment/windows/status.ico deleted file mode 100644 index 5a8f1b5c0e..0000000000 Binary files a/deployment/windows/status.ico and /dev/null differ diff --git a/deployment/windows/targetver.h b/deployment/windows/targetver.h deleted file mode 100644 index 94495af9a9..0000000000 --- a/deployment/windows/targetver.h +++ /dev/null @@ -1,8 +0,0 @@ -#pragma once - -// Including SDKDDKVer.h defines the highest available Windows platform. - -// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and -// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. - -#include \ No newline at end of file diff --git a/desktop/CMakeLists.txt b/desktop/CMakeLists.txt deleted file mode 100644 index 31ee2fb296..0000000000 --- a/desktop/CMakeLists.txt +++ /dev/null @@ -1,99 +0,0 @@ - -# Copyright (C) 2016, Canonical Ltd. -# All rights reserved. - -# This source code is licensed under the BSD-style license found in the -# LICENSE file in the root directory of this source tree. An additional grant -# of patent rights can be found in the PATENTS file in the same directory. - -cmake_minimum_required(VERSION 3.12.1) - -set(APP_NAME Status) -set(JS_APP_NAME StatusIm) -set(REACT_BUILD_STATIC_LIB ON) - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUNICODE -std=c++11") -if(STATUS_NO_LOGGING) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSTATUS_NO_LOGGING") -endif() -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUNICODE -std=c11") -set(CMAKE_INSTALL_PREFIX bin) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_PREFIX}" CACHE PATH "Where to place compiled executables.") - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMakeModules/") - -project(${APP_NAME} C CXX) -set(${APP_NAME}_BINARY_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) - -set(USED_QT_MODULES Core Concurrent Qml Quick WebSockets Svg) -include(QtConfiguration) - -set(ICON_PNG_RESOURCE_PATH "${CMAKE_SOURCE_DIR}/../deployment/status-icon.png") -if (WIN32) - set(ICO_RESOURCE_PATH "${CMAKE_SOURCE_DIR}/../deployment/windows/status.ico") - set(APPLICATION_MAIN_RC_PATH "${CMAKE_SOURCE_DIR}/../deployment/windows/Status.rc") - - configure_file( - ${CMAKE_SOURCE_DIR}/../deployment/windows/Status.rc.in - ${APPLICATION_MAIN_RC_PATH} - ) -endif() - -message(STATUS "EXTERNAL_MODULES_DIR: ${EXTERNAL_MODULES_DIR}") - -string(REGEX MATCH "BUILD_FOR_BUNDLE" BUILD_FOR_BUNDLE "${CMAKE_CXX_FLAGS}") - -# It is important to distinguish between directory hierarchies -# in release and dev builds. Release contains .env -# in the root dir of the build, while dev build's current dir -# is status-react/desktop/bin, hence the need -# to jump two levels up. -# This is required by react-native-config library which references ENVFILE -# from its own CMakeLists.txt file, so it will read the value set here -if(${BUILD_FOR_BUNDLE} MATCHES "BUILD_FOR_BUNDLE") - set(ENVFILE "/.env") -else() - set(ENVFILE "/../../.env") -endif() - -foreach(external_module ${EXTERNAL_MODULES_DIR}) - message(STATUS "external_module: ${external_module}") - add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../${external_module} ${CMAKE_CURRENT_BINARY_DIR}/${external_module}) -endforeach(external_module) - -add_subdirectory(reportApp) - -# Import any new Qt modules that have been added by external dependencies -import_qt_modules() - -# APPLICATION_MAIN_CPP_PATH contains absolute path to generated template copy of main.cpp for application executable -get_filename_component(APPLICATION_MAIN_CPP_PATH main.cpp ABSOLUTE) - -set(REACTQT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../node_modules/react-native/React) -include_directories(${REACTQT_DIR}/Layout) -add_subdirectory(${REACTQT_DIR}Qt/runtime/src ${CMAKE_CURRENT_BINARY_DIR}/lib) -add_subdirectory(${REACTQT_DIR}Qt/application/src ${CMAKE_CURRENT_BINARY_DIR}/bin) - -if (Qt5_POSITION_INDEPENDENT_CODE) - SET(CMAKE_POSITION_INDEPENDENT_CODE ON) -endif(Qt5_POSITION_INDEPENDENT_CODE) - -target_sources(${APP_NAME} - PRIVATE - "${CMAKE_CURRENT_LIST_DIR}/appconfig.h" - "${CMAKE_CURRENT_LIST_DIR}/appconfig.cpp") - -#set(SOURCE_ROOT ${CMAKE_SOURCE_DIR}) -include(CompleteBundle) - -if (WIN32) - set(RUN_SCRIPT_FILE_NAME "run-app.bat") -else() - set(RUN_SCRIPT_FILE_NAME "run-app.sh") -endif() - -configure_file( - ${RUN_SCRIPT_FILE_NAME}.in - ${CMAKE_CURRENT_BINARY_DIR}/${RUN_SCRIPT_FILE_NAME} - @ONLY -) diff --git a/desktop/CMakeModules/CompleteBundle.cmake b/desktop/CMakeModules/CompleteBundle.cmake deleted file mode 100644 index 39151c73c4..0000000000 --- a/desktop/CMakeModules/CompleteBundle.cmake +++ /dev/null @@ -1,12 +0,0 @@ -if(APPLE) - set(SCRIPT CompleteBundleOSX) -elseif(WIN32) - set(SCRIPT CompleteBundleWin) -elseif(UNIX) - set(SCRIPT CompleteBundleLinux) -endif(APPLE) - -if(SCRIPT AND EXISTS ${CMAKE_SOURCE_DIR}/CMakeModules/${SCRIPT}.cmake.in) - configure_file(${CMAKE_SOURCE_DIR}/CMakeModules/${SCRIPT}.cmake.in ${SCRIPT}.cmake @ONLY) - include(${CMAKE_CURRENT_BINARY_DIR}/${SCRIPT}.cmake) -endif() diff --git a/desktop/CMakeModules/CompleteBundleWin.cmake.in b/desktop/CMakeModules/CompleteBundleWin.cmake.in deleted file mode 100644 index 7722cd4fcb..0000000000 --- a/desktop/CMakeModules/CompleteBundleWin.cmake.in +++ /dev/null @@ -1,62 +0,0 @@ -# windeployqt should be used here, but since we get the `Not implemented` error from it, we're trying to manually copy artifacts to output directory -set(TARGET_DIR "${@APP_NAME@_BINARY_DIR}") - -########################################################################################################## -# -# NOTE: Remember to reflect any changes on the setup generation procedure in /deployment/windows/nsis/setup.nsi -# -########################################################################################################## - -set(qtmodules Core Quick QuickTemplates2 QuickControls2 WebSockets Widgets Gui Network Svg Qml Concurrent) -if(USE_QTWEBKIT) - set(qtmodules ${qtmodules} Multimedia WebKit WebKitWidgets WebChannel) - - add_custom_command(TARGET @APP_NAME@ POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "@CONAN_BIN_DIRS_QT5-MXE@/QtWebProcess.exe" - ${TARGET_DIR} - BYPRODUCTS ${TARGET_DIR}/QtWebProcess.exe) -endif() -foreach(qtmodule ${qtmodules}) - message(STATUS "Copying ${qtmodule} module to ${TARGET_DIR}") - file(COPY "@CONAN_BIN_DIRS_QT5-MXE@/Qt5${qtmodule}.dll" DESTINATION "${TARGET_DIR}") -endforeach(qtmodule ${qtmodules}) -if(EXISTS "@QTROOT@/translations") - message(STATUS "Copying translations module to ${TARGET_DIR}") - file(COPY "@QTROOT@/translations" DESTINATION "${TARGET_DIR}") -endif() - -set(qtplugindirs "bearer" "platforms" "styles" "iconengines" "imageformats") -foreach(qtplugindir ${qtplugindirs}) - message(STATUS "Copying plugin ${qtplugindir} to ${TARGET_DIR}/${qtplugindir}") - file(COPY "@CONAN_BIN_DIRS_QT5-MXE@/../plugins/${qtplugindir}/" DESTINATION "${TARGET_DIR}/${qtplugindir}") -endforeach() - -set(qtqmldirs "QtQuick" "QtQuick.2" "QtGraphicalEffects" "QtWebSockets" "QtQml") -if(USE_QTWEBKIT) - set(qtqmldirs ${qtqmldirs} "QtWebKit" "QtWebChannel") -endif() -foreach(qtqmldir ${qtqmldirs}) - message(STATUS "Copying QML dir for ${qtqmldir} to ${TARGET_DIR}/${qtqmldir}") - file(COPY "@CONAN_BIN_DIRS_QT5-MXE@/../qml/${qtqmldir}/" DESTINATION "${TARGET_DIR}/${qtqmldir}") -endforeach() - -set(deps_qt5 "libpng16-16" "libharfbuzz-0" "zlib1" "libpcre2-16-0" - "libpcre-1" "libcrypto-1_1-x64" "libssl-1_1-x64" "libfreetype-6" - "libglib-2.0-0" "libstdc++-6" "libbz2" "libintl-8" "libiconv-2" - "icuin56" "icuuc56" "icudt56" "libjpeg-9" "libsqlite3-0" "libwebp-5" "libgcc_s_seh-1") -set(TOOLCHAIN_BINDIRS "@CONAN_BIN_DIRS_MXETOOLCHAIN-X86_64-W64-MINGW32@") -separate_arguments(TOOLCHAIN_BINDIRS) -foreach(lib ${deps_qt5}) - foreach(bindir ${TOOLCHAIN_BINDIRS}) - set(lib_full_path "${bindir}/${lib}.dll") - if(EXISTS "${lib_full_path}") - break() - endif() - endforeach() - if(NOT EXISTS "${lib_full_path}") - set(lib_full_path "@CONAN_BIN_DIRS_QT5-MXE@/${lib}.dll") - endif() - message(STATUS "Copying ${lib_full_path} to ${TARGET_DIR}") - file(COPY ${lib_full_path} DESTINATION ${TARGET_DIR}) -endforeach(lib ${deps_qt5}) diff --git a/desktop/CMakeModules/QtConfiguration.cmake b/desktop/CMakeModules/QtConfiguration.cmake deleted file mode 100644 index 47e756e20d..0000000000 --- a/desktop/CMakeModules/QtConfiguration.cmake +++ /dev/null @@ -1,86 +0,0 @@ -macro(import_qt_modules) - set(REQUIRED_QT_VERSION "5.9.1") - - set(QTCONFIGROOT ${QTROOT}/lib/cmake/Qt5) - - foreach(COMP ${USED_QT_MODULES}) - set(mod Qt5${COMP}) - - # look for the config files in the QtConfigRoot defined above - set(${mod}_DIR ${QTCONFIGROOT}${COMP}) - - # look for the actual package - find_package(${mod} ${REQUIRED_QT_VERSION} REQUIRED) - - #message("${mod}_INCLUDE_DIRS: include_directories(${${mod}_INCLUDE_DIRS})") - include_directories(${${mod}_INCLUDE_DIRS}) - if (${COMP} STREQUAL "Quick") - # We need to include the private headers for QZipWriter. If in the future we can't use that class anymore, we can always resort to the QuaZIP OSS library - include_directories(${${mod}_PRIVATE_INCLUDE_DIRS}) - endif() - - list(APPEND QT5_LIBRARIES ${${mod}_LIBRARIES}) - list(APPEND QT5_CFLAGS ${${mod}_EXECUTABLE_COMPILE_FLAGS}) - endforeach(COMP ${USED_QT_MODULES}) -endmacro(import_qt_modules) - -if(WIN32) - # Download automatically, you can also just copy the conan.cmake file - # TODO: Create packages of qt5 for Linux and MacOS too, so that we can rely strictly on this branch of code - if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake") - message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan") - file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/9cc97acda619b7917f140415241785a864482b11/conan.cmake" - "${CMAKE_BINARY_DIR}/conan.cmake") - endif() - - include(${CMAKE_BINARY_DIR}/conan.cmake) - - conan_check() - - if(USE_QTWEBKIT) - set(_QT_PACKAGE_OPTIONS "qt5-mxe:webkit=True") - endif() - conan_cmake_run(REQUIRES qt5-mxe/5.11.2@status-im/stable - PROFILE ../node_modules/status-conan/profiles/status-mingw32-x86_64 - SETTINGS "qt5-mxe:os=Windows" "qt5-mxe:arch=x86_64" - OPTIONS ${_QT_PACKAGE_OPTIONS} - BUILD never) - - set(QTROOT "${CONAN_QT5-MXE_ROOT}") -else(WIN32) - set(QTROOT "$ENV{QT_PATH}") -endif(WIN32) - -if(NOT EXISTS ${QTROOT}/bin/qt.conf) - if(EXISTS ${QTROOT}/gcc_64/bin/qt.conf) - set(QTROOT "${QTROOT}/gcc_64") - elseif(EXISTS ${QTROOT}/clang_64/bin/qt.conf) - set(QTROOT "${QTROOT}/clang_64") - else() - message(FATAL_ERROR "Could not find qt.conf in ${QTROOT}/bin nor in ${QTROOT}/clang_64/bin nor in ${QTROOT}/gcc_64/bin. Is QTROOT correctly defined?") - endif() -endif() - -if(WIN32) - set(WINARCHSTR ARCHSTR windows-x86_64) -endif(WIN32) - -message(STATUS "Qt root directory: ${QTROOT}") - -list(APPEND CMAKE_FIND_ROOT_PATH ${QTROOT}) -list(APPEND CMAKE_PREFIX_PATH ${QTROOT}) -include_directories(${QTROOT}/include) - -import_qt_modules() - -if(QT5_CFLAGS) - list(REMOVE_DUPLICATES QT5_CFLAGS) - if(WIN32) - list(REMOVE_ITEM QT5_CFLAGS -fPIC) - endif(WIN32) -endif(QT5_CFLAGS) - -message(STATUS "Qt version: ${Qt5Core_VERSION_STRING}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${QT5_CFLAGS}") - -set(CMAKE_REQUIRED_LIBRARIES ${QT5_LIBRARIES}) diff --git a/desktop/Toolchain-Ubuntu-mingw64.cmake b/desktop/Toolchain-Ubuntu-mingw64.cmake deleted file mode 100644 index 1ca2df5a48..0000000000 --- a/desktop/Toolchain-Ubuntu-mingw64.cmake +++ /dev/null @@ -1,19 +0,0 @@ -# Toolchain file for building for Windows from an Ubuntu Linux system. -# -# Typical usage: -# *) install cross compiler: `sudo apt-get install mingw-w64 g++-mingw-w64` -# *) cmake -DCMAKE_TOOLCHAIN_FILE=~/Toolchain-Ubuntu-mingw64.cmake .. - -message(STATUS "Cross-compiling for Windows") - -set(CMAKE_SYSTEM_NAME Windows) -if(NOT "${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Linux") - message(FATAL_ERROR "Can only cross-compile to Windows from Linux") -endif() - -set(USE_QTWEBKIT OFF) - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/toolchain/") -include(conanbuildinfo) -#conan_basic_setup() -conan_global_flags() diff --git a/desktop/appconfig.cpp b/desktop/appconfig.cpp deleted file mode 100644 index 7a90204414..0000000000 --- a/desktop/appconfig.cpp +++ /dev/null @@ -1,76 +0,0 @@ -#include "appconfig.h" - -#include - -#include - -const QStringList loggingCategories = - {"UIManager", - "Flexbox", - "WebSocketModule", - "Networking", - "ViewManager", - "RCTNotification", - "default", - "RCTStatus", - "jsserver", - "status"}; - -const QString SETTINGS_GROUP_NAME = "im/status"; -const QString AppConfig::LOGGING_ENABLED = "logging_enabled"; - -Q_LOGGING_CATEGORY(APPCONFIG, "AppConfig") - -AppConfig AppConfig::appConfig; - -AppConfig::AppConfig() -: settings("Status.im", "StatusDesktop") { - settings.beginGroup(SETTINGS_GROUP_NAME); - - // Set default values - if (settings.value(LOGGING_ENABLED).isNull()) { - settings.setValue(LOGGING_ENABLED, false); - } - - QStringList keys = settings.allKeys(); - for (int i = 0; i < keys.size(); ++i) { - processFx(keys[i], settings.value(keys[i])); - } -} - -AppConfig& AppConfig::inst() { - return appConfig; -} - -QVariant AppConfig::getValue(const QString& name) const { - return settings.value(name); -} - -void AppConfig::setValue(const QString& name, const QVariant& value) { - processFx(name, value); - settings.setValue(name, value); -} - -// This fn is for processing side-effects of a particular value -void AppConfig::processFx(const QString& name, const QVariant& value) const { - //qCDebug(APPCONFIG) << "### processFx group" << settings.group() << " " << name << ": " << value; - if (name == LOGGING_ENABLED) { - bool enabled = value.toBool(); - //qCDebug(APPCONFIG) << "### processFx" << name << ": " << value << ": " << enabled; - QLoggingCategory::setFilterRules(getLoggingFilterRules(enabled)); - } -} - -QString AppConfig::getLoggingFilterRules(bool enabled) const { - if (enabled) { - return "UIManager=false\nFlexbox=false\nViewManager=false\nNetworking=false\nWebSocketModule=false"; - } - else { - QString filterRules; - for (int i = 0; i < loggingCategories.size(); ++i) { - filterRules += (loggingCategories.at(i) + "=false\n"); - } - return filterRules; - } -} - diff --git a/desktop/appconfig.h b/desktop/appconfig.h deleted file mode 100644 index 812fc75935..0000000000 --- a/desktop/appconfig.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef APPCONFIG_H -#define APPCONFIG_H - -#include -#include -#include - -// This class is intended to store app configuration -// modifiable from JS side -// Currently, only logging-related settings are here -// that are used by react-native-desktop-config module -class AppConfig { -public: - - static AppConfig& inst(); - - QVariant getValue(const QString& name) const; - void setValue(const QString& name, const QVariant& value); - - const static QString LOGGING_ENABLED; -private: - AppConfig(); - - static AppConfig appConfig; - QSettings settings; - - QString getLoggingFilterRules(bool enabled) const; - void processFx(const QString& name, const QVariant& value) const; -}; -#endif // APPCONFIG_H - diff --git a/desktop/build.bat b/desktop/build.bat deleted file mode 100644 index 9158b84b08..0000000000 --- a/desktop/build.bat +++ /dev/null @@ -1,36 +0,0 @@ -@rem Copyright (c) 2017-present, Status Research and Development GmbH. -@rem All rights reserved. -@rem -@rem This source code is licensed under the BSD-style license found in the -@rem LICENSE file in the root directory of this source tree. An additional grant -@rem of patent rights can be found in the PATENTS file in the same directory. - -@echo off -setlocal EnableDelayedExpansion - -set "option=" -for %%a in (%*) do ( - if not defined option ( - set arg=%%a - if "!arg:~0,1!" equ "-" set "option=!arg!" - ) else ( - set "option!option!=%%a" - set "option=" - ) -) - -SET option -@echo on - -echo "build.bat external modules paths: "%option-e% -echo "build.bat JS bundle path: "%option-j% -echo "build.bat desktop fonts: "%option-f% -echo "build.bat desktop images: "%option-i% -echo "build.bat cmake generator: "%option-g% - -@rem Workaround -@rem rm -rf CMakeFiles CMakeCache.txt cmake_install.cmake Makefile - -@rem Build project -echo %CD% -cmake -DCMAKE_BUILD_TYPE=Debug -G %option-g% -DEXTERNAL_MODULES_DIR=%option-e% -DJS_BUNDLE_PATH=%option-j% -DDESKTOP_FONTS=%option-f% -DDESKTOP_IMAGES=%option-i% . && cmake --build . diff --git a/desktop/build.sh b/desktop/build.sh deleted file mode 100755 index 0767e2cc66..0000000000 --- a/desktop/build.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (C) 2016, Canonical Ltd. -# All rights reserved. - -# This source code is licensed under the BSD-style license found in the -# LICENSE file in the root directory of this source tree. An additional grant -# of patent rights can be found in the PATENTS file in the same directory. - -# XXX: Don't move this script -cd $(dirname $0) - -while (( "$#" )); do -if [[ $1 == "-e" ]]; then - shift - ExternalModulesPaths="$1" -fi -if [[ $1 == "-j" ]]; then - shift - JsBundlePath="$1" -fi -if [[ $1 == "-f" ]]; then - shift - desktopFonts="$1" -fi -if [[ $1 == "-i" ]]; then - shift - desktopImages="$1" -fi -shift -done - -echo "build.sh external modules paths: "$ExternalModulesPaths -echo "build.sh JS bundle path: "$JsBundlePath -echo "build.sh desktop fonts: "$desktopFonts -echo "build.sh desktop images: "$desktopImages - -# Workaround -rm -rf CMakeFiles CMakeCache.txt cmake_install.cmake Makefile - -# Build project -cmake -DCMAKE_BUILD_TYPE=Debug \ - -DEXTERNAL_MODULES_DIR="$ExternalModulesPaths" \ - -DJS_BUNDLE_PATH="$JsBundlePath" \ - -DDESKTOP_FONTS="$desktopFonts" \ - -DDESKTOP_IMAGES="$desktopImages" \ - -DCMAKE_INSTALL_COMPONENT='' \ - . && \ -make diff --git a/desktop/js_files/package.json b/desktop/js_files/package.json deleted file mode 100644 index b3dbae5f23..0000000000 --- a/desktop/js_files/package.json +++ /dev/null @@ -1,216 +0,0 @@ -{ - "name": "StatusIm-Desktop", - "version": "0.0.1", - "private": true, - "scripts": { - "start": "node node_modules/react-native/local-cli/cli.js start", - "prepare": "patch-package" - }, - "dependencies": { - "assert": "^1.4.1", - "bignumber.js": "git+https://github.com/status-im/bignumber.js.git#v4.0.2-status", - "buffer": "^3.6.0", - "chance": "^1.1.3", - "create-react-class": "^15.6.2", - "emojilib": "^2.2.9", - "eth-phishing-detect": "^1.1.13", - "events": "^1.1.1", - "functional-red-black-tree": "^1.0.1", - "google-breakpad": "git+https://github.com/status-im/google-breakpad.git#v0.9.0", - "hi-base32": "^0.5.0", - "i18n-js": "^3.5.0", - "identicon.js": "git+https://github.com/status-im/identicon.js.git#v1.2.1-status", - "metro": "^0.48.1", - "nfc-react-native": "git+https://github.com/status-im/nfc-react-native.git#v0.3.8-status", - "qrcode": "^1.4.4", - "react": "^16.12.0", - "react-dom": "^16.12.0", - "react-native": "git+https://github.com/status-im/react-native-desktop.git#v0.57.8_11", - "react-native-background-timer": "^2.0.0", - "react-native-camera": "^3.9.0", - "react-native-config": "git+https://github.com/status-im/react-native-config.git#v0.11.2-status", - "react-native-dialogs": "^0.0.20", - "react-native-fetch-polyfill": "^1.1.2", - "react-native-fs": "git+https://github.com/status-im/react-native-fs.git#v2.9.7-status", - "react-native-gesture-handler": "^1.5.0", - "react-native-image-crop-picker": "^0.26.1", - "react-native-image-resizer": "^1.1.0", - "react-native-keychain": "git+https://github.com/status-im/react-native-keychain.git#v.3.0.0-4-status", - "react-native-languages": "git+https://github.com/status-im/react-native-languages.git#v0.1.1-status", - "react-native-navigation-twopane": "git+https://github.com/status-im/react-native-navigation-twopane.git#v0.0.2-status", - "react-native-os": "^1.1.0", - "react-native-splash-screen": "^3.0.6", - "react-native-webview-bridge": "git+https://github.com/status-im/react-native-webview-bridge.git#0.33.16-status-rn049-desktop", - "react-navigation": "^3.11.0", - "status-conan": "git+https://github.com/status-im/status-conan.git#v1.0.0", - "web3-utils": "^1.2.4" - }, - "devDependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/helper-builder-react-jsx": "^7.7.0", - "@babel/plugin-transform-block-scoping": "7.0.0", - "@babel/preset-env": "^7.7.1", - "@babel/register": "^7.7.0", - "babel-preset-react-native": "^5.0.2", - "coveralls": "^3.0.7", - "metro-react-native-babel-preset": "^0.57.0", - "nyc": "^14.1.1", - "patch-package": "^5.1.1", - "rn-snoopy": "git+https://github.com/status-im/rn-snoopy.git#v2.0.2-status" - }, - "optionalDependencies": { - "appdmg": "^0.6.0" - }, - "desktopExternalModules": [ - "node_modules/react-native-languages/desktop", - "node_modules/react-native-config/desktop", - "node_modules/react-native-fs/desktop", - "node_modules/react-native-webview-bridge/desktop", - "node_modules/react-native-keychain/desktop", - "modules/react-native-status/desktop", - "modules/react-native-desktop-linking/desktop", - "modules/react-native-desktop-menu/desktop", - "modules/react-native-desktop-config/desktop", - "modules/react-native-desktop-shortcuts/desktop", - "modules/react-native-desktop-notification/desktop", - "modules/react-native-desktop-gesture-handler/desktop", - "node_modules/google-breakpad" - ], - "desktopFonts": [ - "../../../../../resources/fonts/Inter-BlackItalic.otf", - "../../../../../resources/fonts/Inter-Black.otf", - "../../../../../resources/fonts/Inter-BoldItalic.otf", - "../../../../../resources/fonts/Inter-Bold.otf", - "../../../../../resources/fonts/Inter-ExtraBoldItalic.otf", - "../../../../../resources/fonts/Inter-ExtraBold.otf", - "../../../../../resources/fonts/Inter-ExtraLight-BETA.otf", - "../../../../../resources/fonts/Inter-ExtraLightItalic-BETA.otf", - "../../../../../resources/fonts/Inter-Italic.otf", - "../../../../../resources/fonts/Inter-Light-BETA.otf", - "../../../../../resources/fonts/Inter-LightItalic-BETA.otf", - "../../../../../resources/fonts/Inter-MediumItalic.otf", - "../../../../../resources/fonts/Inter-Medium.otf", - "../../../../../resources/fonts/Inter-Regular.otf", - "../../../../../resources/fonts/Inter-SemiBoldItalic.otf", - "../../../../../resources/fonts/Inter-SemiBold.otf", - "../../../../../resources/fonts/Inter-Thin-BETA.otf", - "../../../../../resources/fonts/Inter-ThinItalic-BETA.otf" - ], - "desktopImages": [ - "../../../../../desktop/resources/add.png", - "../../../../../desktop/resources/address.png", - "../../../../../desktop/resources/add_contact.png", - "../../../../../desktop/resources/arrow_left.png", - "../../../../../desktop/resources/arrow_right.png", - "../../../../../desktop/resources/arrow_up.png", - "../../../../../desktop/resources/back.png", - "../../../../../desktop/resources/backspace.png", - "../../../../../desktop/resources/bell.png", - "../../../../../desktop/resources/browser.png", - "../../../../../desktop/resources/camera.png", - "../../../../../desktop/resources/cancel.png", - "../../../../../desktop/resources/change.png", - "../../../../../desktop/resources/check.png", - "../../../../../desktop/resources/close.png", - "../../../../../desktop/resources/commands.png", - "../../../../../desktop/resources/copy.png", - "../../../../../desktop/resources/corner_left_bottom.png", - "../../../../../desktop/resources/corner_left_top.png", - "../../../../../desktop/resources/corner_right_bottom.png", - "../../../../../desktop/resources/corner_right_top.png", - "../../../../../desktop/resources/dapp.png", - "../../../../../desktop/resources/delete.png", - "../../../../../desktop/resources/desktop.png", - "../../../../../desktop/resources/download.png", - "../../../../../desktop/resources/dropdown.png", - "../../../../../desktop/resources/dropdown_up.png", - "../../../../../desktop/resources/edit.png", - "../../../../../desktop/resources/filter.png", - "../../../../../desktop/resources/fingerprint.png", - "../../../../../desktop/resources/flash.png", - "../../../../../desktop/resources/flash_active.png", - "../../../../../desktop/resources/group_chat.png", - "../../../../../desktop/resources/help.png", - "../../../../../desktop/resources/history.png", - "../../../../../desktop/resources/home.png", - "../../../../../desktop/resources/home_1.png", - "../../../../../desktop/resources/icon_action_back.png", - "../../../../../desktop/resources/icon_action_forward.png", - "../../../../../desktop/resources/icon_action_fullscreen_collapse.png", - "../../../../../desktop/resources/icon_action_fullscreen_expand.png", - "../../../../../desktop/resources/icon_arrow_top.png", - "../../../../../desktop/resources/icon_avatar.png", - "../../../../../desktop/resources/icon_check_on.png", - "../../../../../desktop/resources/icon_close_light_gray.png", - "../../../../../desktop/resources/icon_forward_gray.png", - "../../../../../desktop/resources/icon_lock_gray.png", - "../../../../../desktop/resources/icon_lock_white.png", - "../../../../../desktop/resources/icon_menu_group.png", - "../../../../../desktop/resources/icon_money_white.png", - "../../../../../desktop/resources/icon_muted.png", - "../../../../../desktop/resources/icon_notifications_on.png", - "../../../../../desktop/resources/icon_phone_white.png", - "../../../../../desktop/resources/ic_background.png", - "../../../../../desktop/resources/ic_foreground.png", - "../../../../../desktop/resources/ic_stat_status_notification.png", - "../../../../../desktop/resources/info.png", - "../../../../../desktop/resources/in_contacts.png", - "../../../../../desktop/resources/keycard.png", - "../../../../../desktop/resources/keycard_logo.png", - "../../../../../desktop/resources/language.png", - "../../../../../desktop/resources/launch_logo.png", - "../../../../../desktop/resources/link.png", - "../../../../../desktop/resources/logo.png", - "../../../../../desktop/resources/log_out.png", - "../../../../../desktop/resources/mailserver.png", - "../../../../../desktop/resources/make_admin.png", - "../../../../../desktop/resources/max.png", - "../../../../../desktop/resources/message.png", - "../../../../../desktop/resources/mobile.png", - "../../../../../desktop/resources/more.png", - "../../../../../desktop/resources/network.png", - "../../../../../desktop/resources/next.png", - "../../../../../desktop/resources/notification.png", - "../../../../../desktop/resources/one_on_one_chat.png", - "../../../../../desktop/resources/password.png", - "../../../../../desktop/resources/paste.png", - "../../../../../desktop/resources/photo.png", - "../../../../../desktop/resources/profile.png", - "../../../../../desktop/resources/public_chat.png", - "../../../../../desktop/resources/qr.png", - "../../../../../desktop/resources/receive.png", - "../../../../../desktop/resources/refresh.png", - "../../../../../desktop/resources/remove_contact.png", - "../../../../../desktop/resources/reply.png", - "../../../../../desktop/resources/rotate_camera.png", - "../../../../../desktop/resources/search.png", - "../../../../../desktop/resources/security.png", - "../../../../../desktop/resources/send.png", - "../../../../../desktop/resources/settings.png", - "../../../../../desktop/resources/settings_advanced.png", - "../../../../../desktop/resources/share.png", - "../../../../../desktop/resources/stickers.png", - "../../../../../desktop/resources/text.png", - "../../../../../desktop/resources/tiny_arrow_down.png", - "../../../../../desktop/resources/tiny_check.png", - "../../../../../desktop/resources/tiny_clear.png", - "../../../../../desktop/resources/tiny_edit.png", - "../../../../../desktop/resources/tiny_external.png", - "../../../../../desktop/resources/tiny_group.png", - "../../../../../desktop/resources/tiny_lock.png", - "../../../../../desktop/resources/tiny_lock_broken.png", - "../../../../../desktop/resources/tiny_new_contact.png", - "../../../../../desktop/resources/tiny_pending.png", - "../../../../../desktop/resources/tiny_public.png", - "../../../../../desktop/resources/tiny_settings.png", - "../../../../../desktop/resources/tiny_tribute_to_talk.png", - "../../../../../desktop/resources/tribute_to_talk.png", - "../../../../../desktop/resources/two_arrows.png", - "../../../../../desktop/resources/username.png", - "../../../../../desktop/resources/user_profile.png", - "../../../../../desktop/resources/user_profile_1.png", - "../../../../../desktop/resources/wallet.png", - "../../../../../desktop/resources/warning.png" - ] -} diff --git a/desktop/js_files/yarn.lock b/desktop/js_files/yarn.lock deleted file mode 100644 index 460788d77d..0000000000 --- a/desktop/js_files/yarn.lock +++ /dev/null @@ -1,8133 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.47.tgz#d18c2f4c4ba8d093a2bcfab5616593bfe2441a27" - integrity sha512-W7IeG4MoVf4oUvWfHUx9VG9if3E0xSUDf1urrnNYtC2ow1dz2ptvQ6YsJfyVXDuPTFXz66jkHhzMW7a5Eld7TA== - dependencies: - "@babel/highlight" "7.0.0-beta.47" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/core@^7.0.0": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.4.tgz#6ebd9fe00925f6c3e177bb726a188b5f578088ff" - integrity sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.6.4" - "@babel/helpers" "^7.6.2" - "@babel/parser" "^7.6.4" - "@babel/template" "^7.6.0" - "@babel/traverse" "^7.6.3" - "@babel/types" "^7.6.3" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.7.2": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.2.tgz#ea5b99693bcfc058116f42fa1dd54da412b29d91" - integrity sha512-eeD7VEZKfhK1KUXGiyPFettgF3m513f8FoBSWiQ1xTvl1RAopLs42Wp9+Ze911I6H0N9lNqJMDgoZT7gHsipeQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.7.2" - "@babel/helpers" "^7.7.0" - "@babel/parser" "^7.7.2" - "@babel/template" "^7.7.0" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.7.2" - convert-source-map "^1.7.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.47.tgz#1835709f377cc4d2a4affee6d9258a10bbf3b9d1" - integrity sha512-fJP+9X+gqgTTZzTqrKJHwebPwt6S/e/4YuyRyKyWHAIirGgUwjRoZgbFci24wwGYMJW7nlkCSwWG7QvCVsG0eg== - dependencies: - "@babel/types" "7.0.0-beta.47" - jsesc "^2.5.1" - lodash "^4.17.5" - source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/generator@^7.0.0", "@babel/generator@^7.4.0", "@babel/generator@^7.6.3", "@babel/generator@^7.6.4": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.4.tgz#a4f8437287bf9671b07f483b76e3bb731bc97671" - integrity sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w== - dependencies: - "@babel/types" "^7.6.3" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/generator@^7.7.2": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.2.tgz#2f4852d04131a5e17ea4f6645488b5da66ebf3af" - integrity sha512-WthSArvAjYLz4TcbKOi88me+KmDJdKSlfwwN8CnUYn9jBkzhq0ZEPuBfkAWIvjJ3AdEV1Cf/+eSQTnp3IDJKlQ== - dependencies: - "@babel/types" "^7.7.2" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.47.tgz#354fb596055d9db369211bf075f0d5e93904d6f6" - integrity sha512-Pjxb/PrxyKWc7jcAXlawvNAQMxxY+tSSNC5wxJstJjpO10mocmGzBOqNYjxdvVhMb3d0BEPQ8mR+D65fFpZ+TA== - dependencies: - "@babel/types" "7.0.0-beta.47" - -"@babel/helper-annotate-as-pure@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" - integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-annotate-as-pure@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.0.tgz#efc54032d43891fe267679e63f6860aa7dbf4a5e" - integrity sha512-k50CQxMlYTYo+GGyUGFwpxKVtxVJi9yh61sXZji3zYHccK9RYliZGSTOgci85T+r+0VFN2nWbGM04PIqwfrpMg== - dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.47.tgz#d5917c29ee3d68abc2c72f604bc043f6e056e907" - integrity sha512-nv8d6TcDBb1CJMQzwab/e0rqyqoP9d2AQBjr4GdSiVRpJX4aiLEiLBm2XprdEb/sVIRmmBnVxPXJaHDsS/K2fw== - dependencies: - "@babel/helper-explode-assignable-expression" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" - integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-builder-react-jsx@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.47.tgz#e39bbce315743044c0d64b31f82f20600f761729" - integrity sha512-oBGX/MyT4kNGuINK2k/KLHD77Ih1oTROtoxnV3uAPS9rLYhmZn3W8qy2L4bbyMwQ89nVSM427b0bTTXUEEReXA== - dependencies: - "@babel/types" "7.0.0-beta.47" - esutils "^2.0.0" - -"@babel/helper-builder-react-jsx@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" - integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw== - dependencies: - "@babel/types" "^7.3.0" - esutils "^2.0.0" - -"@babel/helper-builder-react-jsx@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.7.0.tgz#c6b8254d305bacd62beb648e4dea7d3ed79f352d" - integrity sha512-LSln3cexwInTMYYoFeVLKnYPPMfWNJ8PubTBs3hkh7wCu9iBaqq1OOyW+xGmEdLxT1nhsl+9SJ+h2oUDYz0l2A== - dependencies: - "@babel/types" "^7.7.0" - esutils "^2.0.0" - -"@babel/helper-call-delegate@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.47.tgz#96b7804397075f722a4030d3876f51ec19d8829b" - integrity sha512-Rx9TRmCCEP0pWau9gfR6ubcbbX3nVc4ImNY143ftC70jrKdSv5rS20yz2cmCilDzhexwGZQ3PFwOLKe3C/5aEg== - dependencies: - "@babel/helper-hoist-variables" "7.0.0-beta.47" - "@babel/traverse" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" - -"@babel/helper-call-delegate@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43" - integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ== - dependencies: - "@babel/helper-hoist-variables" "^7.4.4" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/helper-create-class-features-plugin@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz#401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4" - integrity sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-member-expression-to-functions" "^7.5.5" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - "@babel/helper-split-export-declaration" "^7.4.4" - -"@babel/helper-create-regexp-features-plugin@^7.7.0": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.2.tgz#6f20443778c8fce2af2ff4206284afc0ced65db6" - integrity sha512-pAil/ZixjTlrzNpjx+l/C/wJk002Wo7XbbZ8oujH/AoJ3Juv0iN/UTcPUHXKMFLqsfS0Hy6Aow8M31brUYBlQQ== - dependencies: - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.6.0" - -"@babel/helper-define-map@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.47.tgz#43a9def87c5166dc29630d51b3da9cc4320c131c" - integrity sha512-pLB9RY7GZKcc/frzgfDY/HwdqxWPe60qMAvNUef1V1bDZ8i4AUgxAANgltFzj61t100WGhqaS0xGkALD+9VA+g== - dependencies: - "@babel/helper-function-name" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" - lodash "^4.17.5" - -"@babel/helper-define-map@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369" - integrity sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.5.5" - lodash "^4.17.13" - -"@babel/helper-define-map@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.7.0.tgz#60b0e9fd60def9de5054c38afde8c8ee409c7529" - integrity sha512-kPKWPb0dMpZi+ov1hJiwse9dWweZsz3V9rP4KdytnX1E7z3cTNmFGglwklzFPuqIcHLIY3bgKSs4vkwXXdflQA== - dependencies: - "@babel/helper-function-name" "^7.7.0" - "@babel/types" "^7.7.0" - lodash "^4.17.13" - -"@babel/helper-explode-assignable-expression@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.47.tgz#56b688e282a698f4d1cf135453a11ae8af870a19" - integrity sha512-1mwk27zmhSuMUcVWxw5ZKiPYfuWXviZNqgA4OvFBloPf9R+dKDhNgP2uUrkHh68ltVVc3Bup1nsbd/2KM5AxEw== - dependencies: - "@babel/traverse" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" - -"@babel/helper-explode-assignable-expression@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" - integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== - dependencies: - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-function-name@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.47.tgz#8057d63e951e85c57c02cdfe55ad7608d73ffb7d" - integrity sha512-0LSvt95XCYaOrDA5K68KkTyldKXizDwBnKACdYzQszp1GdbtzmSeGwFU5Ecw86fU6bkYXtDvkFTOQwk/WQSJPw== - dependencies: - "@babel/helper-get-function-arity" "7.0.0-beta.47" - "@babel/template" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" - -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== - dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-function-name@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.7.0.tgz#44a5ad151cfff8ed2599c91682dda2ec2c8430a3" - integrity sha512-tDsJgMUAP00Ugv8O2aGEua5I2apkaQO7lBGUq1ocwN3G23JE5Dcq0uh3GvFTChPa4b40AWiAsLvCZOA2rdnQ7Q== - dependencies: - "@babel/helper-get-function-arity" "^7.7.0" - "@babel/template" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/helper-get-function-arity@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.47.tgz#2de04f97c14b094b55899d3fa83144a16d207510" - integrity sha512-63j0i3YUW8CO//uQc3ACffJdIlYcIlysuHjMF0yzQhqKoQ/CUPv0hf3nBwdRGjiWrr3JcL6++NF4XmXdwSU+fA== - dependencies: - "@babel/types" "7.0.0-beta.47" - -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-get-function-arity@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.0.tgz#c604886bc97287a1d1398092bc666bc3d7d7aa2d" - integrity sha512-tLdojOTz4vWcEnHWHCuPN5P85JLZWbm5Fx5ZsMEMPhF3Uoe3O7awrbM2nQ04bDOUToH/2tH/ezKEOR8zEYzqyw== - dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-hoist-variables@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.47.tgz#ce295d1d723fe22b2820eaec748ed701aa5ae3d0" - integrity sha512-5BcKFhyzrsInlrfO/tGoe6khUuJzGfROD7oozF/5MWsKo/c3gVJfQ5y83lZ4XoTKJt/x4PQlLU0aHd/SJpYONA== - dependencies: - "@babel/types" "7.0.0-beta.47" - -"@babel/helper-hoist-variables@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a" - integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w== - dependencies: - "@babel/types" "^7.4.4" - -"@babel/helper-hoist-variables@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.0.tgz#b4552e4cfe5577d7de7b183e193e84e4ec538c81" - integrity sha512-LUe/92NqsDAkJjjCEWkNe+/PcpnisvnqdlRe19FahVapa4jndeuJ+FBiTX1rcAKWKcJGE+C3Q3tuEuxkSmCEiQ== - dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-member-expression-to-functions@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.47.tgz#35bfcf1d16dce481ef3dec66d5a1ae6a7d80bb45" - integrity sha512-gpipslnZw2hcVGADUtqQII9KF8FPpRZsVUXwKP/0EnWwtujRFSVL+u2Fh+VXODRAxFmTLo6eGcOr/Vfan0MqYw== - dependencies: - "@babel/types" "7.0.0-beta.47" - -"@babel/helper-member-expression-to-functions@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590" - integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA== - dependencies: - "@babel/types" "^7.5.5" - -"@babel/helper-member-expression-to-functions@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.0.tgz#472b93003a57071f95a541ea6c2b098398bcad8a" - integrity sha512-QaCZLO2RtBcmvO/ekOLp8p7R5X2JriKRizeDpm5ChATAFWrrYDcDxPuCIBXKyBjY+i1vYSdcUTMIb8psfxHDPA== - dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-module-imports@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.47.tgz#5af072029ffcfbece6ffbaf5d9984c75580f3f04" - integrity sha512-Rk43Ty+a6npu9znK22IqFlseStRGWxEHi2cjmLbbi63VGiseofdUtIJI65F9MTCuMTXAX7VbY/ghef1Jp5qpvw== - dependencies: - "@babel/types" "7.0.0-beta.47" - lodash "^4.17.5" - -"@babel/helper-module-imports@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-module-imports@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.7.0.tgz#99c095889466e5f7b6d66d98dffc58baaf42654d" - integrity sha512-Dv3hLKIC1jyfTkClvyEkYP2OlkzNvWs5+Q8WgPbxM5LMeorons7iPP91JM+DU7tRbhqA1ZeooPaMFvQrn23RHw== - dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-module-transforms@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.47.tgz#7eff91fc96873bd7b8d816698f1a69bbc01f3c38" - integrity sha512-CziMe30ZunAhe6j05oNOFOg7im1lcv3dYuMxrwBYVe9YdP4NHPU7a1wrDBUhaPmyqTIZDwGnFne7k1KP79SeGQ== - dependencies: - "@babel/helper-module-imports" "7.0.0-beta.47" - "@babel/helper-simple-access" "7.0.0-beta.47" - "@babel/helper-split-export-declaration" "7.0.0-beta.47" - "@babel/template" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" - lodash "^4.17.5" - -"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz#f84ff8a09038dcbca1fd4355661a500937165b4a" - integrity sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/template" "^7.4.4" - "@babel/types" "^7.5.5" - lodash "^4.17.13" - -"@babel/helper-module-transforms@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.7.0.tgz#154a69f0c5b8fd4d39e49750ff7ac4faa3f36786" - integrity sha512-rXEefBuheUYQyX4WjV19tuknrJFwyKw0HgzRwbkyTbB+Dshlq7eqkWbyjzToLrMZk/5wKVKdWFluiAsVkHXvuQ== - dependencies: - "@babel/helper-module-imports" "^7.7.0" - "@babel/helper-simple-access" "^7.7.0" - "@babel/helper-split-export-declaration" "^7.7.0" - "@babel/template" "^7.7.0" - "@babel/types" "^7.7.0" - lodash "^4.17.13" - -"@babel/helper-optimise-call-expression@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.47.tgz#085d864d0613c5813c1b7c71b61bea36f195929e" - integrity sha512-NhnGhjwrhzGas4A/PoBDEtEPCGJHrzhaT6qGmo1hmkA2orG4UNi7KENC38DhJII0n2oUrKUuzTwgCvxKOTiHbw== - dependencies: - "@babel/types" "7.0.0-beta.47" - -"@babel/helper-optimise-call-expression@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" - integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-optimise-call-expression@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.0.tgz#4f66a216116a66164135dc618c5d8b7a959f9365" - integrity sha512-48TeqmbazjNU/65niiiJIJRc5JozB8acui1OS7bSd6PgxfuovWsvjfWSzlgx+gPFdVveNzUdpdIg5l56Pl5jqg== - dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-plugin-utils@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.47.tgz#4f564117ec39f96cf60fafcde35c9ddce0e008fd" - integrity sha512-GR67o8boOKVJRKM5Nhk7oVEHpxYy8R00lwu0F82WxxBH+iiT26DqW1e/4w/mo7Bdn1A6l0pNaOlNk1PdM2Hgag== - -"@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== - -"@babel/helper-regex@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0-beta.47.tgz#b8e3b53132c4edbb04804242c02ffe4d60316971" - integrity sha512-dafidvVkjJP5AIWkJspV+7RGj1jeNts0qYvlmVzqAGb6BmQzEldJr6ZPzrmlpW/AW1YJGdw7br2yiwvlCRqDvQ== - dependencies: - lodash "^4.17.5" - -"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" - integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== - dependencies: - lodash "^4.17.13" - -"@babel/helper-remap-async-to-generator@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" - integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-wrap-function" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-remap-async-to-generator@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.0.tgz#4d69ec653e8bff5bce62f5d33fc1508f223c75a7" - integrity sha512-pHx7RN8X0UNHPB/fnuDnRXVZ316ZigkO8y8D835JlZ2SSdFKb6yH9MIYRU4fy/KPe5sPHDFOPvf8QLdbAGGiyw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.0" - "@babel/helper-wrap-function" "^7.7.0" - "@babel/template" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/helper-replace-supers@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.47.tgz#310b206a302868a792b659455ceba27db686cbb7" - integrity sha512-yf2JAD1+xNTjavqazqknRgPfd6MbGfvfIcAkxWsPURynAwOMSs4zThED8ImT2d5a97rGPysRJcq1jNh2L0WYxg== - dependencies: - "@babel/helper-member-expression-to-functions" "7.0.0-beta.47" - "@babel/helper-optimise-call-expression" "7.0.0-beta.47" - "@babel/traverse" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" - -"@babel/helper-replace-supers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2" - integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.5.5" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - -"@babel/helper-replace-supers@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.7.0.tgz#d5365c8667fe7cbd13b8ddddceb9bd7f2b387512" - integrity sha512-5ALYEul5V8xNdxEeWvRsBzLMxQksT7MaStpxjJf9KsnLxpAKBtfw5NeMKZJSYDa0lKdOcy0g+JT/f5mPSulUgg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.7.0" - "@babel/helper-optimise-call-expression" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/helper-simple-access@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.47.tgz#234d754acbda9251a10db697ef50181eab125042" - integrity sha512-sd2t3QDKjd+hHkJKaC2AX39l6oIil1N548oMZAtV5YHlVGoWWkAVGnPMxRg7ICEjIftCU3ZI6UeaogyEhF8t7Q== - dependencies: - "@babel/template" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" - lodash "^4.17.5" - -"@babel/helper-simple-access@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" - integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== - dependencies: - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-simple-access@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.7.0.tgz#97a8b6c52105d76031b86237dc1852b44837243d" - integrity sha512-AJ7IZD7Eem3zZRuj5JtzFAptBw7pMlS3y8Qv09vaBWoFsle0d1kAn5Wq6Q9MyBXITPOKnxwkZKoAm4bopmv26g== - dependencies: - "@babel/template" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/helper-split-export-declaration@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.47.tgz#e11277855472d8d83baf22f2d0186c4a2059b09a" - integrity sha512-jx8GmxryT6Qy4+24W6M6TnVL9T8bxqdyg5UKHjxBdw0Y2Sano1n0WphUS2seuOugn04W2ZQLqGc0ut8nGe/taA== - dependencies: - "@babel/types" "7.0.0-beta.47" - -"@babel/helper-split-export-declaration@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" - integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== - dependencies: - "@babel/types" "^7.4.4" - -"@babel/helper-split-export-declaration@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.0.tgz#1365e74ea6c614deeb56ebffabd71006a0eb2300" - integrity sha512-HgYSI8rH08neWlAH3CcdkFg9qX9YsZysZI5GD8LjhQib/mM0jGOZOVkoUiiV2Hu978fRtjtsGsW6w0pKHUWtqA== - dependencies: - "@babel/types" "^7.7.0" - -"@babel/helper-wrap-function@^7.1.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" - integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.2.0" - -"@babel/helper-wrap-function@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.0.tgz#15af3d3e98f8417a60554acbb6c14e75e0b33b74" - integrity sha512-sd4QjeMgQqzshSjecZjOp8uKfUtnpmCyQhKQrVJBBgeHAB/0FPi33h3AbVlVp07qQtMD4QgYSzaMI7VwncNK/w== - dependencies: - "@babel/helper-function-name" "^7.7.0" - "@babel/template" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/helpers@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.2.tgz#681ffe489ea4dcc55f23ce469e58e59c1c045153" - integrity sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA== - dependencies: - "@babel/template" "^7.6.0" - "@babel/traverse" "^7.6.2" - "@babel/types" "^7.6.0" - -"@babel/helpers@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.0.tgz#359bb5ac3b4726f7c1fde0ec75f64b3f4275d60b" - integrity sha512-VnNwL4YOhbejHb7x/b5F39Zdg5vIQpUUNzJwx0ww1EcVRt41bbGRZWhAURrfY32T5zTT3qwNOQFWpn+P0i0a2g== - dependencies: - "@babel/template" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/highlight@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.47.tgz#8fbc83fb2a21f0bd2b95cdbeb238cf9689cad494" - integrity sha512-d505K3Hth1eg0b2swfEF7oFMw3J9M8ceFg0s6dhCSxOOF+07WDvJ0HKT/YbK/Jk9wn8Wyr6HIRAUPKJ9Wfv8Rg== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^3.0.0" - -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.0.0", "@babel/parser@^7.4.3", "@babel/parser@^7.6.0", "@babel/parser@^7.6.3", "@babel/parser@^7.6.4": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.4.tgz#cb9b36a7482110282d5cb6dd424ec9262b473d81" - integrity sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A== - -"@babel/parser@^7.7.0", "@babel/parser@^7.7.2": - version "7.7.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.3.tgz#5fad457c2529de476a248f75b0f090b3060af043" - integrity sha512-bqv+iCo9i+uLVbI0ILzKkvMorqxouI+GbV13ivcARXn9NNEabi2IEz912IgNpT/60BNXac5dgcfjb94NjsF33A== - -"@babel/plugin-external-helpers@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-external-helpers/-/plugin-external-helpers-7.2.0.tgz#7f4cb7dee651cd380d2034847d914288467a6be4" - integrity sha512-QFmtcCShFkyAsNtdCM3lJPmRe1iB+vPZymlB4LnDIKEBj2yKQLQKtoxXxJ8ePT5fwMl4QGg303p4mB0UsSI2/g== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-proposal-async-generator-functions@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.0.tgz#83ef2d6044496b4c15d8b4904e2219e6dccc6971" - integrity sha512-ot/EZVvf3mXtZq0Pd0+tSOfGWMizqmOohXmNZg6LNFjHOV+wOPv7BvVYh8oPR8LhpIP3ye8nNooKL50YRWxpYA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" - -"@babel/plugin-proposal-class-properties@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.0.0-beta.47.tgz#08c1a1dfc92d0f5c37b39096c6fb883e1ca4b0f5" - integrity sha512-6yuCiF+ZZHPLgAa+0a6/teNeAMsWqY6AVtZA4NhCWnwP4OH0JrRaY7rwvFCJSqNGurf8rF65W9IucM/l0+HOCg== - dependencies: - "@babel/helper-function-name" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-replace-supers" "7.0.0-beta.47" - "@babel/plugin-syntax-class-properties" "7.0.0-beta.47" - -"@babel/plugin-proposal-class-properties@^7.0.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz#a974cfae1e37c3110e71f3c6a2e48b8e71958cd4" - integrity sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.5.5" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-proposal-dynamic-import@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.0.tgz#dc02a8bad8d653fb59daf085516fa416edd2aa7f" - integrity sha512-7poL3Xi+QFPC7sGAzEIbXUyYzGJwbc2+gSD0AkiC5k52kH2cqHdqxm5hNFfLW3cRSTcx9bN0Fl7/6zWcLLnKAQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.2.0" - -"@babel/plugin-proposal-export-default-from@^7.0.0": - version "7.5.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.5.2.tgz#2c0ac2dcc36e3b2443fead2c3c5fc796fb1b5145" - integrity sha512-wr9Itk05L1/wyyZKVEmXWCdcsp/e185WUNl6AfYZeEKYaUPPvHXRDqO5K1VH7/UamYqGJowFRuCv30aDYZawsg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-export-default-from" "^7.2.0" - -"@babel/plugin-proposal-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" - integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.4.4.tgz#41c360d59481d88e0ce3a3f837df10121a769b39" - integrity sha512-Amph7Epui1Dh/xxUxS2+K22/MUi6+6JVTvy3P58tja3B6yKTSjwwx0/d83rF7551D6PVSSoplQb8GCwqec7HRw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.2.0" - -"@babel/plugin-proposal-object-rest-spread@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.47.tgz#e1529fddc88e948868ee1d0edaa27ebd9502322d" - integrity sha512-ujUjQUyTxUWHfixRD7Y5Nm8VCgHSf6YgbM37LEnojKp5lPahZO42qJfDty+Kh0tEanpI5H8BLPkJbFSzx6TNEw== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.47" - -"@babel/plugin-proposal-object-rest-spread@^7.0.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58" - integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - -"@babel/plugin-proposal-object-rest-spread@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz#8ffccc8f3a6545e9f78988b6bf4fe881b88e8096" - integrity sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - -"@babel/plugin-proposal-optional-catch-binding@^7.0.0", "@babel/plugin-proposal-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" - integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - -"@babel/plugin-proposal-optional-chaining@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.0.0-beta.47.tgz#099e5720121f91eb36544575f98d44cd57865ea5" - integrity sha512-5jlVmdC1Lv874h2553xAp50jVv3L/23KksOLUZdF/9+ZdbAzOlhX6spHiVy/jjfU9G1MFZtZTlxhV5roGkqZvg== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/plugin-syntax-optional-chaining" "7.0.0-beta.47" - -"@babel/plugin-proposal-optional-chaining@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz#ae454f4c21c6c2ce8cb2397dc332ae8b420c5441" - integrity sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-chaining" "^7.2.0" - -"@babel/plugin-proposal-unicode-property-regex@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.0.tgz#549fe1717a1bd0a2a7e63163841cb37e78179d5d" - integrity sha512-mk34H+hp7kRBWJOOAR0ZMGCydgKMD4iN9TpDRp3IIcbunltxEY89XSimc6WbtSLCDrwcdy/EEw7h5CFCzxTchw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-async-generators@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" - integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-class-properties@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0-beta.47.tgz#de52bed12fd472c848e1562f57dd4a202fe27f11" - integrity sha512-vLoAuLSjHSenX3TQmri6ttQWZp3rEtGcRp4LgYEBQ012fN5h+KmcssvkCAqm6V6ozS5KzUWpBlZ6t7YhZG6oBw== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-syntax-class-properties@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz#23b3b7b9bcdabd73672a9149f728cd3be6214812" - integrity sha512-UxYaGXYQ7rrKJS/PxIKRkv3exi05oH7rokBAsmCSsCxz1sVPZ7Fu6FzKoGgUvmY+0YgSkYHgUoCh5R5bCNBQlw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" - integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz#edd83b7adc2e0d059e2467ca96c650ab6d2f3820" - integrity sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-flow@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0-beta.47.tgz#9d0b09b9af6fec87a7b22e406bf948089d58c188" - integrity sha512-+3ZLKNV8tSDnTWL4QRNx5uZB/hUzY71WcgCwoXWy+8ma7EjZ3e3vbR69VR8dJwG1DqGsug6ZzM+afR0G4gKgPA== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c" - integrity sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" - integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-jsx@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.47.tgz#f3849d94288695d724bd205b4f6c3c99e4ec24a4" - integrity sha512-5scuJzIYZY8M+A1ra8mcKANIwB5TtsRD6Aw94xZxfvnjhhVMFR5RYE9HshVlBrZVY+r3cJDNIQLJMC/fGJHImA== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" - integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz#f75083dfd5ade73e783db729bbd87e7b9efb7624" - integrity sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-object-rest-spread@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.47.tgz#21da514d94c138b2261ca09f0dec9abadce16185" - integrity sha512-UOGQCmzvNlZMQOuys7xPiTa2EjTT3xHuhUghcdJnYikqGV43obpIIaP+VDCWPvIT8g0QDIvmRWx5UefvkWXN+w== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" - integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" - integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-optional-chaining@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.0.0-beta.47.tgz#f1febe859d9dde26f2b2e1f20cf679925d1fab23" - integrity sha512-lt6JV/D7QeAEf3qqUT4JTPkbU6vNCfeMW7BB7JD+HYivITkmXuGIVl7w4JrRB9LkfjkYE5vgiz3Nc733AD7v8w== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-syntax-optional-chaining@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz#a59d6ae8c167e7608eaa443fda9fa8fa6bf21dff" - integrity sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-top-level-await@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.0.tgz#f5699549f50bbe8d12b1843a4e82f0a37bb65f4d" - integrity sha512-hi8FUNiFIY1fnUI2n1ViB1DR0R4QeK4iHcTlW6aJkrPoTdb8Rf1EMQ6GT3f67DDkYyWgew9DFoOZ6gOoEsdzTA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-typescript@^7.2.0": - version "7.3.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz#a7cc3f66119a9f7ebe2de5383cce193473d65991" - integrity sha512-dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-arrow-functions@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.47.tgz#d6eecda4c652b909e3088f0983ebaf8ec292984b" - integrity sha512-xiU+7RJAsqx+iZqWSQQWBu9ZDTruWimkg4puDSdRVfEwgZQdOtiU2LuO0+xGFyitJPHkKuje0WvK1tFu1dmxCw== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" - integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-async-to-generator@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" - integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.1.0" - -"@babel/plugin-transform-async-to-generator@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.0.tgz#e2b84f11952cf5913fe3438b7d2585042772f492" - integrity sha512-vLI2EFLVvRBL3d8roAMqtVY0Bm9C1QzLkdS57hiKrjUBSqsQYrBsMCeOg/0KK7B0eK9V71J5mWcha9yyoI2tZw== - dependencies: - "@babel/helper-module-imports" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.0" - -"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" - integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-block-scoping@7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz#1745075edffd7cdaf69fab2fb6f9694424b7e9bc" - integrity sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.10" - -"@babel/plugin-transform-block-scoping@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.47.tgz#b737cc58a81bea57efd5bda0baef9a43a25859ad" - integrity sha512-V/u3Zdy40KjVQeyYUaQnCGiHQbRNJoc6IEtNDERltuW9vYPHS1n6YGc+EHKi8JVYT4kE6UHOjD+BrbCCV4kjRw== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - lodash "^4.17.5" - -"@babel/plugin-transform-block-scoping@^7.0.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz#a35f395e5402822f10d2119f6f8e045e3639a2ce" - integrity sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.13" - -"@babel/plugin-transform-block-scoping@^7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz#6e854e51fbbaa84351b15d4ddafe342f3a5d542a" - integrity sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.13" - -"@babel/plugin-transform-classes@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.47.tgz#7aff9cbe7b26fd94d7a9f97fa90135ef20c93fb6" - integrity sha512-hzW/jL6TPBMHJXeXwzuxMN0PFAfjVD0UzATHrFSejY5A7SvhWWrv1cZ3K0/SzCXJ9LpMdxCNiREvVjeD/Tyx2g== - dependencies: - "@babel/helper-annotate-as-pure" "7.0.0-beta.47" - "@babel/helper-define-map" "7.0.0-beta.47" - "@babel/helper-function-name" "7.0.0-beta.47" - "@babel/helper-optimise-call-expression" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-replace-supers" "7.0.0-beta.47" - "@babel/helper-split-export-declaration" "7.0.0-beta.47" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.0.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9" - integrity sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - "@babel/helper-split-export-declaration" "^7.4.4" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.0.tgz#b411ecc1b8822d24b81e5d184f24149136eddd4a" - integrity sha512-/b3cKIZwGeUesZheU9jNYcwrEA7f/Bo4IdPmvp7oHgvks2majB5BoT5byAql44fiNQYOPzhk2w8DbgfuafkMoA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.0" - "@babel/helper-define-map" "^7.7.0" - "@babel/helper-function-name" "^7.7.0" - "@babel/helper-optimise-call-expression" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.0" - "@babel/helper-split-export-declaration" "^7.7.0" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.47.tgz#56ef2a021769a2b65e90a3e12fd10b791da9f3e0" - integrity sha512-V78qyzmjj4aq/tjpkMFbV5gPtrx7xdclW1Rn6vV9hIwMSMbtstYEXF4msy614MofvYj6gYbPbNfyhXFIUvz/xw== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" - integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-destructuring@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.47.tgz#452b607775fd1c4d10621997837189efc0a6d428" - integrity sha512-3AaXC9H7qPybJbSs/QMhhj9EZF9MYrb/HRytwki1tckaYifqCJquENIZxDAYmwsWIGIHiq34WqwPRMIsz/b5uQ== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-transform-destructuring@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" - integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-destructuring@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz#44bbe08b57f4480094d57d9ffbcd96d309075ba6" - integrity sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-dotall-regex@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.0.tgz#c5c9ecacab3a5e0c11db6981610f0c32fd698b3b" - integrity sha512-3QQlF7hSBnSuM1hQ0pS3pmAbWLax/uGNCbPBND9y+oJ4Y776jsyujG2k0Sn2Aj2a0QwVOiOFL5QVPA7spjvzSA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-duplicate-keys@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" - integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-exponentiation-operator@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.47.tgz#930e1abf5db9f4db5b63dbf97f3581ad0be1e907" - integrity sha512-vyGG3kLIXpMuaPL485aqowdWFrxCxXtbzMXy9p1QTK5Q/+9UHpK9XoAVJZGknnsm091m0Ss7spo8uHaxbzYVog== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-transform-exponentiation-operator@^7.0.0", "@babel/plugin-transform-exponentiation-operator@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" - integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-flow-strip-types@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0-beta.47.tgz#fa45811094c10d70c84efdd0eac62ebd2a634bf7" - integrity sha512-X/8Gd4CxdBx7LOtW2wPSzr83bYyndqYbnJoUEosPJXOG2aRmgVo4hn+wk97vtDH+hMP7HsTApVBffrZNXS3erA== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/plugin-syntax-flow" "7.0.0-beta.47" - -"@babel/plugin-transform-flow-strip-types@^7.0.0": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz#d267a081f49a8705fc9146de0768c6b58dccd8f7" - integrity sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-flow" "^7.2.0" - -"@babel/plugin-transform-for-of@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.47.tgz#527d5dc24e4a4ad0fc1d0a3990d29968cb984e76" - integrity sha512-tfH5OMzV9fWLYJTzWDhoRJKr8kvBZWH26jiCgM0ayNq75ES/X947MqMNAgBjJdTAVEV2kOyks2ItgNAJT4rOUw== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" - integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-function-name@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.47.tgz#fb443c81cc77f3206a863b730b35c8c553ce5041" - integrity sha512-/5I/f8NCouugsRT6ORB1UjCP3N+Rgv/OB6SzmaeIUEpYYPM6D7WQ+4BaRYXQn4eqtOJmTgxDXYa8FgYtoeqP9A== - dependencies: - "@babel/helper-function-name" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-transform-function-name@^7.0.0": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad" - integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-function-name@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.0.tgz#0fa786f1eef52e3b7d4fc02e54b2129de8a04c2a" - integrity sha512-P5HKu0d9+CzZxP5jcrWdpe7ZlFDe24bmqP6a6X8BHEBl/eizAsY8K6LX8LASZL0Jxdjm5eEfzp+FIrxCm/p8bA== - dependencies: - "@babel/helper-function-name" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-literals@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.47.tgz#448fad196f062163684a38f10f14e83315892e9c" - integrity sha512-PxBw+52qWypwR76YfS2FlW4wZfp61SjIyt3OSPZeWnf0zVQWNVrlRRunJ7lBYudDYvyMwStAE/VynZ0fHtPgng== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" - integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d" - integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-modules-amd@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" - integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg== - dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" - -"@babel/plugin-transform-modules-commonjs@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.47.tgz#dfe5c6d867aa9614e55f7616736073edb3aab887" - integrity sha512-MYoLyexybBJ9ODWWMsMFzxAQey68RzhQNPjfNAYPhPPB3X160EZ5qOjWxRS2rYNvuYAxs6guy5OdrDpESqFSrQ== - dependencies: - "@babel/helper-module-transforms" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-simple-access" "7.0.0-beta.47" - -"@babel/plugin-transform-modules-commonjs@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" - integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ== - dependencies: - "@babel/helper-module-transforms" "^7.4.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - babel-plugin-dynamic-import-node "^2.3.0" - -"@babel/plugin-transform-modules-commonjs@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.0.tgz#3e5ffb4fd8c947feede69cbe24c9554ab4113fe3" - integrity sha512-KEMyWNNWnjOom8vR/1+d+Ocz/mILZG/eyHHO06OuBQ2aNhxT62fr4y6fGOplRx+CxCSp3IFwesL8WdINfY/3kg== - dependencies: - "@babel/helper-module-transforms" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.7.0" - babel-plugin-dynamic-import-node "^2.3.0" - -"@babel/plugin-transform-modules-systemjs@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.0.tgz#9baf471213af9761c1617bb12fd278e629041417" - integrity sha512-ZAuFgYjJzDNv77AjXRqzQGlQl4HdUM6j296ee4fwKVZfhDR9LAGxfvXjBkb06gNETPnN0sLqRm9Gxg4wZH6dXg== - dependencies: - "@babel/helper-hoist-variables" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" - -"@babel/plugin-transform-modules-umd@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.0.tgz#d62c7da16670908e1d8c68ca0b5d4c0097b69966" - integrity sha512-u7eBA03zmUswQ9LQ7Qw0/ieC1pcAkbp5OQatbWUzY1PaBccvuJXUkYzoN1g7cqp7dbTu6Dp9bXyalBvD04AANA== - dependencies: - "@babel/helper-module-transforms" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.0.tgz#358e6fd869b9a4d8f5cbc79e4ed4fc340e60dcaf" - integrity sha512-+SicSJoKouPctL+j1pqktRVCgy+xAch1hWWTMy13j0IflnyNjaoskj+DwRQFimHbLqO3sq2oN2CXMvXq3Bgapg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.0" - -"@babel/plugin-transform-new-target@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" - integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-object-assign@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.0.0-beta.47.tgz#aaf0e4593c1e9b1ceb48fc8770736a029b17ed64" - integrity sha512-5Cc/5TsUjxiAuEQ4WUu+ccP0RI2/qcZWEZA7U87RH26rnhc0NDBZfUbEf1RGM5gBFLFVNzUAoFX8kRykHvl/nQ== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-transform-object-assign@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz#6fdeea42be17040f119e38e23ea0f49f31968bde" - integrity sha512-nmE55cZBPFgUktbF2OuoZgPRadfxosLOpSgzEPYotKSls9J4pEPcembi8r78RU37Rph6UApCpNmsQA4QMWK9Ng== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9" - integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - -"@babel/plugin-transform-parameters@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.47.tgz#46a4236040a6552a5f165fb3ddd60368954b0ddd" - integrity sha512-UzQG8draO+30Y8eNEREuGBfmEHLL7WFxOjmTBbaTrbdOrm/znCUThqcuNz8cyn2nrZbln7M/loQ3stjf9Pt9fQ== - dependencies: - "@babel/helper-call-delegate" "7.0.0-beta.47" - "@babel/helper-get-function-arity" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" - integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw== - dependencies: - "@babel/helper-call-delegate" "^7.4.4" - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905" - integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-react-display-name@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.47.tgz#7a45c1703b8b33f252148ecf1b50dd54809de952" - integrity sha512-Rw1KWihSkGHbqHiQuiFu/beMakDtobW3eLSABw1w3BvRIc/UhBXxwyIxa/q/R9hWFBholAjmx9cKey8FnZPykw== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-transform-react-display-name@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" - integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-react-jsx-source@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.47.tgz#da8c01704b896409eae168a15045216e72d278dc" - integrity sha512-oZ6D9z+qql+tz7PjGp1CaxepxqDQQTusyjeKsWr7NdEa0v2j3sWLkfK4Aa7kU9BT0+j+r/LN4u33UBkBNVoVvw== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/plugin-syntax-jsx" "7.0.0-beta.47" - -"@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b" - integrity sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@babel/plugin-transform-react-jsx@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.47.tgz#98c99a69be748d966c0aea08b5ca942ba3fc9ed1" - integrity sha512-HGian2BbCsyAqs6LntVVRpjXG9TkzhHfTynjUoMxOFL29doKEy/0s96SMvmbBSR/wMRKMd1OPvCiEYYxqZtr3g== - dependencies: - "@babel/helper-builder-react-jsx" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/plugin-syntax-jsx" "7.0.0-beta.47" - -"@babel/plugin-transform-react-jsx@^7.0.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" - integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== - dependencies: - "@babel/helper-builder-react-jsx" "^7.3.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@babel/plugin-transform-regenerator@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.47.tgz#86500e1c404055fb98fc82b73b09bd053cacb516" - integrity sha512-JEPIiJyqYRfjOYUTZguLkb2HTwudReqLyOljpOXnJ/1ymwsiof4D6ul611DGlMxJMZJGQ6TBi59iY9GoJ6j4Iw== - dependencies: - regenerator-transform "^0.12.3" - -"@babel/plugin-transform-regenerator@^7.0.0": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" - integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA== - dependencies: - regenerator-transform "^0.14.0" - -"@babel/plugin-transform-regenerator@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.0.tgz#f1b20b535e7716b622c99e989259d7dd942dd9cc" - integrity sha512-AXmvnC+0wuj/cFkkS/HFHIojxH3ffSXE+ttulrqWjZZRaUOonfJc60e1wSNT4rV8tIunvu/R3wCp71/tLAa9xg== - dependencies: - regenerator-transform "^0.14.0" - -"@babel/plugin-transform-reserved-words@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634" - integrity sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-runtime@^7.0.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.5.tgz#a6331afbfc59189d2135b2e09474457a8e3d28bc" - integrity sha512-6Xmeidsun5rkwnGfMOp6/z9nSzWpHFNVr2Jx7kwoq4mVatQfQx5S56drBgEHF+XQbKOdIaOiMIINvp/kAwMN+w== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - resolve "^1.8.1" - semver "^5.5.1" - -"@babel/plugin-transform-shorthand-properties@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.47.tgz#00be44c4fad8fe2c00ed18ea15ea3c88dd519dbb" - integrity sha512-+o7/yb0Nrk4Gg/tnBgfBf+G1uGZbtkSluUnj8RyD37ajpDlWmysDjFEHSfktKcuD8YHeGz2M9AYNGcClk1fr/g== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" - integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-spread@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.47.tgz#3feadb02292ed1e9b75090d651b9df88a7ab5c50" - integrity sha512-LFAozFdfT4bE2AQw2BnjzLufTX4GBsTUHUGRhT8XNoDYuGnV+7k9Yj6JU3/7csJc9u6W91PArYgoO+D56CMw6Q== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-transform-spread@^7.0.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" - integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-spread@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz#fc77cf798b24b10c46e1b51b1b88c2bf661bb8dd" - integrity sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-sticky-regex@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.47.tgz#c0aa347d76b5dc87d3b37ac016ada3f950605131" - integrity sha512-+Rc6NihGoXcwAqAxbiumvzOYxRR0aUg1ZExfyHnI5QnQf0sf4xAfgT/YpGvEgLd5Ci0rka+IWSj54PhzZkhuTg== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-regex" "7.0.0-beta.47" - -"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" - integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - -"@babel/plugin-transform-template-literals@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.47.tgz#5f7b5badf64c4c5da79026aeab03001e62a6ee5f" - integrity sha512-ORfrfN/gQoRuI+xf+kOa2i/yvXfedFRgH+KtgoIrpUQom7OhexxzD280x80LMCIkdaVGzYhvlC3kdJkFMWAfUg== - dependencies: - "@babel/helper-annotate-as-pure" "7.0.0-beta.47" - "@babel/helper-plugin-utils" "7.0.0-beta.47" - -"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0" - integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-typeof-symbol@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" - integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-typescript@^7.0.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.5.tgz#6d862766f09b2da1cb1f7d505fe2aedab6b7d4b8" - integrity sha512-pehKf4m640myZu5B2ZviLaiBlxMCjSZ1qTEO459AXKX5GnPueyulJeCqZFs1nz/Ya2dDzXQ1NxZ/kKNWyD4h6w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.5.5" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-typescript" "^7.2.0" - -"@babel/plugin-transform-unicode-regex@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.47.tgz#efed0b2f1dfbf28283502234a95b4be88f7fdcb6" - integrity sha512-44nWn421tMVZ/A4+1uppzoAO7nrlwWzefMr9JUi5G+tXl0DLEtWy+F7L6zCVw19C4OAOA6WlolVro5CEs6g6AQ== - dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.47" - "@babel/helper-regex" "7.0.0-beta.47" - regexpu-core "^4.1.3" - -"@babel/plugin-transform-unicode-regex@^7.0.0": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" - integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" - -"@babel/plugin-transform-unicode-regex@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.0.tgz#743d9bcc44080e3cc7d49259a066efa30f9187a3" - integrity sha512-RrThb0gdrNwFAqEAAx9OWgtx6ICK69x7i9tCnMdVrxQwSDp/Abu9DXFU5Hh16VP33Rmxh04+NGW28NsIkFvFKA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/preset-env@^7.7.1": - version "7.7.1" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.7.1.tgz#04a2ff53552c5885cf1083e291c8dd5490f744bb" - integrity sha512-/93SWhi3PxcVTDpSqC+Dp4YxUu3qZ4m7I76k0w73wYfn7bGVuRIO4QUz95aJksbS+AD1/mT1Ie7rbkT0wSplaA== - dependencies: - "@babel/helper-module-imports" "^7.7.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.7.0" - "@babel/plugin-proposal-dynamic-import" "^7.7.0" - "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.6.2" - "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.7.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" - "@babel/plugin-syntax-dynamic-import" "^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-syntax-top-level-await" "^7.7.0" - "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.7.0" - "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.6.3" - "@babel/plugin-transform-classes" "^7.7.0" - "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.6.0" - "@babel/plugin-transform-dotall-regex" "^7.7.0" - "@babel/plugin-transform-duplicate-keys" "^7.5.0" - "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.4.4" - "@babel/plugin-transform-function-name" "^7.7.0" - "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-member-expression-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.5.0" - "@babel/plugin-transform-modules-commonjs" "^7.7.0" - "@babel/plugin-transform-modules-systemjs" "^7.7.0" - "@babel/plugin-transform-modules-umd" "^7.7.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.7.0" - "@babel/plugin-transform-new-target" "^7.4.4" - "@babel/plugin-transform-object-super" "^7.5.5" - "@babel/plugin-transform-parameters" "^7.4.4" - "@babel/plugin-transform-property-literals" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.7.0" - "@babel/plugin-transform-reserved-words" "^7.2.0" - "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.6.2" - "@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.7.0" - "@babel/types" "^7.7.1" - browserslist "^4.6.0" - core-js-compat "^3.1.1" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.5.0" - -"@babel/register@^7.0.0": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.6.2.tgz#25765a922202cb06f8bdac5a3b1e70cd6bf3dd45" - integrity sha512-xgZk2LRZvt6i2SAUWxc7ellk4+OYRgS3Zpsnr13nMS1Qo25w21Uu8o6vTOAqNaxiqrnv30KTYzh9YWY2k21CeQ== - dependencies: - find-cache-dir "^2.0.0" - lodash "^4.17.13" - mkdirp "^0.5.1" - pirates "^4.0.0" - source-map-support "^0.5.9" - -"@babel/register@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.7.0.tgz#4e23ecf840296ef79c605baaa5c89e1a2426314b" - integrity sha512-HV3GJzTvSoyOMWGYn2TAh6uL6g+gqKTgEZ99Q3+X9UURT1VPT/WcU46R61XftIc5rXytcOHZ4Z0doDlsjPomIg== - dependencies: - find-cache-dir "^2.0.0" - lodash "^4.17.13" - make-dir "^2.1.0" - pirates "^4.0.0" - source-map-support "^0.5.16" - -"@babel/runtime@^7.0.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.0.tgz#4fc1d642a9fd0299754e8b5de62c631cf5568205" - integrity sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/template@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.47.tgz#0473970a7c0bee7a1a18c1ca999d3ba5e5bad83d" - integrity sha512-mAzrOCLwOb4jAobHi0kTwIkoamP1Do28c6zxvrDXjYSJFZHz6KGuzMaT0AV7ZCq7M3si7QypVVMVX2bE6IsuOg== - dependencies: - "@babel/code-frame" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" - babylon "7.0.0-beta.47" - lodash "^4.17.5" - -"@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4", "@babel/template@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz#7f0159c7f5012230dad64cca42ec9bdb5c9536e6" - integrity sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.6.0" - "@babel/types" "^7.6.0" - -"@babel/template@^7.7.0": - version "7.7.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.7.0.tgz#4fadc1b8e734d97f56de39c77de76f2562e597d0" - integrity sha512-OKcwSYOW1mhWbnTBgQY5lvg1Fxg+VyfQGjcBduZFljfc044J5iDlnDSfhQ867O17XHiSCxYHUxHg2b7ryitbUQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.7.0" - "@babel/types" "^7.7.0" - -"@babel/traverse@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.47.tgz#0e57fdbb9ff3a909188b6ebf1e529c641e6c82a4" - integrity sha512-kYGGs//OnUnei+9TTldxlgf7llprj7VUeDKtG50+g+0k1g0yZyrkEgbyFheYFdnudR8IDEHOEXVsUuY82r5Aiw== - dependencies: - "@babel/code-frame" "7.0.0-beta.47" - "@babel/generator" "7.0.0-beta.47" - "@babel/helper-function-name" "7.0.0-beta.47" - "@babel/helper-split-export-declaration" "7.0.0-beta.47" - "@babel/types" "7.0.0-beta.47" - babylon "7.0.0-beta.47" - debug "^3.1.0" - globals "^11.1.0" - invariant "^2.2.0" - lodash "^4.17.5" - -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5", "@babel/traverse@^7.6.2", "@babel/traverse@^7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.3.tgz#66d7dba146b086703c0fb10dd588b7364cec47f9" - integrity sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.6.3" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.6.3" - "@babel/types" "^7.6.3" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.2.tgz#ef0a65e07a2f3c550967366b3d9b62a2dcbeae09" - integrity sha512-TM01cXib2+rgIZrGJOLaHV/iZUAxf4A0dt5auY6KNZ+cm6aschuJGqKJM3ROTt3raPUdIDk9siAufIFEleRwtw== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.7.2" - "@babel/helper-function-name" "^7.7.0" - "@babel/helper-split-export-declaration" "^7.7.0" - "@babel/parser" "^7.7.2" - "@babel/types" "^7.7.2" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/types@7.0.0-beta.47": - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.47.tgz#e6fcc1a691459002c2671d558a586706dddaeef8" - integrity sha512-MOP5pOosg7JETrVGg8OQyzmUmbyoSopT5j2HlblHsto89mPz3cmxzn1IA4UNUmnWKgeticSwfhS+Gdy25IIlBQ== - dependencies: - esutils "^2.0.2" - lodash "^4.17.5" - to-fast-properties "^2.0.0" - -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.6.0", "@babel/types@^7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.3.tgz#3f07d96f854f98e2fbd45c64b0cb942d11e8ba09" - integrity sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.7.0", "@babel/types@^7.7.1", "@babel/types@^7.7.2": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.2.tgz#550b82e5571dcd174af576e23f0adba7ffc683f7" - integrity sha512-YTf6PXoh3+eZgRCBzzP25Bugd2ngmpQVrk7kXX0i5N9BO7TFBtIgZYs7WtxtOGs8e6A4ZI7ECkbBCEHeXocvOA== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - -"@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== - -"@react-navigation/core@~3.4.1": - version "3.4.2" - resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-3.4.2.tgz#bec563e94fde40fbab3730cdc97f22afbb2a1498" - integrity sha512-7G+iDzLSTeOUU4vVZeRZKJ+Bd7ds7ZxYNqZcB8i0KlBeQEQfR74Ounfu/p0KIEq2RiNnaE3QT7WVP3C87sebzw== - dependencies: - hoist-non-react-statics "^3.3.0" - path-to-regexp "^1.7.0" - query-string "^6.4.2" - react-is "^16.8.6" - -"@react-navigation/native@~3.5.0": - version "3.5.0" - resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-3.5.0.tgz#f5d16e0845ac26d1147d1caa481f18a00740e7ae" - integrity sha512-TmGOis++ejEXG3sqNJhCSKqB0/qLu3FQgDtO959qpqif36R/diR8SQwJqeSdofoEiK3CepdhFlTCeHdS1/+MsQ== - dependencies: - hoist-non-react-statics "^3.0.1" - react-native-safe-area-view "^0.14.1" - react-native-screens "^1.0.0 || ^1.0.0-alpha" - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -absolute-path@^0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/absolute-path/-/absolute-path-0.0.0.tgz#a78762fbdadfb5297be99b15d35a785b2f095bf7" - integrity sha1-p4di+9rftSl76ZsV01p4Wy8JW/c= - -accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - -ajv@^6.5.5: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-align@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" - integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= - dependencies: - string-width "^2.0.0" - -ansi-colors@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" - integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA== - dependencies: - ansi-wrap "^0.1.0" - -ansi-cyan@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873" - integrity sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM= - dependencies: - ansi-wrap "0.1.0" - -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-gray@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" - integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= - dependencies: - ansi-wrap "0.1.0" - -ansi-red@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" - integrity sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw= - dependencies: - ansi-wrap "0.1.0" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-wrap@0.1.0, ansi-wrap@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" - integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= - -ansi@^0.3.0, ansi@~0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" - integrity sha1-DELU+xcWDVqa8eSEus4cZpIsGyE= - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -appdmg@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/appdmg/-/appdmg-0.6.0.tgz#81b3beab624ab458e6104d87c5cfa4b172203821" - integrity sha512-vDz8cMf5c6BfoS72OmmHzzuxG5DFVDM6YCAkscjYh3GASGEBBRCZ10Bn515ZPSPHOpfI9Xu3MlApbd49C58pJg== - dependencies: - async "^1.4.2" - ds-store "^0.1.5" - execa "^1.0.0" - fs-temp "^1.0.0" - fs-xattr "^0.3.0" - image-size "^0.7.4" - is-my-json-valid "^2.20.0" - minimist "^1.1.3" - parse-color "^1.0.0" - path-exists "^4.0.0" - repeat-string "^1.5.4" - -append-transform@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" - integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== - dependencies: - default-require-extensions "^2.0.0" - -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -aria-query@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.7.1.tgz#26cbb5aff64144b0a825be1846e0b16cfa00b11e" - integrity sha1-Jsu1r/ZBRLCoJb4YRuCxbPoAsR4= - dependencies: - ast-types-flow "0.0.7" - commander "^2.11.0" - -arr-diff@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a" - integrity sha1-aHwydYFjWI/vfeezb6vklesaOZo= - dependencies: - arr-flatten "^1.0.1" - array-slice "^0.2.3" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= - dependencies: - arr-flatten "^1.0.1" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.0.1, arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d" - integrity sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0= - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-buffer-from-string@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/array-buffer-from-string/-/array-buffer-from-string-0.1.0.tgz#3b14351f86149d84efc612c5ada7ed85169d7b07" - integrity sha1-OxQ1H4YUnYTvxhLFrafthRadewc= - -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" - integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= - -array-filter@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" - integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw= - -array-includes@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" - integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" - -array-map@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" - integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI= - -array-reduce@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" - integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= - -array-slice@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" - integrity sha1-3Tz7gO15c6dRF82sabC5nshhhvU= - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -arrify@^1.0.0, arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -art@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/art/-/art-0.10.3.tgz#b01d84a968ccce6208df55a733838c96caeeaea2" - integrity sha512-HXwbdofRTiJT6qZX/FnchtldzJjS3vkLJxQilc3Xj+ma2MXjY4UAyQ0ls1XZYVnDvVIBiFZbC6QsvtW86TD6tQ== - -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@^1.4.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -ast-types-flow@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async@^1.4.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - -async@^2.4.0, async@^2.6.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== - -axobject-query@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-0.1.0.tgz#62f59dbc59c9f9242759ca349960e7a2fe3c36c0" - integrity sha1-YvWdvFnJ+SQnWco0mWDnov48NsA= - dependencies: - ast-types-flow "0.0.7" - -babel-plugin-dynamic-import-node@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" - integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: - version "7.0.0-beta.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf" - integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ== - -babel-preset-fbjs@^3.0.1, babel-preset-fbjs@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.2.0.tgz#c0e6347d3e0379ed84b3c2434d3467567aa05297" - integrity sha512-5Jo+JeWiVz2wHUUyAlvb/sSYnXNig9r+HqGAOSfh5Fzxp7SnAaR/tEGRJ1ZX7C77kfk82658w6R5Z+uPATTD9g== - dependencies: - "@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" - -babel-preset-react-native@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-5.0.2.tgz#dfed62379712a9c017ff99ce4fbeac1e11d42285" - integrity sha512-Ua5JeQ1yGK8UoydMPzE2Ghq5raOKxXzpyApYDuHi4etIbXi5+GnCin19Nu+1obLQCf2Dxy9Y/GZwI0rnNOjggA== - dependencies: - "@babel/plugin-proposal-class-properties" "7.0.0-beta.47" - "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.47" - "@babel/plugin-proposal-optional-chaining" "7.0.0-beta.47" - "@babel/plugin-transform-arrow-functions" "7.0.0-beta.47" - "@babel/plugin-transform-block-scoping" "7.0.0-beta.47" - "@babel/plugin-transform-classes" "7.0.0-beta.47" - "@babel/plugin-transform-computed-properties" "7.0.0-beta.47" - "@babel/plugin-transform-destructuring" "7.0.0-beta.47" - "@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.47" - "@babel/plugin-transform-flow-strip-types" "7.0.0-beta.47" - "@babel/plugin-transform-for-of" "7.0.0-beta.47" - "@babel/plugin-transform-function-name" "7.0.0-beta.47" - "@babel/plugin-transform-literals" "7.0.0-beta.47" - "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.47" - "@babel/plugin-transform-object-assign" "7.0.0-beta.47" - "@babel/plugin-transform-parameters" "7.0.0-beta.47" - "@babel/plugin-transform-react-display-name" "7.0.0-beta.47" - "@babel/plugin-transform-react-jsx" "7.0.0-beta.47" - "@babel/plugin-transform-react-jsx-source" "7.0.0-beta.47" - "@babel/plugin-transform-regenerator" "7.0.0-beta.47" - "@babel/plugin-transform-shorthand-properties" "7.0.0-beta.47" - "@babel/plugin-transform-spread" "7.0.0-beta.47" - "@babel/plugin-transform-sticky-regex" "7.0.0-beta.47" - "@babel/plugin-transform-template-literals" "7.0.0-beta.47" - "@babel/plugin-transform-unicode-regex" "7.0.0-beta.47" - "@babel/template" "7.0.0-beta.47" - metro-babel7-plugin-react-transform "^0.39.1" - -babylon@7.0.0-beta.47: - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.47.tgz#6d1fa44f0abec41ab7c780481e62fd9aafbdea80" - integrity sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base-64@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz#780a99c84e7d600260361511c4877613bf24f6bb" - integrity sha1-eAqZyE59YAJgNhURxId2E78k9rs= - -base32-encode@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/base32-encode/-/base32-encode-0.1.1.tgz#7510f6aa44e2c695b7efcb2673a454f8f8505ea0" - integrity sha512-jjc+6TC8PXrsxJ4CQr9ibioNhhAM1p/RvS9hy3Q+cxPphvXmLnFSkXoen2XXzNBrYjdmzajRtbFDl1x28F5F4A== - -base64-js@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" - integrity sha1-EQHpVE9KdrG8OybUUsqW16NeeXg= - -base64-js@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.1.2.tgz#d6400cac1c4c660976d90d07a04351d89395f5e8" - integrity sha1-1kAMrBxMZgl22Q0HoENR2JOV9eg= - -base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.2.3: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -basic-auth@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" - integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== - dependencies: - safe-buffer "5.1.2" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -big-integer@^1.6.7: - version "1.6.45" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.45.tgz#1bf2fa1271bfd20d4c52c3d6c6f08cab8d91c77e" - integrity sha512-nmb9E7oEtVJ7SmSCH/DeJobXyuRmaofkpoQSimMFu3HKJ5MADtM825SPLhDuWhZ6TElLAQtgJbQmBZuHIRlZoA== - -"bignumber.js@git+https://github.com/status-im/bignumber.js.git#v4.0.2-status": - version "4.0.2" - resolved "git+https://github.com/status-im/bignumber.js.git#cc066a0a3d6bfe0c436c9957f4ea8344bf963c89" - -binaryextensions@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.1.2.tgz#c83c3d74233ba7674e4f313cb2a2b70f54e94b7c" - integrity sha512-xVNN69YGDghOqCCtA6FI7avYrr02mTJjOgB0/f1VPD3pJC8QEvjTKWc4epDx8AqxxA75NI0QpVM2gPJXUbE4Tg== - -bn.js@4.11.6: - version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" - integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU= - -bn.js@4.11.8, bn.js@^4.11.6, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== - -boxen@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" - integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== - dependencies: - ansi-align "^2.0.0" - camelcase "^4.0.0" - chalk "^2.0.1" - cli-boxes "^1.0.0" - string-width "^2.0.0" - term-size "^1.2.0" - widest-line "^2.0.0" - -bplist-creator@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.7.tgz#37df1536092824b87c42f957b01344117372ae45" - integrity sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU= - dependencies: - stream-buffers "~2.2.0" - -bplist-creator@~0.0.3: - version "0.0.8" - resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.8.tgz#56b2a6e79e9aec3fc33bf831d09347d73794e79c" - integrity sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA== - dependencies: - stream-buffers "~2.2.0" - -bplist-parser@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.1.1.tgz#d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6" - integrity sha1-1g1dzCDLptx+HymbNdPh+V2vuuY= - dependencies: - big-integer "^1.6.7" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browserslist@^4.6.0, browserslist@^4.7.2: - version "4.7.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.2.tgz#1bb984531a476b5d389cedecb195b2cd69fb1348" - integrity sha512-uZavT/gZXJd2UTi9Ov7/Z340WOSQ3+m1iBVRUknf+okKxonL9P83S3ctiBDtuRmRu8PiCHjqyueqQ9HYlJhxiw== - dependencies: - caniuse-lite "^1.0.30001004" - electron-to-chromium "^1.3.295" - node-releases "^1.1.38" - -bser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" - integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== - dependencies: - node-int64 "^0.4.0" - -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - -buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= - -buffer-from@^1.0.0, buffer-from@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-to-arraybuffer@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" - integrity sha1-YGSkD6dutDxyOrqe+PbhIW0QURo= - -buffer@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-3.6.0.tgz#a72c936f77b96bf52f5f7e7b467180628551defb" - integrity sha1-pyyTb3e5a/UvX357RnGAYoVR3vs= - dependencies: - base64-js "0.0.8" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.4.3: - version "5.4.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.3.tgz#3fbc9c69eb713d323e3fc1a895eee0710c072115" - integrity sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -caching-transform@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-3.0.2.tgz#601d46b91eca87687a281e71cef99791b0efca70" - integrity sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w== - dependencies: - hasha "^3.0.0" - make-dir "^2.0.0" - package-hash "^3.0.0" - write-file-atomic "^2.4.2" - -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - -camelcase@^4.0.0, camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -caniuse-lite@^1.0.30001004: - version "1.0.30001009" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001009.tgz#69b77997b882a7aee6af24c8d7d2fa27ee41f348" - integrity sha512-M3rEqHN6SaVjgo4bIik7HsGcWXsi+lI9WA0p51RPMFx5gXfduyOXWJrc0R4xBkSK1pgNf4CNgy5M+6H+WiEP8g== - -capture-exit@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" - integrity sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28= - dependencies: - rsvp "^3.3.3" - -capture-stack-trace@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" - integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - 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" - -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chance@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chance/-/chance-1.1.3.tgz#414f08634ee479c7a316b569050ea20751b82dd3" - integrity sha512-XeJsdoVAzDb1WRPRuMBesRSiWpW1uNTo5Fd7mYxPJsAfgX71+jfuCOHOdbyBz2uAUZ8TwKcXgWk3DMedFfJkbg== - -chardet@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" - integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -chownr@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" - integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== - -ci-info@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" - integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-table@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" - integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= - dependencies: - colors "1.0.3" - -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= - -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= - -clone-stats@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" - integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE= - -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= - -clone@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - -clone@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -cloneable-readable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" - integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@~0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" - integrity sha1-vbbGnOZg+t/+CwAHzER+G59ygr0= - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - -colors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.11.0, commander@^2.9.0, commander@~2.20.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== - -commander@~2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" - integrity sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compressible@~2.0.16: - version "2.0.17" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz#6e8c108a16ad58384a977f3a482ca20bff2f38c1" - integrity sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw== - dependencies: - mime-db ">= 1.40.0 < 2" - -compression@^1.7.1: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.6.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -configstore@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" - integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw== - dependencies: - dot-prop "^4.1.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - unique-string "^1.0.0" - write-file-atomic "^2.0.0" - xdg-basedir "^3.0.0" - -connect@^3.6.5: - version "3.7.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" - integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== - dependencies: - debug "2.6.9" - finalhandler "1.1.2" - parseurl "~1.3.3" - utils-merge "1.0.1" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -convert-source-map@^1.1.0, convert-source-map@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - dependencies: - safe-buffer "~5.1.1" - -convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js-compat@^3.1.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.4.1.tgz#e12c5a3ef9fcb50fd9d9a32805bfe674f9139246" - integrity sha512-YdeJI26gLc0CQJ9asLE5obEgBz2I0+CIgnoTbS2T0d5IPQw/OCgCIFR527RmpduxjrB3gSEHoGOCTq9sigOyfw== - dependencies: - browserslist "^4.7.2" - semver "^6.3.0" - -core-js@^1.0.0: - version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= - -core-js@^2.2.2, core-js@^2.4.1: - version "2.6.9" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" - integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^5.0.5: - version "5.2.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -coveralls@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-3.0.7.tgz#1eca48e47976e9573d6a2f18b97c2fea4026f34a" - integrity sha512-mUuH2MFOYB2oBaA4D4Ykqi9LaEYpMMlsiOMJOrv358yAjP6enPIk55fod2fNJ8AvwoYXStWQls37rA+s5e7boA== - dependencies: - growl "~> 1.10.0" - js-yaml "^3.13.1" - lcov-parse "^0.0.10" - log-driver "^1.2.7" - minimist "^1.2.0" - request "^2.86.0" - -cp-file@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-6.2.0.tgz#40d5ea4a1def2a9acdd07ba5c0b0246ef73dc10d" - integrity sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA== - dependencies: - graceful-fs "^4.1.2" - make-dir "^2.0.0" - nested-error-stacks "^2.0.0" - pify "^4.0.1" - safe-buffer "^5.0.1" - -create-error-class@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= - dependencies: - capture-stack-trace "^1.0.0" - -create-react-class@^15.6.2, create-react-class@^15.6.3: - version "15.6.3" - resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" - integrity sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg== - dependencies: - fbjs "^0.8.9" - loose-envify "^1.3.1" - object-assign "^4.1.1" - -cross-spawn@^4: - version "4.0.2" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" - integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^5.0.1, cross-spawn@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= - -damerau-levenshtein@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" - integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== - -dargs@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-6.1.0.tgz#1f3b9b56393ecf8caa7cbfd6c31496ffcfb9b272" - integrity sha512-5dVBvpBLBnPwSsYXqfybFyehMmC/EenKEcf23AhCTgTf48JFBbmJKqoZBsERDnjL0FyiVTYWdFsRfTLHxLyKdQ== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -dateformat@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - -debounce@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.0.tgz#44a540abc0ea9943018dc0eaa95cce87f65cd131" - integrity sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg== - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.0, debug@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -decamelize@^1.1.1, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -decompress-response@^3.2.0, decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -default-require-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" - integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc= - dependencies: - strip-bom "^3.0.0" - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -denodeify@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" - integrity sha1-OjYof1A05pnnV3kBBSwubJQlFjE= - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-conflict@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/detect-conflict/-/detect-conflict-1.0.1.tgz#088657a66a961c05019db7c4230883b1c6b4176e" - integrity sha1-CIZXpmqWHAUBnbfEIwiDsca0F24= - -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= - -diff@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -dijkstrajs@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.1.tgz#d3cd81221e3ea40742cfcde556d4e99e98ddc71b" - integrity sha1-082BIh4+pAdCz83lVtTpnpjdxxs= - -dir-glob@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" - integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag== - dependencies: - arrify "^1.0.1" - path-type "^3.0.0" - -dom-walk@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" - integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= - -dot-prop@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== - dependencies: - is-obj "^1.0.0" - -ds-store@^0.1.5: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ds-store/-/ds-store-0.1.6.tgz#d1024ef746ed0c13f0f7fec85c7e858e8c4b7ca7" - integrity sha1-0QJO90btDBPw9/7IXH6FjoxLfKc= - dependencies: - bplist-creator "~0.0.3" - macos-alias "~0.2.5" - tn1150 "^0.1.0" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -editions@^2.1.3: - version "2.2.0" - resolved "https://registry.yarnpkg.com/editions/-/editions-2.2.0.tgz#dacd0c2a9441ebef592bba316a6264febb337f35" - integrity sha512-RYg3iEA2BDLCNVe8PUkD+ox5vAKxB9XS/mAhx1bdxGCF0CpX077C0pyTA9t5D6idCYA3avl5/XDHKPsHFrygfw== - dependencies: - errlop "^1.1.2" - semver "^6.3.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -ejs@^2.5.9: - version "2.7.1" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.1.tgz#5b5ab57f718b79d4aca9254457afecd36fa80228" - integrity sha512-kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ== - -electron-to-chromium@^1.3.295: - version "1.3.306" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.306.tgz#e8265301d053d5f74e36cb876486830261fbe946" - integrity sha512-frDqXvrIROoYvikSKTIKbHbzO6M3/qC6kCIt/1FOa9kALe++c4VAJnwjSFvf1tYLEUsP2n9XZ4XSCyqc3l7A/A== - -elliptic@^6.4.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz#c380f5f909bf1b9b4428d028cd18d3b0efd6b52b" - integrity sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -emoji-regex@^6.1.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2" - integrity sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ== - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emojilib@^2.2.9: - version "2.4.0" - resolved "https://registry.yarnpkg.com/emojilib/-/emojilib-2.4.0.tgz#ac518a8bb0d5f76dda57289ccb2fdf9d39ae721e" - integrity sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= - dependencies: - iconv-lite "~0.4.13" - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -envinfo@^5.7.0: - version "5.12.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-5.12.1.tgz#83068c33e0972eb657d6bc69a6df30badefb46ef" - integrity sha512-pwdo0/G3CIkQ0y6PCXq4RdkvId2elvtPCJMG0konqlrfkWQbf1DWeH9K2b/cvu2YgGvPPTOnonZxXM1gikFu1w== - -errlop@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/errlop/-/errlop-1.1.2.tgz#a99a48f37aa264d614e342ffdbbaa49eec9220e0" - integrity sha512-djkRp+urJ+SmqDBd7F6LUgm4Be1TTYBxia2bhjNdFBuBDQtJDHExD2VbxR6eyst3h1TZy3qPRCdqb6FBoFttTA== - dependencies: - editions "^2.1.3" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error@^7.0.2: - version "7.2.0" - resolved "https://registry.yarnpkg.com/error/-/error-7.2.0.tgz#80c989885635b41df9309d145834a4f125ae2245" - integrity sha512-M6t3j3Vt3uDicrViMP5fLq2AeADNrCVFD8Oj4Qt2MHsX0mPYG7D5XdnEfSdRpaHQzjAJ19wu+I1mw9rQYMTAPg== - dependencies: - string-template "~0.2.1" - -errorhandler@^1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.5.1.tgz#b9ba5d17cf90744cd1e851357a6e75bf806a9a91" - integrity sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A== - dependencies: - accepts "~1.3.7" - escape-html "~1.0.3" - -es-abstract@^1.13.0, es-abstract@^1.7.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.14.1.tgz#6e8d84b445ec9c610781e74a6d52cc31aac5b4ca" - integrity sha512-cp/Tb1oA/rh2X7vqeSOvM+TSo3UkJLX70eNihgVEvnzwAgikjkTFr/QVgRCaxjm0knCNQzNoxxxcw2zO2LJdZA== - dependencies: - es-to-primitive "^1.2.0" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.0" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-inspect "^1.6.0" - object-keys "^1.1.1" - string.prototype.trimleft "^2.0.0" - string.prototype.trimright "^2.0.0" - -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es6-error@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" - integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -eslint-plugin-jsx-a11y@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-5.1.1.tgz#5c96bb5186ca14e94db1095ff59b3e2bd94069b1" - integrity sha512-5I9SpoP7gT4wBFOtXT8/tXNPYohHBVfyVfO17vkbC7r9kEIxYJF12D3pKqhk8+xnk12rfxKClS3WCFpVckFTPQ== - dependencies: - aria-query "^0.7.0" - array-includes "^3.0.3" - ast-types-flow "0.0.7" - axobject-query "^0.1.0" - damerau-levenshtein "^1.0.0" - emoji-regex "^6.1.0" - jsx-ast-utils "^1.4.0" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esutils@^2.0.0, esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -eth-lib@0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.7.tgz#2f93f17b1e23aec3759cd4a3fe20c1286a3fc1ca" - integrity sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco= - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - xhr-request-promise "^0.1.2" - -eth-phishing-detect@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/eth-phishing-detect/-/eth-phishing-detect-1.1.13.tgz#ed718b933c8a69fef0cefa6604538824b472dbea" - integrity sha512-1KQcKvAQIjJgFMVwxaw2+BlzM9Momzl0e+/torPdMjg7WGq6LmCIS7ddg84diH5zIQp9quGyRVIEawCCuErgVQ== - dependencies: - fast-levenshtein "^2.0.6" - -ethereum-bloom-filters@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.6.tgz#9cdebb3ec20de96ec4a434c6bad6ea5a513037aa" - integrity sha512-dE9CGNzgOOsdh7msZirvv8qjHtnHpvBlKe2647kM8v+yeF71IRso55jpojemvHV+jMjr48irPWxMRaHuOWzAFA== - dependencies: - js-sha3 "^0.8.0" - -ethjs-unit@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" - integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= - dependencies: - bn.js "4.11.6" - number-to-bn "1.7.0" - -event-target-shim@^1.0.5: - version "1.1.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-1.1.1.tgz#a86e5ee6bdaa16054475da797ccddf0c55698491" - integrity sha1-qG5e5r2qFgVEddp5fM3fDFVphJE= - -eventemitter3@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" - integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== - -events@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= - -exec-sh@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" - integrity sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw== - dependencies: - merge "^1.2.0" - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= - dependencies: - 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" - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - 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" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= - dependencies: - is-posix-bracket "^0.1.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= - dependencies: - fill-range "^2.1.0" - -extend-shallow@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071" - integrity sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE= - dependencies: - kind-of "^1.1.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^2.0.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" - integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A== - dependencies: - chardet "^0.4.0" - iconv-lite "^0.4.17" - tmp "^0.0.33" - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= - dependencies: - is-extglob "^1.0.0" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fancy-log@^1.3.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" - integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw== - dependencies: - ansi-gray "^0.1.1" - color-support "^1.1.3" - parse-node-version "^1.0.0" - time-stamp "^1.0.0" - -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= - -fast-glob@^2.0.2: - version "2.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.1.2" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.3" - micromatch "^3.1.10" - -fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= - dependencies: - bser "^2.0.0" - -fbjs-css-vars@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" - integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== - -fbjs-scripts@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fbjs-scripts/-/fbjs-scripts-1.2.0.tgz#069a0c0634242d10031c6460ef1fccefcdae8b27" - integrity sha512-5krZ8T0Bf8uky0abPoCLrfa7Orxd8UH4Qq8hRUF2RZYNMu+FmEOrBc7Ib3YVONmxTXTlLAvyrrdrVmksDb2OqQ== - dependencies: - "@babel/core" "^7.0.0" - ansi-colors "^1.0.1" - babel-preset-fbjs "^3.2.0" - core-js "^2.4.1" - cross-spawn "^5.1.0" - fancy-log "^1.3.2" - object-assign "^4.0.1" - plugin-error "^0.1.2" - semver "^5.1.0" - through2 "^2.0.0" - -fbjs@^0.8.9: - version "0.8.17" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" - integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= - dependencies: - 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" - -fbjs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-1.0.0.tgz#52c215e0883a3c86af2a7a776ed51525ae8e0a5a" - integrity sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA== - dependencies: - 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" - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= - -fill-range@^2.1.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" - integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^3.0.0" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -finalhandler@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-up@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -first-chunk-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" - integrity sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA= - dependencies: - readable-stream "^2.0.2" - -fmix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/fmix/-/fmix-0.1.0.tgz#c7bbf124dec42c9d191cfb947d0a9778dd986c0c" - integrity sha1-x7vxJN7ELJ0ZHPuUfQqXeN2YbAw= - dependencies: - imul "^1.0.0" - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= - dependencies: - for-in "^1.0.1" - -foreground-child@^1.5.6: - version "1.5.6" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" - integrity sha1-T9ca0t/elnibmApcCilZN8svXOk= - dependencies: - cross-spawn "^4" - signal-exit "^3.0.0" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -fs-extra@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" - integrity sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA= - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - -fs-extra@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-minipass@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" - integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== - dependencies: - minipass "^2.2.1" - -fs-temp@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fs-temp/-/fs-temp-1.1.2.tgz#cc52f038bbefe510f6bcd09ec592b79d0f69253f" - integrity sha1-zFLwOLvv5RD2vNCexZK3nQ9pJT8= - dependencies: - random-path "^0.1.0" - -fs-xattr@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/fs-xattr/-/fs-xattr-0.3.0.tgz#019642eacc49f343061af19de4c13543895589ad" - integrity sha512-BixjoRM9etRFyWOtJRcflfu5HqBWLGTYbeHiL196VRUcc/nYgS2px6w4yVaj3XmrN1bk4rZBH82A8u5Z64YcXQ== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.2.3: - version "1.2.9" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" - integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== - dependencies: - nan "^2.12.1" - node-pre-gyp "^0.12.0" - -function-bind@^1.0.2, function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gauge@~1.2.5: - version "1.2.7" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93" - integrity sha1-6c7FSD09TuDvRLYKfZnkk14TbZM= - dependencies: - ansi "^0.3.0" - has-unicode "^2.0.0" - lodash.pad "^4.1.0" - lodash.padend "^4.1.0" - lodash.padstart "^4.1.0" - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -generate-function@^2.0.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f" - integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ== - dependencies: - is-property "^1.0.2" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA= - dependencies: - is-property "^1.0.0" - -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -gh-got@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-6.0.0.tgz#d74353004c6ec466647520a10bd46f7299d268d0" - integrity sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw== - dependencies: - got "^7.0.0" - is-plain-obj "^1.1.0" - -github-username@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/github-username/-/github-username-4.1.0.tgz#cbe280041883206da4212ae9e4b5f169c30bf417" - integrity sha1-y+KABBiDIG2kISrp5LXxacML9Bc= - dependencies: - gh-got "^6.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= - dependencies: - is-glob "^2.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= - -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-dirs@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= - dependencies: - ini "^1.3.4" - -global@^4.3.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" - integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== - dependencies: - min-document "^2.19.0" - process "^0.11.10" - -global@~4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" - integrity sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8= - dependencies: - min-document "^2.19.0" - process "~0.5.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globby@^8.0.1: - version "8.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" - integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w== - dependencies: - array-union "^1.0.1" - dir-glob "2.0.0" - fast-glob "^2.0.2" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -"google-breakpad@git+https://github.com/status-im/google-breakpad.git#v0.9.0": - version "1.0.0" - resolved "git+https://github.com/status-im/google-breakpad.git#9fcfdc23010ce2b0742d276e2959ab13e7cf0dc7" - -got@^6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" - -got@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" - integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== - dependencies: - decompress-response "^3.2.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-plain-obj "^1.1.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - p-cancelable "^0.3.0" - p-timeout "^1.1.1" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - url-parse-lax "^1.0.0" - url-to-options "^1.0.1" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.2.2" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" - integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== - -grouped-queue@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/grouped-queue/-/grouped-queue-0.3.3.tgz#c167d2a5319c5a0e0964ef6a25b7c2df8996c85c" - integrity sha1-wWfSpTGcWg4JZO9qJbfC34mWyFw= - dependencies: - lodash "^4.17.2" - -"growl@~> 1.10.0": - version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -hammerjs@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1" - integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE= - -handlebars@^4.1.2: - version "4.2.0" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.2.0.tgz#57ce8d2175b9bbb3d8b3cf3e4217b1aec8ddcb2e" - integrity sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw== - dependencies: - neo-async "^2.6.0" - optimist "^0.6.1" - source-map "^0.6.1" - optionalDependencies: - uglify-js "^3.1.4" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-symbol-support-x@^1.4.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" - integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== - -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" - integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== - dependencies: - has-symbol-support-x "^1.4.1" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.1, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hasha@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/hasha/-/hasha-3.0.0.tgz#52a32fab8569d41ca69a61ff1a214f8eb7c8bd39" - integrity sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk= - dependencies: - is-stream "^1.0.1" - -hi-base32@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/hi-base32/-/hi-base32-0.5.0.tgz#61329f76a31f31008533f1c36f2473e259d64571" - integrity sha512-DDRmxSyoYuvjUb9EnXdoiMChBZ7ZcUVJsK5Frd3kqMhuBxvmZdnBeynAVfj7/ECbn++CekcoprvC/rprHPAtow== - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.0: - version "2.5.5" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" - integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== - -hoist-non-react-statics@^3.0.1, hoist-non-react-statics@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b" - integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA== - dependencies: - react-is "^16.7.0" - -hosted-git-info@^2.1.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" - integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== - -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -i18n-js@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/i18n-js/-/i18n-js-3.5.0.tgz#e2c41e1f90405d691d33ddce260f3dff9743215e" - integrity sha512-XosH7plfEisWo5XEYxkdlwONsDVQ3sYI3ZoKXcjXdyq+9eVNIJg2h2oPsgadfqcXxpPHMVMNBgmiyW3aEJXg1g== - -iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -"identicon.js@git+https://github.com/status-im/identicon.js.git#v1.2.1-status": - version "1.2.1" - resolved "git+https://github.com/status-im/identicon.js.git#4cd179daaf6f01384502b4b2c1876f982db0f57e" - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== - dependencies: - minimatch "^3.0.4" - -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - -image-size@^0.6.0: - version "0.6.3" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.6.3.tgz#e7e5c65bb534bd7cdcedd6cb5166272a85f75fb2" - integrity sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA== - -image-size@^0.7.4: - version "0.7.5" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.7.5.tgz#269f357cf5797cb44683dfa99790e54c705ead04" - integrity sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g== - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= - -imul@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/imul/-/imul-1.0.1.tgz#9d5867161e8b3de96c2c38d5dc7cb102f35e2ac9" - integrity sha1-nVhnFh6LPelsLDjV3HyxAvNeKsk= - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -ini@^1.3.4, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -inquirer@^3.0.6: - version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" - integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ== - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.4" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - -inquirer@^6.0.0: - version "6.5.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" - integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - -interpret@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== - -invariant@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.0.tgz#c8d7e847366a49cc18b622f058a689d481e895f2" - integrity sha1-yNfoRzZqScwYtiLwWKaJ1IHolfI= - dependencies: - loose-envify "^1.0.0" - -invariant@^2.2.0, invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.3, is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== - -is-ci@^1.0.10: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" - integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== - dependencies: - ci-info "^1.5.0" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-function@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" - integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU= - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= - dependencies: - is-extglob "^1.0.0" - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-hex-prefixed@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" - integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= - -is-installed-globally@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" - integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= - dependencies: - global-dirs "^0.1.0" - is-path-inside "^1.0.0" - -is-my-ip-valid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" - integrity sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ== - -is-my-json-valid@^2.20.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz#1345a6fca3e8daefc10d0fa77067f54cedafd59a" - integrity sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA== - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - is-my-ip-valid "^1.0.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= - -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= - dependencies: - kind-of "^3.0.2" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== - -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" - integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= - -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - -is-property@^1.0.0, is-property@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ= - -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= - -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= - dependencies: - has "^1.0.1" - -is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= - -is-scoped@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-scoped/-/is-scoped-1.0.0.tgz#449ca98299e713038256289ecb2b540dc437cb30" - integrity sha1-RJypgpnnEwOCViieyytUDcQ3yzA= - dependencies: - scoped-regex "^1.0.0" - -is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== - dependencies: - has-symbols "^1.0.0" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isarray@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isbinaryfile@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" - integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw== - dependencies: - buffer-alloc "^1.2.0" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isomorphic-fetch@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== - -istanbul-lib-hook@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz#c95695f383d4f8f60df1f04252a9550e15b5b133" - integrity sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA== - dependencies: - append-transform "^1.0.0" - -istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" - integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" - -istanbul-lib-report@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" - integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== - dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" - -istanbul-lib-source-maps@^3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" - integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" - source-map "^0.6.1" - -istanbul-reports@^2.2.4: - version "2.2.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" - integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== - dependencies: - handlebars "^4.1.2" - -istextorbinary@^2.2.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.5.1.tgz#14a33824cf6b9d5d7743eac1be2bd2c310d0ccbd" - integrity sha512-pv/JNPWnfpwGjPx7JrtWTwsWsxkrK3fNzcEVnt92YKEIErps4Fsk49+qzCe9iQF2hjqK8Naqf8P9kzoeCuQI1g== - dependencies: - binaryextensions "^2.1.2" - editions "^2.1.3" - textextensions "^2.4.0" - -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" - integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - -jest-docblock@23.2.0, jest-docblock@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7" - integrity sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c= - dependencies: - detect-newline "^2.1.0" - -jest-haste-map@23.5.0: - version "23.5.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.5.0.tgz#d4ca618188bd38caa6cb20349ce6610e194a8065" - integrity sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw== - dependencies: - 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" - micromatch "^2.3.11" - sane "^2.0.0" - -jest-serializer@23.0.1, jest-serializer@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" - integrity sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU= - -jest-worker@23.2.0, jest-worker@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9" - integrity sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk= - dependencies: - merge-stream "^1.0.1" - -js-levenshtein@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== - -js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-tokens@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== - dependencies: - minimist "^1.2.0" - -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk= - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -jsx-ast-utils@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1" - integrity sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE= - -keymirror@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/keymirror/-/keymirror-0.1.1.tgz#918889ea13f8d0a42e7c557250eee713adc95c35" - integrity sha1-kYiJ6hP40KQufFVyUO7nE63JXDU= - -kind-of@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44" - integrity sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ= - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== - -klaw@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - integrity sha1-QIhDO0azsbolnXh4XY6W9zugJDk= - optionalDependencies: - graceful-fs "^4.1.9" - -latest-version@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" - integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= - dependencies: - package-json "^4.0.0" - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= - dependencies: - invert-kv "^1.0.0" - -lcov-parse@^0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" - integrity sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM= - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -lodash.flattendeep@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" - integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= - -lodash.pad@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" - integrity sha1-QzCUmoM6fI2iLMIPaibE1Z3runA= - -lodash.padend@^4.1.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" - integrity sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4= - -lodash.padstart@^4.1.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" - integrity sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs= - -lodash.throttle@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" - integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= - -lodash@^3.10.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" - integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= - -lodash@^4.17.10, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.2, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.6.1: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - -log-driver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" - integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg== - -log-symbols@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== - dependencies: - chalk "^2.0.1" - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lowercase-keys@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -macos-alias@~0.2.5: - version "0.2.11" - resolved "https://registry.yarnpkg.com/macos-alias/-/macos-alias-0.2.11.tgz#feeea6c13ba119814a43fc43c470b31e59ef718a" - integrity sha1-/u6mwTuhGYFKQ/xDxHCzHlnvcYo= - dependencies: - nan "^2.4.0" - -make-dir@^1.0.0, make-dir@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -math-random@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" - integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== - -mem-fs-editor@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-5.1.0.tgz#51972241640be8567680a04f7adaffe5fc603667" - integrity sha512-2Yt2GCYEbcotYbIJagmow4gEtHDqzpq5XN94+yAx/NT5+bGqIjkXnm3KCUQfE6kRfScGp9IZknScoGRKu8L78w== - dependencies: - commondir "^1.0.1" - deep-extend "^0.6.0" - ejs "^2.5.9" - glob "^7.0.3" - globby "^8.0.1" - isbinaryfile "^3.0.2" - mkdirp "^0.5.0" - multimatch "^2.0.0" - rimraf "^2.2.8" - through2 "^2.0.0" - vinyl "^2.0.1" - -mem-fs@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/mem-fs/-/mem-fs-1.1.3.tgz#b8ae8d2e3fcb6f5d3f9165c12d4551a065d989cc" - integrity sha1-uK6NLj/Lb10/kWXBLUVRoGXZicw= - dependencies: - through2 "^2.0.0" - vinyl "^1.1.0" - vinyl-file "^2.0.0" - -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= - dependencies: - mimic-fn "^1.0.0" - -merge-source-map@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" - integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== - dependencies: - source-map "^0.6.1" - -merge-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" - integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= - dependencies: - readable-stream "^2.0.1" - -merge2@^1.2.3: - version "1.3.0" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" - integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== - -merge@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" - integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== - -metro-babel-register@^0.48.1: - version "0.48.5" - resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.48.5.tgz#ece8131f959a1f7acf37af83c8e5696bfd0a448e" - integrity sha512-bJCessd7THqEfXrKEoj284XVjg9AGYbGqZiyV622l6ex9TvtVi1lToDY0TuAAuDXOm+V4vQXV7/HvR6JPP0dTQ== - dependencies: - "@babel/core" "^7.0.0" - "@babel/plugin-proposal-class-properties" "^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-transform-async-to-generator" "^7.0.0" - "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/register" "^7.0.0" - core-js "^2.2.2" - escape-string-regexp "^1.0.5" - -metro-babel7-plugin-react-transform@0.48.5: - version "0.48.5" - resolved "https://registry.yarnpkg.com/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.48.5.tgz#312eb0adf3764357c79b79acc6eb92646051b349" - integrity sha512-S0cA0msHBGw7PSwB6nAsvtHEpQXVwzKBaE4AibLpaBiIVdWkYpIOok653zs9x+E9QvQgcghAnlVnDV+MDM+rSw== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - -metro-babel7-plugin-react-transform@^0.39.1: - version "0.39.1" - resolved "https://registry.yarnpkg.com/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.39.1.tgz#deb851fa6904ed5b9f4e38f69e3f318a0fb670e6" - integrity sha512-7atigK+8EZ1DAWhpcw2a60OhCPihe9TsRHGOKUUwJjXmXDxmYxoxejh1kK5vJSaW38P45PkUBwnfNwISWFv4mQ== - dependencies: - "@babel/helper-module-imports" "7.0.0-beta.47" - lodash "^4.17.5" - -metro-cache@0.48.5: - version "0.48.5" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.48.5.tgz#5ab3ad13c9df527f4196f0de096a3d496db97a6b" - integrity sha512-vlUf3A6+U3LXcf6wAn42N22q1h7MMoopA25w5KR4Flwd0xKVokxHwsTo9v06vpn4gqFtpXWCpEJSBaYRrWYJwg== - dependencies: - jest-serializer "23.0.1" - metro-core "0.48.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - -metro-config@0.48.5: - version "0.48.5" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.48.5.tgz#05624064617eb648ee6e336951b60ac665230a45" - integrity sha512-b+EmFgBOAEUM5THjJ2EU6CJxnULLC5V1Q8S8dz4xX4v96eLIsRCLPrXgYKATHJTVi0qw99ATVRsOBZVZ77fwjg== - dependencies: - cosmiconfig "^5.0.5" - metro "0.48.5" - metro-cache "0.48.5" - metro-core "0.48.5" - pretty-format "^23.4.1" - -metro-core@0.48.5, metro-core@^0.48.1: - version "0.48.5" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.48.5.tgz#eef57d0ea947cfd2e44d86b20592a321ca234b89" - integrity sha512-Yp0BOAHhxf/qdNkwJhemVdD2Y59iyaTjwxUimCmeD8u5VEL6mLgEC1S0KczyWEiAgX3Fs48rezCAcx3mo67wXg== - dependencies: - jest-haste-map "23.5.0" - lodash.throttle "^4.1.1" - metro-resolver "0.48.5" - wordwrap "^1.0.0" - -metro-memory-fs@^0.48.1: - version "0.48.5" - resolved "https://registry.yarnpkg.com/metro-memory-fs/-/metro-memory-fs-0.48.5.tgz#ae390f494ff0d54f2fb60531a3e4b83282a6b66d" - integrity sha512-dxN0dBtMOR1CvyRIOM/NE+uFirybWb4y2PZke0Z8bpYn6ttmv8ZF3PVdFxJf9v9irVBSOIPD0mD5zllxQkXzhg== - -metro-minify-uglify@0.48.5: - version "0.48.5" - resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.48.5.tgz#c8e878ce31adc1f9af3550917da7028b9eb91bc1" - integrity sha512-tiHVYlUMuL91YjQPx9BzzzXy5jAAA5SWLqlvWfmM6m9faWtFeCv8Se27vVNuPDkOPYyL8qPCRhUpZMUhA0yN2g== - dependencies: - uglify-es "^3.1.9" - -metro-react-native-babel-preset@0.48.5: - version "0.48.5" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.48.5.tgz#cafa1c3ea326a447a89031928b0932f38a65815c" - integrity sha512-ldG1bsusB5zlS1fhAiSLRjUA7I/Chn/dniaXTlkUpgiqyEAaDDmqhkDJ8gyZw3rhlLMVswlBd3o6I8yYti+57w== - dependencies: - "@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.48.5" - react-transform-hmr "^1.0.4" - -metro-react-native-babel-preset@^0.57.0: - version "0.57.0" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.57.0.tgz#bbbce26a20d9ca3fdc08f0df564bc982b82651b7" - integrity sha512-pvLh1QOwdxsjgYE2a+4aTKs3LSF3+t4jscxHtkND6wsJnKVVspLt8FkDaORa6zr3Fq12tVpEt5NJMdgtWqBpaA== - dependencies: - "@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-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" - "@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" - react-refresh "^0.4.0" - -metro-resolver@0.48.5: - version "0.48.5" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.48.5.tgz#d2ff84afab13ec3962685953ebd03d878e1f4c36" - integrity sha512-lScSpLJKZMmNPRwvcY6zj28AwMOcI1M5bCCv+m06VWcISCTq1KlaKVwqLKmFgUtPkoFtFLD+PVKRKCRUxj1opg== - dependencies: - absolute-path "^0.0.0" - -metro-source-map@0.48.5: - version "0.48.5" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.48.5.tgz#ab738f5cea4627fdae839d09237f85dd13d972ab" - integrity sha512-+BbcU9vfEl/XhMlVV0RwuHuEkai4lq7RmlQkxgoOoWl1u0yXCAPRZ5sqa326fPlJzElOR3cp0y7+Oc2nbIguyg== - dependencies: - source-map "^0.5.6" - -metro@0.48.5, metro@^0.48.1: - version "0.48.5" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.48.5.tgz#94fb4476ea18d3cf2e96e5c37dc85a21b69b4bf1" - integrity sha512-aCarzjxdYqh+9I40bF+Hh1ayrwfPrnDwVOvpQg3VZFWU4wfeMiJb+tzeRN9p94cC/MKhBTOjRmUF3plzrHoe0w== - dependencies: - "@babel/core" "^7.0.0" - "@babel/generator" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/plugin-external-helpers" "^7.0.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - absolute-path "^0.0.0" - async "^2.4.0" - babel-preset-fbjs "^3.0.1" - chalk "^1.1.1" - concat-stream "^1.6.0" - connect "^3.6.5" - debug "^2.2.0" - denodeify "^1.2.1" - eventemitter3 "^3.0.0" - 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" - json-stable-stringify "^1.0.1" - lodash.throttle "^4.1.1" - merge-stream "^1.0.1" - metro-cache "0.48.5" - metro-config "0.48.5" - metro-core "0.48.5" - metro-minify-uglify "0.48.5" - metro-react-native-babel-preset "0.48.5" - metro-resolver "0.48.5" - metro-source-map "0.48.5" - mime-types "2.1.11" - mkdirp "^0.5.1" - node-fetch "^2.2.0" - nullthrows "^1.1.0" - react-transform-hmr "^1.0.4" - resolve "^1.5.0" - rimraf "^2.5.4" - serialize-error "^2.1.0" - source-map "^0.5.6" - temp "0.8.3" - throat "^4.1.0" - wordwrap "^1.0.0" - write-file-atomic "^1.2.0" - ws "^1.1.0" - xpipe "^1.0.5" - yargs "^9.0.0" - -micromatch@^2.3.11: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -mime-db@1.40.0: - version "1.40.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" - integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== - -"mime-db@>= 1.40.0 < 2": - version "1.41.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.41.0.tgz#9110408e1f6aa1b34aef51f2c9df3caddf46b6a0" - integrity sha512-B5gxBI+2K431XW8C2rcc/lhppbuji67nf9v39eH8pkWoZDxnAL0PxdpH32KYRScniF8qDHBDlI+ipgg5WrCUYw== - -mime-db@~1.23.0: - version "1.23.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.23.0.tgz#a31b4070adaea27d732ea333740a64d0ec9a6659" - integrity sha1-oxtAcK2uon1zLqMzdApk0OyaZlk= - -mime-types@2.1.11: - version "2.1.11" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.11.tgz#c259c471bda808a85d6cd193b430a5fae4473b3c" - integrity sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw= - dependencies: - mime-db "~1.23.0" - -mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.24" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" - integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== - dependencies: - mime-db "1.40.0" - -mime@1.6.0, mime@^1.3.4: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" - integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= - dependencies: - dom-walk "^0.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@^3.0.0, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= - -minipass@^2.2.1, minipass@^2.3.5: - version "2.5.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.5.0.tgz#dddb1d001976978158a05badfcbef4a771612857" - integrity sha512-9FwMVYhn6ERvMR8XFdOavRz4QK/VJV8elU1x50vYexf9lslDcWe/f4HBRxCPd185ekRSjU6CfYyJCECa/CQy7Q== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== - dependencies: - minipass "^2.2.1" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@^0.5.0, mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -morgan@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.1.tgz#0a8d16734a1d9afbc824b99df87e738e58e2da59" - integrity sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA== - dependencies: - basic-auth "~2.0.0" - debug "2.6.9" - depd "~1.1.2" - on-finished "~2.3.0" - on-headers "~1.0.1" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -multimatch@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" - integrity sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis= - dependencies: - array-differ "^1.0.0" - array-union "^1.0.1" - arrify "^1.0.0" - minimatch "^3.0.0" - -murmur-32@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/murmur-32/-/murmur-32-0.1.0.tgz#c1a79d4fc5fabf0405749d0aff77c41402055861" - integrity sha1-waedT8X6vwQFdJ0K/3fEFAIFWGE= - dependencies: - array-buffer-from-string "^0.1.0" - fmix "^0.1.0" - imul "^1.0.0" - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -nan@^2.12.1, nan@^2.4.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -needle@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" - integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -neo-async@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== - -nested-error-stacks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61" - integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug== - -"nfc-react-native@git+https://github.com/status-im/nfc-react-native.git#v0.3.8-status": - version "0.3.8" - resolved "git+https://github.com/status-im/nfc-react-native.git#ecdb55e470bb9fa569d26fcc8af4e5169511a4d3" - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-fetch@^1.0.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - -node-fetch@^2.2.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^5.2.1: - version "5.4.3" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== - dependencies: - growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - -node-pre-gyp@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" - integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - -node-releases@^1.1.38: - version "1.1.40" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.40.tgz#a94facfa8e2d612302601ca1361741d529c4515a" - integrity sha512-r4LPcC5b/bS8BdtWH1fbeK88ib/wg9aqmg6/s3ngNLn2Ewkn/8J6Iw3P9RTlfIAdSdvYvQl2thCY5Y+qTAQ2iQ== - dependencies: - semver "^6.3.0" - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= - dependencies: - abbrev "1" - osenv "^0.1.4" - -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.1, normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -npm-bundled@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" - integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== - -npm-packlist@^1.1.6: - version "1.4.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" - integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npmlog@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692" - integrity sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI= - dependencies: - ansi "~0.3.1" - are-we-there-yet "~1.1.2" - gauge "~1.2.5" - -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nullthrows@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" - integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -number-to-bn@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" - integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA= - dependencies: - bn.js "4.11.6" - strip-hex-prefix "1.0.0" - -nyc@^14.1.1: - version "14.1.1" - resolved "https://registry.yarnpkg.com/nyc/-/nyc-14.1.1.tgz#151d64a6a9f9f5908a1b73233931e4a0a3075eeb" - integrity sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw== - dependencies: - archy "^1.0.0" - caching-transform "^3.0.2" - convert-source-map "^1.6.0" - cp-file "^6.2.0" - find-cache-dir "^2.1.0" - find-up "^3.0.0" - foreground-child "^1.5.6" - glob "^7.1.3" - istanbul-lib-coverage "^2.0.5" - istanbul-lib-hook "^2.0.7" - istanbul-lib-instrument "^3.3.0" - istanbul-lib-report "^2.0.8" - istanbul-lib-source-maps "^3.0.6" - istanbul-reports "^2.2.4" - js-yaml "^3.13.1" - make-dir "^2.1.0" - merge-source-map "^1.1.0" - resolve-from "^4.0.0" - rimraf "^2.6.3" - signal-exit "^3.0.2" - spawn-wrap "^1.4.2" - test-exclude "^5.2.3" - uuid "^3.3.2" - yargs "^13.2.2" - yargs-parser "^13.0.0" - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" - integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== - -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.1, on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -opn@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/opn/-/opn-3.0.3.tgz#b6d99e7399f78d65c3baaffef1fb288e9b85243a" - integrity sha1-ttmec5n3jWXDuq/+8fsojpuFJDo= - dependencies: - object-assign "^4.0.1" - -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" - integrity sha1-7CLTEoBrtT5zF3Pnza788cZDEo8= - -os-homedir@^1.0.0, os-homedir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-cancelable@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" - integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" - integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-timeout@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" - integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= - dependencies: - p-finally "^1.0.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0, p-try@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-3.0.0.tgz#50183f2d36c9e3e528ea0a8605dff57ce976f88e" - integrity sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA== - dependencies: - graceful-fs "^4.1.15" - hasha "^3.0.0" - lodash.flattendeep "^4.4.0" - release-zalgo "^1.0.0" - -package-json@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" - integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= - dependencies: - got "^6.7.1" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - -parse-color@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-color/-/parse-color-1.0.0.tgz#7b748b95a83f03f16a94f535e52d7f3d94658619" - integrity sha1-e3SLlag/A/FqlPU15S1/PZRlhhk= - dependencies: - color-convert "~0.5.0" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-headers@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.2.tgz#9545e8a4c1ae5eaea7d24992bca890281ed26e34" - integrity sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg== - dependencies: - for-each "^0.3.3" - string.prototype.trim "^1.1.2" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-node-version@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" - integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -patch-package@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-5.1.2.tgz#01753261026dbf6fb223cc0bbd2931a29da9dfc2" - integrity sha512-6NA7/hcAG/eZ6TcugOIkmRMA9wg/CVm+gyJpWJwc7Z8E0dkMeQwnVw5oDvhG+bEHBhsQLn+rF7PAx7p2QWnfNA== - dependencies: - chalk "^1.1.3" - cross-spawn "^5.1.0" - fs-extra "^4.0.1" - minimist "^1.2.0" - rimraf "^2.6.1" - slash "^1.0.0" - tmp "^0.0.31" - update-notifier "^2.2.0" - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-to-regexp@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= - dependencies: - isarray "0.0.1" - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pirates@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -plist@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/plist/-/plist-2.0.1.tgz#0a32ca9481b1c364e92e18dc55c876de9d01da8b" - integrity sha1-CjLKlIGxw2TpLhjcVch23p0B2os= - dependencies: - base64-js "1.1.2" - xmlbuilder "8.2.2" - xmldom "0.1.x" - -plist@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c" - integrity sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ== - dependencies: - base64-js "^1.2.3" - xmlbuilder "^9.0.7" - xmldom "0.1.x" - -plugin-error@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace" - integrity sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4= - dependencies: - ansi-cyan "^0.1.1" - ansi-red "^0.1.1" - arr-diff "^1.0.1" - arr-union "^2.0.1" - extend-shallow "^1.1.2" - -pngjs@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" - integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= - -pretty-bytes@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" - integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg== - -pretty-format@^23.4.1: - version "23.6.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.6.0.tgz#5eaac8eeb6b33b987b7fe6097ea6a8a146ab5760" - integrity sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw== - dependencies: - ansi-regex "^3.0.0" - ansi-styles "^3.2.0" - -pretty-format@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-4.3.1.tgz#530be5c42b3c05b36414a7a2a4337aa80acd0e8d" - integrity sha1-UwvlxCs8BbNkFKeipDN6qArNDo0= - -private@^0.1.6: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -process@~0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" - integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8= - -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - -prop-types@^15.5.8, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -psl@^1.1.24: - version "1.3.1" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.1.tgz#d5aa3873a35ec450bc7db9012ad5a7246f6fc8bd" - integrity sha512-2KLd5fKOdAfShtY2d/8XDWVRnmp3zp40Qt6ge2zBPFARLXOGUf2fHD5eg+TV/5oxBtQKVhjUaKFsAaE4HnwfSA== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qrcode@^1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.4.4.tgz#f0c43568a7e7510a55efc3b88d9602f71963ea83" - integrity sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q== - dependencies: - buffer "^5.4.3" - buffer-alloc "^1.2.0" - buffer-from "^1.1.1" - dijkstrajs "^1.0.1" - isarray "^2.0.1" - pngjs "^3.3.0" - yargs "^13.2.4" - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -query-string@^6.4.2: - version "6.8.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.3.tgz#fd9fb7ffb068b79062b43383685611ee47777d4b" - integrity sha512-llcxWccnyaWlODe7A9hRjkvdCKamEKTh+wH8ITdTc3OhchaqUZteiSCX/2ablWHVrkVIe04dntnaZJ7BdyW0lQ== - dependencies: - decode-uri-component "^0.2.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -random-path@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/random-path/-/random-path-0.1.1.tgz#f8f4d36f75a134ca15fd39c7d7505fbf163b634c" - integrity sha1-+PTTb3WhNMoV/TnH11BfvxY7Y0w= - dependencies: - base32-encode "^0.1.0" - murmur-32 "^0.1.0" - -randomatic@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" - integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== - dependencies: - is-number "^4.0.0" - kind-of "^6.0.0" - math-random "^1.0.1" - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-clone-referenced-element@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/react-clone-referenced-element/-/react-clone-referenced-element-1.1.0.tgz#9cdda7f2aeb54fea791f3ab8c6ab96c7a77d0158" - integrity sha512-FKOsfKbBkPxYE8576EM6uAfHC4rnMpLyH6/TJUL4WcHUEB3EUn8AxPjnnV/IiwSSzsClvHYK+sDELKN/EJ0WYg== - -react-deep-force-update@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.1.2.tgz#3d2ae45c2c9040cbb1772be52f8ea1ade6ca2ee1" - integrity sha512-WUSQJ4P/wWcusaH+zZmbECOk7H5N2pOIl0vzheeornkIMhu+qrNdGFm0bDZLCb0hSF0jf/kH1SgkNGfBdTc4wA== - -react-devtools-core@^3.4.2: - version "3.6.3" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-3.6.3.tgz#977d95b684c6ad28205f0c62e1e12c5f16675814" - integrity sha512-+P+eFy/yo8Z/UH9J0DqHZuUM5+RI2wl249TNvMx3J2jpUomLQa4Zxl56GEotGfw3PIP1eI+hVf1s53FlUONStQ== - dependencies: - shell-quote "^1.6.1" - ws "^3.3.1" - -react-dom@^16.12.0: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.12.0.tgz#0da4b714b8d13c2038c9396b54a92baea633fe11" - integrity sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.18.0" - -react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.6: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb" - integrity sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw== - -react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - -react-native-background-timer@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/react-native-background-timer/-/react-native-background-timer-2.1.1.tgz#9a2489681ab2f8033c213c73272e9d4c47572cd5" - integrity sha512-cuXIIv+dcG8a8qkTD8pMzeqOEZCO+UGKglZWIe1osve+yJslmCowYQff+bI9xa7NOt2w+Vtd4L3d9JonlSqODg== - -react-native-camera@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/react-native-camera/-/react-native-camera-3.9.0.tgz#334d9d7be5476d673af4df954929958ecc36ed55" - integrity sha512-qUhog1yd7FQ9xRTxN1SP+T5f4uLuVY5eXx6mMlBCNsqvYSoKCWFHH1Kpil9fx7d2iOl/o09o/7kHNcSl9RkrkQ== - dependencies: - prop-types "^15.6.2" - -"react-native-config@git+https://github.com/status-im/react-native-config.git#v0.11.2-status": - version "0.11.2" - resolved "git+https://github.com/status-im/react-native-config.git#e705dac8ab459614906c060dcf699e5fe5c05d9d" - -react-native-dialogs@^0.0.20: - version "0.0.20" - resolved "https://registry.yarnpkg.com/react-native-dialogs/-/react-native-dialogs-0.0.20.tgz#f3fb48eadba9d83fb9d4e6d7eca573494a8cefaa" - integrity sha512-HeoU9d7wWUUAtxjcIJLaeIs/eYS2ZHTNh3kboeCKngLvfvgptd/7vZXwXdQ+xeOEek+cm95kDfMJQd2xnb+4wA== - -react-native-fetch-polyfill@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/react-native-fetch-polyfill/-/react-native-fetch-polyfill-1.1.3.tgz#a02d9069a2f7108ca0b70b8469085c67cc02949c" - integrity sha512-zr5yXQftuGq+ABGa3n4ZE+vkL1lBsMSePkRINm3/6vlpbwnLXYoijwazTO/W8GjsV4LAgGmzuieZxKO/NxW19A== - -"react-native-fs@git+https://github.com/status-im/react-native-fs.git#v2.9.7-status": - version "2.9.7" - resolved "git+https://github.com/status-im/react-native-fs.git#e60e5cd6062e8c33379dd50f09b76f4f5024d5c0" - dependencies: - base-64 "^0.1.0" - utf8 "^2.1.1" - -react-native-gesture-handler@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-1.5.0.tgz#df7dc5285c152e0656db70f55200fa632c4f45af" - integrity sha512-YUOXHsGLajK1cFReQ4Xh0H9GUTxDW9cUZEVu1q+dVqur2urSKi63KklAFB2l8Neob9nl1E/w0c5hGcBP9FMCIA== - dependencies: - hammerjs "^2.0.8" - hoist-non-react-statics "^2.3.1" - invariant "^2.2.4" - prop-types "^15.7.2" - -react-native-image-crop-picker@^0.26.1: - version "0.26.1" - resolved "https://registry.yarnpkg.com/react-native-image-crop-picker/-/react-native-image-crop-picker-0.26.1.tgz#3499ff5d4a09c9a9e927eb4f6ff936015ff594f1" - integrity sha512-5JdOjQS2V5L/vfb8+jPTUYx4VZPLvhZTyCUjiG0BZCbh+N1L24Kj2C+8EOuWS7xXXHrz5Bpe/eq5lQO1Efc+Yw== - -react-native-image-resizer@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/react-native-image-resizer/-/react-native-image-resizer-1.1.0.tgz#90646bb6dbf0ccc81e53cba69130479e9198d88b" - integrity sha512-OgDOV/0J5ERy6qqu9PTSEiJmNkDrsJluqGM20Tj3JX1836VPO3oeIzQvd8pVdvBiuDq+Z6ZKrsy5SdxP8/O+Ig== - -"react-native-keychain@git+https://github.com/status-im/react-native-keychain.git#v.3.0.0-4-status": - version "3.0.0-rc.3" - resolved "git+https://github.com/status-im/react-native-keychain.git#5895bafa11e734325eaaffd56dda8ca50bfc5275" - -"react-native-languages@git+https://github.com/status-im/react-native-languages.git#v0.1.1-status": - version "3.0.2" - resolved "git+https://github.com/status-im/react-native-languages.git#60338ff3040b8af68d33233aebeb36db4d31aed0" - -"react-native-navigation-twopane@git+https://github.com/status-im/react-native-navigation-twopane.git#v0.0.2-status": - version "0.0.2" - resolved "git+https://github.com/status-im/react-native-navigation-twopane.git#04ed5fddfb46a6a3ee30776987acb4d3b11c27d4" - -react-native-os@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/react-native-os/-/react-native-os-1.1.0.tgz#bfbe1c44d8a5b14a6f3a3a405d8ada6f547a516e" - integrity sha1-v74cRNilsUpvOjpAXYrab1R6UW4= - -react-native-safe-area-view@^0.14.1: - version "0.14.6" - resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.14.6.tgz#9a9d37d9f8f3887d60c4076eae7b5d2319539446" - integrity sha512-dbzuvaeHFV1VBpyMaC0gtJ2BqFt6ls/405A0t78YN1sXiTrVr3ki86Ysct8mzifWqLdvWzcWagE5wfMtdxnqoA== - dependencies: - hoist-non-react-statics "^2.3.1" - -"react-native-screens@^1.0.0 || ^1.0.0-alpha": - version "1.0.0-alpha.23" - resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-1.0.0-alpha.23.tgz#25d7ea4d11bda4fcde2d1da7ae50271c6aa636e0" - integrity sha512-tOxHGQUN83MTmQB4ghoQkibqOdGiX4JQEmeyEv96MKWO/x8T2PJv84ECUos9hD3blPRQwVwSpAid1PPPhrVEaw== - dependencies: - debounce "^1.2.0" - -react-native-splash-screen@^3.0.6: - version "3.2.0" - resolved "https://registry.yarnpkg.com/react-native-splash-screen/-/react-native-splash-screen-3.2.0.tgz#d47ec8557b1ba988ee3ea98d01463081b60fff45" - integrity sha512-Ls9qiNZzW/OLFoI25wfjjAcrf2DZ975hn2vr6U9gyuxi2nooVbzQeFoQS5vQcbCt9QX5NY8ASEEAtlLdIa6KVg== - -react-native-tab-view@^1.2.0, react-native-tab-view@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-1.4.1.tgz#f113cd87485808f0c991abec937f70fa380478b9" - integrity sha512-Bke8KkDcDhvB/z0AS7MnQKMD2p6Kwfc1rSKlMOvg9CC5CnClQ2QEnhPSbwegKDYhUkBI92iH/BYy7hNSm5kbUQ== - dependencies: - prop-types "^15.6.1" - -"react-native-webview-bridge@git+https://github.com/status-im/react-native-webview-bridge.git#0.33.16-status-rn049-desktop": - version "0.33.16" - resolved "git+https://github.com/status-im/react-native-webview-bridge.git#da824f59731af37b877e325204637d7c52e170f6" - dependencies: - invariant "2.2.0" - keymirror "0.1.1" - -"react-native@git+https://github.com/status-im/react-native-desktop.git#v0.57.8_11": - version "0.57.8" - resolved "git+https://github.com/status-im/react-native-desktop.git#6cf317a82ef82ad1102e292110928929c3b68aec" - dependencies: - "@babel/runtime" "^7.0.0" - absolute-path "^0.0.0" - art "^0.10.0" - base64-js "^1.1.2" - chalk "^1.1.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 "^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" - lodash "^4.17.5" - metro "^0.48.1" - metro-babel-register "^0.48.1" - metro-core "^0.48.1" - metro-memory-fs "^0.48.1" - 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" - npmlog "^2.0.4" - opn "^3.0.2" - optimist "^0.6.1" - plist "^3.0.0" - pretty-format "^4.2.1" - promise "^7.1.1" - prop-types "^15.5.8" - react-clone-referenced-element "^1.0.1" - react-devtools-core "^3.4.2" - react-timer-mixin "^0.13.2" - 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.5" - xcode "^1.0.0" - xmldoc "^0.4.0" - yargs "^9.0.0" - yeoman-environment "^2.3.4" - yeoman-generator "^3.2.0" - -react-navigation-drawer@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/react-navigation-drawer/-/react-navigation-drawer-1.2.1.tgz#7bd5efeee7d2f611d3ebb0933e0c8e8eb7cafe52" - integrity sha512-T2kaBjY2c4/3I6noWFnaf/c18ntNH5DsST38i+pdc2NPxn5Yi5lkK+ZZTeKuHSFD4a7G0jWY9OGf1iRkHWLMAQ== - dependencies: - react-native-tab-view "^1.2.0" - -react-navigation-stack@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/react-navigation-stack/-/react-navigation-stack-1.4.0.tgz#69cdb029ea4ee5877d7e933b3117dc90bc841eb2" - integrity sha512-zEe9wCA0Ot8agarYb//0nSWYW1GM+1R0tY/nydUV0EizeJ27At0EklYVWvYEuYU6C48va6cu8OPL7QD/CcJACw== - -react-navigation-tabs@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/react-navigation-tabs/-/react-navigation-tabs-1.1.4.tgz#00a312250df3c519c60b7815a523ace5ee11163a" - integrity sha512-py2hLCRxPwXOzmY1W9XcY1rWXxdK6RGW/aXh56G9gIf8cpHNDhy/bJV4e46/JrVcse3ybFaN0liT09/DM/NdwQ== - dependencies: - hoist-non-react-statics "^2.5.0" - prop-types "^15.6.1" - react-lifecycles-compat "^3.0.4" - react-native-tab-view "^1.4.1" - -react-navigation@^3.11.0: - version "3.11.1" - resolved "https://registry.yarnpkg.com/react-navigation/-/react-navigation-3.11.1.tgz#ba696ad6b512088a97a20cc7e6a250c53dbddd26" - integrity sha512-n64HxLG5s5ucVFo1Gs+D9ujChhHDd98lpQ1p27wL7gq8V1PaRJMvsBEIsguhtc2rTIL/TWDynOesXQDG+Eg6FQ== - dependencies: - "@react-navigation/core" "~3.4.1" - "@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-proxy@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-1.1.8.tgz#9dbfd9d927528c3aa9f444e4558c37830ab8c26a" - integrity sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo= - dependencies: - lodash "^4.6.1" - react-deep-force-update "^1.0.0" - -react-refresh@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.2.tgz#54a277a6caaac2803d88f1d6f13c1dcfbd81e334" - integrity sha512-kv5QlFFSZWo7OlJFNYbxRtY66JImuP2LcrFgyJfQaf85gSP+byzG21UbDQEYjU7f//ny8rwiEkO6py2Y+fEgAQ== - -react-timer-mixin@^0.13.2: - version "0.13.4" - resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz#75a00c3c94c13abe29b43d63b4c65a88fc8264d3" - integrity sha512-4+ow23tp/Tv7hBM5Az5/Be/eKKF7DIvJ09voz5LyHGQaqqz9WV8YMs31eFvcYQs7d451LSg7kDJV70XYN/Ug/Q== - -react-transform-hmr@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz#e1a40bd0aaefc72e8dfd7a7cda09af85066397bb" - integrity sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s= - dependencies: - global "^4.3.0" - react-proxy "^1.1.7" - -react@^16.12.0: - version "16.12.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" - integrity sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - -read-chunk@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-3.2.0.tgz#2984afe78ca9bfbbdb74b19387bf9e86289c16ca" - integrity sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ== - dependencies: - pify "^4.0.1" - with-open-file "^0.1.6" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -"readable-stream@2 || 3": - version "3.4.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" - integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.3.5, readable-stream@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - -regenerate-unicode-properties@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" - integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-runtime@^0.13.2: - version "0.13.3" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" - integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== - -regenerator-transform@^0.12.3: - version "0.12.4" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.12.4.tgz#aa9b6c59f4b97be080e972506c560b3bccbfcff0" - integrity sha512-p2I0fY+TbSLD2/VFTFb/ypEHxs3e3AjU0DzttdPqk2bSmDhfSh5E54b86Yc6XhUa5KykK1tgbvZ4Nr82oCJWkQ== - dependencies: - private "^0.1.6" - -regenerator-transform@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" - integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== - dependencies: - private "^0.1.6" - -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== - dependencies: - is-equal-shallow "^0.1.3" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpu-core@^4.1.3, regexpu-core@^4.5.4: - version "4.5.5" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.5.tgz#aaffe61c2af58269b3e516b61a73790376326411" - integrity sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.1.0" - regjsgen "^0.5.0" - regjsparser "^0.6.0" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.1.0" - -regexpu-core@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" - integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.1.0" - regjsgen "^0.5.0" - regjsparser "^0.6.0" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.1.0" - -registry-auth-token@^3.0.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" - integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== - dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" - -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= - dependencies: - rc "^1.0.1" - -regjsgen@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" - integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== - -regjsparser@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" - integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== - dependencies: - jsesc "~0.5.0" - -release-zalgo@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" - integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= - dependencies: - es6-error "^4.0.1" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -replace-ext@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" - integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ= - -replace-ext@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= - -request@^2.86.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.0" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== - dependencies: - path-parse "^1.0.6" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@~2.2.6: - version "2.2.8" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" - integrity sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI= - -"rn-snoopy@git+https://github.com/status-im/rn-snoopy.git#v2.0.2-status": - version "2.0.2" - resolved "git+https://github.com/status-im/rn-snoopy.git#f23dc13469c6c2a694649f658cdc1d1eaf8def64" - dependencies: - eslint-plugin-jsx-a11y "5.1.1" - lodash "^3.10.0" - rxjs "5.5.2" - -rsvp@^3.3.3: - version "3.6.2" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" - integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== - -run-async@^2.0.0, run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= - dependencies: - is-promise "^2.1.0" - -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" - integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74= - dependencies: - rx-lite "*" - -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" - integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= - -rxjs@5.5.2: - version "5.5.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.2.tgz#28d403f0071121967f18ad665563255d54236ac3" - integrity sha512-oRYoIKWBU3Ic37fLA5VJu31VqQO4bWubRntcHSJ+cwaDQBwdnZ9x4zmhJfm/nFQ2E82/I4loSioHnACamrKGgA== - dependencies: - symbol-observable "^1.0.1" - -rxjs@^6.4.0: - version "6.5.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" - integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== - dependencies: - tslib "^1.9.0" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^2.0.0: - version "2.5.2" - resolved "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa" - integrity sha1-tNwYYcIbQn6SlQej51HiosuKs/o= - dependencies: - anymatch "^2.0.0" - capture-exit "^1.2.0" - exec-sh "^0.2.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - watch "~0.18.0" - optionalDependencies: - fsevents "^1.2.3" - -sax@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -sax@~1.1.1: - version "1.1.6" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.1.6.tgz#5d616be8a5e607d54e114afae55b7eaf2fcc3240" - integrity sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA= - -scheduler@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.18.0.tgz#5901ad6659bc1d8f3fdaf36eb7a67b0d6746b1c4" - integrity sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -scoped-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" - integrity sha1-o0a7Gs1CB65wvXwMfKnlZra63bg= - -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= - dependencies: - semver "^5.0.3" - -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -serialize-error@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a" - integrity sha1-ULZ51WNc34Rme9yOWa9OW4HV9go= - -serve-static@^1.13.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shell-quote@1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" - integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c= - dependencies: - array-filter "~0.0.0" - array-map "~0.0.0" - array-reduce "~0.0.0" - jsonify "~0.0.0" - -shell-quote@^1.6.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== - -shelljs@^0.8.0: - version "0.8.3" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" - integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -simple-concat@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" - integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY= - -simple-get@^2.7.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d" - integrity sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw== - dependencies: - decompress-response "^3.3.0" - once "^1.3.1" - simple-concat "^1.0.0" - -simple-plist@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-0.2.1.tgz#71766db352326928cf3a807242ba762322636723" - integrity sha1-cXZts1IyaSjPOoByQrp2IyJjZyM= - dependencies: - bplist-creator "0.0.7" - bplist-parser "0.1.1" - plist "2.0.1" - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - -slide@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== - dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.16: - version "0.5.16" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" - integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@^0.5.9: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -spawn-wrap@^1.4.2: - version "1.4.3" - resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.4.3.tgz#81b7670e170cca247d80bf5faf0cfb713bdcf848" - integrity sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw== - dependencies: - foreground-child "^1.5.6" - mkdirp "^0.5.0" - os-homedir "^1.0.1" - rimraf "^2.6.2" - signal-exit "^3.0.2" - which "^1.3.0" - -spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== - -spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stacktrace-parser@^0.1.3: - version "0.1.7" - resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.7.tgz#9ed005638a5e79dcf256611da1dfb4871e6fd14d" - integrity sha512-Evm+NuZ2ZTwGazsbsZC+EV1EGsvyxgIvtNwbyFfeXaq/8L78M5Kdh0qpmQaTkUpbOAKbbPP7c7qZa7u8XFsrUA== - dependencies: - type-fest "^0.7.1" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"status-conan@git+https://github.com/status-im/status-conan.git#v1.0.0": - version "1.0.0" - resolved "git+https://github.com/status-im/status-conan.git#47a1b8264cd321ed3122762e9a07a6df1dea5d8e" - -"statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stream-buffers@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" - integrity sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ= - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY= - -string-template@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" - integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string.prototype.trim@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz#75a729b10cfc1be439543dae442129459ce61e3d" - integrity sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.13.0" - function-bind "^1.1.1" - -string.prototype.trimleft@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.0.0.tgz#68b6aa8e162c6a80e76e3a8a0c2e747186e271ff" - integrity sha1-aLaqjhYsaoDnbjqKDC50cYbicf8= - dependencies: - define-properties "^1.1.2" - function-bind "^1.0.2" - -string.prototype.trimright@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.0.0.tgz#ab4a56d802a01fbe7293e11e84f24dc8164661dd" - integrity sha1-q0pW2AKgH75yk+EehPJNyBZGYd0= - dependencies: - define-properties "^1.1.2" - function-bind "^1.0.2" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-bom-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" - integrity sha1-+H217yYT9paKpUWr/h7HKLaoKco= - dependencies: - first-chunk-stream "^2.0.0" - strip-bom "^2.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-hex-prefix@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" - integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= - dependencies: - is-hex-prefixed "1.0.0" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -symbol-observable@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== - -tar@^4: - version "4.4.10" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" - integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.3.5" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" - -temp@0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" - integrity sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k= - dependencies: - os-tmpdir "^1.0.0" - rimraf "~2.2.6" - -term-size@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" - integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= - dependencies: - execa "^0.7.0" - -test-exclude@^5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" - integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== - dependencies: - glob "^7.1.3" - minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^2.0.0" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -textextensions@^2.4.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.5.0.tgz#e21d3831dafa37513dd80666dff541414e314293" - integrity sha512-1IkVr355eHcomgK7fgj1Xsokturx6L5S2JRT5WcRdA6v5shk9sxWuO/w/VbpQexwkXJMQIa/j1dBi3oo7+HhcA== - -throat@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through2@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" - integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== - dependencies: - readable-stream "2 || 3" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -time-stamp@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" - integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= - -timed-out@^4.0.0, timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - -tmp@^0.0.31: - version "0.0.31" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" - integrity sha1-jzirlDjhcxXl29izZX6L+yd65Kc= - dependencies: - os-tmpdir "~1.0.1" - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -tn1150@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/tn1150/-/tn1150-0.1.0.tgz#673503d24d56b87de8b8c77fee3fc0853d59a18d" - integrity sha1-ZzUD0k1WuH3ouMd/7j/AhT1ZoY0= - dependencies: - unorm "^1.4.1" - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== - dependencies: - psl "^1.1.24" - punycode "^1.4.1" - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= - -tslib@^1.9.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-fest@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" - integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -ua-parser-js@^0.7.18: - version "0.7.20" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.20.tgz#7527178b82f6a62a0f243d1f94fd30e3e3c21098" - integrity sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw== - -uglify-es@^3.1.9: - version "3.3.9" - resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" - integrity sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ== - dependencies: - commander "~2.13.0" - source-map "~0.6.1" - -uglify-js@^3.1.4: - version "3.6.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" - integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== - dependencies: - commander "~2.20.0" - source-map "~0.6.1" - -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - integrity sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po= - -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== - -underscore@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" - integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== - -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" - integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" - integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" - integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= - dependencies: - crypto-random-string "^1.0.0" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unorm@^1.4.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.6.0.tgz#029b289661fba714f1a9af439eb51d9b16c205af" - integrity sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA== - -unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -untildify@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.3.tgz#1e7b42b140bcfd922b22e70ca1265bfe3634c7c9" - integrity sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA== - -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= - -update-notifier@^2.2.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" - integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== - dependencies: - boxen "^1.2.1" - chalk "^2.0.1" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-ci "^1.0.10" - is-installed-globally "^0.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - -uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= - dependencies: - prepend-http "^1.0.1" - -url-set-query@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" - integrity sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk= - -url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" - integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -utf8@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" - integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== - -utf8@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.2.tgz#1fa0d9270e9be850d9b05027f63519bf46457d96" - integrity sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY= - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" - integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vinyl-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a" - integrity sha1-p+v1/779obfRjRQPyweyI++2dRo= - dependencies: - graceful-fs "^4.1.2" - pify "^2.3.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - strip-bom-stream "^2.0.0" - vinyl "^1.1.0" - -vinyl@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" - integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ= - dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" - -vinyl@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" - integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - -walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -watch@~0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" - integrity sha1-KAlUdsbffJDJYxOJkMClQj60uYY= - dependencies: - exec-sh "^0.2.0" - minimist "^1.2.0" - -web3-utils@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.4.tgz#96832a39a66b05bf8862a5b0bdad2799d709d951" - integrity sha512-+S86Ip+jqfIPQWvw2N/xBQq5JNqCO0dyvukGdJm8fEWHZbckT4WxSpHbx+9KLEWY4H4x9pUwnoRkK87pYyHfgQ== - dependencies: - bn.js "4.11.8" - eth-lib "0.2.7" - ethereum-bloom-filters "^1.0.6" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - underscore "1.9.1" - utf8 "3.0.0" - -whatwg-fetch@>=0.10.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" - integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9, which@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -widest-line@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" - integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== - dependencies: - string-width "^2.1.1" - -with-open-file@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/with-open-file/-/with-open-file-0.1.6.tgz#0bc178ecab75f6baac8ae11c85e07445d690ea50" - integrity sha512-SQS05JekbtwQSgCYlBsZn/+m2gpn4zWsqpCYIrCHva0+ojXcnmUEPsBN6Ipoz3vmY/81k5PvYEWSxER2g4BTqA== - dependencies: - p-finally "^1.0.0" - p-try "^2.1.0" - pify "^4.0.1" - -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^1.2.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" - integrity sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8= - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - -write-file-atomic@^2.0.0, write-file-atomic@^2.4.2: - version "2.4.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -ws@^1.1.0, ws@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" - integrity sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w== - dependencies: - options ">=0.0.5" - ultron "1.0.x" - -ws@^3.3.1: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - -xcode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xcode/-/xcode-1.1.0.tgz#9fcb63f417a9af377bfb743a5c22afce4e1da964" - integrity sha512-hllHFtfsNu5WbVzj8KbGNdI3NgOYmTLZqyF4a9c9J1aGMhAdxmLLsXlpG0Bz8fEtKh6I3pyargRXN0ZlLpcF5w== - dependencies: - simple-plist "^0.2.1" - uuid "^3.3.2" - -xdg-basedir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" - integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= - -xhr-request-promise@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz#343c44d1ee7726b8648069682d0f840c83b4261d" - integrity sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0= - dependencies: - xhr-request "^1.0.1" - -xhr-request@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" - integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== - dependencies: - buffer-to-arraybuffer "^0.0.5" - object-assign "^4.1.1" - query-string "^5.0.1" - simple-get "^2.7.0" - timed-out "^4.0.1" - url-set-query "^1.0.0" - xhr "^2.0.4" - -xhr@^2.0.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" - integrity sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ== - dependencies: - global "~4.3.0" - is-function "^1.0.1" - parse-headers "^2.0.0" - xtend "^4.0.0" - -xmlbuilder@8.2.2: - version "8.2.2" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773" - integrity sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M= - -xmlbuilder@^9.0.7: - version "9.0.7" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= - -xmldoc@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-0.4.0.tgz#d257224be8393eaacbf837ef227fd8ec25b36888" - integrity sha1-0lciS+g5PqrL+DfvIn/Y7CWzaIg= - dependencies: - sax "~1.1.1" - -xmldom@0.1.x: - version "0.1.27" - resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" - integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= - -xpipe@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf" - integrity sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98= - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= - -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^3.0.0, yallist@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== - -yargs-parser@^13.0.0, yargs-parser@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= - dependencies: - camelcase "^4.1.0" - -yargs@^13.2.2, yargs@^13.2.4: - version "13.3.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" - integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.1" - -yargs@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-9.0.1.tgz#52acc23feecac34042078ee78c0c007f5085db4c" - integrity sha1-UqzCP+7Kw0BCB47njAwAf1CF20w= - dependencies: - 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" - -yeoman-environment@^2.0.5, yeoman-environment@^2.3.4: - version "2.4.0" - resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-2.4.0.tgz#4829445dc1306b02d9f5f7027cd224bf77a8224d" - integrity sha512-SsvoL0RNAFIX69eFxkUhwKUN2hG1UwUjxrcP+T2ytwdhqC/kHdnFOH2SXdtSN1Ju4aO4xuimmzfRoheYY88RuA== - dependencies: - chalk "^2.4.1" - cross-spawn "^6.0.5" - debug "^3.1.0" - diff "^3.5.0" - escape-string-regexp "^1.0.2" - globby "^8.0.1" - grouped-queue "^0.3.3" - inquirer "^6.0.0" - is-scoped "^1.0.0" - lodash "^4.17.10" - log-symbols "^2.2.0" - mem-fs "^1.1.0" - strip-ansi "^4.0.0" - text-table "^0.2.0" - untildify "^3.0.3" - -yeoman-generator@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-3.2.0.tgz#02077d2d7ff28fedc1ed7dad7f9967fd7c3604cc" - integrity sha512-iR/qb2je3GdXtSfxgvOXxUW0Cp8+C6LaZaNlK2BAICzFNzwHtM10t/QBwz5Ea9nk6xVDQNj4Q889TjCXGuIv8w== - dependencies: - async "^2.6.0" - chalk "^2.3.0" - cli-table "^0.3.1" - cross-spawn "^6.0.5" - dargs "^6.0.0" - dateformat "^3.0.3" - debug "^4.1.0" - detect-conflict "^1.0.0" - error "^7.0.2" - find-up "^3.0.0" - github-username "^4.0.0" - istextorbinary "^2.2.1" - lodash "^4.17.10" - make-dir "^1.1.0" - mem-fs-editor "^5.0.0" - minimist "^1.2.0" - pretty-bytes "^5.1.0" - read-chunk "^3.0.0" - read-pkg-up "^4.0.0" - rimraf "^2.6.2" - run-async "^2.0.0" - shelljs "^0.8.0" - text-table "^0.2.0" - through2 "^3.0.0" - yeoman-environment "^2.0.5" diff --git a/desktop/main.cpp b/desktop/main.cpp deleted file mode 100644 index 15b16ed04a..0000000000 --- a/desktop/main.cpp +++ /dev/null @@ -1,545 +0,0 @@ -/** - * Copyright (C) 2016, Canonical Ltd. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - -// #define BUILD_FOR_BUNDLE - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "attachedproperties.h" -#include "reactitem.h" -#include "rootview.h" -#include "utilities.h" - -#include "exceptionglobalhandler.h" - -#include "appconfig.h" -Q_DECLARE_LOGGING_CATEGORY(JSSERVER) -Q_DECLARE_LOGGING_CATEGORY(STATUS) -Q_LOGGING_CATEGORY(JSSERVER, "jsserver") -Q_LOGGING_CATEGORY(STATUS, "status") - -static QStringList consoleOutputStrings; -static QMutex consoleOutputMutex; - -#ifdef BUILD_FOR_BUNDLE -bool nodeJsServerStarted = false; -QProcess *g_nodeJsServerProcess = nullptr; -#define NODEJS_SERVER_NAME "ubuntu-server" -#endif - -const int MAIN_WINDOW_WIDTH = 1024; -const int MAIN_WINDOW_HEIGHT = 768; -const QString CRASH_REPORT_EXECUTABLE = QStringLiteral("reportApp"); - -const char *ENABLE_LOG_FILE_ENV_VAR_NAME = "STATUS_LOG_FILE_ENABLED"; -const char *LOG_FILE_PATH_ENV_VAR_NAME = "STATUS_LOG_PATH"; - -// TODO: some way to change while running -class ReactNativeProperties : public QObject { - Q_OBJECT - Q_PROPERTY( - bool liveReload READ liveReload WRITE setLiveReload NOTIFY liveReloadChanged) - Q_PROPERTY( - QUrl codeLocation READ codeLocation WRITE setCodeLocation NOTIFY codeLocationChanged) - Q_PROPERTY( - QString pluginsPath READ pluginsPath WRITE setPluginsPath NOTIFY pluginsPathChanged) - Q_PROPERTY( - QString executor READ executor WRITE setExecutor NOTIFY executorChanged) - Q_PROPERTY( - QVariantMap initialProps READ initialProps WRITE setInitialProps NOTIFY initialPropsChanged) -public: - ReactNativeProperties(QObject *parent = nullptr) : QObject(parent) { - m_codeLocation = m_packagerTemplate.arg(m_packagerHost).arg(m_packagerPort); - } - bool liveReload() const { return m_liveReload; } - void setLiveReload(bool liveReload) { - if (m_liveReload == liveReload) - return; - m_liveReload = liveReload; - Q_EMIT liveReloadChanged(); - } - QUrl codeLocation() const { return m_codeLocation; } - void setCodeLocation(const QUrl &codeLocation) { - if (m_codeLocation == codeLocation) - return; - m_codeLocation = codeLocation; - Q_EMIT codeLocationChanged(); - } - QString pluginsPath() const { return m_pluginsPath; } - void setPluginsPath(const QString &pluginsPath) { - if (m_pluginsPath == pluginsPath) - return; - m_pluginsPath = pluginsPath; - Q_EMIT pluginsPathChanged(); - } - QString executor() const { return m_executor; } - void setExecutor(const QString &executor) { - if (m_executor == executor) - return; - m_executor = executor; - Q_EMIT executorChanged(); - } - QVariantMap initialProps() const { return m_initialProps; } - void setInitialProps(const QVariantMap &initialProps) { - if (m_initialProps == initialProps) - return; - m_initialProps = initialProps; - Q_EMIT initialPropsChanged(); - } - - QString packagerHost() const { return m_packagerHost; } - void setPackagerHost(const QString &packagerHost) { - if (m_packagerHost == packagerHost) - return; - m_packagerHost = packagerHost; - setCodeLocation(m_packagerTemplate.arg(m_packagerHost).arg(m_packagerPort)); - } - QString packagerPort() const { return m_packagerPort; } - void setPackagerPort(const QString &packagerPort) { - if (m_packagerPort == packagerPort) - return; - m_packagerPort = packagerPort; - setCodeLocation(m_packagerTemplate.arg(m_packagerHost).arg(m_packagerPort)); - } - void setLocalSource(const QString &source) { - if (m_localSource == source) - return; - - // overrides packager* - if (source.startsWith("file:")) { - setCodeLocation(source); - } else { - QFileInfo fi(source); - if (!fi.exists()) { - qCWarning(STATUS) << "Attempt to set non-existent local source file"; - return; - } - setCodeLocation(QUrl::fromLocalFile(fi.absoluteFilePath())); - setLiveReload(false); - } - } - -Q_SIGNALS: - void liveReloadChanged(); - void codeLocationChanged(); - void pluginsPathChanged(); - void executorChanged(); - void initialPropsChanged(); - -private: - bool m_liveReload = false; - QString m_packagerHost = "localhost"; - QString m_packagerPort = "8081"; - QString m_localSource; - QString m_packagerTemplate = - "http://%1:%2/index.desktop.bundle?platform=desktop&dev=true"; - QUrl m_codeLocation; - QString m_pluginsPath; -#ifdef BUILD_FOR_BUNDLE - QString m_executor = "RemoteServerConnection"; -#else - QString m_executor = "LocalServerConnection"; -#endif - QVariantMap m_initialProps; -}; - -void saveMessage(QtMsgType type, const QMessageLogContext &context, - const QString &msg); -void writeLogsToFile(); -void writeLogFromJSServer(const QString &msg); -void writeSingleLineLogFromJSServer(const QString &msg); - -#ifdef BUILD_FOR_BUNDLE - -void killZombieJsServer(); -bool runNodeJsServer(); - -#endif - -void loadFontsFromResources() { - QDirIterator it(":", QDirIterator::Subdirectories); - while (it.hasNext()) { - QString resourceFile = it.next(); - if (resourceFile.endsWith(".otf", Qt::CaseInsensitive) || - resourceFile.endsWith(".ttf", Qt::CaseInsensitive)) { - qint32 fontId = QFontDatabase::addApplicationFont(resourceFile); - if (Q_UNLIKELY(fontId == -1)) { - qCDebug(STATUS) << "Unable to install font" << resourceFile; - } - } - } -} - -void exceptionPostHandledCallback() { -#ifdef BUILD_FOR_BUNDLE - if (g_nodeJsServerProcess) { - g_nodeJsServerProcess->kill(); - } -#endif -} - -bool redirectLogIntoFile() { -#ifdef BUILD_FOR_BUNDLE - return true; -#else - return qEnvironmentVariable(ENABLE_LOG_FILE_ENV_VAR_NAME, "") == - QStringLiteral("1"); -#endif -} - -QString getDataStoragePath() { - QString statusDataDir = qgetenv("STATUS_DATA_DIR"); - QString dataStoragePath; - if (!statusDataDir.isEmpty()) { - dataStoragePath = statusDataDir; - } else { - dataStoragePath = QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation); - } - QDir dir(dataStoragePath); - if (!dir.exists()) { - dir.mkpath("."); - } - return dataStoragePath; -} - -int main(int argc, char **argv) { - QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - QApplication app(argc, argv); - - QCoreApplication::setApplicationName("Status"); - - // Init AppConfig - AppConfig::inst().getValue(AppConfig::LOGGING_ENABLED); - - QString appPath = QCoreApplication::applicationDirPath(); - QString dataStoragePath = getDataStoragePath(); -#ifdef BUILD_FOR_BUNDLE - if (qgetenv("STATUS_DATA_DIR").isEmpty()) { - killZombieJsServer(); - } -#else - dataStoragePath = ""; -#endif - - ExceptionGlobalHandler exceptionHandler( - appPath + QDir::separator() + CRASH_REPORT_EXECUTABLE, - exceptionPostHandledCallback, dataStoragePath); - - Q_INIT_RESOURCE(react_resources); - - loadFontsFromResources(); - if (redirectLogIntoFile()) { - qInstallMessageHandler(saveMessage); - } - - //qCDebug(STATUS) << "###STATUS_NO_LOGGING"; - - -#ifdef BUILD_FOR_BUNDLE - if (!runNodeJsServer()) { - if (g_nodeJsServerProcess->state() == QProcess::NotRunning) { - // If we failed to start the Node.js server (happens on Windows if the Node.js server process was previously running), let's do a final attempt - delete g_nodeJsServerProcess; - if (!runNodeJsServer()) { - return 1; - } - } - } - - app.setWindowIcon(QIcon(":/icon.png")); -#endif - - QQuickView view; - ReactNativeProperties *rnp = new ReactNativeProperties(&view); - QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); - QVariantMap initialProps; - QString statusNodePort = env.value("STATUS_NODE_PORT"); - QString statusDataDir = env.value("STATUS_DATA_DIR"); - if (!statusNodePort.isEmpty()) { - initialProps["STATUS_NODE_PORT"] = statusNodePort; - } - if (!statusDataDir.isEmpty()) { - initialProps["STATUS_DATA_DIR"] = statusDataDir; - } - - rnp->setInitialProps(initialProps); - -#ifdef BUILD_FOR_BUNDLE - rnp->setCodeLocation("file:" + QGuiApplication::applicationDirPath() + - "/assets"); -#endif - - utilities::registerReactTypes(); - - QCommandLineParser p; - p.setApplicationDescription("React Native host application"); - p.addHelpOption(); - p.addOptions({ - {{"R", "live-reload"}, "Enable live reload."}, - {{"H", "host"}, "Set packager host address.", rnp->packagerHost()}, - {{"P", "port"}, "Set packager port number.", rnp->packagerPort()}, - {{"L", "local"}, "Set path to the local packaged source", "not set"}, - {{"M", "plugins-path"}, "Set path to node modules", "./plugins"}, - {{"E", "executor"}, "Set Javascript executor", rnp->executor()}, - }); - p.process(app); - rnp->setLiveReload(p.isSet("live-reload")); - if (p.isSet("host")) - rnp->setPackagerHost(p.value("host")); - if (p.isSet("port")) - rnp->setPackagerPort(p.value("port")); - if (p.isSet("local")) - rnp->setLocalSource(p.value("local")); - if (p.isSet("plugins-path")) - rnp->setPluginsPath(p.value("plugins-path")); - if (p.isSet("executor")) - rnp->setExecutor(p.value("executor")); - - view.rootContext()->setContextProperty("ReactNativeProperties", rnp); - view.setSource(QUrl("qrc:///main.qml")); - view.setResizeMode(QQuickView::SizeRootObjectToView); - view.resize(MAIN_WINDOW_WIDTH, MAIN_WINDOW_HEIGHT); - view.show(); - - QTimer flushLogsToFileTimer; - if (redirectLogIntoFile()) { - flushLogsToFileTimer.setInterval(500); - QObject::connect(&flushLogsToFileTimer, &QTimer::timeout, - [=]() { writeLogsToFile(); }); - flushLogsToFileTimer.start(); - } - - return app.exec(); -} - -QString getLogFilePath() { - QString logFilePath; -#ifdef BUILD_FOR_BUNDLE - logFilePath = getDataStoragePath() + QDir::separator() + "Status.log"; -#else - logFilePath = qEnvironmentVariable(LOG_FILE_PATH_ENV_VAR_NAME, ""); - if (logFilePath.isEmpty()) { - logFilePath = getDataStoragePath() + QDir::separator() + "StatusDev.log"; - } -#endif - return logFilePath; -} - -void writeLogsToFile() { - QMutexLocker locker(&consoleOutputMutex); - if(consoleOutputStrings.isEmpty()) - return; - - QFile logFile(getLogFilePath()); - if (logFile.open(QIODevice::WriteOnly | QIODevice::Append)) { - for (QString message : consoleOutputStrings) { - logFile.write(message.toStdString().c_str()); - } - consoleOutputStrings.clear(); - - logFile.flush(); - logFile.close(); - } -} - -#ifdef BUILD_FOR_BUNDLE - -#ifdef Q_OS_WIN - -#include -#include - -bool IsProcessRunning(const wchar_t *processName) { - bool exists = false; - PROCESSENTRY32 entry = { sizeof(PROCESSENTRY32) }; - - HANDLE snapshot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); - if (snapshot != NULL) { - if (::Process32First(snapshot, &entry)) { - do { - if (!wcsicmp(entry.szExeFile, processName)) { - exists = true; - break; - } - } while (::Process32Next(snapshot, &entry)); - } - - ::CloseHandle(snapshot); - } - return exists; -} - -#endif - -void killZombieJsServer() { - // Ensure that a zombie Node.js server process is not still running in the background before we spawn a new one - QString cmd; -#ifdef Q_OS_LINUX - cmd = QString("pkill -f %1").arg(NODEJS_SERVER_NAME); -#elif defined(Q_OS_MAC) - cmd = QString("killall -9 %1").arg(NODEJS_SERVER_NAME); -#elif defined(Q_OS_WIN) -#define _CAT(A, B) A##B -#define _W(A) _CAT(L, #A) - WCHAR exeName[_MAX_PATH]; - wsprintf(exeName, L"%s.exe", _W(NODEJS_SERVER_NAME)); - if (IsProcessRunning(exeName)) { - qCDebug(STATUS) << NODEJS_SERVER_NAME << "is running, killing it"; - ::ShellExecuteW(NULL, NULL, L"tskill", _W(NODEJS_SERVER_NAME), NULL, SW_HIDE); - } else { - qCDebug(STATUS) << NODEJS_SERVER_NAME << "is not running"; - } -#endif - - if (!cmd.isEmpty()) { - qCDebug(STATUS) << "Running " << cmd; - QByteArray cmdArray = cmd.toLocal8Bit(); - system(cmdArray.data()); - } -} - -bool runNodeJsServer() { - g_nodeJsServerProcess = new QProcess(); - g_nodeJsServerProcess->setWorkingDirectory(getDataStoragePath()); - g_nodeJsServerProcess->setProgram(QGuiApplication::applicationDirPath() + QDir::separator() + NODEJS_SERVER_NAME); - QString port = qgetenv("REACT_SERVER_PORT"); - if (!port.isEmpty()) { - QStringList arguments = (QStringList() << "--port" << port); - g_nodeJsServerProcess->setArguments(arguments); - } - QObject::connect(g_nodeJsServerProcess, &QProcess::errorOccurred, - [=](QProcess::ProcessError) { - qCWarning(JSSERVER) << "process name: " - << qUtf8Printable(g_nodeJsServerProcess->program()); - qCWarning(JSSERVER) << "process error: " - << qUtf8Printable(g_nodeJsServerProcess->errorString()); - }); - - QObject::connect( - g_nodeJsServerProcess, &QProcess::readyReadStandardOutput, [=] { - writeLogFromJSServer(g_nodeJsServerProcess->readAllStandardOutput().trimmed()); - }); - QObject::connect( - g_nodeJsServerProcess, &QProcess::readyReadStandardError, [=] { - QString output = - g_nodeJsServerProcess->readAllStandardError().trimmed(); - writeLogFromJSServer(output); - if (output.contains("Server starting")) { - nodeJsServerStarted = true; - } - }); - - QObject::connect(QGuiApplication::instance(), &QCoreApplication::aboutToQuit, - [=]() { - qCDebug(STATUS) << "Kill node.js server process"; - g_nodeJsServerProcess->kill(); - }); - - qCDebug(STATUS) << "starting node.js server process..."; - g_nodeJsServerProcess->start(); - qCDebug(STATUS) << "wait for started..."; - - if (g_nodeJsServerProcess->waitForReadyRead(10000)) { - // We know that the process started, now wait until it communicates that it has started - while (!nodeJsServerStarted) { - QGuiApplication::processEvents(); - } - qCDebug(STATUS) << "waiting finished"; - - return true; - } else { - qCDebug(STATUS) << "failed to start process"; - } - - return false; -} - -#endif - -void writeLogFromJSServer(const QString &msg) { - if (msg.contains("\\n")) { - QStringList lines = msg.split("\\n"); - foreach (const QString &line, lines) { - writeSingleLineLogFromJSServer(line); - } - } else { - writeSingleLineLogFromJSServer(msg); - } -} - -QString extractJSServerMessage(const QString& msg, int prefixLength) { - return msg.mid(prefixLength); -} - -void writeSingleLineLogFromJSServer(const QString &msg) { - if (msg.startsWith("TRACE ")) - qCDebug(JSSERVER) << qUtf8Printable(extractJSServerMessage(msg, 6)); - else if (msg.startsWith("DEBUG ")) - qCDebug(JSSERVER) << qUtf8Printable(extractJSServerMessage(msg, 6)); - else if (msg.startsWith("INFO ")) - qCInfo(JSSERVER) << qUtf8Printable(extractJSServerMessage(msg, 5)); - else if (msg.startsWith("WARN ")) - qCWarning(JSSERVER) << qUtf8Printable(extractJSServerMessage(msg, 5)); - else if (msg.startsWith("ERROR ")) - qCWarning(JSSERVER) << qUtf8Printable(extractJSServerMessage(msg, 6)); - else if (msg.startsWith("FATAL ")) - qCCritical(JSSERVER) << qUtf8Printable(extractJSServerMessage(msg, 6)); - else - qCDebug(JSSERVER) << qUtf8Printable(msg); -} - -void appendConsoleString(const QString &msg) { - QMutexLocker locker(&consoleOutputMutex); - consoleOutputStrings << msg; -} - -void saveMessage(QtMsgType type, const QMessageLogContext &context, - const QString &msg) { - - Q_UNUSED(context); - QByteArray localMsg = msg.toLocal8Bit(); - QString message = localMsg + "\n"; - QString timestamp = QDateTime::currentDateTime().toString("hh:mm:ss.zzz"); - QString typeStr; - - switch (type) { - case QtDebugMsg: - typeStr = "D"; - break; - case QtInfoMsg: - typeStr = "I"; - break; - case QtWarningMsg: - typeStr = "W"; - break; - case QtCriticalMsg: - typeStr = "C"; - break; - case QtFatalMsg: - typeStr = "F"; - } - appendConsoleString(QString("%1 - %2 - [%3] - %4").arg(timestamp, typeStr, context.category, message)); - if (type == QtFatalMsg) { - writeLogsToFile(); - abort(); - } -} - -#include "main.moc" - diff --git a/desktop/reportApp/CMakeLists.txt b/desktop/reportApp/CMakeLists.txt deleted file mode 100644 index c766f07dd2..0000000000 --- a/desktop/reportApp/CMakeLists.txt +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright (c) 2017-present, Status Research and Development GmbH. -# All rights reserved. -# -# This source code is licensed under the BSD-style license found in the -# LICENSE file in the root directory of this source tree. An additional grant -# of patent rights can be found in the PATENTS file in the same directory. - -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(APP_NAME "reportApp") - -set(MAIN_CPP_SOURCE reportpublisher.cpp - main.cpp) - -add_executable( - ${APP_NAME} - ${MAIN_CPP_SOURCE} - main.qrc -) - -set(USED_QT_MODULES Core Qml Quick WebSockets Widgets Svg) - -qt5_use_modules(${APP_NAME} ${USED_QT_MODULES}) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_PROJECT_DEPS ${REACT_NATIVE_DESKTOP_EXTERNAL_PROJECT_DEPS} reportApp PARENT_SCOPE) diff --git a/desktop/reportApp/main.cpp b/desktop/reportApp/main.cpp deleted file mode 100644 index d319079cd7..0000000000 --- a/desktop/reportApp/main.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Copyright (c) 2017-present, Status Research and Development GmbH. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#include -#include -#include -#include - -#include "reportpublisher.h" - -const int MAIN_WINDOW_WIDTH = 1024; -const int MAIN_WINDOW_HEIGHT = 768; -const int INPUT_ARGUMENTS_COUNT = 6; - -const int MINIDUMP_FILE_PATH_ARG_INDEX = 1; -const int CRASHED_EXECUTABLE_PATH_ARG_INDEX = 2; -const int LOGS_PATH_INDEX = 5; - -int main(int argc, char **argv) { - - QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - QGuiApplication app(argc, argv); - - if (argc != INPUT_ARGUMENTS_COUNT) { - return 1; - } - - app.setApplicationName("Crash Report"); - - ReportPublisher reportPublisher(argv[MINIDUMP_FILE_PATH_ARG_INDEX], - argv[CRASHED_EXECUTABLE_PATH_ARG_INDEX], - argv[LOGS_PATH_INDEX]); - - QQuickView view; - view.rootContext()->setContextProperty("reportPublisher", &reportPublisher); - view.setSource(QUrl("qrc:///main.qml")); - view.setResizeMode(QQuickView::SizeRootObjectToView); - view.resize(MAIN_WINDOW_WIDTH, MAIN_WINDOW_HEIGHT); - view.show(); - - return app.exec(); -} diff --git a/desktop/reportApp/main.qml b/desktop/reportApp/main.qml deleted file mode 100644 index 77880b45ab..0000000000 --- a/desktop/reportApp/main.qml +++ /dev/null @@ -1,77 +0,0 @@ -/** - * Copyright (c) 2017-present, Status Research and Development GmbH. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -import QtQuick 2.4 -import QtQuick.Controls 2.2 -import QtQuick.Layouts 1.3 - -Rectangle { - id: root - width: 384 - height: 640 - - ColumnLayout { - anchors.centerIn: parent - Text { - Layout.alignment: Qt.AlignCenter - text: "Oh, no! Status application just crashed!" - font.bold: true - font.pointSize: 25 - } - Text { - Layout.alignment: Qt.AlignCenter - Layout.topMargin: 20 - text: "Please report us crash.dmp and Status executable files to allow us fix the issue!" - font.bold: true - font.pointSize: 20 - } - RowLayout { - Layout.alignment: Qt.AlignCenter - Layout.topMargin: 40 - spacing: 25 - - Button { - Layout.minimumWidth: 150 - text: "Report (highly appreciated)" - onClicked: reportPublisher.submit() - } - - Button { - text: "Restart and Quit" - onClicked: reportPublisher.restartAndQuit() - } - - Button { - text: "Just Quit" - onClicked: reportPublisher.quit() - } - } - RowLayout { - Layout.alignment: Qt.AlignCenter - Layout.topMargin: 100 - - TextEdit { - readOnly: true - Layout.maximumWidth: 500 - wrapMode: TextEdit.Wrap - selectByMouse: true - font.pointSize: 12 - textFormat: TextEdit.RichText - text: "
Please upload both crash.dmp and Status executable files from the report directory:
" + reportPublisher.resolveDataStoragePath() + "
" - } - - Button { - text: "View" - onClicked: reportPublisher.showDirectory() - } - } - } -} - diff --git a/desktop/reportApp/main.qrc b/desktop/reportApp/main.qrc deleted file mode 100644 index 79babe091c..0000000000 --- a/desktop/reportApp/main.qrc +++ /dev/null @@ -1,5 +0,0 @@ - - - main.qml - - diff --git a/desktop/reportApp/reportpublisher.cpp b/desktop/reportApp/reportpublisher.cpp deleted file mode 100644 index 8eff462610..0000000000 --- a/desktop/reportApp/reportpublisher.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/** - * Copyright (c) 2017-present, Status Research and Development GmbH. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#include "reportpublisher.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -const QString REPORT_SUBMIT_URL = - QStringLiteral("https://goo.gl/forms/0705ZN0EMW3xLDpI2"); - -ReportPublisher::ReportPublisher(QString minidumpFilePath, - QString crashedExecutablePath, - QString logsPath, QObject *parent) - : QObject(parent), m_minidumpFilePath(minidumpFilePath), - m_logsPath(logsPath), m_crashedExecutablePath(crashedExecutablePath) {} - -void ReportPublisher::submit() { - QDesktopServices::openUrl(QUrl(REPORT_SUBMIT_URL)); - showDirectory(); -} - -void ReportPublisher::restartAndQuit() { - QString appPath = m_crashedExecutablePath; - -#if defined(Q_OS_MACOS) || defined(Q_OS_LINUX) - QFileInfo crashedExecutableFileInfo(m_crashedExecutablePath); - QString fullPath = crashedExecutableFileInfo.dir().absolutePath(); - #ifdef Q_OS_MACOS - const QString bundleExtension = QStringLiteral(".app"); - const QString cmdTemplate = QStringLiteral("open \"%1\""); - #else - const QString bundleExtension = QStringLiteral(".AppImage"); - const QString cmdTemplate = QStringLiteral("\"%1\""); - #endif - if (fullPath.contains(bundleExtension)) { - appPath = fullPath.left(fullPath.indexOf(bundleExtension) + - bundleExtension.size()); - } - QString cmd = QString(cmdTemplate).arg(appPath); -#else - QString cmd = QString("\"%1\"").arg(appPath);; -#endif - - QProcess::startDetached(cmd); - - qApp->quit(); -} - -void ReportPublisher::quit() { qApp->quit(); } - -void ReportPublisher::showDirectory() { - QString dataStoragePath = resolveDataStoragePath(); - if (!m_logFilesPrepared) { - m_logFilesPrepared = prepareReportFiles(dataStoragePath); - } - - QDesktopServices::openUrl(QUrl::fromLocalFile(dataStoragePath)); -} - -bool ReportPublisher::prepareReportFiles(QString reportDirPath) { - QFileInfo minidumpFileInfo(m_minidumpFilePath); - QFileInfo crashedExecutableFileInfo(m_crashedExecutablePath); - if (!minidumpFileInfo.exists() || !crashedExecutableFileInfo.exists()) - return false; - - return QFile::copy(m_minidumpFilePath, - reportDirPath + QDir::separator() + "crash.dmp") && - QFile::copy(m_crashedExecutablePath, - reportDirPath + QDir::separator() + - crashedExecutableFileInfo.fileName()) && - prepareLogFiles(reportDirPath); -} - -bool ReportPublisher::prepareLogFiles(QString reportDirPath) { - if (reportDirPath.isEmpty()) - return true; - - QDirIterator filesIterator(m_logsPath, QStringList() << "*.log", QDir::Files); - while (filesIterator.hasNext()) { - QFileInfo logFile(filesIterator.next()); - QFile::copy(logFile.absoluteFilePath(), - reportDirPath + QDir::separator() + logFile.fileName()); - } - return true; -} - -QString ReportPublisher::resolveDataStoragePath() { - QFileInfo minidumpFileInfo(m_minidumpFilePath); - QString dataStoragePath = - QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) + - QDir::separator() + minidumpFileInfo.baseName(); - QDir dir(dataStoragePath); - if (!dir.exists()) { - dir.mkpath("."); - } - return dir.path(); -} diff --git a/desktop/reportApp/reportpublisher.h b/desktop/reportApp/reportpublisher.h deleted file mode 100644 index 695dbd3445..0000000000 --- a/desktop/reportApp/reportpublisher.h +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Copyright (c) 2017-present, Status Research and Development GmbH. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#ifndef REPORTPUBLISHER -#define REPORTPUBLISHER - -#include -#include - -class ReportPublisher : public QObject { - Q_OBJECT - -public: - ReportPublisher(QString minidumpFilePath, QString crashedExecutablePath, - QString logsPath, QObject *parent = 0); - - Q_INVOKABLE void submit(); - Q_INVOKABLE void restartAndQuit(); - Q_INVOKABLE void quit(); - Q_INVOKABLE void showDirectory(); - Q_INVOKABLE QString resolveDataStoragePath(); - -private: - bool prepareReportFiles(QString reportDirPath); - bool prepareLogFiles(QString reportDirPath); - - QString m_minidumpFilePath; - QString m_crashedExecutablePath; - QString m_logsPath; - bool m_logFilesPrepared = false; -}; - -#endif // REPORTPUBLISHER diff --git a/desktop/resources/add.png b/desktop/resources/add.png deleted file mode 100644 index 21b37f431d..0000000000 Binary files a/desktop/resources/add.png and /dev/null differ diff --git a/desktop/resources/add_contact.png b/desktop/resources/add_contact.png deleted file mode 100644 index b6dde36dd0..0000000000 Binary files a/desktop/resources/add_contact.png and /dev/null differ diff --git a/desktop/resources/address.png b/desktop/resources/address.png deleted file mode 100644 index c3bdccdc79..0000000000 Binary files a/desktop/resources/address.png and /dev/null differ diff --git a/desktop/resources/arrow_left.png b/desktop/resources/arrow_left.png deleted file mode 100644 index f44762016d..0000000000 Binary files a/desktop/resources/arrow_left.png and /dev/null differ diff --git a/desktop/resources/arrow_right.png b/desktop/resources/arrow_right.png deleted file mode 100644 index 673ef5572e..0000000000 Binary files a/desktop/resources/arrow_right.png and /dev/null differ diff --git a/desktop/resources/arrow_up.png b/desktop/resources/arrow_up.png deleted file mode 100644 index 41f9f45652..0000000000 Binary files a/desktop/resources/arrow_up.png and /dev/null differ diff --git a/desktop/resources/back.png b/desktop/resources/back.png deleted file mode 100644 index 874105736a..0000000000 Binary files a/desktop/resources/back.png and /dev/null differ diff --git a/desktop/resources/backspace.png b/desktop/resources/backspace.png deleted file mode 100644 index f412af1d03..0000000000 Binary files a/desktop/resources/backspace.png and /dev/null differ diff --git a/desktop/resources/bell.png b/desktop/resources/bell.png deleted file mode 100644 index 76ee86e868..0000000000 Binary files a/desktop/resources/bell.png and /dev/null differ diff --git a/desktop/resources/browser.png b/desktop/resources/browser.png deleted file mode 100644 index c9349a2005..0000000000 Binary files a/desktop/resources/browser.png and /dev/null differ diff --git a/desktop/resources/camera.png b/desktop/resources/camera.png deleted file mode 100644 index eae2bedfbf..0000000000 Binary files a/desktop/resources/camera.png and /dev/null differ diff --git a/desktop/resources/cancel.png b/desktop/resources/cancel.png deleted file mode 100644 index 89a4086f8c..0000000000 Binary files a/desktop/resources/cancel.png and /dev/null differ diff --git a/desktop/resources/change.png b/desktop/resources/change.png deleted file mode 100644 index 143002657f..0000000000 Binary files a/desktop/resources/change.png and /dev/null differ diff --git a/desktop/resources/check.png b/desktop/resources/check.png deleted file mode 100644 index acfb992f60..0000000000 Binary files a/desktop/resources/check.png and /dev/null differ diff --git a/desktop/resources/close.png b/desktop/resources/close.png deleted file mode 100644 index 65e1b4f735..0000000000 Binary files a/desktop/resources/close.png and /dev/null differ diff --git a/desktop/resources/commands.png b/desktop/resources/commands.png deleted file mode 100644 index 06d320983f..0000000000 Binary files a/desktop/resources/commands.png and /dev/null differ diff --git a/desktop/resources/copy.png b/desktop/resources/copy.png deleted file mode 100644 index 9c19da8d23..0000000000 Binary files a/desktop/resources/copy.png and /dev/null differ diff --git a/desktop/resources/corner_left_bottom.png b/desktop/resources/corner_left_bottom.png deleted file mode 100644 index 1c9c9b446d..0000000000 Binary files a/desktop/resources/corner_left_bottom.png and /dev/null differ diff --git a/desktop/resources/corner_left_top.png b/desktop/resources/corner_left_top.png deleted file mode 100644 index 1a0a4e57f8..0000000000 Binary files a/desktop/resources/corner_left_top.png and /dev/null differ diff --git a/desktop/resources/corner_right_bottom.png b/desktop/resources/corner_right_bottom.png deleted file mode 100644 index e6071d1ae1..0000000000 Binary files a/desktop/resources/corner_right_bottom.png and /dev/null differ diff --git a/desktop/resources/corner_right_top.png b/desktop/resources/corner_right_top.png deleted file mode 100644 index 6eaca3cd9a..0000000000 Binary files a/desktop/resources/corner_right_top.png and /dev/null differ diff --git a/desktop/resources/dapp.png b/desktop/resources/dapp.png deleted file mode 100644 index 8cd519e6b0..0000000000 Binary files a/desktop/resources/dapp.png and /dev/null differ diff --git a/desktop/resources/delete.png b/desktop/resources/delete.png deleted file mode 100644 index 5c5ed9404e..0000000000 Binary files a/desktop/resources/delete.png and /dev/null differ diff --git a/desktop/resources/desktop.png b/desktop/resources/desktop.png deleted file mode 100644 index 2b03362c96..0000000000 Binary files a/desktop/resources/desktop.png and /dev/null differ diff --git a/desktop/resources/download.png b/desktop/resources/download.png deleted file mode 100644 index 0da5eaa1cd..0000000000 Binary files a/desktop/resources/download.png and /dev/null differ diff --git a/desktop/resources/dropdown.png b/desktop/resources/dropdown.png deleted file mode 100644 index 228e20283e..0000000000 Binary files a/desktop/resources/dropdown.png and /dev/null differ diff --git a/desktop/resources/dropdown_up.png b/desktop/resources/dropdown_up.png deleted file mode 100644 index 23efec887e..0000000000 Binary files a/desktop/resources/dropdown_up.png and /dev/null differ diff --git a/desktop/resources/edit.png b/desktop/resources/edit.png deleted file mode 100644 index f2e54d497c..0000000000 Binary files a/desktop/resources/edit.png and /dev/null differ diff --git a/desktop/resources/filter.png b/desktop/resources/filter.png deleted file mode 100644 index 3c7985a3d9..0000000000 Binary files a/desktop/resources/filter.png and /dev/null differ diff --git a/desktop/resources/fingerprint.png b/desktop/resources/fingerprint.png deleted file mode 100644 index 17137fe969..0000000000 Binary files a/desktop/resources/fingerprint.png and /dev/null differ diff --git a/desktop/resources/flash.png b/desktop/resources/flash.png deleted file mode 100644 index d2486fa6c0..0000000000 Binary files a/desktop/resources/flash.png and /dev/null differ diff --git a/desktop/resources/flash_active.png b/desktop/resources/flash_active.png deleted file mode 100644 index 15bbb77c8e..0000000000 Binary files a/desktop/resources/flash_active.png and /dev/null differ diff --git a/desktop/resources/group_chat.png b/desktop/resources/group_chat.png deleted file mode 100644 index 27cf5107b3..0000000000 Binary files a/desktop/resources/group_chat.png and /dev/null differ diff --git a/desktop/resources/help.png b/desktop/resources/help.png deleted file mode 100644 index f0e3656711..0000000000 Binary files a/desktop/resources/help.png and /dev/null differ diff --git a/desktop/resources/history.png b/desktop/resources/history.png deleted file mode 100644 index c8e753b116..0000000000 Binary files a/desktop/resources/history.png and /dev/null differ diff --git a/desktop/resources/home.png b/desktop/resources/home.png deleted file mode 100644 index 19ddc6d532..0000000000 Binary files a/desktop/resources/home.png and /dev/null differ diff --git a/desktop/resources/home_1.png b/desktop/resources/home_1.png deleted file mode 100644 index afb65ba21e..0000000000 Binary files a/desktop/resources/home_1.png and /dev/null differ diff --git a/desktop/resources/ic_background.png b/desktop/resources/ic_background.png deleted file mode 100644 index 0265779ac7..0000000000 Binary files a/desktop/resources/ic_background.png and /dev/null differ diff --git a/desktop/resources/ic_foreground.png b/desktop/resources/ic_foreground.png deleted file mode 100644 index ef8ffe231a..0000000000 Binary files a/desktop/resources/ic_foreground.png and /dev/null differ diff --git a/desktop/resources/ic_stat_status_notification.png b/desktop/resources/ic_stat_status_notification.png deleted file mode 100755 index a040aa06c8..0000000000 Binary files a/desktop/resources/ic_stat_status_notification.png and /dev/null differ diff --git a/desktop/resources/icon_action_back.png b/desktop/resources/icon_action_back.png deleted file mode 100644 index 89db7e2986..0000000000 Binary files a/desktop/resources/icon_action_back.png and /dev/null differ diff --git a/desktop/resources/icon_action_forward.png b/desktop/resources/icon_action_forward.png deleted file mode 100644 index b8abf47c48..0000000000 Binary files a/desktop/resources/icon_action_forward.png and /dev/null differ diff --git a/desktop/resources/icon_action_fullscreen_collapse.png b/desktop/resources/icon_action_fullscreen_collapse.png deleted file mode 100644 index 8bc5016f2c..0000000000 Binary files a/desktop/resources/icon_action_fullscreen_collapse.png and /dev/null differ diff --git a/desktop/resources/icon_action_fullscreen_expand.png b/desktop/resources/icon_action_fullscreen_expand.png deleted file mode 100644 index d5b72bb768..0000000000 Binary files a/desktop/resources/icon_action_fullscreen_expand.png and /dev/null differ diff --git a/desktop/resources/icon_arrow_top.png b/desktop/resources/icon_arrow_top.png deleted file mode 100644 index 193fe2261d..0000000000 Binary files a/desktop/resources/icon_arrow_top.png and /dev/null differ diff --git a/desktop/resources/icon_avatar.png b/desktop/resources/icon_avatar.png deleted file mode 100644 index d28594fcf1..0000000000 Binary files a/desktop/resources/icon_avatar.png and /dev/null differ diff --git a/desktop/resources/icon_check_on.png b/desktop/resources/icon_check_on.png deleted file mode 100644 index d8318e7fcb..0000000000 Binary files a/desktop/resources/icon_check_on.png and /dev/null differ diff --git a/desktop/resources/icon_close_light_gray.png b/desktop/resources/icon_close_light_gray.png deleted file mode 100644 index 4b6d97ccef..0000000000 Binary files a/desktop/resources/icon_close_light_gray.png and /dev/null differ diff --git a/desktop/resources/icon_forward_gray.png b/desktop/resources/icon_forward_gray.png deleted file mode 100644 index 9b96935894..0000000000 Binary files a/desktop/resources/icon_forward_gray.png and /dev/null differ diff --git a/desktop/resources/icon_lock_gray.png b/desktop/resources/icon_lock_gray.png deleted file mode 100644 index 5e7c958046..0000000000 Binary files a/desktop/resources/icon_lock_gray.png and /dev/null differ diff --git a/desktop/resources/icon_lock_white.png b/desktop/resources/icon_lock_white.png deleted file mode 100644 index 700c8fdf81..0000000000 Binary files a/desktop/resources/icon_lock_white.png and /dev/null differ diff --git a/desktop/resources/icon_menu_group.png b/desktop/resources/icon_menu_group.png deleted file mode 100644 index 40e9b7dc41..0000000000 Binary files a/desktop/resources/icon_menu_group.png and /dev/null differ diff --git a/desktop/resources/icon_money_white.png b/desktop/resources/icon_money_white.png deleted file mode 100755 index 6510ff9c04..0000000000 Binary files a/desktop/resources/icon_money_white.png and /dev/null differ diff --git a/desktop/resources/icon_muted.png b/desktop/resources/icon_muted.png deleted file mode 100644 index 2c862042ba..0000000000 Binary files a/desktop/resources/icon_muted.png and /dev/null differ diff --git a/desktop/resources/icon_notifications_on.png b/desktop/resources/icon_notifications_on.png deleted file mode 100644 index 207cb4c16f..0000000000 Binary files a/desktop/resources/icon_notifications_on.png and /dev/null differ diff --git a/desktop/resources/icon_phone_white.png b/desktop/resources/icon_phone_white.png deleted file mode 100755 index d60a9ac7a2..0000000000 Binary files a/desktop/resources/icon_phone_white.png and /dev/null differ diff --git a/desktop/resources/in_contacts.png b/desktop/resources/in_contacts.png deleted file mode 100644 index 704533ffcc..0000000000 Binary files a/desktop/resources/in_contacts.png and /dev/null differ diff --git a/desktop/resources/info.png b/desktop/resources/info.png deleted file mode 100644 index 6d1080e39b..0000000000 Binary files a/desktop/resources/info.png and /dev/null differ diff --git a/desktop/resources/keycard.png b/desktop/resources/keycard.png deleted file mode 100644 index 8dc1c79dff..0000000000 Binary files a/desktop/resources/keycard.png and /dev/null differ diff --git a/desktop/resources/keycard_logo.png b/desktop/resources/keycard_logo.png deleted file mode 100644 index 0546b5458b..0000000000 Binary files a/desktop/resources/keycard_logo.png and /dev/null differ diff --git a/desktop/resources/language.png b/desktop/resources/language.png deleted file mode 100644 index 289bf5270f..0000000000 Binary files a/desktop/resources/language.png and /dev/null differ diff --git a/desktop/resources/launch_logo.png b/desktop/resources/launch_logo.png deleted file mode 100644 index b6252c8da3..0000000000 Binary files a/desktop/resources/launch_logo.png and /dev/null differ diff --git a/desktop/resources/link.png b/desktop/resources/link.png deleted file mode 100644 index 557c9bd19f..0000000000 Binary files a/desktop/resources/link.png and /dev/null differ diff --git a/desktop/resources/log_out.png b/desktop/resources/log_out.png deleted file mode 100644 index 370625beeb..0000000000 Binary files a/desktop/resources/log_out.png and /dev/null differ diff --git a/desktop/resources/logo.png b/desktop/resources/logo.png deleted file mode 100644 index f703708c1d..0000000000 Binary files a/desktop/resources/logo.png and /dev/null differ diff --git a/desktop/resources/mailserver.png b/desktop/resources/mailserver.png deleted file mode 100644 index 51389784c7..0000000000 Binary files a/desktop/resources/mailserver.png and /dev/null differ diff --git a/desktop/resources/make_admin.png b/desktop/resources/make_admin.png deleted file mode 100644 index b2d9b8ecdc..0000000000 Binary files a/desktop/resources/make_admin.png and /dev/null differ diff --git a/desktop/resources/max.png b/desktop/resources/max.png deleted file mode 100644 index 096b9a0b35..0000000000 Binary files a/desktop/resources/max.png and /dev/null differ diff --git a/desktop/resources/message.png b/desktop/resources/message.png deleted file mode 100644 index 74e7ef02a1..0000000000 Binary files a/desktop/resources/message.png and /dev/null differ diff --git a/desktop/resources/mobile.png b/desktop/resources/mobile.png deleted file mode 100644 index 0a8e141fab..0000000000 Binary files a/desktop/resources/mobile.png and /dev/null differ diff --git a/desktop/resources/more.png b/desktop/resources/more.png deleted file mode 100644 index d7acbc6758..0000000000 Binary files a/desktop/resources/more.png and /dev/null differ diff --git a/desktop/resources/network.png b/desktop/resources/network.png deleted file mode 100644 index 801c5fdc51..0000000000 Binary files a/desktop/resources/network.png and /dev/null differ diff --git a/desktop/resources/next.png b/desktop/resources/next.png deleted file mode 100644 index 9bb116be24..0000000000 Binary files a/desktop/resources/next.png and /dev/null differ diff --git a/desktop/resources/notification.png b/desktop/resources/notification.png deleted file mode 100644 index a0a02e2152..0000000000 Binary files a/desktop/resources/notification.png and /dev/null differ diff --git a/desktop/resources/one_on_one_chat.png b/desktop/resources/one_on_one_chat.png deleted file mode 100644 index b94487fe60..0000000000 Binary files a/desktop/resources/one_on_one_chat.png and /dev/null differ diff --git a/desktop/resources/password.png b/desktop/resources/password.png deleted file mode 100644 index e22a7f6f4e..0000000000 Binary files a/desktop/resources/password.png and /dev/null differ diff --git a/desktop/resources/paste.png b/desktop/resources/paste.png deleted file mode 100644 index fd13976457..0000000000 Binary files a/desktop/resources/paste.png and /dev/null differ diff --git a/desktop/resources/photo.png b/desktop/resources/photo.png deleted file mode 100644 index 762a6eae62..0000000000 Binary files a/desktop/resources/photo.png and /dev/null differ diff --git a/desktop/resources/profile.png b/desktop/resources/profile.png deleted file mode 100644 index 9fd1068266..0000000000 Binary files a/desktop/resources/profile.png and /dev/null differ diff --git a/desktop/resources/public_chat.png b/desktop/resources/public_chat.png deleted file mode 100644 index e1a7639071..0000000000 Binary files a/desktop/resources/public_chat.png and /dev/null differ diff --git a/desktop/resources/qr.png b/desktop/resources/qr.png deleted file mode 100644 index 2e03d17323..0000000000 Binary files a/desktop/resources/qr.png and /dev/null differ diff --git a/desktop/resources/receive.png b/desktop/resources/receive.png deleted file mode 100644 index 6b9a0c09ff..0000000000 Binary files a/desktop/resources/receive.png and /dev/null differ diff --git a/desktop/resources/refresh.png b/desktop/resources/refresh.png deleted file mode 100644 index 533559c3dc..0000000000 Binary files a/desktop/resources/refresh.png and /dev/null differ diff --git a/desktop/resources/remove_contact.png b/desktop/resources/remove_contact.png deleted file mode 100644 index f801fd89f3..0000000000 Binary files a/desktop/resources/remove_contact.png and /dev/null differ diff --git a/desktop/resources/reply.png b/desktop/resources/reply.png deleted file mode 100644 index 144b8512eb..0000000000 Binary files a/desktop/resources/reply.png and /dev/null differ diff --git a/desktop/resources/rotate_camera.png b/desktop/resources/rotate_camera.png deleted file mode 100644 index 9e59fd9207..0000000000 Binary files a/desktop/resources/rotate_camera.png and /dev/null differ diff --git a/desktop/resources/search.png b/desktop/resources/search.png deleted file mode 100644 index 14ad5a0adf..0000000000 Binary files a/desktop/resources/search.png and /dev/null differ diff --git a/desktop/resources/security.png b/desktop/resources/security.png deleted file mode 100644 index 6cc34a5634..0000000000 Binary files a/desktop/resources/security.png and /dev/null differ diff --git a/desktop/resources/send.png b/desktop/resources/send.png deleted file mode 100644 index 565006f41b..0000000000 Binary files a/desktop/resources/send.png and /dev/null differ diff --git a/desktop/resources/settings.png b/desktop/resources/settings.png deleted file mode 100644 index 3d1d718f74..0000000000 Binary files a/desktop/resources/settings.png and /dev/null differ diff --git a/desktop/resources/settings_advanced.png b/desktop/resources/settings_advanced.png deleted file mode 100644 index f7ac1c697a..0000000000 Binary files a/desktop/resources/settings_advanced.png and /dev/null differ diff --git a/desktop/resources/share.png b/desktop/resources/share.png deleted file mode 100644 index f70ab8f28b..0000000000 Binary files a/desktop/resources/share.png and /dev/null differ diff --git a/desktop/resources/stickers.png b/desktop/resources/stickers.png deleted file mode 100644 index 63acc9b8bd..0000000000 Binary files a/desktop/resources/stickers.png and /dev/null differ diff --git a/desktop/resources/text.png b/desktop/resources/text.png deleted file mode 100644 index cab051f138..0000000000 Binary files a/desktop/resources/text.png and /dev/null differ diff --git a/desktop/resources/tiny_arrow_down.png b/desktop/resources/tiny_arrow_down.png deleted file mode 100644 index 51ee3d99f8..0000000000 Binary files a/desktop/resources/tiny_arrow_down.png and /dev/null differ diff --git a/desktop/resources/tiny_check.png b/desktop/resources/tiny_check.png deleted file mode 100644 index 0f33ab5cd0..0000000000 Binary files a/desktop/resources/tiny_check.png and /dev/null differ diff --git a/desktop/resources/tiny_clear.png b/desktop/resources/tiny_clear.png deleted file mode 100644 index b047208c4b..0000000000 Binary files a/desktop/resources/tiny_clear.png and /dev/null differ diff --git a/desktop/resources/tiny_edit.png b/desktop/resources/tiny_edit.png deleted file mode 100644 index 60851f1aa8..0000000000 Binary files a/desktop/resources/tiny_edit.png and /dev/null differ diff --git a/desktop/resources/tiny_external.png b/desktop/resources/tiny_external.png deleted file mode 100644 index 8a6956b60b..0000000000 Binary files a/desktop/resources/tiny_external.png and /dev/null differ diff --git a/desktop/resources/tiny_group.png b/desktop/resources/tiny_group.png deleted file mode 100644 index 9b2a355e1f..0000000000 Binary files a/desktop/resources/tiny_group.png and /dev/null differ diff --git a/desktop/resources/tiny_lock.png b/desktop/resources/tiny_lock.png deleted file mode 100644 index 842deab5a3..0000000000 Binary files a/desktop/resources/tiny_lock.png and /dev/null differ diff --git a/desktop/resources/tiny_lock_broken.png b/desktop/resources/tiny_lock_broken.png deleted file mode 100644 index c1a89d012c..0000000000 Binary files a/desktop/resources/tiny_lock_broken.png and /dev/null differ diff --git a/desktop/resources/tiny_new_contact.png b/desktop/resources/tiny_new_contact.png deleted file mode 100644 index fc273529cd..0000000000 Binary files a/desktop/resources/tiny_new_contact.png and /dev/null differ diff --git a/desktop/resources/tiny_pending.png b/desktop/resources/tiny_pending.png deleted file mode 100644 index 912c8ac449..0000000000 Binary files a/desktop/resources/tiny_pending.png and /dev/null differ diff --git a/desktop/resources/tiny_public.png b/desktop/resources/tiny_public.png deleted file mode 100644 index b763156f1b..0000000000 Binary files a/desktop/resources/tiny_public.png and /dev/null differ diff --git a/desktop/resources/tiny_settings.png b/desktop/resources/tiny_settings.png deleted file mode 100644 index 52d1b24362..0000000000 Binary files a/desktop/resources/tiny_settings.png and /dev/null differ diff --git a/desktop/resources/tiny_tribute_to_talk.png b/desktop/resources/tiny_tribute_to_talk.png deleted file mode 100644 index a4f970e105..0000000000 Binary files a/desktop/resources/tiny_tribute_to_talk.png and /dev/null differ diff --git a/desktop/resources/tribute_to_talk.png b/desktop/resources/tribute_to_talk.png deleted file mode 100644 index 8bb9575d92..0000000000 Binary files a/desktop/resources/tribute_to_talk.png and /dev/null differ diff --git a/desktop/resources/two_arrows.png b/desktop/resources/two_arrows.png deleted file mode 100644 index 7b561d1748..0000000000 Binary files a/desktop/resources/two_arrows.png and /dev/null differ diff --git a/desktop/resources/user_profile.png b/desktop/resources/user_profile.png deleted file mode 100644 index 2035b00663..0000000000 Binary files a/desktop/resources/user_profile.png and /dev/null differ diff --git a/desktop/resources/user_profile_1.png b/desktop/resources/user_profile_1.png deleted file mode 100644 index 2035b00663..0000000000 Binary files a/desktop/resources/user_profile_1.png and /dev/null differ diff --git a/desktop/resources/username.png b/desktop/resources/username.png deleted file mode 100644 index 819ea7d3e3..0000000000 Binary files a/desktop/resources/username.png and /dev/null differ diff --git a/desktop/resources/wallet.png b/desktop/resources/wallet.png deleted file mode 100644 index 99d2618ff4..0000000000 Binary files a/desktop/resources/wallet.png and /dev/null differ diff --git a/desktop/resources/warning.png b/desktop/resources/warning.png deleted file mode 100644 index 05f8a6db8a..0000000000 Binary files a/desktop/resources/warning.png and /dev/null differ diff --git a/desktop/run-app.bat.in b/desktop/run-app.bat.in deleted file mode 100644 index f4dc903d55..0000000000 --- a/desktop/run-app.bat.in +++ /dev/null @@ -1,11 +0,0 @@ -@rem Copyright (c) 2017-present, Status Research and Development GmbH. -@rem All rights reserved. -@rem -@rem This source code is licensed under the BSD-style license found in the -@rem LICENSE file in the root directory of this source tree. An additional grant -@rem of patent rights can be found in the PATENTS file in the same directory. - - -@rem Run app locally -@CMAKE_BINARY_DIR@/bin/@APP_NAME@ - diff --git a/desktop/run-app.sh.in b/desktop/run-app.sh.in deleted file mode 100755 index 02bae1ad28..0000000000 --- a/desktop/run-app.sh.in +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (C) 2016, Canonical Ltd. -# All rights reserved. - -# This source code is licensed under the BSD-style license found in the -# LICENSE file in the root directory of this source tree. An additional grant -# of patent rights can be found in the PATENTS file in the same directory. - -args="" -on_device=0 -plugins_path="" -asset_path="share" -executor="" - -# Parse args -for arg in "$@" -do - IFS="=" read -a parts <<< "$arg" - if [[ $parts == "--on-device" ]]; then - on_device=1 - elif [[ $parts == "--plugins-path" ]]; then - plugins_path=${parts[1]} - args=$args" --plugins-path=./plugins" - elif [[ $parts == "--asset-path" ]]; then - asset_path=${parts[1]} - elif [[ $parts == "--executor" ]]; then - if [[ $on_device == 1 ]]; then - # Force net executor for now - executor="ReactNetExecutor" - else - executor=${parts[1]} - fi - args=$args" --executor=$executor" - else - args=$args" $parts" - fi -done - -# Handle defaults -if [[ -z "$executor" ]]; then - if [[ $on_device == 1 ]]; then - executor="ReactNetExecutor" - args=$args" --executor=ReactNetExecutor" - fi - - # The RN application selects pipe executor by default -fi - -# For net case, try and run executor; it is probably OK if this fails - it's -# just running elsewhere -if [[ "$executor" == "ReactNetExecutor" ]]; then - (node @CMAKE_BINARY_DIR@/bin/ubuntu-server.js 2>&1 > /dev/null) & -fi - -if [[ $on_device == 1 ]]; then - app_path="/home/phablet/@APP_NAME@" - -# Push binaries - adb push @CMAKE_BINARY_DIR@/bin/@APP_NAME@ "$app_path/@APP_NAME@" - [ -d "$plugins_path" ] && adb push "$plugins_path" "$app_path/plugins/" - [ -d "$asset_path" ] && adb push "$asset_path" "$app_path/share/" -# adb reverse --no-rebind tcp:8081 tcp:808 - -# Run app on device - react_host=`hostname -I` - - adb shell "cd $app_path && REACT_SERVER_HOST=$react_host ./@APP_NAME@ --host $react_host $args -- --desktop_file_hint=/usr/share/applications/webbrowser-app.desktop" -else -# Run app locally - # Note: Needed to add QT_XCB_GL_INTEGRATION=none when migrating to Nix, since running the app in debug mode inside Nix shell was failing at run time with "qt.glx: qglx_findConfig: Failed to finding matching FBConfig (1 1 1 0)\nCould not initialize GLX" - QT_XCB_GL_INTEGRATION=none @CMAKE_BINARY_DIR@/bin/@APP_NAME@ $args -fi - diff --git a/fiddle/src/status_im/react_native/js_dependencies.cljs b/fiddle/src/status_im/react_native/js_dependencies.cljs index 396d9f3e8f..ec4e430d4e 100644 --- a/fiddle/src/status_im/react_native/js_dependencies.cljs +++ b/fiddle/src/status_im/react_native/js_dependencies.cljs @@ -25,9 +25,6 @@ (def svg (fn [] #js {:default #js {}})) (def status-keycard (fn [] #js {:default #js {}})) -(def desktop-linking #js {:addEventListener (fn [])}) -(def desktop-shortcuts #js {:addEventListener (fn [])}) - (def snoopy (fn [] #js {:default #js {}})) (def snoopy-filter (fn [] #js {:default #js {}})) (def snoopy-bars (fn [] #js {:default #js {}})) @@ -42,7 +39,5 @@ (def keychain (fn [] #js {:setGenericPassword (constantly (.resolve js/Promise true))})) (def react-navigation #js {:NavigationActions #js {}}) -(def desktop-menu #js {}) -(def desktop-config #js {}) (def react-native-mail (fn [] #js {:mail #js {}})) (def react-native-navigation-twopane #js {}) diff --git a/fiddle/src/status_im/ui/components/react.cljs b/fiddle/src/status_im/ui/components/react.cljs index 5acae7d96b..bfeda454ac 100644 --- a/fiddle/src/status_im/ui/components/react.cljs +++ b/fiddle/src/status_im/ui/components/react.cljs @@ -92,7 +92,6 @@ (def dimensions nil) (def keyboard nil) (def linking nil) -(def desktop-notification nil) (def max-font-size-multiplier 1.25) diff --git a/mobile/js_files/metro.config.js b/metro.config.js similarity index 100% rename from mobile/js_files/metro.config.js rename to metro.config.js diff --git a/modules/react-native-desktop-config/desktop/CMakeLists.txt b/modules/react-native-desktop-config/desktop/CMakeLists.txt deleted file mode 100644 index cd4aa2e5c4..0000000000 --- a/modules/react-native-desktop-config/desktop/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES} - \"DesktopConfig\" PARENT_SCOPE) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC} - ${CMAKE_CURRENT_SOURCE_DIR}/desktopconfig.cpp PARENT_SCOPE) diff --git a/modules/react-native-desktop-config/desktop/desktopconfig.cpp b/modules/react-native-desktop-config/desktop/desktopconfig.cpp deleted file mode 100644 index 392f851200..0000000000 --- a/modules/react-native-desktop-config/desktop/desktopconfig.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include "desktopconfig.h" -#include "bridge.h" - -#include -#include -#include "../../../desktop/appconfig.h" - -Q_LOGGING_CATEGORY(DESKTOPCONFIG, "DesktopConfig") - -namespace { -struct RegisterQMLMetaType { - RegisterQMLMetaType() { qRegisterMetaType(); } -} registerMetaType; -} // namespace - - -DesktopConfig::DesktopConfig(QObject *parent) - : QObject(parent) { -} - -DesktopConfig::~DesktopConfig() { -} - -void DesktopConfig::setBridge(Bridge *bridge) { - this->bridge = bridge; -} - -QString DesktopConfig::moduleName() { return "DesktopConfigManager"; } - -QList DesktopConfig::methodsToExport() { - return QList{}; -} - -QVariantMap DesktopConfig::constantsToExport() { return QVariantMap(); } - -void DesktopConfig::getValue(const QString& name, double callback) { - //qCDebug(DESKTOPCONFIG) << "### getValue" << name; - bridge->invokePromiseCallback(callback, QVariantList{AppConfig::inst().getValue(name)}); -} - -void DesktopConfig::setValue(const QString& name, const QVariant& value) { - //qCDebug(DESKTOPCONFIG) << "### setValue" << name << ": " << value; - AppConfig::inst().setValue(name, value); -} - - diff --git a/modules/react-native-desktop-config/desktop/desktopconfig.h b/modules/react-native-desktop-config/desktop/desktopconfig.h deleted file mode 100644 index e027076956..0000000000 --- a/modules/react-native-desktop-config/desktop/desktopconfig.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef DESKTOPCONFIG_H -#define DESKTOPCONFIG_H - -#include "moduleinterface.h" -#include -#include - -Q_DECLARE_LOGGING_CATEGORY(CONFIG) - -class Bridge; -class DesktopConfig : public QObject, public ModuleInterface { - Q_OBJECT - Q_INTERFACES(ModuleInterface) - -public: - Q_INVOKABLE DesktopConfig(QObject* parent = 0); - virtual ~DesktopConfig(); - - void setBridge(Bridge* bridge) override; - - QString moduleName() override; - QList methodsToExport() override; - QVariantMap constantsToExport() override; - - Q_INVOKABLE void getValue(const QString& name, double callback); - Q_INVOKABLE void setValue(const QString& name, const QVariant& value); - -private: - Bridge* bridge = nullptr; -}; - -#endif // DESKTOPCONFIG_H diff --git a/modules/react-native-desktop-config/index.js b/modules/react-native-desktop-config/index.js deleted file mode 100644 index 90ed0275a3..0000000000 --- a/modules/react-native-desktop-config/index.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -const NativeModules = require('react-native').NativeModules; - -class DesktopConfig { - - static getValue(name, callbackFn) { - NativeModules.DesktopConfigManager.getValue(name, callbackFn); - } - - static setValue(name, value) { - NativeModules.DesktopConfigManager.setValue(name, value); - - } -} - -module.exports = DesktopConfig; diff --git a/modules/react-native-desktop-config/package.json b/modules/react-native-desktop-config/package.json deleted file mode 100644 index 17f2bd9e9a..0000000000 --- a/modules/react-native-desktop-config/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "private": true, - "nativePackage": true, - "name": "react-native-desktop-config", - "version": "1.0.0", - "description": "Configuration backend for Desktop", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "" -} diff --git a/modules/react-native-desktop-gesture-handler/desktop/CMakeLists.txt b/modules/react-native-desktop-gesture-handler/desktop/CMakeLists.txt deleted file mode 100644 index 2524fde7ff..0000000000 --- a/modules/react-native-desktop-gesture-handler/desktop/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES} - \"GestureHandlerModule\" PARENT_SCOPE) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC} - ${CMAKE_CURRENT_SOURCE_DIR}/gesturehandlermodule.cpp PARENT_SCOPE) - -include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) diff --git a/modules/react-native-desktop-gesture-handler/desktop/gesturehandlermodule.cpp b/modules/react-native-desktop-gesture-handler/desktop/gesturehandlermodule.cpp deleted file mode 100644 index a594a2dace..0000000000 --- a/modules/react-native-desktop-gesture-handler/desktop/gesturehandlermodule.cpp +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Copyright (c) 2017-present, Status Research and Development GmbH. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#include "gesturehandlermodule.h" -#include "bridge.h" -#include "eventdispatcher.h" - -#include -#include -#include - -namespace { -struct RegisterQMLMetaType { - RegisterQMLMetaType() { qRegisterMetaType(); } -} registerMetaType; -} // namespace - - -class GestureHandlerModulePrivate { -public: - Bridge* bridge = nullptr; -}; - -GestureHandlerModule::GestureHandlerModule(QObject* parent) : QObject(parent), d_ptr(new GestureHandlerModulePrivate) {} - -GestureHandlerModule::~GestureHandlerModule() {} - -void GestureHandlerModule::setBridge(Bridge* bridge) { - Q_D(GestureHandlerModule); - d->bridge = bridge; -} - -QString GestureHandlerModule::moduleName() { - return "RNGestureHandlerModule"; -} - -QList GestureHandlerModule::methodsToExport() { - return QList{}; -} - -QVariantMap GestureHandlerModule::constantsToExport() { - Q_D(GestureHandlerModule); - - QVariantMap directionValues{{"RIGHT", 1}, {"LEFT", 2}, {"UP", 4}, {"DOWN", 8}}; - - // QRect screenGeometry = screen->geometry(); - // QVariantMap screenValues{{"fontScale", 8}, - // {"width", screenGeometry.width()}, - // {"height", screenGeometry.height()}, - // {"scale", screen->devicePixelRatio()}}; - - // QVariantMap values{{"screen", screenValues}, {"window", windowValues}}; - - return QVariantMap{{"Direction", directionValues}}; -} - -void GestureHandlerModule::handleSetJSResponder(int viewTag, void* blockNativeResponder) {} - -void GestureHandlerModule::handleClearJSResponder() {} - -void GestureHandlerModule::createGestureHandler(const QString& handlerName, int handlerTag, void* config) {} -void GestureHandlerModule::attachGestureHandler(int handlerTag, int viewTag) {} -void GestureHandlerModule::updateGestureHandler(int handlerTag, void* config) {} -void GestureHandlerModule::dropGestureHandler(int handlerTag) {} diff --git a/modules/react-native-desktop-gesture-handler/desktop/gesturehandlermodule.h b/modules/react-native-desktop-gesture-handler/desktop/gesturehandlermodule.h deleted file mode 100644 index 0d0d2c32a2..0000000000 --- a/modules/react-native-desktop-gesture-handler/desktop/gesturehandlermodule.h +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright (c) 2017-present, Status Research and Development GmbH. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#ifndef GESTUREHANDLER_H -#define GESTUREHANDLER_H - -#include "moduleinterface.h" - -#include - -class GestureHandlerModulePrivate; -class GestureHandlerModule : public QObject, public ModuleInterface { - Q_OBJECT - Q_INTERFACES(ModuleInterface) - - Q_DECLARE_PRIVATE(GestureHandlerModule) - -public: - Q_INVOKABLE GestureHandlerModule(QObject* parent = 0); - ~GestureHandlerModule(); - - void setBridge(Bridge* bridge) override; - - QString moduleName() override; - QList methodsToExport() override; - QVariantMap constantsToExport() override; - - Q_INVOKABLE void handleSetJSResponder(int viewTag, void* blockNativeResponder); - Q_INVOKABLE void handleClearJSResponder(); - Q_INVOKABLE void createGestureHandler(const QString& handlerName, int handlerTag, void* config); - Q_INVOKABLE void attachGestureHandler(int handlerTag, int viewTag); - Q_INVOKABLE void updateGestureHandler(int handlerTag, void* config); - Q_INVOKABLE void dropGestureHandler(int handlerTag); - - -private: - QScopedPointer d_ptr; -}; - -#endif // GESTUREHANDLER_H diff --git a/modules/react-native-desktop-gesture-handler/index.js b/modules/react-native-desktop-gesture-handler/index.js deleted file mode 100644 index 82276071aa..0000000000 --- a/modules/react-native-desktop-gesture-handler/index.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -var RNGestureHandlerModule = require('react-native').NativeModules.RNGestureHandlerModule; - -module.exports = RNGestureHandlerModule; diff --git a/modules/react-native-desktop-gesture-handler/package.json b/modules/react-native-desktop-gesture-handler/package.json deleted file mode 100644 index 11d321c131..0000000000 --- a/modules/react-native-desktop-gesture-handler/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "private": true, - "nativePackage": true, - "name": "react-native-desktop-gesture-handler", - "version": "1.0.0", - "description": "Mock for react-native-gesture-handler package", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "" -} diff --git a/modules/react-native-desktop-linking/desktop/CMakeLists.txt b/modules/react-native-desktop-linking/desktop/CMakeLists.txt deleted file mode 100644 index 1d917eb236..0000000000 --- a/modules/react-native-desktop-linking/desktop/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES} - \"DesktopLinking\" PARENT_SCOPE) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC} - ${CMAKE_CURRENT_SOURCE_DIR}/desktoplinking.cpp PARENT_SCOPE) - -include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) \ No newline at end of file diff --git a/modules/react-native-desktop-linking/desktop/desktoplinking.cpp b/modules/react-native-desktop-linking/desktop/desktoplinking.cpp deleted file mode 100644 index 4a64442728..0000000000 --- a/modules/react-native-desktop-linking/desktop/desktoplinking.cpp +++ /dev/null @@ -1,74 +0,0 @@ -#include "desktoplinking.h" -#include "bridge.h" -#include "eventdispatcher.h" - -#include -#include -#include -#include -#include - -Q_LOGGING_CATEGORY(LINKING, "RCTLinking") - -namespace { -struct RegisterQMLMetaType { - RegisterQMLMetaType() { qRegisterMetaType(); } -} registerMetaType; -} // namespace - -class DesktopLinkingPrivate { -public: - Bridge *bridge = nullptr; -}; - -DesktopLinking::DesktopLinking(QObject *parent) - : QObject(parent), d_ptr(new DesktopLinkingPrivate) { - - QCoreApplication::instance()->installEventFilter(this); - connect(this, &DesktopLinking::urlOpened, this, &DesktopLinking::handleURL); -} - -DesktopLinking::~DesktopLinking() { -} - -void DesktopLinking::setBridge(Bridge *bridge) { - Q_D(DesktopLinking); - d->bridge = bridge; -} - -QString DesktopLinking::moduleName() { return "DesktopLinking"; } - -QList DesktopLinking::methodsToExport() { - return QList{}; -} - -QVariantMap DesktopLinking::constantsToExport() { return QVariantMap(); } - -void DesktopLinking::handleURL(const QString url) { - Q_D(DesktopLinking); - qCDebug(LINKING) << "::handleURL - path:" << url; - d->bridge->eventDispatcher()->sendDeviceEvent("urlOpened", QVariantMap{{"url", url}}); -} - -bool DesktopLinking::eventFilter(QObject* obj, QEvent* event) { - if (event->type() == QEvent::FileOpen) - { - QFileOpenEvent* fileEvent = static_cast(event); - if (!fileEvent->url().isEmpty()) - { - auto m_lastUrl = fileEvent->url().toString(); - emit urlOpened(m_lastUrl); - } - else if (!fileEvent->file().isEmpty()) - { - emit fileOpened(fileEvent->file()); - } - - return false; - } - else - { - // standard event processing - return QObject::eventFilter(obj, event); - } -} \ No newline at end of file diff --git a/modules/react-native-desktop-linking/desktop/desktoplinking.h b/modules/react-native-desktop-linking/desktop/desktoplinking.h deleted file mode 100644 index 461e792efe..0000000000 --- a/modules/react-native-desktop-linking/desktop/desktoplinking.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef DESKTOPLINKING_H -#define DESKTOPLINKING_H - -#include "moduleinterface.h" - -#include -#include - -Q_DECLARE_LOGGING_CATEGORY(LINKING) - -class DesktopLinkingPrivate; -class DesktopLinking : public QObject, public ModuleInterface { - Q_OBJECT - Q_INTERFACES(ModuleInterface) - - Q_DECLARE_PRIVATE(DesktopLinking) - -public: - Q_INVOKABLE DesktopLinking(QObject* parent = 0); - ~DesktopLinking(); - - void setBridge(Bridge* bridge) override; - - QString moduleName() override; - QList methodsToExport() override; - QVariantMap constantsToExport() override; - -signals: - void urlOpened(QString path); - void fileOpened(QString path); - -public slots: - void handleURL(const QString url); - -private: - QScopedPointer d_ptr; - bool eventFilter(QObject* obj, QEvent* event) override; - -}; - -#endif // DESKTOPLINKING_H diff --git a/modules/react-native-desktop-linking/index.js b/modules/react-native-desktop-linking/index.js deleted file mode 100644 index 6e2dd3735c..0000000000 --- a/modules/react-native-desktop-linking/index.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; - -const NativeModules = require('NativeModules'); -module.exports = NativeModules.DesktopLinking; \ No newline at end of file diff --git a/modules/react-native-desktop-linking/package.json b/modules/react-native-desktop-linking/package.json deleted file mode 100644 index dbc4fcdf72..0000000000 --- a/modules/react-native-desktop-linking/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "private": true, - "nativePackage": true, - "name": "react-native-desktop-linking", - "version": "1.0.0", - "description": "Handle status-im:// links", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "" -} \ No newline at end of file diff --git a/modules/react-native-desktop-menu/desktop/CMakeLists.txt b/modules/react-native-desktop-menu/desktop/CMakeLists.txt deleted file mode 100644 index f031325742..0000000000 --- a/modules/react-native-desktop-menu/desktop/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES} - \"DesktopMenu\" PARENT_SCOPE) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC} - ${CMAKE_CURRENT_SOURCE_DIR}/desktopmenu.cpp PARENT_SCOPE) - -include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) diff --git a/modules/react-native-desktop-menu/desktop/desktopmenu.cpp b/modules/react-native-desktop-menu/desktop/desktopmenu.cpp deleted file mode 100644 index e0c99c029d..0000000000 --- a/modules/react-native-desktop-menu/desktop/desktopmenu.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include "desktopmenu.h" -#include "bridge.h" - -#include -#include -#include -#include - -Q_LOGGING_CATEGORY(DESKTOPMENU, "DesktopMenu") - -namespace { -struct RegisterQMLMetaType { - RegisterQMLMetaType() { qRegisterMetaType(); } -} registerMetaType; -} // namespace - -class DesktopMenuPrivate { -public: - Bridge *bridge = nullptr; - void createMenu(const QStringList& items, double callback); -private: - void onTriggered(QAction* action); -}; - -void DesktopMenuPrivate::createMenu(const QStringList& items, double callback) { - QMenu* menu = new QMenu(); - for (const QString& name : items) { - menu->addAction(name); - } - QObject::connect(menu, &QMenu::triggered, [=](QAction* action) { - bridge->invokePromiseCallback(callback, QVariantList{action->text()}); - }); - QObject::connect(menu, &QMenu::triggered, menu, &QMenu::deleteLater); - menu->popup(QCursor::pos()); -} - -DesktopMenu::DesktopMenu(QObject *parent) - : QObject(parent), d_ptr(new DesktopMenuPrivate) { -} - -DesktopMenu::~DesktopMenu() { -} - -void DesktopMenu::setBridge(Bridge *bridge) { - Q_D(DesktopMenu); - - d->bridge = bridge; -} - -QString DesktopMenu::moduleName() { return "DesktopMenuManager"; } - -QList DesktopMenu::methodsToExport() { - return QList{}; -} - -QVariantMap DesktopMenu::constantsToExport() { return QVariantMap(); } - -void DesktopMenu::show(const QStringList& items, double callback) { - Q_D(DesktopMenu); - d_ptr->createMenu(items, callback); - -} - - diff --git a/modules/react-native-desktop-menu/desktop/desktopmenu.h b/modules/react-native-desktop-menu/desktop/desktopmenu.h deleted file mode 100644 index dff2fddbc6..0000000000 --- a/modules/react-native-desktop-menu/desktop/desktopmenu.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef DESKTOPMENU_H -#define DESKTOPMENU_H - -#include "moduleinterface.h" - -#include -#include - -Q_DECLARE_LOGGING_CATEGORY(MENU) - -class DesktopMenuPrivate; -class DesktopMenu : public QObject, public ModuleInterface { - Q_OBJECT - Q_INTERFACES(ModuleInterface) - - Q_DECLARE_PRIVATE(DesktopMenu) - -public: - Q_INVOKABLE DesktopMenu(QObject* parent = 0); - virtual ~DesktopMenu(); - - void setBridge(Bridge* bridge) override; - - QString moduleName() override; - QList methodsToExport() override; - QVariantMap constantsToExport() override; - - Q_INVOKABLE void show(const QStringList& items, double callback); - -private: - QScopedPointer d_ptr; -}; - -#endif // DESKTOPMENU_H diff --git a/modules/react-native-desktop-menu/index.js b/modules/react-native-desktop-menu/index.js deleted file mode 100644 index fbc69bea6b..0000000000 --- a/modules/react-native-desktop-menu/index.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; - -type MenuItems = Array<{ - text?: string, - onPress?: ?Function, -}>; - -const NativeModules = require('react-native').NativeModules; - -class DesktopMenu { - - static show( - menuItems?: MenuItems - ): void { - var itemNames = menuItems.map(i => i.text); - var itemMap = new Map(); - for (let i = 0; i < menuItems.length; ++i) { - itemMap.set(menuItems[i].text, menuItems[i].onPress); - } - NativeModules.DesktopMenuManager.show( - itemNames, - (name) => { - (itemMap.get(name))(); - } - ); - } -} - -module.exports = DesktopMenu; diff --git a/modules/react-native-desktop-menu/package.json b/modules/react-native-desktop-menu/package.json deleted file mode 100644 index 7fe2fbee49..0000000000 --- a/modules/react-native-desktop-menu/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "private": true, - "nativePackage": true, - "name": "react-native-desktop-menu", - "version": "1.0.0", - "description": "Native popup and context menus for Desktop", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "" -} diff --git a/modules/react-native-desktop-notification/desktop/CMakeLists.txt b/modules/react-native-desktop-notification/desktop/CMakeLists.txt deleted file mode 100644 index 8b90fb2a3e..0000000000 --- a/modules/react-native-desktop-notification/desktop/CMakeLists.txt +++ /dev/null @@ -1,90 +0,0 @@ -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES} - \"DesktopNotification\" PARENT_SCOPE) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC} - ${CMAKE_CURRENT_SOURCE_DIR}/desktopnotification.cpp PARENT_SCOPE) - -include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) - -set(SN_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/SnoreNotify_ep-prefix/src/SnoreNotify_ep) -if (WIN32) - set(SnoreNotifyWindowsToast_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snore_backend_windowstoast${CMAKE_STATIC_LIBRARY_SUFFIX}) - - set(SnoreNotify_LIBS ${SnoreNotifyWindowsToast_STATIC_LIB}) - - set(SnoreNotify_CMAKE_ARGS -DMINGW=1 -DBUILD_osxnotificationcenter=OFF -DBUILD_sound=OFF -DBUILD_speech=OFF -DBUILD_toasty=OFF - -DBUILD_freedesktop_backend=OFF -DBUILD_snarl=OFF -DBUILD_growl=OFF -DBUILD_trayicon=OFF -DBUILD_pushover_backend=OFF) -endif() - -set(SN_LIBPATHSUFFIX /${CMAKE_LIBRARY_ARCHITECTURE}) -if (UNIX AND NOT APPLE) - set(SnoreNotifyFreedesktop_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snore_backend_freedesktop${CMAKE_STATIC_LIBRARY_SUFFIX}) - - set(SnoreNotify_LIBS ${SnoreNotifyFreedesktop_STATIC_LIB}) - - set(SnoreNotify_CMAKE_ARGS -DBUILD_osxnotificationcenter=OFF -DBUILD_sound=OFF -DBUILD_speech=OFF -DBUILD_toasty=OFF - -DBUILD_snarl=OFF -DBUILD_growl=OFF -DBUILD_trayicon=OFF -DBUILD_pushover_backend=OFF) -endif() - -if (APPLE) - set(SnoreNotifyOSXNotificationCenter_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snore_backend_osxnotificationcenter${CMAKE_STATIC_LIBRARY_SUFFIX}) - set(SnoreNotify_LIBS ${SnoreNotifyOSXNotificationCenter_STATIC_LIB}) - set(SnoreNotify_CMAKE_ARGS -DBUILD_sound=OFF -DBUILD_speech=OFF -DBUILD_toasty=OFF -DBUILD_snarl=OFF -DBUILD_growl=OFF - -DBUILD_freedesktop_backend=OFF -DBUILD_trayicon=OFF -DBUILD_pushover_backend=OFF) -endif() - -set(SnoreNotify_INCLUDE_DIR ${SN_PREFIX}/include) -set(SnoreNotify_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snore-qt5${CMAKE_STATIC_LIBRARY_SUFFIX}) -set(SnoreNotifyBackend_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snore_backend_snore${CMAKE_STATIC_LIBRARY_SUFFIX}) -set(SnoreNotifyBackendSettings_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snore_settings_backend_snore${CMAKE_STATIC_LIBRARY_SUFFIX}) -set(SnoreNotifySettings_STATIC_LIB ${SN_PREFIX}/lib${SN_LIBPATHSUFFIX}/${CMAKE_STATIC_LIBRARY_PREFIX}snoresettings-qt5${CMAKE_STATIC_LIBRARY_SUFFIX}) -set(SnoreNotify_CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${SN_PREFIX} -DCMAKE_INSTALL_LIBDIR=lib${SN_LIBPATHSUFFIX} - -DSNORE_STATIC=ON -DBUILD_daemon=OFF -DBUILD_settings=OFF - -DBUILD_snoresend=OFF ${SnoreNotify_CMAKE_ARGS}) -set(SnoreNotify_CMAKE_ARGS ${SnoreNotify_CMAKE_ARGS} - "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" - "-DCMAKE_C_COMPILER_AR=${CMAKE_C_COMPILER_AR}" - "-DCMAKE_C_COMPILER_RANLIB=${CMAKE_C_COMPILER_RANLIB}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_CXX_COMPILER_AR=${CMAKE_CXX_COMPILER_AR}" - "-DCMAKE_CXX_COMPILER_RANLIB=${CMAKE_CXX_COMPILER_RANLIB}" - "-DCMAKE_LINKER=${CMAKE_LINKER}") -if (CMAKE_CROSSCOMPILING) - set(SnoreNotify_CMAKE_ARGS ${SnoreNotify_CMAKE_ARGS} - "-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}" - "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}" - # These are only useful if you're cross-compiling. - # They, however, will not hurt regardless. - "-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}" - "-DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}" - "-DCMAKE_AR=${CMAKE_AR}" - "-DCMAKE_RC_COMPILER=${CMAKE_RC_COMPILER}" - "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" - "-DCMAKE_COMPILER_PREFIX=${CMAKE_COMPILER_PREFIX}" - "-DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}") -endif() - -ExternalProject_Add(SnoreNotify_ep - URL $ENV{SNORENOTIFY_SOURCES} # The source is defined in /nix/desktop/macos/snorenotify/default.nix - CMAKE_ARGS ${SnoreNotify_CMAKE_ARGS} - BUILD_BYPRODUCTS ${SnoreNotify_STATIC_LIB} ${SnoreNotify_LIBS} ${SnoreNotifyBackend_STATIC_LIB} - ${SnoreNotifyBackendSettings_STATIC_LIB} ${SnoreNotifySettings_STATIC_LIB} -) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_PROJECT_DEPS ${REACT_NATIVE_DESKTOP_EXTERNAL_PROJECT_DEPS} SnoreNotify_ep PARENT_SCOPE) - -if (APPLE) - set(SNORENOTIFY_DEPS_LIBS "-framework Cocoa") -endif() - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_LIBS ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_LIBS} - ${SnoreNotify_LIBS} ${SnoreNotify_STATIC_LIB} ${SnoreNotifyBackend_STATIC_LIB} - ${SnoreNotifyBackendSettings_STATIC_LIB} ${SnoreNotifySettings_STATIC_LIB} ${SNORENOTIFY_DEPS_LIBS} PARENT_SCOPE) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_INCLUDE_DIRS ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_INCLUDE_DIRS} - ${SnoreNotify_INCLUDE_DIR} PARENT_SCOPE) - diff --git a/modules/react-native-desktop-notification/desktop/desktopnotification.cpp b/modules/react-native-desktop-notification/desktop/desktopnotification.cpp deleted file mode 100644 index a2d2984841..0000000000 --- a/modules/react-native-desktop-notification/desktop/desktopnotification.cpp +++ /dev/null @@ -1,126 +0,0 @@ -/** - * Copyright (c) 2017-present, Status Research and Development GmbH. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#include "desktopnotification.h" -#include "bridge.h" -#include "eventdispatcher.h" - -#include "libsnore/application.h" -#include "libsnore/snore.h" - -#ifdef Q_OS_MAC -#include "libsnore/snore_static_plugins.h" -#endif - -#include -#include - -Q_LOGGING_CATEGORY(NOTIFICATION, "RCTNotification") - -#if defined(Q_OS_LINUX) || defined(Q_OS_WIN) -namespace SnorePlugin {} - - -using namespace SnorePlugin; -#if defined(Q_OS_LINUX) -Q_IMPORT_PLUGIN(Freedesktop) -#elif defined(Q_OS_WIN) -Q_IMPORT_PLUGIN(WindowsToast) -#endif -Q_IMPORT_PLUGIN(Snore) - -static void loadSnoreResources() -{ - // prevent multiple symbols - static const auto load = []() { - Q_INIT_RESOURCE(snore); - Q_INIT_RESOURCE(snore_notification); - }; - load(); -} - -Q_COREAPP_STARTUP_FUNCTION(loadSnoreResources) -#endif // defined(Q_OS_LINUX) || defined(Q_OS_WIN) - -namespace { -struct RegisterQMLMetaType { - RegisterQMLMetaType() { qRegisterMetaType(); } -} registerMetaType; - -const QString NewMessageAlert = QStringLiteral("NewMessage"); -} // namespace - -class DesktopNotificationPrivate { -public: - Bridge *bridge = nullptr; - Snore::Application snoreApp; -}; - -DesktopNotification::DesktopNotification(QObject *parent) - : QObject(parent), d_ptr(new DesktopNotificationPrivate) { - connect(qApp, &QGuiApplication::focusWindowChanged, this, [=](QWindow *focusWindow){ - m_appHasFocus = (focusWindow != nullptr); - }); - - if (Snore::SnoreCore::instance().pluginNames().isEmpty()) { - Snore::SnoreCore::instance().loadPlugins(Snore::SnorePlugin::Backend); - } - - qCDebug(NOTIFICATION) << "DesktopNotification::DesktopNotification List of all loaded Snore plugins:" - << Snore::SnoreCore::instance().pluginNames(); - - Snore::Icon icon(":/icon.png"); - d_ptr->snoreApp = Snore::Application(QCoreApplication::applicationName(), icon); - d_ptr->snoreApp.hints().setValue("windows-app-id", "StatusIm.Status.Desktop.1"); - d_ptr->snoreApp.addAlert(Snore::Alert(NewMessageAlert, icon)); - - Snore::SnoreCore::instance().registerApplication(d_ptr->snoreApp); - Snore::SnoreCore::instance().setDefaultApplication(d_ptr->snoreApp); - - qCDebug(NOTIFICATION) << "DesktopNotification::DesktopNotification Current notification backend:" - << Snore::SnoreCore::instance().primaryNotificationBackend(); -} - -DesktopNotification::~DesktopNotification() { - Snore::SnoreCore::instance().deregisterApplication(d_ptr->snoreApp); -} - -void DesktopNotification::setBridge(Bridge *bridge) { - Q_D(DesktopNotification); - d->bridge = bridge; -} - -QString DesktopNotification::moduleName() { return "DesktopNotification"; } - -QList DesktopNotification::methodsToExport() { - return QList{}; -} - -QVariantMap DesktopNotification::constantsToExport() { return QVariantMap(); } - -void DesktopNotification::displayNotification(QString title, QString body, bool prioritary) { - Q_D(DesktopNotification); - qCDebug(NOTIFICATION) << "::displayNotification"; - - if (m_appHasFocus) { - qCDebug(NOTIFICATION) << "Not displaying notification since an application window is active"; - return; - } - - Snore::Notification notification( - d_ptr->snoreApp, d_ptr->snoreApp.alerts()[NewMessageAlert], title, - body, Snore::Icon::defaultIcon(), - prioritary ? Snore::Notification::Prioritys::High : Snore::Notification::Prioritys::Normal); - Snore::SnoreCore::instance().broadcastNotification(notification); -} - -void DesktopNotification::setDockBadgeLabel(const QString label) { - Snore::SnoreCore::instance().setDockBadgeLabel(label); -} diff --git a/modules/react-native-desktop-notification/desktop/desktopnotification.h b/modules/react-native-desktop-notification/desktop/desktopnotification.h deleted file mode 100644 index ae928256b7..0000000000 --- a/modules/react-native-desktop-notification/desktop/desktopnotification.h +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Copyright (c) 2017-present, Status Research and Development GmbH. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#ifndef DESKTOPNOTIFICATION_H -#define DESKTOPNOTIFICATION_H - -#include "moduleinterface.h" - -#include -#include - -Q_DECLARE_LOGGING_CATEGORY(NOTIFICATION) - -class DesktopNotificationPrivate; -class DesktopNotification : public QObject, public ModuleInterface { - Q_OBJECT - Q_INTERFACES(ModuleInterface) - - Q_DECLARE_PRIVATE(DesktopNotification) - -public: - Q_INVOKABLE DesktopNotification(QObject* parent = 0); - ~DesktopNotification(); - - void setBridge(Bridge* bridge) override; - - QString moduleName() override; - QList methodsToExport() override; - QVariantMap constantsToExport() override; - - Q_INVOKABLE void displayNotification(QString title, QString body, bool prioritary); - Q_INVOKABLE void setDockBadgeLabel(const QString label); -private: - QScopedPointer d_ptr; - bool m_appHasFocus = false; -}; - -#endif // DESKTOPNOTIFICATION_H diff --git a/modules/react-native-desktop-notification/index.js b/modules/react-native-desktop-notification/index.js deleted file mode 100644 index fd66bbfe8a..0000000000 --- a/modules/react-native-desktop-notification/index.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; - -import { NativeModules } from 'react-native'; -module.exports = NativeModules.DesktopNotification; diff --git a/modules/react-native-desktop-notification/package.json b/modules/react-native-desktop-notification/package.json deleted file mode 100644 index 5d5ea1d175..0000000000 --- a/modules/react-native-desktop-notification/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "private": true, - "nativePackage": true, - "name": "react-native-desktop-notification", - "version": "1.0.0", - "description": "Send desktop notifications", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "" -} \ No newline at end of file diff --git a/modules/react-native-desktop-shortcuts/desktop/CMakeLists.txt b/modules/react-native-desktop-shortcuts/desktop/CMakeLists.txt deleted file mode 100644 index 7d7cd958bf..0000000000 --- a/modules/react-native-desktop-shortcuts/desktop/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES} - \"DesktopShortcuts\" PARENT_SCOPE) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC} - ${CMAKE_CURRENT_SOURCE_DIR}/desktopshortcuts.cpp PARENT_SCOPE) - -include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) diff --git a/modules/react-native-desktop-shortcuts/desktop/desktopshortcuts.cpp b/modules/react-native-desktop-shortcuts/desktop/desktopshortcuts.cpp deleted file mode 100644 index 8b4a63dbb4..0000000000 --- a/modules/react-native-desktop-shortcuts/desktop/desktopshortcuts.cpp +++ /dev/null @@ -1,83 +0,0 @@ -#include "desktopshortcuts.h" -#include "bridge.h" - -#include "eventdispatcher.h" -#include -#include -#include -#include -#include - -Q_LOGGING_CATEGORY(DESKTOPSHORTCUTS, "DesktopShortcuts") - -namespace { -struct RegisterQMLMetaType { - RegisterQMLMetaType() { qRegisterMetaType(); } -} registerMetaType; -} // namespace - -DesktopShortcuts::DesktopShortcuts(QObject *parent) - : QObject(parent) { - QCoreApplication::instance()->installEventFilter(this); - connect(this, &DesktopShortcuts::shortcutInvoked, this, &DesktopShortcuts::onShortcutInvoked); -} - -DesktopShortcuts::~DesktopShortcuts() { -} - -void DesktopShortcuts::setBridge(Bridge *bridge) { - this->bridge = bridge; -} - -QString DesktopShortcuts::moduleName() { return "DesktopShortcutsManager"; } - -QList DesktopShortcuts::methodsToExport() { - return QList{}; -} - -QVariantMap DesktopShortcuts::constantsToExport() { return QVariantMap(); } - -void DesktopShortcuts::registerShortcuts(const QStringList& shortcuts) { - //qCDebug(DESKTOPSHORTCUTS) << "registerShortcuts" << shortcuts << " " << shortcuts.size(); - this->registeredShortcuts = shortcuts; -} - -bool DesktopShortcuts::eventFilter(QObject* obj, QEvent* event) { - if (event->type() == QEvent::KeyPress) { - QKeyEvent* ke = static_cast(event); - - QString modifier; - - if (ke->modifiers() & Qt::ShiftModifier) { - modifier += "Shift+"; - } - if (ke->modifiers() & Qt::ControlModifier) { - modifier += "Ctrl+"; - } - if (ke->modifiers() & Qt::AltModifier) { - modifier += "Alt+"; - } - if (ke->modifiers() & Qt::MetaModifier) { - modifier += "Meta+"; - } - QString key = QKeySequence(ke->key()).toString(); - - //qCDebug(DESKTOPSHORTCUTS) << "### arrow " << key; - if (registeredShortcuts.contains(modifier+key)) { - emit shortcutInvoked(modifier+key); - return true; - } - else { - return false; - } - } - else { - return QObject::eventFilter(obj, event); - } -} - -void DesktopShortcuts::onShortcutInvoked(const QString& shortcut) { - //qCDebug(DESKTOPSHORTCUTS) << "onShortcutInvoked " << shortcut << " " << registeredShortcuts.size(); - bridge->eventDispatcher()->sendDeviceEvent("shortcutInvoked", QVariantList{shortcut}); -} - diff --git a/modules/react-native-desktop-shortcuts/desktop/desktopshortcuts.h b/modules/react-native-desktop-shortcuts/desktop/desktopshortcuts.h deleted file mode 100644 index 58cfb95635..0000000000 --- a/modules/react-native-desktop-shortcuts/desktop/desktopshortcuts.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef DESKTOPSHORTCUTS_H -#define DESKTOPSHORTCUTS_H - -#include "moduleinterface.h" - -#include -#include - -Q_DECLARE_LOGGING_CATEGORY(SHORTCUTS) - -class DesktopShortcutsPrivate; -class DesktopShortcuts : public QObject, public ModuleInterface { - Q_OBJECT - Q_INTERFACES(ModuleInterface) - -public: - Q_INVOKABLE DesktopShortcuts(QObject* parent = 0); - virtual ~DesktopShortcuts(); - - void setBridge(Bridge* bridge) override; - - QString moduleName() override; - QList methodsToExport() override; - QVariantMap constantsToExport() override; - - Q_INVOKABLE void registerShortcuts(const QStringList& shortcuts); - -signals: - void shortcutInvoked(const QString& shortcut); - -public slots: - void onShortcutInvoked(const QString& shortcut); - -private: - Bridge* bridge; - - QStringList registeredShortcuts; - bool eventFilter(QObject* obj, QEvent* event) override; -}; - -#endif // DESKTOPSHORTCUTS_H diff --git a/modules/react-native-desktop-shortcuts/index.js b/modules/react-native-desktop-shortcuts/index.js deleted file mode 100644 index 06a0f56fda..0000000000 --- a/modules/react-native-desktop-shortcuts/index.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -const NativeModules = require('react-native').NativeModules; -const NativeEventEmitter = require('react-native').NativeEventEmitter; - -type Shortcuts = Array<{ - shortcut?: string, - onPress?: ?Function, -}>; - -class DesktopShortcuts { - constructor() { - this.shortcuts = new Map(); - this.eventEmitter = new NativeEventEmitter(NativeModules.DesktopShortcutsManager); - this.eventEmitter.addListener('shortcutInvoked', this.handleShortcut.bind(this)); - } - - handleShortcut(shortcut) { - var fn;// = this.shortcuts.get(shortcut); - for (var [key, value] of this.shortcuts) { - if (shortcut == key) { - fn = value; - break; - } - } - if (fn) { - fn(); - }; - } - - register(shortcuts: Shortcuts): void { - //console.log('### register(shortcuts)' + JSON.stringify(shortcuts)); - this.shortcuts = new Map(); - - var shortcutKeys = shortcuts.map(s => s.shortcut); - for (let i = 0; i < shortcuts.length; ++i) { - this.shortcuts.set(shortcuts[i].shortcut, shortcuts[i].onPress); - } - - NativeModules.DesktopShortcutsManager.registerShortcuts(shortcutKeys); - } -} - -module.exports = new DesktopShortcuts(); diff --git a/modules/react-native-desktop-shortcuts/package.json b/modules/react-native-desktop-shortcuts/package.json deleted file mode 100644 index 75bf6363e7..0000000000 --- a/modules/react-native-desktop-shortcuts/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "private": true, - "nativePackage": true, - "name": "react-native-desktop-shortcuts", - "version": "1.0.0", - "description": "App-global keyboard shortcuts for Desktop", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "", - "license": "" -} diff --git a/modules/react-native-status/desktop/CMakeLists.txt b/modules/react-native-status/desktop/CMakeLists.txt deleted file mode 100755 index 2ae6ae6475..0000000000 --- a/modules/react-native-status/desktop/CMakeLists.txt +++ /dev/null @@ -1,101 +0,0 @@ -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_TYPE_NAMES} - \"RCTStatus\" PARENT_SCOPE) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_SRC} - ${CMAKE_CURRENT_SOURCE_DIR}/rctstatus.cpp PARENT_SCOPE) - -if (WIN32) - # - # Right now we only build status-go from source for Windows, since that needs to be cross-compiled with the toolchain in Conan - # - include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) - include(JSONParser.cmake) - - find_package(Go REQUIRED) - - set(versionJSONFilePath "../../../status-go-version.json") - file(READ ${versionJSONFilePath} versionJSON) - sbeParseJson(json versionJSON) - set(owner ${json.owner}) - if(NOT owner) - set(owner "status-im") - message(WARNING "Repository owner name missing from ${versionJSONFilePath}, defaulting to ${owner}") - endif() - set(version ${json.version}) - if(NOT version) - message(FATAL_ERROR "Version name missing from ${versionJSONFilePath}") - endif() - if($ENV{STATUS_GO_SRC_OVERRIDE}) - message(INFO "CMake: Using local version of status-go from $ENV{STATUS_GO_SRC_OVERRIDE}") - set(commit "unknown") # This value is defined in https://github.com/status-im/status-react/blob/develop/nix/status-go/default.nix, in `srcData.shortRev` - else() - set(commit ${json.commit-sha1}) - endif() - if(NOT commit) - message(FATAL_ERROR "Commit SHA1 missing from ${versionJSONFilePath}") - endif() - - if (CUSTOM_STATUSGO_BUILD_DIR_PATH) - set(StatusGo_ROOT ${CUSTOM_STATUSGO_BUILD_DIR_PATH}) - else() - set(StatusGo_ROOT "${CMAKE_CURRENT_BINARY_DIR}/StatusGo") - endif() - set(StatusGo_PREFIX "${StatusGo_ROOT}/src/github.com/${owner}") - set(StatusGo_SOURCE_DIR "${StatusGo_PREFIX}/status-go") - set(StatusGo_INCLUDE_DIR "${StatusGo_SOURCE_DIR}/build/bin") - set(StatusGo_STATIC_LIB - "${StatusGo_SOURCE_DIR}/build/bin/${CMAKE_STATIC_LIBRARY_PREFIX}status${CMAKE_STATIC_LIBRARY_SUFFIX}") - - include_directories(${StatusGo_INCLUDE_DIR}) - - set(CONFIGURE_SCRIPT build-status-go.sh) - - ExternalProject_Add(StatusGo_ep - PREFIX ${StatusGo_PREFIX} - SOURCE_DIR ${StatusGo_SOURCE_DIR} - URL https://status-go.ams3.digitaloceanspaces.com/status-go-desktop-${version}.zip - https://github.com/${owner}/status-go/archive/${commit}.zip - BUILD_BYPRODUCTS ${StatusGo_STATIC_LIB} - CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/${CONFIGURE_SCRIPT} ${CMAKE_SYSTEM_NAME} ${GO_ROOT_PATH} ${StatusGo_ROOT} ${StatusGo_SOURCE_DIR} ${CMAKE_C_COMPILER} ${CMAKE_CXX_COMPILER} - BUILD_COMMAND "" - INSTALL_COMMAND "" - ) - - set(REACT_NATIVE_DESKTOP_EXTERNAL_PROJECT_DEPS ${REACT_NATIVE_DESKTOP_EXTERNAL_PROJECT_DEPS} StatusGo_ep PARENT_SCOPE) -else (WIN32) - # For Linux and Darwin just use the Nix build of status-go - set(StatusGo_INCLUDE_DIR $ENV{STATUS_GO_DESKTOP_INCLUDEDIR}) - if (APPLE) - set(StatusGo_PLATFORM "x86_64-darwin") - else() - set(StatusGo_PLATFORM "x86_64-linux") - endif() - set(StatusGo_STATIC_LIB - "$ENV{STATUS_GO_DESKTOP_LIBDIR}/${StatusGo_PLATFORM}/${CMAKE_STATIC_LIBRARY_PREFIX}status${CMAKE_STATIC_LIBRARY_SUFFIX}") - - include_directories(${StatusGo_INCLUDE_DIR}) - - message(STATUS "StatusGo_STATIC_LIB=${StatusGo_STATIC_LIB}") - message(STATUS "StatusGo_INCLUDE_DIR=${StatusGo_INCLUDE_DIR}") -endif (WIN32) - -if (APPLE) - set(STATUSGO_DEPS_LIBS "-framework Foundation" - "-framework CoreServices" - "-framework IOKit" - "-framework Security" pthread) -elseif (WIN32) - set(STATUSGO_DEPS_LIBS -lwinmm -lws2_32 -lsetupapi) -else() - set(STATUSGO_DEPS_LIBS pthread) -endif() - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_LIBS ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_LIBS} - ${StatusGo_STATIC_LIB} ${STATUSGO_DEPS_LIBS} PARENT_SCOPE) - -set(REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_INCLUDE_DIRS ${REACT_NATIVE_DESKTOP_EXTERNAL_MODULES_INCLUDE_DIRS} - ${StatusGo_INCLUDE_DIR} PARENT_SCOPE) diff --git a/modules/react-native-status/desktop/FindGo.cmake b/modules/react-native-status/desktop/FindGo.cmake deleted file mode 100644 index 96de42dd88..0000000000 --- a/modules/react-native-status/desktop/FindGo.cmake +++ /dev/null @@ -1,35 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. - -# The module defines the following variables: -# GO_FOUND - true if the Go was found -# GO_EXECUTABLE - path to the executable -# GO_VERSION - Go version number -# GO_PLATFORM - i.e. linux -# GO_ARCH - i.e. amd64 -# Example usage: -# find_package(Go 1.2 REQUIRED) - - -find_program(GO_EXECUTABLE go PATHS ENV GOROOT GOPATH GOBIN PATH_SUFFIXES bin) -if (GO_EXECUTABLE) - get_filename_component(GO_ROOT_PATH ${GO_EXECUTABLE} REALPATH) - get_filename_component(GO_ROOT_PATH ${GO_ROOT_PATH}/../.. REALPATH) - message(STATUS "GO_ROOT_PATH is set to: ${GO_ROOT_PATH}") - execute_process(COMMAND ${GO_EXECUTABLE} version OUTPUT_VARIABLE GO_VERSION_OUTPUT OUTPUT_STRIP_TRAILING_WHITESPACE) - if(GO_VERSION_OUTPUT MATCHES "go([0-9]+\\.[0-9]+\\.?[0-9]*)[a-zA-Z0-9]* ([^/]+)/(.*)") - set(GO_VERSION ${CMAKE_MATCH_1}) - set(GO_PLATFORM ${CMAKE_MATCH_2}) - set(GO_ARCH ${CMAKE_MATCH_3}) - elseif(GO_VERSION_OUTPUT MATCHES "go version devel .* ([^/]+)/(.*)$") - set(GO_VERSION "99-devel") - set(GO_PLATFORM ${CMAKE_MATCH_1}) - set(GO_ARCH ${CMAKE_MATCH_2}) - message("WARNING: Development version of Go being used, can't determine compatibility.") - endif() -endif() -mark_as_advanced(GO_EXECUTABLE) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Go REQUIRED_VARS GO_EXECUTABLE GO_VERSION GO_PLATFORM GO_ARCH VERSION_VAR GO_VERSION) \ No newline at end of file diff --git a/modules/react-native-status/desktop/JSONParser.cmake b/modules/react-native-status/desktop/JSONParser.cmake deleted file mode 100644 index 5fc130ffa4..0000000000 --- a/modules/react-native-status/desktop/JSONParser.cmake +++ /dev/null @@ -1,300 +0,0 @@ -# https://github.com/sbellus/json-cmake/blob/master/JSONParser.cmake - -cmake_minimum_required(VERSION 3.1) - -if (DEFINED JSonParserGuard) - return() -endif() - -set(JSonParserGuard yes) - -macro(sbeParseJson prefix jsonString) - cmake_policy(PUSH) - - set(json_string "${${jsonString}}") - string(LENGTH "${json_string}" json_jsonLen) - set(json_index 0) - set(json_AllVariables ${prefix}) - set(json_ArrayNestingLevel 0) - set(json_MaxArrayNestingLevel 0) - - _sbeParse(${prefix}) - - unset(json_index) - unset(json_AllVariables) - unset(json_jsonLen) - unset(json_string) - unset(json_value) - unset(json_inValue) - unset(json_name) - unset(json_inName) - unset(json_newPrefix) - unset(json_reservedWord) - unset(json_arrayIndex) - unset(json_char) - unset(json_end) - unset(json_ArrayNestingLevel) - foreach(json_nestingLevel RANGE ${json_MaxArrayNestingLevel}) - unset(json_${json_nestingLevel}_arrayIndex) - endforeach() - unset(json_nestingLevel) - unset(json_MaxArrayNestingLevel) - - cmake_policy(POP) -endmacro() - -macro(sbeClearJson prefix) - foreach(json_var ${${prefix}}) - unset(${json_var}) - endforeach() - - unset(${prefix}) - unset(json_var) -endmacro() - -macro(sbePrintJson prefix) - foreach(json_var ${${prefix}}) - message("${json_var} = ${${json_var}}") - endforeach() -endmacro() - -macro(_sbeParse prefix) - - while(${json_index} LESS ${json_jsonLen}) - string(SUBSTRING "${json_string}" ${json_index} 1 json_char) - - if("\"" STREQUAL "${json_char}") - _sbeParseNameValue(${prefix}) - elseif("{" STREQUAL "${json_char}") - _sbeMoveToNextNonEmptyCharacter() - _sbeParseObject(${prefix}) - elseif("[" STREQUAL "${json_char}") - _sbeMoveToNextNonEmptyCharacter() - _sbeParseArray(${prefix}) - endif() - - if(${json_index} LESS ${json_jsonLen}) - string(SUBSTRING "${json_string}" ${json_index} 1 json_char) - else() - break() - endif() - - if ("}" STREQUAL "${json_char}" OR "]" STREQUAL "${json_char}") - break() - endif() - - _sbeMoveToNextNonEmptyCharacter() - endwhile() -endmacro() - -macro(_sbeParseNameValue prefix) - set(json_name "") - set(json_inName no) - - while(${json_index} LESS ${json_jsonLen}) - string(SUBSTRING "${json_string}" ${json_index} 1 json_char) - - # check if name ends - if("\"" STREQUAL "${json_char}" AND json_inName) - set(json_inName no) - _sbeMoveToNextNonEmptyCharacter() - if(NOT ${json_index} LESS ${json_jsonLen}) - break() - endif() - string(SUBSTRING "${json_string}" ${json_index} 1 json_char) - set(json_newPrefix ${prefix}.${json_name}) - set(json_name "") - - if(":" STREQUAL "${json_char}") - _sbeMoveToNextNonEmptyCharacter() - if(NOT ${json_index} LESS ${json_jsonLen}) - break() - endif() - string(SUBSTRING "${json_string}" ${json_index} 1 json_char) - - if("\"" STREQUAL "${json_char}") - _sbeParseValue(${json_newPrefix}) - break() - elseif("{" STREQUAL "${json_char}") - _sbeMoveToNextNonEmptyCharacter() - _sbeParseObject(${json_newPrefix}) - break() - elseif("[" STREQUAL "${json_char}") - _sbeMoveToNextNonEmptyCharacter() - _sbeParseArray(${json_newPrefix}) - break() - else() - # reserved word starts - _sbeParseReservedWord(${json_newPrefix}) - break() - endif() - else() - # name without value - list(APPEND ${json_AllVariables} ${json_newPrefix}) - set(${json_newPrefix} "") - break() - endif() - endif() - - if(json_inName) - # remove escapes - if("\\" STREQUAL "${json_char}") - math(EXPR json_index "${json_index} + 1") - if(NOT ${json_index} LESS ${json_jsonLen}) - break() - endif() - string(SUBSTRING "${json_string}" ${json_index} 1 json_char) - endif() - - set(json_name "${json_name}${json_char}") - endif() - - # check if name starts - if("\"" STREQUAL "${json_char}" AND NOT json_inName) - set(json_inName yes) - endif() - - _sbeMoveToNextNonEmptyCharacter() - endwhile() -endmacro() - -macro(_sbeParseReservedWord prefix) - set(json_reservedWord "") - set(json_end no) - while(${json_index} LESS ${json_jsonLen} AND NOT json_end) - string(SUBSTRING "${json_string}" ${json_index} 1 json_char) - - if("," STREQUAL "${json_char}" OR "}" STREQUAL "${json_char}" OR "]" STREQUAL "${json_char}") - set(json_end yes) - else() - set(json_reservedWord "${json_reservedWord}${json_char}") - math(EXPR json_index "${json_index} + 1") - endif() - endwhile() - - list(APPEND ${json_AllVariables} ${prefix}) - string(STRIP "${json_reservedWord}" json_reservedWord) - set(${prefix} ${json_reservedWord}) -endmacro() - -macro(_sbeParseValue prefix) - cmake_policy(SET CMP0054 NEW) # turn off implicit expansions in if statement - - set(json_value "") - set(json_inValue no) - - while(${json_index} LESS ${json_jsonLen}) - # fast path for copying strings - if (json_inValue) - # attempt to gobble up to 128 bytes of string - string(SUBSTRING "${json_string}" ${json_index} 128 try_gobble) - # consume a piece of string we can just straight copy before encountering \ or " - string(REGEX MATCH "^[^\"\\\\]+" simple_copy "${try_gobble}") - string(CONCAT json_value "${json_value}" "${simple_copy}") - string(LENGTH "${simple_copy}" copy_length) - math(EXPR json_index "${json_index} + ${copy_length}") - endif() - - string(SUBSTRING "${json_string}" ${json_index} 1 json_char) - - # check if json_value ends, it is ended by " - if("\"" STREQUAL "${json_char}" AND json_inValue) - set(json_inValue no) - - set(${prefix} ${json_value}) - list(APPEND ${json_AllVariables} ${prefix}) - _sbeMoveToNextNonEmptyCharacter() - break() - endif() - - if(json_inValue) - # if " is escaped consume - if("\\" STREQUAL "${json_char}") - math(EXPR json_index "${json_index} + 1") - if(NOT ${json_index} LESS ${json_jsonLen}) - break() - endif() - string(SUBSTRING "${json_string}" ${json_index} 1 json_char) - if(NOT "\"" STREQUAL "${json_char}") - # if it is not " then copy also escape character - set(json_char "\\${json_char}") - endif() - endif() - - _sbeAddEscapedCharacter("${json_char}") - endif() - - # check if value starts - if("\"" STREQUAL "${json_char}" AND NOT json_inValue) - set(json_inValue yes) - endif() - - math(EXPR json_index "${json_index} + 1") - endwhile() -endmacro() - -macro(_sbeAddEscapedCharacter char) - string(CONCAT json_value "${json_value}" "${char}") -endmacro() - -macro(_sbeParseObject prefix) - _sbeParse(${prefix}) - _sbeMoveToNextNonEmptyCharacter() -endmacro() - -macro(_sbeParseArray prefix) - math(EXPR json_ArrayNestingLevel "${json_ArrayNestingLevel} + 1") - set(json_${json_ArrayNestingLevel}_arrayIndex 0) - - set(${prefix} "") - list(APPEND ${json_AllVariables} ${prefix}) - - while(${json_index} LESS ${json_jsonLen}) - string(SUBSTRING "${json_string}" ${json_index} 1 json_char) - - if("\"" STREQUAL "${json_char}") - # simple value - list(APPEND ${prefix} ${json_${json_ArrayNestingLevel}_arrayIndex}) - _sbeParseValue(${prefix}_${json_${json_ArrayNestingLevel}_arrayIndex}) - elseif("{" STREQUAL "${json_char}") - # object - _sbeMoveToNextNonEmptyCharacter() - list(APPEND ${prefix} ${json_${json_ArrayNestingLevel}_arrayIndex}) - _sbeParseObject(${prefix}_${json_${json_ArrayNestingLevel}_arrayIndex}) - else() - list(APPEND ${prefix} ${json_${json_ArrayNestingLevel}_arrayIndex}) - _sbeParseReservedWord(${prefix}_${json_${json_ArrayNestingLevel}_arrayIndex}) - endif() - - if(NOT ${json_index} LESS ${json_jsonLen}) - break() - endif() - - string(SUBSTRING "${json_string}" ${json_index} 1 json_char) - - if("]" STREQUAL "${json_char}") - _sbeMoveToNextNonEmptyCharacter() - break() - elseif("," STREQUAL "${json_char}") - math(EXPR json_${json_ArrayNestingLevel}_arrayIndex "${json_${json_ArrayNestingLevel}_arrayIndex} + 1") - endif() - - _sbeMoveToNextNonEmptyCharacter() - endwhile() - - if(${json_MaxArrayNestingLevel} LESS ${json_ArrayNestingLevel}) - set(json_MaxArrayNestingLevel ${json_ArrayNestingLevel}) - endif() - math(EXPR json_ArrayNestingLevel "${json_ArrayNestingLevel} - 1") -endmacro() - -macro(_sbeMoveToNextNonEmptyCharacter) - math(EXPR json_index "${json_index} + 1") - if(${json_index} LESS ${json_jsonLen}) - string(SUBSTRING "${json_string}" ${json_index} 1 json_char) - while(${json_char} MATCHES "[ \t\n\r]" AND ${json_index} LESS ${json_jsonLen}) - math(EXPR json_index "${json_index} + 1") - string(SUBSTRING "${json_string}" ${json_index} 1 json_char) - endwhile() - endif() -endmacro() diff --git a/modules/react-native-status/desktop/build-status-go.sh b/modules/react-native-status/desktop/build-status-go.sh deleted file mode 100755 index db79f14ee2..0000000000 --- a/modules/react-native-status/desktop/build-status-go.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -export GOROOT=$2 -export GOPATH=$3 -export PATH=$GOROOT/bin:$GOROOT:$GOPATH:$PATH -if [ "$1" = 'Windows' ]; then - export GOOS=windows - export GOARCH=amd64 - export CGO_ENABLED=1 -fi -export CC=$5 -export CC_FOR_TARGET=$5 -export CXX_FOR_TARGET=$6 - -cd $4/lib -go get ./ -cd .. - -make statusgo-library diff --git a/modules/react-native-status/desktop/rctstatus.cpp b/modules/react-native-status/desktop/rctstatus.cpp deleted file mode 100644 index 332e518269..0000000000 --- a/modules/react-native-status/desktop/rctstatus.cpp +++ /dev/null @@ -1,678 +0,0 @@ -/** - * Copyright (c) 2017-present, Status Research and Development GmbH. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#include "rctstatus.h" -#include "bridge.h" -#include "eventdispatcher.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "libstatus.h" - -extern QString getDataStoragePath(); -extern QString getLogFilePath(); - -namespace { -struct RegisterQMLMetaType { - RegisterQMLMetaType() { qRegisterMetaType(); } -} registerMetaType; -} // namespace - -class RCTStatusPrivate { -public: - static Bridge *bridge; - static RCTStatus *rctStatus; -}; - -Bridge *RCTStatusPrivate::bridge = nullptr; -RCTStatus *RCTStatusPrivate::rctStatus = nullptr; - -Q_LOGGING_CATEGORY(RCTSTATUS, "RCTStatus") - -RCTStatus::RCTStatus(QObject *parent) - : QObject(parent), d_ptr(new RCTStatusPrivate) { - RCTStatusPrivate::rctStatus = this; - SetSignalEventCallback((void *)&RCTStatus::statusGoEventCallback); - connect(this, &RCTStatus::statusGoEvent, this, &RCTStatus::onStatusGoEvent); -} - -RCTStatus::~RCTStatus() {} - -void RCTStatus::setBridge(Bridge *bridge) { - Q_D(RCTStatus); - d->bridge = bridge; -} - -QString RCTStatus::moduleName() { return "Status"; } - -QList RCTStatus::methodsToExport() { - return QList{}; -} - -QVariantMap RCTStatus::constantsToExport() { return QVariantMap(); } - -void RCTStatus::shouldMoveToInternalStorage(double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::shouldMoveToInternalStorage call"; - - d->bridge->invokePromiseCallback(callbackId, QVariantList{QVariant()}); -} - -void RCTStatus::moveToInternalStorage(double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::moveToInternalStorage call"; - - d->bridge->invokePromiseCallback(callbackId, QVariantList{QVariant()}); -} - -QString RCTStatus::prepareDirAndUpdateConfig(QString configString) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::prepareDirAndUpdateConfig call - configString:" - << configString; - - QJsonParseError jsonError; - const QJsonDocument &jsonDoc = - QJsonDocument::fromJson(configString.toUtf8(), &jsonError); - if (jsonError.error != QJsonParseError::NoError) { - qCWarning(RCTSTATUS) << jsonError.errorString(); - } - - QVariantMap configJSON = jsonDoc.toVariant().toMap(); - QVariantMap shhextConfig = configJSON["ShhextConfig"].toMap(); - qCDebug(RCTSTATUS) << "::startNode configString: " << configJSON; - - int networkId = configJSON["NetworkId"].toInt(); - QString relativeDataDirPath = configJSON["DataDir"].toString(); - if (!relativeDataDirPath.startsWith("/")) - relativeDataDirPath.prepend("/"); - - QString rootDirPath = getDataStoragePath(); - QDir rootDir(rootDirPath); - QString absDataDirPath = rootDirPath + relativeDataDirPath; - QDir dataDir(absDataDirPath); - if (!dataDir.exists()) { - dataDir.mkpath("."); - } - - d_gethLogFilePath = dataDir.absoluteFilePath("geth.log"); - configJSON["DataDir"] = absDataDirPath; - configJSON["KeyStoreDir"] = rootDir.absoluteFilePath("keystore"); - configJSON["LogFile"] = d_gethLogFilePath; - - shhextConfig["BackupDisabledDataDir"] = rootDirPath; - - configJSON["ShhExtConfig"] = shhextConfig; - - const QJsonDocument &updatedJsonDoc = QJsonDocument::fromVariant(configJSON); - qCInfo(RCTSTATUS) << "::startNode updated configString: " - << updatedJsonDoc.toVariant().toMap(); - return QString(updatedJsonDoc.toJson(QJsonDocument::Compact)); -} - -void RCTStatus::prepareDirAndUpdateConfig(QString configString, - double callbackId) { - Q_D(RCTStatus); - qCInfo(RCTSTATUS) << "::prepareDirAndUpdateConfig call - callbackId:" - << callbackId; - QtConcurrent::run( - [&](QString configString, double callbackId) { - QString updatedConfig = prepareDirAndUpdateConfig(configString); - d->bridge->invokePromiseCallback( - callbackId, QVariantList{updatedConfig.toUtf8().data()}); - }, - configString, callbackId); -} - -void RCTStatus::initKeystore() { - qCInfo(RCTSTATUS) << "::initKeystore call"; - QString rootDir = getDataStoragePath(); - const char *result = InitKeystore(rootDir.toUtf8().data()); - logStatusGoResult("::initKeystore InitKeystore", result); -} - -#include -#include -#include -#include -#include - -void showFileInGraphicalShell(QWidget *parent, const QFileInfo &fileInfo) { -// Mac, Windows support folder or file. -#ifdef Q_OS_WIN - const QString explorer = - QStandardPaths::findExecutable(QLatin1String("explorer.exe")); - if (explorer.isEmpty()) { - QMessageBox::warning( - parent, QApplication::translate("Core::Internal", - "Launching Windows Explorer Failed"), - QApplication::translate( - "Core::Internal", - "Could not find explorer.exe in path to launch Windows Explorer.")); - return; - } - QStringList param; - if (!fileInfo.isDir()) - param += QLatin1String("/select,"); - param += QDir::toNativeSeparators(fileInfo.canonicalFilePath()); - QProcess::startDetached(explorer, param); -#elif defined(Q_OS_MAC) - QStringList scriptArgs; - scriptArgs << QLatin1String("-e") - << QString::fromLatin1( - "tell application \"Finder\" to reveal POSIX file \"%1\"") - .arg(fileInfo.canonicalFilePath()); - QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs); - scriptArgs.clear(); - scriptArgs << QLatin1String("-e") - << QLatin1String("tell application \"Finder\" to activate"); - QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs); -#else - // we cannot select a file here, because no file browser really supports it... - const QString folder = fileInfo.isDir() ? fileInfo.absoluteFilePath() - : fileInfo.dir().absolutePath(); - QProcess browserProc; - browserProc.setProgram("xdg-open"); - browserProc.setArguments(QStringList(folder)); - bool success = browserProc.startDetached(); - const QString error = - QString::fromLocal8Bit(browserProc.readAllStandardError()); - success = success && error.isEmpty(); - if (!success) { - QMessageBox::warning(parent, "Launching Explorer Failed", error); - return; - } -#endif -} - -void RCTStatus::sendLogs(QString dbJSON, QString jsLogs, double callbackId) { - Q_D(RCTStatus); - - qCDebug(RCTSTATUS) << "::sendLogs call - logFilePath:" << getLogFilePath() - << "d_gethLogFilePath:" << d_gethLogFilePath - << "dbJSON:" << dbJSON; - - QString tmpDirName("Status.im"); - QDir tmpDir(QStandardPaths::writableLocation(QStandardPaths::TempLocation)); - if (!tmpDir.mkpath(tmpDirName)) { - qCWarning(RCTSTATUS) << "::sendLogs could not create temp dir:" - << tmpDirName; - return; - } - - // Check that at least 20MB are available for log generation - QStorageInfo storage(tmpDir); - if (storage.bytesAvailable() < 20 * 1024 * 1024) { - QMessageBox dlg; - dlg.warning(QApplication::activeWindow(), "Error", - QString("Insufficient storage space available in %1 for log " - "generation. Please free up some space.") - .arg(storage.rootPath()), - QMessageBox::Close); - return; - } - - QFile zipFile(tmpDir.absoluteFilePath(tmpDirName + QDir::separator() + - "Status-debug-logs.zip")); - QZipWriter zipWriter(&zipFile); - QFile gethLogFile(d_gethLogFilePath); - QFile logFile(getLogFilePath()); - zipWriter.addFile("db.json", dbJSON.toUtf8()); - zipWriter.addFile("js_logs.log", jsLogs.toUtf8()); - if (gethLogFile.exists()) { - zipWriter.addFile(QFileInfo(gethLogFile).fileName(), &gethLogFile); - } - if (logFile.exists()) { - zipWriter.addFile(QFileInfo(logFile).fileName(), &logFile); - } - zipWriter.close(); - - showFileInGraphicalShell(QApplication::activeWindow(), QFileInfo(zipFile)); -} - -void RCTStatus::exportLogs(double callbackId) { - Q_D(RCTStatus); - QtConcurrent::run( - [&](double callbackId) { - const char *result = ExportNodeLogs(); - logStatusGoResult("::exportLogs", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - callbackId); -} - -void RCTStatus::addPeer(QString enode, double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::addPeer call - callbackId:" << callbackId; - QtConcurrent::run( - [&](QString enode, double callbackId) { - const char *result = AddPeer(enode.toUtf8().data()); - logStatusGoResult("::addPeer AddPeer", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - enode, callbackId); -} - -void RCTStatus::saveAccountAndLogin(QString accountData, QString password, - QString config, QString subAccountsData) { - - Q_D(RCTStatus); - QString finalConfig = prepareDirAndUpdateConfig(config); - QtConcurrent::run( - [&](QString accountData, QString password, QString finalConfig, - QString subAccountsData) { - const char *result = SaveAccountAndLogin( - accountData.toUtf8().data(), password.toUtf8().data(), - finalConfig.toUtf8().data(), subAccountsData.toUtf8().data()); - logStatusGoResult("::saveAccountAndLogin", result); - }, - accountData, password, finalConfig, subAccountsData); -} - -// void RCTStatus::saveAccountAndLoginWithKeycard(QString accountData, -// QString password, QString -// config, -// QString chatKey) { -// Q_D(RCTStatus); -// QString finalConfig = prepareDirAndUpdateConfig(config); -// QtConcurrent::run( -// [&](QString accountData, QString password, QString finalConfig, -// QString chatKey) { -// const char *result = SaveAccountAndLoginWithKeycard( -// accountData.toUtf8().data(), password.toUtf8().data(), -// finalConfig.toUtf8().data(), chatKey.toUtf8().data()); -// logStatusGoResult("::saveAccountAndLoginWithKeycard", result); -// }, -// accountData, password, finalConfig, chatKey); -//} - -void RCTStatus::login(QString accountData, QString password) { - - Q_D(RCTStatus); - QtConcurrent::run( - [&](QString accountData, QString password) { - const char *result = - Login(accountData.toUtf8().data(), password.toUtf8().data()); - logStatusGoResult("::login", result); - }, - accountData, password); -} - -// void RCTStatus::loginWithKeycard(QString accountData, QString password, -// QString chatKey) { -// -// Q_D(RCTStatus); -// QtConcurrent::run( -// [&](QString accountData, QString password, QString chatKey) { -// const char *result = -// LoginWithKeycard(accountData.toUtf8().data(), -// password.toUtf8().data(), -// chatKey.toUtf8().data()); -// logStatusGoResult("::loginWithKeycard", result); -// }, -// accountData, password, chatKey); -//} - -void RCTStatus::logout() { - Q_D(RCTStatus); - QtConcurrent::run([&]() { - const char *result = Logout(); - logStatusGoResult("::logout", result); - }); -} - -void RCTStatus::openAccounts(double callbackId) { - Q_D(RCTStatus); - QtConcurrent::run( - [&](double callbackId) { - QString rootDir = getDataStoragePath(); - const char *result = OpenAccounts(rootDir.toUtf8().data()); - logStatusGoResult("::openAccounts", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - callbackId); -} - -void RCTStatus::multiAccountStoreAccount(QString json, double callbackId) { - Q_D(RCTStatus); - QtConcurrent::run( - [&](QString json, double callbackId) { - const char *result = MultiAccountStoreAccount(json.toUtf8().data()); - logStatusGoResult("::multiAccountStoreAccount", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - json, callbackId); -} - -void RCTStatus::multiAccountLoadAccount(QString json, double callbackId) { - Q_D(RCTStatus); - QtConcurrent::run( - [&](QString json, double callbackId) { - const char *result = MultiAccountLoadAccount(json.toUtf8().data()); - logStatusGoResult("::multiAccountLoadAccount", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - json, callbackId); -} - -void RCTStatus::multiAccountReset(double callbackId) { - Q_D(RCTStatus); - QtConcurrent::run( - [&](double callbackId) { - const char *result = MultiAccountReset(); - logStatusGoResult("::multiAccountReset", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - callbackId); -} - -void RCTStatus::multiAccountDeriveAddresses(QString json, double callbackId) { - Q_D(RCTStatus); - QtConcurrent::run( - [&](QString json, double callbackId) { - const char *result = MultiAccountDeriveAddresses(json.toUtf8().data()); - logStatusGoResult("::multiAccountDeriveAddresses", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - json, callbackId); -} - -void RCTStatus::multiAccountStoreDerived(QString json, double callbackId) { - Q_D(RCTStatus); - QtConcurrent::run( - [&](QString json, double callbackId) { - const char *result = - MultiAccountStoreDerivedAccounts(json.toUtf8().data()); - logStatusGoResult("::multiAccountStoreDerived", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - json, callbackId); -} - -void RCTStatus::multiAccountGenerateAndDeriveAddresses(QString json, - double callbackId) { - Q_D(RCTStatus); - QtConcurrent::run( - [&](QString json, double callbackId) { - const char *result = - MultiAccountGenerateAndDeriveAddresses(json.toUtf8().data()); - logStatusGoResult("::multiAccountGenerateAndDeriveAddresses", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - json, callbackId); -} - -void RCTStatus::multiAccountImportMnemonic(QString json, double callbackId) { - Q_D(RCTStatus); - QtConcurrent::run( - [&](QString json, double callbackId) { - const char *result = MultiAccountImportMnemonic(json.toUtf8().data()); - logStatusGoResult("::multiAccountImportMnemonic", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - json, callbackId); -} - -void RCTStatus::verify(QString address, QString password, double callbackId) { - Q_D(RCTStatus); - qCInfo(RCTSTATUS) << "::verify call - callbackId:" << callbackId; - QtConcurrent::run( - [&](QString address, QString password, double callbackId) { - QDir rootDir(getDataStoragePath()); - QString keystorePath = rootDir.absoluteFilePath("keystore"); - const char *result = VerifyAccountPassword(keystorePath.toUtf8().data(), - address.toUtf8().data(), - password.toUtf8().data()); - logStatusGoResult("::verify VerifyAccountPassword", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - address, password, callbackId); -} - -void RCTStatus::sendTransaction(QString txArgsJSON, QString password, - double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::sendTransaction call - callbackId:" << callbackId; - QtConcurrent::run( - [&](QString txArgsJSON, QString password, double callbackId) { - const char *result = SendTransaction(txArgsJSON.toUtf8().data(), - password.toUtf8().data()); - logStatusGoResult("::sendTransaction SendTransaction", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - txArgsJSON, password, callbackId); -} - -void RCTStatus::signMessage(QString rpcParams, double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::signMessage call - callbackId:" << callbackId; - QtConcurrent::run( - [&](QString rpcParams, double callbackId) { - const char *result = SignMessage(rpcParams.toUtf8().data()); - logStatusGoResult("::signMessage SignMessage", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - rpcParams, callbackId); -} - -void RCTStatus::signTypedData(QString data, QString account, QString password, - double callbackId) { - - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::signMessage call - callbackId:" << callbackId; - QtConcurrent::run( - [&](QString data, QString account, QString password, double callbackId) { - const char *result = - SignTypedData(data.toUtf8().data(), account.toUtf8().data(), - password.toUtf8().data()); - logStatusGoResult("::signTypedData signTypedData", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - data, account, password, callbackId); -} -void RCTStatus::signGroupMembership(QString content, double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::signGroupMembership - callbackId:" << callbackId; - QtConcurrent::run( - [&](QString content, double callbackId) { - const char *result = SignGroupMembership(content.toUtf8().data()); - logStatusGoResult("::signGroupMembership SignGroupMembership", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - content, callbackId); -} - -void RCTStatus::extractGroupMembershipSignatures(QString signatures, - double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::extractGroupMembershipSignatures - callbackId:" - << callbackId; - QtConcurrent::run( - [&](QString signatures, double callbackId) { - const char *result = - ExtractGroupMembershipSignatures(signatures.toUtf8().data()); - logStatusGoResult("::extractGroupMembershipSignatures " - "ExtractGroupMembershipSignatures", - result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - signatures, callbackId); -} - -void RCTStatus::setAdjustResize() {} - -void RCTStatus::setAdjustPan() {} - -void RCTStatus::setSoftInputMode(int i) {} - -void RCTStatus::clearCookies() {} - -void RCTStatus::clearStorageAPIs() {} - -void RCTStatus::callRPC(QString payload, double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::callRPC call - payload:" << payload.left(128) - << "callbackId:" << callbackId; - QtConcurrent::run( - [&](QString payload, double callbackId) { - const char *result = CallRPC(payload.toUtf8().data()); - logStatusGoResult("::callRPC CallRPC", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - payload, callbackId); -} - -void RCTStatus::callPrivateRPC(QString payload, double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::callPrivateRPC call - payload:" << payload.left(128) - << "callbackId:" << callbackId; - QtConcurrent::run( - [&](QString payload, double callbackId) { - const char *result = CallPrivateRPC(payload.toUtf8().data()); - logStatusGoResult("::callPrivateRPC CallPrivateRPC", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - payload, callbackId); -} - -void RCTStatus::closeApplication() {} - -void RCTStatus::connectionChange(QString type, bool isExpensive) { - Q_D(RCTStatus); - QtConcurrent::run( - [&](QString type, bool isExpensive) { - ConnectionChange(type.toUtf8().data(), isExpensive ? 1 : 0); - qCWarning(RCTSTATUS) << "::connectionChange"; - }, - type, isExpensive); -} - -void RCTStatus::appStateChange(QString type) { - Q_D(RCTStatus); - QtConcurrent::run( - [&](QString type) { - AppStateChange(type.toUtf8().data()); - qCWarning(RCTSTATUS) << "::appStateChange"; - }, - type); -} - -bool RCTStatus::JSCEnabled() { - qCDebug(RCTSTATUS) << "::JSCEnabled call"; - return false; -} - -void RCTStatus::statusGoEventCallback(const char *event) { - qCDebug(RCTSTATUS) << "::statusGoEventCallback call - event: " << event; - RCTStatusPrivate::rctStatus->emitStatusGoEvent(event); -} - -void RCTStatus::emitStatusGoEvent(QString event) { - qCDebug(RCTSTATUS) << "::emitStatusGoEvent call - event: " << event; - Q_EMIT statusGoEvent(event); -} - -void RCTStatus::onStatusGoEvent(QString event) { - qCDebug(RCTSTATUS) << "::onStatusGoEvent call - event: " - << event.toUtf8().data(); - RCTStatusPrivate::bridge->eventDispatcher()->sendDeviceEvent( - "gethEvent", QVariantMap{{"jsonEvent", event.toUtf8().data()}}); -} - -void RCTStatus::logStatusGoResult(const char *methodName, const char *result) { - QJsonParseError jsonError; - QJsonDocument jsonDoc = - QJsonDocument::fromJson(QString(result).toUtf8(), &jsonError); - if (jsonError.error != QJsonParseError::NoError) { - qCWarning(RCTSTATUS) << qUtf8Printable(jsonError.errorString()); - return; - } - - QString error = jsonDoc.toVariant().toMap().value("error").toString(); - if (error.isEmpty()) { - qCDebug(RCTSTATUS) << methodName << "succeeded"; - } else { - qCWarning(RCTSTATUS) << methodName << "- error:" << qUtf8Printable(error); - } -} - -void RCTStatus::getNodesFromContract(QString url, QString address, - double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::getNodesFromContract call - callbackId:" - << callbackId; - QtConcurrent::run( - [&](QString url, QString address, double callbackId) { - const char *result = - GetNodesFromContract(url.toUtf8().data(), address.toUtf8().data()); - logStatusGoResult("::getNodesFromContract GetNodesFromContract", - result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - url, address, callbackId); -} - -void RCTStatus::chaosModeUpdate(bool on, double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::chaosModeUpdate call - callbackId:" << callbackId; - QtConcurrent::run( - [&](bool on, double callbackId) { - const char *result = ChaosModeUpdate(on); - logStatusGoResult("::chaosModeUpdate ChaosModeUpdate", result); - d->bridge->invokePromiseCallback(callbackId, QVariantList{result}); - }, - on, callbackId); -} - -QString RCTStatus::generateAlias(QString publicKey) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::generateAlias call"; - return ""; -} - -void RCTStatus::generateAliasAsync(QString publicKey, double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::generateAliasAsync call"; - QByteArray b = publicKey.toUtf8(); - const char *result = GenerateAlias({b.data(), b.length()}); - qCDebug(RCTSTATUS) << "::generateAliasAsync call result"<bridge->invokePromiseCallback(callbackId, QVariantList{result}); -} - -QString RCTStatus::identicon(QString publicKey) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::identicon call"; - return ""; -} - -void RCTStatus::identiconAsync(QString publicKey, double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::identiconAsync call"; - QByteArray b = publicKey.toUtf8(); - const char *result = Identicon({b.data(), b.length()}); - qCDebug(RCTSTATUS) << "::identiconAsync call result"<bridge->invokePromiseCallback(callbackId, QVariantList{result}); -} - -void RCTStatus::generateAliasAndIdenticonAsync(QString publicKey, double callbackId) { - Q_D(RCTStatus); - qCDebug(RCTSTATUS) << "::generateAliasAndIdenticonAsync call"; - QByteArray pubKey = publicKey.toUtf8(); - const char *alias = GenerateAlias({pubKey.data(), pubKey.length()}); - const char *identicon = Identicon({pubKey.data(), pubKey.length()}); - d->bridge->invokePromiseCallback(callbackId, QVariantList{alias, identicon}); -} diff --git a/modules/react-native-status/desktop/rctstatus.h b/modules/react-native-status/desktop/rctstatus.h deleted file mode 100644 index c85a930998..0000000000 --- a/modules/react-native-status/desktop/rctstatus.h +++ /dev/null @@ -1,116 +0,0 @@ -/** - * Copyright (c) 2017-present, Status Research and Development GmbH. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#ifndef RCTSTATUS_H -#define RCTSTATUS_H - -#include "moduleinterface.h" - -#include -#include - -Q_DECLARE_LOGGING_CATEGORY(RCTSTATUS) - -class RCTStatusPrivate; -class RCTStatus : public QObject, public ModuleInterface { - Q_OBJECT - Q_INTERFACES(ModuleInterface) - - Q_DECLARE_PRIVATE(RCTStatus) - -public: - Q_INVOKABLE RCTStatus(QObject *parent = 0); - ~RCTStatus(); - - void setBridge(Bridge *bridge) override; - - QString moduleName() override; - QList methodsToExport() override; - QVariantMap constantsToExport() override; - - Q_INVOKABLE void shouldMoveToInternalStorage(double callbackId); - Q_INVOKABLE void moveToInternalStorage(double callbackId); - Q_INVOKABLE void initKeystore(); - Q_INVOKABLE void sendLogs(QString dbJSON, QString jsLogs, double callbackId); - Q_INVOKABLE void exportLogs(double callbackId); - Q_INVOKABLE void addPeer(QString enode, double callbackId); - Q_INVOKABLE void prepareDirAndUpdateConfig(QString configString, - double callbackId); - Q_INVOKABLE void login(QString accountData, QString password); - // Q_INVOKABLE void loginWithKeycard(QString accountData, QString password, - // QString chatKey); - Q_INVOKABLE void saveAccountAndLogin(QString accountData, QString password, - QString config, QString subAccountsData); - // Q_INVOKABLE void saveAccountAndLoginWithKeycard(QString accountData, - // QString password, - // QString config, - // QString chatKey); - Q_INVOKABLE void logout(); - Q_INVOKABLE void openAccounts(double callbackId); - Q_INVOKABLE void multiAccountStoreAccount(QString json, double callbackId); - Q_INVOKABLE void multiAccountLoadAccount(QString json, double callbackId); - Q_INVOKABLE void multiAccountReset(double callbackId); - Q_INVOKABLE void multiAccountDeriveAddresses(QString json, double callbackId); - Q_INVOKABLE void multiAccountImportMnemonic(QString json, double callbackId); - Q_INVOKABLE void multiAccountStoreDerived(QString json, double callbackId); - Q_INVOKABLE void multiAccountGenerateAndDeriveAddresses(QString json, - double callbackId); - Q_INVOKABLE void verify(QString address, QString password, double callbackId); - Q_INVOKABLE void sendTransaction(QString txArgsJSON, QString password, - double callbackId); - Q_INVOKABLE void signMessage(QString rpcParams, double callbackId); - Q_INVOKABLE void signTypedData(QString data, QString account, - QString password, double callbackId); - - Q_INVOKABLE void signGroupMembership(QString content, double callbackId); - Q_INVOKABLE void extractGroupMembershipSignatures(QString signatures, - double callbackId); - Q_INVOKABLE void getNodesFromContract(QString url, QString address, - double callbackId); - Q_INVOKABLE void chaosModeUpdate(bool on, double callbackId); - - Q_INVOKABLE void setAdjustResize(); - Q_INVOKABLE void setAdjustPan(); - Q_INVOKABLE void setSoftInputMode(int i); - - Q_INVOKABLE void clearCookies(); - Q_INVOKABLE void clearStorageAPIs(); - Q_INVOKABLE void callRPC(QString payload, double callbackId); - Q_INVOKABLE void callPrivateRPC(QString payload, double callbackId); - Q_INVOKABLE void closeApplication(); - Q_INVOKABLE void connectionChange(QString type, bool isExpensive); - Q_INVOKABLE void appStateChange(QString type); - - Q_INVOKABLE static bool JSCEnabled(); - Q_INVOKABLE static void statusGoEventCallback(const char *event); - - Q_INVOKABLE QString identicon(QString publicKey); - Q_INVOKABLE void identiconAsync(QString publicKey, double callbackId); - Q_INVOKABLE QString generateAlias(QString publicKey); - Q_INVOKABLE void generateAliasAsync(QString publicKey, double callbackId); - Q_INVOKABLE void generateAliasAndIdenticonAsync(QString publicKey, double callbackId); - - void emitStatusGoEvent(QString event); - -Q_SIGNALS: - void statusGoEvent(QString event); - -private Q_SLOTS: - void onStatusGoEvent(QString event); - -private: - void logStatusGoResult(const char *methodName, const char *result); - - QString prepareDirAndUpdateConfig(QString configString); - QScopedPointer d_ptr; - QString d_gethLogFilePath; -}; - -#endif // RCTSTATUS_H diff --git a/nix/deps/nodejs/default.nix b/nix/deps/nodejs/default.nix index 026c3a2b27..7d99c95335 100644 --- a/nix/deps/nodejs/default.nix +++ b/nix/deps/nodejs/default.nix @@ -2,8 +2,8 @@ let version = lib.fileContents ../../../VERSION; - yarnLock = ../../../mobile/js_files/yarn.lock; - packageJSON = ../../../mobile/js_files/package.json; + yarnLock = ../../../yarn.lock; + packageJSON = ../../../package.json; packageJSONContent = lib.importJSON packageJSON; in # Create a yarn package for our project that contains all the dependecies. diff --git a/nix/desktop/base-image/default.nix b/nix/desktop/base-image/default.nix deleted file mode 100644 index 6f159268f8..0000000000 --- a/nix/desktop/base-image/default.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ stdenv, fetchurl, unzip }: - -let - defaultPackageSource = { - version = "20191002"; - hostSystem = "x86_64-linux"; - }; - packageSources = { - "linux" = defaultPackageSource // { - sha256 = "1xqa8k00kgld82d3knfbwn90nsw2f7s8h8r8188q966fk99m4g0h"; - }; - "macos" = defaultPackageSource // { - sha256 = "0nmv3agaipdlhl38wh58bgyb8pdc454gxxzig9x0sw5zp9jsaziq"; - hostSystem = "x86_64-darwin"; - }; - "windows" = defaultPackageSource // { - sha256 = "0p6amqz5942100zm3szwbksp2rp08ybfmgiz4bmviggg8391i0zr"; - }; - }; - packageFactory = target-os: - let packageSource = packageSources."${target-os}"; - in stdenv.mkDerivation rec { - inherit (packageSource) version; - pname = "status-im-${target-os}-desktop-files"; - - src = assert stdenv.lib.asserts.assertMsg - (stdenv.hostPlatform.system == packageSource.hostSystem) - "${pname} is not supported on ${stdenv.hostPlatform.system}"; - fetchurl { - inherit (packageSource) sha256; - url = "https://desktop-app-files.ams3.digitaloceanspaces.com/status-im-desktop-files-${target-os}-${packageSource.version}.zip"; - }; - - nativeBuildInputs = [ unzip ]; - - phases = [ "unpackPhase" ]; - unpackPhase = '' - mkdir -p $out/src - unzip $src -d $out/src - ''; - - meta = with stdenv.lib; { - description = "A base image for Status Desktop release distributions"; - homepage = https://desktop-app-files.ams3.digitaloceanspaces.com/; - license = licenses.gpl3; - maintainers = [ maintainers.pombeirp ]; - platforms = platforms.linux ++ platforms.darwin; - }; - }; - -in target-os: - let package = (packageFactory target-os); - in package // { - shellHook = '' - ${package.shellHook or ""} - export STATUSREACT_${stdenv.lib.toUpper target-os}_BASEIMAGE_PATH="${package}/src" - ''; -} diff --git a/nix/desktop/default.nix b/nix/desktop/default.nix deleted file mode 100644 index 8000aef741..0000000000 --- a/nix/desktop/default.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ stdenv, lib, pkgs, mkShell, callPackage -, status-go, qtkeychain-src }: - -let - inherit (stdenv) isLinux isDarwin; - inherit (lib) mapAttrs catAttrs optional unique mergeSh; - - # utilities - baseImageFactory = callPackage ./base-image { }; - - # main targets - linux = callPackage ./linux { inherit status-go baseImageFactory; }; - macos = callPackage ./macos { inherit status-go baseImageFactory; }; - windows = callPackage ./windows { inherit baseImageFactory; }; - - selectedSources = - optional isLinux linux ++ - optional isLinux windows ++ - optional isDarwin macos; - - # default shell for desktop builds - default = mkShell { - buildInputs = with pkgs; unique ([ - file moreutils cmake - extra-cmake-modules - qtkeychain-src - ] ++ (catAttrs "buildInputs" selectedSources)); - - inputsFrom = [ status-go.desktop ] - ++ (catAttrs "shell" selectedSources); - - # These variables are used by the Status Desktop CMake build script in: - # - modules/react-native-status/desktop/CMakeLists.txt - shellHook = '' - export STATUS_GO_DESKTOP_INCLUDEDIR=${status-go.desktop}/include - export STATUS_GO_DESKTOP_LIBDIR=${status-go.desktop}/lib - # QT Keychain library sources - export QTKEYCHAIN_SOURCES="${qtkeychain-src}/src" - ''; - }; - - # for merging default shell - mergeDefaultShell = (key: val: { shell = mergeSh default [ val.shell ]; }); - -in { - shell = default; -} - # merge default shell with platform sub-shells - // mapAttrs mergeDefaultShell { inherit linux windows macos; } diff --git a/nix/desktop/linux/default.nix b/nix/desktop/linux/default.nix deleted file mode 100644 index 3e73cddeb8..0000000000 --- a/nix/desktop/linux/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ lib, stdenv, mkShell, callPackage -# pkgs -, appimagekit, linuxdeployqt, patchelf, qt5custom -# custom arguments -, status-go, baseImageFactory }: - -assert lib.assertMsg stdenv.isLinux "Building Linux app can work only on Linux!"; - -let - inherit (lib) concatStrings catAttrs; - baseImage = baseImageFactory "linux"; - -in rec { - buildInputs = [ - appimagekit - linuxdeployqt - patchelf - qt5custom - ]; - - shell = mkShell { - inherit buildInputs; - inputsFrom = [ baseImage status-go ]; - shellHook = '' - export QT_PATH="${qt5custom}" - export QT_BASEBIN_PATH="${qt5custom}/bin" - export PATH="$QT_BASEBIN_PATH:$PATH" - ''; - }; -} diff --git a/nix/desktop/macos/default.nix b/nix/desktop/macos/default.nix deleted file mode 100644 index 365475bcd8..0000000000 --- a/nix/desktop/macos/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ stdenv, lib, callPackage, mkShell, - gnupg22, darwin, qt5custom, status-go, baseImageFactory }: - -assert lib.assertMsg stdenv.isDarwin "Building MacOS app can work only on MacOS!"; - -let - inherit (lib) concatStrings catAttrs; - inherit (darwin.apple_sdk.frameworks) - AppKit Cocoa Foundation OpenGL CoreFoundation; - - baseImage = baseImageFactory "macos"; - -in { - shell = mkShell { - buildInputs = [ - gnupg22 baseImage qt5custom - darwin.cf-private - AppKit Cocoa Foundation OpenGL - ]; - - inputsFrom = [ - status-go baseImage - ]; - - shellHook = '' - export NIX_TARGET_LDFLAGS="-F${CoreFoundation}/Library/Frameworks -framework CoreFoundation $NIX_TARGET_LDFLAGS" - export QT_PATH="${qt5custom}" - export QT_BASEBIN_PATH="${qt5custom}/bin" - export PATH="$QT_BASEBIN_PATH/bin:$PATH" - ''; - }; -} diff --git a/nix/desktop/windows/default.nix b/nix/desktop/windows/default.nix deleted file mode 100644 index d6f5e96201..0000000000 --- a/nix/desktop/windows/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ stdenv, lib, mkShell, conan, nsis, go, baseImageFactory }: - -assert lib.assertMsg stdenv.isLinux "Building Windows app can work only on Linux!"; - -let - baseImage = baseImageFactory "windows"; - -in rec { - buildInputs = lib.optionals stdenv.isLinux [ - conan - nsis - baseImage - go # Needed for Windows build only - ]; - - shell = mkShell { - inherit buildInputs; - shellHook = '' - ${baseImage.shellHook} - unset QT_PATH - ''; - }; -} diff --git a/nix/mobile/android/default.nix b/nix/mobile/android/default.nix index 7d3ab07b3e..3ba07c7aad 100644 --- a/nix/mobile/android/default.nix +++ b/nix/mobile/android/default.nix @@ -42,15 +42,8 @@ in { # required by some makefile targets export STATUS_GO_ANDROID_LIBDIR=${status-go} - { - cd "$STATUS_REACT_HOME" - - # Set up symlinks to mobile enviroment in project root - ln -sf ./mobile/js_files/* ./ - - # check if node modules changed and if so install them - $STATUS_REACT_HOME/nix/scripts/node_modules.sh ${deps.nodejs-patched} - } + # check if node modules changed and if so install them + $STATUS_REACT_HOME/nix/scripts/node_modules.sh ${deps.nodejs-patched} ''; }; } diff --git a/nix/mobile/android/jsbundle/default.nix b/nix/mobile/android/jsbundle/default.nix index 108f06903c..59d690c992 100644 --- a/nix/mobile/android/jsbundle/default.nix +++ b/nix/mobile/android/jsbundle/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation { # I want to avoid including the whole .git directory ".git/HEAD" ".git/objects" ".git/refs/heads/.*" # shadow-cljs expects these for deps resolution - "mobile/js_files/package.json" "mobile/js_files/yarn.lock" + "package.json" "yarn.lock" # build stat's images to check if they exist "resources/.*" "translations/.*" ]; @@ -50,10 +50,6 @@ stdenv.mkDerivation { configurePhase = '' # Symlink Node.js modules to build directory ln -s ${deps.nodejs}/node_modules - - # Symlink Node.JS dependency definitions - ln -sf mobile/js_files/package.json ./ - ln -sf mobile/js_files/yarn.lock ./ ''; buildPhase = '' # Assemble CLASSPATH from available clojure dependencies. diff --git a/nix/mobile/android/release.nix b/nix/mobile/android/release.nix index 9deccb40a5..90d240d550 100644 --- a/nix/mobile/android/release.nix +++ b/nix/mobile/android/release.nix @@ -53,7 +53,8 @@ in stdenv.mkDerivation rec { filter = lib.mkFilter { root = path; include = [ - "mobile/js_files.*" "resources/.*" "translations/.*" + "package.json" "yarn.lock" "metro.config.js" + "resources/.*" "translations/.*" "modules/react-native-status/android.*" "android/.*" envFileName "VERSION" ".watchmanconfig" "status-go-version.json" "react-native.config.js" @@ -94,9 +95,6 @@ in stdenv.mkDerivation rec { # Ensure we have the right .env file cp -f ./${envFileName} ./.env - # create mobile node/yarn symlinks - ln -sf ./mobile/js_files/* ./ - # Copy index.js and app/ input files cp -ra --no-preserve=ownership ${jsbundle}/* ./ diff --git a/nix/mobile/default.nix b/nix/mobile/default.nix index 9e25fd4c30..1d29692a45 100644 --- a/nix/mobile/default.nix +++ b/nix/mobile/default.nix @@ -25,10 +25,6 @@ let in { shell = mkShell { inputsFrom = (catAttrs "shell" selectedSources); - shellHooks = '' - # create mobile node/yarn symlinks - ln -sf $STATUS_REACT_HOME/mobile/js_files/* $STATUS_REACT_HOME/ - ''; }; # TARGETS diff --git a/nix/mobile/ios/default.nix b/nix/mobile/ios/default.nix index 7fd79990f2..c04b39fdd1 100644 --- a/nix/mobile/ios/default.nix +++ b/nix/mobile/ios/default.nix @@ -23,15 +23,8 @@ in { ]; shellHook = '' - { - cd "$STATUS_REACT_HOME" - - # Set up symlinks to mobile enviroment in project root - ln -sf ./mobile/js_files/* ./ - - # check if node modules changed and if so install them - ./nix/scripts/node_modules.sh "${deps.nodejs-patched}" - } + # check if node modules changed and if so install them + ./nix/scripts/node_modules.sh "${deps.nodejs-patched}" ''; }; diff --git a/nix/overlay.nix b/nix/overlay.nix index 3a1f61ad3c..541dcc4dff 100644 --- a/nix/overlay.nix +++ b/nix/overlay.nix @@ -44,10 +44,6 @@ in { # Custom packages aapt2 = callPackage ./pkgs/aapt2 { }; gomobile = callPackage ./pkgs/gomobile { }; - qt5custom = callPackage ./pkgs/qt5custom { }; - qtkeychain-src = callPackage ./pkgs/qtkeychain-src { }; - appimagekit = callPackage ./pkgs/appimagekit { }; - linuxdeployqt = callPackage ./pkgs/linuxdeployqt { inherit (self) appimagekit; }; patchMavenSources = callPackage ./pkgs/patch-maven-srcs { }; goMavenResolver = callPackage ./pkgs/go-maven-resolver { }; } diff --git a/nix/pkgs/appimagekit/default.nix b/nix/pkgs/appimagekit/default.nix deleted file mode 100644 index 2ef49e5b23..0000000000 --- a/nix/pkgs/appimagekit/default.nix +++ /dev/null @@ -1,122 +0,0 @@ -{ stdenv, fetchFromGitHub -, pkgconfig, cmake, autoconf, automake, libtool -, wget, xxd, desktop-file-utils, file -, gnupg, glib, zlib, cairo, openssl, fuse, xz, squashfuse, inotify-tools, libarchive -, squashfsTools -, gtest -}: - -let - owner = "AppImage"; - repo = "AppImageKit"; - rev = "b0859501df61cde198b54a317c03b41dbafc98b1"; - sha256 = "0qqg79jw9w9rs8c2w3lla4kz62ihafrf7jm370pp1dl8y2i81jzg"; - - appimagekit_src = fetchFromGitHub { - name = "${repo}-${stdenv.lib.strings.substring 0 7 rev}-source"; - inherit owner repo rev sha256; - }; - - # squashfuse adapted to nix from cmake experession in "${appimagekit_src}/cmake/dependencies.cmake" - appimagekit_squashfuse = squashfuse.overrideAttrs (attrs: rec { - pname = "squashfuse"; - version = "20161009"; - - src = fetchFromGitHub { - name = "squashfuse-source"; - owner = "vasi"; - repo = "squashfuse"; - rev = "1f980303b89c779eabfd0a0fdd36d6a7a311bf92"; - sha256 = "0lrw9ff8k15l34wjwyllw3i35hl0cms97jj2hpnr2q8ipgxpb5q5"; - }; - - patches = [ - "${appimagekit_src}/squashfuse.patch" - "${appimagekit_src}/squashfuse_dlopen.patch" - ]; - - postPatch = '' - cp -v ${appimagekit_src}/squashfuse_dlopen.[hc] . - ''; - - preConfigure = '' - sed -i "/PKG_CHECK_MODULES.*/,/,:./d" configure - sed -i "s/typedef off_t sqfs_off_t/typedef int64_t sqfs_off_t/g" common.h - ''; - - configureFlags = [ - "--disable-demo" "--disable-high-level" "--without-lzo" "--without-lz4" - ]; - - postConfigure = '' - sed -i "s|XZ_LIBS = -llzma |XZ_LIBS = -Bstatic -llzma/|g" Makefile - ''; - - # only static libs and header files - installPhase = '' - mkdir -p $out/lib $out/include - cp -v ./.libs/*.a $out/lib - cp -v ./*.h $out/include - ''; - }); - -in stdenv.mkDerivation rec { - pname = "appimagekit"; - version = "20180727"; - - src = appimagekit_src; - - patches = [ ./nix.patch ]; - - nativeBuildInputs = [ - pkgconfig cmake autoconf automake libtool wget xxd - desktop-file-utils - ]; - - buildInputs = [ - gnupg - glib zlib cairo openssl fuse - xz inotify-tools libarchive - squashfsTools - ]; - - preConfigure = '' - export HOME=$(pwd) - ''; - - cmakeFlags = [ - "-DUSE_SYSTEM_XZ=ON" - "-DUSE_SYSTEM_SQUASHFUSE=ON" - "-DSQUASHFUSE=${appimagekit_squashfuse}" - "-DUSE_SYSTEM_INOTIFY_TOOLS=ON" - "-DUSE_SYSTEM_LIBARCHIVE=ON" - "-DUSE_SYSTEM_GTEST=ON" - "-DUSE_SYSTEM_MKSQUASHFS=ON" - "-DBUILD_TESTING=${if doCheck then "ON" else "OFF"}" - ]; - - postInstall = '' - cp "${stdenv.lib.makeBinPath [ squashfsTools ]}/mksquashfs" "$out/lib/appimagekit/" - cp "${stdenv.lib.makeBinPath [ desktop-file-utils ]}/desktop-file-validate" "$out/bin" - ''; - - checkInputs = [ gtest ]; - doCheck = false; # fails 1 out of 4 tests, I'm too lazy to debug why - - # for debugging - passthru = { - squashfuse = appimagekit_squashfuse; - }; - - meta = with stdenv.lib; { - description = "A tool to package desktop applications as AppImages"; - longDescription = '' - AppImageKit is an implementation of the AppImage format that - provides tools such as appimagetool and appimaged for handling - AppImages. - ''; - license = licenses.mit; - homepage = src.meta.homepage; - platforms = platforms.linux; - }; -} diff --git a/nix/pkgs/appimagekit/nix.patch b/nix/pkgs/appimagekit/nix.patch deleted file mode 100644 index 4162e698c7..0000000000 --- a/nix/pkgs/appimagekit/nix.patch +++ /dev/null @@ -1,197 +0,0 @@ -diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake -index ea133a3..916606c 100644 ---- a/cmake/dependencies.cmake -+++ b/cmake/dependencies.cmake -@@ -224,21 +224,23 @@ if(NOT USE_SYSTEM_XZ) - LIBRARY_DIRS /lib/ - LIBRARIES "/lib/liblzma.a" - INCLUDE_DIRS "/src/liblzma/api/" - ) - else() - message(STATUS "Using system xz") - - import_pkgconfig_target(TARGET_NAME xz PKGCONFIG_TARGET liblzma STATIC) - endif() - -+set(USE_SYSTEM_SQUASHFUSE OFF CACHE BOOL "Use system squashfuse instead of building our own") - -+if(NOT USE_SYSTEM_SQUASHFUSE) - # as distros don't provide suitable squashfuse and squashfs-tools, those dependencies are bundled in, can, and should - # be used from this repository - # TODO: implement out-of-source builds for squashfuse, as for the other dependencies - configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/src/patch-squashfuse.sh.in - ${CMAKE_CURRENT_BINARY_DIR}/patch-squashfuse.sh - @ONLY - ) - - ExternalProject_Add(squashfuse-EXTERNAL -@@ -259,20 +261,34 @@ ExternalProject_Add(squashfuse-EXTERNAL - BUILD_IN_SOURCE ON - INSTALL_COMMAND ${MAKE} install - ) - - import_external_project( - TARGET_NAME squashfuse - EXT_PROJECT_NAME squashfuse-EXTERNAL - LIBRARIES "/.libs/libsquashfuse.a;/.libs/libsquashfuse_ll.a;/.libs/libfuseprivate.a" - INCLUDE_DIRS "" - ) -+else() -+ message(STATUS "Using system squashfsfuse from ${SQUASHFUSE}") -+ -+ add_library(squashfuse INTERFACE IMPORTED GLOBAL) -+ -+ set(squashfuse_INCLUDE_DIRS "${SQUASHFUSE}/include") -+ set(squashfuse_LIBRARIES "${SQUASHFUSE}/lib/libsquashfuse.a;${SQUASHFUSE}/lib/libsquashfuse_ll.a;${SQUASHFUSE}/lib/libfuseprivate.a") -+ -+ set_property( -+ TARGET squashfuse -+ PROPERTY INTERFACE_LINK_LIBRARIES ${squashfuse_LIBRARIES} -+ ) -+ include_directories(${squashfuse_INCLUDE_DIRS}) -+endif() - - - set(USE_SYSTEM_INOTIFY_TOOLS OFF CACHE BOOL "Use system libinotifytools instead of building our own") - - if(NOT USE_SYSTEM_INOTIFY_TOOLS) - message(STATUS "Downloading and building inotify-tools") - - # TODO: build out of source - ExternalProject_Add(inotify-tools-EXTERNAL - URL https://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz -@@ -345,20 +361,23 @@ if(NOT USE_SYSTEM_GTEST) - INCLUDE_DIRS "/include/" - ) - else() - message(STATUS "Using system GTest") - - import_find_pkg_target(gtest GTest GTEST) - endif() - endif() - - -+set(USE_SYSTEM_MKSQUASHFS OFF CACHE BOOL "Use system mksquashfs instead of downloading and building our own") -+ -+if(NOT USE_SYSTEM_MKSQUASHFS) - # TODO: allow using system wide mksquashfs - set(mksquashfs_cflags "-DXZ_SUPPORT ${CFLAGS}") - - if(xz_LIBRARIES MATCHES "\\.a$") - set(mksquashfs_ldflags "${xz_LIBRARIES}") - else() - set(mksquashfs_ldflags "-l${xz_LIBRARIES}") - endif() - - if(xz_INCLUDE_DIRS) -@@ -385,20 +404,25 @@ ExternalProject_Add(mksquashfs - INSTALL_COMMAND ${MAKE} -C squashfs-tools/ install INSTALL_DIR= - ) - - ExternalProject_Get_Property(mksquashfs INSTALL_DIR) - set(mksquashfs_INSTALL_DIR "${INSTALL_DIR}") - mark_as_advanced(mksquashfs_INSTALL_DIR) - - # for later use when packaging as an AppImage - set(mksquashfs_BINARY "${mksquashfs_INSTALL_DIR}/mksquashfs") - mark_as_advanced(mksquashfs_BINARY) -+else() -+ message(STATUS "Using system mksquashfs") -+ -+ set(mksquashfs_BINARY "mksquashfs") -+endif() - - - #### build dependency configuration #### - - # only have to build custom xz when not using system libxz - if(TARGET xz-EXTERNAL) - if(TARGET squashfuse-EXTERNAL) - ExternalProject_Add_StepDependencies(squashfuse-EXTERNAL configure xz-EXTERNAL) - endif() - if(TARGET mksquashfs) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 3f25442..974ed0e 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -197,27 +197,27 @@ target_include_directories(digest_md5 - - target_link_libraries(digest_md5 - PRIVATE - libglib - ) - - - # install binaries - if(AUXILIARY_FILES_DESTINATION) - install( -- PROGRAMS ${mksquashfs_INSTALL_DIR}/mksquashfs ${CMAKE_CURRENT_BINARY_DIR}/runtime -+ PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/runtime - DESTINATION ${AUXILIARY_FILES_DESTINATION} - COMPONENT applications - ) - else() - install( -- PROGRAMS ${mksquashfs_INSTALL_DIR}/mksquashfs ${CMAKE_CURRENT_BINARY_DIR}/runtime -+ PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/runtime - DESTINATION bin - COMPONENT applications - ) - endif() - - install( - TARGETS AppRun appimagetool digest validate - RUNTIME DESTINATION bin COMPONENT applications - LIBRARY DESTINATION lib COMPONENT applications - ARCHIVE DESTINATION lib/static COMPONENT applications -diff --git a/src/shared.c b/src/shared.c -index cf5fd5c..4f48dbc 100644 ---- a/src/shared.c -+++ b/src/shared.c -@@ -34,21 +34,21 @@ - #include - #include - #include - #include - - #include - #include - #include - #include - --#include "squashfuse.h" -+#include - #include - #include "getsection.h" - #include "elf.h" - - #include "xdg-basedir.h" - - // own header - #include "shared.h" - - #if HAVE_LIBARCHIVE3 == 1 // CentOS -diff --git a/src/appimagetool.c b/src/appimagetool.c -index 69beaa1..c55d6b1 100644 ---- a/src/appimagetool.c -+++ b/src/appimagetool.c -@@ -200,9 +200,6 @@ int sfs_mksquashfs(char *source, char *destination, int offset) { - args[i++] = exclude_file; - } - -- args[i++] = "-mkfs-fixed-time"; -- args[i++] = "0"; -- - args[i++] = 0; - - if (verbose) { -@@ -348,7 +345,7 @@ void extract_arch_from_text(gchar *archname, const gchar* sourcename, bool* arch - void guess_arch_of_file(const gchar *archfile, bool* archs) { - char line[PATH_MAX]; - char command[PATH_MAX]; -- sprintf(command, "/usr/bin/file -L -N -b %s", archfile); -+ sprintf(command, "file -L -N -b %s", archfile); - FILE* fp = popen(command, "r"); - if (fp == NULL) - die("Failed to run file command"); diff --git a/nix/pkgs/linuxdeployqt/default.nix b/nix/pkgs/linuxdeployqt/default.nix deleted file mode 100644 index ea7caead36..0000000000 --- a/nix/pkgs/linuxdeployqt/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ pkgs, stdenv, fetchFromGitHub, appimagekit }: - -with pkgs; - -stdenv.mkDerivation rec { - pname = "linuxdeployqt"; - version = "20181215"; - owner = "probonopd"; - repo = "linuxdeployqt"; - rev = "600fc20ea73ee937a402a2bb6b3663d93fcc1d4b"; - sha256 = "05kvkfbhsyadlcggl63rhrw5s36d8qxs8gyihrjn2cjk42xx8r7j"; - - src = - if stdenv.hostPlatform.system == "x86_64-linux" then - fetchFromGitHub { - name = "${repo}-${stdenv.lib.strings.substring 0 7 rev}-source"; - inherit owner repo rev sha256; - } - else throw "${name} is not supported on ${stdenv.hostPlatform.system}"; - - # Add our own patch to make linuxdeployqt correctly include all /nix/store rpaths to LD_LIBRARY_PATH so we don't have to calculate that ourselves - patches = [ ./linuxdeployqt.patch ]; - - buildInputs = [ qt5.qtbase appimagekit ]; - nativeBuildInputs = [ wget ]; - - buildPhase = '' - qmake - make - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out/bin - cp -r bin/linuxdeployqt $out/bin/ - - runHook postInstall - ''; - - meta = { - description = "Makes Linux applications self-contained by copying in the libraries and plugins that the application uses, and optionally generates an AppImage. Can be used for Qt and other applications"; - homepage = https://github.com/probonopd/linuxdeployqt/; - license = stdenv.lib.licenses.gpl3; - maintainers = [ stdenv.lib.maintainers.pombeirp ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/nix/pkgs/linuxdeployqt/linuxdeployqt.patch b/nix/pkgs/linuxdeployqt/linuxdeployqt.patch deleted file mode 100644 index 150ff307c0..0000000000 --- a/nix/pkgs/linuxdeployqt/linuxdeployqt.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/tools/linuxdeployqt/shared.cpp b/tools/linuxdeployqt/shared.cpp -index 4c0919a..1a136e0 100644 ---- a/tools/linuxdeployqt/shared.cpp -+++ b/tools/linuxdeployqt/shared.cpp -@@ -833,20 +833,23 @@ void changeIdentification(const QString &id, const QString &binaryPath) - LogNormal() << "Checking rpath in" << binaryPath; - QString oldRpath = runPatchelf(QStringList() << "--print-rpath" << binaryPath); - LogDebug() << "oldRpath:" << oldRpath; -- if (oldRpath.startsWith("/")){ -- LogDebug() << "Old rpath in" << binaryPath << "starts with /, hence adding it to LD_LIBRARY_PATH"; -- // FIXME: Split along ":" characters, check each one, only append to LD_LIBRARY_PATH if not already there -- QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); -- QString oldPath = env.value("LD_LIBRARY_PATH"); -- if (not oldPath.contains(oldRpath)){ -- QString newPath = oldRpath + ":" + oldPath; // FIXME: If we use a ldd replacement, we still need to observe this path -- // FIXME: Directory layout might be different for system Qt; cannot assume lib/ to always be inside the Qt directory -- LogDebug() << "Added to LD_LIBRARY_PATH:" << newPath; -- setenv("LD_LIBRARY_PATH",newPath.toUtf8().constData(),1); -+ -+ QStringList rpath = oldRpath.split(":", QString::SkipEmptyParts); -+ foreach(QString path, QStringList(rpath)) { -+ if (path.startsWith("/")){ -+ LogDebug() << "Old rpath in" << binaryPath << "starts with /, hence adding it to LD_LIBRARY_PATH"; -+ // FIXME: Split along ":" characters, check each one, only append to LD_LIBRARY_PATH if not already there -+ QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); -+ QString oldPath = env.value("LD_LIBRARY_PATH"); -+ if (not oldPath.contains(oldRpath)){ -+ QString newPath = oldRpath + ":" + oldPath; // FIXME: If we use a ldd replacement, we still need to observe this path -+ // FIXME: Directory layout might be different for system Qt; cannot assume lib/ to always be inside the Qt directory -+ LogDebug() << "Added to LD_LIBRARY_PATH:" << newPath; -+ setenv("LD_LIBRARY_PATH",newPath.toUtf8().constData(),1); -+ } - } - } - -- QStringList rpath = oldRpath.split(":", QString::SkipEmptyParts); - rpath.prepend(id); - rpath.removeDuplicates(); - foreach(QString path, QStringList(rpath)) { diff --git a/nix/pkgs/qt5custom/default.nix b/nix/pkgs/qt5custom/default.nix deleted file mode 100644 index ccf711329a..0000000000 --- a/nix/pkgs/qt5custom/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ qt5 }: - -# Custom collection of QT libraries for Status desktop App -qt5.env "qt-status-${qt5.qtbase.version}" (with qt5; [ - qtbase - qtsvg - qtwebengine - qtwebview - qtdeclarative - qtquickcontrols2 -]) diff --git a/nix/pkgs/qtkeychain-src/default.nix b/nix/pkgs/qtkeychain-src/default.nix deleted file mode 100644 index 1ef48b7fcb..0000000000 --- a/nix/pkgs/qtkeychain-src/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ pkgs, stdenv, fetchFromGitHub }: - -let - version = "0.8.90"; - # This revision will get used in: - # https://github.com/status-im/react-native-keychain/blob/master/desktop/CMakeLists.txt#L45 - rev = "d3c606c55adf8c2c2747556055652b3469f6c4c2"; - sha256 = "1gqw3g0j46aswncm8fgy419lp1fp2y2nild82hs18xra5albvf3i"; - -in stdenv.mkDerivation { - name = "qtkeychain-patched-source"; - version = "${version}-${stdenv.lib.strings.substring 0 7 rev}"; - - src = fetchFromGitHub { - inherit rev sha256; - owner = "status-im"; - repo = "qtkeychain"; - name = "qtkeychain-source-${version}"; - }; - - phases = [ "unpackPhase" ]; - unpackPhase = '' - mkdir -p $out/src - cp -r $src/* $out/src/ - substituteInPlace $out/src/CMakeLists.txt \ - --replace "cmake_minimum_required(VERSION 2.8.11)" "cmake_minimum_required(VERSION 3.12.1)" \ - --replace "project(qtkeychain)" "project(qtkeychain VERSION ${version})" \ - --replace "set(QTKEYCHAIN_VERSION 0.8.90)" "set(QTKEYCHAIN_VERSION ${version})" \ - --replace "{QTKEYCHAIN_VERSION}\" VARIABLE_PREFIX SNORE" "QTKEYCHAIN_VERSION VARIABLE_PREFIX SNORE" \ - --replace "\"\$QTKEYCHAIN_VERSION" qtkeychain - ''; - - meta = with stdenv.lib; { - description = "Patched sources for qtkeychain, a platform-independent Qt API for storing passwords securely"; - homepage = https://github.com/status-im/qtkeychain; - license = licenses.bsd3; - maintainers = [ maintainers.pombeirp ]; - platforms = with platforms; darwin ++ linux; - }; -} diff --git a/nix/scripts/shell.sh b/nix/scripts/shell.sh index 746ea887a8..00e1f66e4c 100755 --- a/nix/scripts/shell.sh +++ b/nix/scripts/shell.sh @@ -32,14 +32,6 @@ fi entryPoint="default.nix" nixArgs+=("--attr shells.${TARGET}") -if [[ "$TARGET" =~ (linux|windows|darwin|macos) ]]; then - # This is a dirty workaround because 'yarn install' is an impure operation, - # so we need to call it from an impure shell. - # Hopefully we'll be able to fix this later on with something like yarn2nix - # TODO: Manage node dependencies for desktop with yarn2nix - nix-shell ${nixArgs[@]} --run "scripts/prepare-for-desktop-platform.sh" default.nix || exit -fi - config='' if [ -n "${STATUS_GO_SRC_OVERRIDE}" ]; then config+="status-im.status-go.src-override=\"${STATUS_GO_SRC_OVERRIDE}\";" diff --git a/nix/shells.nix b/nix/shells.nix index 76a60d55a4..e738347cc3 100644 --- a/nix/shells.nix +++ b/nix/shells.nix @@ -64,10 +64,6 @@ let # helpers for use with target argument ios = targets.mobile.ios.shell; android = targets.mobile.android.shell; - desktop = targets.desktop.shell; - linux = targets.desktop.linux.shell; - macos = targets.desktop.macos.shell; - windows = targets.desktop.macos.shell; status-go = targets.status-go.mobile.android; }; diff --git a/nix/status-go/default.nix b/nix/status-go/default.nix index 4e37e1c1d1..a4e4768975 100644 --- a/nix/status-go/default.nix +++ b/nix/status-go/default.nix @@ -38,11 +38,7 @@ in rec { inherit meta source goBuildFlags goBuildLdFlags; }; - desktop = callPackage ./desktop { - inherit meta source goBuildFlags goBuildLdFlags; - }; - shell = mkShell { - inputsFrom = [ mobile.android mobile.ios desktop ]; + inputsFrom = [ mobile.android mobile.ios ]; }; } diff --git a/nix/status-go/desktop/default.nix b/nix/status-go/desktop/default.nix deleted file mode 100644 index d9b6955e25..0000000000 --- a/nix/status-go/desktop/default.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ lib, stdenv, utils, go, buildGoPackage -# object with source attributes -, meta , source -, goBuildFlags -, goBuildLdFlags -, outputFileName ? "libstatus.a" }: - -let - inherit (lib) concatStringsSep optionalString concatMapStrings; - - removeReferences = [ go ]; - removeExpr = refs: ''remove-references-to ${concatMapStrings (ref: " -t ${ref}") refs}''; - - hostSystem = stdenv.hostPlatform.system; - -in buildGoPackage { - pname = source.repo; - version = "${source.cleanVersion}-${source.shortRev}"; - - inherit meta; - inherit (source) src goPackagePath; - - # Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 ) - hardeningDisable = [ "fortify" ]; - - # Ensure XCode is present, instead of failing at the end of the build - preConfigure = optionalString stdenv.isDarwin utils.enforceXCodeAvailable; - - buildMessage = "Building desktop library"; - - #GOOS=windows GOARCH=amd64 CGO_ENABLED=1 go build ${goBuildFlags} -buildmode=c-archive -o $out/${outputFileName} ./lib - buildPhase = let - CGO_LDFLAGS = concatStringsSep " " goBuildLdFlags; - in '' - pushd "$NIX_BUILD_TOP/go/src/${source.goPackagePath}" >/dev/null - - export GO111MODULE=off - - go build -o $out/${outputFileName} \ - ${concatStringsSep " " goBuildFlags} \ - -buildmode=c-archive \ - -ldflags='${CGO_LDFLAGS}' \ - ./lib - - popd >/dev/null - ''; - - # replace hardcoded paths to go package in /nix/store, otherwise Nix will fail the build - fixupPhase = '' - find $out -type f -exec ${removeExpr removeReferences} '{}' + || true - ''; - - installPhase = '' - mkdir -p $out/lib/${hostSystem} $out/include - mv $out/${outputFileName} $out/lib/${hostSystem} - mv $out/libstatus.h $out/include - ''; - - outputs = [ "out" ]; -} diff --git a/nix/status-go/desktop/shell.nix b/nix/status-go/desktop/shell.nix deleted file mode 100644 index e0fb972019..0000000000 --- a/nix/status-go/desktop/shell.nix +++ /dev/null @@ -1,15 +0,0 @@ -# -# This is currently unused but is a reminder of how we used to build desktop app -# - -{ mkShell, status-go-desktop }: - -mkShell { - buildInputs = [ status-go-desktop ]; - # These variables are used by the Status Desktop CMake build script in: - # - modules/react-native-status/desktop/CMakeLists.txt - shellHook = '' - export STATUS_GO_DESKTOP_INCLUDEDIR=${status-go-desktop}/include - export STATUS_GO_DESKTOP_LIBDIR=${status-go-desktop}/lib - ''; -} diff --git a/nix/targets.nix b/nix/targets.nix index 193d07f169..50d82ba0c2 100644 --- a/nix/targets.nix +++ b/nix/targets.nix @@ -7,8 +7,7 @@ let inherit (pkgs) stdenv callPackage; status-go = callPackage ./status-go { }; - desktop = callPackage ./desktop { inherit status-go; }; mobile = callPackage ./mobile { inherit status-go; }; in { - inherit mobile desktop status-go; + inherit mobile status-go; } diff --git a/mobile/js_files/package.json b/package.json similarity index 96% rename from mobile/js_files/package.json rename to package.json index bdd7e4db18..3b78c97cf4 100644 --- a/mobile/js_files/package.json +++ b/package.json @@ -46,7 +46,6 @@ "react-native-languages": "^3.0.2", "react-native-mail": "git+https://github.com/status-im/react-native-mail.git#v4.0.0-status", "react-native-navigation-bar-color": "^2.0.1", - "react-native-navigation-twopane": "git+https://github.com/status-im/react-native-navigation-twopane.git#v0.0.2-status", "react-native-reanimated": "^1.7.0", "react-native-redash": "^14.0.3", "react-native-safe-area-context": "^2.0.0", diff --git a/patches/metro-config+0.48.5.patch b/patches/metro-config+0.48.5.patch deleted file mode 100644 index 6b7818a71a..0000000000 --- a/patches/metro-config+0.48.5.patch +++ /dev/null @@ -1,12 +0,0 @@ -patch-package ---- a/node_modules/metro-config/src/defaults/defaults.js -+++ b/node_modules/metro-config/src/defaults/defaults.js -@@ -47,7 +47,7 @@ exports.sourceExts = ["js", "json", "ts", "tsx"]; - - exports.moduleSystem = require.resolve("metro/src/lib/polyfills/require.js"); - --exports.platforms = ["ios", "android", "windows", "web"]; -+exports.platforms = ["ios", "android", "windows", "web", "desktop"]; - - exports.providesModuleNodeModules = ["react-native", "react-native-windows"]; - diff --git a/rn-cli.config.js b/rn-cli.config.js deleted file mode 100644 index 3cd8b230c0..0000000000 --- a/rn-cli.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const blacklist = require('metro').createBlacklist; - -module.exports = { - getBlacklistRE: function() { - return blacklist([/(desktop|mobile)\/js_files\/.*/]); - } -}; diff --git a/scripts/build-desktop.sh b/scripts/build-desktop.sh deleted file mode 100755 index 8b65caaa5a..0000000000 --- a/scripts/build-desktop.sh +++ /dev/null @@ -1,461 +0,0 @@ -#!/usr/bin/env bash - -set -e - -GIT_ROOT=$(cd "${BASH_SOURCE%/*}" && git rev-parse --show-toplevel) -source "${GIT_ROOT}/scripts/colors.sh" - -VERBOSE_LEVEL=${VERBOSE_LEVEL:-1} -SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )" -OS=$(uname -s) -if [ -z "$TARGET" ]; then - TARGET=$(uname -s | tr '[:upper:]' '[:lower:]') -fi -WINDOWS_CROSSTOOLCHAIN_PKG_NAME='mxetoolchain-x86_64-w64-mingw32' - -source "$SCRIPTPATH/lib/setup/path-support.sh" - -source_lib "packages.sh" -source_lib "platform.sh" - -function is_windows_target() { - [[ "$TARGET" =~ windows ]] -} - -function joinPath() { - if program_exists 'realpath'; then - realpath -m "$1/$2" 2> /dev/null - else - echo "$1/$2" | tr -s / - fi -} - -function joinExistingPath() { - if program_exists 'realpath'; then - realpath "$1/$2" 2> /dev/null - else - echo "$1/$2" | tr -s / - fi -} - -function join { local IFS="$1"; shift; echo "$*"; } - -CMAKE_EXTRA_FLAGS="-DCMAKE_CXX_FLAGS:='-DBUILD_FOR_BUNDLE=1'" -[ -n $STATUS_NO_LOGGING ] && CMAKE_EXTRA_FLAGS="$CMAKE_EXTRA_FLAGS -DSTATUS_NO_LOGGING=1" -if is_windows_target; then - CMAKE_EXTRA_FLAGS="$CMAKE_EXTRA_FLAGS -DCMAKE_TOOLCHAIN_FILE='Toolchain-Ubuntu-mingw64.cmake'" - CMAKE_EXTRA_FLAGS="$CMAKE_EXTRA_FLAGS -DCMAKE_C_COMPILER='x86_64-w64-mingw32.shared-gcc'" - CMAKE_EXTRA_FLAGS="$CMAKE_EXTRA_FLAGS -DCMAKE_CXX_COMPILER='x86_64-w64-mingw32.shared-g++'" - CMAKE_EXTRA_FLAGS="$CMAKE_EXTRA_FLAGS -DCMAKE_RC_COMPILER='x86_64-w64-mingw32.shared-windres'" -fi - -WORKFOLDER="$(joinExistingPath "$STATUS_REACT_HOME" 'StatusImPackage')" -JS_BUNDLE_PATH="$WORKFOLDER/index.desktop.bundle" - -function init() { - if [ -z $STATUS_REACT_HOME ]; then - echo "${RED}STATUS_REACT_HOME environment variable is not defined!${RST}" - exit 1 - fi - - if ! is_windows_target; then - if [ -z $QT_PATH ]; then - echo "${RED}QT_PATH environment variable is not defined!${RST}" - exit 1 - fi - fi - - if [[ "$OS" =~ Linux ]]; then - rm -rf ./desktop/toolchain/ - # TODO: Use Conan for Linux and MacOS builds too - if is_windows_target; then - export PATH=$STATUS_REACT_HOME:$PATH - if ! program_exists 'conan'; then - echo "${RED}Conan package manager not found. Exiting...${RST}" - exit 1 - fi - - conan remote add --insert 0 -f status-im https://conan.status.im - - echo "Generating cross-toolchain profile..." - conan install -if ./desktop/toolchain/ -g json $WINDOWS_CROSSTOOLCHAIN_PKG_NAME/5.5.0-1@status-im/stable \ - -pr ./node_modules/status-conan/profiles/status-mingw32-x86_64 - python3 ./node_modules/status-conan/profiles/generate-profiles.py ./node_modules/status-conan/profiles ./desktop/toolchain/conanbuildinfo.json - - echo "Installing cross-toolchain..." - conan install -if ./desktop/toolchain/ -g json -g cmake $WINDOWS_CROSSTOOLCHAIN_PKG_NAME/5.5.0-1@status-im/stable \ - -pr ./node_modules/status-conan/profiles/status-mxe-mingw32-x86_64-gcc55-libstdcxx - fi - fi -} - -function buildJSBundle() { - # create directory for all work related to bundling - rm -rf $WORKFOLDER - mkdir -p $WORKFOLDER - echo -e "${GRN}Work folder created: $WORKFOLDER${RST}" - echo "" - - # from index.desktop.js create javascript bundle and resources folder - echo "Generating $JS_BUNDLE_PATH and assets folder..." - react-native bundle \ - --reset-cache \ - --dev false \ - --entry-file index.desktop.js \ - --bundle-output "$JS_BUNDLE_PATH" \ - --assets-dest "$WORKFOLDER/assets" \ - --platform desktop - echo -e "${GRN}Generating done.${RST}" - echo "" -} - -function compile() { - # Temporarily add path to javascript bundle to package.json - local jsBundleLine="\"desktopJSBundlePath\": \"$JS_BUNDLE_PATH\"" - local jsPackagePath=$(joinExistingPath "$STATUS_REACT_HOME" 'desktop/js_files/package.json') - - jq ".=(. + {$jsBundleLine})" "$jsPackagePath" | sponge "$jsPackagePath" - echo -e "${YLW}Added 'desktopJSBundlePath' line to $jsPackagePath:${RST}" - echo "" - - local EXTERNAL_MODULES_DIR="$(jq -r '.desktopExternalModules | @tsv | @text' "$jsPackagePath" | tr '\t' ';')" - local DESKTOP_FONTS="$(jq -r '.desktopFonts | @tsv | @text' "$jsPackagePath" | tr '\t' ';')" - local DESKTOP_IMAGES="$(jq -r '.desktopImages | @tsv | @text' "$jsPackagePath" | tr '\t' ';')" - pushd desktop - rm -rf CMakeFiles CMakeCache.txt cmake_install.cmake Makefile modules reportApp/CMakeFiles desktop/node_modules/google-breakpad/CMakeFiles desktop/node_modules/react-native-keychain/desktop/qtkeychain-prefix/src/qtkeychain-build/CMakeFiles desktop/node_modules/react-native-keychain/desktop/qtkeychain - if is_windows_target; then - export PATH=$STATUS_REACT_HOME:$PATH - - # Get the toolchain bin folder from toolchain/conanbuildinfo.json - local bin_dirs=$(jq -r '.dependencies[0].bin_paths | .[]' toolchain/conanbuildinfo.json) - while read -r bin_dir; do - if [ ! -d $bin ]; then - echo -e "${RED}Could not find $bin_dir directory from 'toolchain/conanbuildinfo.json', aborting${RST}" - exit 1 - fi - export PATH=$bin_dir:$PATH - done <<< "$bin_dirs" - fi - cmake -Wno-dev \ - $CMAKE_EXTRA_FLAGS \ - -DCMAKE_BUILD_TYPE=Release \ - -DEXTERNAL_MODULES_DIR="$EXTERNAL_MODULES_DIR" \ - -DDESKTOP_FONTS="$DESKTOP_FONTS" \ - -DDESKTOP_IMAGES="$DESKTOP_IMAGES" \ - -DJS_BUNDLE_PATH="$JS_BUNDLE_PATH" || exit 1 - make -S -j5 || exit 1 - popd - - git checkout $jsPackagePath # remove the bundle from the package.json file -} - -function bundleWindows() { - local buildType="$1" - - local version_file="${STATUS_REACT_HOME}/VERSION" - VERSION=$(cat $version_file) - if [ -z "$VERSION" ]; then - echo "${RED}Could not read version from ${version_file}!${RST}" - exit 1 - fi - - pushd $STATUS_REACT_HOME/desktop/bin - rm -rf cmake_install.cmake Makefile CMakeFiles Status_autogen - popd - - local compressionAlgo="lzma" - local compressionType="/SOLID" - if [ -z $buildType ]; then - compressionAlgo="bzip2" - compressionType="" - elif [ "$buildType" = "pr" ]; then - compressionAlgo="zlib" - fi - - # TODO this needs to be fixed: status-react/issues/5378 - local top_srcdir=$(joinExistingPath "$STATUS_REACT_HOME" '.') - VERSION_MAJOR="$(cut -d'.' -f1 <<<"$VERSION")" - VERSION_MINOR="$(cut -d'.' -f2 <<<"$VERSION")" - VERSION_BUILD="$(cut -d'.' -f3 <<<"$VERSION")" - makensis -Dtop_srcdir=${top_srcdir} \ - -Dbase_image_dir=${STATUSREACT_WINDOWS_BASEIMAGE_PATH} \ - -DCOMPRESSION_ALGO=${compressionAlgo} \ - -DCOMPRESSION_TYPE=${compressionType} \ - -DVERSION_MAJOR=$VERSION_MAJOR \ - -DVERSION_MINOR=$VERSION_MINOR \ - -DVERSION_BUILD=$VERSION_BUILD \ - -DPUBLISHER=Status.im \ - -DWEBSITE_URL="https://status.im/" \ - ./deployment/windows/nsis/setup.nsi -} - -function bundleLinux() { - local QTBIN=$(joinExistingPath "$QT_PATH" 'gcc_64/bin') - if [ ! -d "$QTBIN" ]; then - # CI environment doesn't contain gcc_64 path component - QTBIN=$(joinExistingPath "$QT_PATH" 'bin') - fi - - echo "Creating AppImage..." - pushd $WORKFOLDER - rm -rf StatusImAppImage AppDir - - # TODO this needs to be fixed: status-react/issues/5378 - cp -r ${STATUSREACT_LINUX_BASEIMAGE_PATH}/StatusImAppImage . - chmod -R +w StatusImAppImage/ - - mkdir AppDir - popd - - # invoke linuxdeployqt to create Status.AppImage - local qmakePath="$(joinExistingPath "${QTBIN}" 'qmake')" - local usrBinPath="$(joinPath "$WORKFOLDER" "AppDir/usr/bin")" - cp -r ./deployment/linux/usr $WORKFOLDER/AppDir - cp ./.env $usrBinPath - cp ./desktop/bin/Status ./desktop/bin/reportApp $usrBinPath - - rm -f Application-x86_64.AppImage Status-x86_64.AppImage - - [ $VERBOSE_LEVEL -ge 1 ] && ldd $(joinExistingPath "$usrBinPath" 'Status') - pushd $WORKFOLDER - cp -r assets/share/assets $usrBinPath - cp -rf StatusImAppImage/* $usrBinPath - rm -f $usrBinPath/Status.AppImage - popd - - local desktopFilePath="$(joinExistingPath "$WORKFOLDER" 'AppDir/usr/share/applications/Status.desktop')" - linuxdeployqt \ - $desktopFilePath \ - -verbose=$VERBOSE_LEVEL -always-overwrite -no-strip \ - -no-translations -bundle-non-qt-libs \ - -qmake="$qmakePath" \ - -executable="$(joinExistingPath "$usrBinPath" 'reportApp')" \ - -qmldir="$(joinExistingPath "$STATUS_REACT_HOME" 'node_modules/react-native')" \ - -qmldir="$(joinExistingPath "$STATUS_REACT_HOME" 'desktop/reportApp')" \ - -extra-plugins=imageformats/libqsvg.so - - pushd $WORKFOLDER - rm -f $usrBinPath/Status.AppImage - - # Patch libraries and executables to remove references to /nix/store - set +e - for f in `find ./AppDir/usr/lib/*`; do - patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 $f 2> /dev/null - patchelf --set-rpath "\$ORIGIN" $f - done - set -e - for f in $usrBinPath/Status $usrBinPath/reportApp; do - patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 --set-rpath "\$ORIGIN:\$ORIGIN/../lib" $f - done - # To make the output more reproducible, always set the timestamps to the same value - for f in `find ./AppDir`; do - touch --no-create -h -t 197001010000.00 $f - done - [ $VERBOSE_LEVEL -ge 1 ] && ldd $usrBinPath/Status - - appimagetool ./AppDir - # Ensure the AppImage itself isn't using the interpreter in Nix's store - patchelf --set-interpreter /lib64/ld-linux-x86-64.so.2 --set-rpath "\$ORIGIN" ./Status-x86_64.AppImage - chmod +x ./Status-x86_64.AppImage - rm -rf Status.AppImage - mv -f ./Status-x86_64.AppImage .. - popd - - echo -e "${GRN}Package ready in ./Status-x86_64.AppImage!${RST}" - echo "" -} - -if [[ "$OS" =~ Darwin ]]; then - function copyDylibNixDependenciesToPackage() { - local dylib="$1" - local contentsDir="$2" - local frameworksDir="$contentsDir/Frameworks" - local exeDir="$contentsDir/MacOS" - - # Walk through the dependencies of $dylib - local dependencies=$(otool -L "$dylib" | grep -E "\s+/nix/" | awk -F "(" '{print $1}' | xargs) - local moduleDirPath=$(basename $dylib) - for depDylib in $dependencies; do - local targetDepDylib=$(joinPath "$frameworksDir" "$(basename $depDylib)") - # Copy any dependencies that: are not in the Frameworks directory, do not already exist in /usr/lib and are not a Qt5 module (will be handled by macdeployqt anyway) - if [ ! -f "$targetDepDylib" ] && [[ "$(basename $targetDepDylib)" != "libQt5"* ]] && [ ! -f "/usr/lib/$(basename $depDylib)" ]; then - [ $VERBOSE_LEVEL -ge 1 ] && echo " Copying $depDylib to $frameworksDir..." - cp -a -L "$depDylib" "$frameworksDir" - chmod 0755 "$targetDepDylib" - - copyDylibNixDependenciesToPackage "$depDylib" "$contentsDir" - fi - done - } - - function copyQtPlugInToPackage() { - local qtPath="$1" - local pluginName="$2" - local contentsPath="$3" - local filter="" - local targetPath="$contentsPath/PlugIns" - local pluginTargetPath="$targetPath/$pluginName" - - [ "$pluginName" == 'platforms' ] && filter='libqcocoa.dylib' - - mkdir -p $pluginTargetPath - local qtLibPath=$(find $qtPath/lib -maxdepth 1 -name qt-*) - local srcPath=$(readlink -f "$qtLibPath/plugins/$pluginName") - echo "Copying $srcPath to $targetPath" - if [ -z "$filter" ]; then - cp -a -f -L "$srcPath" "$targetPath" - else - cp -f $(readlink -f "$srcPath/$filter") "$pluginTargetPath" - fi - chmod 755 $pluginTargetPath - chmod 755 $pluginTargetPath/* - - for dylib in `find $pluginTargetPath -name *.dylib`; do - copyDylibNixDependenciesToPackage "$dylib" "$contentsPath" - done - } - - function fixupRPathsInDylib() { - local dylib="$1" - local contentsDir="$2" - local frameworksDir="$contentsDir/Frameworks" - local exeDir="$contentsDir/MacOS" - - [ $VERBOSE_LEVEL -ge 1 ] && echo "Checking rpaths in ${dylib}" - - # Walk through the dependencies of $dylib - local dependencies=$(otool -L "$dylib" | grep -E "\s+/nix/" | sed "s|@executable_path|$exeDir|" | awk -F "(" '{print $1}' | xargs) - local moduleDirPath=$(dirname $dylib) - for depDylib in $dependencies; do - # Fix rpath and copy library to target - local replacementTargetPath="" - local framework=$(echo $depDylib | sed -E "s|^\/nix\/.+\/Library\/Frameworks\/(.+)\.framework\/\1$|\1|" 2> /dev/null) - if [ -n "$framework" ] && [ "$framework" != "$depDylib" ]; then - # Handle macOS framework - local targetDepDylib=$(joinExistingPath "/System/Library/Frameworks" "${framework}.framework/${framework}") - - if [ ! -f "$targetDepDylib" ]; then - echo -e "${RED}FATAL: system framework not found: ${targetDepDylib}${RST}" - exit 1 - fi - - # Change dependency rpath in $dylib to point to $targetDepDylib - replacementTargetPath=$targetDepDylib - else - # Handle other libraries - local targetDepDylib=$(joinPath "$frameworksDir" "$(basename $depDylib)") - - if [ ! -f "$targetDepDylib" ]; then - echo -e "${RED}FATAL: macdeployqt should have copied the dependency to ${targetDepDylib}${RST}" - exit 1 - fi - - # Change dependency rpath in $dylib to point to $replacementTargetPath - local replacementPath="" - local targetDepModuleDirPath=$(dirname $targetDepDylib) - if [[ $targetDepModuleDirPath -ef $moduleDirPath ]]; then - replacementPath="@loader_path" - else - replacementPath="@executable_path/$(realpath --relative-to="$exeDir" "$targetDepModuleDirPath")" - fi - local modulePathRegExp="($(pwd)/)?$moduleDirPath" - replacementTargetPath=$(echo $targetDepDylib | sed -E "s|$modulePathRegExp|$replacementPath|") - fi - - if [ -n "$replacementTargetPath" ]; then - [ $VERBOSE_LEVEL -ge 1 ] && echo "Updating $dylib to point to $replacementTargetPath" - install_name_tool -change "$depDylib" "$replacementTargetPath" "$dylib" - fi - done - } - - function fixupRemainingRPaths() { - local searchRootPath="$1" - local contentsDir="$2" - - for dylib in `find $searchRootPath -name *.dylib`; do - fixupRPathsInDylib "$dylib" "$contentsDir" - - # Sanity check for absolute paths - local dependencies=$(otool -L "$dylib" | grep -E "\s+${STATUS_REACT_HOME}") - if [ -n "$dependencies" ]; then - echo "Absolute path detected in dependencies of $dylib. Aborting..." - echo "${dependencies[@]}" - exit 1 - fi - done - } -fi - -function bundleMacOS() { - pushd $WORKFOLDER - # download prepared package with mac bundle files (it contains qt libraries, icon) - rm -rf Status.app - # TODO this needs to be fixed: status-react/issues/5378 - cp -r ${STATUSREACT_MACOS_BASEIMAGE_PATH}/Status.app . - chmod -R +w Status.app/ - - local contentsPath='Status.app/Contents' - local usrBinPath=$(joinExistingPath "$WORKFOLDER" "$contentsPath/MacOS") - - cp -r assets/share/assets $contentsPath/Resources - ln -sf ../Resources/assets ../Resources/ubuntu-server $usrBinPath - chmod +x $contentsPath/Resources/ubuntu-server - cp ../desktop/bin/Status $usrBinPath/Status - cp ../desktop/bin/reportApp $usrBinPath - cp ../.env $contentsPath/Resources - ln -sf ../Resources/.env $usrBinPath/.env - cp -f ../deployment/macos/qt-reportApp.conf $contentsPath/Resources - ln -sf ../Resources/qt-reportApp.conf $usrBinPath/qt.conf - cp -f ../deployment/macos/Info.plist $contentsPath - cp -f ../deployment/macos/status-icon.icns $contentsPath/Resources - - local qtbaseplugins=(bearer platforms printsupport styles) - local qtfullplugins=(iconengines imageformats webview) - if [ -n "$IN_NIX_SHELL" ]; then - # Since in the Nix qt.full package the different Qt modules are spread across several directories, - # macdeployqt cannot find some qtbase plugins, so we copy them in its place - mkdir -p "$contentsPath/PlugIns" - for plugin in ${qtbaseplugins[@]}; do copyQtPlugInToPackage "$QT_BASEBIN_PATH" "$plugin" "$contentsPath"; done - for plugin in ${qtfullplugins[@]}; do copyQtPlugInToPackage "$QT_PATH" "$plugin" "$contentsPath"; done - fi - - macdeployqt Status.app \ - -verbose=$VERBOSE_LEVEL \ - -executable="$(joinExistingPath "$usrBinPath" 'reportApp')" \ - -qmldir="$(joinExistingPath "$STATUS_REACT_HOME" 'node_modules/react-native')" \ - -qmldir="$(joinExistingPath "$STATUS_REACT_HOME" 'desktop/reportApp')" - - # macdeployqt doesn't fix rpaths for all the libraries (although it copies them all), so we'll just walk through them and update rpaths to not point to /nix - echo "Fixing remaining rpaths in modules..." - fixupRemainingRPaths "$contentsPath/Frameworks" "$contentsPath" - fixupRemainingRPaths "$contentsPath/PlugIns" "$contentsPath" - echo "Done fixing rpaths in modules" - rm -f Status.app.zip - popd - - echo -e "${GRN}Package ready in $WORKFOLDER/Status.app!${RST}" - echo "" -} - -function bundle() { - if [[ "$OS" =~ Darwin ]]; then - bundleMacOS - elif [[ "$OS" =~ Linux ]]; then - if is_windows_target; then - bundleWindows - else - bundleLinux - fi - fi -} - -init - -if [ -z "$@" ]; then - buildJSBundle - compile - bundle -else - "$@" -fi diff --git a/scripts/prepare-for-desktop-platform.sh b/scripts/prepare-for-desktop-platform.sh deleted file mode 100755 index 89d8d60bd5..0000000000 --- a/scripts/prepare-for-desktop-platform.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env bash - -# WARNING: Impure setup, should be minimized. -# TODO: Replace this with yarn2nix. - -set -e - -GIT_ROOT=$(cd "${BASH_SOURCE%/*}" && git rev-parse --show-toplevel) -source "${GIT_ROOT}/scripts/colors.sh" - -PLATFORM_FOLDER="desktop/js_files" - -if [ ! -f package.json ] || [ $(readlink package.json) != "${PLATFORM_FOLDER}/package.json" ]; then - rm -rf node_modules - - echo "Creating link: package.json -> ${PLATFORM_FOLDER}/package.json" - ln -sf ${PLATFORM_FOLDER}/package.json package.json - - echo "Creating link: yarn.lock -> ${PLATFORM_FOLDER}/yarn.lock" - ln -sf ${PLATFORM_FOLDER}/yarn.lock yarn.lock - - echo "Creating link: metro.config.js -> ${PLATFORM_FOLDER}/metro.config.js" - ln -sf ${PLATFORM_FOLDER}/metro.config.js metro.config.js -fi - -mkdir -p "$GIT_ROOT/node_modules/" -# Leverage flock (file lock) utility to create an exclusive lock on node_modules/ while running 'yarn install' -flock "$GIT_ROOT/node_modules/" yarn install --frozen-lockfile - -echo -e "${GRN}Finished!${RST}" diff --git a/scripts/sign-macos-pkg.sh b/scripts/sign-macos-pkg.sh deleted file mode 100755 index 95be1329da..0000000000 --- a/scripts/sign-macos-pkg.sh +++ /dev/null @@ -1,120 +0,0 @@ -#!/usr/bin/env bash - -DEV_ID="Developer ID Application: STATUS HOLDINGS PTE. LTD. (DTX7Z4U3YA)" - -OBJECT="$1" -GPG_ENCRYPTED_KEYCHAIN="$2" - -if [ `uname` != 'Darwin' ]; then - echo "This only works on macOS." - exit 1 -elif [ $# -ne 2 ]; then - echo "sign-macos-bundle.sh " - exit 1 -elif [ ! -e "$OBJECT" ]; then - echo "Object does not exist." - exit 1 -elif [ ! -f "$GPG_ENCRYPTED_KEYCHAIN" ]; then - echo "Encrypted keychain file does not exist." - exit 1 -fi - -# Required env variables: - -export GPG_PASS_OUTER -export GPG_PASS_INNER -export KEYCHAIN_PASS - -[ -z "$GPG_PASS_OUTER" ] && echo 'Missing env var: GPG_PASS_OUTER' && exit 1 -[ -z "$GPG_PASS_INNER" ] && echo 'Missing env var: GPG_PASS_INNER' && exit 1 -[ -z "$KEYCHAIN_PASS" ] && echo 'Missing env var: KEYCHAIN_PASS' && exit 1 - -# If GPG hasn't been run on this host before, we run it once -# quietly to make sure it creates the directories it needs first -# and doesn't trip when trying to do the decryption further down -script -q /dev/null gpg < /dev/null > /dev/null - -set -e - -echo -e "\n### Storing original keychain search list..." -ORIG_KEYCHAIN_LIST="$(security list-keychains \ - | grep -v "/Library/Keychains/System.keychain" \ - | grep -v "/private/var/folders" \ - | xargs)" - -echo -e "\n### Creating ramdisk..." -RAMDISK="$(hdiutil attach -nomount ram://20480 | tr -d '[:blank:]')" -MOUNTPOINT="$(mktemp -d)" -KEYCHAIN="${MOUNTPOINT}/macos-developer-id.keychain-db" - -function clean_up { - local STATUS=$? - - set +e - - if [ $STATUS -eq 0 ]; then - echo -e "\n###### DONE." - else - echo -e "\n###### ERROR. See above for details." - fi - - echo -e "\n###### Cleaning up..." - - echo -e "\n### Locking keychain..." - security lock-keychain "$KEYCHAIN" - - echo -e "\n### Restoring original keychain search list..." - security list-keychains -s $ORIG_KEYCHAIN_LIST - security list-keychains - - echo -e "\n### Delete keychain file..." - security delete-keychain "$KEYCHAIN" - - echo -e "\n### Destroying ramdisk..." - diskutil umount force "$RAMDISK" - diskutil eject "$RAMDISK" - - exit $STATUS -} - -trap clean_up ERR EXIT - -echo -e "\n### Formatting and mounting ramdisk..." -newfs_hfs "$RAMDISK" -mount -t hfs "$RAMDISK" "$MOUNTPOINT" - -echo -e "\n### Decrypting keychain to $KEYCHAIN ..." -gpg --batch --passphrase "$GPG_PASS_OUTER" --pinentry-mode loopback \ - --decrypt "$GPG_ENCRYPTED_KEYCHAIN" \ - | gpg --batch --passphrase "$GPG_PASS_INNER" --pinentry-mode loopback \ - --decrypt > "$KEYCHAIN" - -echo -e "\n### Adding code-signing keychain to search list..." -security list-keychains -s $ORIG_KEYCHAIN_LIST "$KEYCHAIN" -security list-keychains - -echo -e "\n### Unlocking keychain..." -security unlock-keychain -p "$KEYCHAIN_PASS" "$KEYCHAIN" - -echo -e "\n### Signing object..." - -# If `OBJECT` is a directory, we assume it's an app -# bundle, otherwise we consider it to be a dmg. -if [ -d "$OBJECT" ]; then - codesign --sign "$DEV_ID" --keychain "$KEYCHAIN" --options runtime --deep --force --verbose=4 "$OBJECT" -else - codesign --sign "$DEV_ID" --keychain "$KEYCHAIN" --options runtime --force --verbose=4 "$OBJECT" -fi - -echo -e "\n### Verifying signature..." -codesign --verify --strict=all --deep --verbose=4 "$OBJECT" - -echo -e "\n### Assessing Gatekeeper validation..." -if [ -d "$OBJECT" ]; then - spctl --assess --type execute --verbose=2 "$OBJECT" -else - echo "WARNING: The 'open' type security assesment is disabled due to lack of 'Notarization'" - # Issue: https://github.com/status-im/status-react/pull/9172 - # Details: https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution - #spctl --assess --type open --context context:primary-signature --verbose=2 "$OBJECT" -fi diff --git a/src/mocks/js_dependencies.cljs b/src/mocks/js_dependencies.cljs index 910249cde0..a0ad9e1486 100644 --- a/src/mocks/js_dependencies.cljs +++ b/src/mocks/js_dependencies.cljs @@ -70,9 +70,6 @@ (def webview #js {:WebView #js {}}) (def status-keycard #js {:default #js {}}) -(def desktop-linking #js {:addEventListener (fn [])}) -(def desktop-shortcuts #js {:addEventListener (fn [])}) - (def snoopy #js {:default #js {}}) (def snoopy-filter #js {:default #js {}}) (def snoopy-bars #js {:default #js {}}) @@ -87,10 +84,8 @@ (def keychain #js {:setGenericPassword (constantly (.resolve js/Promise true)) "ACCESSIBLE" {} "ACCESS_CONTROL" {}}) -(def desktop-menu #js {}) -(def desktop-config #js {}) + (def react-native-mail #js {:mail #js {}}) -(def react-native-navigation-twopane #js {}) (def react-native-screens #js {}) (def react-native-shake #js {}) (def net-info #js {}) diff --git a/src/status_im/chat/models.cljs b/src/status_im/chat/models.cljs index 38ed94bb92..d46996f467 100644 --- a/src/status_im/chat/models.cljs +++ b/src/status_im/chat/models.cljs @@ -10,13 +10,10 @@ [status-im.i18n :as i18n] [status-im.mailserver.core :as mailserver] [status-im.ui.components.colors :as colors] - [status-im.ui.components.react :as react] [status-im.navigation :as navigation] [status-im.utils.clocks :as utils.clocks] [status-im.utils.fx :as fx] - [status-im.utils.platform :as platform] [status-im.utils.utils :as utils] - [status-im.chat.models.message-seen :as message-seen] [status-im.chat.models.loading :as loading])) (defn- get-chat [cofx chat-id] @@ -234,8 +231,6 @@ ;; happens on membership changes (when-not (group-chat? cofx chat-id) (transport.filters/load-chat chat-id)) - (when platform/desktop? - (message-seen/mark-messages-seen chat-id)) (loading/load-messages)))) (fx/defn navigate-to-chat @@ -281,16 +276,6 @@ (i18n/label :cooldown/warning-message) #()))) -(defn set-dock-badge-label - "Sets dock badge label (OSX only for now). - Label must be a string. Pass nil or empty string to clear the label." - [label] - (.setDockBadgeLabel ^js react/desktop-notification label)) - -(re-frame/reg-fx - :set-dock-badge-label - set-dock-badge-label) - (fx/defn show-profile {:events [:chat.ui/show-profile]} [cofx identity] diff --git a/src/status_im/chat/models/message_seen.cljs b/src/status_im/chat/models/message_seen.cljs index 948dc50b1a..c318048196 100644 --- a/src/status_im/chat/models/message_seen.cljs +++ b/src/status_im/chat/models/message_seen.cljs @@ -1,31 +1,13 @@ (ns status-im.chat.models.message-seen (:require [status-im.utils.fx :as fx] - [status-im.data-store.messages :as messages-store] - [status-im.utils.platform :as platform])) - -(defn- unread-messages-number [chats] - (apply + (map :unviewed-messages-count chats))) - -(fx/defn update-dock-badge-label - [cofx] - (let [chats (get-in cofx [:db :chats]) - active-chats (filter :is-active (vals chats)) - private-chats (filter (complement :public?) active-chats) - public-chats (filter :public? active-chats) - private-chats-unread-count (unread-messages-number private-chats) - public-chats-unread-count (unread-messages-number public-chats) - label (cond - (pos? private-chats-unread-count) private-chats-unread-count - (pos? public-chats-unread-count) "•" - :else nil)] - {:set-dock-badge-label label})) + [status-im.data-store.messages :as messages-store])) (defn subtract-seen-messages [old-count new-seen-messages-ids] (max 0 (- old-count (count new-seen-messages-ids)))) (fx/defn update-chats-unviewed-messages-count - [{:keys [db] :as cofx} {:keys [chat-id loaded-unviewed-messages-ids]}] + [{:keys [db]} {:keys [chat-id _]}] (let [{:keys [loaded-unviewed-messages-ids unviewed-messages-count]} (get-in db [:chats chat-id])] {:db (update-in db [:chats chat-id] assoc @@ -46,6 +28,4 @@ db loaded-unviewed-ids)} (messages-store/mark-messages-seen chat-id loaded-unviewed-ids nil) - (update-chats-unviewed-messages-count {:chat-id chat-id}) - (when platform/desktop? - (update-dock-badge-label)))))) + (update-chats-unviewed-messages-count {:chat-id chat-id}))))) diff --git a/src/status_im/chat/models_test.cljs b/src/status_im/chat/models_test.cljs index cff1e9c497..8fde8b7aba 100644 --- a/src/status_im/chat/models_test.cljs +++ b/src/status_im/chat/models_test.cljs @@ -4,8 +4,7 @@ [status-im.utils.identicon :as identicon] [status-im.ethereum.json-rpc :as json-rpc] [status-im.utils.clocks :as utils.clocks] - [status-im.chat.models :as chat] - [status-im.chat.models.message-seen :as message-seen])) + [status-im.chat.models :as chat])) (deftest upsert-chat-test (testing "upserting a non existing chat" @@ -154,38 +153,3 @@ :loaded-unviewed-messages-ids #{"6" "5" "4"}} "opened" {:loaded-unviewed-messages-ids #{}} "1-1" {:loaded-unviewed-messages-ids #{"6" "5" "4"}}}}) - -(deftest update-dock-badge-label - (testing "When user has unseen private messages" - (is (= {:set-dock-badge-label 3} - (message-seen/update-dock-badge-label - {:db {:chats {"0x0" {:is-active true - :public? false - :unviewed-messages-count 3 - :loaded-unviewed-messages-ids #{1 2 3}} - "status" {:is-active true - :public? true - :unviewed-messages-count 2 - :loaded-unviewed-messages-ids #{1 2}}}}})))) - (testing "When user has unseen public messages and no unseen private messages" - (is (= {:set-dock-badge-label "•"} - (message-seen/update-dock-badge-label - {:db {:chats {"0x0" {:is-active true - :public? false - :unviewed-messages-count 0 - :loaded-unviewed-messages-ids #{}} - "status" {:is-active true - :public? true - :unviewed-messages-count 2 - :loaded-unviewed-messages-ids #{1 2}}}}})))) - (testing "When user has no unseen messages" - (is (= {:set-dock-badge-label nil} - (message-seen/update-dock-badge-label - {:db {:chats {"0x0" {:is-active true - :public? false - :unviewed-messages-count 0 - :loaded-unviewed-messages-ids #{}} - "status" {:is-active true - :public? true - :unviewed-messages-count 0 - :loaded-unviewed-messages-ids #{}}}}}))))) diff --git a/src/status_im/constants.cljs b/src/status_im/constants.cljs index 4c4885a774..bbe3382f9d 100644 --- a/src/status_im/constants.cljs +++ b/src/status_im/constants.cljs @@ -28,16 +28,9 @@ (def command-state-transaction-pending 6) (def command-state-transaction-sent 7) -(def desktop-content-types - #{content-type-text content-type-emoji content-type-status}) - (def min-password-length 6) (def max-group-chat-participants 10) (def default-number-of-messages 20) -(def blocks-per-hour 120) -(def one-earth-day 86400) -(def two-pane-min-width 640) -(def left-pane-min-width 320) (def mailserver-password "status-offline-inbox") @@ -194,9 +187,6 @@ :vnd {:id :vnd :code "VND" :display-name (i18n/label :t/currency-display-name-vnd) :symbol "₫"} :zar {:id :zar :code "ZAR" :display-name (i18n/label :t/currency-display-name-zar) :symbol "R"}}) -;; Used to generate topic for contact discoveries -(def contact-discovery "contact-discovery") - (def send-transaction-failed-parse-response 1) (def send-transaction-failed-parse-params 2) (def send-transaction-no-account-selected 3) @@ -208,24 +198,6 @@ (def web3-sign-typed-data "eth_signTypedData") (def web3-sign-typed-data-v3 "eth_signTypedData_v3") -(def web3-get-logs "eth_getLogs") -(def web3-transaction-receipt "eth_getTransactionReceipt") -(def web3-new-filter "eth_newFilter") -(def web3-new-pending-transaction-filter "eth_newPendingTransactionFilter") -(def web3-new-block-filter "eth_newBlockFilter") -(def web3-uninstall-filter "eth_uninstallFilter") -(def web3-get-filter-changes "eth_getFilterChanges") - -(def web3-shh-post "shh_post") -(def web3-shh-new-identity "shh_newIdentity") -(def web3-shh-has-identity "shh_hasIdentity") -(def web3-shh-new-group "shh_newGroup") -(def web3-shh-add-to-group "shh_addToGroup") -(def web3-shh-new-filter "shh_newFilter") -(def web3-shh-uninstall-filter "shh_uninstallFilter") -(def web3-shh-get-filter-changes "shh_getFilterChanges") -(def web3-shh-get-messages "shh_getMessages") - ;; Keycard ns (def web3-keycard-sign-typed-data "keycard_signTypedData") @@ -249,18 +221,11 @@ (def path-wallet-root-keyword (keyword path-wallet-root)) (def path-eip1581-keyword (keyword path-eip1581)) -;; (ethereum/sha3 "Transfer(address,address,uint256)") -(def event-transfer-hash "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef") - (def method-id-transfer "0xa9059cbb") (def method-id-approve "0x095ea7b3") (def method-id-approve-and-call "0xcae9ca51") (def regx-emoji #"^((?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC69\uDC6E\uDC70-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD18-\uDD1C\uDD1E\uDD1F\uDD26\uDD30-\uDD39\uDD3D\uDD3E\uDDD1-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])?|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDEEB\uDEEC\uDEF4-\uDEF8]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD4C\uDD50-\uDD6B\uDD80-\uDD97\uDDC0\uDDD0-\uDDE6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEF8]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD4C\uDD50-\uDD6B\uDD80-\uDD97\uDDC0\uDDD0-\uDDE6])\uFE0F|[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF])+$") -(def regx-rtl-characters #"[^\u0591-\u06EF\u06FA-\u07FF\u200F\u202B\u202E\uFB1D-\uFDFD\uFE70-\uFEFC]*?[\u0591-\u06EF\u06FA-\u07FF\u200F\u202B\u202E\uFB1D-\uFDFD\uFE70-\uFEFC]") -(def regx-url #"(?i)(?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9\-]+[.][a-z]{1,4}/?)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'\".,<>?«»“”‘’]){0,}") -(def regx-tag #"#[a-z0-9\-]+") -(def regx-mention #"@[a-z0-9\-]+") (def regx-bold #"\*[^*]+\*") (def regx-italic #"~[^~]+~") (def regx-backquote #"`[^`]+`") @@ -269,7 +234,6 @@ (def lines-collapse-threshold 20) (def chars-collapse-threshold 600) -(def desktop-msg-chars-hard-limit 10000) (def dapp-permission-contact-code "contact-code") (def dapp-permission-web3 "web3") @@ -277,15 +241,10 @@ (def api-response "api-response") (def api-request "api-request") (def history-state-changed "history-state-changed") -(def debug-metrics "debug_metrics") (def web3-send-async-read-only "web3-send-async-read-only") (def web3-send-async-callback "web3-send-async-callback") (def scan-qr-code "scan-qr-code") -;;ipfs -(def ipfs-proto-code "e3") -(def swarm-proto-code "e4") - (def faq "https://status.im/faq/") (def faq-keycard (str faq "#keycard")) (def keycard-integration-link "https://status.im/keycard-integration") diff --git a/src/status_im/db.cljs b/src/status_im/db.cljs index d5b85221c2..d120583db4 100644 --- a/src/status_im/db.cljs +++ b/src/status_im/db.cljs @@ -33,7 +33,6 @@ :chat/spam-messages-frequency 0 :tooltips {} :initial-props {} - :desktop/desktop {:tab-view-id :home} :dimensions/window (dimensions/window) :registry {} :stickers/packs-owned #{} @@ -43,5 +42,4 @@ :confirmation [] :current [] :puk [] - :enter-step :original}} - :two-pane-ui-enabled? (dimensions/fit-two-pane?)}) + :enter-step :original}}}) diff --git a/src/status_im/desktop/core.cljs b/src/status_im/desktop/core.cljs deleted file mode 100644 index 433d5e365f..0000000000 --- a/src/status_im/desktop/core.cljs +++ /dev/null @@ -1,44 +0,0 @@ -(ns status-im.desktop.core - (:require [reagent.core :as reagent] - [re-frame.core :as re-frame] - ["react-native" :as rn] - status-im.utils.db - status-im.subs - [status-im.ui.screens.views :as views] - [status-im.ui.components.react :as react] - [status-im.utils.snoopy :as snoopy] - [status-im.utils.error-handler :as error-handler] - [status-im.ui.screens.desktop.views :as desktop-views] - [status-im.desktop.deep-links :as deep-links] - [status-im.utils.config :as config])) - -(def app-registry (.-AppRegistry rn)) - -(defn app-state-change-handler [state] - (re-frame/dispatch [:app-state-change state])) - -(defn app-root [_] - (if config/mobile-ui-for-desktop? - (reagent/create-class - {:component-did-mount - (fn [this] - (.addEventListener ^js react/app-state "change" app-state-change-handler) - (re-frame/dispatch [:set-initial-props (reagent/props this)])) - :component-will-unmount - (fn [] - (.removeEventListener ^js react/app-state "change" app-state-change-handler)) - :display-name "root" - :reagent-render views/main}) - (reagent/create-class - {:component-did-mount (fn [this] - (re-frame/dispatch [:set-initial-props (reagent/props this)]) - ;(shortcuts/register-default-shortcuts) - (deep-links/add-event-listener)) - :reagent-render (fn [_] - desktop-views/main)}))) - -(defn init [] - (error-handler/register-exception-handler!) - (re-frame/dispatch-sync [:init/app-started]) - (.registerComponent ^js app-registry "StatusIm" #(reagent/reactify-component app-root)) - (snoopy/subscribe!)) diff --git a/src/status_im/desktop/deep_links.cljs b/src/status_im/desktop/deep_links.cljs deleted file mode 100644 index e0158fd211..0000000000 --- a/src/status_im/desktop/deep_links.cljs +++ /dev/null @@ -1,15 +0,0 @@ -(ns status-im.desktop.deep-links - (:require [re-frame.core :as re-frame] - [status-im.react-native.js-dependencies :as js-dependencies] - [taoensso.timbre :as log] - ["react-native" :refer (NativeEventEmitter)])) - -(defn add-event-listener [] - (let [^js event-emitter (new NativeEventEmitter - js-dependencies/desktop-linking)] - (.addListener event-emitter - "urlOpened" - (fn [data] - (log/debug "urlOpened event with data:" data) - (let [url (get (js->clj data) "url")] - (re-frame/dispatch [:handle-universal-link url])))))) diff --git a/src/status_im/desktop/platform.cljs b/src/status_im/desktop/platform.cljs deleted file mode 100644 index cb4050472f..0000000000 --- a/src/status_im/desktop/platform.cljs +++ /dev/null @@ -1,6 +0,0 @@ -(ns status-im.desktop.platform) - -;; Structure to be exported - -(def platform-specific - {:status-bar-default-height 25}) diff --git a/src/status_im/events.cljs b/src/status_im/events.cljs index 9e965638c0..010f516cca 100644 --- a/src/status_im/events.cljs +++ b/src/status_im/events.cljs @@ -111,11 +111,6 @@ :on-accept open-chaos-unicorn-day-link}}) (multiaccounts/switch-chaos-mode chaos-mode?))))) -(handlers/register-handler-fx - :multiaccounts.ui/notifications-enabled - (fn [cofx [_ desktop-notifications?]] - (multiaccounts/enable-notifications cofx desktop-notifications?))) - (handlers/register-handler-fx :multiaccounts.ui/preview-privacy-mode-switched (fn [cofx [_ private?]] @@ -334,19 +329,6 @@ (fn [cofx [_ log-level]] (log-level/show-change-log-level-confirmation cofx log-level))) -(handlers/register-handler-fx - :log-level.ui/logging-enabled - (fn [cofx [_ enabled]] - (log/debug "### :log-level.ui/logging-enabled" enabled) - - (log-level/show-logging-enabled-confirmation cofx enabled))) - -(handlers/register-handler-fx - :log-level.ui/logging-enabled-confirmed - (fn [_ [_ _]] - ;;FIXME desktop only - #_(log-level/save-logging-enabled cofx enabled))) - ;; Browser bridge module (handlers/register-handler-fx @@ -1288,11 +1270,6 @@ (fn [{:keys [db]} [_ dimensions]] {:db (assoc db :dimensions/window (dimensions/window dimensions))})) -(handlers/register-handler-fx - :set-two-pane-ui-enabled - (fn [{:keys [db]} [_ enabled?]] - {:db (assoc db :two-pane-ui-enabled? enabled?)})) - ;; NOTE: Will be removed with the keycard PR (handlers/register-handler-fx :screens/on-will-focus diff --git a/src/status_im/i18n_test.cljs b/src/status_im/i18n_test.cljs index 5d17a2885b..4dfa77a07e 100644 --- a/src/status_im/i18n_test.cljs +++ b/src/status_im/i18n_test.cljs @@ -320,7 +320,6 @@ :delete-network-title :deny :description - :desktop-alpha-release-warning :dev-mode :dev-mode-settings :device-syncing @@ -933,7 +932,6 @@ :url :usd-currency :use-valid-contact-code - :use-valid-contact-code-desktop :validation-amount-invalid-number :validation-amount-is-too-precise :version diff --git a/src/status_im/init/core.cljs b/src/status_im/init/core.cljs index 53c627b34a..e9a5538d24 100644 --- a/src/status_im/init/core.cljs +++ b/src/status_im/init/core.cljs @@ -12,12 +12,10 @@ (fx/defn initialize-app-db "Initialize db to initial state" [{{:keys [hardwallet initial-props supported-biometric-auth app-active-since] - :desktop/keys [desktop] :network/keys [type]} :db now :now}] {:db (assoc app-db :initial-props initial-props - :desktop/desktop (merge desktop (:desktop/desktop app-db)) :network/type type :hardwallet (dissoc hardwallet :secrets) :supported-biometric-auth supported-biometric-auth diff --git a/src/status_im/log_level/core.cljs b/src/status_im/log_level/core.cljs index f105c6bb7d..d35b97f8b3 100644 --- a/src/status_im/log_level/core.cljs +++ b/src/status_im/log_level/core.cljs @@ -26,24 +26,3 @@ :on-accept #(re-frame/dispatch [:log-level.ui/change-log-level-confirmed value]) :on-cancel nil}}) - -(fx/defn show-logging-enabled-confirmation - [{:keys [db]} enabled] - {:ui/show-confirmation {:title (i18n/label :t/close-app-title) - :content (i18n/label :t/change-logging-enabled - {:enable (i18n/label (if enabled - :enable :disable))}) - :confirm-button-text (i18n/label :t/close-app-button) - :on-accept #(re-frame/dispatch [:log-level.ui/logging-enabled-confirmed enabled]) - :on-cancel nil}}) - -;;FIXME ignored until desktop is fixed -#_(fx/defn save-logging-enabled - [{:keys [db] :as cofx} enabled] - (.setValue rn-dependencies/desktop-config "logging_enabled" enabled) - (fx/merge - cofx - {:db (assoc-in db [:desktop/desktop :logging-enabled] enabled)} - (multiaccounts.update/multiaccount-update - {:log-level (when enabled "INFO")} - {:success-event [:multiaccounts.update.callback/save-settings-success]}))) diff --git a/src/status_im/mailserver/core.cljs b/src/status_im/mailserver/core.cljs index 80787b1f95..726d4377d8 100644 --- a/src/status_im/mailserver/core.cljs +++ b/src/status_im/mailserver/core.cljs @@ -20,7 +20,6 @@ [status-im.utils.config :as config] [status-im.utils.fx :as fx] [status-im.utils.handlers :as handlers] - [status-im.utils.platform :as platform] [status-im.utils.random :as rand] [status-im.utils.utils :as utils] [status-im.waku.core :as waku] @@ -510,9 +509,7 @@ :content (i18n/label :t/mailserver-error-content) :confirm-button-text (i18n/label :t/mailserver-pick-another) :on-accept #(re-frame/dispatch - [:navigate-to (if platform/desktop? - :advanced-settings - :offline-messaging-settings)]) + [:navigate-to :offline-messaging-settings]) :extra-options [{:text (i18n/label :t/mailserver-retry) :onPress #(re-frame/dispatch [:mailserver.ui/connect-confirmed diff --git a/src/status_im/multiaccounts/core.cljs b/src/status_im/multiaccounts/core.cljs index a499c92152..e31151df07 100644 --- a/src/status_im/multiaccounts/core.cljs +++ b/src/status_im/multiaccounts/core.cljs @@ -74,12 +74,6 @@ :chaos-mode? (boolean chaos-mode?) {})))) -(fx/defn enable-notifications [cofx desktop-notifications?] - (multiaccounts.update/multiaccount-update - cofx - :desktop-notifications? desktop-notifications? - {})) - (fx/defn switch-preview-privacy-mode [{:keys [db] :as cofx} private?] (fx/merge cofx diff --git a/src/status_im/multiaccounts/login/core.cljs b/src/status_im/multiaccounts/login/core.cljs index 4d30b52c87..c3166f19bd 100644 --- a/src/status_im/multiaccounts/login/core.cljs +++ b/src/status_im/multiaccounts/login/core.cljs @@ -1,7 +1,6 @@ (ns status-im.multiaccounts.login.core (:require [re-frame.core :as re-frame] [status-im.chat.models.loading :as chat.loading] - [status-im.chat.models.message-seen :as message-seen] [status-im.contact.core :as contact] [status-im.data-store.settings :as data-store.settings] [status-im.ethereum.core :as ethereum] @@ -13,7 +12,6 @@ [status-im.multiaccounts.biometric.core :as biometric] [status-im.multiaccounts.core :as multiaccounts] [status-im.native-module.core :as status] - [status-im.node.core :as node] [status-im.notifications.core :as notifications] [status-im.popover.core :as popover] [status-im.protocol.core :as protocol] @@ -32,12 +30,6 @@ [status-im.wallet.prices :as prices] [taoensso.timbre :as log])) -(defn fetch-nodes [_ resolve _] - (let [default-nodes (-> (node/fleets {}) - (get-in [:eth.staging :mail]) - vals)] - (resolve default-nodes))) - (re-frame/reg-fx ::login (fn [[account-data hashed-password]] @@ -124,7 +116,7 @@ {:ui/close-application nil}) (fx/defn check-network-version - [cofx network-id] + [_ network-id] {::json-rpc/call [{:method "net_version" :on-success @@ -167,7 +159,7 @@ (fx/defn get-settings-callback {:events [::get-settings-callback]} [{:keys [db] :as cofx} settings] - (let [{:keys [address notifications-enabled?] + (let [{:keys [notifications-enabled?] :networks/keys [current-network networks] :as settings} (data-store.settings/rpc->settings settings) @@ -178,15 +170,14 @@ (dissoc :multiaccounts/login) (assoc :networks/current-network current-network :networks/networks networks - :multiaccount multiaccount))} - (and platform/android? - notifications-enabled?) - (assoc ::notifications/enable nil) - (not platform/desktop?) - (assoc ::initialize-wallet + :multiaccount multiaccount)) + ::initialize-wallet (fn [accounts custom-tokens] (re-frame/dispatch [::initialize-wallet - accounts custom-tokens])))) + accounts custom-tokens]))} + (and platform/android? + notifications-enabled?) + (assoc ::notifications/enable nil)) (initialize-appearance) ;; NOTE: initializing mailserver depends on user mailserver ;; preference which is why we wait for config callback @@ -231,9 +222,7 @@ :on-success #(re-frame/dispatch [::get-settings-callback %])}]} (when save-password? (keychain/save-user-password key-uid password)) - (keychain/save-auth-method key-uid (or new-auth-method auth-method)) - (when platform/desktop? - (message-seen/update-dock-badge-label))))) + (keychain/save-auth-method key-uid (or new-auth-method auth-method))))) (fx/defn create-only-events [{:keys [db] :as cofx}] @@ -258,8 +247,7 @@ :default-mailserver true}) (multiaccounts/switch-preview-privacy-mode-flag) (logging/set-log-level (:log-level multiaccount)) - (when-not platform/desktop? - (initialize-wallet accounts nil))))) + (initialize-wallet accounts nil)))) (defn- keycard-setup? [cofx] (boolean (get-in cofx [:db :hardwallet :flow]))) diff --git a/src/status_im/multiaccounts/login/data_test.cljs b/src/status_im/multiaccounts/login/data_test.cljs index 3b68d0abd9..504c8dda75 100644 --- a/src/status_im/multiaccounts/login/data_test.cljs +++ b/src/status_im/multiaccounts/login/data_test.cljs @@ -79,8 +79,7 @@ :deleted-at-clock-value nil}]) (def multiaccount - {:desktop-alpha-release-warning-shown? false - :last-updated 0 + {:last-updated 0 :address "7540c34d6c4082391f12468580a9a4e0724c6755" :mnemonic "tumble gorilla neglect dumb budget involve tennis ocean diary eagle lady ring" :custom-bootnodes {} @@ -88,7 +87,6 @@ :signed-up? true :name "name" :last-request nil - :desktop-notifications? false :wallet/visible-tokens {:testnet #{:STT :HND} :mainnet #{:SNT} diff --git a/src/status_im/native_module/core.cljs b/src/status_im/native_module/core.cljs index 8ad515f811..031881d263 100644 --- a/src/status_im/native_module/core.cljs +++ b/src/status_im/native_module/core.cljs @@ -299,11 +299,6 @@ platform/ios? (callback false) - ;; we assume that Desktop is unsafe by default - ;; (theoretically, Desktop is always "rooted", by design - platform/desktop? - (callback true) - ;; we check root on android platform/android? (if (status) diff --git a/src/status_im/subs.cljs b/src/status_im/subs.cljs index 86ceceae3c..6ee959e077 100644 --- a/src/status_im/subs.cljs +++ b/src/status_im/subs.cljs @@ -52,7 +52,6 @@ ;;view (reg-root-key-sub :view-id :view-id) (reg-root-key-sub :screen-params :navigation/screen-params) -(reg-root-key-sub :two-pane-ui-enabled? :two-pane-ui-enabled?) ;;bottom sheet (reg-root-key-sub :bottom-sheet/show? :bottom-sheet/show?) @@ -68,8 +67,6 @@ (reg-root-key-sub :dimensions/window :dimensions/window) (reg-root-key-sub :initial-props :initial-props) (reg-root-key-sub :fleets/custom-fleets :custom-fleets) -(reg-root-key-sub :desktop/desktop :desktop/desktop) -(reg-root-key-sub :desktop :desktop) (reg-root-key-sub :animations :animations) (reg-root-key-sub :ui/search :ui/search) (reg-root-key-sub :web3-node-version :web3-node-version) @@ -200,12 +197,6 @@ (fn [db] (multiaccounts.model/logged-in? {:db db}))) -(re-frame/reg-sub - :connection-stats - :<- [:desktop/desktop] - (fn [desktop _] - (get desktop :debug-metrics))) - ;; Intro wizard (re-frame/reg-sub :intro-wizard @@ -279,13 +270,6 @@ (fn [[intro-wizard multiaccounts]] (recover/existing-account? (:root-key intro-wizard) multiaccounts))) -;;FIXME not needed until desktop enabled -#_(re-frame/reg-sub - :settings/logging-enabled - :<- [:desktop/desktop] - (fn [desktop _] - (get desktop :logging-enabled false))) - (re-frame/reg-sub :current-network :<- [:networks/networks] @@ -392,7 +376,7 @@ (or web3-node-version "N/A")) (def app-short-version - (let [version (if platform/desktop? build/version build/build-no)] + (let [version build/build-no] (str build/version " (" version ")"))) (re-frame/reg-sub diff --git a/src/status_im/ui/components/chat_icon/screen.cljs b/src/status_im/ui/components/chat_icon/screen.cljs index 9961d2fbf5..f9333bf869 100644 --- a/src/status_im/ui/components/chat_icon/screen.cljs +++ b/src/status_im/ui/components/chat_icon/screen.cljs @@ -5,8 +5,7 @@ [status-im.ui.components.chat-icon.styles :as styles] [status-im.ui.components.colors :as colors] [status-im.ui.components.react :as react] - [status-im.ui.screens.chat.photos :as photos] - [status-im.utils.platform :as platform])) + [status-im.ui.screens.chat.photos :as photos])) ;;TODO REWORK THIS NAMESPACE @@ -126,9 +125,9 @@ :default-chat-icon (styles/default-chat-icon-profile color size) :default-chat-icon-text (styles/default-chat-icon-text size)} override-styles)] [react/view (:container styles) - (when (and edit? (not platform/desktop?)) + (when edit? [react/view (styles/profile-icon-mask size)]) - (when (and edit? (not platform/desktop?)) + (when edit? [react/view (styles/profile-icon-edit-text-containter size) [react/i18n-text {:style styles/profile-icon-edit-text :key :edit}]]) (if (and photo-path (seq photo-path)) diff --git a/src/status_im/ui/components/connectivity/view.cljs b/src/status_im/ui/components/connectivity/view.cljs index 54658322bc..4db305ab77 100644 --- a/src/status_im/ui/components/connectivity/view.cljs +++ b/src/status_im/ui/components/connectivity/view.cljs @@ -7,7 +7,6 @@ [status-im.ui.components.connectivity.styles :as styles] [status-im.ui.components.react :as react] [status-im.utils.datetime :as datetime] - [status-im.utils.platform :as platform] [status-im.utils.utils :as utils] [taoensso.timbre :as log]) (:require-macros @@ -93,7 +92,7 @@ all connectivity views (we have at least one view in home and one in chat)" :easing (.-ease ^js animation/easing) :useNativeDriver true}) (animation/timing anim-y - {:toValue (if platform/desktop? 0 neg-connectivity-bar-height) + {:toValue neg-connectivity-bar-height :delay 800 :duration 150 :easing (.-ease ^js animation/easing) @@ -102,7 +101,7 @@ all connectivity views (we have at least one view in home and one in chat)" #(do (reset! to-hide? false) (reset! status-hidden true)))) (do (animation/set-value anim-opacity 0) - (animation/set-value anim-y (if platform/desktop? 0 neg-connectivity-bar-height)) + (animation/set-value anim-y neg-connectivity-bar-height) (reset! to-hide? false) (reset! status-hidden true))) ;; else @@ -116,7 +115,7 @@ all connectivity views (we have at least one view in home and one in chat)" :easing (.-ease ^js animation/easing) :useNativeDriver true}) (animation/timing anim-y - {:toValue (if platform/desktop? connectivity-bar-height 0) + {:toValue 0 :duration 150 :easing (.-ease ^js animation/easing) :useNativeDriver true})]) @@ -124,7 +123,7 @@ all connectivity views (we have at least one view in home and one in chat)" #(do (reset! to-hide? true) (reset! status-hidden false)))) (do (animation/set-value anim-opacity 1) - (animation/set-value anim-y (if platform/desktop? connectivity-bar-height 0)) + (animation/set-value anim-y 0) (reset! to-hide? true) (reset! status-hidden false)))))) diff --git a/src/status_im/ui/components/icons/vector_icons.cljs b/src/status_im/ui/components/icons/vector_icons.cljs index a14894f122..35e8730ed4 100644 --- a/src/status_im/ui/components/icons/vector_icons.cljs +++ b/src/status_im/ui/components/icons/vector_icons.cljs @@ -1,9 +1,7 @@ (ns status-im.ui.components.icons.vector-icons (:require [status-im.ui.components.react :as react] [status-im.ui.components.colors :as colors] - [status-im.utils.platform :as platform] - [status-im.ui.components.icons.icons :as icons] - [clojure.string :as string]) + [status-im.ui.components.icons.icons :as icons]) (:refer-clojure :exclude [use])) (defn- match-color [color] @@ -24,9 +22,7 @@ colors/black)) (defn icon-source [name] - (if platform/desktop? - {:uri (keyword (string/replace (clojure.core/name name) "-" "_"))} - (icons/icon-source name))) + (icons/icon-source name)) (defn icon ([name] (icon name nil)) diff --git a/src/status_im/ui/components/react.cljs b/src/status_im/ui/components/react.cljs index 4ad2104cf7..a7af7b6dee 100644 --- a/src/status_im/ui/components/react.cljs +++ b/src/status_im/ui/components/react.cljs @@ -82,7 +82,6 @@ (def keyboard (.-Keyboard react-native)) (def dismiss-keyboard! #(.dismiss ^js Keyboard)) (def linking (.-Linking react-native)) -(def desktop-notification (.-DesktopNotification ^js (.-NativeModules react-native))) (def max-font-size-multiplier 1.25) diff --git a/src/status_im/ui/components/tabbar/core.cljs b/src/status_im/ui/components/tabbar/core.cljs index a46104325e..60bfd53492 100644 --- a/src/status_im/ui/components/tabbar/core.cljs +++ b/src/status_im/ui/components/tabbar/core.cljs @@ -45,16 +45,14 @@ :icon :main-icons/message} :count-subscription :chats/unread-messages-number :accessibility-label :home-tab-button} - (when-not platform/desktop? - {:nav-stack :browser-stack - :content {:title (i18n/label :t/browser) - :icon :main-icons/browser} - :accessibility-label :dapp-tab-button}) - (when-not platform/desktop? - {:nav-stack :wallet-stack - :content {:title (i18n/label :t/wallet) - :icon :main-icons/wallet} - :accessibility-label :wallet-tab-button}) + {:nav-stack :browser-stack + :content {:title (i18n/label :t/browser) + :icon :main-icons/browser} + :accessibility-label :dapp-tab-button} + {:nav-stack :wallet-stack + :content {:title (i18n/label :t/wallet) + :icon :main-icons/wallet} + :accessibility-label :wallet-tab-button} {:nav-stack :profile-stack :content {:title (i18n/label :t/profile) :icon :main-icons/user-profile} @@ -87,10 +85,9 @@ [react/view {:style (tabs.styles/counter-public-container)} [react/view {:style tabs.styles/counter-public :accessibility-label :public-unread-badge}]]))] - (when-not platform/desktop? - [react/view {:style tabs.styles/tab-title-container} - [react/text {:style (tabs.styles/tab-title active?)} - label]])]]]))) + [react/view {:style tabs.styles/tab-title-container} + [react/text {:style (tabs.styles/tab-title active?)} + label]]]]]))) (defn tabs [] (let [listeners (atom []) diff --git a/src/status_im/ui/components/tabbar/styles.cljs b/src/status_im/ui/components/tabbar/styles.cljs index 9e9d4c7f2f..ada66b9dfb 100644 --- a/src/status_im/ui/components/tabbar/styles.cljs +++ b/src/status_im/ui/components/tabbar/styles.cljs @@ -6,8 +6,7 @@ (def tabs-height (cond platform/android? 52 - platform/ios? 52 - platform/desktop? 36)) + platform/ios? 52)) (def minimized-tabs-height 36) diff --git a/src/status_im/ui/components/typography.cljs b/src/status_im/ui/components/typography.cljs index 04088b08f3..55f9660dec 100644 --- a/src/status_im/ui/components/typography.cljs +++ b/src/status_im/ui/components/typography.cljs @@ -35,22 +35,20 @@ (get typography-styles typography) (dissoc style :typography :nested?))] - (if platform/desktop? - (assoc style :font-family default-font-family) - (-> style - (assoc :font-family - (if (= (:font-family style) "monospace") - (if platform/ios? "Menlo-Regular" "monospace") - (str default-font-family "-" - (case font-weight - "400" (when-not (= font-style :italic) - "Regular") - "500" "Medium" - "600" "SemiBold" - "700" "Bold") - (when (= font-style :italic) - "Italic")))) - (dissoc :font-weight :font-style))))) + (-> style + (assoc :font-family + (if (= (:font-family style) "monospace") + (if platform/ios? "Menlo-Regular" "monospace") + (str default-font-family "-" + (case font-weight + "400" (when-not (= font-style :italic) + "Regular") + "500" "Medium" + "600" "SemiBold" + "700" "Bold") + (when (= font-style :italic) + "Italic")))) + (dissoc :font-weight :font-style)))) (defn get-nested-style [{:keys [typography] :as style}] @@ -59,17 +57,15 @@ (merge (get typography-styles typography) (dissoc style :typography))] - (if platform/desktop? - style - (cond-> (dissoc style :font-weight :font-style) - (or font-weight font-style) - (assoc :font-family - (str default-font-family "-" - (case font-weight - "500" "Medium" - "600" "SemiBold" - "700" "Bold" - (when-not (= font-style :italic) - "Regular")) - (when (= font-style :italic) - "Italic"))))))) + (cond-> (dissoc style :font-weight :font-style) + (or font-weight font-style) + (assoc :font-family + (str default-font-family "-" + (case font-weight + "500" "Medium" + "600" "SemiBold" + "700" "Bold" + (when-not (= font-style :italic) + "Regular")) + (when (= font-style :italic) + "Italic")))))) diff --git a/src/status_im/ui/screens/browser/open_dapp/styles.cljs b/src/status_im/ui/screens/browser/open_dapp/styles.cljs index 8014b06e7c..4207f31547 100644 --- a/src/status_im/ui/screens/browser/open_dapp/styles.cljs +++ b/src/status_im/ui/screens/browser/open_dapp/styles.cljs @@ -11,8 +11,6 @@ :margin-top 24 :height 36 :padding-horizontal 14 - :desktop {:height 30 - :width "100%"} :android {:padding 0}}) (defn browser-icon-container [] diff --git a/src/status_im/ui/screens/chat/extensions/views.cljs b/src/status_im/ui/screens/chat/extensions/views.cljs index 3c76d123e4..8af20ab4c5 100644 --- a/src/status_im/ui/screens/chat/extensions/views.cljs +++ b/src/status_im/ui/screens/chat/extensions/views.cljs @@ -2,7 +2,6 @@ (:require-macros [status-im.utils.views :as views]) (:require [status-im.ui.components.react :as react] [re-frame.core :as re-frame] - [status-im.utils.platform :as platform] [status-im.ui.components.colors :as colors] [status-im.ui.components.icons.vector-icons :as icons] [status-im.ui.components.animation :as anim] @@ -13,7 +12,7 @@ [quo/button {:on-press (fn [_] (re-frame/dispatch [:chat.ui/set-chat-ui-props {:input-bottom-sheet (when-not showing? :extensions)}]) - (when-not platform/desktop? (js/setTimeout #(react/dismiss-keyboard!) 100))) + (js/setTimeout #(react/dismiss-keyboard!) 100)) :accessibility-label :show-extensions-icon :type :icon :theme (if showing? :main :disabled)} diff --git a/src/status_im/ui/screens/chat/image/views.cljs b/src/status_im/ui/screens/chat/image/views.cljs index 4fbf587f4a..346f15ff27 100644 --- a/src/status_im/ui/screens/chat/image/views.cljs +++ b/src/status_im/ui/screens/chat/image/views.cljs @@ -1,7 +1,6 @@ (ns status-im.ui.screens.chat.image.views (:require-macros [status-im.utils.views :refer [defview letsubs]]) (:require [status-im.ui.components.react :as react] - [status-im.utils.platform :as platform] [re-frame.core :as re-frame] [quo.core :as quo] [status-im.ui.components.colors :as colors] @@ -22,7 +21,7 @@ {:on-press (fn [_] (re-frame/dispatch [:chat.ui/set-chat-ui-props {:input-bottom-sheet (when-not images-showing? :images)}]) - (when-not platform/desktop? (js/setTimeout #(react/dismiss-keyboard!) 100))) + (js/setTimeout #(react/dismiss-keyboard!) 100)) :accessibility-label :show-photo-icon :type :icon :theme (if images-showing? :main :disabled)} diff --git a/src/status_im/ui/screens/chat/message/gap.cljs b/src/status_im/ui/screens/chat/message/gap.cljs index d5aa38809c..3cea2a7b44 100644 --- a/src/status_im/ui/screens/chat/message/gap.cljs +++ b/src/status_im/ui/screens/chat/message/gap.cljs @@ -4,13 +4,12 @@ [re-frame.core :as re-frame] [status-im.i18n :as i18n] [status-im.utils.datetime :as datetime] - [status-im.ui.screens.chat.styles.input.gap :as style] - [status-im.utils.platform :as platform])) + [status-im.ui.screens.chat.styles.input.gap :as style])) (defn on-press [ids first-gap? idx list-ref] (fn [] - (when (and list-ref @list-ref (not platform/desktop?)) + (when (and list-ref @list-ref) (.scrollToIndex ^js @list-ref #js {:index (max 0 (dec idx)) :viewOffset 20 diff --git a/src/status_im/ui/screens/chat/message/message.cljs b/src/status_im/ui/screens/chat/message/message.cljs index 129f6acd18..85c9a4d70f 100644 --- a/src/status_im/ui/screens/chat/message/message.cljs +++ b/src/status_im/ui/screens/chat/message/message.cljs @@ -11,8 +11,6 @@ [status-im.ui.screens.chat.styles.message.message :as style] [status-im.ui.screens.chat.utils :as chat.utils] [status-im.utils.contenthash :as contenthash] - [status-im.utils.http :as http] - [status-im.utils.platform :as platform] [status-im.utils.security :as security] [reagent.core :as reagent]) (:require-macros [status-im.utils.views :refer [defview letsubs]])) @@ -82,10 +80,8 @@ :on-press #(when (and (security/safe-link? destination) (security/safe-link-text? message-text)) - (if platform/desktop? - (.openURL ^js react/linking (http/normalize-url destination)) - (re-frame/dispatch - [:browser.ui/message-link-pressed destination])))} + (re-frame/dispatch + [:browser.ui/message-link-pressed destination]))} destination]) "mention" @@ -214,9 +210,7 @@ (react/dismiss-keyboard!))} [react/view style/not-sent-view [react/text {:style style/not-sent-text} - (i18n/label (if platform/desktop? - :t/status-not-sent-click - :t/status-not-sent-tap))] + (i18n/label :t/status-not-sent-tap)] [react/view style/not-sent-icon [vector-icons/icon :main-icons/warning {:color colors/red}]]]]) diff --git a/src/status_im/ui/screens/chat/sheets.cljs b/src/status_im/ui/screens/chat/sheets.cljs index 43702a7cc7..82cd69fb4c 100644 --- a/src/status_im/ui/screens/chat/sheets.cljs +++ b/src/status_im/ui/screens/chat/sheets.cljs @@ -6,7 +6,6 @@ [status-im.utils.universal-links.core :as universal-links] [status-im.ui.components.chat-icon.screen :as chat-icon] [status-im.multiaccounts.core :as multiaccounts] - [status-im.utils.platform :as platform] [status-im.ui.screens.chat.styles.message.sheets :as sheets.styles] [quo.core :as quo])) @@ -55,18 +54,17 @@ (let [link (universal-links/generate-link :public-chat :external chat-id) message (i18n/label :t/share-public-chat-text {:link link})] [react/view - (when-not platform/desktop? - [quo/list-item - {:theme :accent - :title (i18n/label :t/share-chat) - :accessibility-label :share-chat-button - :icon :main-icons/share - :on-press (fn [] - (re-frame/dispatch [:bottom-sheet/hide]) - ;; https://github.com/facebook/react-native/pull/26839 - (js/setTimeout - #(list-selection/open-share {:message message}) - 250))}]) + [quo/list-item + {:theme :accent + :title (i18n/label :t/share-chat) + :accessibility-label :share-chat-button + :icon :main-icons/share + :on-press (fn [] + (re-frame/dispatch [:bottom-sheet/hide]) + ;; https://github.com/facebook/react-native/pull/26839 + (js/setTimeout + #(list-selection/open-share {:message message}) + 250))}] [quo/list-item {:theme :accent :title (i18n/label :t/mark-all-read) @@ -180,17 +178,16 @@ :on-press (fn [] (re-frame/dispatch [:bottom-sheet/hide]) (react/copy-to-clipboard (:text content)))}] - (when-not platform/desktop? - [quo/list-item - {:theme :accent - :title (i18n/label :t/sharing-share) - :icon :main-icons/share - :on-press (fn [] - (re-frame/dispatch [:bottom-sheet/hide]) - ;; https://github.com/facebook/react-native/pull/26839 - (js/setTimeout - #(list-selection/open-share {:message (:text content)}) - 250))}])]))) + [quo/list-item + {:theme :accent + :title (i18n/label :t/sharing-share) + :icon :main-icons/share + :on-press (fn [] + (re-frame/dispatch [:bottom-sheet/hide]) + ;; https://github.com/facebook/react-native/pull/26839 + (js/setTimeout + #(list-selection/open-share {:message (:text content)}) + 250))}]]))) (defn sticker-long-press [{:keys [from]}] (fn [] diff --git a/src/status_im/ui/screens/chat/stickers/views.cljs b/src/status_im/ui/screens/chat/stickers/views.cljs index 963cad18f5..1ddc9bc8bd 100644 --- a/src/status_im/ui/screens/chat/stickers/views.cljs +++ b/src/status_im/ui/screens/chat/stickers/views.cljs @@ -11,7 +11,6 @@ [status-im.ui.screens.chat.stickers.styles :as styles] [status-im.ui.components.animation :as anim] [status-im.utils.contenthash :as contenthash] - [status-im.utils.platform :as platform] [status-im.utils.debounce :as debounce])) (def icon-size 28) @@ -25,7 +24,7 @@ [quo/button {:on-press (fn [_] (re-frame/dispatch [:chat.ui/set-chat-ui-props {:input-bottom-sheet (when-not stickers-showing? :stickers)}]) - (when-not platform/desktop? (js/setTimeout #(react/dismiss-keyboard!) 100))) + (js/setTimeout #(react/dismiss-keyboard!) 100)) :accessibility-label :show-stickers-icon :type :icon :theme (if stickers-showing? :main :disabled)} diff --git a/src/status_im/ui/screens/chat/styles/message/message.cljs b/src/status_im/ui/screens/chat/styles/message/message.cljs index d717d138ed..c36866d7e7 100644 --- a/src/status_im/ui/screens/chat/styles/message/message.cljs +++ b/src/status_im/ui/screens/chat/styles/message/message.cljs @@ -78,9 +78,9 @@ (defn delivery-status [outgoing] (if outgoing {:align-self :flex-end - :padding-right (if platform/desktop? 24 8)} + :padding-right 8} {:align-self :flex-start - :padding-left (if platform/desktop? 24 8)})) + :padding-left 8})) (def message-author-touchable {:margin-left 12 diff --git a/src/status_im/ui/screens/desktop/main/styles.cljs b/src/status_im/ui/screens/desktop/main/styles.cljs deleted file mode 100644 index 2a3b7e718f..0000000000 --- a/src/status_im/ui/screens/desktop/main/styles.cljs +++ /dev/null @@ -1,22 +0,0 @@ -(ns status-im.ui.screens.desktop.main.styles - (:require [status-im.ui.components.colors :as colors])) - -(def main-views - {:flex 1 - :flex-direction :row}) - -(def left-sidebar - {:width 340 - :background-color colors/white}) - -(def pane-separator - {:width 1 - :background-color colors/black-transparent}) - -(def absolute - {:position :absolute - :top 0 - :right 0 - :left 0 - :bottom 0 - :flex 1}) diff --git a/src/status_im/ui/screens/desktop/main/views.cljs b/src/status_im/ui/screens/desktop/main/views.cljs deleted file mode 100644 index ec94214416..0000000000 --- a/src/status_im/ui/screens/desktop/main/views.cljs +++ /dev/null @@ -1,49 +0,0 @@ -(ns status-im.ui.screens.desktop.main.views - (:require-macros [status-im.utils.views :as views]) - (:require [status-im.ui.screens.desktop.main.styles :as styles] - [status-im.ui.screens.bootnodes-settings.edit-bootnode.views :as edit-bootnode] - [status-im.ui.screens.about-app.views :as about-app.views] - [status-im.ui.screens.help-center.views :as help-center.views] - [status-im.ui.screens.bootnodes-settings.views :as bootnodes] - [status-im.ui.components.react :as react] - [status-im.ui.screens.offline-messaging-settings.edit-mailserver.views :as edit-mailserver] - [re-frame.core :as re-frame])) - -(views/defview status-view [] - [react/view {:style {:flex 1 :background-color "#eef2f5" :align-items :center :justify-content :center}} - [react/text {:style {:font-size 18 :color "#939ba1"}} - "Status.im"]]) - -(views/defview tab-views [] - [react/view {:style {:flex 1}} - [react/view]]) - -(views/defview popup-view [] - (views/letsubs [{:keys [popup]} [:desktop]] - (when popup - [react/view {:style styles/absolute} - [react/touchable-highlight {:on-press #(re-frame/dispatch [:set-in [:desktop :popup] nil]) - :style {:flex 1}} - [react/view]] - [react/view {:style styles/absolute} - [popup]]]))) - -(views/defview main-view [] - (views/letsubs [view-id [:view-id]] - (let [component (case view-id - :edit-mailserver edit-mailserver/edit-mailserver - :bootnodes-settings bootnodes/bootnodes-settings - :edit-bootnode edit-bootnode/edit-bootnode - :about-app about-app.views/about-app - :help-center help-center.views/help-center - status-view)] - [react/view {:style {:flex 1}} - [component]]))) - -(views/defview main-views [] - [react/view {:style styles/main-views} - [react/view {:style styles/left-sidebar} - [react/view {:style {:flex 1}} - [tab-views]]] - [react/view {:style styles/pane-separator}] - [main-view]]) diff --git a/src/status_im/ui/screens/desktop/views.cljs b/src/status_im/ui/screens/desktop/views.cljs deleted file mode 100644 index 55be906e8b..0000000000 --- a/src/status_im/ui/screens/desktop/views.cljs +++ /dev/null @@ -1,56 +0,0 @@ -(ns status-im.ui.screens.desktop.views - (:require #_[status-im.i18n :as i18n] - [status-im.ui.components.react :as react] - [status-im.ui.screens.desktop.main.views :as main.views] - [status-im.ui.screens.group.views - :refer - [add-participants-toggle-list contact-toggle-list new-group]] - [status-im.ui.screens.intro.views :as intro.views] - [status-im.ui.screens.multiaccounts.login.views :as login.views] - [status-im.ui.screens.multiaccounts.views :as multiaccounts.views] - [status-im.ui.screens.profile.group-chat.views - :refer - [group-chat-profile]] - #_[status-im.utils.utils :as utils]) - (:require-macros [status-im.utils.views :as views])) - -(enable-console-print!) - -(views/defview main [] - (views/letsubs [view-id [:view-id] - #_#_version [:get-app-version]] - {:component-did-mount - (fn [] - #_(.getValue rn-dependencies/desktop-config "desktop-alpha-warning-shown-for-version" - #(when-not (= %1 version) - (.setValue ^js rn-dependencies/desktop-config "desktop-alpha-warning-shown-for-version" version) - (utils/show-popup nil (i18n/label :desktop-alpha-release-warning)))))} - - (let [component (case view-id - :intro intro.views/intro - :multiaccounts multiaccounts.views/multiaccounts - :new-group new-group - :contact-toggle-list contact-toggle-list - :group-chat-profile group-chat-profile - :add-participants-toggle-list add-participants-toggle-list - - (:desktop/new-one-to-one - :desktop/new-group-chat - :desktop/new-public-chat - :advanced-settings - :edit-mailserver - :bootnodes-settings - :edit-bootnode - :about-app - :help-center - :installations - :chat - :home - :qr-code - :chat-profile - :backup-recovery-phrase) main.views/main-views - :login login.views/login - react/view)] - [react/view {:style {:flex 1}} - [component] - [main.views/popup-view]]))) diff --git a/src/status_im/ui/screens/fleet_settings/styles.cljs b/src/status_im/ui/screens/fleet_settings/styles.cljs index 55826acc90..377a5f11e6 100644 --- a/src/status_im/ui/screens/fleet_settings/styles.cljs +++ b/src/status_im/ui/screens/fleet_settings/styles.cljs @@ -1,6 +1,5 @@ (ns status-im.ui.screens.fleet-settings.styles (:require [status-im.ui.components.colors :as colors] - [status-im.utils.platform :as platform] [status-im.utils.styles :as styles])) (def wrapper @@ -30,5 +29,5 @@ :justify-content :center}) (defn fleet-icon [current?] - (hash-map (if platform/desktop? :tint-color :color) + (hash-map :color (if current? colors/white-persist colors/gray))) diff --git a/src/status_im/ui/screens/fleet_settings/views.cljs b/src/status_im/ui/screens/fleet_settings/views.cljs index 37f5618f78..91c7d019ab 100644 --- a/src/status_im/ui/screens/fleet_settings/views.cljs +++ b/src/status_im/ui/screens/fleet_settings/views.cljs @@ -5,17 +5,13 @@ [status-im.ui.components.list.views :as list] [status-im.ui.components.react :as react] [status-im.ui.components.topbar :as topbar] - [status-im.ui.screens.fleet-settings.styles :as styles] - [status-im.utils.platform :as platform]) + [status-im.ui.screens.fleet-settings.styles :as styles]) (:require-macros [status-im.utils.views :as views])) (defn- fleet-icon [current?] - [react/view (if platform/desktop? - {:style (styles/fleet-icon-container current?)} - (styles/fleet-icon-container current?)) + [react/view (styles/fleet-icon-container current?) [vector-icons/icon :main-icons/mailserver - (if platform/desktop? {:style (styles/fleet-icon current?)} - (styles/fleet-icon current?))]]) + (styles/fleet-icon current?)]]) (defn change-fleet [fleet] (re-frame/dispatch [:fleet.ui/fleet-selected fleet])) diff --git a/src/status_im/ui/screens/group/views.cljs b/src/status_im/ui/screens/group/views.cljs index 6c80ed6ba8..588347ee2a 100644 --- a/src/status_im/ui/screens/group/views.cljs +++ b/src/status_im/ui/screens/group/views.cljs @@ -21,8 +21,7 @@ [status-im.ui.components.topbar :as topbar] [status-im.ui.screens.group.styles :as styles] [quo.core :as quo] - [status-im.utils.debounce :as debounce] - [status-im.utils.platform :as platform]) + [status-im.utils.debounce :as debounce]) (:require-macros [status-im.utils.views :as views])) (defn- render-contact [row] @@ -71,31 +70,24 @@ [toggle-item allow-new-users? :is-participant-selected? contact on-toggle-participant]) (defn- handle-invite-friends-pressed [] - (if platform/desktop? - (re-frame/dispatch [:navigate-to :new-contact]) - (list-selection/open-share {:message (i18n/label :t/get-status-at)}))) + (list-selection/open-share {:message (i18n/label :t/get-status-at)})) (defn toggle-list [{:keys [contacts render-fn]}] [react/scroll-view {:flex 1} - (if platform/desktop? - (for [contact contacts] - ^{:key (:public-key contact)} - (render-fn contact)) - [list/flat-list {:data contacts - :key-fn :public-key - :render-fn render-fn - :keyboardShouldPersistTaps :always}])]) + [list/flat-list {:data contacts + :key-fn :public-key + :render-fn render-fn + :keyboardShouldPersistTaps :always}]]) (defn no-contacts [{:keys [no-contacts]}] [react/view {:style styles/no-contacts} [react/text {:style (styles/no-contact-text)} no-contacts] - (when-not platform/desktop? - [quo/button - {:type :secondary - :on-press handle-invite-friends-pressed} - (i18n/label :t/invite-friends)])]) + [quo/button + {:type :secondary + :on-press handle-invite-friends-pressed} + (i18n/label :t/invite-friends)]]) (defn filter-contacts [filter-text contacts] (let [lower-filter-text (string/lower-case (str filter-text)) diff --git a/src/status_im/ui/screens/help_center/views.cljs b/src/status_im/ui/screens/help_center/views.cljs index 689cba0249..ef48dcda54 100644 --- a/src/status_im/ui/screens/help_center/views.cljs +++ b/src/status_im/ui/screens/help_center/views.cljs @@ -5,7 +5,6 @@ [status-im.ui.components.react :as react] [status-im.ui.components.list.views :as list] [status-im.ui.components.colors :as colors] - [status-im.utils.platform :as platform] [status-im.ui.components.topbar :as topbar] [status-im.constants :as constants])) @@ -34,9 +33,7 @@ :accessibility-label :request-a-feature-button :on-press #(re-frame/dispatch [:chat.ui/start-public-chat - (if platform/desktop? - "status-desktop" - "status") + "status" {:navigation-reset? false}]) :chevron true}]) diff --git a/src/status_im/ui/screens/home/styles.cljs b/src/status_im/ui/screens/home/styles.cljs index 08e4ec899a..5dee41740f 100644 --- a/src/status_im/ui/screens/home/styles.cljs +++ b/src/status_im/ui/screens/home/styles.cljs @@ -5,8 +5,7 @@ {:flex 1 :align-self :stretch :line-height 22 - :color colors/gray - :desktop {:max-height 20}}) + :color colors/gray}) (def public-unread {:background-color colors/blue diff --git a/src/status_im/ui/screens/log_level_settings/styles.cljs b/src/status_im/ui/screens/log_level_settings/styles.cljs index b591f2c982..f14ea7c9ec 100644 --- a/src/status_im/ui/screens/log_level_settings/styles.cljs +++ b/src/status_im/ui/screens/log_level_settings/styles.cljs @@ -1,6 +1,5 @@ (ns status-im.ui.screens.log-level-settings.styles (:require [status-im.ui.components.colors :as colors] - [status-im.utils.platform :as platform] [status-im.utils.styles :as styles])) (def wrapper @@ -30,5 +29,5 @@ :justify-content :center}) (defn log-level-icon [current?] - (hash-map (if platform/desktop? :tint-color :color) + (hash-map :color (if current? colors/white-persist colors/gray))) diff --git a/src/status_im/ui/screens/log_level_settings/views.cljs b/src/status_im/ui/screens/log_level_settings/views.cljs index 343a4c52fe..5519857869 100644 --- a/src/status_im/ui/screens/log_level_settings/views.cljs +++ b/src/status_im/ui/screens/log_level_settings/views.cljs @@ -4,17 +4,13 @@ [status-im.ui.components.list.views :as list] [status-im.ui.components.react :as react] [status-im.ui.screens.log-level-settings.styles :as styles] - [status-im.utils.platform :as platform] [status-im.ui.components.topbar :as topbar]) (:require-macros [status-im.utils.views :as views])) (defn- log-level-icon [current?] - [react/view (if platform/desktop? - {:style (styles/log-level-icon-container current?)} - (styles/log-level-icon-container current?)) + [react/view (styles/log-level-icon-container current?) [vector-icons/icon :main-icons/mailserver - (if platform/desktop? {:style (styles/log-level-icon current?)} - (styles/log-level-icon current?))]]) + (styles/log-level-icon current?)]]) (defn change-log-level [log-level] (re-frame/dispatch [:log-level.ui/log-level-selected log-level])) diff --git a/src/status_im/ui/screens/multiaccounts/login/views.cljs b/src/status_im/ui/screens/multiaccounts/login/views.cljs index 4873e36a66..ee5b237a21 100644 --- a/src/status_im/ui/screens/multiaccounts/login/views.cljs +++ b/src/status_im/ui/screens/multiaccounts/login/views.cljs @@ -73,21 +73,19 @@ :main-icons/faceid :main-icons/print) {:color colors/blue}]]])]] - (when-not platform/desktop? - ;; saving passwords is unavailable on Desktop - (if (and platform/android? (not auth-method)) - ;; on Android, there is much more reasons for the password save to be unavailable, - ;; so we don't show the checkbox whatsoever but put a label explaining why it happenned. - [react/i18n-text {:style styles/save-password-unavailable-android - :key :save-password-unavailable-android}] - [react/view {:style {:flex-direction :row - :align-items :center - :justify-content :flex-start - :margin-top 19}} - [checkbox/checkbox {:checked? save-password? - :style {:margin-left 3 :margin-right 10} - :on-value-change #(re-frame/dispatch [:multiaccounts/save-password %])}] - [react/text (i18n/label :t/save-password)]]))]] + (if (and platform/android? (not auth-method)) + ;; on Android, there is much more reasons for the password save to be unavailable, + ;; so we don't show the checkbox whatsoever but put a label explaining why it happenned. + [react/i18n-text {:style styles/save-password-unavailable-android + :key :save-password-unavailable-android}] + [react/view {:style {:flex-direction :row + :align-items :center + :justify-content :flex-start + :margin-top 19}} + [checkbox/checkbox {:checked? save-password? + :style {:margin-left 3 :margin-right 10} + :on-value-change #(re-frame/dispatch [:multiaccounts/save-password %])}] + [react/text (i18n/label :t/save-password)]])]] (when processing [react/view styles/processing-view [react/activity-indicator {:animating true}] diff --git a/src/status_im/ui/screens/offline_messaging_settings/styles.cljs b/src/status_im/ui/screens/offline_messaging_settings/styles.cljs index ec255a9d96..4e8040b6c7 100644 --- a/src/status_im/ui/screens/offline_messaging_settings/styles.cljs +++ b/src/status_im/ui/screens/offline_messaging_settings/styles.cljs @@ -1,6 +1,5 @@ (ns status-im.ui.screens.offline-messaging-settings.styles (:require [status-im.ui.components.colors :as colors] - [status-im.utils.platform :as platform] [status-im.utils.styles :as styles])) (def wrapper @@ -33,7 +32,7 @@ :justify-content :center}) (defn mailserver-icon [connected?] - (hash-map (if platform/desktop? :tint-color :color) + (hash-map :color (if connected? colors/white-persist colors/gray))) (def mailserver-pinned diff --git a/src/status_im/ui/screens/offline_messaging_settings/views.cljs b/src/status_im/ui/screens/offline_messaging_settings/views.cljs index 9b46d21758..9826d49c68 100644 --- a/src/status_im/ui/screens/offline_messaging_settings/views.cljs +++ b/src/status_im/ui/screens/offline_messaging_settings/views.cljs @@ -6,17 +6,13 @@ [status-im.ui.components.icons.vector-icons :as vector-icons] [status-im.ui.components.list.views :as list] [status-im.ui.components.react :as react] - [status-im.utils.platform :as platform] [status-im.ui.screens.offline-messaging-settings.styles :as styles] [status-im.ui.components.topbar :as topbar])) (defn- mailserver-icon [connected?] - [react/view (if platform/desktop? - {:style (styles/mailserver-icon-container connected?)} - (styles/mailserver-icon-container connected?)) + [react/view (styles/mailserver-icon-container connected?) [vector-icons/icon :main-icons/mailserver - (if platform/desktop? {:style (styles/mailserver-icon connected?)} - (styles/mailserver-icon connected?))]]) + (styles/mailserver-icon connected?)]]) (defn pinned-state [pinned?] [react/touchable-highlight {:on-press (if pinned? diff --git a/src/status_im/ui/screens/pairing/styles.cljs b/src/status_im/ui/screens/pairing/styles.cljs index f87037d5cd..e3c42fba4b 100644 --- a/src/status_im/ui/screens/pairing/styles.cljs +++ b/src/status_im/ui/screens/pairing/styles.cljs @@ -64,8 +64,7 @@ (let [color (if enabled? colors/blue colors/gray)] - {:desktop {:tint-color color} - :ios {:color color} + {:ios {:color color} :android {:color color}})) (def paired-devices-title diff --git a/src/status_im/ui/screens/pairing/views.cljs b/src/status_im/ui/screens/pairing/views.cljs index 4ff6bb7988..4b6cc5b42a 100644 --- a/src/status_im/ui/screens/pairing/views.cljs +++ b/src/status_im/ui/screens/pairing/views.cljs @@ -18,13 +18,8 @@ (def syncing (reagent/atom false)) (def installation-name (reagent/atom "")) -(defn icon-style [{:keys [width height] :as style}] - (if utils.platform/desktop? - {:container-style {:width width - - :height height} - :style style} - style)) +(defn icon-style [style] + style) (defn synchronize-installations! [] (reset! syncing true) @@ -76,11 +71,10 @@ (defn your-device [{:keys [installation-id name device-type]}] [react/view {:style styles/installation-item} [react/view {:style (styles/pairing-button true)} - [icons/icon (if (= "desktop" - device-type) - :main-icons/desktop - :main-icons/mobile) - + [icons/icon (if (= "desktop" + device-type) + :main-icons/desktop + :main-icons/mobile) (icon-style (styles/pairing-button-icon true))]] [react/view {:style styles/pairing-actions-text} [react/view @@ -93,8 +87,8 @@ ")")]]]]) (defn render-row [{:keys [name - device-type enabled? + device-type installation-id]}] [react/touchable-highlight {:accessibility-label :installation-item} diff --git a/src/status_im/ui/screens/profile/group_chat/views.cljs b/src/status_im/ui/screens/profile/group_chat/views.cljs index 9731a8f6d8..5f035458e7 100644 --- a/src/status_im/ui/screens/profile/group_chat/views.cljs +++ b/src/status_im/ui/screens/profile/group_chat/views.cljs @@ -12,8 +12,7 @@ [status-im.ui.screens.chat.sheets :as chat.sheets] [status-im.ui.screens.profile.components.styles :as - profile.components.styles] - [status-im.utils.platform :as platform]) + profile.components.styles]) (:require-macros [status-im.utils.views :refer [defview letsubs]])) (defn member-sheet [chat-id member us-admin?] @@ -27,7 +26,7 @@ :accessibility-label :view-chat-details-button :chevron true :on-press #(chat.sheets/hide-sheet-and-dispatch - [(if platform/desktop? :show-profile-desktop :chat.ui/show-profile) + [:chat.ui/show-profile (:public-key member)])}] (when (and us-admin? (not (:admin? member))) @@ -53,7 +52,7 @@ :icon [chat-icon/contact-icon-contacts-tab (multiaccounts/displayed-photo member)] :on-press (when (not= public-key current-user-identity) - #(re-frame/dispatch [(if platform/desktop? :show-profile-desktop :chat.ui/show-profile) public-key]))} + #(re-frame/dispatch [:chat.ui/show-profile public-key]))} (when (:admin? member) {:accessory :text :accessory-text (i18n/label :t/group-chat-admin)}) diff --git a/src/status_im/ui/screens/profile/seed/views.cljs b/src/status_im/ui/screens/profile/seed/views.cljs index 36cd6d50d8..1035d78929 100644 --- a/src/status_im/ui/screens/profile/seed/views.cljs +++ b/src/status_im/ui/screens/profile/seed/views.cljs @@ -13,8 +13,7 @@ [status-im.utils.utils :as utils] [status-im.ui.screens.profile.seed.styles :as styles] [status-im.i18n :as i18n] - [quo.core :as quo] - [status-im.utils.platform :as platform])) + [quo.core :as quo])) (def steps-numbers {:intro 1 @@ -33,9 +32,8 @@ [react/scroll-view {:style {:padding-horizontal 16} :content-container-style {:align-items :center :justify-content :center}} - (when-not platform/desktop? - [react/image {:source (resources/get-image :lock) - :style styles/intro-image}]) + [react/image {:source (resources/get-image :lock) + :style styles/intro-image}] [react/i18n-text {:style styles/intro-text :key :your-data-belongs-to-you}] [react/i18n-text {:style styles/intro-description diff --git a/src/status_im/utils/config.cljs b/src/status_im/utils/config.cljs index 97df9d0d3c..c4a28eb97f 100644 --- a/src/status_im/utils/config.cljs +++ b/src/status_im/utils/config.cljs @@ -30,7 +30,6 @@ (def erc20-contract-warnings-enabled? (enabled? (get-config :ERC20_CONTRACT_WARNINGS))) (def tr-to-talk-enabled? (enabled? (get-config :TRIBUTE_TO_TALK 0))) (def max-message-delivery-attempts (js/parseInt (get-config :MAX_MESSAGE_DELIVERY_ATTEMPTS "6"))) -(def mobile-ui-for-desktop? (enabled? (get-config :MOBILE_UI_FOR_DESKTOP "0"))) ;; NOTE: only disabled in releases (def local-notifications? (enabled? (get-config :LOCAL_NOTIFICATIONS "1"))) (def blank-preview? (enabled? (get-config :BLANK_PREVIEW "1"))) diff --git a/src/status_im/utils/dimensions.cljs b/src/status_im/utils/dimensions.cljs index bfc6d6e347..2c135d9484 100644 --- a/src/status_im/utils/dimensions.cljs +++ b/src/status_im/utils/dimensions.cljs @@ -1,7 +1,6 @@ (ns status-im.utils.dimensions (:require [re-frame.core :as re-frame] - [status-im.ui.components.react :as react] - [status-im.constants :as constants])) + [status-im.ui.components.react :as react])) (declare window) @@ -18,7 +17,3 @@ (-> m (js->clj :keywordize-keys true) :window))) - -(defn fit-two-pane? [] - (let [width (get (window) :width)] - (>= width constants/two-pane-min-width))) diff --git a/src/status_im/utils/keychain/core.cljs b/src/status_im/utils/keychain/core.cljs index 8a3ffcffd9..4d7a932d1d 100644 --- a/src/status_im/utils/keychain/core.cljs +++ b/src/status_im/utils/keychain/core.cljs @@ -104,10 +104,8 @@ "Gets the credentials for a specified server from the Keychain" [server callback] (log/debug "[keychain] get-credentials") - (if platform/mobile? - (-> (.getInternetCredentials react-native-keychain (string/lower-case server)) - (.then callback)) - (callback))) ;; no-op for Desktop + (-> (.getInternetCredentials react-native-keychain (string/lower-case server)) + (.then callback))) (def auth-method-password "password") (def auth-method-biometric "biometric") @@ -198,9 +196,8 @@ (re-frame/reg-fx :keychain/clear-user-password (fn [key-uid] - (when platform/mobile? - (-> (.resetInternetCredentials react-native-keychain (string/lower-case key-uid)) - (.then #(when-not % (log/error (str "Error while clearing saved password.")))))))) + (-> (.resetInternetCredentials react-native-keychain (string/lower-case key-uid)) + (.then #(when-not % (log/error (str "Error while clearing saved password."))))))) (fx/defn get-auth-method [_ key-uid] diff --git a/src/status_im/utils/logging/core.cljs b/src/status_im/utils/logging/core.cljs index 6a20becdf1..eaabe8d81d 100644 --- a/src/status_im/utils/logging/core.cljs +++ b/src/status_im/utils/logging/core.cljs @@ -74,7 +74,6 @@ :chat/last-outgoing-message-sent-at :chat/spam-messages-frequency :chats/loading? - :desktop/desktop :dimensions/window :my-profile/editing?]))] {:logs/archive-logs [db-json ::send-email]})) @@ -108,7 +107,7 @@ "logs attached" [{:keys [:web3-node-version :mailserver/current-id :node-info :peers-summary]}] - (let [build-number (if platform/desktop? build/version build/build-no) + (let [build-number build/build-no build-version (str build/version " (" build-number ")") separator (string/join (take 40 (repeat "-"))) [enode-id ip-address port] diff --git a/src/status_im/utils/platform.cljs b/src/status_im/utils/platform.cljs index 427f015fcf..6d3f44a29a 100644 --- a/src/status_im/utils/platform.cljs +++ b/src/status_im/utils/platform.cljs @@ -1,7 +1,5 @@ (ns status-im.utils.platform - (:require [status-im.android.platform :as android] - [status-im.ios.platform :as ios] - [status-im.desktop.platform :as desktop] + (:require [status-im.ios.platform :as ios] ["react-native" :as react-native])) (def platform @@ -17,20 +15,8 @@ (def android? (= os "android")) (def ios? (= os "ios")) -(def desktop? (= os "desktop")) -(def mobile? (not= os "desktop")) (def iphone-x? (and ios? (ios/iphone-x-dimensions?))) -(def isMacOs? (when platform (.-isMacOs ^js platform))) -(def isNix? (when platform (or (.-isLinux ^js platform) (.-isUnix ^js platform)))) -(def isWin? (when platform (.-isWin ^js platform))) - -(def platform-specific - (cond - android? android/platform-specific - ios? ios/platform-specific - :else desktop/platform-specific)) - (defn no-backup-directory [] (cond android? "/../no_backup" diff --git a/src/status_im/utils/styles.clj b/src/status_im/utils/styles.clj index d1463fc4df..ef5bb6980d 100644 --- a/src/status_im/utils/styles.clj +++ b/src/status_im/utils/styles.clj @@ -3,7 +3,7 @@ (defn- body [style] `(let [style# ~style - common# (dissoc style# :android :ios :desktop) + common# (dissoc style# :android :ios) platform# (keyword status-im.utils.platform/os) platform-specific# (get style# platform#)] (if platform-specific# diff --git a/src/status_im/utils/utils.cljs b/src/status_im/utils/utils.cljs index 0441e5f538..7212ae2111 100644 --- a/src/status_im/utils/utils.cljs +++ b/src/status_im/utils/utils.cljs @@ -3,7 +3,6 @@ [goog.string :as gstring] [status-im.i18n :as i18n] [re-frame.core :as re-frame] - [status-im.utils.platform :as platform] [status-im.ethereum.eip55 :as eip55] [status-im.ethereum.core :as ethereum] ["react-native" :as react-native] @@ -91,9 +90,7 @@ ;; background-timer (defn set-timeout [cb ms] - (if platform/desktop? - (js/setTimeout cb ms) - (.setTimeout background-timer cb ms))) + (.setTimeout background-timer cb ms)) ;; same as re-frame dispatch-later but using background timer for long ;; running timeouts @@ -104,19 +101,13 @@ (set-timeout #(re-frame/dispatch dispatch) ms)))) (defn clear-timeout [id] - (if platform/desktop? - (js/clearTimeout id) - (.clearTimeout background-timer id))) + (.clearTimeout background-timer id)) (defn set-interval [cb ms] - (if platform/desktop? - (js/setInterval cb ms) - (.setInterval background-timer cb ms))) + (.setInterval background-timer cb ms)) (defn clear-interval [id] - (if platform/desktop? - (js/clearInterval id) - (.clearInterval background-timer id))) + (.clearInterval background-timer id)) (defn format-decimals [amount places] (let [decimal-part (get (string/split (str amount) ".") 1)] diff --git a/translations/ar.json b/translations/ar.json index bbe942865e..2d3b852c6a 100644 --- a/translations/ar.json +++ b/translations/ar.json @@ -359,7 +359,6 @@ "deny": "رفض", "derivation-path": "مسار الاشتقاق", "description": "وصف", - "desktop-alpha-release-warning": "شكرا لمحاولة Status سطح المكتب! هذا إصدار أولي مبكر يركز على الدردشة ويفقد العديد من الميزات الموجودة في برنامج العميل المحمول وقد يحتوي على أخطاء ومشكلات أخرى. يرجى ملاحظة أن هذا إصدار ألفا وننصحك باستخدام هذا التطبيق لأغراض الاختبار فقط وأنت تتحمل المسؤولية الكاملة عن جميع المخاطر المتعلقة ببياناتك وأموالك. Status لا تقدم أي مطالبات بالأمان أو سلامة الأموال في هذه البنيات.", "dev-mode": "وضع التنمية", "dev-mode-settings": "وضع التنمية", "device-syncing": "مزامنة الجهاز", @@ -1109,7 +1108,6 @@ "url": "URL", "usd-currency": "دولار أمريكي", "use-valid-contact-code": "الرجاء إدخال مفتاح دردشة صالح أو مسحه ضوئيًا", - "use-valid-contact-code-desktop": "يرجى إدخال مفتاح دردشة صالح أو اسم المستخدم", "user-not-found": "لم يتم العثور على المستخدم", "validation-amount-invalid-number": "المبلغ ليس رقمًا صالحًا", "validation-amount-is-too-precise": "المبلغ دقيق جدا. الحد الأقصى لعدد الكسور العشرية هو {{decimals}} .", @@ -1194,4 +1192,4 @@ "your-keys": "مفاتيحك", "your-recovery-phrase": "العبارة الأولية الخاصة بك", "your-recovery-phrase-description": "هذه هي العبارة الأولية الخاصة بك. يمكنك استخدامها لإثبات أن هذه هي محفظتك. يمكنك فقط أن ترى ذلك مرة واحدة! اكتبها على الورق واحتفظ بها في مكان آمن. ستحتاج إليها إذا فقدت أو أعدت تثبيت محفظتك." -} \ No newline at end of file +} diff --git a/translations/de.json b/translations/de.json index 84ce2c6f10..634418ed72 100644 --- a/translations/de.json +++ b/translations/de.json @@ -333,7 +333,6 @@ "deny": "Verweigern", "derivation-path": "Ableitungspfad", "description": "Beschreibung", - "desktop-alpha-release-warning": "Vielen Dank, dass Sie Status Desktop ausprobiert haben! Dies ist eine frühe Alpha-Version, die sich auf Chats konzentriert. Es fehlen einige Funktionen des mobilen Clients, die möglicherweise Fehler und andere Probleme enthalten. Bitte beachten Sie, dass dies eine Alpha-Version ist. Wir empfehlen Ihnen, diese App nur zu Testzwecken zu verwenden und die volle Verantwortung für alle Risiken in Bezug auf Ihre Daten und Gelder zu übernehmen. Status erhebt keinen Anspruch auf Sicherheit oder Integrität der Gelder in diesen Builds.", "dev-mode": "Entwicklungsmodus", "dev-mode-settings": "Einstellungen des Entwicklungsmodus", "device-syncing": "Gerätesynchronisierung", @@ -1073,7 +1072,6 @@ "url": "URL", "usd-currency": "USD", "use-valid-contact-code": "Bitte geben Sie einen gültigen Chat-Schlüssel oder Benutzernamen ein oder scannen Sie ihn ein", - "use-valid-contact-code-desktop": "Bitte geben Sie einen gültigen Chat-Schlüssel oder Benutzernamen ein", "user-not-found": "Benutzer nicht gefunden", "validation-amount-invalid-number": "Der Betrag ist keine gültige Zahl", "validation-amount-is-too-precise": "Betrag ist zu genau. Die maximale Anzahl von Dezimalstellen beträgt {{decimals}}.", @@ -1154,4 +1152,4 @@ "your-keys": "Ihre Schlüssel", "your-recovery-phrase": "Ihre Seed-Phrase", "your-recovery-phrase-description": "Dies ist Ihre Seed-Phrase. Sie verwenden sie, um zu beweisen, dass dies Ihre Wallet ist. Man kann sie nur einmal sehen! Schreiben Sie sie auf Papier und bewahren Sie es an einem sicheren Ort auf. Sie benötigen sie, wenn Sie Ihre Wallet verlieren oder neu installieren." -} \ No newline at end of file +} diff --git a/translations/en.json b/translations/en.json index 7388b7337b..ef3afdaee8 100644 --- a/translations/en.json +++ b/translations/en.json @@ -313,7 +313,6 @@ "delete-network-title": "Delete network?", "deny": "Deny", "description": "Description", - "desktop-alpha-release-warning": "Thanks for trying Status Desktop! This is an early alpha release focused on chat, and is missing several features found in the mobile client and may contain bugs and other issues. Please note that this is an alpha release and we advise you that using this app should be done for testing purposes only and you assume the full responsibility for all risks concerning your data and funds. Status makes no claims of security or integrity of funds in these builds.", "dev-mode": "Development mode", "dev-mode-settings": "Development mode settings", "device-syncing": "Device syncing", @@ -1043,7 +1042,6 @@ "url": "URL", "usd-currency": "USD", "use-valid-contact-code": "Please enter or scan a valid chat key or username", - "use-valid-contact-code-desktop": "Please enter a valid chat key or username", "validation-amount-invalid-number": "Amount is not a valid number", "validation-amount-is-too-precise": "Amount is too precise. Max number of decimals is {{decimals}}.", "version": "App version", diff --git a/translations/es.json b/translations/es.json index 67f4b73c43..2f77ff2bff 100644 --- a/translations/es.json +++ b/translations/es.json @@ -333,7 +333,6 @@ "deny": "Negar", "derivation-path": "Ruta de derivación", "description": "Descripción", - "desktop-alpha-release-warning": "¡Gracias por probar Status Desktop! Esta es una anticipada versión alfa enfocada en el chat, y le faltan varias funciones que se encuentran en el cliente móvil y puede contener errores y otros problemas. Ten en cuenta que esta es una versión alfa y te recomendamos que uses esta app solo para fines de prueba y asumas la responsabilidad total de todos los riesgos relacionados con tus datos y fondos. Status no hace afirmación de seguridad o integridad de fondos en estas versiones.", "dev-mode": "Modo de desarrollo", "dev-mode-settings": "Ajustes del modo de desarrollo", "device-syncing": "Sincronización de dispositivos", @@ -1066,7 +1065,6 @@ "url": "URL", "usd-currency": "Dólar estadounidense", "use-valid-contact-code": "Por favor, ingresa o escanea una clave de contacto o nombre de usuario válido", - "use-valid-contact-code-desktop": "Por favor ingresa una clave de chat válida o nombre de usuario", "user-not-found": "Usuario no encontrado", "validation-amount-invalid-number": "La cantidad no es un número válido", "validation-amount-is-too-precise": "La cantidad es muy precisa. La cantidad máxima de decimales es {{decimals}} .", @@ -1147,4 +1145,4 @@ "your-keys": "Tus claves", "your-recovery-phrase": "Tu frase semilla", "your-recovery-phrase-description": "Esta es tu frase semilla. La usas para comprobar que esta es tu billetera. ¡Sólo la verás una vez! Escríbela en un papel y guárdala en un lugar seguro. La necesitarás si pierdes o reinstalas tu billetera." -} \ No newline at end of file +} diff --git a/translations/es_419.json b/translations/es_419.json index 67f4b73c43..2f77ff2bff 100644 --- a/translations/es_419.json +++ b/translations/es_419.json @@ -333,7 +333,6 @@ "deny": "Negar", "derivation-path": "Ruta de derivación", "description": "Descripción", - "desktop-alpha-release-warning": "¡Gracias por probar Status Desktop! Esta es una anticipada versión alfa enfocada en el chat, y le faltan varias funciones que se encuentran en el cliente móvil y puede contener errores y otros problemas. Ten en cuenta que esta es una versión alfa y te recomendamos que uses esta app solo para fines de prueba y asumas la responsabilidad total de todos los riesgos relacionados con tus datos y fondos. Status no hace afirmación de seguridad o integridad de fondos en estas versiones.", "dev-mode": "Modo de desarrollo", "dev-mode-settings": "Ajustes del modo de desarrollo", "device-syncing": "Sincronización de dispositivos", @@ -1066,7 +1065,6 @@ "url": "URL", "usd-currency": "Dólar estadounidense", "use-valid-contact-code": "Por favor, ingresa o escanea una clave de contacto o nombre de usuario válido", - "use-valid-contact-code-desktop": "Por favor ingresa una clave de chat válida o nombre de usuario", "user-not-found": "Usuario no encontrado", "validation-amount-invalid-number": "La cantidad no es un número válido", "validation-amount-is-too-precise": "La cantidad es muy precisa. La cantidad máxima de decimales es {{decimals}} .", @@ -1147,4 +1145,4 @@ "your-keys": "Tus claves", "your-recovery-phrase": "Tu frase semilla", "your-recovery-phrase-description": "Esta es tu frase semilla. La usas para comprobar que esta es tu billetera. ¡Sólo la verás una vez! Escríbela en un papel y guárdala en un lugar seguro. La necesitarás si pierdes o reinstalas tu billetera." -} \ No newline at end of file +} diff --git a/translations/fil.json b/translations/fil.json index 2f0d1c0236..d39bd42577 100644 --- a/translations/fil.json +++ b/translations/fil.json @@ -359,7 +359,6 @@ "deny": "Deny", "derivation-path": "Landas ng dereksyon", "description": "Paglalarawan", - "desktop-alpha-release-warning": "Salamat sa pagsubok sa Status Desktop! ito ay isang maagang paglabas ng alpha na nakatuon sa chat, at nawawala ang ilang mga tampok na matatagpuan sa mobile client at maaaring maglaman ng mga bug at iba pang mga isyu.Mangyaring tandaan na ito ay isang paglabas ng alpha at ipinapayo namin sa iyo na ang paggamit ng app na ito ay dapat gawin para sa mga layunin ng pagsubok lamang at ipinapalagay mo ang buong responsibilidad para sa lahat ng mga panganib tungkol sa iyong data at pondo. Ang Status ay hindi gumagawa ng mga pag-angkin ng seguridad o integridad ng mga pondo sa mga build na ito.", "dev-mode": "Mode ng pag-unlad", "dev-mode-settings": "Pag-unlad ng mga setting ng mode", "device-syncing": "Pag-sync ng aparato", @@ -1109,7 +1108,6 @@ "url": "URL", "usd-currency": "USD", "use-valid-contact-code": "Mangyaring mag-enter o mag-scan ng isang wastong chat key o username", - "use-valid-contact-code-desktop": "Pakiusap Maglagay ng tamang chat key o username", "user-not-found": "Hindi nahanap ang gumagamit", "validation-amount-invalid-number": "Ang halaga ay hindi isang wastong numero", "validation-amount-is-too-precise": "Masyadong tumpak ang halaga. Sobrang bilang ng mga decimals ay{{decimals}}", @@ -1194,4 +1192,4 @@ "your-keys": "Ang iyong susi", "your-recovery-phrase": "Ang iyong seed phrase", "your-recovery-phrase-description": "ito ang iyong seed phrase. Ginagamit mo ito upang patunayan na ito ang iyong pitaka. ikaw lamang makita ito nang isang beses! Isulat ito sa papel at itago ito sa isang ligtas na lugar. Kakailanganin mo ito kung nawala o muling i-install ang iyong pitaka." -} \ No newline at end of file +} diff --git a/translations/fr.json b/translations/fr.json index b25b3f7604..de185b82b6 100644 --- a/translations/fr.json +++ b/translations/fr.json @@ -333,7 +333,6 @@ "deny": "Nier", "derivation-path": "Chemin de dérivation", "description": "Description", - "desktop-alpha-release-warning": "Merci d'avoir essayé Status Desktop! Il s'agit d'une première version alpha centrée sur le chat. Il manque plusieurs fonctionnalités présentes dans le client mobile et peut contenir des bogues et d'autres problèmes. Veuillez noter qu'il s'agit d'une version alpha et que nous vous conseillons d'utiliser cette application uniquement à des fins de test et d'assumer l'entière responsabilité de tous les risques liés à vos données et à vos fonds. Status ne fait aucune revendication de sécurité ou d’intégrité des fonds dans ces builds.", "dev-mode": "Mode de développement", "dev-mode-settings": "Paramètres du mode de développement", "device-syncing": "Synchronisation des appareils", @@ -1042,7 +1041,6 @@ "url": "URL", "usd-currency": "USD", "use-valid-contact-code": "Veuillez entrer ou scanner un code de contact ou un nom d'utilisateur valide.", - "use-valid-contact-code-desktop": "Veuillez entrer un code de contact ou un nom d'utilisateur valide", "user-not-found": "Utilisateur non trouvé", "validation-amount-invalid-number": "Le montant n'est pas un nombre valide", "validation-amount-is-too-precise": "Le montant est trop précis. Le nombre maximum de décimales est {{decimals}} .", @@ -1122,4 +1120,4 @@ "your-keys": "Vos clés", "your-recovery-phrase": "Votre phrase de récupération", "your-recovery-phrase-description": "Ceci est votre phrase de récupération. Vous l'utilisez pour prouver qu'il s'agit de votre portefeuille. Vous ne le voyez qu'une fois! Ecrivez-le sur du papier et conservez-le dans un endroit sûr. Vous en aurez besoin si vous perdez ou réinstallez votre portefeuille." -} \ No newline at end of file +} diff --git a/translations/id.json b/translations/id.json index 8186fd5497..ed91e19532 100644 --- a/translations/id.json +++ b/translations/id.json @@ -327,7 +327,6 @@ "deny": "Menyangkal", "derivation-path": "Jalur derivasi", "description": "Deskripsi", - "desktop-alpha-release-warning": "Terima kasih telah mencoba Status Desktop! Ini adalah rilis alpha awal yang berfokus pada obrolan, dan kehilangan beberapa fitur yang ditemukan di klien seluler dan mungkin mengandung bug dan masalah lainnya. Harap dicatat bahwa ini adalah rilis alfa dan kami menyarankan Anda bahwa menggunakan aplikasi ini harus dilakukan hanya untuk tujuan pengujian dan Anda memikul tanggung jawab penuh untuk semua risiko terkait data dan dana Anda. Status tidak membuat klaim keamanan atau integritas dana dalam bangunan ini.", "dev-mode": "Mode pengembangan", "dev-mode-settings": "Pengaturan mode pengembangan", "device-syncing": "Sinkronisasi perangkat", @@ -1058,7 +1057,6 @@ "url": "URL", "usd-currency": "USD", "use-valid-contact-code": "Silakan masukkan atau pindai kunci obrolan atau nama pengguna yang valid", - "use-valid-contact-code-desktop": "Silakan masukkan kunci obrolan atau nama pengguna yang valid", "user-not-found": "Pengguna tidak ditemukan", "validation-amount-invalid-number": "Jumlahnya bukan angka yang valid", "validation-amount-is-too-precise": "Jumlahnya terlalu tepat. Jumlah desimal maksimum adalah {{decimals}} .", @@ -1138,4 +1136,4 @@ "your-keys": "Kunci Anda", "your-recovery-phrase": "Frase seed Anda", "your-recovery-phrase-description": "Ini adalah frase awal Anda. Anda menggunakannya untuk membuktikan bahwa ini adalah dompet Anda. Anda hanya bisa melihatnya sekali! Tulis di atas kertas dan simpan di tempat yang aman. Anda akan membutuhkannya jika Anda kehilangan atau menginstal ulang dompet Anda." -} \ No newline at end of file +} diff --git a/translations/it.json b/translations/it.json index f22b078fbf..ee540e61c8 100644 --- a/translations/it.json +++ b/translations/it.json @@ -333,7 +333,6 @@ "deny": "Nega", "derivation-path": "Percorso di derivazione", "description": "Descrizione", - "desktop-alpha-release-warning": "Grazie per aver provato Status Desktop! Questa è una prima versione alfa focalizzata sulla chat. Mancano alcune funzionalità presenti nel client mobile e può contenere bug e altri problemi. Si prega di notare che si tratta di una versione alfa e ti consigliamo di utilizzare questa app solo a scopo di test. Usandola ti assumerai la piena responsabilità per tutti rischi relativi ai dati e ai fondi. Status, in queste build, non garantisce la sicurezza o l'integrità dei fondi.", "dev-mode": "Modalità di sviluppo", "dev-mode-settings": "Impostazioni modalità di sviluppo", "device-syncing": "Sincronizzazione del dispositivo", @@ -1069,7 +1068,6 @@ "url": "URL", "usd-currency": "USD", "use-valid-contact-code": "Inserisci o scansiona una chiave chat o un nome utente valido", - "use-valid-contact-code-desktop": "Inserisci una chiave chat o un nome utente valido", "user-not-found": "Utente non trovato", "validation-amount-invalid-number": "L'importo non è valido", "validation-amount-is-too-precise": "L'importo è troppo preciso. Il numero massimo di decimali è {{decimals}} .", @@ -1150,4 +1148,4 @@ "your-keys": "Le tue chiavi", "your-recovery-phrase": "La tua frase di recupero", "your-recovery-phrase-description": "Questa è la tua frase di recupero. La usi per dimostrare che questo è il tuo portafoglio. Puoi vederlo solo una volta! Scrivilo su carta e conservalo in un luogo sicuro. Ne avrai bisogno se perdi o reinstalli il tuo portafoglio." -} \ No newline at end of file +} diff --git a/translations/ja.json b/translations/ja.json index c714e5c146..40f738c142 100644 --- a/translations/ja.json +++ b/translations/ja.json @@ -285,7 +285,6 @@ "delete-network-title": "ネットワークを削除しますか?", "deny": "拒否", "description": "説明", - "desktop-alpha-release-warning": "Statusデスクトップを利用していただきありがとうございます!これはチャットにフォーカスした初期アルファ版で、モバイルクライアントにある機能が欠けていたり、バグや問題があるかもしれません。テスト利用目的のみでこのアプリを利用しする音を推奨します。ここで発生するデータや資産に関するリスクへの全ての責任はあなたが負います。Statusはこのバージョンでセキュリティや資産の安全性に関して何も保証しません。", "dev-mode": "デベロッパーモード", "devices": "デバイス", "disable": "無効", @@ -887,7 +886,6 @@ "url": "URL", "usd-currency": "米ドル", "use-valid-contact-code": "有効な連絡先コードまたはユーザー名を入力してください", - "use-valid-contact-code-desktop": "有効な連絡先コードまたはユーザー名を入力してください", "validation-amount-invalid-number": "金額が正しくありません", "validation-amount-is-too-precise": "金額が細かすぎます。小数点以下を{{decimals}}桁以下にしてください。", "view-cryptokitties": "CryptoKittiesで表示", diff --git a/translations/ko.json b/translations/ko.json index 738d8217f6..d9b471833c 100644 --- a/translations/ko.json +++ b/translations/ko.json @@ -329,7 +329,6 @@ "deny": "거절", "derivation-path": "파생 경로", "description": "설명", - "desktop-alpha-release-warning": "스테이터스 데스크탑을 사용해주셔서 감사합니다! 스테이터스 데스크탑은 채팅에 초점을 맞춘 초기 알파 버전이며, 모바일 클라이언트에는 있고 데스크탑에는 없는 몇가지 기능들은 현재 개발 중입니다. 테스트 목적으로만 프로그램을 사용하시는 것을 권장하며, 사용 중에 버그 및 기타 문제가 있을 수 있습니다. 이와 관련하여 데이터 및 자산과 관련된 모든 위험에 대한 책임은 전적으로 귀하에게 있음을 알려드립니다. 스테이터스는 현재 빌드에서 완벽한 보안성이나 무결성을 보장하지 않습니다.", "dev-mode": "개발 모드", "dev-mode-settings": "개발 모드 설정", "device-syncing": "기기 동기화", @@ -1069,7 +1068,6 @@ "url": "URL", "usd-currency": "USD", "use-valid-contact-code": "유효한 채팅 키 또는 사용자 이름을 입력하거나 스캔하십시오", - "use-valid-contact-code-desktop": "유효한 채팅 키 또는 사용자 이름을 입력해주세요", "user-not-found": "사용자를 찾을 수 없습니다", "validation-amount-invalid-number": "잘못된 수량입니다", "validation-amount-is-too-precise": "액수가 너무 정확합니다. 최대 소수점 자리수는 {{decimals}}입니다.", @@ -1149,4 +1147,4 @@ "your-keys": "계정 목록", "your-recovery-phrase": "시드 구문", "your-recovery-phrase-description": "위 12단어가 사용자의 시드 구문입니다. 이 구문은 사용자의 지갑을 증명하기 위해 반드시 필요하며, 이번 한번만 확인할 수 있습니다. 지갑을 분실하거나 재설치하는 경우 반드시 필요하므로 안전한 장소에 보관하세요." -} \ No newline at end of file +} diff --git a/translations/ms.json b/translations/ms.json index 2873de7f28..cb87072b05 100644 --- a/translations/ms.json +++ b/translations/ms.json @@ -198,7 +198,6 @@ "delete-network-title": "Padam rangkaian?", "deny": "Nafikan", "description": "Penerangan", - "desktop-alpha-release-warning": "Terima kasih kerana mencuba Status Desktop! Ini adalah pelepasan percubaan awal yang difokuskan pada sembang, dan tiada beberapa ciri yang terdapat pada klien mudah alih dan mungkin mengandungi pepijat dan isu-isu lain. Sila ambil perhatian bahawa ini adalah pelepasan percubaan dan kami menasihati anda bahawa penggunaan aplikasi ini cuma dilakukan untuk tujuan pengujian sahaja dan anda bertanggungjawab sepenuhnya terhadap semua risiko yang berkaitan dengan data dan dana anda. Status tidak membuat tuntutan janji keselamatan atau integriti dana anda dalam binaan ini.", "dev-mode": "Mod pembangunan", "devices": "Peranti", "disconnected": "Menyambung ke peer...", @@ -489,4 +488,4 @@ "yes": "Ya", "You": "Anda", "you-are-all-set": "Anda telah siap sedia!" -} \ No newline at end of file +} diff --git a/translations/pt_BR.json b/translations/pt_BR.json index 869a565bd4..b4f48cf83d 100644 --- a/translations/pt_BR.json +++ b/translations/pt_BR.json @@ -333,7 +333,6 @@ "deny": "Negar", "derivation-path": "Caminho de derivação", "description": "Descrição", - "desktop-alpha-release-warning": "Obrigado por experimentar o Status Desktop! Esta é uma versão alfa inicial focada no bate-papo e faltam vários recursos encontrados no cliente móvel e podem conter bugs e outros problemas. Observe que esta é uma versão alfa e recomendamos que o uso deste aplicativo seja feito apenas para fins de teste e você assume a total responsabilidade por todos os riscos relacionados a seus dados e fundos. O status não faz reivindicações de segurança ou integridade de fundos nessas compilações.", "dev-mode": "Modo de desenvolvimento", "dev-mode-settings": "Configurações do modo de desenvolvimento", "device-syncing": "Sincronização de dispositivos", @@ -1073,7 +1072,6 @@ "url": "URL", "usd-currency": "USD", "use-valid-contact-code": "Digite ou verifique uma chave de bate-papo ou nome de usuário válidos", - "use-valid-contact-code-desktop": "Por favor, insira um nome de usuário válido ou uma chave de chat", "user-not-found": "Usuário não encontrado", "validation-amount-invalid-number": "Quantidade não é um número válido", "validation-amount-is-too-precise": "O valor é muito preciso. O número máximo de casas decimais é {{decimals}} .", @@ -1154,4 +1152,4 @@ "your-keys": "Suas chaves", "your-recovery-phrase": "Sua frase-semente", "your-recovery-phrase-description": "Esta é sua frase-semente. Você o usa para provar que esta é sua carteira. Você só pode vê-lo uma vez! Escreva no papel e mantenha em um lugar seguro. Você vai precisar dele se você perder ou reinstalar sua carteira." -} \ No newline at end of file +} diff --git a/translations/ru.json b/translations/ru.json index 39bc509f6a..d0b1bb740c 100644 --- a/translations/ru.json +++ b/translations/ru.json @@ -351,7 +351,6 @@ "deny": "Отказать", "derivation-path": "Путь извлечения", "description": "Описание", - "desktop-alpha-release-warning": "Спасибо за попытку Status Desktop! Это ранняя альфа-версия, ориентированная на чат, в которой отсутствуют некоторые функции мобильного клиента, и она может содержать ошибки и другие проблемы. Обратите внимание, что это альфа-версия, мы советуем вам использовать это приложение только для целей тестирования, и вы берете на себя полную ответственность за все риски, касающиеся ваших данных и средств. Status не претендует на безопасность или сохранность средств в этих сборках.", "dev-mode": "Режим разработки", "dev-mode-settings": "Настройки режима разработки", "device-syncing": "Синхронизация устройств", @@ -1066,7 +1065,6 @@ "url": "URL-адрес", "usd-currency": "USD", "use-valid-contact-code": "Пожалуйста, введите или отсканируйте действительный код контакта или имя пользователя", - "use-valid-contact-code-desktop": "Пожалуйста, введите действительный код контакта или имя пользователя", "user-not-found": "Пользователь не найден", "validation-amount-invalid-number": "Сумма не является действительным числом", "validation-amount-is-too-precise": "Слишком много чисел после запятой. {{decimals}} – это максимальное допустимое количество знаков после запятой.", @@ -1148,4 +1146,4 @@ "your-keys": "Ваши ключи", "your-recovery-phrase": "Ваша фраза восстановления", "your-recovery-phrase-description": "Это ваша фраза восстановления. Она нужна для того, чтобы доказать, что это ваш кошелек. Вы можете ее увидеть только один раз! Запишите ее на бумаге и храните в надежном месте. Она понадобится вам, если вы потеряете или переустановите свой кошелек." -} \ No newline at end of file +} diff --git a/translations/tr.json b/translations/tr.json index 577d281c15..7323ed02ee 100644 --- a/translations/tr.json +++ b/translations/tr.json @@ -335,7 +335,6 @@ "deny": "Reddet", "derivation-path": "Türetme yolu", "description": "Açıklama", - "desktop-alpha-release-warning": "Status Desktop'ı denediğiniz için teşekkür ederiz! Bu, sohbete odaklanan erken bir alfa sürümüdür ve mobil uygulamada bulunan birkaç özellik eksiktir.Hatalar ve diğer sorunlar içerebilir. Bu bir alfa sürümü olduğunu ve uygulamayı sadece test amaçlı kullanılması gerektiğini ve veri,fonlar ile ilgili tüm risklerin tam sorumluluğunu üstlenmenizi öneririz.Lüfen unutmayın. Status, herhangi bir güvenlik veya fon bütünlüğü iddiasında bulunmaz.", "dev-mode": "Geliştirici Modu", "dev-mode-settings": "Geliştirme modu ayarları", "device-syncing": "Cihaz senkronizasyonu", @@ -1077,7 +1076,6 @@ "url": "URL", "usd-currency": "Usd", "use-valid-contact-code": "Lütfen geçerli bir sohbet anahtarı veya kullanıcı adı girin veya tarayın", - "use-valid-contact-code-desktop": "Lütfen geçerli bir sohbet anahtarı veya kullanıcı adı girin", "user-not-found": "Kullanıcı bulunamadı", "validation-amount-invalid-number": "Tutar geçerli bir sayı değil", "validation-amount-is-too-precise": "Tutar çok hassas. Maksimum ondalık sayı {{decimals}}", @@ -1158,4 +1156,4 @@ "your-keys": "Senin anahtarların", "your-recovery-phrase": "Kelime imzanız", "your-recovery-phrase-description": "Bu senin kelime imzan. Bunu senin cüzdanın olduğunu kanıtlamak için kullanıyorsun. Sadece bir kez görüyorsunuz! Kağıda yazın ve güvenli bir yerde saklayın. Cüzdanınızı kaybederseniz veya uygulamayı yeniden yüklerseniz ihtiyacınız olacak." -} \ No newline at end of file +} diff --git a/translations/zh.json b/translations/zh.json index 0a6956df7b..0cceef4a38 100644 --- a/translations/zh.json +++ b/translations/zh.json @@ -329,7 +329,6 @@ "deny": "拒绝", "derivation-path": "派生路径", "description": "描述", - "desktop-alpha-release-warning": "感谢您尝试使用Status桌面版!与手机版功能稍有不同,这一版是早期alpha版本,重点聚焦聊天功能,可能存在一些有待改善的问题。\n请注意,这是一个alpha版本,仅限于测试目的,数据和资金相关的信息,请务必妥善处理与保管,所有风险将由使用者个人承担。此外,针对安全性或资金完整性,在这一版中,Status不做任何声明。", "dev-mode": "开发模式", "dev-mode-settings": "开发模式设置", "device-syncing": "设备同步", @@ -1069,7 +1068,6 @@ "url": "链接", "usd-currency": "USD", "use-valid-contact-code": "请输入或扫描有效的聊天码或用户名", - "use-valid-contact-code-desktop": "请输入有效的聊天码或者用户名", "user-not-found": "未找到用户", "validation-amount-invalid-number": "金额不是一个有效的数字", "validation-amount-is-too-precise": "金额太精确了。最大小数位数为{{decimals}} 。", @@ -1149,4 +1147,4 @@ "your-keys": "您的账户", "your-recovery-phrase": "您的助记词", "your-recovery-phrase-description": "这是您的助记词。您需要用它来证明这个钱包属于您。您只能查看一次!请将其写在纸上并保存在安全的地方。如果丢失或重新安装钱包,您将需要用到这些助记词。" -} \ No newline at end of file +} diff --git a/translations/zh_Hans_CN.json b/translations/zh_Hans_CN.json index 3e7f6ec8b5..73ab9ee92f 100644 --- a/translations/zh_Hans_CN.json +++ b/translations/zh_Hans_CN.json @@ -293,7 +293,6 @@ "delete-network-title": "删除网络?", "deny": "拒绝", "description": "简介", - "desktop-alpha-release-warning": "感谢您尝试使用Status桌面版!与手机版功能稍有不同,这一版是早期alpha版本,重点聚焦聊天功能,可能存在一些有待改善的问题。\n请注意,这是一个alpha版本,仅限于测试目的,数据和资金相关的信息,请务必妥善处理与保管,所有风险将由使用者个人承担。此外,针对安全性或资金完整性,在这一版中,Status不做任何声明。", "dev-mode": "开发模式", "dev-mode-settings": "开发模式设置", "device-syncing": "设备同步", @@ -904,7 +903,6 @@ "url": "链接", "usd-currency": "USD", "use-valid-contact-code": "请输入或扫描有效的联系人代码或用户名", - "use-valid-contact-code-desktop": "请输入有效的聊天码或者用户名", "validation-amount-invalid-number": "金额不是一个有效的数字", "validation-amount-is-too-precise": "金额太精确了。最大小数位数为{{decimals}} 。", "version": "版本", diff --git a/translations/zh_TW.json b/translations/zh_TW.json index b5c743d53e..410a4cb8f7 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -329,7 +329,6 @@ "deny": "拒絕", "derivation-path": "推導路徑", "description": "描述", - "desktop-alpha-release-warning": "感謝您安裝Status桌面程式!這是針對聊天的早期Alpha版本,缺少行動用戶端中的一些功能,並且可能包含錯誤和其他問題。\n請注意,這是一個Alpha版本,我們建議您僅在出於測試目的下,使用此應用程式,並自行承擔與您的數據和資金有關的所有風險,以及全部責任。在這些版本中,Status不保證任何資金的安全性或完整性。", "dev-mode": "開發人員模式", "dev-mode-settings": "開發模式設定", "device-syncing": "設備同步", @@ -1069,7 +1068,6 @@ "url": "網址", "usd-currency": "美元", "use-valid-contact-code": "請輸入或掃描有效的聊天金鑰或用戶名", - "use-valid-contact-code-desktop": "請輸入有效的聊天金鑰或用戶名稱", "user-not-found": "找不到使用者", "validation-amount-invalid-number": "金額不是有效數字", "validation-amount-is-too-precise": "金額太精確了。小數點後的位數最多為{{decimals}}", @@ -1149,4 +1147,4 @@ "your-keys": "你的金鑰", "your-recovery-phrase": "您的種子詞組", "your-recovery-phrase-description": "這是您的種子詞組,能用它來證明這是您的錢包。您只會看到一次!請將其寫在紙上,並存放在安全的地方。如果裝置遺失或想重新安裝錢包,將需要它。" -} \ No newline at end of file +} diff --git a/translations/zh_hans.json b/translations/zh_hans.json index 1a2b3b8334..8e8b27dbfa 100644 --- a/translations/zh_hans.json +++ b/translations/zh_hans.json @@ -274,7 +274,6 @@ "delete-network-title": "删除网络?", "deny": "拒绝", "description": "简介", - "desktop-alpha-release-warning": "感谢您尝试使用Status桌面版!与手机版功能稍有不同,这一版是早期alpha版本,重点聚焦聊天功能,可能存在一些有待改善的问题。\n请注意,这是一个alpha版本,仅限于测试目的,数据和资金相关的信息,请务必妥善处理与保管,所有风险将由使用者个人承担。此外,针对安全性或资金完整性,在这一版中,Status不做任何声明。", "dev-mode": "开发模式", "devices": "设备", "disable": "禁用", @@ -844,7 +843,6 @@ "url": "链接", "usd-currency": "USD", "use-valid-contact-code": "请输入或扫描有效的联系人代码或用户名", - "use-valid-contact-code-desktop": "请输入有效的联系人代码或者用户名", "validation-amount-invalid-number": "金额不是一个有效的数字", "validation-amount-is-too-precise": "金额过于精确,所能发送的最小单位是1 Wei (1x10^-18 ETH)", "version": "版本", diff --git a/ubuntu-server.js b/ubuntu-server.js deleted file mode 100755 index ddc03391b4..0000000000 --- a/ubuntu-server.js +++ /dev/null @@ -1,143 +0,0 @@ -#!/usr/bin/env node - -/** - * Copyright (C) 2016, Canonical Ltd. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - - console.debug = console.log; - - -var net = require('net'); -var repl = require('repl'); -var vm = require('vm'); -var util = require('util'); -var Buffer = require('buffer').Buffer; - -var DEBUG = 1; - -function rnUbuntuServer(readable, writable) { - console.reportErrorsAsExceptions = false; // XXX: - var sandbox = { console: console, util: util }; - vm.createContext(sandbox); - - var state = 'start'; - var length = 0; - var buffer = new Buffer(0); - - var internalEval = function(code) { - DEBUG > 3 && console.error("-- internalEval: executing script(length=" + code.length + "): " + code.slice(0, 80) + " ... " + code.slice(-80)); - DEBUG > 3 && console.error("-- before sandbox=" + util.inspect(sandbox, { colors: true, depth: null })); - var result = vm.runInContext(code, sandbox); - DEBUG > 3 && console.error("-- internalEval: result = " + result); - DEBUG > 3 && console.error("-- after sandbox=" + util.inspect(sandbox, { colors: true, depth: null })); - return result; - }; - - var sendResponse = function(result) { - function sendResponsePacket(response) { - const sizeBuf = new Buffer(4); - const dataBuf = new Buffer(response); - sizeBuf.writeUInt32LE(dataBuf.length, 0); - writable.write(sizeBuf); - writable.write(dataBuf); - } - - var stringifiedResult = JSON.stringify(result); - DEBUG > 3 && console.error("-- sending result=" + stringifiedResult); - if (stringifiedResult === undefined) { - sendResponsePacket('undefined'); - return; - } - sendResponsePacket(stringifiedResult); - } - - readable.on('error', function (exc) { - console.warn("ignoring exception: " + exc); - }); - - readable.on('data', function(chunk) { - DEBUG > 2 && console.error("-- Data received from RN Client: state = " + state) - DEBUG > 2 && console.error("-- chunk length: " + chunk.length) - DEBUG > 2 && console.error("-- buffer length(original): " + buffer.length) - - if (chunk == null || state === 'eof') - return; - - buffer = Buffer.concat([buffer, chunk]); - DEBUG > 2 && console.error("-- buffer length(concat): " + buffer.length) - - while(true) { - if (state === 'start') { - if (buffer.length < 4) - return; - length = buffer.readUInt32LE(0); - DEBUG > 2 && console.error("-- New Packet: length=" + length); - - if (buffer.length >= length + 4) { - var result = internalEval(buffer.toString('utf8', 4, length + 4)); - var tmpBuffer = new Buffer(buffer.length - 4 - length); - buffer.copy(tmpBuffer, 0, length + 4, buffer.length); - buffer = tmpBuffer; - sendResponse(result); - } else { - state = 'script'; - } - } - - if (state === 'script') { - DEBUG > 2 && console.error("-- Packet length: " + length); - if (buffer.length >= length + 4) { - var result = internalEval(buffer.toString('utf8', 4, length + 4)); - var tmpBuffer = new Buffer(buffer.length - 4 - length); - buffer.copy(tmpBuffer, 0, length + 4, buffer.length); - buffer = tmpBuffer; - state = 'start'; - sendResponse(result); - } else { - return; - } - } - } - }); - - readable.on('end', function() { - state = 'eof'; - DEBUG && console.error("-- Session ended"); - }); -} - -var closeDangerousConnection = function(sock) { - var remoteAddress = sock.remoteAddress; - if(remoteAddress.indexOf("127.0.0.1") == -1) { - console.log("WARN: connection not from localhost, will be closed: ", remoteAddress); - sock.destroy(); - return true; - } else { - console.log("Connection from: ", remoteAddress); - return false; - } -} - -if (process.argv.indexOf('--pipe') != -1) { - console.log = console.error - rnUbuntuServer(process.stdin, process.stdout); -} else { - var port = process.env['REACT_SERVER_PORT'] || 5000; - process.argv.forEach((val, index) => { - if (val == '--port') { - port = process.argv[++index]; - } - }); - - var server = net.createServer((sock) => { - DEBUG && console.error("-- Connection from RN client"); - if(!closeDangerousConnection(sock)) - rnUbuntuServer(sock, sock); - }).listen(port, function() { console.error("-- Server starting") }); -} diff --git a/mobile/js_files/yarn.lock b/yarn.lock similarity index 99% rename from mobile/js_files/yarn.lock rename to yarn.lock index 8ea3b9e49f..a5e0e71eec 100644 --- a/mobile/js_files/yarn.lock +++ b/yarn.lock @@ -6547,10 +6547,6 @@ react-native-navigation-bar-color@^2.0.1: resolved "https://registry.yarnpkg.com/react-native-navigation-bar-color/-/react-native-navigation-bar-color-2.0.1.tgz#ee2be25cc37105f7da355717b0a9a32c9c059ae6" integrity sha512-1kE/oxWt+HYjRxdZdvke9tJ365xaee5n3+euOQA1En8zQuSbOxiE4SYEGM7TeaWnmLJ0l37mRnPHaB2H4mGh0A== -"react-native-navigation-twopane@git+https://github.com/status-im/react-native-navigation-twopane.git#v0.0.2-status": - version "0.0.2" - resolved "git+https://github.com/status-im/react-native-navigation-twopane.git#04ed5fddfb46a6a3ee30776987acb4d3b11c27d4" - react-native-reanimated@^1.7.0: version "1.8.0" resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-1.8.0.tgz#0b5719b20c1fed9aaf8afd9a12e21c9bd46ee428"