From 4158c77e9e27cba468628b83eb610299fa880430 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 23 Dec 2018 12:23:15 -0600 Subject: [PATCH 001/131] Functioning iOS --- .babelrc | 2 +- .flowconfig | 43 +- .gitignore | 11 +- android/app/build.gradle | 21 +- android/app/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + android/app/gradlew | 160 + android/app/gradlew.bat | 90 + android/app/proguard-rules.pro | 2 +- android/app/src/main/AndroidManifest.xml | 2 +- .../com/standardnotes/MainApplication.java | 14 + .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 3269 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes android/build.gradle | 15 + android/gradle.properties | 3 +- android/gradle/wrapper/gradle-wrapper.jar | Bin 52266 -> 54329 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- android/gradlew | 78 +- android/gradlew.bat | 14 +- .../xcschemes/StandardNotes-tvOS.xcscheme | 2 +- .../xcschemes/StandardNotes.xcscheme | 2 +- ios/StandardNotes/AppDelegate.m | 18 +- .../Images.xcassets/Contents.json | 2 +- ios/StandardNotes/main.m | 6 +- ios/StandardNotesTests/Info.plist | 2 +- ios/StandardNotesTests/StandardNotesTests.m | 6 +- package-lock.json | 4428 ++++++++--------- package.json | 4 +- vendor/react-native-aes | 2 +- vendor/react-native-fingerprint-scanner | 2 +- vendor/react-native-navigation | 2 +- yarn.lock | 3811 ++++++++++---- 36 files changed, 5452 insertions(+), 3298 deletions(-) create mode 100644 android/app/gradle/wrapper/gradle-wrapper.jar create mode 100644 android/app/gradle/wrapper/gradle-wrapper.properties create mode 100644 android/app/gradlew create mode 100644 android/app/gradlew.bat create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/.babelrc b/.babelrc index a9ce1369..d4b74b5b 100644 --- a/.babelrc +++ b/.babelrc @@ -1,3 +1,3 @@ { - "presets": ["react-native"] + "presets": ["module:metro-react-native-babel-preset"] } diff --git a/.flowconfig b/.flowconfig index 83461209..1043c82d 100644 --- a/.flowconfig +++ b/.flowconfig @@ -12,34 +12,59 @@ ; For RN Apps installed via npm, "Libraries" folder is inside ; "node_modules/react-native" but in the source repo it is in the root .*/Libraries/react-native/React.js -.*/Libraries/react-native/ReactNative.js + +; Ignore polyfills +.*/Libraries/polyfills/.* + +; Ignore metro +.*/node_modules/metro/.* [include] [libs] node_modules/react-native/Libraries/react-native/react-native-interface.js -node_modules/react-native/flow -flow/ +node_modules/react-native/flow/ +node_modules/react-native/flow-github/ [options] emoji=true +esproposal.optional_chaining=enable +esproposal.nullish_coalescing=enable + module.system=haste +module.system.haste.use_name_reducers=true +# get basename +module.system.haste.name_reducers='^.*/\([a-zA-Z0-9$_.-]+\.js\(\.flow\)?\)$' -> '\1' +# strip .js or .js.flow suffix +module.system.haste.name_reducers='^\(.*\)\.js\(\.flow\)?$' -> '\1' +# strip .ios suffix +module.system.haste.name_reducers='^\(.*\)\.ios$' -> '\1' +module.system.haste.name_reducers='^\(.*\)\.android$' -> '\1' +module.system.haste.name_reducers='^\(.*\)\.native$' -> '\1' +module.system.haste.paths.blacklist=.*/__tests__/.* +module.system.haste.paths.blacklist=.*/__mocks__/.* +module.system.haste.paths.blacklist=/node_modules/react-native/Libraries/Animated/src/polyfills/.* +module.system.haste.paths.whitelist=/node_modules/react-native/Libraries/.* munge_underscores=true module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub' +module.file_ext=.js +module.file_ext=.jsx +module.file_ext=.json +module.file_ext=.native.js + suppress_type=$FlowIssue suppress_type=$FlowFixMe -suppress_type=$FixMe +suppress_type=$FlowFixMeProps +suppress_type=$FlowFixMeState -suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(4[0-9]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) -suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(4[0-9]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ +suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) +suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError -unsafe.enable_getters_and_setters=true - [version] -^0.49.1 +^0.78.0 diff --git a/.gitignore b/.gitignore index 10be1975..5d647565 100644 --- a/.gitignore +++ b/.gitignore @@ -46,8 +46,11 @@ buck-out/ # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the # screenshots whenever they are needed. # For more information about the recommended setup visit: -# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md +# https://docs.fastlane.tools/best-practices/source-control/ -fastlane/report.xml -fastlane/Preview.html -fastlane/screenshots +*/fastlane/report.xml +*/fastlane/Preview.html +*/fastlane/screenshots + +# Bundle artifact +*.jsbundle diff --git a/android/app/build.gradle b/android/app/build.gradle index 826b1e17..56424e40 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -72,6 +72,10 @@ import com.android.build.OutputFile * ] */ +project.ext.react = [ + entryFile: "index.js" +] + apply from: "../../node_modules/react-native/react.gradle" /** @@ -90,16 +94,17 @@ def enableSeparateBuildPerCPUArchitecture = false def enableProguardInReleaseBuilds = false android { - compileSdkVersion 26 - buildToolsVersion "26.0.2" + compileSdkVersion rootProject.ext.compileSdkVersion + buildToolsVersion rootProject.ext.buildToolsVersion defaultConfig { applicationId "com.standardnotes" - minSdkVersion 21 - targetSdkVersion 25 + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion versionCode 2031000 versionName "2.3.10" multiDexEnabled true + ndk { abiFilters "armeabi-v7a", "x86" } @@ -147,9 +152,10 @@ android { } dependencies { + compile fileTree(include: ['*.jar'], dir: 'libs') - compile 'com.android.support:appcompat-v7:26.0.0' - compile project(':ReactAndroid'); + + // compile project(':ReactAndroid'); compile project(':bugsnag-react-native') compile project(':RNMail') compile project(':SNTextView') @@ -159,6 +165,9 @@ dependencies { compile project(':react-native-aes-crypto') compile project(':react-native-fingerprint-scanner') compile project(':react-native-flag-secure-android') + + implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" + implementation "com.facebook.react:react-native:+" // From node_modules } // Run this once to be able to run the application with BUCK diff --git a/android/app/gradle/wrapper/gradle-wrapper.jar b/android/app/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..13372aef5e24af05341d49695ee84e5f9b594659 GIT binary patch literal 53636 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ⅅ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 H-+%o-(+5aQ literal 0 HcmV?d00001 diff --git a/android/app/gradle/wrapper/gradle-wrapper.properties b/android/app/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..ec153d72 --- /dev/null +++ b/android/app/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Thu Nov 09 11:32:04 CST 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip diff --git a/android/app/gradlew b/android/app/gradlew new file mode 100644 index 00000000..9d82f789 --- /dev/null +++ b/android/app/gradlew @@ -0,0 +1,160 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/android/app/gradlew.bat b/android/app/gradlew.bat new file mode 100644 index 00000000..aec99730 --- /dev/null +++ b/android/app/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro index 4ef59e64..7e971b16 100644 --- a/android/app/proguard-rules.pro +++ b/android/app/proguard-rules.pro @@ -77,4 +77,4 @@ # Samsung Fingerprint -keep class com.samsung.android.sdk.** { *; } --dontwarn com.samsung.android.sdk.** \ No newline at end of file +-dontwarn com.samsung.android.sdk.** diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index d86153c7..6b4c69af 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -18,9 +18,9 @@ getPackages() { new FlagSecurePackage() ); } +// ======= +// @Override +// protected List getPackages() { +// return Arrays.asList( +// new MainReactPackage() +// ); +// } +// +// @Override +// protected String getJSMainModuleName() { +// return "index"; +// } +// }; +// >>>>>>> theirs @Override @Nullable diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..1b523998081149a985cef0cdf89045b9ed29964a GIT binary patch literal 5024 zcmV;R6JP9!P)T-ViIFIPY+_yk1-RB&z5bHD$YnPieqLK5EI`ThRCq%$YyeCI#k z>wI&j0Rb2DV5|p6T3Syaq)GU^8BR8(!9qaEe6w+TJxLZtBeQf z`>{w%?oW}WhJSMi-;YIE3P2FtzE8p;}`HCT>Lt1o3h65;M`4J@U(hJSYlTt_?Ucf5~AOFjBT-*WTiV_&id z?xIZPQ`>7M-B?*vptTsj)0XBk37V2zTSQ5&6`0#pVU4dg+Hj7pb;*Hq8nfP(P;0i% zZ7k>Q#cTGyguV?0<0^_L$;~g|Qqw58DUr~LB=oigZFOvHc|MCM(KB_4-l{U|t!kPu z{+2Mishq{vnwb2YD{vj{q`%Pz?~D4B&S9Jdt##WlwvtR2)d5RdqcIvrs!MY#BgDI# z+FHxTmgQp-UG66D4?!;I0$Csk<6&IL09jn+yWmHxUf)alPUi3jBIdLtG|Yhn?vga< zJQBnaQ=Z?I+FZj;ke@5f{TVVT$$CMK74HfIhE?eMQ#fvN2%FQ1PrC+PAcEu?B*`Ek zcMD{^pd?8HMV94_qC0g+B1Z0CE-pcWpK=hDdq`{6kCxxq^X`oAYOb3VU6%K=Tx;aG z*aW$1G~wsy!mL})tMisLXN<*g$Kv)zHl{2OA=?^BLb)Q^Vqgm?irrLM$ds;2n7gHt zCDfI8Y=i4)=cx_G!FU+g^_nE(Xu7tj&a&{ln46@U3)^aEf}FHHud~H%_0~Jv>X{Pm z+E&ljy!{$my1j|HYXdy;#&&l9YpovJ;5yoQYJ+hw9>!H{(^6+$(%!(HeR~&MP-UER zPR&hH$w*_)D3}#A2joDlamSP}n%Y3H@pNb1wE=G1TFH_~Lp-&?b+q%;2IF8njO(rq zQVx(bn#@hTaqZZ1V{T#&p)zL%!r8%|p|TJLgSztxmyQo|0P;eUU~a0y&4)u?eEeGZ z9M6iN2(zw9a(WoxvL%S*jx5!2$E`ACG}F|2_)UTkqb*jyXm{3{73tLMlU%IiPK(UR4}Uv87uZIacp(XTRUs?6D25qn)QV%Xe&LZ-4bUJM!ZXtnKhY#Ws)^axZkui_Z=7 zOlc@%Gj$nLul=cEH-leGY`0T)`IQzNUSo}amQtL)O>v* zNJH1}B2znb;t8tf4-S6iL2_WuMVr~! zwa+Are(1_>{zqfTcoYN)&#lg$AVibhUwnFA33`np7$V)-5~MQcS~aE|Ha>IxGu+iU z`5{4rdTNR`nUc;CL5tfPI63~BlehRcnJ!4ecxOkD-b&G%-JG+r+}RH~wwPQoxuR(I z-89hLhH@)Hs}fNDM1>DUEO%{C;roF6#Q7w~76179D?Y9}nIJFZhWtv`=QNbzNiUmk zDSV5#xXQtcn9 zM{aI;AO6EH6GJ4^Qk!^F?$-lTQe+9ENYIeS9}cAj>Ir`dLe`4~Dulck2#9{o}JJ8v+QRsAAp*}|A^ z1PxxbEKFxar-$a&mz95(E1mAEVp{l!eF9?^K43Ol`+3Xh5z`aC(r}oEBpJK~e>zRtQ4J3K*r1f79xFs>v z5yhl1PoYg~%s#*ga&W@K>*NW($n~au>D~{Rrf@Tg z^DN4&Bf0C`6J*kHg5nCZIsyU%2RaiZkklvEqTMo0tFeq7{pp8`8oAs7 z6~-A=MiytuV+rI2R*|N=%Y));j8>F)XBFn`Aua-)_GpV`#%pda&MxsalV15+%Oy#U zg!?Gu&m@yfCi8xHM>9*N8|p5TPNucv?3|1$aN$&X6&Ge#g}?H`)4ncN@1whNDHF7u z2vU*@9OcC-MZK}lJ-H5CC@og69P#Ielf`le^Om4BZ|}OK33~dC z9o-007j1SXiTo3P#6`YJ^T4tN;KHfgA=+Bc0h1?>NT@P?=}W;Z=U;!nqzTHQbbu37 zOawJK2$GYeHtTr7EIjL_BS8~lBKT^)+ba(OWBsQT=QR3Ka((u#*VvW=A35XWkJ#?R zpRksL`?_C~VJ9Vz?VlXr?cJgMlaJZX!yWW}pMZni(bBP>?f&c#+p2KwnKwy;D3V1{ zdcX-Pb`YfI=B5+oN?J5>?Ne>U!2oCNarQ&KW7D61$fu$`2FQEWo&*AF%68{fn%L<4 zOsDg%m|-bklj!%zjsYZr0y6BFY|dpfDvJ0R9Qkr&a*QG0F`u&Rh{8=gq(fuuAaWc8 zRmup;5F zR3altfgBJbCrF7LP7t+8-2#HL9pn&HMVoEnPLE@KqNA~~s+Ze0ilWm}ucD8EVHs;p z@@l_VDhtt@6q zmV7pb1RO&XaRT)NOe-&7x7C>07@CZLYyn0GZl-MhPBNddM0N}0jayB22swGh3C!m6~r;0uCdOJ6>+nYo*R9J7Pzo%#X_imc=P;u^O*#06g*l)^?9O^cwu z>?m{qW(CawISAnzIf^A@vr*J$(bj4fMWG!DVMK9umxeS;rF)rOmvZY8%sF7i3NLrQ zCMI5u5>e<&Y4tpb@?!%PGzlgm_c^Z7Y6cO6C?)qfuF)!vOkifE(aGmXko*nI3Yr5_ zB%dP>Y)esVRQrVbP5?CtAV%1ftbeAX zSO5O8m|H+>?Ag7NFznXY-Y8iI#>Xdz<)ojC6nCuqwTY9Hlxg=lc7i-4fdWA$x8y)$ z1cEAfv{E7mnX=ZTvo30>Vc{EJ_@UqAo91Co;@r;u7&viaAa=(LUNnDMq#?t$WP2mu zy5`rr8b||Z0+BS)Iiwj0lqg10xE8QkK#>Cp6zNdxLb-wi+CW5b7zH2+M4p3Cj%WpQ zvV+J2IY@kOFU_|NN}2O}n#&F1oX*)lDd-WJICcPhckHVB{_D}UMo!YA)`reITkCv& z+h-AyO1k3@ZEIrpHB)j~Z(*sF@TFpx2IVtytZ1!gf7rg2x94b*P|1@%EFX{|BMC&F zgHR4<48Z5Wte`o!m*m@iyK=>9%pqjT=xfgQua>)1| zzH!~jLG!rggat+qAIR%H=jrI#Ppid$J{TDkck^wb>Cbnli}}Mj8!tNfx{tXtDDVA6#7kU4k)m;JoI1>JM_ zq-flQ5dpn>kG~=9u{Kp+hETG^OCq!Y^l7JkwUJNUU7izHmd|F@nB0=X2`Ui?!twzb zGEx%cIl)h?ZV$NTnhB6KFgkkRg&@c7ldg>o!`sBcgi%9RE?paz`QmZ@sF(jo1bt^} zOO5xhg(FXLQ|z)6CE=`kWOCVJNJCs#Lx)8bDSWkN@122J_Z`gpPK4kwk4&%uxnuQ z^m`!#WD#Y$Wd7NSpiP4Y;lHtj;pJ#m@{GmdPp+;QnX&E&oUq!YlgQ%hIuM43b=cWO zKEo!Er{mwD8T1>Qs$i2XjF2i zo0yfpKQUwdThrD(TOIY_s`L@_<}B|w^!j*FThM0+#t0G?oR`l(S(2v&bXR}F6HLMU zhVvD4K!6s}uUD^L;|Sxgrb+kFs%8d8Ma>5A9p~uUO=yF*;%~xvAJiA`lls1pq5J%k z6&-yQ$_vP5`-Tr56ws&75Y&Q2;zD?CB_KpRHxzC9hKCR0889>jef)|@@$A?!QIu3r qa)363hF;Bq?>HxvTY6qhhx>m(`%O(!)s{N|00006jj zwslyNbxW4-gAj;v!J{u#G1>?8h`uw{1?o<0nB+tYjKOW@kQM}bUbgE7^CRD4K zgurXDRXWsX-Q$uVZ0o5KpKdOl5?!YGV|1Cict&~YiG*r%TU43m2Hf99&})mPEvepe z0_$L1e8*kL@h2~YPCajw6Kkw%Bh1Pp)6B|t06|1rR3xRYjBxjSEUmZk@7wX+2&-~! z!V&EdUw!o7hqZI=T4a)^N1D|a=2scW6oZU|Q=}_)gz4pu#43{muRW1cW2WC&m-ik? zskL0dHaVZ5X4PN*v4ZEAB9m;^6r-#eJH?TnU#SN&MO`Aj%)ybFYE+Pf8Vg^T3ybTl zu50EU=3Q60vA7xg@YQ$UKD-7(jf%}8gWS$_9%)wD1O2xB!_VxzcJdN!_qQ9j8#o^Kb$2+XTKxM8p>Ve{O8LcI(e2O zeg{tPSvIFaM+_Ivk&^FEk!WiV^;s?v8fmLglKG<7EO3ezShZ_0J-`(fM;C#i5~B@w zzx;4Hu{-SKq1{ftxbjc(dX3rj46zWzu02-kR>tAoFYDaylWMJ`>FO2QR%cfi+*^9A z54;@nFhVJEQ{88Q7n&mUvLn33icX`a355bQ=TDRS4Uud|cnpZ?a5X|cXgeBhYN7btgj zfrwP+iKdz4?L7PUDFA_HqCI~GMy`trF@g!KZ#+y6U%p5#-nm5{bUh>vhr^77p~ zq~UTK6@uhDVAQcL4g#8p-`vS4CnD9M_USvfi(M-;7nXjlk)~pr>zOI`{;$VXt;?VTNcCePv4 zgZm`^)VCx8{D=H2c!%Y*Sj3qbx z3Bcvv7qRAl|BGZCts{+>FZrE;#w(Yo2zD#>s3a*Bm!6{}vF_;i)6sl_+)pUj?b%BL!T1ELx|Q*Gi=7{Z_>n0I(uv>N^kh|~nJfab z-B6Q6i-x>YYa_42Hv&m>NNuPj31wOaHZ2`_8f~BtbXc@`9CZpHzaE@9sme%_D-HH! z_+C&VZ5tjE65?}X&u-D4AHRJ|7M{hR!}PYPpANP?7wnur`Z(&LFwzUmDz}m6%m#_` zN1ihq8f|zZ&zTL92M2b-hMpPyjp;j(qwgP9x)qI?EZx@<$g#>i7(MC}@*J1VGXm6J ztz1=RK@?%Qz^vmWNydd0K7oyrXw`TLb`z;fP6eV|NZ@9kKH zIyMqzZ9Y_)PZnC#UgW6&o7RiGXSCtSQvnrvJ07P9WCuE5TE27za*L6r1qX7pIDFiP znSaHYJF8sl^n0|3j!i{?fD%?fpQ8-}VX4%STy1t@8)G-8??Fy}j}~2_iJ79Y<9BW~ z!~)T{3Y|lwcVD5s4z^GP5M=~t`V?*Wng7gTvC9%p>ErZpM)pQVx57>AIcf1j4QFg^w>YYB%MypIj2syoXw9$K!N8%s=iPIw!LE-+6v6*Rm zvCqdN&kwI+@pEX0FTb&P)ujD9Td-sLBVV=A$;?RiFOROnT^LC^+PZR*u<3yl z7b%>viF-e48L=c`4Yhgb^U=+w7snP$R-gzx379%&q-0#fsMgvQlo>14~`1YOv{?^ z*^VYyiSJO8fE65P0FORgqSz#mi#9@40VO@TaPOT7pJq3WTK9*n;Niogu+4zte1FUa zyN7rIFbaQxeK{^RC3Iu@_J~ii&CvyWn^W}4wpexHwV9>GKO$zR3a&*L9&AgL=QfA$ z+G-YMq;1D{;N38`jTdN}Pw77sDCR|$2s+->;9U(QdAI7f)tS=AhH53iU?Q%B}x&gA$2B`o|*LCD1jhW zSQpS0{*?u3iXtkY?&2<)$@#zc%$?qDlF1T~d7k&lWaiv^&wbx>zVm(GIrof<%iY)A zm%|rhEg~Z$Te<*wd9Cb1SB{RkOI$-=MBtc%k*xtvYC~Uito}R@3fRUqJvco z|Bt2r9pSOcJocAEd)UN^Tz-82GUZlqsU;wb|2Q_1!4Rms&HO1Xyquft~#6lJoR z`$|}VSy@{k6U652FJ~bnD9(X%>CS6Wp6U>sn;f}te}%WL`rg)qE4Q=4OOhk^@ykw( ziKr^LHnAd4M?#&SQhw8zaC05q#Mc66K^mxY!dZ=W+#Bq1B}cQ6Y8FWd(n>#%{8Di_8$CHibtvP z-x#-g;~Q?y0vJA*8TW>ZxF?fAy1DuFy7%O1ylLF(t=ah7LjZ$=p!;8(ZLjXAhwEkCR{wF`L=hwm>|vLK2=gR&KM1ZEG9R~53yNCZdabQoQ%VsolX zS#WlesPcpJ)7XLo6>Ly$im38oxyiizP&&>***e@KqUk3q3y+LQN^-v?ZmO>9O{Oq@ z{{He$*Z=Kf_FPR>El3iB*FULYFMnLa#Fl^l&|bFg$Omlh{xVVJ7uHm=4WE6)NflH6 z=>z4w{GV&8#MNnEY3*B7pXU!$9v-tZvdjO}9O=9r{3Wxq2QB}(n%%YI$)pS~NEd}U z)n#nv-V)K}kz9M0$hogDLsa<(OS0Hf5^WUKO-%WbR1W1ID$NpAegxHH;em?U$Eyn1 zU{&J2@WqSUn0tav=jR&&taR9XbV+Izb*PwFn|?cv0mksBdOWeGxNb~oR;`~>#w3bp zrOrEQ+BiW_*f&GARyW|nE}~oh0R>>AOH^>NHNKe%%sXLgWRu1Sy3yW0Q#L{8Y6=3d zKd=By=Nb8?#W6|LrpZm>8Ro)`@cLmU;D`d64nKT~6Z!aLOS{m`@oYwD`9yily@}%yr0A>P!6O4G|ImNbBzI`LJ0@=TfLt^f`M07vw_PvXvN{nx%4 zD8vS>8*2N}`lD>M{`v?2!nYnf%+`GRK3`_i+yq#1a1Yx~_1o~-$2@{=r~q11r0oR* zqBhFFVZFx!U0!2CcItqLs)C;|hZ|9zt3k^(2g32!KB-|(RhKbq-vh|uT>jT@tX8dN zH`TT5iytrZT#&8u=9qt=oV`NjC)2gWl%KJ;n63WwAe%-)iz&bK{k`lTSAP`hr)H$Q`Yq8-A4PBBuP*-G#hSKrnmduy6}G zrc+mcVrrxM0WZ__Y#*1$mVa2y=2I`TQ%3Vhk&=y!-?<4~iq8`XxeRG!q?@l&cG8;X zQ(qH=@6{T$$qk~l?Z0@I4HGeTG?fWL67KN#-&&CWpW0fUm}{sBGUm)Xe#=*#W{h_i zohQ=S{=n3jDc1b{h6oTy=gI!(N%ni~O$!nBUig}9u1b^uI8SJ9GS7L#s!j;Xy*CO>N(o6z){ND5WTew%1lr? znp&*SAdJb5{L}y7q#NHbY;N_1vn!a^3TGRzCKjw?i_%$0d2%AR73CwHf z`h4QFmE-7G=psYnw)B!_Cw^{=!UNZeR{(s47|V$`3;-*gneX=;O+eN@+Efd_Zt=@H3T@v&o^%H z7QgDF8g>X~$4t9pv35G{a_8Io>#>uGRHV{2PSk#Ea~^V8!n@9C)ZH#87~ z#{~PUaRR~4K*m4*PI16)rvzdaP|7sE8SyMQYI6!t(%JNebR%?lc$={$s?VBI0Qk!A zvrE4|#asTZA|5tB{>!7BcxOezR?QIo4U_LU?&9Im-liGSc|TrJ>;1=;W?gG)0pQaw z|6o7&I&PH!*Z=c7pNPkp)1(4W`9Z01*QKv44FkvF^2Kdz3gDNpV=A6R;Q}~V-_sZY zB9DB)F8%iFEjK?Gf4$Cwu_hA$98&pkrJM!7{l+}osR_aU2PEx!1CRCKsS`0v$LlKq z{Pg#ZeoBMv@6BcmK$-*|S9nv50or*2&EV`L7PfW$2J7R1!9Q(1SSe42eSWZ5sYU?g z2v{_QB^^jfh$)L?+|M`u-E7D=Hb?7@9O89!bRUSI7uD?Mxh63j5!4e(v)Kc&TUEqy z8;f`#(hwrIeW);FA0CK%YHz6;(WfJz^<&W#y0N3O2&Qh_yxHu?*8z1y9Ua}rECL!5 z7L1AEXx83h^}+)cY*Ko{`^0g3GtTuMP>b$kq;Aqo+2d&+48mc#DP;Sv z*UL^nR*K7J968xR0_eTaZ`N`u_c#9bFUjTj-}0+_57(gtEJT|7PA12W=2Z>#_a z&Wg@_b=$d~wonN3h~?)gS`qxx<4J&`dI*rH9!mTSiQj(0rF-{YoNJRnOqd5IbP7p} ztDaPu$A;#osxf=z2zVe4>tpa(knS_Mp67nKcE<>Cj$G2orP(Z$Oc4;4DPwbXYZsS^ z;b>59s(LgYmx|tkRD?U{+9VZ$T}{S}L6>lQNR^a|&5joAFXtOrI07Do!vk(e$mu@Y zNdN!djB`Hq1*T8mrC@S)MLwZ`&8aM8YYtVj7i)IY{g&D1sJaY`3e=1DSFnjO+jEHH zj+|@r$$4RtpuJ!8=C`n5X;5BjU2slP9VV&m0gr+{O(I}9pYF32AMU?n$k$=x;X^E# zOb-x}p1_`@IOXAj3>HFxnmvBV9M^^9CfD7UlfuH*y^aOD?X6D82p_r*c>DF)m=9>o zgv_SDeSF6WkoVOI<_mX};FlW9rk3WgQP|vr-eVo8!wH!TiX)aiw+I|dBWJX=H6zxx z_tSI2$ChOM+?XlJwEz3!juYU6Z_b+vP-Y|m1!|ahw>Kpjrii-M_wmO@f@7;aK(I;p zqWgn+X^onc-*f)V9Vfu?AHLHHK!p2|M`R&@4H0x4hD5#l1##Plb8KsgqGZ{`d+1Ns zQ7N(V#t49wYIm9drzw`;WSa|+W+VW8Zbbx*Z+aXHSoa!c!@3F_yVww58NPH2->~Ls z2++`lSrKF(rBZLZ5_ts6_LbZG-W-3fDq^qI>|rzbc@21?)H>!?7O*!D?dKlL z6J@yulp7;Yk6Bdytq*J1JaR1!pXZz4aXQ{qfLu0;TyPWebr3|*EzCk5%ImpjUI4cP z7A$bJvo4(n2km-2JTfRKBjI9$mnJG@)LjjE9dnG&O=S;fC)@nq9K&eUHAL%yAPX7OFuD$pb_H9nhd{iE0OiI4#F-);A|&YT z|A3tvFLfR`5NYUkE?Rfr&PyUeFX-VHzcss2i*w06vn4{k1R%1_1+Ygx2oFt*HwfT> zd=PFdfFtrP1+YRs0AVr{YVp4Bnw2HQX-|P$M^9&P7pY6XSC-8;O2Ia4c{=t{NRD=z z0DeYUO3n;p%k zNEmBntbNac&5o#&fkY1QSYA4tKqBb=w~c6yktzjyk_Po)A|?nn8>HdA31amaOf7jX z2qillM8t8V#qv5>19Cg_X`mlU*O5|C#X-kfAXAHAD*q%6+z%IK(*H6olm-N4%Ic)5 zL`?wQgXfD&qQRxWskoO^Ylb>`jelq;*~ZIwKw|#BQjOSLkgc2uy7|oFEVhC?pcnU+ z^7qz}Z2%F!WOp%JO3y*&_7t;uRfU>)drR1q)c7lX?;A1-TuLTR zyr(`7O19`eW{ev;L%`;BvOzh?m|)Rh?W8&I$KVvUTo?@f@K!du&vf=o6kKb?hA z%e6$T0jWS7doVkN%^_k3QOksfV?aC$Ge$a)z(!C@UVs*@qzDw*OFd*JfX#>5LCXjE z_vfUrLF7D`K$U2Ld#OCnh9U!;r7%GlKo$e__Il-oba06ER{H&f#J&W@x^^5j;y$0` zs2`m6pf+{UiDb{Mjsb$rH+MCM6G_wX92so96`ODFYKD>!Xz^0y@U7Tc1uON4L<>2f-oPe%FRPEZ@S#-yd7Md-i?v z)$Kgtq;%4g@>Kap3Nl2I&jnCIfGmRmcF4CXfF1H}3SfhLg8=!a0ucGaUk&c3*Ykgl z2X_L84cs+FD#cjf-nMJkVDH%XzOoh5!X-Q$K5VZx-hGF7MQ=XKBjhZZQ@1Sh zO^vY`WQ`zi21z-+01na%<^niMFIWm-n|!?hm4X2HEHkba4YS|+HRoIR=`#Xck@PFXaPjnP z=hC4A*0lumS+gpK=TUN!G;{WqICbMz-V=-lTP^@a#C|E!qH;T00SZh7u#?+?08g0< zV1s%-U-`T@8wGh!3pO^`zUIY{nAED7kBqg!qi&GfOp>57f2PGTV19m z0qU@1PYkf%4z_%;Sq4IY94rS+ie~pwT@O3+tg?#k_=5PIk6tV@< zwLoqM0wBVLkI#`|1w=eYMnc^aRR!t?lnUng>WekR#X!!9mYXL3g^gC7`)S7mmo{y} z9*N!d$s32Nu{cZp#O|UxEZK7eY<7hGcI=lc;HrSVL|HA|S$rhhu_DBT&l+`75d`Sj3LaM~H)P zZuk2&jor6yipafklSsPL-vMo?0yAYXpH3=LveBhkno-3{4VLWL16I-@!RM$Po>&}} zm&PX3-$i>$*yx-THZmvK2q`8Qm7B`(NMR;>VSgoGw}W|G6Xd6v04Zf;HIZ0DZU?@- z39vPe0N8w(9kl$2?eG4T?tLgY5V&aFl%~g;2)aSpi!dl?{hDgsz|3<-M(gPtwP_!n z2aB4tV?d0k+>X`+(HMYfK@qtfDK|mIJeg+A<_i-n+5wkrexFs#V0N&~+{+qJ(wggC*52o2daaRwcu7r;S!!KwguB3!Ei7?IEY ze4V$m{8B4Q^(VK4~Ea!V@@}Gs0HGbR5 zy~WI*21hZuoiK`=O$2a|Uce-Zi2%A*pB|?{gv)n8+_B+i&u8Ys)ePY+UwhBDlzbC& z+N00*-?a8DTC26*(3pKgeMO`fOau^-+c6Qqq}3-dpTsEEH}ds! zT^}8XAWO>c5%+qF%#M8#x_0gC+N%q8h6-%w;qidS%gai<T)vpfYuCHXRx6O-TbC|fnj87X zBESvn(9XlXFMj6%{&BaNQ&;xixaKP)+jJ|%u&?HXvYficY}{%hf?0rNDS-X-0_Jcr zjfj~n?T;~RL#sd4ZED2Jf{*Vj+*1eP9-H+~8X^#Jb?HHabLY)EH{QD@Yh-$M`XXt@3_f-L8nBo~*C?L4~n6M92PCuzX=KFgM*j!B66er$F! z+*M(Wkk`UI@uhrL#IUz-C{K@@xtd&n-PQz%kc}7YeE{{&$?}-*yW$eG*E4jp>B_U!2`2oZuvvitN& z%RN>tE$+Yhtqb1q+xQHbp=W4uKSiIj_LZppR0=hEiVj>P0^Vcr^hu2+#Hqum+}zzo znqZ|M4oD|qd=y&JX-qob`=uqt?o%FJPIVY2w0M7BH>#sx>s#OM#9JF1(3LxMAe-vi ztJeU*G)aksP`5sP9_%|~>Pp{NmMMcay>&D+cI%H}$uSx{Su(yz$)2e$*pS%*+!Zo>DNp(P7 zI%w^D2ceEFUGCtQPKfsKr`x%^dy;Rh>lMKuhA^btz=071W=vV`_xz&m;cvd0`|!3+ z2M6uga6CNvy)%Pjw_X}5+xf###jc+?=>6chZI{BMH=haH^7ipT>(?9{weF3apk<4; z_nZFsi`@oFBXCZE^k9B1x+cH2)~9d(MnfEm;GJxG*IB zU@ly{cOTWk*K1ryX+T7m!6A>VwB-*qfH;b>`AUP19lLSA9HbfppW!={L0K)??SymOCA^V>=tOBLn2c5e ksm9QK-qMKdW>5J419kFO%DdQj-T(jq07*qoM6N<$f+5oB`~Uy| literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..8e19b410a1b15ff180f3dacac19395fe3046cdec GIT binary patch literal 10676 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 literal 3269 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 BIP(Ai literal 0 HcmV?d00001 diff --git a/android/build.gradle b/android/build.gradle index 00505fe9..d95bb6c2 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,7 +1,15 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { + ext { + buildToolsVersion = "27.0.3" + minSdkVersion = 16 + compileSdkVersion = 27 + targetSdkVersion = 26 + supportLibVersion = "27.1.1" + } repositories { + google() jcenter() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm @@ -21,6 +29,7 @@ buildscript { allprojects { repositories { mavenLocal() + google() jcenter() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm @@ -29,3 +38,9 @@ allprojects { google() } } + + +task wrapper(type: Wrapper) { + gradleVersion = '4.4' + distributionUrl = distributionUrl.replace("bin", "all") +} diff --git a/android/gradle.properties b/android/gradle.properties index 913bbb42..2076b6d8 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -16,6 +16,5 @@ # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true - android.useDeprecatedNdk=true -android.enableAapt2=false \ No newline at end of file +android.enableAapt2=false diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar index b5166dad4d90021f6a0b45268c0755719f1d5cd4..01b8bf6b1f99cad9213fc495b33ad5bbab8efd20 100644 GIT binary patch delta 42314 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

!I{ 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 MR6yud!{M+00Sm=Wj{pDw diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 5847b9a3..3ae304aa 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -4,4 +4,4 @@ distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip -android.enableAapt2=false \ No newline at end of file +android.enableAapt2=false diff --git a/android/gradlew b/android/gradlew index 91a7e269..cccdd3d5 100755 --- a/android/gradlew +++ b/android/gradlew @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh ############################################################################## ## @@ -6,20 +6,38 @@ ## ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -30,6 +48,7 @@ die ( ) { cygwin=false msys=false darwin=false +nonstop=false case "`uname`" in CYGWIN* ) cygwin=true @@ -40,31 +59,11 @@ case "`uname`" in MINGW* ) msys=true ;; + NONSTOP* ) + nonstop=true + ;; esac -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- -APP_HOME="`pwd -P`" -cd "$SAVED" >&- - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -90,7 +89,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -114,6 +113,7 @@ fi if $cygwin ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` @@ -154,11 +154,19 @@ if $cygwin ; then esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " } -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +exec "$JAVACMD" "$@" diff --git a/android/gradlew.bat b/android/gradlew.bat index aec99730..e95643d6 100644 --- a/android/gradlew.bat +++ b/android/gradlew.bat @@ -8,14 +8,14 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -46,10 +46,9 @@ echo location of your Java installation. goto fail :init -@rem Get command-line arguments, handling Windowz variants +@rem Get command-line arguments, handling Windows variants if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. @@ -60,11 +59,6 @@ set _SKIP=2 if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ :execute @rem Setup the command line diff --git a/ios/StandardNotes.xcodeproj/xcshareddata/xcschemes/StandardNotes-tvOS.xcscheme b/ios/StandardNotes.xcodeproj/xcshareddata/xcschemes/StandardNotes-tvOS.xcscheme index 7aa6e619..ec5defc7 100644 --- a/ios/StandardNotes.xcodeproj/xcshareddata/xcschemes/StandardNotes-tvOS.xcscheme +++ b/ios/StandardNotes.xcodeproj/xcshareddata/xcschemes/StandardNotes-tvOS.xcscheme @@ -1,6 +1,6 @@ #import -#import "RCTTextView.h" +//#import "RCTTextView.h" @implementation AppDelegate @@ -23,6 +23,22 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( NSURL *jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; +//======= +// NSURL *jsCodeLocation; +// +// #ifdef DEBUG +// jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; +// #else +// jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +// #endif +// +// RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation +// moduleName:@"StandardNotes" +// initialProperties:nil +// launchOptions:launchOptions]; +// rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; +// +//>>>>>>> theirs self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window.backgroundColor = [UIColor whiteColor]; [[RCCManager sharedInstance] initBridgeWithBundleURL:jsCodeLocation launchOptions:launchOptions]; diff --git a/ios/StandardNotes/Images.xcassets/Contents.json b/ios/StandardNotes/Images.xcassets/Contents.json index da4a164c..2d92bd53 100644 --- a/ios/StandardNotes/Images.xcassets/Contents.json +++ b/ios/StandardNotes/Images.xcassets/Contents.json @@ -3,4 +3,4 @@ "version" : 1, "author" : "xcode" } -} \ No newline at end of file +} diff --git a/ios/StandardNotes/main.m b/ios/StandardNotes/main.m index 3d767fcb..c73e0062 100644 --- a/ios/StandardNotes/main.m +++ b/ios/StandardNotes/main.m @@ -1,10 +1,8 @@ /** * Copyright (c) 2015-present, Facebook, Inc. - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. */ #import diff --git a/ios/StandardNotesTests/Info.plist b/ios/StandardNotesTests/Info.plist index 886825cc..ba72822e 100644 --- a/ios/StandardNotesTests/Info.plist +++ b/ios/StandardNotesTests/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/ios/StandardNotesTests/StandardNotesTests.m b/ios/StandardNotesTests/StandardNotesTests.m index 2a41eb98..9a4e1b46 100644 --- a/ios/StandardNotesTests/StandardNotesTests.m +++ b/ios/StandardNotesTests/StandardNotesTests.m @@ -1,10 +1,8 @@ /** * Copyright (c) 2015-present, Facebook, Inc. - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. */ #import diff --git a/package-lock.json b/package-lock.json index 269f1d08..a8a4c238 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "StandardNotes", - "version": "2.3.9", + "version": "2.3.10", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -24,13 +24,13 @@ "@babel/template": "7.0.0-rc.1", "@babel/traverse": "7.0.0-rc.1", "@babel/types": "7.0.0-rc.1", - "convert-source-map": "^1.1.0", - "debug": "^3.1.0", - "json5": "^0.5.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "convert-source-map": "1.5.1", + "debug": "3.1.0", + "json5": "0.5.1", + "lodash": "4.17.10", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -54,10 +54,10 @@ "integrity": "sha512-Ak4n780/coo+L9GZUS7V/IGJilP11t4UoWl0J9cG3jso4KkDGQcqdx4Y6gJAiXng+sDfvzUmvWfM1hZwH82J0A==", "requires": { "@babel/types": "7.0.0-rc.1", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "jsesc": "2.5.1", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -82,7 +82,7 @@ "requires": { "@babel/helper-function-name": "7.0.0-rc.1", "@babel/types": "7.0.0-rc.1", - "lodash": "^4.17.10" + "lodash": "4.17.10" } }, "@babel/helper-function-name": { @@ -169,9 +169,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-rc.1.tgz", "integrity": "sha512-5PgPDV6F5s69XNznTcP0za3qH7qgBkr9DVQTXfZtpF+3iEyuIZB1Mjxu52F5CFxgzQUQJoBYHVxtH4Itdb5MgA==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^3.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "ansi-styles": { @@ -179,7 +179,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -187,9 +187,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "js-tokens": { @@ -202,7 +202,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -252,7 +252,7 @@ "integrity": "sha512-9uGwvSqJcmcKPEkLHA7ffrG0lKXTXprupwGjEKDw27OoRWXHdWUmA4VwpuzMrUsYyV+q+P6mgj6TPzoGJA3fAw==", "requires": { "@babel/helper-plugin-utils": "7.0.0-rc.1", - "lodash": "^4.17.10" + "lodash": "4.17.10" } }, "@babel/plugin-transform-classes": { @@ -267,7 +267,7 @@ "@babel/helper-plugin-utils": "7.0.0-rc.1", "@babel/helper-replace-supers": "7.0.0-rc.1", "@babel/helper-split-export-declaration": "7.0.0-rc.1", - "globals": "^11.1.0" + "globals": "11.7.0" }, "dependencies": { "globals": { @@ -290,7 +290,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-rc.1.tgz", "integrity": "sha512-Nifv2kwP/nwR39cAOasNxzjYfpeuf/ZbZNtQz5eYxWTC9yHARU9wItFnAwz1GTZ62MU+AtSjzZPMbLK5Q9hmbg==", "requires": { - "regenerator-runtime": "^0.12.0" + "regenerator-runtime": "0.12.1" }, "dependencies": { "regenerator-runtime": { @@ -308,7 +308,7 @@ "@babel/code-frame": "7.0.0-rc.1", "@babel/parser": "7.0.0-rc.1", "@babel/types": "7.0.0-rc.1", - "lodash": "^4.17.10" + "lodash": "4.17.10" } }, "@babel/traverse": { @@ -322,9 +322,9 @@ "@babel/helper-split-export-declaration": "7.0.0-rc.1", "@babel/parser": "7.0.0-rc.1", "@babel/types": "7.0.0-rc.1", - "debug": "^3.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "debug": "3.1.0", + "globals": "11.7.0", + "lodash": "4.17.10" }, "dependencies": { "debug": { @@ -347,9 +347,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-rc.1.tgz", "integrity": "sha512-MBwO1JQKin9BwKTGydrYe4VDJbStCUy35IhJzeZt3FByOdx/q3CYaqMRrH70qVD2RA7+Xk8e3RN0mzKZkYBYuQ==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" }, "dependencies": { "to-fast-properties": { @@ -375,7 +375,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz", "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=", "requires": { - "mime-types": "~2.1.6", + "mime-types": "2.1.11", "negotiator": "0.5.3" } }, @@ -390,7 +390,7 @@ "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", "dev": true, "requires": { - "acorn": "^4.0.4" + "acorn": "4.0.13" }, "dependencies": { "acorn": { @@ -406,10 +406,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "align-text": { @@ -417,9 +417,9 @@ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -466,8 +466,8 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "micromatch": "3.1.10", + "normalize-path": "2.1.1" }, "dependencies": { "arr-diff": { @@ -485,16 +485,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -502,7 +502,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -512,13 +512,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -526,7 +526,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -534,7 +534,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -542,7 +542,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -550,7 +550,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -560,7 +560,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -568,7 +568,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -578,9 +578,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -595,14 +595,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -610,7 +610,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -618,7 +618,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -628,10 +628,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -639,7 +639,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -649,7 +649,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -657,7 +657,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -665,9 +665,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -675,7 +675,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -683,7 +683,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -703,19 +703,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -726,7 +726,7 @@ "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", "dev": true, "requires": { - "default-require-extensions": "^2.0.0" + "default-require-extensions": "2.0.0" } }, "arch": { @@ -739,8 +739,8 @@ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "argparse": { @@ -749,7 +749,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "arr-diff": { @@ -757,7 +757,7 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "arr-flatten": { @@ -827,7 +827,7 @@ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "requires": { - "safer-buffer": "~2.1.0" + "safer-buffer": "2.1.2" } }, "assert-plus": { @@ -856,7 +856,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.10" } }, "async-each": { @@ -892,21 +892,21 @@ "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-polyfill": "^6.26.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "chokidar": "^1.6.1", - "commander": "^2.11.0", - "convert-source-map": "^1.5.0", - "fs-readdir-recursive": "^1.0.0", - "glob": "^7.1.2", - "lodash": "^4.17.4", - "output-file-sync": "^1.1.2", - "path-is-absolute": "^1.0.1", - "slash": "^1.0.0", - "source-map": "^0.5.6", - "v8flags": "^2.1.1" + "babel-core": "6.26.3", + "babel-polyfill": "6.26.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "chokidar": "1.7.0", + "commander": "2.17.1", + "convert-source-map": "1.5.1", + "fs-readdir-recursive": "1.1.0", + "glob": "7.1.2", + "lodash": "4.17.10", + "output-file-sync": "1.1.2", + "path-is-absolute": "1.0.1", + "slash": "1.0.0", + "source-map": "0.5.7", + "v8flags": "2.1.1" } }, "babel-code-frame": { @@ -914,9 +914,9 @@ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "js-tokens": { @@ -931,25 +931,25 @@ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" }, "dependencies": { "json5": { @@ -964,14 +964,14 @@ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "babel-helper-builder-binary-assignment-operator-visitor": { @@ -980,9 +980,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-builder-react-jsx": { @@ -990,9 +990,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "esutils": "^2.0.2" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "esutils": "2.0.2" } }, "babel-helper-call-delegate": { @@ -1000,10 +1000,10 @@ "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-define-map": { @@ -1011,10 +1011,10 @@ "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, "babel-helper-explode-assignable-expression": { @@ -1023,9 +1023,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-function-name": { @@ -1033,11 +1033,11 @@ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-get-function-arity": { @@ -1045,8 +1045,8 @@ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-hoist-variables": { @@ -1054,8 +1054,8 @@ "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-optimise-call-expression": { @@ -1063,8 +1063,8 @@ "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-regex": { @@ -1072,9 +1072,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, "babel-helper-remap-async-to-generator": { @@ -1082,11 +1082,11 @@ "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-replace-supers": { @@ -1094,12 +1094,12 @@ "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helpers": { @@ -1107,8 +1107,8 @@ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-jest": { @@ -1117,8 +1117,8 @@ "integrity": "sha512-MfZq0KK4tB7V3bCSHrzBa/F8lkhAjnG40asnaBHXdeOiFSOH7eTcVlU4pNz2jsdqclqhc0kO2mkGajKlZRqBKQ==", "dev": true, "requires": { - "babel-plugin-istanbul": "^4.0.0", - "babel-preset-jest": "^21.0.0" + "babel-plugin-istanbul": "4.1.6", + "babel-preset-jest": "21.2.0" } }, "babel-messages": { @@ -1126,7 +1126,7 @@ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-check-es2015-constants": { @@ -1134,7 +1134,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-external-helpers": { @@ -1142,7 +1142,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz", "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-istanbul": { @@ -1151,10 +1151,10 @@ "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", "dev": true, "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "find-up": "^2.1.0", - "istanbul-lib-instrument": "^1.10.1", - "test-exclude": "^4.2.1" + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "find-up": "2.1.0", + "istanbul-lib-instrument": "1.10.1", + "test-exclude": "4.2.1" }, "dependencies": { "find-up": { @@ -1179,7 +1179,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz", "integrity": "sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=", "requires": { - "lodash": "^4.6.1" + "lodash": "4.17.10" } }, "babel-plugin-syntax-async-functions": { @@ -1229,9 +1229,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz", "integrity": "sha1-Gew2yxSGtZ+fRorfpCzhOQjKKZk=", "requires": { - "babel-helper-remap-async-to-generator": "^6.16.0", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.0.0" + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-class-properties": { @@ -1239,10 +1239,10 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-arrow-functions": { @@ -1250,7 +1250,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-block-scoped-functions": { @@ -1258,7 +1258,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-block-scoping": { @@ -1266,11 +1266,11 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, "babel-plugin-transform-es2015-classes": { @@ -1278,15 +1278,15 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-computed-properties": { @@ -1294,8 +1294,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -1303,7 +1303,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-duplicate-keys": { @@ -1312,8 +1312,8 @@ "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-for-of": { @@ -1321,7 +1321,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -1329,9 +1329,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-literals": { @@ -1339,7 +1339,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-modules-amd": { @@ -1348,9 +1348,9 @@ "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -1358,10 +1358,10 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-modules-systemjs": { @@ -1370,9 +1370,9 @@ "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-modules-umd": { @@ -1381,9 +1381,9 @@ "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-object-super": { @@ -1391,8 +1391,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -1400,12 +1400,12 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-shorthand-properties": { @@ -1413,8 +1413,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-spread": { @@ -1422,7 +1422,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -1430,9 +1430,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-template-literals": { @@ -1440,7 +1440,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-typeof-symbol": { @@ -1449,7 +1449,7 @@ "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -1457,9 +1457,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" } }, "babel-plugin-transform-es3-member-expression-literals": { @@ -1467,7 +1467,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz", "integrity": "sha1-cz00RPPsxBvvjtGmpOCWV7iWnrs=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es3-property-literals": { @@ -1475,7 +1475,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz", "integrity": "sha1-sgeNWELiKr9A9z6M3pzTcRq9V1g=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -1484,9 +1484,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-flow-strip-types": { @@ -1494,8 +1494,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", "requires": { - "babel-plugin-syntax-flow": "^6.18.0", - "babel-runtime": "^6.22.0" + "babel-plugin-syntax-flow": "6.18.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-object-assign": { @@ -1503,7 +1503,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-assign/-/babel-plugin-transform-object-assign-6.22.0.tgz", "integrity": "sha1-+Z0vZvGgsNSY40bFNZaEdAyqILo=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-object-rest-spread": { @@ -1511,8 +1511,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-react-display-name": { @@ -1520,7 +1520,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-react-jsx": { @@ -1528,9 +1528,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", "requires": { - "babel-helper-builder-react-jsx": "^6.24.1", - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-builder-react-jsx": "6.26.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-react-jsx-source": { @@ -1538,8 +1538,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", "requires": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-regenerator": { @@ -1547,7 +1547,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", "requires": { - "regenerator-transform": "^0.10.0" + "regenerator-transform": "0.10.1" } }, "babel-plugin-transform-strict-mode": { @@ -1555,8 +1555,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-polyfill": { @@ -1564,9 +1564,9 @@ "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", "requires": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "regenerator-runtime": "0.10.5" }, "dependencies": { "core-js": { @@ -1587,36 +1587,36 @@ "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0", + "browserslist": "3.2.8", + "invariant": "2.2.4", + "semver": "5.5.0" }, "dependencies": { "babel-plugin-transform-async-to-generator": { @@ -1637,15 +1637,15 @@ "resolved": "https://registry.npmjs.org/babel-preset-es2015-node/-/babel-preset-es2015-node-6.1.1.tgz", "integrity": "sha1-YLIxVwJLDP6/OmNVTLBe4DW05V8=", "requires": { - "babel-plugin-transform-es2015-destructuring": "6.x", - "babel-plugin-transform-es2015-function-name": "6.x", - "babel-plugin-transform-es2015-modules-commonjs": "6.x", - "babel-plugin-transform-es2015-parameters": "6.x", - "babel-plugin-transform-es2015-shorthand-properties": "6.x", - "babel-plugin-transform-es2015-spread": "6.x", - "babel-plugin-transform-es2015-sticky-regex": "6.x", - "babel-plugin-transform-es2015-unicode-regex": "6.x", - "semver": "5.x" + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "semver": "5.5.0" } }, "babel-preset-fbjs": { @@ -1653,34 +1653,34 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-2.2.0.tgz", "integrity": "sha512-jj0KFJDioYZMtPtZf77dQuU+Ad/1BtN0UnAYlHDa8J8f4tGXr3YrPoJImD5MdueaOPeN/jUdrCgu330EfXr0XQ==", "requires": { - "babel-plugin-check-es2015-constants": "^6.8.0", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-plugin-syntax-flow": "^6.8.0", - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-plugin-syntax-trailing-function-commas": "^6.8.0", - "babel-plugin-transform-class-properties": "^6.8.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.8.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.8.0", - "babel-plugin-transform-es2015-block-scoping": "^6.8.0", - "babel-plugin-transform-es2015-classes": "^6.8.0", - "babel-plugin-transform-es2015-computed-properties": "^6.8.0", - "babel-plugin-transform-es2015-destructuring": "^6.8.0", - "babel-plugin-transform-es2015-for-of": "^6.8.0", - "babel-plugin-transform-es2015-function-name": "^6.8.0", - "babel-plugin-transform-es2015-literals": "^6.8.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.8.0", - "babel-plugin-transform-es2015-object-super": "^6.8.0", - "babel-plugin-transform-es2015-parameters": "^6.8.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.8.0", - "babel-plugin-transform-es2015-spread": "^6.8.0", - "babel-plugin-transform-es2015-template-literals": "^6.8.0", - "babel-plugin-transform-es3-member-expression-literals": "^6.8.0", - "babel-plugin-transform-es3-property-literals": "^6.8.0", - "babel-plugin-transform-flow-strip-types": "^6.8.0", - "babel-plugin-transform-object-rest-spread": "^6.8.0", - "babel-plugin-transform-react-display-name": "^6.8.0", - "babel-plugin-transform-react-jsx": "^6.8.0" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-plugin-syntax-flow": "6.18.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es3-member-expression-literals": "6.22.0", + "babel-plugin-transform-es3-property-literals": "6.22.0", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-plugin-transform-object-rest-spread": "6.26.0", + "babel-plugin-transform-react-display-name": "6.25.0", + "babel-plugin-transform-react-jsx": "6.24.1" } }, "babel-preset-jest": { @@ -1689,8 +1689,8 @@ "integrity": "sha512-hm9cBnr2h3J7yXoTtAVV0zg+3vg0Q/gT2GYuzlreTU0EPkJRtlNgKJJ3tBKEn0+VjAi3JykV6xCJkuUYttEEfA==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^21.2.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0" + "babel-plugin-jest-hoist": "21.2.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0" } }, "babel-preset-react-native": { @@ -1699,37 +1699,37 @@ "integrity": "sha512-XY1TIXk5IW++23Rzrggd0UmSD1x41iFUwngwDQCE1OUgu1B7ENE4q4+GUMJVxXpOws23RbagIkaZFa4JkuAXIw==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "^6.5.0", + "babel-plugin-check-es2015-constants": "6.22.0", "babel-plugin-react-transform": "2.0.2", - "babel-plugin-syntax-async-functions": "^6.5.0", - "babel-plugin-syntax-class-properties": "^6.5.0", - "babel-plugin-syntax-dynamic-import": "^6.18.0", - "babel-plugin-syntax-flow": "^6.5.0", - "babel-plugin-syntax-jsx": "^6.5.0", - "babel-plugin-syntax-trailing-function-commas": "^6.5.0", - "babel-plugin-transform-class-properties": "^6.5.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.5.0", - "babel-plugin-transform-es2015-block-scoping": "^6.5.0", - "babel-plugin-transform-es2015-classes": "^6.5.0", - "babel-plugin-transform-es2015-computed-properties": "^6.5.0", - "babel-plugin-transform-es2015-destructuring": "^6.5.0", - "babel-plugin-transform-es2015-for-of": "^6.5.0", - "babel-plugin-transform-es2015-function-name": "^6.5.0", - "babel-plugin-transform-es2015-literals": "^6.5.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.5.0", - "babel-plugin-transform-es2015-parameters": "^6.5.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.5.0", - "babel-plugin-transform-es2015-spread": "^6.5.0", - "babel-plugin-transform-es2015-template-literals": "^6.5.0", - "babel-plugin-transform-flow-strip-types": "^6.5.0", - "babel-plugin-transform-object-assign": "^6.5.0", - "babel-plugin-transform-object-rest-spread": "^6.5.0", - "babel-plugin-transform-react-display-name": "^6.5.0", - "babel-plugin-transform-react-jsx": "^6.5.0", - "babel-plugin-transform-react-jsx-source": "^6.5.0", - "babel-plugin-transform-regenerator": "^6.5.0", - "babel-template": "^6.24.1", - "react-transform-hmr": "^1.0.4" + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-plugin-syntax-dynamic-import": "6.18.0", + "babel-plugin-syntax-flow": "6.18.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-plugin-transform-object-assign": "6.22.0", + "babel-plugin-transform-object-rest-spread": "6.26.0", + "babel-plugin-transform-react-display-name": "6.25.0", + "babel-plugin-transform-react-jsx": "6.24.1", + "babel-plugin-transform-react-jsx-source": "6.22.0", + "babel-plugin-transform-regenerator": "6.26.0", + "babel-template": "6.26.0", + "react-transform-hmr": "1.0.4" } }, "babel-register": { @@ -1737,13 +1737,13 @@ "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" }, "dependencies": { "core-js": { @@ -1758,8 +1758,8 @@ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" }, "dependencies": { "core-js": { @@ -1779,11 +1779,11 @@ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" } }, "babel-traverse": { @@ -1791,15 +1791,15 @@ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" } }, "babel-types": { @@ -1807,10 +1807,10 @@ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -1828,13 +1828,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "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" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -1842,7 +1842,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -1850,7 +1850,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -1858,7 +1858,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -1866,9 +1866,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -1919,7 +1919,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "beeper": { @@ -1945,15 +1945,15 @@ "integrity": "sha1-wIzzMMM1jhUQFqBXRvE/ApyX+pc=", "requires": { "bytes": "2.1.0", - "content-type": "~1.0.1", - "debug": "~2.2.0", - "depd": "~1.0.1", - "http-errors": "~1.3.1", + "content-type": "1.0.4", + "debug": "2.2.0", + "depd": "1.0.1", + "http-errors": "1.3.1", "iconv-lite": "0.4.11", - "on-finished": "~2.3.0", + "on-finished": "2.3.0", "qs": "4.0.0", - "raw-body": "~2.1.2", - "type-is": "~1.6.6" + "raw-body": "2.1.7", + "type-is": "1.6.16" }, "dependencies": { "debug": { @@ -1981,7 +1981,7 @@ "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=", "requires": { - "stream-buffers": "~2.2.0" + "stream-buffers": "2.2.0" } }, "bplist-parser": { @@ -1989,7 +1989,7 @@ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", "requires": { - "big-integer": "^1.6.7" + "big-integer": "1.6.34" } }, "brace-expansion": { @@ -1997,7 +1997,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -2006,9 +2006,9 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "browser-resolve": { @@ -2034,8 +2034,8 @@ "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" + "caniuse-lite": "1.0.30000874", + "electron-to-chromium": "1.3.57" } }, "bser": { @@ -2043,7 +2043,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.3.tgz", "integrity": "sha1-1j2hnuFzMKDiYNKjRCKyGolSAxc=", "requires": { - "node-int64": "^0.4.0" + "node-int64": "0.4.0" } }, "buffer-from": { @@ -2056,9 +2056,9 @@ "resolved": "https://registry.npmjs.org/bugsnag-react-native/-/bugsnag-react-native-2.10.2.tgz", "integrity": "sha512-evVo6MISJDio0TSPKT/4eqTpfsn8KAUWIwxcVO2AzPN4liH/11B+dgyswZYBkJZQYe+chQAYTi4opnzqv5pa8w==", "requires": { - "iserror": "^0.0.2", - "promise": "^7", - "prop-types": "^15.6.0" + "iserror": "0.0.2", + "promise": "7.3.1", + "prop-types": "15.6.2" } }, "builtin-modules": { @@ -2076,15 +2076,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "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" + "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" }, "dependencies": { "isobject": { @@ -2116,7 +2116,7 @@ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", "requires": { - "rsvp": "^3.3.3" + "rsvp": "3.6.2" } }, "caseless": { @@ -2129,8 +2129,8 @@ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -2138,11 +2138,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "chardet": { @@ -2157,15 +2157,15 @@ "dev": true, "optional": true, "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.2.4", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" }, "dependencies": { "anymatch": { @@ -2175,8 +2175,8 @@ "dev": true, "optional": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" } } } @@ -2192,10 +2192,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -2203,7 +2203,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "isobject": { @@ -2218,7 +2218,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-width": { @@ -2231,8 +2231,8 @@ "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", "requires": { - "arch": "^2.1.0", - "execa": "^0.8.0" + "arch": "2.1.1", + "execa": "0.8.0" } }, "cliui": { @@ -2240,8 +2240,8 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -2277,8 +2277,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { @@ -2304,7 +2304,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -2317,15 +2317,15 @@ "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", "requires": { - "commander": "^2.5.0", - "detective": "^4.3.1", - "glob": "^5.0.15", - "graceful-fs": "^4.1.2", - "iconv-lite": "^0.4.5", - "mkdirp": "^0.5.0", - "private": "^0.1.6", - "q": "^1.1.2", - "recast": "^0.11.17" + "commander": "2.17.1", + "detective": "4.7.1", + "glob": "5.0.15", + "graceful-fs": "4.1.11", + "iconv-lite": "0.4.23", + "mkdirp": "0.5.1", + "private": "0.1.8", + "q": "1.5.1", + "recast": "0.11.23" }, "dependencies": { "glob": { @@ -2333,11 +2333,11 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } } } @@ -2358,7 +2358,7 @@ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": "1.35.0" } }, "compression": { @@ -2366,12 +2366,12 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz", "integrity": "sha1-sDuNhub4rSloPLqN+R3cb/x3s5U=", "requires": { - "accepts": "~1.2.12", + "accepts": "1.2.13", "bytes": "2.1.0", - "compressible": "~2.0.5", - "debug": "~2.2.0", - "on-headers": "~1.0.0", - "vary": "~1.0.1" + "compressible": "2.0.14", + "debug": "2.2.0", + "on-headers": "1.0.1", + "vary": "1.0.1" }, "dependencies": { "debug": { @@ -2399,10 +2399,10 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "connect": { @@ -2411,36 +2411,36 @@ "integrity": "sha1-jam8vooFTT0xjXTf7JA7XDmhtgk=", "requires": { "basic-auth-connect": "1.0.0", - "body-parser": "~1.13.3", + "body-parser": "1.13.3", "bytes": "2.1.0", - "compression": "~1.5.2", - "connect-timeout": "~1.6.2", - "content-type": "~1.0.1", + "compression": "1.5.2", + "connect-timeout": "1.6.2", + "content-type": "1.0.4", "cookie": "0.1.3", - "cookie-parser": "~1.3.5", + "cookie-parser": "1.3.5", "cookie-signature": "1.0.6", - "csurf": "~1.8.3", - "debug": "~2.2.0", - "depd": "~1.0.1", - "errorhandler": "~1.4.2", - "express-session": "~1.11.3", + "csurf": "1.8.3", + "debug": "2.2.0", + "depd": "1.0.1", + "errorhandler": "1.4.3", + "express-session": "1.11.3", "finalhandler": "0.4.0", "fresh": "0.3.0", - "http-errors": "~1.3.1", - "method-override": "~2.3.5", - "morgan": "~1.6.1", + "http-errors": "1.3.1", + "method-override": "2.3.10", + "morgan": "1.6.1", "multiparty": "3.3.2", - "on-headers": "~1.0.0", - "parseurl": "~1.3.0", + "on-headers": "1.0.1", + "parseurl": "1.3.2", "pause": "0.1.0", "qs": "4.0.0", - "response-time": "~2.3.1", - "serve-favicon": "~2.3.0", - "serve-index": "~1.7.2", - "serve-static": "~1.10.0", - "type-is": "~1.6.6", + "response-time": "2.3.2", + "serve-favicon": "2.3.2", + "serve-index": "1.7.3", + "serve-static": "1.10.3", + "type-is": "1.6.16", "utils-merge": "1.0.0", - "vhost": "~3.0.1" + "vhost": "3.0.2" }, "dependencies": { "debug": { @@ -2463,10 +2463,10 @@ "resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz", "integrity": "sha1-3ppexh4zoStu2qt7XwYumMWZuI4=", "requires": { - "debug": "~2.2.0", - "http-errors": "~1.3.1", + "debug": "2.2.0", + "http-errors": "1.3.1", "ms": "0.7.1", - "on-headers": "~1.0.0" + "on-headers": "1.0.1" }, "dependencies": { "debug": { @@ -2544,9 +2544,9 @@ "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", "requires": { - "fbjs": "^0.8.9", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "fbjs": "0.8.17", + "loose-envify": "1.4.0", + "object-assign": "4.1.1" } }, "cross-spawn": { @@ -2554,9 +2554,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "csrf": { @@ -2581,7 +2581,7 @@ "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", "dev": true, "requires": { - "cssom": "0.3.x" + "cssom": "0.3.4" } }, "csurf": { @@ -2591,8 +2591,8 @@ "requires": { "cookie": "0.1.3", "cookie-signature": "1.0.6", - "csrf": "~3.0.0", - "http-errors": "~1.3.1" + "csrf": "3.0.6", + "http-errors": "1.3.1" } }, "dashdash": { @@ -2600,7 +2600,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "dateformat": { @@ -2638,7 +2638,7 @@ "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", "dev": true, "requires": { - "strip-bom": "^3.0.0" + "strip-bom": "3.0.0" }, "dependencies": { "strip-bom": { @@ -2654,8 +2654,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -2663,7 +2663,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -2671,7 +2671,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -2679,9 +2679,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -2731,7 +2731,7 @@ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "detective": { @@ -2739,8 +2739,8 @@ "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "requires": { - "acorn": "^5.2.1", - "defined": "^1.0.0" + "acorn": "5.7.1", + "defined": "1.0.0" } }, "diff": { @@ -2759,7 +2759,7 @@ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "requires": { - "readable-stream": "~1.1.9" + "readable-stream": "1.1.14" }, "dependencies": { "isarray": { @@ -2772,10 +2772,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -2791,8 +2791,8 @@ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "optional": true, "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, "ee-first": { @@ -2811,7 +2811,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "~0.4.13" + "iconv-lite": "0.4.23" } }, "envinfo": { @@ -2819,11 +2819,11 @@ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-3.11.1.tgz", "integrity": "sha512-hKkh7aKtont6Zuv4RmE4VkOc96TkBj9NXj7Ghsd/qCA9LuJI0Dh+ImwA1N5iORB9Vg+sz5bq9CHJzs51BILNCQ==", "requires": { - "clipboardy": "^1.2.2", - "glob": "^7.1.2", - "minimist": "^1.2.0", - "os-name": "^2.0.1", - "which": "^1.2.14" + "clipboardy": "1.2.3", + "glob": "7.1.2", + "minimist": "1.2.0", + "os-name": "2.0.1", + "which": "1.3.1" } }, "errno": { @@ -2831,7 +2831,7 @@ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "requires": { - "prr": "~1.0.1" + "prr": "1.0.1" } }, "error-ex": { @@ -2839,7 +2839,7 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "errorhandler": { @@ -2847,8 +2847,8 @@ "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz", "integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=", "requires": { - "accepts": "~1.3.0", - "escape-html": "~1.0.3" + "accepts": "1.3.5", + "escape-html": "1.0.3" }, "dependencies": { "accepts": { @@ -2856,7 +2856,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "~2.1.18", + "mime-types": "2.1.19", "negotiator": "0.6.1" } }, @@ -2865,7 +2865,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "requires": { - "mime-db": "~1.35.0" + "mime-db": "1.35.0" } }, "negotiator": { @@ -2891,11 +2891,11 @@ "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -2938,7 +2938,7 @@ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", "requires": { - "merge": "^1.2.0" + "merge": "1.2.0" } }, "execa": { @@ -2946,13 +2946,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -2960,7 +2960,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "expand-range": { @@ -2968,7 +2968,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" } }, "expect": { @@ -2977,12 +2977,12 @@ "integrity": "sha512-orfQQqFRTX0jH7znRIGi8ZMR8kTNpXklTTz8+HGTpmTKZo3Occ6JNB5FXMb8cRuiiC/GyDqsr30zUa66ACYlYw==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "jest-diff": "^21.2.1", - "jest-get-type": "^21.2.0", - "jest-matcher-utils": "^21.2.1", - "jest-message-util": "^21.2.1", - "jest-regex-util": "^21.2.0" + "ansi-styles": "3.2.1", + "jest-diff": "21.2.1", + "jest-get-type": "21.2.0", + "jest-matcher-utils": "21.2.1", + "jest-message-util": "21.2.1", + "jest-regex-util": "21.2.0" }, "dependencies": { "ansi-styles": { @@ -2991,7 +2991,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } } } @@ -3004,11 +3004,11 @@ "cookie": "0.1.3", "cookie-signature": "1.0.6", "crc": "3.3.0", - "debug": "~2.2.0", - "depd": "~1.0.1", - "on-headers": "~1.0.0", - "parseurl": "~1.3.0", - "uid-safe": "~2.0.0", + "debug": "2.2.0", + "depd": "1.0.1", + "on-headers": "1.0.1", + "parseurl": "1.3.2", + "uid-safe": "2.0.0", "utils-merge": "1.0.0" }, "dependencies": { @@ -3045,8 +3045,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -3054,7 +3054,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -3064,9 +3064,9 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" } }, "extglob": { @@ -3074,7 +3074,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "extsprintf": { @@ -3087,9 +3087,9 @@ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", "requires": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "time-stamp": "^1.0.0" + "ansi-gray": "0.1.1", + "color-support": "1.1.3", + "time-stamp": "1.1.0" } }, "fast-deep-equal": { @@ -3113,7 +3113,7 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", "requires": { - "bser": "^2.0.0" + "bser": "2.0.0" }, "dependencies": { "bser": { @@ -3121,7 +3121,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "requires": { - "node-int64": "^0.4.0" + "node-int64": "0.4.0" } } } @@ -3131,13 +3131,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" } }, "fbjs-scripts": { @@ -3145,14 +3145,14 @@ "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-0.7.1.tgz", "integrity": "sha1-TxFeIY4kPjrdvw7dqsHjxi9wP6w=", "requires": { - "babel-core": "^6.7.2", - "babel-preset-fbjs": "^1.0.0", - "core-js": "^1.0.0", - "cross-spawn": "^3.0.1", - "gulp-util": "^3.0.4", - "object-assign": "^4.0.1", - "semver": "^5.1.0", - "through2": "^2.0.0" + "babel-core": "6.26.3", + "babel-preset-fbjs": "1.0.0", + "core-js": "1.2.7", + "cross-spawn": "3.0.1", + "gulp-util": "3.0.8", + "object-assign": "4.1.1", + "semver": "5.5.0", + "through2": "2.0.3" }, "dependencies": { "babel-preset-fbjs": { @@ -3160,30 +3160,30 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-1.0.0.tgz", "integrity": "sha1-yXLlybMB1OyeeXH0rsPhSsAXqLA=", "requires": { - "babel-plugin-check-es2015-constants": "^6.7.2", - "babel-plugin-syntax-flow": "^6.5.0", - "babel-plugin-syntax-object-rest-spread": "^6.5.0", - "babel-plugin-syntax-trailing-function-commas": "^6.5.0", - "babel-plugin-transform-class-properties": "^6.6.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.5.2", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.6.5", - "babel-plugin-transform-es2015-block-scoping": "^6.7.1", - "babel-plugin-transform-es2015-classes": "^6.6.5", - "babel-plugin-transform-es2015-computed-properties": "^6.6.5", - "babel-plugin-transform-es2015-destructuring": "^6.6.5", - "babel-plugin-transform-es2015-for-of": "^6.6.0", - "babel-plugin-transform-es2015-literals": "^6.5.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.7.0", - "babel-plugin-transform-es2015-object-super": "^6.6.5", - "babel-plugin-transform-es2015-parameters": "^6.7.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.5.0", - "babel-plugin-transform-es2015-spread": "^6.6.5", - "babel-plugin-transform-es2015-template-literals": "^6.6.5", - "babel-plugin-transform-es3-member-expression-literals": "^6.5.0", - "babel-plugin-transform-es3-property-literals": "^6.5.0", - "babel-plugin-transform-flow-strip-types": "^6.7.0", - "babel-plugin-transform-object-rest-spread": "^6.6.5", - "object-assign": "^4.0.1" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-flow": "6.18.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es3-member-expression-literals": "6.22.0", + "babel-plugin-transform-es3-property-literals": "6.22.0", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-plugin-transform-object-rest-spread": "6.26.0", + "object-assign": "4.1.1" } }, "cross-spawn": { @@ -3191,8 +3191,8 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "which": "1.3.1" } } } @@ -3202,7 +3202,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "filename-regex": { @@ -3216,8 +3216,8 @@ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" + "glob": "7.1.2", + "minimatch": "3.0.4" } }, "fill-range": { @@ -3225,11 +3225,11 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.1.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "finalhandler": { @@ -3237,10 +3237,10 @@ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz", "integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=", "requires": { - "debug": "~2.2.0", + "debug": "2.2.0", "escape-html": "1.0.2", - "on-finished": "~2.3.0", - "unpipe": "~1.0.0" + "on-finished": "2.3.0", + "unpipe": "1.0.0" }, "dependencies": { "debug": { @@ -3268,8 +3268,8 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "for-in": { @@ -3282,7 +3282,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "forever-agent": { @@ -3295,9 +3295,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.19" }, "dependencies": { "mime-types": { @@ -3305,7 +3305,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "requires": { - "mime-db": "~1.35.0" + "mime-db": "1.35.0" } } } @@ -3315,7 +3315,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fresh": { @@ -3328,9 +3328,9 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" } }, "fs-readdir-recursive": { @@ -3350,8 +3350,8 @@ "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" }, "dependencies": { "abbrev": { @@ -3391,7 +3391,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -3455,7 +3455,7 @@ "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "fs.realpath": { @@ -3506,7 +3506,7 @@ "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": "2.1.2" } }, "ignore-walk": { @@ -3515,7 +3515,7 @@ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "optional": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { @@ -3571,8 +3571,8 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "minizlib": { @@ -3581,7 +3581,7 @@ "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "mkdirp": { @@ -3604,9 +3604,9 @@ "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "optional": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" } }, "node-pre-gyp": { @@ -3615,16 +3615,16 @@ "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "optional": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { @@ -3649,8 +3649,8 @@ "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { @@ -3659,10 +3659,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -3702,8 +3702,8 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -3724,10 +3724,10 @@ "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "optional": true, "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -3744,13 +3744,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "optional": true, "requires": { - "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" + "core-util-is": "1.0.2", + "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.2" } }, "rimraf": { @@ -3759,7 +3759,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -3813,7 +3813,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { @@ -3836,13 +3836,13 @@ "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "optional": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -3877,11 +3877,11 @@ "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", "requires": { - "ansi": "^0.3.0", - "has-unicode": "^2.0.0", - "lodash.pad": "^4.1.0", - "lodash.padend": "^4.1.0", - "lodash.padstart": "^4.1.0" + "ansi": "0.3.1", + "has-unicode": "2.0.1", + "lodash.pad": "4.5.1", + "lodash.padend": "4.6.1", + "lodash.padstart": "4.6.1" } }, "get-caller-file": { @@ -3904,7 +3904,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -3912,12 +3912,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "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" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -3925,8 +3925,8 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" } }, "glob-parent": { @@ -3934,7 +3934,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "global": { @@ -3942,8 +3942,8 @@ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "requires": { - "min-document": "^2.19.0", - "process": "~0.5.1" + "min-document": "2.19.0", + "process": "0.5.2" } }, "globals": { @@ -3956,7 +3956,7 @@ "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", "requires": { - "sparkles": "^1.0.0" + "sparkles": "1.0.1" } }, "graceful-fs": { @@ -3975,24 +3975,24 @@ "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", "requires": { - "array-differ": "^1.0.0", - "array-uniq": "^1.0.2", - "beeper": "^1.0.0", - "chalk": "^1.0.0", - "dateformat": "^2.0.0", - "fancy-log": "^1.1.0", - "gulplog": "^1.0.0", - "has-gulplog": "^0.1.0", - "lodash._reescape": "^3.0.0", - "lodash._reevaluate": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.template": "^3.0.0", - "minimist": "^1.1.0", - "multipipe": "^0.1.2", - "object-assign": "^3.0.0", + "array-differ": "1.0.0", + "array-uniq": "1.0.3", + "beeper": "1.1.1", + "chalk": "1.1.3", + "dateformat": "2.2.0", + "fancy-log": "1.3.2", + "gulplog": "1.0.0", + "has-gulplog": "0.1.0", + "lodash._reescape": "3.0.0", + "lodash._reevaluate": "3.0.0", + "lodash._reinterpolate": "3.0.0", + "lodash.template": "3.6.2", + "minimist": "1.2.0", + "multipipe": "0.1.2", + "object-assign": "3.0.0", "replace-ext": "0.0.1", - "through2": "^2.0.0", - "vinyl": "^0.5.0" + "through2": "2.0.3", + "vinyl": "0.5.3" }, "dependencies": { "object-assign": { @@ -4007,7 +4007,7 @@ "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", "requires": { - "glogg": "^1.0.0" + "glogg": "1.0.1" } }, "handlebars": { @@ -4016,10 +4016,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.7.5" }, "dependencies": { "async": { @@ -4034,7 +4034,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -4049,8 +4049,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", "requires": { - "ajv": "^5.3.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has-ansi": { @@ -4058,7 +4058,7 @@ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { @@ -4071,7 +4071,7 @@ "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", "requires": { - "sparkles": "^1.0.0" + "sparkles": "1.0.1" } }, "has-unicode": { @@ -4084,9 +4084,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -4101,8 +4101,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { @@ -4110,7 +4110,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -4118,7 +4118,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4128,7 +4128,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4138,8 +4138,8 @@ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "hosted-git-info": { @@ -4153,7 +4153,7 @@ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { - "whatwg-encoding": "^1.0.1" + "whatwg-encoding": "1.0.3" } }, "http-errors": { @@ -4161,8 +4161,8 @@ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", "requires": { - "inherits": "~2.0.1", - "statuses": "1" + "inherits": "2.0.3", + "statuses": "1.5.0" } }, "http-signature": { @@ -4170,9 +4170,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, "iconv-lite": { @@ -4180,7 +4180,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "image-size": { @@ -4203,8 +4203,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -4217,20 +4217,20 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "requires": { - "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", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", "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" + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-regex": { @@ -4243,7 +4243,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -4251,9 +4251,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "strip-ansi": { @@ -4261,7 +4261,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -4269,7 +4269,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -4279,7 +4279,7 @@ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.4.0" } }, "invert-kv": { @@ -4292,7 +4292,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -4307,7 +4307,7 @@ "dev": true, "optional": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { @@ -4320,7 +4320,7 @@ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-ci": { @@ -4329,7 +4329,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "^1.0.0" + "ci-info": "1.1.3" } }, "is-data-descriptor": { @@ -4337,7 +4337,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-descriptor": { @@ -4345,9 +4345,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -4367,7 +4367,7 @@ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { @@ -4385,7 +4385,7 @@ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -4398,7 +4398,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-number": { @@ -4406,7 +4406,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-plain-object": { @@ -4414,7 +4414,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -4487,8 +4487,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.4" } }, "isstream": { @@ -4502,18 +4502,18 @@ "integrity": "sha512-duj6AlLcsWNwUpfyfHt0nWIeRiZpuShnP40YTxOGQgtaN8fd6JYSxsvxUphTDy8V5MfDXo4s/xVCIIvVCO808g==", "dev": true, "requires": { - "async": "^2.1.4", - "compare-versions": "^3.1.0", - "fileset": "^2.0.2", - "istanbul-lib-coverage": "^1.2.0", - "istanbul-lib-hook": "^1.2.0", - "istanbul-lib-instrument": "^1.10.1", - "istanbul-lib-report": "^1.1.4", - "istanbul-lib-source-maps": "^1.2.4", - "istanbul-reports": "^1.3.0", - "js-yaml": "^3.7.0", - "mkdirp": "^0.5.1", - "once": "^1.4.0" + "async": "2.6.1", + "compare-versions": "3.3.0", + "fileset": "2.0.3", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-hook": "1.2.1", + "istanbul-lib-instrument": "1.10.1", + "istanbul-lib-report": "1.1.4", + "istanbul-lib-source-maps": "1.2.5", + "istanbul-reports": "1.3.0", + "js-yaml": "3.12.0", + "mkdirp": "0.5.1", + "once": "1.4.0" }, "dependencies": { "debug": { @@ -4531,11 +4531,11 @@ "integrity": "sha512-8O2T/3VhrQHn0XcJbP1/GN7kXMiRAlPi+fj3uEHrjBD8Oz7Py0prSC25C09NuAZS6bgW1NNKAvCSHZXB0irSGA==", "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.2.0", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" } } } @@ -4552,7 +4552,7 @@ "integrity": "sha512-eLAMkPG9FU0v5L02lIkcj/2/Zlz9OuluaXikdr5iStk8FDbSwAixTK9TkYxbF0eNnzAJTwM2fkV2A1tpsIp4Jg==", "dev": true, "requires": { - "append-transform": "^1.0.0" + "append-transform": "1.0.0" } }, "istanbul-lib-instrument": { @@ -4561,13 +4561,13 @@ "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.0", - "semver": "^5.3.0" + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.0", + "semver": "5.5.0" } }, "istanbul-lib-report": { @@ -4576,10 +4576,10 @@ "integrity": "sha512-Azqvq5tT0U09nrncK3q82e/Zjkxa4tkFZv7E6VcqP0QCPn6oNljDPfrZEC/umNXds2t7b8sRJfs6Kmpzt8m2kA==", "dev": true, "requires": { - "istanbul-lib-coverage": "^1.2.0", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "path-parse": "1.0.6", + "supports-color": "3.2.3" }, "dependencies": { "has-flag": { @@ -4605,11 +4605,11 @@ "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==", "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.2", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -4629,7 +4629,7 @@ "integrity": "sha512-y2Z2IMqE1gefWUaVjrBm0mSKvUkaBy9Vqz8iwr/r40Y9hBbIteH5wqHG/9DLTfJ9xUnUT2j7A3+VVJ6EaYBllA==", "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "jest": { @@ -4638,7 +4638,7 @@ "integrity": "sha512-KLoBNahMA7gnAHbZ7msoivm8G52Emh4Qe4cYwInuJLwlUZRWfFFAHjao1fQ8iyiikp9eWgJcE94IJkZ58XVtmA==", "dev": true, "requires": { - "jest-cli": "^21.0.1" + "jest-cli": "21.2.1" }, "dependencies": { "ansi-regex": { @@ -4653,7 +4653,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "arr-diff": { @@ -4674,16 +4674,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -4692,7 +4692,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -4709,9 +4709,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "cliui": { @@ -4720,9 +4720,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "ansi-regex": { @@ -4737,9 +4737,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { @@ -4748,7 +4748,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -4759,13 +4759,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -4774,13 +4774,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -4789,7 +4789,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -4798,7 +4798,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -4807,7 +4807,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -4816,7 +4816,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4827,7 +4827,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -4836,7 +4836,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4847,9 +4847,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -4866,14 +4866,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -4882,7 +4882,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -4891,7 +4891,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -4902,10 +4902,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -4914,7 +4914,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -4925,7 +4925,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "is-accessor-descriptor": { @@ -4934,7 +4934,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -4943,7 +4943,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -4952,9 +4952,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-fullwidth-code-point": { @@ -4963,7 +4963,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-number": { @@ -4972,7 +4972,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -4981,7 +4981,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4998,35 +4998,35 @@ "integrity": "sha512-T1BzrbFxDIW/LLYQqVfo94y/hhaj1NzVQkZgBumAC+sxbjMROI7VkihOdxNR758iYbQykL2ZOWUBurFgkQrzdg==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "istanbul-api": "^1.1.1", - "istanbul-lib-coverage": "^1.0.1", - "istanbul-lib-instrument": "^1.4.2", - "istanbul-lib-source-maps": "^1.1.0", - "jest-changed-files": "^21.2.0", - "jest-config": "^21.2.1", - "jest-environment-jsdom": "^21.2.1", - "jest-haste-map": "^21.2.0", - "jest-message-util": "^21.2.1", - "jest-regex-util": "^21.2.0", - "jest-resolve-dependencies": "^21.2.0", - "jest-runner": "^21.2.1", - "jest-runtime": "^21.2.1", - "jest-snapshot": "^21.2.1", - "jest-util": "^21.2.1", - "micromatch": "^2.3.11", - "node-notifier": "^5.0.2", - "pify": "^3.0.0", - "slash": "^1.0.0", - "string-length": "^2.0.0", - "strip-ansi": "^4.0.0", - "which": "^1.2.12", - "worker-farm": "^1.3.1", - "yargs": "^9.0.0" + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "is-ci": "1.1.0", + "istanbul-api": "1.3.1", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-instrument": "1.10.1", + "istanbul-lib-source-maps": "1.2.3", + "jest-changed-files": "21.2.0", + "jest-config": "21.2.1", + "jest-environment-jsdom": "21.2.1", + "jest-haste-map": "21.2.0", + "jest-message-util": "21.2.1", + "jest-regex-util": "21.2.0", + "jest-resolve-dependencies": "21.2.0", + "jest-runner": "21.2.1", + "jest-runtime": "21.2.1", + "jest-snapshot": "21.2.1", + "jest-util": "21.2.1", + "micromatch": "2.3.11", + "node-notifier": "5.2.1", + "pify": "3.0.0", + "slash": "1.0.0", + "string-length": "2.0.0", + "strip-ansi": "4.0.0", + "which": "1.3.1", + "worker-farm": "1.6.0", + "yargs": "9.0.1" } }, "jest-docblock": { @@ -5041,12 +5041,12 @@ "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", "dev": true, "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "jest-docblock": "^21.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0", - "worker-farm": "^1.3.1" + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.11", + "jest-docblock": "21.2.0", + "micromatch": "2.3.11", + "sane": "2.5.2", + "worker-farm": "1.6.0" } }, "kind-of": { @@ -5061,10 +5061,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" }, "dependencies": { "pify": { @@ -5081,9 +5081,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "path-type": { @@ -5092,7 +5092,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" }, "dependencies": { "pify": { @@ -5115,9 +5115,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -5126,8 +5126,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "sane": { @@ -5136,15 +5136,15 @@ "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "dev": true, "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "micromatch": { @@ -5153,19 +5153,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -5176,7 +5176,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "strip-bom": { @@ -5191,7 +5191,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "which-module": { @@ -5206,19 +5206,19 @@ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "dev": true, "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -5227,7 +5227,7 @@ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -5238,7 +5238,7 @@ "integrity": "sha512-+lCNP1IZLwN1NOIvBcV5zEL6GENK6TXrDj4UxWIeLvIsIDa+gf6J7hkqsW2qVVt/wvH65rVvcPwqXdps5eclTQ==", "dev": true, "requires": { - "throat": "^4.0.0" + "throat": "4.1.0" } }, "jest-config": { @@ -5247,17 +5247,17 @@ "integrity": "sha512-fJru5HtlD/5l2o25eY9xT0doK3t2dlglrqoGpbktduyoI0T5CwuB++2YfoNZCrgZipTwPuAGonYv0q7+8yDc/A==", "dev": true, "requires": { - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^21.2.1", - "jest-environment-node": "^21.2.1", - "jest-get-type": "^21.2.0", - "jest-jasmine2": "^21.2.1", - "jest-regex-util": "^21.2.0", - "jest-resolve": "^21.2.0", - "jest-util": "^21.2.1", - "jest-validate": "^21.2.1", - "pretty-format": "^21.2.1" + "chalk": "2.4.1", + "glob": "7.1.2", + "jest-environment-jsdom": "21.2.1", + "jest-environment-node": "21.2.1", + "jest-get-type": "21.2.0", + "jest-jasmine2": "21.2.1", + "jest-regex-util": "21.2.0", + "jest-resolve": "21.2.0", + "jest-util": "21.2.1", + "jest-validate": "21.2.1", + "pretty-format": "21.2.1" }, "dependencies": { "ansi-regex": { @@ -5272,7 +5272,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5281,9 +5281,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "pretty-format": { @@ -5292,8 +5292,8 @@ "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -5302,7 +5302,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5313,10 +5313,10 @@ "integrity": "sha512-E5fu6r7PvvPr5qAWE1RaUwIh/k6Zx/3OOkZ4rk5dBJkEWRrUuSgbMt2EO8IUTPTd6DOqU3LW6uTIwX5FRvXoFA==", "dev": true, "requires": { - "chalk": "^2.0.1", - "diff": "^3.2.0", - "jest-get-type": "^21.2.0", - "pretty-format": "^21.2.1" + "chalk": "2.4.1", + "diff": "3.5.0", + "jest-get-type": "21.2.0", + "pretty-format": "21.2.1" }, "dependencies": { "ansi-regex": { @@ -5331,7 +5331,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5340,9 +5340,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "pretty-format": { @@ -5351,8 +5351,8 @@ "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -5361,7 +5361,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5377,9 +5377,9 @@ "integrity": "sha512-mecaeNh0eWmzNrUNMWARysc0E9R96UPBamNiOCYL28k7mksb1d0q6DD38WKP7ABffjnXyUWJPVaWRgUOivwXwg==", "dev": true, "requires": { - "jest-mock": "^21.2.0", - "jest-util": "^21.2.1", - "jsdom": "^9.12.0" + "jest-mock": "21.2.0", + "jest-util": "21.2.1", + "jsdom": "9.12.0" } }, "jest-environment-node": { @@ -5388,8 +5388,8 @@ "integrity": "sha512-R211867wx9mVBVHzrjGRGTy5cd05K7eqzQl/WyZixR/VkJ4FayS8qkKXZyYnwZi6Rxo6WEV81cDbiUx/GfuLNw==", "dev": true, "requires": { - "jest-mock": "^21.2.0", - "jest-util": "^21.2.1" + "jest-mock": "21.2.0", + "jest-util": "21.2.1" } }, "jest-get-type": { @@ -5403,12 +5403,12 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.1.0-delta.4.tgz", "integrity": "sha512-L95f3nYoxUSzqzJdOq39ggklspwkqOq/FkzvH0SYhXdpv0c0kW8DXLovxfZy5FnK4rUyeVMBI9aNQ+TvZHKT3Q==", "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.11", "jest-docblock": "20.1.0-delta.4", - "micromatch": "^2.3.11", - "sane": "^2.0.0", - "worker-farm": "^1.3.1" + "micromatch": "2.3.11", + "sane": "2.5.2", + "worker-farm": "1.6.0" }, "dependencies": { "arr-diff": { @@ -5426,16 +5426,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -5443,7 +5443,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -5453,13 +5453,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -5467,7 +5467,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -5475,7 +5475,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -5483,7 +5483,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -5491,7 +5491,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5501,7 +5501,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -5509,7 +5509,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5519,9 +5519,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -5536,14 +5536,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -5551,7 +5551,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -5559,7 +5559,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -5569,10 +5569,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -5580,7 +5580,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -5590,7 +5590,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -5598,7 +5598,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -5606,9 +5606,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -5616,7 +5616,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -5624,7 +5624,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5644,15 +5644,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "micromatch": { @@ -5660,19 +5660,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -5685,14 +5685,14 @@ "integrity": "sha512-lw8FXXIEekD+jYNlStfgNsUHpfMWhWWCgHV7n0B7mA/vendH7vBFs8xybjQsDzJSduptBZJHqQX9SMssya9+3A==", "dev": true, "requires": { - "chalk": "^2.0.1", - "expect": "^21.2.1", - "graceful-fs": "^4.1.11", - "jest-diff": "^21.2.1", - "jest-matcher-utils": "^21.2.1", - "jest-message-util": "^21.2.1", - "jest-snapshot": "^21.2.1", - "p-cancelable": "^0.3.0" + "chalk": "2.4.1", + "expect": "21.2.1", + "graceful-fs": "4.1.11", + "jest-diff": "21.2.1", + "jest-matcher-utils": "21.2.1", + "jest-message-util": "21.2.1", + "jest-snapshot": "21.2.1", + "p-cancelable": "0.3.0" }, "dependencies": { "ansi-styles": { @@ -5701,7 +5701,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5710,9 +5710,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "supports-color": { @@ -5721,7 +5721,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5732,9 +5732,9 @@ "integrity": "sha512-kn56My+sekD43dwQPrXBl9Zn9tAqwoy25xxe7/iY4u+mG8P3ALj5IK7MLHZ4Mi3xW7uWVCjGY8cm4PqgbsqMCg==", "dev": true, "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^21.2.0", - "pretty-format": "^21.2.1" + "chalk": "2.4.1", + "jest-get-type": "21.2.0", + "pretty-format": "21.2.1" }, "dependencies": { "ansi-regex": { @@ -5749,7 +5749,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5758,9 +5758,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "pretty-format": { @@ -5769,8 +5769,8 @@ "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -5779,7 +5779,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5790,9 +5790,9 @@ "integrity": "sha512-EbC1X2n0t9IdeMECJn2BOg7buOGivCvVNjqKMXTzQOu7uIfLml+keUfCALDh8o4rbtndIeyGU8/BKfoTr/LVDQ==", "dev": true, "requires": { - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0" + "chalk": "2.4.1", + "micromatch": "2.3.11", + "slash": "1.0.0" }, "dependencies": { "ansi-styles": { @@ -5801,7 +5801,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5810,9 +5810,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "supports-color": { @@ -5821,7 +5821,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5844,9 +5844,9 @@ "integrity": "sha512-vefQ/Lr+VdNvHUZFQXWtOqHX3HEdOc2MtSahBO89qXywEbUxGPB9ZLP9+BHinkxb60UT2Q/tTDOS6rYc6Mwigw==", "dev": true, "requires": { - "browser-resolve": "^1.11.2", - "chalk": "^2.0.1", - "is-builtin-module": "^1.0.0" + "browser-resolve": "1.11.3", + "chalk": "2.4.1", + "is-builtin-module": "1.0.0" }, "dependencies": { "ansi-styles": { @@ -5855,7 +5855,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5864,9 +5864,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "supports-color": { @@ -5875,7 +5875,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5886,7 +5886,7 @@ "integrity": "sha512-ok8ybRFU5ScaAcfufIQrCbdNJSRZ85mkxJ1EhUp8Bhav1W1/jv/rl1Q6QoVQHObNxmKnbHVKrfLZbCbOsXQ+bQ==", "dev": true, "requires": { - "jest-regex-util": "^21.2.0" + "jest-regex-util": "21.2.0" } }, "jest-runner": { @@ -5895,16 +5895,16 @@ "integrity": "sha512-Anb72BOQlHqF/zETqZ2K20dbYsnqW/nZO7jV8BYENl+3c44JhMrA8zd1lt52+N7ErnsQMd2HHKiVwN9GYSXmrg==", "dev": true, "requires": { - "jest-config": "^21.2.1", - "jest-docblock": "^21.2.0", - "jest-haste-map": "^21.2.0", - "jest-jasmine2": "^21.2.1", - "jest-message-util": "^21.2.1", - "jest-runtime": "^21.2.1", - "jest-util": "^21.2.1", - "pify": "^3.0.0", - "throat": "^4.0.0", - "worker-farm": "^1.3.1" + "jest-config": "21.2.1", + "jest-docblock": "21.2.0", + "jest-haste-map": "21.2.0", + "jest-jasmine2": "21.2.1", + "jest-message-util": "21.2.1", + "jest-runtime": "21.2.1", + "jest-util": "21.2.1", + "pify": "3.0.0", + "throat": "4.1.0", + "worker-farm": "1.6.0" }, "dependencies": { "arr-diff": { @@ -5925,16 +5925,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -5943,7 +5943,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -5954,13 +5954,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -5969,7 +5969,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -5978,7 +5978,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -5987,7 +5987,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -5996,7 +5996,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6007,7 +6007,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6016,7 +6016,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6027,9 +6027,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -6046,14 +6046,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -6062,7 +6062,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -6071,7 +6071,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -6082,10 +6082,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -6094,7 +6094,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -6105,7 +6105,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -6114,7 +6114,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -6123,9 +6123,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -6134,7 +6134,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6143,7 +6143,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6166,12 +6166,12 @@ "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", "dev": true, "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "jest-docblock": "^21.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0", - "worker-farm": "^1.3.1" + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.11", + "jest-docblock": "21.2.0", + "micromatch": "2.3.11", + "sane": "2.5.2", + "worker-farm": "1.6.0" } }, "kind-of": { @@ -6192,15 +6192,15 @@ "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "dev": true, "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "micromatch": { @@ -6209,19 +6209,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -6234,23 +6234,23 @@ "integrity": "sha512-6omlpA3+NSE+rHwD0PQjNEjZeb2z+oRmuehMfM1tWQVum+E0WV3pFt26Am0DUfQkkPyTABvxITRjCUclYgSOsA==", "dev": true, "requires": { - "babel-core": "^6.0.0", - "babel-jest": "^21.2.0", - "babel-plugin-istanbul": "^4.0.0", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "graceful-fs": "^4.1.11", - "jest-config": "^21.2.1", - "jest-haste-map": "^21.2.0", - "jest-regex-util": "^21.2.0", - "jest-resolve": "^21.2.0", - "jest-util": "^21.2.1", - "json-stable-stringify": "^1.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", + "babel-core": "6.26.3", + "babel-jest": "21.2.0", + "babel-plugin-istanbul": "4.1.6", + "chalk": "2.4.1", + "convert-source-map": "1.5.1", + "graceful-fs": "4.1.11", + "jest-config": "21.2.1", + "jest-haste-map": "21.2.0", + "jest-regex-util": "21.2.0", + "jest-resolve": "21.2.0", + "jest-util": "21.2.1", + "json-stable-stringify": "1.0.1", + "micromatch": "2.3.11", + "slash": "1.0.0", "strip-bom": "3.0.0", - "write-file-atomic": "^2.1.0", - "yargs": "^9.0.0" + "write-file-atomic": "2.3.0", + "yargs": "9.0.1" }, "dependencies": { "ansi-styles": { @@ -6259,7 +6259,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "arr-diff": { @@ -6280,8 +6280,8 @@ "integrity": "sha512-O0W2qLoWu1QOoOGgxiR2JID4O6WSpxPiQanrkyi9SSlM0PJ60Ptzlck47lhtnr9YZO3zYOsxHwnyeWJ6AffoBQ==", "dev": true, "requires": { - "babel-plugin-istanbul": "^4.0.0", - "babel-preset-jest": "^21.2.0" + "babel-plugin-istanbul": "4.1.6", + "babel-preset-jest": "21.2.0" } }, "braces": { @@ -6290,16 +6290,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -6308,7 +6308,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -6325,9 +6325,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "cliui": { @@ -6336,9 +6336,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -6347,9 +6347,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -6360,13 +6360,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -6375,13 +6375,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -6390,7 +6390,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -6399,7 +6399,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -6408,7 +6408,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6417,7 +6417,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6428,7 +6428,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6437,7 +6437,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6448,9 +6448,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -6467,14 +6467,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -6483,7 +6483,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -6492,7 +6492,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -6503,10 +6503,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -6515,7 +6515,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -6526,7 +6526,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "is-accessor-descriptor": { @@ -6535,7 +6535,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -6544,7 +6544,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -6553,9 +6553,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-fullwidth-code-point": { @@ -6564,7 +6564,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-number": { @@ -6573,7 +6573,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6582,7 +6582,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6605,12 +6605,12 @@ "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", "dev": true, "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "jest-docblock": "^21.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0", - "worker-farm": "^1.3.1" + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.11", + "jest-docblock": "21.2.0", + "micromatch": "2.3.11", + "sane": "2.5.2", + "worker-farm": "1.6.0" } }, "kind-of": { @@ -6625,10 +6625,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "os-locale": { @@ -6637,9 +6637,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "path-type": { @@ -6648,7 +6648,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "read-pkg": { @@ -6657,9 +6657,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -6668,8 +6668,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "sane": { @@ -6678,15 +6678,15 @@ "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "dev": true, "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "micromatch": { @@ -6695,19 +6695,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -6724,7 +6724,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "which-module": { @@ -6739,9 +6739,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } }, "yargs": { @@ -6750,19 +6750,19 @@ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "dev": true, "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -6771,7 +6771,7 @@ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -6782,12 +6782,12 @@ "integrity": "sha512-bpaeBnDpdqaRTzN8tWg0DqOTo2DvD3StOemxn67CUd1p1Po+BUpvePAp44jdJ7Pxcjfg+42o4NHw1SxdCA2rvg==", "dev": true, "requires": { - "chalk": "^2.0.1", - "jest-diff": "^21.2.1", - "jest-matcher-utils": "^21.2.1", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^21.2.1" + "chalk": "2.4.1", + "jest-diff": "21.2.1", + "jest-matcher-utils": "21.2.1", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "pretty-format": "21.2.1" }, "dependencies": { "ansi-regex": { @@ -6802,7 +6802,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6811,9 +6811,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "pretty-format": { @@ -6822,8 +6822,8 @@ "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6832,7 +6832,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6843,13 +6843,13 @@ "integrity": "sha512-r20W91rmHY3fnCoO7aOAlyfC51x2yeV3xF+prGsJAUsYhKeV670ZB8NO88Lwm7ASu8SdH0S+U+eFf498kjhA4g==", "dev": true, "requires": { - "callsites": "^2.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.11", - "jest-message-util": "^21.2.1", - "jest-mock": "^21.2.0", - "jest-validate": "^21.2.1", - "mkdirp": "^0.5.1" + "callsites": "2.0.0", + "chalk": "2.4.1", + "graceful-fs": "4.1.11", + "jest-message-util": "21.2.1", + "jest-mock": "21.2.0", + "jest-validate": "21.2.1", + "mkdirp": "0.5.1" }, "dependencies": { "ansi-styles": { @@ -6858,7 +6858,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6867,9 +6867,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "supports-color": { @@ -6878,7 +6878,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6889,10 +6889,10 @@ "integrity": "sha512-k4HLI1rZQjlU+EC682RlQ6oZvLrE5SCh3brseQc24vbZTxzT/k/3urar5QMCVgjadmSO7lECeGdc6YxnM3yEGg==", "dev": true, "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^21.2.0", - "leven": "^2.1.0", - "pretty-format": "^21.2.1" + "chalk": "2.4.1", + "jest-get-type": "21.2.0", + "leven": "2.1.0", + "pretty-format": "21.2.1" }, "dependencies": { "ansi-regex": { @@ -6907,7 +6907,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6916,9 +6916,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "pretty-format": { @@ -6927,8 +6927,8 @@ "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6937,7 +6937,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6953,8 +6953,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.1" }, "dependencies": { "esprima": { @@ -6977,25 +6977,25 @@ "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", "dev": true, "requires": { - "abab": "^1.0.3", - "acorn": "^4.0.4", - "acorn-globals": "^3.1.0", - "array-equal": "^1.0.0", - "content-type-parser": "^1.0.1", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": ">= 0.2.37 < 0.3.0", - "escodegen": "^1.6.1", - "html-encoding-sniffer": "^1.0.1", - "nwmatcher": ">= 1.3.9 < 2.0.0", - "parse5": "^1.5.1", - "request": "^2.79.0", - "sax": "^1.2.1", - "symbol-tree": "^3.2.1", - "tough-cookie": "^2.3.2", - "webidl-conversions": "^4.0.0", - "whatwg-encoding": "^1.0.1", - "whatwg-url": "^4.3.0", - "xml-name-validator": "^2.0.1" + "abab": "1.0.4", + "acorn": "4.0.13", + "acorn-globals": "3.1.0", + "array-equal": "1.0.0", + "content-type-parser": "1.0.2", + "cssom": "0.3.4", + "cssstyle": "0.2.37", + "escodegen": "1.11.0", + "html-encoding-sniffer": "1.0.2", + "nwmatcher": "1.4.4", + "parse5": "1.5.1", + "request": "2.88.0", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.4.3", + "webidl-conversions": "4.0.2", + "whatwg-encoding": "1.0.3", + "whatwg-url": "4.8.0", + "xml-name-validator": "2.0.1" }, "dependencies": { "acorn": { @@ -7032,7 +7032,7 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { - "jsonify": "~0.0.0" + "jsonify": "0.0.0" } }, "json-stringify-safe": { @@ -7050,7 +7050,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsonify": { @@ -7074,7 +7074,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "klaw": { @@ -7082,7 +7082,7 @@ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "lazy-cache": { @@ -7095,7 +7095,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "left-pad": { @@ -7115,8 +7115,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { @@ -7124,11 +7124,11 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -7136,8 +7136,8 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -7202,7 +7202,7 @@ "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", "requires": { - "lodash._root": "^3.0.0" + "lodash._root": "3.0.1" } }, "lodash.isarguments": { @@ -7220,9 +7220,9 @@ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" } }, "lodash.pad": { @@ -7250,15 +7250,15 @@ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", "requires": { - "lodash._basecopy": "^3.0.0", - "lodash._basetostring": "^3.0.0", - "lodash._basevalues": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0", - "lodash.keys": "^3.0.0", - "lodash.restparam": "^3.0.0", - "lodash.templatesettings": "^3.0.0" + "lodash._basecopy": "3.0.1", + "lodash._basetostring": "3.0.1", + "lodash._basevalues": "3.0.0", + "lodash._isiterateecall": "3.0.9", + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0", + "lodash.keys": "3.1.2", + "lodash.restparam": "3.6.1", + "lodash.templatesettings": "3.1.1" } }, "lodash.templatesettings": { @@ -7266,8 +7266,8 @@ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0" + "lodash._reinterpolate": "3.0.0", + "lodash.escape": "3.2.0" } }, "longest": { @@ -7280,7 +7280,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "js-tokens": "4.0.0" } }, "lru-cache": { @@ -7288,8 +7288,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "macos-release": { @@ -7302,7 +7302,7 @@ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "requires": { - "tmpl": "1.0.x" + "tmpl": "1.0.4" } }, "map-cache": { @@ -7315,7 +7315,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "math-random": { @@ -7333,7 +7333,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "merge": { @@ -7346,7 +7346,7 @@ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", "requires": { - "readable-stream": "^2.0.1" + "readable-stream": "2.3.6" } }, "method-override": { @@ -7355,9 +7355,9 @@ "integrity": "sha1-49r41d7hDdLc59SuiNYrvud0drQ=", "requires": { "debug": "2.6.9", - "methods": "~1.1.2", - "parseurl": "~1.3.2", - "vary": "~1.1.2" + "methods": "1.1.2", + "parseurl": "1.3.2", + "vary": "1.1.2" }, "dependencies": { "vary": { @@ -7377,41 +7377,41 @@ "resolved": "https://registry.npmjs.org/metro-bundler/-/metro-bundler-0.11.0.tgz", "integrity": "sha512-z1b2HtOa1uJVrp5KOx9bvoYRPD8Gn5x+gyFTIGSev7hbDzyAmUoooFUf8yLAfyIVIb4TZGB+tjkn+Skmn41aNQ==", "requires": { - "absolute-path": "^0.0.0", - "async": "^2.4.0", - "babel-core": "^6.24.1", - "babel-generator": "^6.24.1", - "babel-plugin-external-helpers": "^6.18.0", - "babel-preset-es2015-node": "^6.1.1", - "babel-preset-fbjs": "^2.1.4", - "babel-preset-react-native": "^2.0.0", - "babel-register": "^6.24.1", - "babylon": "^6.17.0", - "chalk": "^1.1.1", - "concat-stream": "^1.6.0", - "core-js": "^2.2.2", - "debug": "^2.2.0", - "denodeify": "^1.2.1", + "absolute-path": "0.0.0", + "async": "2.6.1", + "babel-core": "6.26.3", + "babel-generator": "6.26.1", + "babel-plugin-external-helpers": "6.22.0", + "babel-preset-es2015-node": "6.1.1", + "babel-preset-fbjs": "2.2.0", + "babel-preset-react-native": "2.1.0", + "babel-register": "6.26.0", + "babylon": "6.18.0", + "chalk": "1.1.3", + "concat-stream": "1.6.2", + "core-js": "2.5.7", + "debug": "2.6.9", + "denodeify": "1.2.1", "fbjs": "0.8.12", - "graceful-fs": "^4.1.3", - "image-size": "^0.6.0", + "graceful-fs": "4.1.11", + "image-size": "0.6.3", "jest-docblock": "20.1.0-chi.1", "jest-haste-map": "20.1.0-chi.1", - "json-stable-stringify": "^1.0.1", - "json5": "^0.4.0", - "left-pad": "^1.1.3", - "lodash": "^4.16.6", - "merge-stream": "^1.0.1", + "json-stable-stringify": "1.0.1", + "json5": "0.4.0", + "left-pad": "1.3.0", + "lodash": "4.17.10", + "merge-stream": "1.0.1", "mime-types": "2.1.11", - "mkdirp": "^0.5.1", - "request": "^2.79.0", - "rimraf": "^2.5.4", - "source-map": "^0.5.6", + "mkdirp": "0.5.1", + "request": "2.88.0", + "rimraf": "2.6.2", + "source-map": "0.5.7", "temp": "0.8.3", - "throat": "^4.1.0", + "throat": "4.1.0", "uglify-js": "2.7.5", - "write-file-atomic": "^1.2.0", - "xpipe": "^1.0.5" + "write-file-atomic": "1.3.4", + "xpipe": "1.0.5" }, "dependencies": { "arr-diff": { @@ -7429,35 +7429,35 @@ "resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-2.1.0.tgz", "integrity": "sha1-kBPr2C2hyIECv1iIEP9Z4gnKK4o=", "requires": { - "babel-plugin-check-es2015-constants": "^6.5.0", + "babel-plugin-check-es2015-constants": "6.22.0", "babel-plugin-react-transform": "2.0.2", - "babel-plugin-syntax-async-functions": "^6.5.0", - "babel-plugin-syntax-class-properties": "^6.5.0", - "babel-plugin-syntax-flow": "^6.5.0", - "babel-plugin-syntax-jsx": "^6.5.0", - "babel-plugin-syntax-trailing-function-commas": "^6.5.0", - "babel-plugin-transform-class-properties": "^6.5.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.5.0", - "babel-plugin-transform-es2015-block-scoping": "^6.5.0", - "babel-plugin-transform-es2015-classes": "^6.5.0", - "babel-plugin-transform-es2015-computed-properties": "^6.5.0", - "babel-plugin-transform-es2015-destructuring": "^6.5.0", - "babel-plugin-transform-es2015-for-of": "^6.5.0", - "babel-plugin-transform-es2015-function-name": "^6.5.0", - "babel-plugin-transform-es2015-literals": "^6.5.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.5.0", - "babel-plugin-transform-es2015-parameters": "^6.5.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.5.0", - "babel-plugin-transform-es2015-spread": "^6.5.0", - "babel-plugin-transform-es2015-template-literals": "^6.5.0", - "babel-plugin-transform-flow-strip-types": "^6.5.0", - "babel-plugin-transform-object-assign": "^6.5.0", - "babel-plugin-transform-object-rest-spread": "^6.5.0", - "babel-plugin-transform-react-display-name": "^6.5.0", - "babel-plugin-transform-react-jsx": "^6.5.0", - "babel-plugin-transform-react-jsx-source": "^6.5.0", - "babel-plugin-transform-regenerator": "^6.5.0", - "react-transform-hmr": "^1.0.4" + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-plugin-syntax-flow": "6.18.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-plugin-transform-object-assign": "6.22.0", + "babel-plugin-transform-object-rest-spread": "6.26.0", + "babel-plugin-transform-react-display-name": "6.25.0", + "babel-plugin-transform-react-jsx": "6.24.1", + "babel-plugin-transform-react-jsx-source": "6.22.0", + "babel-plugin-transform-regenerator": "6.26.0", + "react-transform-hmr": "1.0.4" } }, "braces": { @@ -7465,16 +7465,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -7482,7 +7482,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7497,13 +7497,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -7511,7 +7511,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -7519,7 +7519,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -7527,7 +7527,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7535,7 +7535,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7545,7 +7545,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7553,7 +7553,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7563,9 +7563,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -7580,14 +7580,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -7595,7 +7595,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -7603,7 +7603,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7613,13 +7613,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=", "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.9" + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" }, "dependencies": { "core-js": { @@ -7634,10 +7634,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -7645,7 +7645,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7655,7 +7655,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -7663,7 +7663,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -7671,9 +7671,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -7681,7 +7681,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7689,7 +7689,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7709,12 +7709,12 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.1.0-chi.1.tgz", "integrity": "sha512-G5Bjy3NoSBOR4T5FGqu6VlUJk7BnGUfRXkPcU26HTE06j5T0HEnVoScUsP1+XHSSw0XKq84N2LquppHbg3buxg==", "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "jest-docblock": "^20.1.0-chi.1", - "micromatch": "^2.3.11", - "sane": "^2.0.0", - "worker-farm": "^1.3.1" + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.11", + "jest-docblock": "20.1.0-chi.1", + "micromatch": "2.3.11", + "sane": "2.5.2", + "worker-farm": "1.6.0" } }, "kind-of": { @@ -7727,15 +7727,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "micromatch": { @@ -7743,19 +7743,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -7767,19 +7767,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { - "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" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "mime": { @@ -7797,7 +7797,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", "requires": { - "mime-db": "~1.23.0" + "mime-db": "1.23.0" }, "dependencies": { "mime-db": { @@ -7817,7 +7817,7 @@ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { - "dom-walk": "^0.1.0" + "dom-walk": "0.1.1" } }, "minimatch": { @@ -7825,7 +7825,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -7838,8 +7838,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -7847,7 +7847,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -7877,11 +7877,11 @@ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz", "integrity": "sha1-X9gYOYxoGcuiinzWZk8pL+HAu/I=", "requires": { - "basic-auth": "~1.0.3", - "debug": "~2.2.0", - "depd": "~1.0.1", - "on-finished": "~2.3.0", - "on-headers": "~1.0.0" + "basic-auth": "1.0.4", + "debug": "2.2.0", + "depd": "1.0.1", + "on-finished": "2.3.0", + "on-headers": "1.0.1" }, "dependencies": { "debug": { @@ -7909,8 +7909,8 @@ "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz", "integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=", "requires": { - "readable-stream": "~1.1.9", - "stream-counter": "~0.2.0" + "readable-stream": "1.1.14", + "stream-counter": "0.2.0" }, "dependencies": { "isarray": { @@ -7923,10 +7923,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -7960,17 +7960,17 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "arr-diff": { @@ -8006,8 +8006,8 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "encoding": "0.1.12", + "is-stream": "1.1.0" } }, "node-int64": { @@ -8021,10 +8021,10 @@ "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", "dev": true, "requires": { - "growly": "^1.3.0", - "semver": "^5.4.1", - "shellwords": "^0.1.1", - "which": "^1.3.0" + "growly": "1.3.0", + "semver": "5.5.0", + "shellwords": "0.1.1", + "which": "1.3.1" } }, "normalize-package-data": { @@ -8032,10 +8032,10 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.4" } }, "normalize-path": { @@ -8043,7 +8043,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "npm-run-path": { @@ -8051,7 +8051,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "npmlog": { @@ -8059,9 +8059,9 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", "requires": { - "ansi": "~0.3.1", - "are-we-there-yet": "~1.1.2", - "gauge": "~1.2.5" + "ansi": "0.3.1", + "are-we-there-yet": "1.1.5", + "gauge": "1.2.7" } }, "number-is-nan": { @@ -8090,9 +8090,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -8100,7 +8100,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -8110,7 +8110,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -8125,8 +8125,8 @@ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.pick": { @@ -8134,7 +8134,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -8162,7 +8162,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -8170,7 +8170,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "opn": { @@ -8178,7 +8178,7 @@ "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=", "requires": { - "object-assign": "^4.0.1" + "object-assign": "4.1.1" } }, "optimist": { @@ -8186,8 +8186,8 @@ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.10", + "wordwrap": "0.0.3" }, "dependencies": { "minimist": { @@ -8208,12 +8208,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" } }, "options": { @@ -8231,7 +8231,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, "os-name": { @@ -8239,8 +8239,8 @@ "resolved": "https://registry.npmjs.org/os-name/-/os-name-2.0.1.tgz", "integrity": "sha1-uaOGNhwXrjohc27wWZQFyajF3F4=", "requires": { - "macos-release": "^1.0.0", - "win-release": "^1.0.0" + "macos-release": "1.1.0", + "win-release": "1.1.1" } }, "os-tmpdir": { @@ -8254,9 +8254,9 @@ "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", "dev": true, "requires": { - "graceful-fs": "^4.1.4", - "mkdirp": "^0.5.1", - "object-assign": "^4.1.0" + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "object-assign": "4.1.1" } }, "p-cancelable": { @@ -8275,7 +8275,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -8283,7 +8283,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-try": { @@ -8296,10 +8296,10 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, "parse-json": { @@ -8307,7 +8307,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.2" } }, "parse5": { @@ -8331,7 +8331,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -8354,9 +8354,9 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "pause": { @@ -8389,7 +8389,7 @@ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "plist": { @@ -8400,7 +8400,7 @@ "base64-js": "0.0.8", "util-deprecate": "1.0.2", "xmlbuilder": "4.0.0", - "xmldom": "0.1.x" + "xmldom": "0.1.27" }, "dependencies": { "base64-js": { @@ -8451,7 +8451,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "~2.0.3" + "asap": "2.0.6" } }, "prop-types": { @@ -8459,8 +8459,8 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "loose-envify": "1.4.0", + "object-assign": "4.1.1" } }, "prr": { @@ -8503,9 +8503,9 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { @@ -8552,11 +8552,11 @@ "resolved": "https://registry.npmjs.org/react/-/react-16.0.0-alpha.12.tgz", "integrity": "sha1-jFlIUoFIXfMZtvd2gtjdBiHAgZQ=", "requires": { - "create-react-class": "^15.5.2", - "fbjs": "^0.8.9", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.0", - "prop-types": "^15.5.6" + "create-react-class": "15.6.3", + "fbjs": "0.8.17", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "prop-types": "15.6.2" } }, "react-clone-referenced-element": { @@ -8574,8 +8574,8 @@ "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-2.5.2.tgz", "integrity": "sha1-+XvsWvrl2TGNFneAZeDCFMTVcUw=", "requires": { - "shell-quote": "^1.6.1", - "ws": "^2.0.3" + "shell-quote": "1.6.1", + "ws": "2.3.1" }, "dependencies": { "safe-buffer": { @@ -8588,8 +8588,8 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz", "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=", "requires": { - "safe-buffer": "~5.0.1", - "ultron": "~1.1.0" + "safe-buffer": "5.0.1", + "ultron": "1.1.1" } } } @@ -8599,89 +8599,89 @@ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.48.4.tgz", "integrity": "sha1-8wXp/vBppbP2pyUN3VD2A88wqy0=", "requires": { - "absolute-path": "^0.0.0", - "art": "^0.10.0", - "async": "^2.4.0", - "babel-core": "^6.24.1", - "babel-generator": "^6.24.1", - "babel-plugin-external-helpers": "^6.18.0", - "babel-plugin-syntax-trailing-function-commas": "^6.20.0", + "absolute-path": "0.0.0", + "art": "0.10.3", + "async": "2.6.1", + "babel-core": "6.26.3", + "babel-generator": "6.26.1", + "babel-plugin-external-helpers": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", "babel-plugin-transform-async-to-generator": "6.16.0", - "babel-plugin-transform-class-properties": "^6.18.0", - "babel-plugin-transform-flow-strip-types": "^6.21.0", - "babel-plugin-transform-object-rest-spread": "^6.20.2", - "babel-polyfill": "^6.20.0", - "babel-preset-es2015-node": "^6.1.1", - "babel-preset-fbjs": "^2.1.4", - "babel-preset-react-native": "^2.0.0", - "babel-register": "^6.24.1", - "babel-runtime": "^6.23.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1", - "babylon": "^6.17.0", - "base64-js": "^1.1.2", - "bser": "^1.0.2", - "chalk": "^1.1.1", - "commander": "^2.9.0", - "concat-stream": "^1.6.0", - "connect": "^2.8.3", - "core-js": "^2.2.2", - "create-react-class": "^15.5.2", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "envinfo": "^3.0.0", - "errno": ">=0.1.1 <0.2.0-0", - "event-target-shim": "^1.0.5", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-plugin-transform-object-rest-spread": "6.26.0", + "babel-polyfill": "6.26.0", + "babel-preset-es2015-node": "6.1.1", + "babel-preset-fbjs": "2.2.0", + "babel-preset-react-native": "2.1.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "base64-js": "1.3.0", + "bser": "1.0.3", + "chalk": "1.1.3", + "commander": "2.17.1", + "concat-stream": "1.6.2", + "connect": "2.30.2", + "core-js": "2.5.7", + "create-react-class": "15.6.3", + "debug": "2.6.9", + "denodeify": "1.2.1", + "envinfo": "3.11.1", + "errno": "0.1.7", + "event-target-shim": "1.1.1", "fbjs": "0.8.12", - "fbjs-scripts": "^0.7.0", - "form-data": "^2.1.1", - "fs-extra": "^1.0.0", - "glob": "^7.1.1", - "graceful-fs": "^4.1.3", - "inquirer": "^3.0.6", + "fbjs-scripts": "0.7.1", + "form-data": "2.3.2", + "fs-extra": "1.0.0", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "inquirer": "3.3.0", "jest-haste-map": "20.1.0-delta.4", - "json-stable-stringify": "^1.0.1", - "json5": "^0.4.0", - "left-pad": "^1.1.3", - "lodash": "^4.16.6", - "merge-stream": "^1.0.1", - "metro-bundler": "^0.11.0", - "mime": "^1.3.4", + "json-stable-stringify": "1.0.1", + "json5": "0.4.0", + "left-pad": "1.3.0", + "lodash": "4.17.10", + "merge-stream": "1.0.1", + "metro-bundler": "0.11.0", + "mime": "1.6.0", "mime-types": "2.1.11", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "node-fetch": "^1.3.3", - "npmlog": "^2.0.4", - "opn": "^3.0.2", - "optimist": "^0.6.1", - "plist": "^1.2.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": "^2.5.0", - "react-timer-mixin": "^0.13.2", - "react-transform-hmr": "^1.0.4", - "rebound": "^0.0.13", - "regenerator-runtime": "^0.9.5", - "request": "^2.79.0", - "rimraf": "^2.5.4", - "sane": "~1.4.1", - "semver": "^5.0.3", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "node-fetch": "1.7.3", + "npmlog": "2.0.4", + "opn": "3.0.3", + "optimist": "0.6.1", + "plist": "1.2.0", + "pretty-format": "4.3.1", + "promise": "7.3.1", + "prop-types": "15.6.2", + "react-clone-referenced-element": "1.0.1", + "react-devtools-core": "2.5.2", + "react-timer-mixin": "0.13.4", + "react-transform-hmr": "1.0.4", + "rebound": "0.0.13", + "regenerator-runtime": "0.9.6", + "request": "2.88.0", + "rimraf": "2.6.2", + "sane": "1.4.1", + "semver": "5.5.0", "shell-quote": "1.6.1", - "source-map": "^0.5.6", - "stacktrace-parser": "^0.1.3", + "source-map": "0.5.7", + "stacktrace-parser": "0.1.4", "temp": "0.8.3", - "throat": "^4.1.0", - "whatwg-fetch": "^1.0.0", - "wordwrap": "^1.0.0", - "write-file-atomic": "^1.2.0", - "ws": "^1.1.0", - "xcode": "^0.9.1", - "xmldoc": "^0.4.0", - "xpipe": "^1.0.5", - "xtend": ">=4.0.0 <4.1.0-0", - "yargs": "^6.4.0" + "throat": "4.1.0", + "whatwg-fetch": "1.1.1", + "wordwrap": "1.0.0", + "write-file-atomic": "1.3.4", + "ws": "1.1.5", + "xcode": "0.9.3", + "xmldoc": "0.4.0", + "xpipe": "1.0.5", + "xtend": "4.0.1", + "yargs": "6.6.0" }, "dependencies": { "babel-preset-react-native": { @@ -8689,35 +8689,35 @@ "resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-2.1.0.tgz", "integrity": "sha1-kBPr2C2hyIECv1iIEP9Z4gnKK4o=", "requires": { - "babel-plugin-check-es2015-constants": "^6.5.0", + "babel-plugin-check-es2015-constants": "6.22.0", "babel-plugin-react-transform": "2.0.2", - "babel-plugin-syntax-async-functions": "^6.5.0", - "babel-plugin-syntax-class-properties": "^6.5.0", - "babel-plugin-syntax-flow": "^6.5.0", - "babel-plugin-syntax-jsx": "^6.5.0", - "babel-plugin-syntax-trailing-function-commas": "^6.5.0", - "babel-plugin-transform-class-properties": "^6.5.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.5.0", - "babel-plugin-transform-es2015-block-scoping": "^6.5.0", - "babel-plugin-transform-es2015-classes": "^6.5.0", - "babel-plugin-transform-es2015-computed-properties": "^6.5.0", - "babel-plugin-transform-es2015-destructuring": "^6.5.0", - "babel-plugin-transform-es2015-for-of": "^6.5.0", - "babel-plugin-transform-es2015-function-name": "^6.5.0", - "babel-plugin-transform-es2015-literals": "^6.5.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.5.0", - "babel-plugin-transform-es2015-parameters": "^6.5.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.5.0", - "babel-plugin-transform-es2015-spread": "^6.5.0", - "babel-plugin-transform-es2015-template-literals": "^6.5.0", - "babel-plugin-transform-flow-strip-types": "^6.5.0", - "babel-plugin-transform-object-assign": "^6.5.0", - "babel-plugin-transform-object-rest-spread": "^6.5.0", - "babel-plugin-transform-react-display-name": "^6.5.0", - "babel-plugin-transform-react-jsx": "^6.5.0", - "babel-plugin-transform-react-jsx-source": "^6.5.0", - "babel-plugin-transform-regenerator": "^6.5.0", - "react-transform-hmr": "^1.0.4" + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-plugin-syntax-flow": "6.18.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-flow-strip-types": "6.22.0", + "babel-plugin-transform-object-assign": "6.22.0", + "babel-plugin-transform-object-rest-spread": "6.26.0", + "babel-plugin-transform-react-display-name": "6.25.0", + "babel-plugin-transform-react-jsx": "6.24.1", + "babel-plugin-transform-react-jsx-source": "6.22.0", + "babel-plugin-transform-regenerator": "6.26.0", + "react-transform-hmr": "1.0.4" } }, "core-js": { @@ -8730,13 +8730,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=", "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.9" + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" }, "dependencies": { "core-js": { @@ -8763,7 +8763,7 @@ "resolved": "https://registry.npmjs.org/react-native-search-box/-/react-native-search-box-0.0.11.tgz", "integrity": "sha512-RqUdUhvx+XdcQrolDiNoE6qaONT0c5EtEW47IOgdOAo6icWFHBaSQR4/OaxMgGpLUua8kb3D3hVCFJOk6xLC6A==", "requires": { - "prop-types": "^15.5.10" + "prop-types": "15.6.2" } }, "react-native-store-review": { @@ -8776,9 +8776,9 @@ "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-4.6.0.tgz", "integrity": "sha512-rpfhfPiXCK2PX1nrNhdxSMrEGB/Gw/SvKoPM0G2wAkSoqynnes19K0VYI+Up7DqR1rFIpE4hP2erpT1tNx2tfg==", "requires": { - "lodash": "^4.0.0", - "prop-types": "^15.5.10", - "yargs": "^8.0.2" + "lodash": "4.17.10", + "prop-types": "15.6.2", + "yargs": "8.0.2" }, "dependencies": { "camelcase": { @@ -8813,13 +8813,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "find-up": { @@ -8931,8 +8931,8 @@ "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=", "requires": { - "lodash": "^4.6.1", - "react-deep-force-update": "^1.0.0" + "lodash": "4.17.10", + "react-deep-force-update": "1.1.1" } }, "react-test-renderer": { @@ -8941,8 +8941,8 @@ "integrity": "sha1-nkzF2M6L/KcneDQN4+FFS51sDMU=", "dev": true, "requires": { - "fbjs": "^0.8.9", - "object-assign": "^4.1.0" + "fbjs": "0.8.17", + "object-assign": "4.1.1" } }, "react-timer-mixin": { @@ -8955,8 +8955,8 @@ "resolved": "https://registry.npmjs.org/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz", "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=", "requires": { - "global": "^4.3.0", - "react-proxy": "^1.1.7" + "global": "4.3.2", + "react-proxy": "1.1.8" } }, "read-pkg": { @@ -8964,9 +8964,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -8974,8 +8974,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, "readable-stream": { @@ -8983,13 +8983,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -8999,10 +8999,10 @@ "dev": true, "optional": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" } }, "rebound": { @@ -9016,9 +9016,9 @@ "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", "requires": { "ast-types": "0.9.6", - "esprima": "~3.1.0", - "private": "~0.1.5", - "source-map": "~0.5.0" + "esprima": "3.1.3", + "private": "0.1.8", + "source-map": "0.5.7" } }, "regenerate": { @@ -9031,16 +9031,16 @@ "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.13.2.tgz", "integrity": "sha512-79ahXWnBxh1IV5LuY2yVPNOuajJyv/LevWYrMWG6hq6UNuiI7XGI9sdRhJy2TZdrl2OBhHPrawdsHBa3I15AnA==", "requires": { - "@babel/core": "^7.0.0-beta.51", - "@babel/runtime": "^7.0.0-beta.51", - "@babel/types": "^7.0.0-beta.51", - "commoner": "^0.10.8", - "private": "^0.1.6", - "recast": "^0.11.17", - "regenerator-preset": "^0.12.0", - "regenerator-runtime": "^0.12.0", - "regenerator-transform": "^0.13.0", - "through": "^2.3.8" + "@babel/core": "7.0.0-rc.1", + "@babel/runtime": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1", + "commoner": "0.10.8", + "private": "0.1.8", + "recast": "0.11.23", + "regenerator-preset": "0.12.1", + "regenerator-runtime": "0.12.1", + "regenerator-transform": "0.13.3", + "through": "2.3.8" }, "dependencies": { "regenerator-runtime": { @@ -9053,7 +9053,7 @@ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", "requires": { - "private": "^0.1.6" + "private": "0.1.8" } } } @@ -9063,13 +9063,13 @@ "resolved": "https://registry.npmjs.org/regenerator-preset/-/regenerator-preset-0.12.1.tgz", "integrity": "sha512-s/4SOEU1TxZ6IV/CQfz4BEjn29HaRhvqYPoufx2hp9LfuD2dnwnmtWEdXxUuG4JHAE7V+y6aqvileT1AflcH9g==", "requires": { - "@babel/plugin-proposal-function-sent": "^7.0.0-beta.51", - "@babel/plugin-syntax-async-generators": "^7.0.0-beta.51", - "@babel/plugin-transform-arrow-functions": "^7.0.0-beta.51", - "@babel/plugin-transform-block-scoping": "^7.0.0-beta.51", - "@babel/plugin-transform-classes": "^7.0.0-beta.51", - "@babel/plugin-transform-for-of": "^7.0.0-beta.51", - "regenerator-transform": "^0.13.0" + "@babel/plugin-proposal-function-sent": "7.0.0-rc.1", + "@babel/plugin-syntax-async-generators": "7.0.0-rc.1", + "@babel/plugin-transform-arrow-functions": "7.0.0-rc.1", + "@babel/plugin-transform-block-scoping": "7.0.0-rc.1", + "@babel/plugin-transform-classes": "7.0.0-rc.1", + "@babel/plugin-transform-for-of": "7.0.0-rc.1", + "regenerator-transform": "0.13.3" }, "dependencies": { "regenerator-transform": { @@ -9077,7 +9077,7 @@ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", "requires": { - "private": "^0.1.6" + "private": "0.1.8" } } } @@ -9092,9 +9092,9 @@ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" } }, "regex-cache": { @@ -9102,7 +9102,7 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -9110,8 +9110,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexpu-core": { @@ -9119,9 +9119,9 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } }, "regjsgen": { @@ -9134,7 +9134,7 @@ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" }, "dependencies": { "jsesc": { @@ -9164,7 +9164,7 @@ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "replace-ext": { @@ -9177,26 +9177,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "requires": { - "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" + "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" }, "dependencies": { "mime-types": { @@ -9204,7 +9204,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "requires": { - "mime-db": "~1.35.0" + "mime-db": "1.35.0" } }, "qs": { @@ -9229,7 +9229,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.6" } }, "resolve-url": { @@ -9242,8 +9242,8 @@ "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz", "integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=", "requires": { - "depd": "~1.1.0", - "on-headers": "~1.0.1" + "depd": "1.1.2", + "on-headers": "1.0.1" }, "dependencies": { "depd": { @@ -9258,8 +9258,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -9272,7 +9272,7 @@ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -9280,7 +9280,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "rndm": { @@ -9298,7 +9298,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rx-lite": { @@ -9311,7 +9311,7 @@ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "requires": { - "rx-lite": "*" + "rx-lite": "4.0.8" } }, "safe-buffer": { @@ -9324,7 +9324,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -9337,12 +9337,12 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-1.4.1.tgz", "integrity": "sha1-iPdj10BA9fDCVrYWPbOZvxEKxxU=", "requires": { - "exec-sh": "^0.2.0", - "fb-watchman": "^1.8.0", - "minimatch": "^3.0.2", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.10.0" + "exec-sh": "0.2.2", + "fb-watchman": "1.9.2", + "minimatch": "3.0.4", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.10.0" }, "dependencies": { "bser": { @@ -9350,7 +9350,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", "requires": { - "node-int64": "^0.4.0" + "node-int64": "0.4.0" } }, "fb-watchman": { @@ -9383,18 +9383,18 @@ "resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz", "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=", "requires": { - "debug": "~2.2.0", - "depd": "~1.1.0", - "destroy": "~1.0.4", - "escape-html": "~1.0.3", - "etag": "~1.7.0", + "debug": "2.2.0", + "depd": "1.1.2", + "destroy": "1.0.4", + "escape-html": "1.0.3", + "etag": "1.7.0", "fresh": "0.3.0", - "http-errors": "~1.3.1", + "http-errors": "1.3.1", "mime": "1.3.4", "ms": "0.7.1", - "on-finished": "~2.3.0", - "range-parser": "~1.0.3", - "statuses": "~1.2.1" + "on-finished": "2.3.0", + "range-parser": "1.0.3", + "statuses": "1.2.1" }, "dependencies": { "debug": { @@ -9432,10 +9432,10 @@ "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz", "integrity": "sha1-3UGeJo3gEqtysxnTN/IQUBP5OB8=", "requires": { - "etag": "~1.7.0", + "etag": "1.7.0", "fresh": "0.3.0", "ms": "0.7.2", - "parseurl": "~1.3.1" + "parseurl": "1.3.2" }, "dependencies": { "ms": { @@ -9450,13 +9450,13 @@ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz", "integrity": "sha1-egV/xu4o3GP2RWbl+lexEahq7NI=", "requires": { - "accepts": "~1.2.13", + "accepts": "1.2.13", "batch": "0.5.3", - "debug": "~2.2.0", - "escape-html": "~1.0.3", - "http-errors": "~1.3.1", - "mime-types": "~2.1.9", - "parseurl": "~1.3.1" + "debug": "2.2.0", + "escape-html": "1.0.3", + "http-errors": "1.3.1", + "mime-types": "2.1.11", + "parseurl": "1.3.2" }, "dependencies": { "debug": { @@ -9479,8 +9479,8 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz", "integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=", "requires": { - "escape-html": "~1.0.3", - "parseurl": "~1.3.1", + "escape-html": "1.0.3", + "parseurl": "1.3.2", "send": "0.13.2" } }, @@ -9501,10 +9501,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -9512,7 +9512,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9527,7 +9527,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -9540,10 +9540,10 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "requires": { - "array-filter": "~0.0.0", - "array-map": "~0.0.0", - "array-reduce": "~0.0.0", - "jsonify": "~0.0.0" + "array-filter": "0.0.1", + "array-map": "0.0.0", + "array-reduce": "0.0.0", + "jsonify": "0.0.0" } }, "shellwords": { @@ -9579,7 +9579,7 @@ "requires": { "base64-js": "1.1.2", "xmlbuilder": "8.2.2", - "xmldom": "0.1.x" + "xmldom": "0.1.27" } }, "xmlbuilder": { @@ -9609,14 +9609,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "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" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.1" }, "dependencies": { "define-property": { @@ -9624,7 +9624,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -9632,7 +9632,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -9642,9 +9642,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -9652,7 +9652,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -9660,7 +9660,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -9668,7 +9668,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -9676,9 +9676,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -9698,7 +9698,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-map": { @@ -9711,11 +9711,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "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" + "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": { @@ -9723,7 +9723,7 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "source-map-url": { @@ -9741,8 +9741,8 @@ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -9755,8 +9755,8 @@ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -9769,7 +9769,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -9783,15 +9783,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "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" + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "stacktrace-parser": { @@ -9809,8 +9809,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -9818,7 +9818,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -9838,7 +9838,7 @@ "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz", "integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=", "requires": { - "readable-stream": "~1.1.8" + "readable-stream": "1.1.14" }, "dependencies": { "isarray": { @@ -9851,10 +9851,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -9870,8 +9870,8 @@ "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", "dev": true, "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" + "astral-regex": "1.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -9886,7 +9886,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -9896,8 +9896,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -9910,7 +9910,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -9920,7 +9920,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "strip-ansi": { @@ -9928,7 +9928,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -9936,7 +9936,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -9960,8 +9960,8 @@ "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", "requires": { - "os-tmpdir": "^1.0.0", - "rimraf": "~2.2.6" + "os-tmpdir": "1.0.2", + "rimraf": "2.2.8" }, "dependencies": { "rimraf": { @@ -9977,11 +9977,11 @@ "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" }, "dependencies": { "arr-diff": { @@ -10002,16 +10002,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -10020,7 +10020,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -10031,13 +10031,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -10046,7 +10046,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -10055,7 +10055,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -10064,7 +10064,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -10073,7 +10073,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -10084,7 +10084,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -10093,7 +10093,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -10104,9 +10104,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -10123,14 +10123,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -10139,7 +10139,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -10148,7 +10148,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -10159,10 +10159,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -10171,7 +10171,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -10182,7 +10182,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -10191,7 +10191,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -10200,9 +10200,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -10211,7 +10211,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -10220,7 +10220,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -10243,19 +10243,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -10275,8 +10275,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "time-stamp": { @@ -10289,7 +10289,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "tmpl": { @@ -10307,7 +10307,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -10315,10 +10315,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -10326,8 +10326,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" }, "dependencies": { "is-number": { @@ -10335,7 +10335,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } } } @@ -10345,8 +10345,8 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" + "psl": "1.1.29", + "punycode": "1.4.1" } }, "tr46": { @@ -10370,7 +10370,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -10385,7 +10385,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-is": { @@ -10394,7 +10394,7 @@ "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "2.1.19" }, "dependencies": { "mime-types": { @@ -10402,7 +10402,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "requires": { - "mime-db": "~1.35.0" + "mime-db": "1.35.0" } } } @@ -10422,10 +10422,10 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz", "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=", "requires": { - "async": "~0.2.6", - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "async": "0.2.10", + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "async": { @@ -10438,9 +10438,9 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -10456,7 +10456,7 @@ "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=", "requires": { - "random-bytes": "~1.0.0" + "random-bytes": "1.0.0" } }, "ultron": { @@ -10469,10 +10469,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -10480,7 +10480,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -10488,10 +10488,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -10506,8 +10506,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -10515,9 +10515,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -10579,7 +10579,7 @@ "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", "dev": true, "requires": { - "user-home": "^1.1.1" + "user-home": "1.1.1" } }, "validate-npm-package-license": { @@ -10587,8 +10587,8 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "vary": { @@ -10601,9 +10601,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "vhost": { @@ -10616,8 +10616,8 @@ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", + "clone": "1.0.4", + "clone-stats": "0.0.1", "replace-ext": "0.0.1" } }, @@ -10626,7 +10626,7 @@ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "requires": { - "makeerror": "1.0.x" + "makeerror": "1.0.11" } }, "watch": { @@ -10634,8 +10634,8 @@ "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", "requires": { - "exec-sh": "^0.2.0", - "minimist": "^1.2.0" + "exec-sh": "0.2.2", + "minimist": "1.2.0" } }, "webidl-conversions": { @@ -10672,8 +10672,8 @@ "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", "dev": true, "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "tr46": "0.0.3", + "webidl-conversions": "3.0.1" }, "dependencies": { "webidl-conversions": { @@ -10689,7 +10689,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -10702,7 +10702,7 @@ "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz", "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", "requires": { - "semver": "^5.0.1" + "semver": "5.5.0" } }, "window-size": { @@ -10720,7 +10720,7 @@ "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", "requires": { - "errno": "~0.1.7" + "errno": "0.1.7" } }, "wrap-ansi": { @@ -10728,8 +10728,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -10737,7 +10737,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -10745,9 +10745,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -10762,9 +10762,9 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "ws": { @@ -10772,8 +10772,8 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", "requires": { - "options": ">=0.0.5", - "ultron": "1.0.x" + "options": "0.0.6", + "ultron": "1.0.2" }, "dependencies": { "ultron": { @@ -10788,8 +10788,8 @@ "resolved": "https://registry.npmjs.org/xcode/-/xcode-0.9.3.tgz", "integrity": "sha1-kQqJwWrubMC0LKgFptC0z4chHPM=", "requires": { - "pegjs": "^0.10.0", - "simple-plist": "^0.2.1", + "pegjs": "0.10.0", + "simple-plist": "0.2.1", "uuid": "3.0.1" }, "dependencies": { @@ -10811,7 +10811,7 @@ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz", "integrity": "sha1-mLj2UcowqmJANvEn0RzGbce5B6M=", "requires": { - "lodash": "^3.5.0" + "lodash": "3.10.1" }, "dependencies": { "lodash": { @@ -10826,7 +10826,7 @@ "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-0.4.0.tgz", "integrity": "sha1-0lciS+g5PqrL+DfvIn/Y7CWzaIg=", "requires": { - "sax": "~1.1.1" + "sax": "1.1.6" } }, "xmldom": { @@ -10859,19 +10859,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.2.0" + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "4.2.1" }, "dependencies": { "camelcase": { @@ -10884,9 +10884,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "is-fullwidth-code-point": { @@ -10894,7 +10894,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -10902,9 +10902,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -10914,7 +10914,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", "requires": { - "camelcase": "^3.0.0" + "camelcase": "3.0.0" }, "dependencies": { "camelcase": { diff --git a/package.json b/package.json index f56e9122..d788d20b 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,8 @@ "immutable": "^3.8.1", "lodash": "^4.17.4", "moment": "^2.18.1", - "react": "16.0.0-alpha.12", - "react-native": "^0.48.4", + "react": "16.6.3", + "react-native": "0.57.8", "react-native-keychain": "^1.2.1", "react-native-search-box": "0.0.11", "react-native-store-review": "^0.1.3", diff --git a/vendor/react-native-aes b/vendor/react-native-aes index fb3275f1..9c581805 160000 --- a/vendor/react-native-aes +++ b/vendor/react-native-aes @@ -1 +1 @@ -Subproject commit fb3275f1348db2b01eb385ebd50d7b61dfcf92bb +Subproject commit 9c581805d4bf3cdef0b173b789666b4f55773b5a diff --git a/vendor/react-native-fingerprint-scanner b/vendor/react-native-fingerprint-scanner index 0d38cd40..eabecf20 160000 --- a/vendor/react-native-fingerprint-scanner +++ b/vendor/react-native-fingerprint-scanner @@ -1 +1 @@ -Subproject commit 0d38cd40348d2f8754942258691a46fa26c44242 +Subproject commit eabecf201d627cb8ee70703551f91296af5a2d4e diff --git a/vendor/react-native-navigation b/vendor/react-native-navigation index 62d931b0..e6906fb9 160000 --- a/vendor/react-native-navigation +++ b/vendor/react-native-navigation @@ -1 +1 @@ -Subproject commit 62d931b0808d7891b628b082083a1b7fb77233bf +Subproject commit e6906fb973fa88bc39c0104e5a1746f64d5fcb38 diff --git a/yarn.lock b/yarn.lock index 50de66fb..fd62d5ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,674 @@ # yarn lockfile v1 +"@babel/code-frame@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/core@^7.0.0", "@babel/core@^7.1.6": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687" + integrity sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.2.2" + "@babel/helpers" "^7.2.0" + "@babel/parser" "^7.2.2" + "@babel/template" "^7.2.2" + "@babel/traverse" "^7.2.2" + "@babel/types" "^7.2.2" + convert-source-map "^1.1.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.10" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.0.0", "@babel/generator@^7.2.2": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.2.2.tgz#18c816c70962640eab42fe8cae5f3947a5c65ccc" + integrity sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg== + dependencies: + "@babel/types" "^7.2.2" + jsesc "^2.5.1" + lodash "^4.17.10" + source-map "^0.5.0" + trim-right "^1.0.1" + +"@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-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": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz#fa154cb53eb918cf2a9a7ce928e29eb649c5acdb" + integrity sha512-ebJ2JM6NAKW0fQEqN8hOLxK84RbRz9OkUhGS/Xd5u56ejMfVbayJ4+LykERZCOUM6faa6Fp3SZNX3fcT16MKHw== + dependencies: + "@babel/types" "^7.0.0" + esutils "^2.0.0" + +"@babel/helper-call-delegate@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a" + integrity sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ== + dependencies: + "@babel/helper-hoist-variables" "^7.0.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-create-class-features-plugin@^7.2.3": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.3.tgz#f6e719abb90cb7f4a69591e35fd5eb89047c4a7c" + integrity sha512-xO/3Gn+2C7/eOUeb0VRnSP1+yvWHNxlpAot1eMhtoKDCN7POsyQP5excuT5UsV5daHxMWBeIIOeI5cmB8vMRgQ== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.2.3" + +"@babel/helper-define-map@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz#3b74caec329b3c80c116290887c0dd9ae468c20c" + integrity sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/types" "^7.0.0" + lodash "^4.17.10" + +"@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.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-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-hoist-variables@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88" + integrity sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-member-expression-to-functions@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" + integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg== + dependencies: + "@babel/types" "^7.0.0" + +"@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-transforms@^7.1.0": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz#ab2f8e8d231409f8370c883d20c335190284b963" + integrity sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.0.0" + "@babel/template" "^7.2.2" + "@babel/types" "^7.2.2" + lodash "^4.17.10" + +"@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-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": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27" + integrity sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg== + dependencies: + lodash "^4.17.10" + +"@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-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.2.3": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz#19970020cf22677d62b3a689561dbd9644d8c5e5" + integrity sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/traverse" "^7.2.3" + "@babel/types" "^7.0.0" + +"@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-split-export-declaration@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" + integrity sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-wrap-function@^7.1.0", "@babel/helper-wrap-function@^7.2.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/helpers@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.2.0.tgz#8335f3140f3144270dc63c4732a4f8b0a50b7a21" + integrity sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A== + dependencies: + "@babel/template" "^7.1.2" + "@babel/traverse" "^7.1.5" + "@babel/types" "^7.2.0" + +"@babel/highlight@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" + integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.0.0", "@babel/parser@^7.2.2", "@babel/parser@^7.2.3": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.2.3.tgz#32f5df65744b70888d17872ec106b02434ba1489" + integrity sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA== + +"@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-class-properties@^7.0.0": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.3.tgz#c9e1294363b346cff333007a92080f3203698461" + integrity sha512-FVuQngLoN2iDrpW7LmhPZ2sO4DJxf35FOcwidwB9Ru9tMvI5URthnkVHuG14IStV+TzkMTyLMoOUlSTtrdVwqw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.2.3" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-proposal-export-default-from@^7.0.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz#737b0da44b9254b6152fe29bb99c64e5691f6f68" + integrity sha512-NVfNe7F6nsasG1FnvcFxh2FN0l04ZNe75qTOAVOILWPam0tw9a63RtT/Dab8dPjedZa4fTQaQ83yMMywF9OSug== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-export-default-from" "^7.2.0" + +"@babel/plugin-proposal-function-sent@^7.0.0-beta.51": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.2.0.tgz#f707d78551f49162e152d477fba32357341915d1" + integrity sha512-qQBDKRSCu1wGJi3jbngs18vrujVQA4F+OkSuIQYRhE6y19jcPzeEIGOc683mCQXDUR3BQCz8JyCupIwv+IRFmA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-wrap-function" "^7.2.0" + "@babel/plugin-syntax-function-sent" "^7.2.0" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.2.0.tgz#c3fda766187b2f2162657354407247a758ee9cf9" + integrity sha512-QXj/YjFuFJd68oDvoc1e8aqLr2wz7Kofzvp6Ekd/o7MWZl+nZ0/cpStxND+hlZ7DpRWAp7OmuyT2areZ2V3YUA== + 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": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz#88f5fec3e7ad019014c97f7ee3c992f0adbf7fb8" + integrity sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg== + 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": + 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": + 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-syntax-async-generators@^7.0.0-beta.51": + 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": + 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": + 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", "@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-function-sent@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz#91474d4d400604e4c6cbd4d77cd6cb3b8565576c" + integrity sha512-2MOVuJ6IMAifp2cf0RFkHQaOvHpbBYyWCvgtF/WVqXhTd7Bgtov8iXVCadLXp2FN1BrI2EFl+JXuwXy0qr3KoQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@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", "@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.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-typescript@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.2.0.tgz#55d240536bd314dcbbec70fd949c5cabaed1de29" + integrity sha512-WhKr6yu6yGpGcNMVgIBuI9MkredpVc7Y3YR4UzEZmDztHoL6wV56YBHLhWnjO1EvId1B32HrD3DRFc+zSoKI1g== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.0.0-beta.51": + 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.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz#68b8a438663e88519e65b776f8938f3445b1a2ff" + integrity sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ== + 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-block-scoped-functions@^7.0.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", "@babel/plugin-transform-block-scoping@^7.0.0-beta.51": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz#f17c49d91eedbcdf5dd50597d16f5f2f770132d4" + integrity sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + lodash "^4.17.10" + +"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.0.0-beta.51": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz#6c90542f210ee975aa2aa8c8b5af7fa73a126953" + integrity sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-define-map" "^7.1.0" + "@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.1.0" + "@babel/helper-split-export-declaration" "^7.0.0" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.0.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": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz#e75269b4b7889ec3a332cd0d0c8cff8fed0dc6f3" + integrity sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-exponentiation-operator@^7.0.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": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz#e3ac2a594948454e7431c7db33e1d02d51b5cd69" + integrity sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.2.0" + +"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.0.0-beta.51": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz#ab7468befa80f764bb03d3cb5eef8cc998e1cad9" + integrity sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-function-name@^7.0.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz#f7930362829ff99a3174c39f0afcc024ef59731a" + integrity sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-literals@^7.0.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": + 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-commonjs@^7.0.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz#c4f1933f5991d5145e9cfad1dfd848ea1727f404" + integrity sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ== + dependencies: + "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + +"@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": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" + integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.1.0" + +"@babel/plugin-transform-parameters@^7.0.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz#0d5ad15dc805e2ea866df4dd6682bfe76d1408c2" + integrity sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA== + dependencies: + "@babel/helper-call-delegate" "^7.1.0" + "@babel/helper-get-function-arity" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-property-literals@^7.0.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": + 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": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz#20c8c60f0140f5dd3cd63418d452801cf3f7180f" + integrity sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@babel/plugin-transform-react-jsx@^7.0.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.2.0.tgz#ca36b6561c4d3b45524f8efb6f0fbc9a0d1d622f" + integrity sha512-h/fZRel5wAfCqcKgq3OhbmYaReo7KkoJBpt8XnvpS7wqaNMqtw5xhxutzcm35iMUWucfAdT/nvGTsWln0JTg2Q== + dependencies: + "@babel/helper-builder-react-jsx" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@babel/plugin-transform-regenerator@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1" + integrity sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw== + dependencies: + regenerator-transform "^0.13.3" + +"@babel/plugin-transform-runtime@^7.0.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz#566bc43f7d0aedc880eaddbd29168d0f248966ea" + integrity sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw== + 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": + 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": + 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-sticky-regex@^7.0.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": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz#d87ed01b8eaac7a92473f608c97c089de2ba1e5b" + integrity sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-typescript@^7.0.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.2.0.tgz#bce7c06300434de6a860ae8acf6a442ef74a99d1" + integrity sha512-EnI7i2/gJ7ZNr2MuyvN2Hu+BHJENlxWte5XygPvfj/MbvtOkWor9zcnHpMMQL2YYaaCcqtIvJUyJ7QVfoGs7ew== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-typescript" "^7.2.0" + +"@babel/plugin-transform-unicode-regex@^7.0.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz#4eb8db16f972f8abb5062c161b8b115546ade08b" + integrity sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + regexpu-core "^4.1.3" + +"@babel/register@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0.tgz#fa634bae1bfa429f60615b754fc1f1d745edd827" + integrity sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g== + dependencies: + core-js "^2.5.7" + find-cache-dir "^1.0.0" + home-or-tmp "^3.0.0" + lodash "^4.17.10" + mkdirp "^0.5.1" + pirates "^4.0.0" + source-map-support "^0.5.9" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.5": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.2.0.tgz#b03e42eeddf5898e00646e4c840fa07ba8dcad7f" + integrity sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg== + dependencies: + regenerator-runtime "^0.12.0" + +"@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" + integrity sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.2.2" + "@babel/types" "^7.2.2" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.5", "@babel/traverse@^7.2.2", "@babel/traverse@^7.2.3": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.2.3.tgz#7ff50cefa9c7c0bd2d81231fdac122f3957748d8" + integrity sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.2.2" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.0.0" + "@babel/parser" "^7.2.3" + "@babel/types" "^7.2.2" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.10" + +"@babel/types@^7.0.0", "@babel/types@^7.1.6", "@babel/types@^7.2.0", "@babel/types@^7.2.2": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.2.2.tgz#44e10fc24e33af524488b716cdaee5360ea8ed1e" + integrity sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg== + dependencies: + esutils "^2.0.2" + lodash "^4.17.10" + to-fast-properties "^2.0.0" + abab@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" @@ -14,18 +682,12 @@ absolute-path@^0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/absolute-path/-/absolute-path-0.0.0.tgz#a78762fbdadfb5297be99b15d35a785b2f095bf7" -accepts@~1.2.12, accepts@~1.2.13: - version "1.2.13" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.2.13.tgz#e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea" - dependencies: - mime-types "~2.1.6" - negotiator "0.5.3" - -accepts@~1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" +accepts@~1.3.3, accepts@~1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" + integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= dependencies: - mime-types "~2.1.16" + mime-types "~2.1.18" negotiator "0.6.1" acorn-globals@^3.1.0: @@ -38,6 +700,11 @@ acorn@^4.0.4: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" +acorn@^5.2.1: + version "5.7.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== + ajv@^4.9.1: version "4.11.8" resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" @@ -57,10 +724,38 @@ amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" +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@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b" +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" @@ -79,6 +774,11 @@ ansi-styles@^3.1.0, ansi-styles@^3.2.0: 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" @@ -113,19 +813,38 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +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" dependencies: arr-flatten "^1.0.1" -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" -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" +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-equal@^1.0.0: version "1.0.0" @@ -143,14 +862,20 @@ array-reduce@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" -array-uniq@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" +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-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" +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.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -175,6 +900,31 @@ assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" +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@0.11.6: + version "0.11.6" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.6.tgz#4e2266c2658829aef3b40cc33ad599c4e9eb89ef" + integrity sha512-nHiuV14upVGl7MWwFUYbzJ6YlfwWS084CU9EA8HajfYQjMSli5TQi3UTRygGF58LFWVkXxS1rbgRhROEqlQkXg== + +ast-types@0.9.6: + version "0.9.6" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" + integrity sha1-ECyenpAF0+fjgpvwxPok7oYu6bk= + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + integrity sha1-GdOGodntxufByF04iu28xW0zYC0= + +async-limiter@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== + async@^1.4.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -193,6 +943,11 @@ asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" +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.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" @@ -201,6 +956,28 @@ aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" +babel-cli@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" + integrity sha1-UCq1SHTX24itALiHoGODzgPQAvE= + dependencies: + babel-core "^6.26.0" + babel-polyfill "^6.26.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + commander "^2.11.0" + convert-source-map "^1.5.0" + fs-readdir-recursive "^1.0.0" + glob "^7.1.2" + lodash "^4.17.4" + output-file-sync "^1.1.2" + path-is-absolute "^1.0.1" + slash "^1.0.0" + source-map "^0.5.6" + v8flags "^2.1.1" + optionalDependencies: + chokidar "^1.6.1" + babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -209,7 +986,7 @@ babel-code-frame@^6.26.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-core@^6.0.0, babel-core@^6.24.1, babel-core@^6.26.0, babel-core@^6.7.2: +babel-core@^6.0.0, babel-core@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" dependencies: @@ -233,7 +1010,7 @@ babel-core@^6.0.0, babel-core@^6.24.1, babel-core@^6.26.0, babel-core@^6.7.2: slash "^1.0.0" source-map "^0.5.6" -babel-generator@^6.18.0, babel-generator@^6.24.1, babel-generator@^6.26.0: +babel-generator@^6.18.0, babel-generator@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" dependencies: @@ -246,6 +1023,15 @@ babel-generator@^6.18.0, babel-generator@^6.24.1, babel-generator@^6.26.0: source-map "^0.5.6" trim-right "^1.0.1" +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + integrity sha1-zORReto1b0IgvK6KAsKzRvmlZmQ= + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + babel-helper-builder-react-jsx@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0" @@ -272,6 +1058,15 @@ babel-helper-define-map@^6.24.1: babel-types "^6.26.0" lodash "^4.17.4" +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + integrity sha1-8luCz33BBDPFX3BZLVdGQArCLKo= + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + babel-helper-function-name@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" @@ -311,9 +1106,10 @@ babel-helper-regex@^6.24.1: babel-types "^6.26.0" lodash "^4.17.4" -babel-helper-remap-async-to-generator@^6.16.0: +babel-helper-remap-async-to-generator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs= dependencies: babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" @@ -352,15 +1148,10 @@ babel-messages@^6.23.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-check-es2015-constants@^6.5.0, babel-plugin-check-es2015-constants@^6.7.2, babel-plugin-check-es2015-constants@^6.8.0: +babel-plugin-check-es2015-constants@^6.22.0, babel-plugin-check-es2015-constants@^6.5.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-external-helpers@^6.18.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz#2285f48b02bd5dede85175caf8c62e86adccefa1" + integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o= dependencies: babel-runtime "^6.22.0" @@ -394,7 +1185,12 @@ babel-plugin-syntax-dynamic-import@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" -babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.5.0, babel-plugin-syntax-flow@^6.8.0: +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + integrity sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4= + +babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.5.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" @@ -402,23 +1198,30 @@ babel-plugin-syntax-jsx@^6.5.0, babel-plugin-syntax-jsx@^6.8.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" -babel-plugin-syntax-object-rest-spread@^6.5.0, babel-plugin-syntax-object-rest-spread@^6.8.0: +babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" -babel-plugin-syntax-trailing-function-commas@^6.20.0, babel-plugin-syntax-trailing-function-commas@^6.5.0, babel-plugin-syntax-trailing-function-commas@^6.8.0: +babel-plugin-syntax-trailing-function-commas@^6.22.0, babel-plugin-syntax-trailing-function-commas@^6.5.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + integrity sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM= -babel-plugin-transform-async-to-generator@6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999" +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-plugin-transform-async-to-generator@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E= dependencies: - babel-helper-remap-async-to-generator "^6.16.0" + babel-helper-remap-async-to-generator "^6.24.1" babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.0.0" + babel-runtime "^6.22.0" -babel-plugin-transform-class-properties@^6.18.0, babel-plugin-transform-class-properties@^6.5.0, babel-plugin-transform-class-properties@^6.6.0, babel-plugin-transform-class-properties@^6.8.0: +babel-plugin-transform-class-properties@^6.5.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" dependencies: @@ -427,21 +1230,24 @@ babel-plugin-transform-class-properties@^6.18.0, babel-plugin-transform-class-pr babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-arrow-functions@^6.5.0, babel-plugin-transform-es2015-arrow-functions@^6.5.2, babel-plugin-transform-es2015-arrow-functions@^6.8.0: +babel-plugin-transform-es2015-arrow-functions@^6.22.0, babel-plugin-transform-es2015-arrow-functions@^6.5.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE= dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoped-functions@^6.6.5, babel-plugin-transform-es2015-block-scoped-functions@^6.8.0: +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE= dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoping@^6.5.0, babel-plugin-transform-es2015-block-scoping@^6.7.1, babel-plugin-transform-es2015-block-scoping@^6.8.0: +babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.5.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8= dependencies: babel-runtime "^6.26.0" babel-template "^6.26.0" @@ -449,9 +1255,10 @@ babel-plugin-transform-es2015-block-scoping@^6.5.0, babel-plugin-transform-es201 babel-types "^6.26.0" lodash "^4.17.4" -babel-plugin-transform-es2015-classes@^6.5.0, babel-plugin-transform-es2015-classes@^6.6.5, babel-plugin-transform-es2015-classes@^6.8.0: +babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.5.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs= dependencies: babel-helper-define-map "^6.24.1" babel-helper-function-name "^6.24.1" @@ -463,40 +1270,72 @@ babel-plugin-transform-es2015-classes@^6.5.0, babel-plugin-transform-es2015-clas babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-computed-properties@^6.5.0, babel-plugin-transform-es2015-computed-properties@^6.6.5, babel-plugin-transform-es2015-computed-properties@^6.8.0: +babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.5.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM= dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-destructuring@6.x, babel-plugin-transform-es2015-destructuring@^6.5.0, babel-plugin-transform-es2015-destructuring@^6.6.5, babel-plugin-transform-es2015-destructuring@^6.8.0: +babel-plugin-transform-es2015-destructuring@^6.23.0, babel-plugin-transform-es2015-destructuring@^6.5.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0= dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-for-of@^6.5.0, babel-plugin-transform-es2015-for-of@^6.6.0, babel-plugin-transform-es2015-for-of@^6.8.0: +babel-plugin-transform-es2015-duplicate-keys@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.23.0, babel-plugin-transform-es2015-for-of@^6.5.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE= dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-function-name@6.x, babel-plugin-transform-es2015-function-name@^6.5.0, babel-plugin-transform-es2015-function-name@^6.8.0: +babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.5.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos= dependencies: babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-literals@^6.5.0, babel-plugin-transform-es2015-literals@^6.8.0: +babel-plugin-transform-es2015-literals@^6.22.0, babel-plugin-transform-es2015-literals@^6.5.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ= dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" babel-runtime "^6.22.0" + babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-commonjs@6.x, babel-plugin-transform-es2015-modules-commonjs@^6.5.0, babel-plugin-transform-es2015-modules-commonjs@^6.7.0, babel-plugin-transform-es2015-modules-commonjs@^6.8.0: +babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" + integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-commonjs@^6.5.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" dependencies: @@ -505,16 +1344,36 @@ babel-plugin-transform-es2015-modules-commonjs@6.x, babel-plugin-transform-es201 babel-template "^6.26.0" babel-types "^6.26.0" -babel-plugin-transform-es2015-object-super@^6.6.5, babel-plugin-transform-es2015-object-super@^6.8.0: +babel-plugin-transform-es2015-modules-systemjs@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM= + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg= + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40= dependencies: babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" -babel-plugin-transform-es2015-parameters@6.x, babel-plugin-transform-es2015-parameters@^6.5.0, babel-plugin-transform-es2015-parameters@^6.7.0, babel-plugin-transform-es2015-parameters@^6.8.0: +babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.5.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys= dependencies: babel-helper-call-delegate "^6.24.1" babel-helper-get-function-arity "^6.24.1" @@ -523,54 +1382,63 @@ babel-plugin-transform-es2015-parameters@6.x, babel-plugin-transform-es2015-para babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-shorthand-properties@6.x, babel-plugin-transform-es2015-shorthand-properties@^6.5.0, babel-plugin-transform-es2015-shorthand-properties@^6.8.0: +babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.5.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA= dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-spread@6.x, babel-plugin-transform-es2015-spread@^6.5.0, babel-plugin-transform-es2015-spread@^6.6.5, babel-plugin-transform-es2015-spread@^6.8.0: +babel-plugin-transform-es2015-spread@^6.22.0, babel-plugin-transform-es2015-spread@^6.5.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE= dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-sticky-regex@6.x: +babel-plugin-transform-es2015-sticky-regex@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw= dependencies: babel-helper-regex "^6.24.1" babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-template-literals@^6.5.0, babel-plugin-transform-es2015-template-literals@^6.6.5, babel-plugin-transform-es2015-template-literals@^6.8.0: +babel-plugin-transform-es2015-template-literals@^6.22.0, babel-plugin-transform-es2015-template-literals@^6.5.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I= dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-unicode-regex@6.x: +babel-plugin-transform-es2015-unicode-regex@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek= dependencies: babel-helper-regex "^6.24.1" babel-runtime "^6.22.0" regexpu-core "^2.0.0" -babel-plugin-transform-es3-member-expression-literals@^6.5.0, babel-plugin-transform-es3-member-expression-literals@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz#733d3444f3ecc41bef8ed1a6a4e09657b8969ebb" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es3-property-literals@^6.5.0, babel-plugin-transform-es3-property-literals@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz#b2078d5842e22abf40f73e8cde9cd3711abd5758" +babel-plugin-transform-exponentiation-operator@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + integrity sha1-KrDJx/MJj6SJB3cruBP+QejeOg4= dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-flow-strip-types@^6.21.0, babel-plugin-transform-flow-strip-types@^6.5.0, babel-plugin-transform-flow-strip-types@^6.7.0, babel-plugin-transform-flow-strip-types@^6.8.0: +babel-plugin-transform-flow-strip-types@^6.5.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" dependencies: @@ -583,14 +1451,14 @@ babel-plugin-transform-object-assign@^6.5.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-object-rest-spread@^6.20.2, babel-plugin-transform-object-rest-spread@^6.5.0, babel-plugin-transform-object-rest-spread@^6.6.5, babel-plugin-transform-object-rest-spread@^6.8.0: +babel-plugin-transform-object-rest-spread@^6.5.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" dependencies: babel-plugin-syntax-object-rest-spread "^6.8.0" babel-runtime "^6.26.0" -babel-plugin-transform-react-display-name@^6.5.0, babel-plugin-transform-react-display-name@^6.8.0: +babel-plugin-transform-react-display-name@^6.5.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1" dependencies: @@ -603,7 +1471,7 @@ babel-plugin-transform-react-jsx-source@^6.5.0: babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-react-jsx@^6.5.0, babel-plugin-transform-react-jsx@^6.8.0: +babel-plugin-transform-react-jsx@^6.5.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" dependencies: @@ -611,9 +1479,10 @@ babel-plugin-transform-react-jsx@^6.5.0, babel-plugin-transform-react-jsx@^6.8.0 babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-regenerator@^6.5.0: +babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.5.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8= dependencies: regenerator-transform "^0.10.0" @@ -624,89 +1493,83 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-polyfill@^6.20.0: +babel-polyfill@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" + integrity sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM= dependencies: babel-runtime "^6.26.0" core-js "^2.5.0" regenerator-runtime "^0.10.5" -babel-preset-es2015-node@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-preset-es2015-node/-/babel-preset-es2015-node-6.1.1.tgz#60b23157024b0cfebf3a63554cb05ee035b4e55f" - dependencies: - babel-plugin-transform-es2015-destructuring "6.x" - babel-plugin-transform-es2015-function-name "6.x" - babel-plugin-transform-es2015-modules-commonjs "6.x" - babel-plugin-transform-es2015-parameters "6.x" - babel-plugin-transform-es2015-shorthand-properties "6.x" - babel-plugin-transform-es2015-spread "6.x" - babel-plugin-transform-es2015-sticky-regex "6.x" - babel-plugin-transform-es2015-unicode-regex "6.x" - semver "5.x" - -babel-preset-fbjs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-1.0.0.tgz#c972e5c9b301d4ec9e7971f4aec3e14ac017a8b0" - dependencies: - babel-plugin-check-es2015-constants "^6.7.2" - babel-plugin-syntax-flow "^6.5.0" - babel-plugin-syntax-object-rest-spread "^6.5.0" - babel-plugin-syntax-trailing-function-commas "^6.5.0" - babel-plugin-transform-class-properties "^6.6.0" - babel-plugin-transform-es2015-arrow-functions "^6.5.2" - babel-plugin-transform-es2015-block-scoped-functions "^6.6.5" - babel-plugin-transform-es2015-block-scoping "^6.7.1" - babel-plugin-transform-es2015-classes "^6.6.5" - babel-plugin-transform-es2015-computed-properties "^6.6.5" - babel-plugin-transform-es2015-destructuring "^6.6.5" - babel-plugin-transform-es2015-for-of "^6.6.0" - babel-plugin-transform-es2015-literals "^6.5.0" - babel-plugin-transform-es2015-modules-commonjs "^6.7.0" - babel-plugin-transform-es2015-object-super "^6.6.5" - babel-plugin-transform-es2015-parameters "^6.7.0" - babel-plugin-transform-es2015-shorthand-properties "^6.5.0" - babel-plugin-transform-es2015-spread "^6.6.5" - babel-plugin-transform-es2015-template-literals "^6.6.5" - babel-plugin-transform-es3-member-expression-literals "^6.5.0" - babel-plugin-transform-es3-property-literals "^6.5.0" - babel-plugin-transform-flow-strip-types "^6.7.0" - babel-plugin-transform-object-rest-spread "^6.6.5" - object-assign "^4.0.1" +babel-preset-env@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a" + integrity sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg== + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.23.0" + babel-plugin-transform-es2015-classes "^6.23.0" + babel-plugin-transform-es2015-computed-properties "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.23.0" + babel-plugin-transform-es2015-duplicate-keys "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.23.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.23.0" + babel-plugin-transform-es2015-modules-systemjs "^6.23.0" + babel-plugin-transform-es2015-modules-umd "^6.23.0" + babel-plugin-transform-es2015-object-super "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.23.0" + babel-plugin-transform-es2015-shorthand-properties "^6.22.0" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.22.0" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.23.0" + babel-plugin-transform-es2015-unicode-regex "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-regenerator "^6.22.0" + browserslist "^3.2.6" + invariant "^2.2.2" + semver "^5.3.0" -babel-preset-fbjs@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-2.1.4.tgz#22f358e6654073acf61e47a052a777d7bccf03af" - dependencies: - babel-plugin-check-es2015-constants "^6.8.0" - babel-plugin-syntax-class-properties "^6.8.0" - babel-plugin-syntax-flow "^6.8.0" - babel-plugin-syntax-jsx "^6.8.0" - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-plugin-syntax-trailing-function-commas "^6.8.0" - babel-plugin-transform-class-properties "^6.8.0" - babel-plugin-transform-es2015-arrow-functions "^6.8.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.8.0" - babel-plugin-transform-es2015-block-scoping "^6.8.0" - babel-plugin-transform-es2015-classes "^6.8.0" - babel-plugin-transform-es2015-computed-properties "^6.8.0" - babel-plugin-transform-es2015-destructuring "^6.8.0" - babel-plugin-transform-es2015-for-of "^6.8.0" - babel-plugin-transform-es2015-function-name "^6.8.0" - babel-plugin-transform-es2015-literals "^6.8.0" - babel-plugin-transform-es2015-modules-commonjs "^6.8.0" - babel-plugin-transform-es2015-object-super "^6.8.0" - babel-plugin-transform-es2015-parameters "^6.8.0" - babel-plugin-transform-es2015-shorthand-properties "^6.8.0" - babel-plugin-transform-es2015-spread "^6.8.0" - babel-plugin-transform-es2015-template-literals "^6.8.0" - babel-plugin-transform-es3-member-expression-literals "^6.8.0" - babel-plugin-transform-es3-property-literals "^6.8.0" - babel-plugin-transform-flow-strip-types "^6.8.0" - babel-plugin-transform-object-rest-spread "^6.8.0" - babel-plugin-transform-react-display-name "^6.8.0" - babel-plugin-transform-react-jsx "^6.8.0" +babel-preset-fbjs@^3.0.0, babel-preset-fbjs@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz#6d1438207369d96384d09257b01602dd0dda6608" + integrity sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew== + 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-jest@^21.0.0: version "21.0.0" @@ -750,41 +1613,7 @@ babel-preset-react-native@3.0.2: babel-template "^6.24.1" react-transform-hmr "^1.0.4" -babel-preset-react-native@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-2.1.0.tgz#9013ebd82da1c88102bf588810ff59e209ca2b8a" - dependencies: - babel-plugin-check-es2015-constants "^6.5.0" - babel-plugin-react-transform "2.0.2" - babel-plugin-syntax-async-functions "^6.5.0" - babel-plugin-syntax-class-properties "^6.5.0" - babel-plugin-syntax-flow "^6.5.0" - babel-plugin-syntax-jsx "^6.5.0" - babel-plugin-syntax-trailing-function-commas "^6.5.0" - babel-plugin-transform-class-properties "^6.5.0" - babel-plugin-transform-es2015-arrow-functions "^6.5.0" - babel-plugin-transform-es2015-block-scoping "^6.5.0" - babel-plugin-transform-es2015-classes "^6.5.0" - babel-plugin-transform-es2015-computed-properties "^6.5.0" - babel-plugin-transform-es2015-destructuring "^6.5.0" - babel-plugin-transform-es2015-for-of "^6.5.0" - babel-plugin-transform-es2015-function-name "^6.5.0" - babel-plugin-transform-es2015-literals "^6.5.0" - babel-plugin-transform-es2015-modules-commonjs "^6.5.0" - babel-plugin-transform-es2015-parameters "^6.5.0" - babel-plugin-transform-es2015-shorthand-properties "^6.5.0" - babel-plugin-transform-es2015-spread "^6.5.0" - babel-plugin-transform-es2015-template-literals "^6.5.0" - babel-plugin-transform-flow-strip-types "^6.5.0" - babel-plugin-transform-object-assign "^6.5.0" - babel-plugin-transform-object-rest-spread "^6.5.0" - babel-plugin-transform-react-display-name "^6.5.0" - babel-plugin-transform-react-jsx "^6.5.0" - babel-plugin-transform-react-jsx-source "^6.5.0" - babel-plugin-transform-regenerator "^6.5.0" - react-transform-hmr "^1.0.4" - -babel-register@^6.24.1, babel-register@^6.26.0: +babel-register@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" dependencies: @@ -796,7 +1625,7 @@ babel-register@^6.24.1, babel-register@^6.26.0: mkdirp "^0.5.1" source-map-support "^0.4.15" -babel-runtime@^6.0.0, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" dependencies: @@ -836,7 +1665,7 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26 lodash "^4.17.4" to-fast-properties "^1.0.3" -babylon@^6.17.0, babylon@^6.18.0: +babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -848,10 +1677,6 @@ base-64@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz#780a99c84e7d600260361511c4877613bf24f6bb" -base64-js@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" - base64-js@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.1.2.tgz#d6400cac1c4c660976d90d07a04351d89395f5e8" @@ -860,21 +1685,30 @@ base64-js@^1.1.2: version "1.2.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" -base64-url@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/base64-url/-/base64-url-1.2.1.tgz#199fd661702a0e7b7dcae6e0698bb089c52f6d78" - -basic-auth-connect@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz#fdb0b43962ca7b40456a7c2bb48fe173da2d2122" - -basic-auth@~1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.0.4.tgz#030935b01de7c9b94a824b29f3fccb750d3a5290" - -batch@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464" +base64-js@^1.2.3: + version "1.3.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== + +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.1" @@ -882,35 +1716,21 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -beeper@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" - big-integer@^1.6.7: version "1.6.24" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.24.tgz#1ed84d018ac3c1c72b307e7f7d94008e8ee20311" +binary-extensions@^1.0.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14" + integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg== + block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" dependencies: inherits "~2.0.0" -body-parser@~1.13.3: - version "1.13.3" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.13.3.tgz#c08cf330c3358e151016a05746f13f029c97fa97" - dependencies: - bytes "2.1.0" - content-type "~1.0.1" - debug "~2.2.0" - depd "~1.0.1" - http-errors "~1.3.1" - iconv-lite "0.4.11" - on-finished "~2.3.0" - qs "4.0.0" - raw-body "~2.1.2" - type-is "~1.6.6" - boom@2.x.x: version "2.10.1" resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" @@ -944,23 +1764,35 @@ braces@^1.8.2: 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" + browser-resolve@^1.11.2: version "1.11.2" resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" dependencies: resolve "1.1.7" -bser@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bser/-/bser-1.0.2.tgz#381116970b2a6deea5646dd15dd7278444b56169" - dependencies: - node-int64 "^0.4.0" - -bser@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/bser/-/bser-1.0.3.tgz#d63da19ee17330a0e260d2a34422b21a89520317" +browserslist@^3.2.6: + version "3.2.8" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" + integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== dependencies: - node-int64 "^0.4.0" + caniuse-lite "^1.0.30000844" + electron-to-chromium "^1.3.47" bser@^2.0.0: version "2.0.0" @@ -968,6 +1800,11 @@ bser@^2.0.0: dependencies: node-int64 "^0.4.0" +buffer-from@^1.0.0: + 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== + bugsnag-react-native@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/bugsnag-react-native/-/bugsnag-react-native-2.3.2.tgz#3298554b3684f281637004e03bf804378e74350b" @@ -978,13 +1815,39 @@ builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" -bytes@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.1.0.tgz#ac93c410e2ffc9cc7cf4b464b38289067f5e47b4" +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= -bytes@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" +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" + +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" @@ -1002,6 +1865,11 @@ camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" +caniuse-lite@^1.0.30000844: + version "1.0.30000923" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000923.tgz#148f9bda508024b5ce957b463ae2e8302b451bb2" + integrity sha512-j5ur7eeluOFjjPUkydtXP4KFAsmH3XaQNch5tvWSO+dLHYt5PE+VgJZLWtbVOodfWij6m6zas28T4gB/cLYq1w== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -1013,7 +1881,7 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1031,10 +1899,41 @@ chalk@^2.0.0, chalk@^2.0.1: escape-string-regexp "^1.0.5" supports-color "^4.0.0" +chokidar@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +chownr@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" + integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== + ci-info@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.1.tgz#47b44df118c48d2597b56d342e7e25791060171a" +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-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -1061,14 +1960,6 @@ cliui@^3.2.0: strip-ansi "^3.0.1" wrap-ansi "^2.0.0" -clone-stats@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" - -clone@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -1077,6 +1968,14 @@ 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" +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.0" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" @@ -1087,32 +1986,75 @@ color-name@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" +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== + combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" dependencies: delayed-stream "~1.0.0" +commander@^2.11.0, commander@^2.5.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + commander@^2.9.0: version "2.11.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" -compressible@~2.0.5: - version "2.0.11" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.11.tgz#16718a75de283ed8e604041625a2064586797d8a" +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= + +commoner@^0.10.8: + version "0.10.8" + resolved "https://registry.yarnpkg.com/commoner/-/commoner-0.10.8.tgz#34fc3672cd24393e8bb47e70caa0293811f4f2c5" + integrity sha1-NPw2cs0kOT6LtH5wyqApOBH08sU= + dependencies: + commander "^2.5.0" + detective "^4.3.1" + glob "^5.0.15" + graceful-fs "^4.1.2" + iconv-lite "^0.4.5" + mkdirp "^0.5.0" + private "^0.1.6" + q "^1.1.2" + recast "^0.11.17" + +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= + +compressible@~2.0.14: + version "2.0.15" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.15.tgz#857a9ab0a7e5a07d8d837ed43fe2defff64fe212" + integrity sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw== dependencies: - mime-db ">= 1.29.0 < 2" + mime-db ">= 1.36.0 < 2" -compression@~1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.5.2.tgz#b03b8d86e6f8ad29683cba8df91ddc6ffc77b395" +compression@^1.7.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.3.tgz#27e0e176aaf260f7f2c2813c3e440adb9f1993db" + integrity sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg== dependencies: - accepts "~1.2.12" - bytes "2.1.0" - compressible "~2.0.5" - debug "~2.2.0" - on-headers "~1.0.0" - vary "~1.0.1" + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.14" + debug "2.6.9" + on-headers "~1.0.1" + safe-buffer "5.1.2" + vary "~1.1.2" concat-map@0.0.1: version "0.0.1" @@ -1126,50 +2068,15 @@ concat-stream@^1.6.0: readable-stream "^2.2.2" typedarray "^0.0.6" -connect-timeout@~1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/connect-timeout/-/connect-timeout-1.6.2.tgz#de9a5ec61e33a12b6edaab7b5f062e98c599b88e" - dependencies: - debug "~2.2.0" - http-errors "~1.3.1" - ms "0.7.1" - on-headers "~1.0.0" - -connect@^2.8.3: - version "2.30.2" - resolved "https://registry.yarnpkg.com/connect/-/connect-2.30.2.tgz#8da9bcbe8a054d3d318d74dfec903b5c39a1b609" - dependencies: - basic-auth-connect "1.0.0" - body-parser "~1.13.3" - bytes "2.1.0" - compression "~1.5.2" - connect-timeout "~1.6.2" - content-type "~1.0.1" - cookie "0.1.3" - cookie-parser "~1.3.5" - cookie-signature "1.0.6" - csurf "~1.8.3" - debug "~2.2.0" - depd "~1.0.1" - errorhandler "~1.4.2" - express-session "~1.11.3" - finalhandler "0.4.0" - fresh "0.3.0" - http-errors "~1.3.1" - method-override "~2.3.5" - morgan "~1.6.1" - multiparty "3.3.2" - on-headers "~1.0.0" - parseurl "~1.3.0" - pause "0.1.0" - qs "4.0.0" - response-time "~2.3.1" - serve-favicon "~2.3.0" - serve-index "~1.7.2" - serve-static "~1.10.0" - type-is "~1.6.6" - utils-merge "1.0.0" - vhost "~3.0.1" +connect@^3.6.5: + version "3.6.6" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz#09eff6c55af7236e137135a72574858b6786f524" + integrity sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ= + dependencies: + debug "2.6.9" + finalhandler "1.1.0" + parseurl "~1.3.2" + utils-merge "1.0.1" console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" @@ -1179,28 +2086,21 @@ content-type-parser@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" -content-type@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" +convert-source-map@^1.1.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.4.0, convert-source-map@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" -cookie-parser@~1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.3.5.tgz#9d755570fb5d17890771227a02314d9be7cf8356" - dependencies: - cookie "0.1.3" - cookie-signature "1.0.6" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - -cookie@0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.1.3.tgz#e734a5c1417fce472d5aef82c381cabb64d1a435" +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@^1.0.0: version "1.2.7" @@ -1210,30 +2110,35 @@ core-js@^2.2.2, core-js@^2.4.0, core-js@^2.5.0: version "2.5.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" +core-js@^2.4.1, core-js@^2.5.7: + version "2.6.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.1.tgz#87416ae817de957a3f249b3b5ca475d4aaed6042" + integrity sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg== + 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" -crc@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.3.0.tgz#fa622e1bc388bf257309082d6b65200ce67090ba" +cosmiconfig@^5.0.5: + version "5.0.7" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.7.tgz#39826b292ee0d78eda137dfa3173bd1c21a43b04" + integrity sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.9.0" + parse-json "^4.0.0" -create-react-class@^15.5.2: - version "15.6.0" - resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.0.tgz#ab448497c26566e1e29413e883207d57cfe7bed4" +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@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^5.0.1: +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" dependencies: @@ -1247,14 +2152,6 @@ cryptiles@2.x.x: dependencies: boom "2.x.x" -csrf@~3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/csrf/-/csrf-3.0.6.tgz#b61120ddceeafc91e76ed5313bb5c0b2667b710a" - dependencies: - rndm "1.2.0" - tsscmp "1.0.5" - uid-safe "2.1.4" - cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": version "0.3.2" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" @@ -1265,41 +2162,46 @@ cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": dependencies: cssom "0.3.x" -csurf@~1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/csurf/-/csurf-1.8.3.tgz#23f2a13bf1d8fce1d0c996588394442cba86a56a" - dependencies: - cookie "0.1.3" - cookie-signature "1.0.6" - csrf "~3.0.0" - http-errors "~1.3.1" - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" dependencies: assert-plus "^1.0.0" -dateformat@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" +debug@2.6.9, debug@^2.1.2, 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@2.6.8, debug@^2.2.0, debug@^2.6.3, debug@^2.6.8: +debug@^2.2.0, debug@^2.6.3, debug@^2.6.8: version "2.6.8" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: ms "2.0.0" -debug@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" +debug@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: - ms "0.7.1" + ms "^2.1.1" decamelize@^1.0.0, decamelize@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" +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= + +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== + deep-extend@~0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" @@ -1314,6 +2216,33 @@ default-require-extensions@^1.0.0: dependencies: strip-bom "^2.0.0" +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" + +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -1326,13 +2255,10 @@ denodeify@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" -depd@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.0.1.tgz#80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa" - -depd@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" +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" @@ -1344,6 +2270,24 @@ detect-indent@^4.0.0: dependencies: repeating "^2.0.0" +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + 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= + +detective@^4.3.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz#0eca7314338442febb6d65da54c10bb1c82b246e" + integrity sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig== + dependencies: + acorn "^5.2.1" + defined "^1.0.0" + diff@^3.2.0: version "3.3.1" resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" @@ -1352,12 +2296,6 @@ dom-walk@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" -duplexer2@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" - dependencies: - readable-stream "~1.1.9" - ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" @@ -1368,21 +2306,28 @@ ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" +electron-to-chromium@^1.3.47: + version "1.3.96" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.96.tgz#25770ec99b8b07706dedf3a5f43fa50cb54c4f9a" + integrity sha512-ZUXBUyGLeoJxp4Nt6G/GjBRLnyz8IKQGexZ2ndWaoegThgMGFO1tdDYID5gBV32/1S83osjJHyfzvanE/8HY4Q== + +encodeurl@~1.0.1, 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" dependencies: iconv-lite "~0.4.13" -envinfo@^3.0.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-3.4.1.tgz#8c80e9f2eec2cd4e2adb2c5d0127ce07a2aaa2ae" - dependencies: - minimist "^1.2.0" - os-name "^2.0.1" - which "^1.2.14" +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== -"errno@>=0.1.1 <0.2.0-0", errno@^0.1.4: +errno@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" dependencies: @@ -1394,16 +2339,20 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" -errorhandler@~1.4.2: - version "1.4.3" - resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.4.3.tgz#b7b70ed8f359e9db88092f2d20c0f831420ad83f" +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: - accepts "~1.3.0" - escape-html "~1.0.3" + is-arrayish "^0.2.1" -escape-html@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.2.tgz#d77d32fa98e38c2f41ae85e9278e0e0e6ba1022c" +errorhandler@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.5.0.tgz#eaba64ca5d542a311ac945f582defc336165d9f4" + integrity sha1-6rpkyl1UKjEayUX1gt78M2Fl2fQ= + dependencies: + accepts "~1.3.3" + escape-html "~1.0.3" escape-html@~1.0.3: version "1.0.3" @@ -1432,22 +2381,38 @@ esprima@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" +esprima@~3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= + +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== + estraverse@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" -esutils@^2.0.2: +esutils@^2.0.0, esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -etag@~1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= 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" +eventemitter3@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" + integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== + exec-sh@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.0.tgz#14f75de3f20d286ef933099b2ce50a90359cef10" @@ -1472,6 +2437,19 @@ expand-brackets@^0.1.4: 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" @@ -1489,19 +2467,27 @@ expect@^21.0.0: jest-message-util "^21.0.0" jest-regex-util "^21.0.0" -express-session@~1.11.3: - version "1.11.3" - resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.11.3.tgz#5cc98f3f5ff84ed835f91cbf0aabd0c7107400af" +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: - cookie "0.1.3" - cookie-signature "1.0.6" - crc "3.3.0" - debug "~2.2.0" - depd "~1.0.1" - on-headers "~1.0.0" - parseurl "~1.3.0" - uid-safe "~2.0.0" - utils-merge "1.0.0" + assign-symbols "^1.0.0" + is-extendable "^1.0.1" extend@~3.0.0: version "3.0.1" @@ -1521,47 +2507,66 @@ extglob@^0.3.1: 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, extsprintf@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" -fancy-log@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948" +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: - chalk "^1.1.1" + ansi-gray "^0.1.1" + color-support "^1.1.3" + parse-node-version "^1.0.0" time-stamp "^1.0.0" fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" -fb-watchman@^1.8.0: - version "1.9.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-1.9.2.tgz#a24cf47827f82d38fb59a69ad70b76e3b6ae7383" - dependencies: - bser "1.0.2" - fb-watchman@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" dependencies: bser "^2.0.0" -fbjs-scripts@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/fbjs-scripts/-/fbjs-scripts-0.7.1.tgz#4f115e218e243e3addbf0eddaac1e3c62f703fac" - dependencies: - babel-core "^6.7.2" - babel-preset-fbjs "^1.0.0" - core-js "^1.0.0" - cross-spawn "^3.0.1" - gulp-util "^3.0.4" +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.0.1" + resolved "https://registry.yarnpkg.com/fbjs-scripts/-/fbjs-scripts-1.0.1.tgz#7d8d09d76e83308bf3b1fc7b4c9c6fd081c5ef64" + integrity sha512-x8bfX7k0z5B24Ue0YqjZq/2QxxaKZUNbkGdX//zbQDElMJFqBRrvRi8O3qds7UNNzs78jYqIYCS32Sk/wu5UJg== + dependencies: + "@babel/core" "^7.0.0" + ansi-colors "^1.0.1" + babel-preset-fbjs "^3.0.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.12, fbjs@^0.8.9: +fbjs@^0.8.9: version "0.8.12" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" dependencies: @@ -1573,6 +2578,20 @@ fbjs@0.8.12, fbjs@^0.8.9: setimmediate "^1.0.5" ua-parser-js "^0.7.9" +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" @@ -1600,15 +2619,38 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -finalhandler@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.4.0.tgz#965a52d9e8d05d2b857548541fb89b53a2497d9b" +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.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" + integrity sha1-zgtoVbRYU+eRsvzGgARtiCU91/U= dependencies: - debug "~2.2.0" - escape-html "1.0.2" + debug "2.6.9" + encodeurl "~1.0.1" + escape-html "~1.0.3" on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.3.1" unpipe "~1.0.0" +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" + integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8= + dependencies: + commondir "^1.0.1" + make-dir "^1.0.0" + pkg-dir "^2.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -1622,7 +2664,7 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" -for-in@^1.0.1: +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" @@ -1636,7 +2678,7 @@ forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" -form-data@^2.1.1, form-data@~2.1.1: +form-data@~2.1.1: version "2.1.4" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" dependencies: @@ -1644,9 +2686,17 @@ form-data@^2.1.1, form-data@~2.1.1: combined-stream "^1.0.5" mime-types "^2.1.12" -fresh@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" +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" @@ -1656,10 +2706,30 @@ fs-extra@^1.0.0: jsonfile "^2.1.0" klaw "^1.0.0" +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== + dependencies: + minipass "^2.2.1" + +fs-readdir-recursive@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" +fsevents@^1.0.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + integrity sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg== + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + fsevents@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4" @@ -1715,6 +2785,11 @@ get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" +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" @@ -1734,6 +2809,17 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" +glob@^5.0.15: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" @@ -1752,53 +2838,28 @@ global@^4.3.0: min-document "^2.19.0" process "~0.5.1" +globals@^11.1.0: + version "11.9.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz#bde236808e987f290768a93d065060d78e6ab249" + integrity sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg== + globals@^9.18.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" -glogg@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" - dependencies: - sparkles "^1.0.0" - graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +graceful-fs@^4.1.4: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" -gulp-util@^3.0.4: - version "3.0.8" - resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" - dependencies: - array-differ "^1.0.0" - array-uniq "^1.0.2" - beeper "^1.0.0" - chalk "^1.0.0" - dateformat "^2.0.0" - fancy-log "^1.1.0" - gulplog "^1.0.0" - has-gulplog "^0.1.0" - lodash._reescape "^3.0.0" - lodash._reevaluate "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.template "^3.0.0" - minimist "^1.1.0" - multipipe "^0.1.2" - object-assign "^3.0.0" - replace-ext "0.0.1" - through2 "^2.0.0" - vinyl "^0.5.0" - -gulplog@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" - dependencies: - glogg "^1.0.0" - handlebars@^4.0.3: version "4.0.10" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" @@ -1834,16 +2895,41 @@ has-flag@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" -has-gulplog@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" - dependencies: - sparkles "^1.0.0" - has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" +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" + hawk@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" @@ -1864,6 +2950,11 @@ home-or-tmp@^2.0.0: os-homedir "^1.0.0" os-tmpdir "^1.0.1" +home-or-tmp@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-3.0.0.tgz#57a8fe24cf33cdd524860a15821ddc25c86671fb" + integrity sha1-V6j+JM8zzdUkhgoVgh3cJchmcfs= + hosted-git-info@^2.1.4: version "2.5.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" @@ -1874,12 +2965,15 @@ html-encoding-sniffer@^1.0.1: dependencies: whatwg-encoding "^1.0.1" -http-errors@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= dependencies: - inherits "~2.0.1" - statuses "1" + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" http-signature@~1.1.0: version "1.1.1" @@ -1889,10 +2983,6 @@ http-signature@~1.1.0: jsprim "^1.2.2" sshpk "^1.7.0" -iconv-lite@0.4.11: - version "0.4.11" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.11.tgz#2ecb42fd294744922209a2e7c404dac8793d8ade" - iconv-lite@0.4.13, iconv-lite@~0.4.13: version "0.4.13" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" @@ -1901,6 +2991,20 @@ iconv-lite@^0.4.17: version "0.4.18" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2" +iconv-lite@^0.4.4, iconv-lite@^0.4.5: + 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" + +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" + image-size@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.6.1.tgz#98122a562d59dcc097ef1b2c8191866eb8f5d663" @@ -1909,6 +3013,14 @@ immutable@^3.8.1: version "3.8.1" resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" +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" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -1920,7 +3032,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -1953,14 +3065,42 @@ invariant@^2.2.2: dependencies: loose-envify "^1.0.0" +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" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +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" +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + is-buffer@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" @@ -1977,6 +3117,43 @@ is-ci@^1.0.10: dependencies: ci-info "^1.0.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-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" @@ -1987,10 +3164,17 @@ is-equal-shallow@^0.1.3: dependencies: is-primitive "^2.0.0" -is-extendable@^0.1.1: +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" +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" @@ -2029,6 +3213,13 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" +is-plain-object@^2.0.1, 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" @@ -2053,9 +3244,10 @@ is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" +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== isarray@1.0.0, isarray@~1.0.0: version "1.0.0" @@ -2071,6 +3263,11 @@ isobject@^2.0.0: 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" @@ -2210,13 +3407,12 @@ jest-diff@^21.0.0: jest-get-type "^21.0.0" pretty-format "^21.0.0" -jest-docblock@20.1.0-chi.1: - version "20.1.0-chi.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-20.1.0-chi.1.tgz#06981ab0e59498a2492333b0c5502a82e4603207" - -jest-docblock@20.1.0-delta.4, jest-docblock@^20.1.0-chi.1: - version "20.1.0-delta.4" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-20.1.0-delta.4.tgz#360d4f5fb702730c4136c4e71e5706188a694682" +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-docblock@^21.0.0: version "21.0.0" @@ -2241,27 +3437,19 @@ jest-get-type@^21.0.0: version "21.0.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-21.0.0.tgz#ed8667533c0a24a4feebbf492661f23abac3620b" -jest-haste-map@20.1.0-chi.1: - version "20.1.0-chi.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-20.1.0-chi.1.tgz#db5f5f31362c76e242b40ea9a3ccfa364719cee3" - dependencies: - fb-watchman "^2.0.0" - graceful-fs "^4.1.11" - jest-docblock "^20.1.0-chi.1" - micromatch "^2.3.11" - sane "^2.0.0" - worker-farm "^1.3.1" - -jest-haste-map@20.1.0-delta.4: - version "20.1.0-delta.4" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-20.1.0-delta.4.tgz#12e32b297a6dd49705cacde938029fc158834006" +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" - jest-docblock "20.1.0-delta.4" + 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" - worker-farm "^1.3.1" jest-haste-map@^21.0.0: version "21.0.0" @@ -2362,6 +3550,11 @@ jest-runtime@^21.0.0: write-file-atomic "^2.1.0" yargs "^7.0.2" +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-snapshot@^21.0.0: version "21.0.0" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-21.0.0.tgz#00b582b13ef42112bd431b498e37f7829b30cd66" @@ -2394,6 +3587,13 @@ jest-validate@^21.0.0: leven "^2.1.0" pretty-format "^21.0.0" +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" + jest@21.0.1: version "21.0.1" resolved "https://registry.yarnpkg.com/jest/-/jest-21.0.1.tgz#746cddc89477beaea5b208e7017ca26652bfdb38" @@ -2404,6 +3604,11 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" +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.7.0: version "3.9.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0" @@ -2411,6 +3616,14 @@ js-yaml@^3.7.0: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^3.9.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== + 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" @@ -2447,10 +3660,20 @@ jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" +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" +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@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -2465,14 +3688,17 @@ 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" -json5@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d" - json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" +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" @@ -2492,7 +3718,12 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -kind-of@^3.0.2: +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" dependencies: @@ -2504,6 +3735,16 @@ kind-of@^4.0.0: 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" @@ -2520,10 +3761,6 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" -left-pad@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.1.3.tgz#612f61c033f3a9e08e939f1caebeea41b6f3199a" - leven@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" @@ -2561,64 +3798,6 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" -lodash._basecopy@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" - -lodash._basetostring@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" - -lodash._basevalues@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" - -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - -lodash._isiterateecall@^3.0.0: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" - -lodash._reescape@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" - -lodash._reevaluate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - -lodash._root@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" - -lodash.escape@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" - dependencies: - lodash._root "^3.0.0" - -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - -lodash.keys@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - lodash.pad@^4.1.0: version "4.5.1" resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" @@ -2631,39 +3810,20 @@ lodash.padstart@^4.1.0: version "4.6.1" resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" -lodash.restparam@^3.0.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" - -lodash.template@^3.0.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" - dependencies: - lodash._basecopy "^3.0.0" - lodash._basetostring "^3.0.0" - lodash._basevalues "^3.0.0" - lodash._isiterateecall "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" - lodash.keys "^3.0.0" - lodash.restparam "^3.0.0" - lodash.templatesettings "^3.0.0" - -lodash.templatesettings@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" - -lodash@^3.5.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" +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@^4.0.0, lodash@^4.14.0, lodash@^4.16.6, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.6.1: +lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.6.1: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" +lodash@^4.17.10, lodash@^4.17.5: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== + longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" @@ -2681,9 +3841,12 @@ lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" -macos-release@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-1.1.0.tgz#831945e29365b470aa8724b0ab36c8f8959d10fb" +make-dir@^1.0.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" makeerror@1.0.x: version "1.0.11" @@ -2691,9 +3854,17 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" +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" mem@^1.1.0: version "1.1.0" @@ -2711,58 +3882,183 @@ merge@^1.1.3: version "1.2.0" resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" -method-override@~2.3.5: - version "2.3.9" - resolved "https://registry.yarnpkg.com/method-override/-/method-override-2.3.9.tgz#bd151f2ce34cf01a76ca400ab95c012b102d8f71" +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: - debug "2.6.8" - methods "~1.1.2" - parseurl "~1.3.1" - vary "~1.1.1" + "@babel/helper-module-imports" "^7.0.0" -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" +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-bundler@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/metro-bundler/-/metro-bundler-0.11.0.tgz#ba5d2ae34943da28a37c2098047ad265c16fddf4" +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-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-core "^6.24.1" - babel-generator "^6.24.1" - babel-plugin-external-helpers "^6.18.0" - babel-preset-es2015-node "^6.1.1" - babel-preset-fbjs "^2.1.4" - babel-preset-react-native "^2.0.0" - babel-register "^6.24.1" - babylon "^6.17.0" + babel-preset-fbjs "^3.0.1" chalk "^1.1.1" concat-stream "^1.6.0" - core-js "^2.2.2" + connect "^3.6.5" debug "^2.2.0" denodeify "^1.2.1" - fbjs "0.8.12" + 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 "20.1.0-chi.1" - jest-haste-map "20.1.0-chi.1" + jest-docblock "23.2.0" + jest-haste-map "23.5.0" + jest-worker "23.2.0" json-stable-stringify "^1.0.1" - json5 "^0.4.0" - left-pad "^1.1.3" - lodash "^4.16.6" + 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" - request "^2.79.0" + 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" - uglify-js "2.7.5" + wordwrap "^1.0.0" write-file-atomic "^1.2.0" + ws "^1.1.0" xpipe "^1.0.5" + yargs "^9.0.0" micromatch@^2.1.5, micromatch@^2.3.11: version "2.3.11" @@ -2782,29 +4078,61 @@ micromatch@^2.1.5, micromatch@^2.3.11: parse-glob "^3.0.4" regex-cache "^0.4.2" -"mime-db@>= 1.29.0 < 2", mime-db@~1.30.0: - version "1.30.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" +micromatch@^3.1.10: + 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.36.0 < 2", mime-db@~1.37.0: + version "1.37.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.37.0.tgz#0b6a0ce6fdbe9576e25f1f2d2fde8830dc0ad0d8" + integrity sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg== mime-db@~1.23.0: version "1.23.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.23.0.tgz#a31b4070adaea27d732ea333740a64d0ec9a6659" +mime-db@~1.30.0: + version "1.30.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" + mime-types@2.1.11: version "2.1.11" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.11.tgz#c259c471bda808a85d6cd193b430a5fae4473b3c" dependencies: mime-db "~1.23.0" -mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.6, mime-types@~2.1.7, mime-types@~2.1.9: +mime-types@^2.1.12, mime-types@~2.1.7: version "2.1.17" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" dependencies: mime-db "~1.30.0" -mime@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" +mime-types@~2.1.18: + version "2.1.21" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.21.tgz#28995aa1ecb770742fe6ae7e58f9181c744b3f96" + integrity sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg== + dependencies: + mime-db "~1.37.0" + +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== mime@^1.3.4: version "1.4.0" @@ -2820,9 +4148,10 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, 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" @@ -2830,13 +4159,37 @@ minimist@0.0.8, minimist@~0.0.1: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0: +minimist@^1.1.1, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -"mkdirp@>=0.5 0", mkdirp@^0.5.1: +minipass@^2.2.1, minipass@^2.3.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" + integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.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.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +"mkdirp@>=0.5 0", 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" @@ -2844,40 +4197,25 @@ moment@^2.18.1: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" -morgan@~1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.6.1.tgz#5fd818398c6819cba28a7cd6664f292fe1c0bbf2" +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 "~1.0.3" - debug "~2.2.0" - depd "~1.0.1" + basic-auth "~2.0.0" + debug "2.6.9" + depd "~1.1.2" on-finished "~2.3.0" - on-headers "~1.0.0" - -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - -ms@0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" + 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" -multiparty@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/multiparty/-/multiparty-3.3.2.tgz#35de6804dc19643e5249f3d3e3bdc6c8ce301d3f" - dependencies: - readable-stream "~1.1.9" - stream-counter "~0.2.0" - -multipipe@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" - dependencies: - duplexer2 "0.0.2" +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== mute-stream@0.0.7: version "0.0.7" @@ -2887,29 +4225,66 @@ nan@^2.3.0: version "2.7.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" +nan@^2.9.2: + version "2.12.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552" + integrity sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw== + +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" + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" -negotiator@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.5.3.tgz#269d5c476810ec92edbe7b6c2f28316384f9a7e8" +needle@^2.2.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" + integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== + dependencies: + debug "^2.1.2" + iconv-lite "^0.4.4" + sax "^1.2.4" negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" -node-fetch@^1.0.1, node-fetch@^1.3.3: +node-fetch@^1.0.1: version "1.7.2" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.2.tgz#c54e9aac57e432875233525f3c891c4159ffefd7" dependencies: encoding "^0.1.11" is-stream "^1.0.1" +node-fetch@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5" + integrity sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA== + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" +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.0.2: version "5.1.2" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.1.2.tgz#2fa9e12605fa10009d44549d6fcd8a63dde0e4ff" @@ -2919,6 +4294,32 @@ node-notifier@^5.0.2: shellwords "^0.1.0" which "^1.2.12" +node-notifier@^5.2.1: + version "5.3.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.3.0.tgz#c77a4a7b84038733d5fb351aafd8a268bfe19a01" + integrity sha512-AhENzCSGZnZJgBARsUjnQ7DnZbzyP+HxlVXuD0xqAnvL8q+OqtSX7lGg9e8nHzwXkMMXNdVeqq4E2M3EUAqX6Q== + dependencies: + growly "^1.3.0" + semver "^5.5.0" + shellwords "^0.1.1" + which "^1.3.0" + +node-pre-gyp@^0.10.0: + version "0.10.3" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" + integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== + 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-pre-gyp@^0.6.36: version "0.6.36" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz#db604112cb74e0d477554e9b505b17abddfab786" @@ -2955,6 +4356,19 @@ normalize-path@^2.0.0, normalize-path@^2.0.1: dependencies: remove-trailing-separator "^1.0.1" +npm-bundled@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" + integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g== + +npm-packlist@^1.1.6: + version "1.1.12" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a" + integrity sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g== + 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" @@ -2978,6 +4392,11 @@ npmlog@^4.0.2: 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" @@ -2990,14 +4409,26 @@ oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" -object-assign@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" - 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" +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-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.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -3005,13 +4436,20 @@ object.omit@^2.0.0: 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" dependencies: ee-first "1.1.1" -on-headers@~1.0.0, on-headers@~1.0.1: +on-headers@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" @@ -3073,13 +4511,6 @@ os-locale@^2.0.0: lcid "^1.0.0" mem "^1.1.0" -os-name@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/os-name/-/os-name-2.0.1.tgz#b9a386361c17ae3a21736ef0599405c9a8c5dc5e" - dependencies: - macos-release "^1.0.0" - win-release "^1.0.0" - os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -3091,6 +4522,15 @@ osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +output-file-sync@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" + integrity sha1-0KM+7+YaIF+suQCS6CZZjVJFznY= + dependencies: + graceful-fs "^4.1.4" + mkdirp "^0.5.1" + object-assign "^4.1.0" + p-cancelable@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" @@ -3124,13 +4564,32 @@ parse-json@^2.2.0: 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.0" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.0.tgz#33d9aa8920dcc3c0d33658ec18ce237009a56d53" + integrity sha512-02GTVHD1u0nWc20n2G7WX/PgdhNFG04j5fi1OkaJzPWLTcf6vh6229Lta1wTmXG/7Dg42tCssgkccVt7qvd8Kg== + parse5@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" -parseurl@~1.3.0, parseurl@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" +parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= path-exists@^2.0.0: version "2.1.0" @@ -3154,6 +4613,11 @@ path-parse@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" +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-type@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" @@ -3168,14 +4632,6 @@ path-type@^2.0.0: dependencies: pify "^2.0.0" -pause@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/pause/-/pause-0.1.0.tgz#ebc8a4a8619ff0b8a81ac1513c3434ff469fdb74" - -pegjs@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/pegjs/-/pegjs-0.10.0.tgz#cf8bafae6eddff4b5a7efb185269eaaf4610ddbd" - performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" @@ -3184,6 +4640,11 @@ pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" +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= + pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -3194,6 +4655,20 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" +pirates@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.0.tgz#850b18781b4ac6ec58a43c9ed9ec5fe6796addbd" + integrity sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA== + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + plist@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/plist/-/plist-2.0.1.tgz#0a32ca9481b1c364e92e18dc55c876de9d01da8b" @@ -3202,15 +4677,31 @@ plist@2.0.1: xmlbuilder "8.2.2" xmldom "0.1.x" -plist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/plist/-/plist-1.2.0.tgz#084b5093ddc92506e259f874b8d9b1afb8c79593" +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 "0.0.8" - util-deprecate "1.0.2" - xmlbuilder "4.0.0" + 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" + +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= + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -3226,6 +4717,14 @@ pretty-format@^21.0.0: ansi-regex "^3.0.0" ansi-styles "^3.2.0" +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" @@ -3234,10 +4733,20 @@ private@^0.1.6, private@^0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" +private@^0.1.8, private@~0.1.5: + 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@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== + process@~0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" @@ -3248,13 +4757,21 @@ promise@^7, promise@^7.1.1: dependencies: asap "~2.0.3" -prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.8: +prop-types@^15.5.10, prop-types@^15.5.8: version "15.5.10" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.10.tgz#2797dfc3126182e3a95e3dfbb2e893ddd7456154" dependencies: fbjs "^0.8.9" loose-envify "^1.3.1" +prop-types@^15.6.2: + version "15.6.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102" + integrity sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ== + dependencies: + loose-envify "^1.3.1" + object-assign "^4.1.1" + prr@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" @@ -3267,18 +4784,15 @@ punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" -qs@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-4.0.0.tgz#c31d9b74ec27df75e543a86c78728ed8d4623607" +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" -random-bytes@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" - randomatic@^1.1.3: version "1.1.7" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" @@ -3286,17 +4800,10 @@ randomatic@^1.1.3: is-number "^3.0.0" kind-of "^4.0.0" -range-parser@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.0.3.tgz#6872823535c692e2c2a0103826afd82c2e0ff175" - -raw-body@~2.1.2: - version "2.1.7" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774" - dependencies: - bytes "2.4.0" - iconv-lite "0.4.13" - unpipe "1.0.0" +range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= rc@^1.1.7: version "1.2.1" @@ -3307,6 +4814,16 @@ rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +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.0.1" resolved "https://registry.yarnpkg.com/react-clone-referenced-element/-/react-clone-referenced-element-1.0.1.tgz#2bba8c69404c5e4a944398600bcc4c941f860682" @@ -3315,12 +4832,13 @@ react-deep-force-update@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz#bcd31478027b64b3339f108921ab520b4313dc2c" -react-devtools-core@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-2.5.0.tgz#5ad179f88f22d205940721e38e4ecc3a2d35bf03" +react-devtools-core@^3.4.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-3.4.3.tgz#1a06b7dc546d41ecf8dc4fbabea2d79d339353cf" + integrity sha512-t3f6cRH5YSKv8qjRl1Z+1e0OwBZwJSdOAhJ9QAJdVKML7SmqAKKv3DxF+Ue03pE1N2UipPsLmaNcPzzMjIdZQg== dependencies: shell-quote "^1.6.1" - ws "^2.0.3" + ws "^3.3.1" react-native-keychain@^1.2.1: version "1.2.1" @@ -3344,93 +4862,63 @@ react-native-vector-icons@^4.3.0: prop-types "^15.5.10" yargs "^8.0.2" -react-native@^0.48.4: - version "0.48.4" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.48.4.tgz#f305e9fef069a5b3f6a7250ddd50f603cf30ab2d" +react-native@0.57.8: + version "0.57.8" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.57.8.tgz#1a840fbe144cd3902cc14313a783ce28efc48cb9" + integrity sha512-K6DAMTPTq+lxVYC73y4Kh/bgLajddBaIKzwsVeV4JOoS1Fdq48/ISXD3vApV+x+/IBVTXnrT9qlA+9U6MMZCqA== dependencies: + "@babel/runtime" "^7.0.0" absolute-path "^0.0.0" art "^0.10.0" - async "^2.4.0" - babel-core "^6.24.1" - babel-generator "^6.24.1" - babel-plugin-external-helpers "^6.18.0" - babel-plugin-syntax-trailing-function-commas "^6.20.0" - babel-plugin-transform-async-to-generator "6.16.0" - babel-plugin-transform-class-properties "^6.18.0" - babel-plugin-transform-flow-strip-types "^6.21.0" - babel-plugin-transform-object-rest-spread "^6.20.2" - babel-polyfill "^6.20.0" - babel-preset-es2015-node "^6.1.1" - babel-preset-fbjs "^2.1.4" - babel-preset-react-native "^2.0.0" - babel-register "^6.24.1" - babel-runtime "^6.23.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babylon "^6.17.0" base64-js "^1.1.2" - bser "^1.0.2" chalk "^1.1.1" commander "^2.9.0" - concat-stream "^1.6.0" - connect "^2.8.3" - core-js "^2.2.2" - create-react-class "^15.5.2" + compression "^1.7.1" + connect "^3.6.5" + create-react-class "^15.6.3" debug "^2.2.0" denodeify "^1.2.1" - envinfo "^3.0.0" - errno ">=0.1.1 <0.2.0-0" + envinfo "^5.7.0" + errorhandler "^1.5.0" + escape-string-regexp "^1.0.5" event-target-shim "^1.0.5" - fbjs "0.8.12" - fbjs-scripts "^0.7.0" - form-data "^2.1.1" + fbjs "^1.0.0" + fbjs-scripts "^1.0.0" fs-extra "^1.0.0" glob "^7.1.1" graceful-fs "^4.1.3" inquirer "^3.0.6" - jest-haste-map "20.1.0-delta.4" - json-stable-stringify "^1.0.1" - json5 "^0.4.0" - left-pad "^1.1.3" - lodash "^4.16.6" - merge-stream "^1.0.1" - metro-bundler "^0.11.0" + 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" - mime-types "2.1.11" minimist "^1.2.0" mkdirp "^0.5.1" - node-fetch "^1.3.3" + 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 "^1.2.0" + 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 "^2.5.0" + react-devtools-core "^3.4.2" react-timer-mixin "^0.13.2" - react-transform-hmr "^1.0.4" - rebound "^0.0.13" - regenerator-runtime "^0.9.5" - request "^2.79.0" + regenerator-runtime "^0.11.0" rimraf "^2.5.4" - sane "~1.4.1" semver "^5.0.3" + serve-static "^1.13.1" shell-quote "1.6.1" - source-map "^0.5.6" stacktrace-parser "^0.1.3" - temp "0.8.3" - throat "^4.1.0" - whatwg-fetch "^1.0.0" - wordwrap "^1.0.0" - write-file-atomic "^1.2.0" - ws "^1.1.0" - xcode "^0.9.1" + ws "^1.1.5" + xcode "^1.0.0" xmldoc "^0.4.0" - xpipe "^1.0.5" - xtend ">=4.0.0 <4.1.0-0" - yargs "^6.4.0" + yargs "^9.0.0" react-proxy@^1.1.7: version "1.1.8" @@ -3457,14 +4945,15 @@ react-transform-hmr@^1.0.4: global "^4.3.0" react-proxy "^1.1.7" -react@16.0.0-beta.5: - version "16.0.0-beta.5" - resolved "https://registry.yarnpkg.com/react/-/react-16.0.0-beta.5.tgz#b4abba9bce7db72c30633db54a148614b6574e79" +react@16.6.3: + version "16.6.3" + resolved "https://registry.yarnpkg.com/react/-/react-16.6.3.tgz#25d77c91911d6bbdd23db41e70fb094cc1e0871c" + integrity sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw== dependencies: - fbjs "^0.8.9" loose-envify "^1.1.0" - object-assign "^4.1.0" - prop-types "^15.5.6" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.11.2" read-pkg-up@^1.0.1: version "1.0.1" @@ -3508,23 +4997,77 @@ readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.1.4, readable string_decoder "~1.0.3" util-deprecate "~1.0.1" -readable-stream@~1.1.8, readable-stream@~1.1.9: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" +readable-stream@^2.0.2: + 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.1" - isarray "0.0.1" - string_decoder "~0.10.x" + 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" -rebound@^0.0.13: - version "0.0.13" - resolved "https://registry.yarnpkg.com/rebound/-/rebound-0.0.13.tgz#4a225254caf7da756797b19c5817bf7a7941fac1" +readdirp@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +recast@^0.11.17: + version "0.11.23" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" + integrity sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM= + dependencies: + ast-types "0.9.6" + esprima "~3.1.0" + private "~0.1.5" + source-map "~0.5.0" + +recast@^0.16.0: + version "0.16.1" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.16.1.tgz#865f1800ef76e42e5d0375763b80f4d6a05f2069" + integrity sha512-ZUQm94F3AHozRaTo4Vz6yIgkSEZIL7p+BsWeGZ23rx+ZVRoqX+bvBA8br0xmCOU0DSR4qYGtV7Y5HxTsC4V78A== + dependencies: + ast-types "0.11.6" + esprima "~4.0.0" + private "~0.1.5" + source-map "~0.6.1" + +regenerate-unicode-properties@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" + integrity sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw== + dependencies: + regenerate "^1.4.0" regenerate@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" +regenerate@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== + +regenerator-preset@^0.12.1: + version "0.12.1" + resolved "https://registry.yarnpkg.com/regenerator-preset/-/regenerator-preset-0.12.1.tgz#f1d411ac37f3495660a97f365f744cadcdd5b781" + integrity sha512-s/4SOEU1TxZ6IV/CQfz4BEjn29HaRhvqYPoufx2hp9LfuD2dnwnmtWEdXxUuG4JHAE7V+y6aqvileT1AflcH9g== + dependencies: + "@babel/plugin-proposal-function-sent" "^7.0.0-beta.51" + "@babel/plugin-syntax-async-generators" "^7.0.0-beta.51" + "@babel/plugin-transform-arrow-functions" "^7.0.0-beta.51" + "@babel/plugin-transform-block-scoping" "^7.0.0-beta.51" + "@babel/plugin-transform-classes" "^7.0.0-beta.51" + "@babel/plugin-transform-for-of" "^7.0.0-beta.51" + regenerator-transform "^0.13.0" + regenerator-runtime@^0.10.5: version "0.10.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" @@ -3533,9 +5076,15 @@ regenerator-runtime@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" -regenerator-runtime@^0.9.5: - version "0.9.6" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" +regenerator-runtime@^0.12.0: + version "0.12.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" + integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== + +regenerator-runtime@^0.13.0: + version "0.13.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.1.tgz#522ea2aafd9200a00eee143dc14219a35a0f3991" + integrity sha512-5KzMIyPLvfdPmvsdlYsHqITrDfK9k7bmvf97HvHSN4810i254ponbxCQ1NukpRWlu6en2MBWzAlhDExEKISwAA== regenerator-transform@^0.10.0: version "0.10.1" @@ -3545,12 +5094,43 @@ regenerator-transform@^0.10.0: babel-types "^6.19.0" private "^0.1.6" +regenerator-transform@^0.13.0, regenerator-transform@^0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb" + integrity sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA== + dependencies: + private "^0.1.6" + +regenerator@^0.13.2: + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator/-/regenerator-0.13.3.tgz#bfc1195c175b4079d673bae267763abcb4500b8b" + integrity sha512-vePgoVGUgXfLBw4Z1hv8PTfmt7TW5dT/cMdq2GCdr3TYoPTE1WUU/KjiaZCOLD/JSyGWJMWhMRDYBLbpmVzkFw== + dependencies: + "@babel/core" "^7.1.6" + "@babel/runtime" "^7.1.5" + "@babel/types" "^7.1.6" + commoner "^0.10.8" + private "^0.1.8" + recast "^0.16.0" + regenerator-preset "^0.12.1" + regenerator-runtime "^0.13.0" + regenerator-transform "^0.13.3" + through "^2.3.8" + regex-cache@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" 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@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" @@ -3559,16 +5139,40 @@ regexpu-core@^2.0.0: regjsgen "^0.2.0" regjsparser "^0.1.4" +regexpu-core@^4.1.3: + version "4.4.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.4.0.tgz#8d43e0d1266883969720345e70c275ee0aec0d32" + integrity sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^7.0.0" + regjsgen "^0.5.0" + regjsparser "^0.6.0" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.0.2" + regjsgen@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" +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.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" dependencies: jsesc "~0.5.0" +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" + 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" @@ -3577,7 +5181,7 @@ repeat-element@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" -repeat-string@^1.5.2: +repeat-string@^1.5.2, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" @@ -3587,10 +5191,6 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -replace-ext@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" - request@^2.79.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -3626,16 +5226,26 @@ 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" +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-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.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -response-time@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/response-time/-/response-time-2.3.2.tgz#ffa71bab952d62f7c1d49b7434355fbc68dffc5a" +resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: + version "1.9.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.9.0.tgz#a14c6fdfa8f92a7df1d996cb7105fa744658ea06" + integrity sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ== dependencies: - depd "~1.1.0" - on-headers "~1.0.1" + path-parse "^1.0.6" restore-cursor@^2.0.0: version "2.0.0" @@ -3644,6 +5254,11 @@ restore-cursor@^2.0.0: 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== + right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" @@ -3660,10 +5275,6 @@ rimraf@~2.2.6: version "2.2.8" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" -rndm@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/rndm/-/rndm-1.2.0.tgz#f33fe9cfb52bbfd520aa18323bc65db110a1b76c" - run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" @@ -3680,13 +5291,26 @@ 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" +safe-buffer@5.1.2, safe-buffer@^5.1.2: + 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.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" -safe-buffer@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" +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": + 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.0.0" @@ -3702,83 +5326,99 @@ sane@^2.0.0: optionalDependencies: fsevents "^1.1.1" -sane@~1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/sane/-/sane-1.4.1.tgz#88f763d74040f5f0c256b6163db399bf110ac715" - dependencies: - exec-sh "^0.2.0" - fb-watchman "^1.8.0" - minimatch "^3.0.2" - minimist "^1.1.1" - walker "~1.0.5" - watch "~0.10.0" - -sax@^1.2.1: +sax@^1.2.1, 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" -"semver@2 || 3 || 4 || 5", semver@5.x, semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: +scheduler@^0.11.2: + version "0.11.3" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.11.3.tgz#b5769b90cf8b1464f3f3cfcafe8e3cd7555a2d6b" + integrity sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: version "5.4.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" -send@0.13.2: - version "0.13.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.13.2.tgz#765e7607c8055452bba6f0b052595350986036de" +semver@^5.4.1, semver@^5.5.0, semver@^5.5.1: + version "5.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" + integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== + +send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== dependencies: - debug "~2.2.0" - depd "~1.1.0" + debug "2.6.9" + depd "~1.1.2" destroy "~1.0.4" + encodeurl "~1.0.2" escape-html "~1.0.3" - etag "~1.7.0" - fresh "0.3.0" - http-errors "~1.3.1" - mime "1.3.4" - ms "0.7.1" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" on-finished "~2.3.0" - range-parser "~1.0.3" - statuses "~1.2.1" + range-parser "~1.2.0" + statuses "~1.4.0" -serve-favicon@~2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.3.2.tgz#dd419e268de012ab72b319d337f2105013f9381f" - dependencies: - etag "~1.7.0" - fresh "0.3.0" - ms "0.7.2" - parseurl "~1.3.1" - -serve-index@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.7.3.tgz#7a057fc6ee28dc63f64566e5fa57b111a86aecd2" - dependencies: - accepts "~1.2.13" - batch "0.5.3" - debug "~2.2.0" - escape-html "~1.0.3" - http-errors "~1.3.1" - mime-types "~2.1.9" - parseurl "~1.3.1" +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.10.0: - version "1.10.3" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.10.3.tgz#ce5a6ecd3101fed5ec09827dac22a9c29bfb0535" +serve-static@^1.13.1: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== dependencies: + encodeurl "~1.0.2" escape-html "~1.0.3" - parseurl "~1.3.1" - send "0.13.2" + parseurl "~1.3.2" + send "0.16.2" 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" +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== + 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" +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -3798,7 +5438,7 @@ shell-quote@1.6.1, shell-quote@^1.6.1: array-reduce "~0.0.0" jsonify "~0.0.0" -shellwords@^0.1.0: +shellwords@^0.1.0, shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" @@ -3822,27 +5462,92 @@ slide@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" +sn-models@0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/sn-models/-/sn-models-0.1.8.tgz#1204accbc89916b28742a5e4eb0d1bc3aa0ea9ca" + integrity sha512-UAutsQb2TVebrkOwzWAJXL13ZPHadqwPHZPUV2X6XdPhWfxwKMAvUIeQJaUrzXg9b3Hz0U0rTtEgaXzhH1UtBQ== + +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" + sntp@1.x.x: version "1.0.9" resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" dependencies: hoek "2.x.x" +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.4.15: version "0.4.17" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.17.tgz#6f2150553e6375375d0ccb3180502b78c18ba430" dependencies: source-map "^0.5.6" +source-map-support@^0.5.9: + version "0.5.9" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" + integrity sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA== + 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.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: amdefine ">=0.0.4" -source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1: 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: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@~0.2.0: version "0.2.0" @@ -3850,10 +5555,6 @@ source-map@~0.2.0: dependencies: amdefine ">=0.0.4" -sparkles@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" - spdx-correct@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" @@ -3868,6 +5569,13 @@ spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" +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" @@ -3890,24 +5598,38 @@ stacktrace-parser@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.4.tgz#01397922e5f62ecf30845522c95c4fe1d25e7d4e" -statuses@1: +standard-file-js@0.3.19: + version "0.3.19" + resolved "https://registry.yarnpkg.com/standard-file-js/-/standard-file-js-0.3.19.tgz#3a4426d0a91931aebd2060e7fd75bc6677ed605a" + integrity sha512-H23VzukJescWRQp8WoSGm/arU7KzglC7bY7sGy8AwCcStxvAz278VqysGTnwQGpObxEHsp9hKucnV34RhASLtA== + +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" + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + integrity sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4= -statuses@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.2.1.tgz#dded45cc18256d51ed40aec142489d5c61026d28" +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== stream-buffers@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" -stream-counter@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/stream-counter/-/stream-counter-0.2.0.tgz#ded266556319c8b0e222812b9cf3b26fa7d947de" - dependencies: - readable-stream "~1.1.8" - string-length@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" @@ -3929,16 +5651,19 @@ string-width@^2.0.0, string-width@^2.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - string_decoder@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" dependencies: safe-buffer "~5.1.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" + stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -4014,6 +5739,19 @@ tar@^2.2.1: fstream "^1.0.2" inherits "2" +tar@^4: + version "4.4.8" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" + integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== + dependencies: + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.3.4" + minizlib "^1.1.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + temp@0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" @@ -4046,9 +5784,10 @@ through2@^2.0.0: readable-stream "^2.1.5" xtend "~4.0.1" -through@^2.3.6: +through@^2.3.6, through@^2.3.8: 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" @@ -4068,6 +5807,36 @@ to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" +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" + tough-cookie@^2.3.2, tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" @@ -4082,10 +5851,6 @@ trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" -tsscmp@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.5.tgz#7dc4a33af71581ab4337da91d85ca5427ebd9a97" - tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -4102,22 +5867,28 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-is@~1.6.6: - version "1.6.15" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" - dependencies: - media-typer "0.3.0" - mime-types "~2.1.15" - typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" +ua-parser-js@^0.7.18: + version "0.7.19" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.19.tgz#94151be4c0a7fb1d001af7022fdaca4642659e4b" + integrity sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ== + ua-parser-js@^0.7.9: version "0.7.14" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.14.tgz#110d53fa4c3f326c121292bbeac904d2e03387ca" -uglify-js@2.7.5, uglify-js@^2.6: +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@^2.6: version "2.7.5" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" dependencies: @@ -4134,18 +5905,6 @@ uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" -uid-safe@2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.4.tgz#3ad6f38368c6d4c8c75ec17623fb79aa1d071d81" - dependencies: - random-bytes "~1.0.0" - -uid-safe@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.0.0.tgz#a7f3c6ca64a1f6a5d04ec0ef3e4c3d5367317137" - dependencies: - base64-url "1.2.1" - ultron@1.0.x: version "1.0.2" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" @@ -4154,26 +5913,91 @@ ultron@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864" -unpipe@1.0.0, unpipe@~1.0.0: +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.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" + integrity sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" + integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg== + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" -util-deprecate@1.0.2, util-deprecate@~1.0.1: +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" + +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= + +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== + +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + integrity sha1-K1viOjK2Onyd640PKNSFcko98ZA= + +util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -utils-merge@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" - -uuid@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" +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.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" +uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +v8flags@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" + integrity sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ= + dependencies: + user-home "^1.1.1" + validate-npm-package-license@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" @@ -4181,13 +6005,10 @@ validate-npm-package-license@^3.0.1: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" -vary@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.0.1.tgz#99e4981566a286118dfb2b817357df7993376d10" - -vary@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" +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" @@ -4197,18 +6018,6 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vhost@~3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/vhost/-/vhost-3.0.2.tgz#2fb1decd4c466aa88b0f9341af33dc1aff2478d5" - -vinyl@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" - dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" - walker@~1.0.5: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" @@ -4233,7 +6042,7 @@ whatwg-encoding@^1.0.1: dependencies: iconv-lite "0.4.13" -whatwg-fetch@>=0.10.0, whatwg-fetch@^1.0.0: +whatwg-fetch@>=0.10.0: version "1.1.1" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-1.1.1.tgz#ac3c9d39f320c6dce5339969d054ef43dd333319" @@ -4252,24 +6061,25 @@ which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" -which@^1.2.12, which@^1.2.14, which@^1.2.9: +which@^1.2.12, which@^1.2.9: version "1.3.0" resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" dependencies: isexe "^2.0.0" +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.2" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" dependencies: string-width "^1.0.2" -win-release@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/win-release/-/win-release-1.1.1.tgz#5fa55e02be7ca934edfc12665632e849b72e5209" - dependencies: - semver "^5.0.1" - window-size@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" @@ -4327,35 +6137,44 @@ ws@^1.1.0: options ">=0.0.5" ultron "1.0.x" -ws@^2.0.3: - version "2.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-2.3.1.tgz#6b94b3e447cb6a363f785eaf94af6359e8e81c80" +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: - safe-buffer "~5.0.1" + async-limiter "~1.0.0" + safe-buffer "~5.1.0" ultron "~1.1.0" -xcode@^0.9.1: - version "0.9.3" - resolved "https://registry.yarnpkg.com/xcode/-/xcode-0.9.3.tgz#910a89c16aee6cc0b42ca805a6d0b4cf87211cf3" +xcode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xcode/-/xcode-1.1.0.tgz#9fcb63f417a9af377bfb743a5c22afce4e1da964" + integrity sha512-hllHFtfsNu5WbVzj8KbGNdI3NgOYmTLZqyF4a9c9J1aGMhAdxmLLsXlpG0Bz8fEtKh6I3pyargRXN0ZlLpcF5w== dependencies: - pegjs "^0.10.0" simple-plist "^0.2.1" - uuid "3.0.1" + uuid "^3.3.2" xml-name-validator@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" -xmlbuilder@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.0.0.tgz#98b8f651ca30aa624036f127d11cc66dc7b907a3" - dependencies: - lodash "^3.5.0" - xmlbuilder@8.2.2: version "8.2.2" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773" +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" @@ -4370,7 +6189,7 @@ xpipe@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf" -"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.1, xtend@~4.0.1: +xtend@^4.0.1, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -4382,11 +6201,10 @@ yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" -yargs-parser@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" - dependencies: - camelcase "^3.0.0" +yallist@^3.0.0, yallist@^3.0.2: + 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@^5.0.0: version "5.0.0" @@ -4400,9 +6218,9 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" -yargs@^6.4.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" +yargs@^7.0.2: + version "7.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" dependencies: camelcase "^3.0.0" cliui "^3.2.0" @@ -4416,29 +6234,30 @@ yargs@^6.4.0: string-width "^1.0.2" which-module "^1.0.0" y18n "^3.2.1" - yargs-parser "^4.2.0" + yargs-parser "^5.0.0" -yargs@^7.0.2: - version "7.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" dependencies: - camelcase "^3.0.0" + camelcase "^4.1.0" cliui "^3.2.0" decamelize "^1.1.1" get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^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 "^1.0.2" - which-module "^1.0.0" + string-width "^2.0.0" + which-module "^2.0.0" y18n "^3.2.1" - yargs-parser "^5.0.0" + yargs-parser "^7.0.0" -yargs@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" +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" From 04b4fcaaa620abcb5e211ee61055412ec65d932e Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 23 Dec 2018 15:52:43 -0600 Subject: [PATCH 002/131] Functioning iOS implementation of RNN 2.3 --- ios/StandardNotes.xcodeproj/project.pbxproj | 161 ++++++++++++--- ios/StandardNotes/AppDelegate.m | 25 +-- src/Styles.js | 1 + src/app.js | 102 ++++++---- src/screens/Abstract.js | 123 +++++++----- src/screens/Account.js | 70 ++++--- src/screens/Authenticate.js | 25 ++- src/screens/Compose.js | 72 +++---- src/screens/Filter.js | 116 ++++++----- src/screens/InputModal.js | 33 ++-- src/screens/Notes.js | 204 +++++++++++--------- src/screens/Webview.js | 61 ------ src/screens/index.js | 2 +- vendor/react-native-navigation | 2 +- 14 files changed, 579 insertions(+), 418 deletions(-) diff --git a/ios/StandardNotes.xcodeproj/project.pbxproj b/ios/StandardNotes.xcodeproj/project.pbxproj index 3d2aa267..6763b87f 100644 --- a/ios/StandardNotes.xcodeproj/project.pbxproj +++ b/ios/StandardNotes.xcodeproj/project.pbxproj @@ -43,7 +43,7 @@ ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; C00E89E3E7F949A4AA0F613E /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F30913DACE34E71895FBF91 /* libz.tbd */; }; CD17667C1F795DC100165C83 /* libSNTextView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1766781F795AE500165C83 /* libSNTextView.a */; }; - CDB58A1F1F6C518E009EF868 /* libReactNativeNavigation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDB58A1E1F6C5182009EF868 /* libReactNativeNavigation.a */; }; + CD2AA5DF21D00CE400967EBD /* libReactNativeNavigation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CD2AA5DC21D00C2300967EBD /* libReactNativeNavigation.a */; }; CDB58A201F6C5193009EF868 /* libRNMail.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDB58A161F6C5179009EF868 /* libRNMail.a */; }; CDB58A211F6C51A4009EF868 /* libReactNativeFingerprintScanner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDB58A0F1F6C5174009EF868 /* libReactNativeFingerprintScanner.a */; }; CDB58A221F6C5235009EF868 /* libRCTAes.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDB58A091F6C516B009EF868 /* libRCTAes.a */; }; @@ -254,6 +254,62 @@ remoteGlobalIDString = CD2830C11F795AB7002B9529; remoteInfo = SNTextView; }; + CD2AA5B121D00BF700967EBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3DBE0D001F3B181A0099AA32; + remoteInfo = fishhook; + }; + CD2AA5B321D00BF700967EBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32; + remoteInfo = "fishhook-tvOS"; + }; + CD2AA5C521D00BF700967EBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = EBF21BDC1FC498900052F4D5; + remoteInfo = jsinspector; + }; + CD2AA5C721D00BF700967EBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = EBF21BFA1FC4989A0052F4D5; + remoteInfo = "jsinspector-tvOS"; + }; + CD2AA5C921D00BF700967EBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 9936F3131F5F2E4B0010BF04; + remoteInfo = privatedata; + }; + CD2AA5CB21D00BF700967EBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 9936F32F1F5F2E5B0010BF04; + remoteInfo = "privatedata-tvOS"; + }; + CD2AA5DB21D00C2300967EBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = CD2AA5D621D00C2300967EBD /* ReactNativeNavigation.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D8AFADBD1BEE6F3F00A4592D; + remoteInfo = ReactNativeNavigation; + }; + CD2AA5DD21D00C2300967EBD /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = CD2AA5D621D00C2300967EBD /* ReactNativeNavigation.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 7B49FEBB1E95090800DEB3EA; + remoteInfo = ReactNativeNavigationTests; + }; CD4D91841F7BE11800080678 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 5C13FDBBDDEE4F1285F88B41 /* RNStoreReview.xcodeproj */; @@ -303,13 +359,6 @@ remoteGlobalIDString = 46FEDE8A1AFF192F00D3261C; remoteInfo = RNMailTests; }; - CDB58A1D1F6C5182009EF868 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CDB58A191F6C5182009EF868 /* ReactNativeNavigation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = D8AFADBD1BEE6F3F00A4592D; - remoteInfo = ReactNativeNavigation; - }; CDB58A551F6C5294009EF868 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; @@ -405,10 +454,10 @@ ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; B5409EE82FED4DA9B57CA746 /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = ""; }; CD17664C1F795AE500165C83 /* SNTextView.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SNTextView.xcodeproj; path = "../vendor/sn-textview/ios/SNTextView.xcodeproj"; sourceTree = ""; }; + CD2AA5D621D00C2300967EBD /* ReactNativeNavigation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactNativeNavigation.xcodeproj; path = "../vendor/react-native-navigation/lib/ios/ReactNativeNavigation.xcodeproj"; sourceTree = ""; }; CDB58A041F6C516B009EF868 /* RCTAes.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAes.xcodeproj; path = "../vendor/react-native-aes/ios/RCTAes.xcodeproj"; sourceTree = ""; }; CDB58A0A1F6C5174009EF868 /* ReactNativeFingerprintScanner.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactNativeFingerprintScanner.xcodeproj; path = "../vendor/react-native-fingerprint-scanner/ios/ReactNativeFingerprintScanner.xcodeproj"; sourceTree = ""; }; CDB58A101F6C5178009EF868 /* RNMail.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNMail.xcodeproj; path = "../vendor/react-native-mail/RNMail.xcodeproj"; sourceTree = ""; }; - CDB58A191F6C5182009EF868 /* ReactNativeNavigation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactNativeNavigation.xcodeproj; path = "../vendor/react-native-navigation/ios/ReactNativeNavigation.xcodeproj"; sourceTree = ""; }; CDC17F4A1F6E24720037D7F9 /* StandardNotes.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = StandardNotes.entitlements; path = StandardNotes/StandardNotes.entitlements; sourceTree = ""; }; CDCF33ADCFE845D588CC4E66 /* libRNKeychain.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNKeychain.a; sourceTree = ""; }; D38724A93AC141D6B51D1356 /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = ""; }; @@ -428,11 +477,11 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + CD2AA5DF21D00CE400967EBD /* libReactNativeNavigation.a in Frameworks */, CD17667C1F795DC100165C83 /* libSNTextView.a in Frameworks */, CDB58A221F6C5235009EF868 /* libRCTAes.a in Frameworks */, CDB58A211F6C51A4009EF868 /* libReactNativeFingerprintScanner.a in Frameworks */, CDB58A201F6C5193009EF868 /* libRNMail.a in Frameworks */, - CDB58A1F1F6C518E009EF868 /* libReactNativeNavigation.a in Frameworks */, ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */, 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */, 146834051AC3E58100842450 /* libReact.a in Frameworks */, @@ -552,6 +601,8 @@ children = ( 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */, + CD2AA5B221D00BF700967EBD /* libfishhook.a */, + CD2AA5B421D00BF700967EBD /* libfishhook-tvOS.a */, ); name = Products; sourceTree = ""; @@ -582,10 +633,14 @@ 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */, 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */, 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */, + CD2AA5C621D00BF700967EBD /* libjsinspector.a */, + CD2AA5C821D00BF700967EBD /* libjsinspector-tvOS.a */, CDB58A561F6C5294009EF868 /* libthird-party.a */, CDB58A581F6C5294009EF868 /* libthird-party.a */, CDB58A5A1F6C5294009EF868 /* libdouble-conversion.a */, CDB58A5C1F6C5294009EF868 /* libdouble-conversion.a */, + CD2AA5CA21D00BF700967EBD /* libprivatedata.a */, + CD2AA5CC21D00BF700967EBD /* libprivatedata-tvOS.a */, ); name = Products; sourceTree = ""; @@ -629,8 +684,8 @@ 832341AE1AAA6A7D00B99B32 /* Libraries */ = { isa = PBXGroup; children = ( + CD2AA5D621D00C2300967EBD /* ReactNativeNavigation.xcodeproj */, CD17664C1F795AE500165C83 /* SNTextView.xcodeproj */, - CDB58A191F6C5182009EF868 /* ReactNativeNavigation.xcodeproj */, CDB58A101F6C5178009EF868 /* RNMail.xcodeproj */, CDB58A0A1F6C5174009EF868 /* ReactNativeFingerprintScanner.xcodeproj */, CDB58A041F6C516B009EF868 /* RCTAes.xcodeproj */, @@ -707,6 +762,15 @@ name = Products; sourceTree = ""; }; + CD2AA5D721D00C2300967EBD /* Products */ = { + isa = PBXGroup; + children = ( + CD2AA5DC21D00C2300967EBD /* libReactNativeNavigation.a */, + CD2AA5DE21D00C2300967EBD /* ReactNativeNavigationTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; CD4D91811F7BE11800080678 /* Products */ = { isa = PBXGroup; children = ( @@ -748,14 +812,6 @@ name = Products; sourceTree = ""; }; - CDB58A1A1F6C5182009EF868 /* Products */ = { - isa = PBXGroup; - children = ( - CDB58A1E1F6C5182009EF868 /* libReactNativeNavigation.a */, - ); - name = Products; - sourceTree = ""; - }; CDB58A331F6C5294009EF868 /* Products */ = { isa = PBXGroup; children = ( @@ -976,8 +1032,8 @@ ProjectRef = CDB58A0A1F6C5174009EF868 /* ReactNativeFingerprintScanner.xcodeproj */; }, { - ProductGroup = CDB58A1A1F6C5182009EF868 /* Products */; - ProjectRef = CDB58A191F6C5182009EF868 /* ReactNativeNavigation.xcodeproj */; + ProductGroup = CD2AA5D721D00C2300967EBD /* Products */; + ProjectRef = CD2AA5D621D00C2300967EBD /* ReactNativeNavigation.xcodeproj */; }, { ProductGroup = CDB58A331F6C5294009EF868 /* Products */; @@ -1200,6 +1256,62 @@ remoteRef = CD1766771F795AE500165C83 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + CD2AA5B221D00BF700967EBD /* libfishhook.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libfishhook.a; + remoteRef = CD2AA5B121D00BF700967EBD /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + CD2AA5B421D00BF700967EBD /* libfishhook-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libfishhook-tvOS.a"; + remoteRef = CD2AA5B321D00BF700967EBD /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + CD2AA5C621D00BF700967EBD /* libjsinspector.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libjsinspector.a; + remoteRef = CD2AA5C521D00BF700967EBD /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + CD2AA5C821D00BF700967EBD /* libjsinspector-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libjsinspector-tvOS.a"; + remoteRef = CD2AA5C721D00BF700967EBD /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + CD2AA5CA21D00BF700967EBD /* libprivatedata.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libprivatedata.a; + remoteRef = CD2AA5C921D00BF700967EBD /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + CD2AA5CC21D00BF700967EBD /* libprivatedata-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libprivatedata-tvOS.a"; + remoteRef = CD2AA5CB21D00BF700967EBD /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + CD2AA5DC21D00C2300967EBD /* libReactNativeNavigation.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libReactNativeNavigation.a; + remoteRef = CD2AA5DB21D00C2300967EBD /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + CD2AA5DE21D00C2300967EBD /* ReactNativeNavigationTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = ReactNativeNavigationTests.xctest; + remoteRef = CD2AA5DD21D00C2300967EBD /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; CD4D91851F7BE11800080678 /* libRNStoreReview.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1249,13 +1361,6 @@ remoteRef = CDB58A171F6C5179009EF868 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - CDB58A1E1F6C5182009EF868 /* libReactNativeNavigation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReactNativeNavigation.a; - remoteRef = CDB58A1D1F6C5182009EF868 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; CDB58A561F6C5294009EF868 /* libthird-party.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; diff --git a/ios/StandardNotes/AppDelegate.m b/ios/StandardNotes/AppDelegate.m index b8eb935f..5731dcc9 100644 --- a/ios/StandardNotes/AppDelegate.m +++ b/ios/StandardNotes/AppDelegate.m @@ -1,10 +1,9 @@ #import "AppDelegate.h" #import -#import "RCCManager.h" + #import #import #import -//#import "RCTTextView.h" @implementation AppDelegate @@ -22,26 +21,8 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( } NSURL *jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; - -//======= -// NSURL *jsCodeLocation; -// -// #ifdef DEBUG -// jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; -// #else -// jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; -// #endif -// -// RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation -// moduleName:@"StandardNotes" -// initialProperties:nil -// launchOptions:launchOptions]; -// rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; -// -//>>>>>>> theirs - self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; - self.window.backgroundColor = [UIColor whiteColor]; - [[RCCManager sharedInstance] initBridgeWithBundleURL:jsCodeLocation launchOptions:launchOptions]; + [ReactNativeNavigation bootstrap:jsCodeLocation launchOptions:launchOptions]; + return YES; } diff --git a/src/Styles.js b/src/Styles.js index 1587a82b..197df318 100644 --- a/src/Styles.js +++ b/src/Styles.js @@ -453,6 +453,7 @@ export default class GlobalStyles { paddingLeft: constants.paddingLeft, paddingRight: constants.paddingLeft, paddingBottom: 10, + backgroundColor: constants.mainBackgroundColor }, noteTextIOS: { diff --git a/src/app.js b/src/app.js index e6bc021b..0b71f164 100644 --- a/src/app.js +++ b/src/app.js @@ -5,7 +5,7 @@ import React, { Component } from 'react'; import {AppState, Platform, StatusBar, BackHandler, DeviceEventEmitter, NativeModules} from 'react-native'; -import {Navigation, ScreenVisibilityListener} from 'react-native-navigation'; +import {Navigation} from 'react-native-navigation'; import {registerScreens} from './screens'; import KeysManager from './lib/keysManager' @@ -66,15 +66,6 @@ export default class App { } }) - // Screen visibility listener - this.listener = new ScreenVisibilityListener({ - willAppear: ({screen, startTime, endTime, commandType}) => { - this._currentScreen = screen; - }, - }); - - this.listener.register(); - // Listen to sign out event this.signoutObserver = Auth.get().addEventHandler((event) => { if(event == SFAuthManager.DidSignOutEvent) { @@ -88,10 +79,6 @@ export default class App { } - currentScreen() { - return this._currentScreen; - } - getLocale() { if (Platform.OS === 'android') { return NativeModules.I18nManager.localeIdentifier; @@ -169,8 +156,10 @@ export default class App { ]).then(function(){ this.loading = false; var run = () => { - this.startApp(); - ApplicationState.get().receiveApplicationStartEvent(); + Navigation.events().registerAppLaunchedListener(() => { + this.startApp(); + ApplicationState.get().receiveApplicationStartEvent(); + }); } if(KeysManager.get().isFirstRun()) { KeysManager.get().handleFirstRun().then(run); @@ -185,27 +174,68 @@ export default class App { console.log("===Starting App==="); if(this.isIOS) { - let tabs = [{ - label: 'Notes', - screen: 'sn.Notes', - title: 'Notes', - }, - { - label: 'Account', - screen: 'sn.Account', - title: 'Account', - } - ]; - - Navigation.startTabBasedApp( - { - tabs: tabs, - animationType: this.isIOS ? 'slide-down' : 'fade', - tabsStyle: _.clone(this.tabStyles), // for iOS - appStyle: _.clone(this.tabStyles), // for Android - animationType: 'none' + Navigation.setDefaultOptions({ + bottomTabs: { + visible: true, + animate: false, // Controls whether BottomTabs visibility changes should be animated + drawBehind: true, + backgroundColor: GlobalStyles.constants().mainBackgroundColor + }, + bottomTab: { + iconColor: GlobalStyles.constants().mainDimColor, + selectedIconColor: GlobalStyles.constants().mainTintColor, + textColor: GlobalStyles.constants().mainDimColor, + selectedTextColor: GlobalStyles.constants().mainTintColor + }, + }); + + Navigation.setRoot({ + root: { + bottomTabs: { + id: 'MainTabBar', + children: [{ + stack: { + children: [{ + component: { + name: 'sn.Notes', + options: { + bottomTab: { + text: 'Notes', + icon: Icons.getIcon('ios-menu-outline') + }, + topBar: { + title: { + text: "Notes", + } + } + } + } + }] + } + }, + { + stack: { + children: [{ + component: { + name: 'sn.Account', + options: { + bottomTab: { + text: 'Account', + icon: Icons.getIcon('ios-contact-outline') + }, + topBar: { + title: { + text: "Account" + } + } + } + } + }] + } + }] + } } - ); + }); } else { let drawer = { left: { diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index f669fbcd..160e9192 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -1,18 +1,53 @@ import React, { Component } from 'react'; import {DeviceEventEmitter, Modal, View} from 'react-native'; -import GlobalStyles from "../Styles" -import App from "../app" -import ApplicationState from "../ApplicationState" +import GlobalStyles from "../Styles"; +import App from "../app"; +import ApplicationState from "../ApplicationState"; +import {Navigation} from 'react-native-navigation'; export default class Abstract extends Component { + static options(passProps) { + var color = GlobalStyles.constantForKey(App.isIOS ? "mainTextColor" : "navBarTextColor"); + return { + topBar: { + visible: true, + animate: false, // Controls whether TopBar visibility changes should be animated + hideOnScroll: false, + buttonColor: GlobalStyles.constants().mainTintColor, + drawBehind: false, + backButton: { + visible: true, + color: GlobalStyles.constants().mainTintColor + }, + background: { + color: GlobalStyles.constants().mainBackgroundColor + }, + title: { + color: GlobalStyles.constants().mainTextColor, + fontWeight: 'bold' + }, + subtitle: { + color: GlobalStyles.hexToRGBA(color, 0.5), + fontSize: 12 + } + } + }; + } + constructor(props) { super(props); + + Navigation.events().bindComponent(this); this.state = {lockContent: true}; - if(this.props.navigator) { - this.props.navigator.setOnNavigatorEvent(this.onNavigatorEvent.bind(this)); - } + Navigation.events().registerComponentDidAppearListener(({ componentId, componentName }) => { + this.onNavigatorEvent('didAppear'); + }); + + Navigation.events().registerComponentDidDisappearListener(({ componentId, componentName }) => { + this.onNavigatorEvent('didDisappear'); + }); this._stateObserver = ApplicationState.get().addStateObserver((state) => { if(!this.isMounted()) { @@ -29,6 +64,38 @@ export default class Abstract extends Component { }) } + setTitle(title) { + Navigation.mergeOptions(this.props.componentId, { + topBar: { + title: { + text: title + } + } + }) + } + + onNavigatorEvent(event) { + switch(event) { + case 'willAppear': + this.willBeVisible = true; + this.configureNavBar(false); + break; + case 'didAppear': + this.willBeVisible = true; // Just in case willAppear isn't called for whatever reason + this.viewDidAppear(); + if(this.queuedSubtitle) { + this.setNavBarSubtitle(this.queuedSubtitle); + } + break; + case 'willDisappear': + this.willBeVisible = false; + break; + case 'didDisappear': + this.visible = false; + break; + } + } + lockContent() { this.mergeState({lockContent: true}); this.configureNavBar(); @@ -113,54 +180,24 @@ export default class Abstract extends Component { this.queuedSubtitle = null; - this.props.navigator.setSubTitle({ - subtitle: title + Navigation.mergeOptions(this.props.componentId, { + topBar: { + subtitle: { + text: title, + } + } }); - if(!this.didSetNavBarStyle) { - this.didSetNavBarStyle = true; - var color = GlobalStyles.constantForKey(App.isIOS ? "mainTextColor" : "navBarTextColor"); - this.props.navigator.setStyle({ - navBarSubtitleColor: GlobalStyles.hexToRGBA(color, 0.5), - navBarSubtitleFontSize: 12 - }); - } - return true; } dismissModal() { - this.props.navigator.dismissModal({animationType: "slide-down"}) - } - - dismissLightBox() { - this.props.navigator.dismissLightBox({animationType: "slide-down"}) + Navigation.dismissModal(); } viewDidAppear() { this.visible = true; } - onNavigatorEvent(event) { - switch(event.id) { - case 'willAppear': - this.willBeVisible = true; - this.configureNavBar(false); - break; - case 'didAppear': - this.willBeVisible = true; // Just in case willAppear isn't called for whatever reason - this.viewDidAppear(); - if(this.queuedSubtitle) { - this.setNavBarSubtitle(this.queuedSubtitle); - } - break; - case 'willDisappear': - this.willBeVisible = false; - break; - case 'didDisappear': - this.visible = false; - break; - } - } } diff --git a/src/screens/Account.js b/src/screens/Account.js index caa5913b..84d5bc48 100644 --- a/src/screens/Account.js +++ b/src/screens/Account.js @@ -28,6 +28,7 @@ import LockedView from "../containers/LockedView"; import ApplicationState from "../ApplicationState"; import GlobalStyles from "../Styles" import App from "../app" +import {Navigation} from 'react-native-navigation'; var base64 = require('base-64'); var Mailer = require('NativeModules').RNMail; @@ -97,15 +98,17 @@ export default class Account extends Abstract { super.configureNavBar(); if(App.get().isAndroid) { - this.props.navigator.setButtons({ - leftButtons: [ - { - title: "Close", - id: 'cancel', - showAsAction: 'ifRoom', - }, - ], - animated: false + Navigation.mergeOptions(this.props.componentId, { + topBar: { + leftButtons: [ + { + text: "Close", + id: 'cancel', + showAsAction: 'ifRoom', + }, + ], + } + // animated: false }); } } @@ -113,17 +116,17 @@ export default class Account extends Abstract { onNavigatorEvent(event) { super.onNavigatorEvent(event); - switch(event.id) { + switch(event) { case 'willAppear': this.loadSecurityStatus(); this.forceUpdate(); break; } + } - if (event.type == 'NavBarButtonPress') { - if (event.id == 'cancel') { - this.returnToNotesScreen(); - } + navigationButtonPressed({ buttonId }) { + if(buttonId == 'cancel') { + this.returnToNotesScreen(); } } @@ -259,8 +262,10 @@ export default class Account extends Abstract { returnToNotesScreen = () => { if(App.isIOS) { - this.props.navigator.switchToTab({ - tabIndex: 0 + Navigation.mergeOptions('MainTabBar', { + bottomTabs: { + currentTabIndex: 0 + } }); this.forceUpdate(); } else { @@ -390,18 +395,29 @@ export default class Account extends Abstract { } onPasscodeEnable = () => { - this.props.navigator.showModal({ - screen: 'sn.Authenticate', - title: 'Setup Passcode', - animationType: 'slide-up', - passProps: { - mode: "setup", - onSetupSuccess: () => { - var encryptionSource = KeysManager.get().encryptionSource(); - if(encryptionSource == "offline") { - this.resaveOfflineData(null, true); + Navigation.showModal({ + stack: { + children: [{ + component: { + name: 'sn.Authenticate', + passProps: { + mode: "setup", + onSetupSuccess: () => { + var encryptionSource = KeysManager.get().encryptionSource(); + if(encryptionSource == "offline") { + this.resaveOfflineData(null, true); + } + } + }, + options: { + topBar: { + title: { + text: 'Setup Passcode', + } + } + } } - } + }] } }); } diff --git a/src/screens/Authenticate.js b/src/screens/Authenticate.js index 478b5003..d31deba0 100644 --- a/src/screens/Authenticate.js +++ b/src/screens/Authenticate.js @@ -15,6 +15,7 @@ import SectionedOptionsTableCell from "../components/SectionedOptionsTableCell"; import GlobalStyles from "../Styles" import FingerprintScanner from 'react-native-fingerprint-scanner'; import Icon from 'react-native-vector-icons/Ionicons'; +import {Navigation} from 'react-native-navigation'; import { TextInput, @@ -76,24 +77,22 @@ export default class Authenticate extends Abstract { } } - onNavigatorEvent(event) { - super.onNavigatorEvent(event); - if (event.type == 'NavBarButtonPress') { // this is the event type for button presses - if (event.id == 'cancel') { // this is the same id field from the static navigatorButtons definition - this.dismiss(); - } + navigationButtonPressed({ buttonId }) { + if (buttonId == 'cancel') { // this is the same id field from the static navigatorButtons definition + this.dismiss(); } } configureNavBar() { if(this.props.mode === "setup") { - this.props.navigator.setButtons({ - leftButtons: [{ - title: 'Cancel', - id: 'cancel', - showAsAction: 'ifRoom', - }], - animated: false + Navigation.mergeOptions(this.props.componentId, { + topBar: { + leftButtons: [{ + text: 'Cancel', + id: 'cancel', + showAsAction: 'ifRoom', + }], + } }); } } diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 83a8f858..fde0a779 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -12,6 +12,7 @@ import LockedView from "../containers/LockedView"; import Icon from 'react-native-vector-icons/Ionicons'; import TextView from "sn-textview"; +import {Navigation} from 'react-native-navigation'; import { StyleSheet, @@ -95,7 +96,7 @@ export default class Compose extends Abstract { // Autofocus doesn't work properly on iOS due to navigation push, so we'll focus manually if(App.isIOS) { - if(this.note.dummy) { + if(this.note.dummy && this.input) { this.input.focus(); } } @@ -120,7 +121,7 @@ export default class Compose extends Abstract { } var tagButton = { - title: "Manage", + text: "Manage", id: 'tags', showAsAction: 'ifRoom', } @@ -137,22 +138,24 @@ export default class Compose extends Abstract { } } - this.props.navigator.setButtons({ - rightButtons: [tagButton], - animated: false + Navigation.mergeOptions(this.props.componentId, { + topBar: { + rightButtons: [tagButton], + animated: false + } }); } onNavigatorEvent(event) { super.onNavigatorEvent(event); - if(event.id == 'didAppear') { + if(event == 'didAppear') { if(this.note.dummy) { if(this.refs.input) { this.refs.input.focus(); } } - } else if(event.id == "willAppear") { + } else if(event == "willAppear") { if(this.needsEditorReload) { this.forceUpdate(); this.needsEditorReload = false; @@ -164,40 +167,42 @@ export default class Compose extends Abstract { }, 300); } } - if (event.type == 'NavBarButtonPress') { - if (event.id == 'tags') { - this.showOptions(); - } + } + + navigationButtonPressed({ buttonId }) { + if (buttonId == 'tags') { + this.showOptions(); } } + showOptions() { if(App.isAndroid && this.input) { this.input.blur(); } this.previousOptions = {selectedTags: this.note.tags.map(function(tag){return tag.uuid})}; - this.props.navigator.push({ - screen: 'sn.Filter', - title: 'Options', - animationType: 'slide-up', - passProps: { - noteId: this.note.uuid, - onManageNoteEvent: () => {this.forceUpdate()}, - singleSelectMode: false, - options: JSON.stringify(this.previousOptions), - onEditorSelect: () => { - this.needsEditorReload = true; - }, - onOptionsChange: (options) => { - if(!_.isEqual(options.selectedTags, this.previousOptions.selectedTags)) { - var tags = ModelManager.get().findItems(options.selectedTags); - this.replaceTagsForNote(tags); - this.note.setDirty(true); - this.changesMade(); - } - } - } + Navigation.push(this.props.componentId, { + component: { + name: 'sn.Filter', + passProps: { + noteId: this.note.uuid, + onManageNoteEvent: () => {this.forceUpdate()}, + singleSelectMode: false, + options: JSON.stringify(this.previousOptions), + onEditorSelect: () => { + this.needsEditorReload = true; + }, + onOptionsChange: (options) => { + if(!_.isEqual(options.selectedTags, this.previousOptions.selectedTags)) { + var tags = ModelManager.get().findItems(options.selectedTags); + this.replaceTagsForNote(tags); + this.note.setDirty(true); + this.changesMade(); + } + } + } + } }); } @@ -365,6 +370,7 @@ export default class Compose extends Abstract { {shouldDisplayEditor && { + this.createTag(text, (tag) => { + if(this.note) { + // select this tag + this.onTagSelect(tag) + } + }); + } + } + } + }] + } + }); + } + } + onNavigatorEvent(event) { super.onNavigatorEvent(event); - if(event.id == "willAppear") { + if(event == "willAppear") { this.forceUpdate(); } - if(event.id == "willDisappear" && !this.props.singleSelectMode) { + if(event == "willDisappear" && !this.props.singleSelectMode) { // we prefer to notify the parent via NavBarButtonPress.accept, but when this view is presented via nav push, // the user can swipe back and miss that. So we do it here as a backup. if(!this.didNotifyParent) { this.notifyParentOfOptionsChange(); } } - - if (event.type == 'NavBarButtonPress') { // this is the event type for button presses - if (event.id == 'accept') { // this is the same id field from the static navigatorButtons definition - if(this.note) { - this.props.navigator.pop(); - } else { - this.didNotifyParent = true; - this.notifyParentOfOptionsChange(); - this.dismiss(); - } - } else if(event.id == 'new-tag') { - this.props.navigator.showModal({ - screen: 'sn.InputModal', - title: 'New Tag', - animationType: 'slide-up', - passProps: { - title: 'New Tag', - placeholder: "New tag name", - onSave: (text) => { - this.createTag(text, function(tag){ - if(this.note) { - // select this tag - this.onTagSelect(tag) - } - }.bind(this)); - } - } - }); - } - } } dismiss = () => { if(this.note) { - this.props.navigator.pop(); + Navigation.pop(this.props.componentId); } else { - this.props.navigator.dismissModal({animationType: "slide-down"}) + Navigation.dismissModal(this.props.componentId, { + animationType: "slide-down" + }); } } @@ -275,7 +295,7 @@ export default class Filter extends Abstract { ItemActionManager.handleEvent(event, this.note, () => { this.props.onManageNoteEvent(); if(event == ItemActionManager.DeleteEvent) { - this.props.navigator.popToRoot({ + Navigation.popToRoot({ animated: true, }); } diff --git a/src/screens/InputModal.js b/src/screens/InputModal.js index 7d470f21..8e2abc25 100644 --- a/src/screens/InputModal.js +++ b/src/screens/InputModal.js @@ -7,6 +7,7 @@ import SectionHeader from "../components/SectionHeader"; import ButtonCell from "../components/ButtonCell"; import Abstract from "./Abstract" import LockedView from "../containers/LockedView"; +import {Navigation} from 'react-native-navigation'; export default class InputModal extends Abstract { @@ -16,24 +17,24 @@ export default class InputModal extends Abstract { } configureNavBar() { - this.props.navigator.setOnNavigatorEvent(this.onNavigatorEvent.bind(this)); - this.props.navigator.setButtons({ - leftButtons: [ - { - title: 'Cancel', - id: 'cancel', - showAsAction: 'ifRoom' - }, - ], - animated: false + Navigation.mergeOptions(this.props.componentId, { + topBar: { + leftButtons: [ + { + text: 'Cancel', + id: 'cancel', + showAsAction: 'ifRoom' + }, + ], + title: { + text: this.props.title + } + } }); } - - onNavigatorEvent(event) { - if (event.type == 'NavBarButtonPress') { - this.props.navigator.dismissModal({animationType: "slide-down"}); - } + navigationButtonPressed({ buttonId }) { + Navigation.dismissModal(this.props.componentId); } onSave = () => { @@ -44,7 +45,7 @@ export default class InputModal extends Abstract { } } this.props.onSave(this.state.text); - this.props.navigator.dismissModal({animationType: "slide-down"}); + Navigation.dismissModal(this.props.componentId, {animationType: "slide-down"}); } onTextChange = (text) => { diff --git a/src/screens/Notes.js b/src/screens/Notes.js index 79c06b39..b5e74c1e 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes.js @@ -1,5 +1,6 @@ import React, { Component } from 'react'; import { StyleSheet, View, Platform, Text, StatusBar, Modal, Alert } from 'react-native'; +import {Navigation} from 'react-native-navigation'; import App from "../app" import ModelManager from '../lib/sfjs/modelManager' @@ -39,13 +40,15 @@ export default class Notes extends Abstract { // Android can handle presenting modals no matter which screen you're on if(App.isIOS) { // The auth modal is only presented if the Notes screen is visible. - this.props.navigator.popToRoot(); + Navigation.popToRoot(this.props.componentId); // Don't use the below as it will also for some reason dismiss the non RNN auth modal as well - // this.props.navigator.dismissAllModals({animationType: 'none'}); + // Navigation.dismissAllModals({animationType: 'none'}); - this.props.navigator.switchToTab({ - tabIndex: 0 + Navigation.mergeOptions('MainTabBar', { + bottomTabs: { + currentTabIndex: 0 + } }); } } @@ -68,7 +71,6 @@ export default class Notes extends Abstract { }); this.registerObservers(); - this.loadTabbarIcons(); this.initializeNotes(); this.beginSyncTimer(); @@ -168,22 +170,6 @@ export default class Notes extends Abstract { this.mergeState({showSyncBar: text != null, syncBarText: text}); } - loadTabbarIcons() { - if(!App.get().isIOS) { - return; - } - this.props.navigator.setTabButton({ - tabIndex: 0, - icon: Icons.getIcon('ios-menu-outline'), - selectedIcon: Icons.getIcon('ios-menu-outline') - }); - this.props.navigator.setTabButton({ - tabIndex: 1, - icon: Icons.getIcon('ios-contact-outline'), - selectedIcon: Icons.getIcon('ios-contact-outline') - }); - } - initializeNotes() { var encryptionEnabled = KeysManager.get().isOfflineEncryptionEnabled(); this.mergeState({decrypting: encryptionEnabled, loading: !encryptionEnabled}) @@ -249,7 +235,9 @@ export default class Notes extends Abstract { } configureNavBar(initial = false) { + console.log("Configure Nav Bar"); // If you change anything here, be sure to test how it interacts with filtering, when you change which tags to show. + console.log(this.visible, this.willBeVisible); if(this.state.lockContent || (!this.visible && !this.willBeVisible)) { this.needsConfigureNavBar = true; return; @@ -257,7 +245,7 @@ export default class Notes extends Abstract { if(!this.dataLoaded) { this.notesTitle = "Notes"; - this.props.navigator.setTitle({title: this.notesTitle, animated: false}); + this.setTitle(this.notesTitle); this.needsConfigureNavBar = true; return; } @@ -296,13 +284,13 @@ export default class Notes extends Abstract { } } - if(notesTitle !== this.notesTitle) { - // no changes, return. We do this so when swiping back from compose to here, - // we don't change the title while a transition is taking place - this.notesTitle = notesTitle; - - this.props.navigator.setTitle({title: notesTitle, animated: false}); - } + // if(notesTitle !== this.notesTitle) { + // // no changes, return. We do this so when swiping back from compose to here, + // // we don't change the title while a transition is taking place + // + // this.setTitle({title: notesTitle, animated: false}); + // } + this.notesTitle = notesTitle; if(!initial && App.isIOS && filterTitle === this.filterTitle) { // On Android, we want to always run the bottom code in the case of the FAB that doesn't @@ -316,46 +304,72 @@ export default class Notes extends Abstract { var rightButtons = []; if(App.get().isIOS) { rightButtons.push({ - title: 'New', + text: 'New', id: 'new', showAsAction: 'ifRoom', }) } else { rightButtons.push({ - title: 'Settings', + text: 'Settings', id: 'settings', showAsAction: 'ifRoom', icon: Icons.getIcon('md-settings'), }) } - this.props.navigator.setButtons({ - rightButtons: rightButtons, - leftButtons: [ - { - title: filterTitle, - id: 'sideMenu', - showAsAction: 'ifRoom', - }, - ], - fab: { - collapsedId: 'new', - collapsedIcon: Icons.getIcon('md-add'), - backgroundColor: GlobalStyles.constants().mainTintColor + let leftButtons = [ + { + text: filterTitle, + id: 'sideMenu', + showAsAction: 'ifRoom', }, - animated: false + ] + + Navigation.mergeOptions(this.props.componentId, { + topBar: { + leftButtons: leftButtons, + rightButtons: rightButtons, + title: { + text: notesTitle + } + } }); + + // fab: { + // collapsedId: 'new', + // collapsedIcon: Icons.getIcon('md-add'), + // backgroundColor: GlobalStyles.constants().mainTintColor + // }, + // animated: false + } + + navigationButtonPressed({ buttonId }) { + // During incremental load, we wan't to avoid race conditions where we wait for navigator callback for this + // to be set in Abstract. Setting it here immediately will avoid updating the nav bar while we navigated away. + // Don't set this for Android if just opening side menu. + this.willBeVisible = (App.isAndroid && buttonId == 'sideMenu'); // this value is only false (what we want) if it's not Android side menu + + if (buttonId == 'new') { + this.presentNewComposer(); + } else if (buttonId == 'sideMenu') { + // Android is handled by the drawer attribute of rn-navigation + if(Platform.OS == "ios") { + this.presentFilterScreen(); + } + } else if(buttonId == "settings") { + this.presentSettingsScreen(); + } } onNavigatorEvent(event) { super.onNavigatorEvent(event); - if(event.id == "willAppear" || event.id == "didAppear") { - if(event.id == "willAppear") { + if(event == "willAppear" || event == "didAppear") { + if(event == "willAppear") { this.forceUpdate(); } - else if(event.id == "didAppear") { + else if(event == "didAppear") { if(this.needsConfigureNavBar) { this.configureNavBar(false); } @@ -365,54 +379,56 @@ export default class Notes extends Abstract { this.reloadList(); } } - - if(event.type == 'NavBarButtonPress') { - - // During incremental load, we wan't to avoid race conditions where we wait for navigator callback for this - // to be set in Abstract. Setting it here immediately will avoid updating the nav bar while we navigated away. - // Don't set this for Android if just opening side menu. - this.willBeVisible = (App.isAndroid && event.id == 'sideMenu'); // this value is only false (what we want) if it's not Android side menu - - if (event.id == 'new') { - this.presentNewComposer(); - } else if (event.id == 'sideMenu') { - // Android is handled by the drawer attribute of rn-navigation - if(Platform.OS == "ios") { - this.presentFilterScreen(); - } - } else if(event.id == "settings") { - this.presentSettingsScreen(); - } - } } presentNewComposer() { - this.props.navigator.push({ - screen: 'sn.Compose', - title: 'Compose', - passProps: {selectedTagId: this.selectedTags.length && this.selectedTags[0].uuid}, // For Android + Navigation.push(this.props.componentId, { + component: { + name: 'sn.Compose', + passProps: { + selectedTagId: this.selectedTags.length && this.selectedTags[0].uuid // For Android + }, + options: { + bottomTabs: {visible: false}, + topBar: { + title: { + text: 'Compose' + } + } + } + } }); } presentFilterScreen() { - this.props.navigator.showModal({ - screen: 'sn.Filter', - title: 'Options', - animationType: 'slide-up', - passProps: { - options: JSON.stringify(this.options), - onOptionsChange: (options) => { - this.options.mergeWith(options); - } + Navigation.showModal({ + stack: { + children: [{ + component: { + name: 'sn.Filter', + passProps: { + options: JSON.stringify(this.options), + onOptionsChange: (options) => { + this.options.mergeWith(options); + } + } + } + }] } }); } presentSettingsScreen() { - this.props.navigator.showModal({ - screen: 'sn.Account', - title: 'Account', - animationType: 'slide-up' + Navigation.showModal({ + stack: { + children: [{ + component: { + name: 'sn.Account', + title: 'Account', + animationType: 'slide-up' + } + }] + } }); } @@ -455,11 +471,21 @@ export default class Notes extends Abstract { item.conflict_of = null; } - this.props.navigator.push({ - screen: 'sn.Compose', - title: 'Compose', - passProps: {noteId: item.uuid}, - animationType: "slide-horizontal" + Navigation.push(this.props.componentId, { + component: { + name: 'sn.Compose', + passProps: { + noteId: item.uuid + }, + options: { + bottomTabs: {visible: false}, + topBar: { + title: { + text: 'Compose' + } + } + } + } }); } diff --git a/src/screens/Webview.js b/src/screens/Webview.js index 051546e5..3c3c5814 100644 --- a/src/screens/Webview.js +++ b/src/screens/Webview.js @@ -66,27 +66,6 @@ export default class Webview extends Abstract { }); } - componentDidMount() { - super.componentDidMount(); - - var infoButton = { - title: "Info", - id: 'info', - showAsAction: 'ifRoom', - } - - if(Platform.OS === "android") { - infoButton.icon = Icons.getIcon("md-information-circle"); - } - - if(this.props.navigator) { - this.props.navigator.setButtons({ - rightButtons: [infoButton], - animated: false - }); - } - } - componentWillUnmount() { super.componentWillMount(); ComponentManager.get().deregisterHandler(this.handler); @@ -105,46 +84,6 @@ export default class Webview extends Abstract { this.setNavBarSubtitle("Error saving"); } - onNavigatorEvent(event) { - super.onNavigatorEvent(event); - if (event.type == 'NavBarButtonPress') { // this is the event type for button presses - if (event.id == 'accept') { // this is the same id field from the static navigatorButtons definition - this.dismiss(); - } else if (event.id == 'info') { - Alert.alert('Mobile Editors', "Mobile editors allow you to access your desktop editors directly from your mobile device. Note however that editors are primarily web-based and designed for a full desktop experience. Desktop editors are complex and stretch the possibilities of a web browser, let alone a mobile browser. It’s best to treat web editors on mobile as a way to view your marked up data, and if necessary, make minor modifications.", [ - {text: 'OK'}, - {text: 'Send Feedback', onPress: () => { - var platformString = App.isIOS ? "iOS" : "Android"; - Linking.openURL(`mailto:hello@standardnotes.org?subject=${platformString} editors feedback (v${App.version})`); - }} - ]) - } - } - } - - dismiss() { - let animationType = "slide-down"; - this.props.navigator.dismissModal({animationType: animationType}) - } - - configureNavBar() { - if(!this.props.navigator) { - return; - } - - this.props.navigator.setButtons({ - leftButtons: [ - { - title: 'Done', - id: 'accept', - showAsAction: 'ifRoom', - buttonFontSize: 17 - } - ], - animated: false - }); - } - onMessage = (message) => { var data; try { diff --git a/src/screens/index.js b/src/screens/index.js index a4a1dcac..3c3b56d5 100644 --- a/src/screens/index.js +++ b/src/screens/index.js @@ -1,4 +1,4 @@ -import {Navigation, ScreenVisibilityListener} from 'react-native-navigation'; +import {Navigation} from 'react-native-navigation'; import Notes from './Notes' import Compose from './Compose' diff --git a/vendor/react-native-navigation b/vendor/react-native-navigation index e6906fb9..98db3c8a 160000 --- a/vendor/react-native-navigation +++ b/vendor/react-native-navigation @@ -1 +1 @@ -Subproject commit e6906fb973fa88bc39c0104e5a1746f64d5fcb38 +Subproject commit 98db3c8ac9d2c46646b3743d446f0e47b16eec12 From e685e6ca944930e977d5ee309c1a4b59985af018 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 25 Dec 2018 12:31:29 -0600 Subject: [PATCH 003/131] Android compile success --- android/app/build.gradle | 38 +- .../java/com/standardnotes/MainActivity.java | 13 +- .../com/standardnotes/MainApplication.java | 41 +- android/build.gradle | 44 +- android/gradle.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 4 +- android/settings.gradle | 7 +- package-lock.json | 11697 ++++++++++------ package.json | 17 +- 9 files changed, 7286 insertions(+), 4577 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 56424e40..7f586db2 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -73,7 +73,7 @@ import com.android.build.OutputFile */ project.ext.react = [ - entryFile: "index.js" + entryFile: "index.android.js" ] apply from: "../../node_modules/react-native/react.gradle" @@ -101,15 +101,23 @@ android { applicationId "com.standardnotes" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion + versionCode 2031000 versionName "2.3.10" + multiDexEnabled true + missingDimensionStrategy "RNN.reactNativeVersion", "reactNative57_5" ndk { abiFilters "armeabi-v7a", "x86" } } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + signingConfigs { release { if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) { @@ -153,21 +161,21 @@ android { dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') + implementation fileTree(dir: "libs", include: ["*.jar"]) - // compile project(':ReactAndroid'); - compile project(':bugsnag-react-native') - compile project(':RNMail') - compile project(':SNTextView') - compile project(':react-native-navigation') - compile project(':react-native-keychain') - compile project(':react-native-vector-icons') - compile project(':react-native-aes-crypto') - compile project(':react-native-fingerprint-scanner') - compile project(':react-native-flag-secure-android') + implementation project(':bugsnag-react-native') + implementation project(':RNMail') + implementation project(':SNTextView') + implementation project(':react-native-keychain') + implementation project(':react-native-vector-icons') + implementation project(':react-native-aes-crypto') + implementation project(':react-native-fingerprint-scanner') + implementation project(':react-native-flag-secure-android') implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" + implementation 'com.android.support:design:27.1.0' implementation "com.facebook.react:react-native:+" // From node_modules + implementation project(':react-native-navigation') } // Run this once to be able to run the application with BUCK @@ -177,6 +185,6 @@ task copyDownloadableDepsToLibs(type: Copy) { into 'libs' } -configurations.all { - exclude group: 'com.facebook.react', module: 'react-native' -} +//configurations.all { +// exclude group: 'com.facebook.react', module: 'react-native' +//} diff --git a/android/app/src/main/java/com/standardnotes/MainActivity.java b/android/app/src/main/java/com/standardnotes/MainActivity.java index 0bb63987..d75b3b57 100644 --- a/android/app/src/main/java/com/standardnotes/MainActivity.java +++ b/android/app/src/main/java/com/standardnotes/MainActivity.java @@ -1,14 +1,7 @@ package com.standardnotes; -import com.reactnativenavigation.controllers.SplashActivity; +import com.reactnativenavigation.NavigationActivity; -public class MainActivity extends SplashActivity { +public class MainActivity extends NavigationActivity { - /** - * Returns the name of the main component registered from JavaScript. - * This is used to schedule rendering of the component. - */ - protected String getMainComponentName() { - return "StandardNotes"; - } -} +} \ No newline at end of file diff --git a/android/app/src/main/java/com/standardnotes/MainApplication.java b/android/app/src/main/java/com/standardnotes/MainApplication.java index 77eae388..84aa0e2b 100644 --- a/android/app/src/main/java/com/standardnotes/MainApplication.java +++ b/android/app/src/main/java/com/standardnotes/MainApplication.java @@ -1,5 +1,6 @@ package com.standardnotes; +import android.app.Application; import android.app.Activity; import android.content.Intent; import android.os.Bundle; @@ -7,43 +8,54 @@ import android.support.annotation.Nullable; import android.view.WindowManager; -import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.ReactApplication; +import com.facebook.react.ReactNativeHost; +import com.facebook.react.ReactPackage; import com.facebook.react.bridge.ReactContext; import com.facebook.react.modules.core.DeviceEventManagerModule; -import com.facebook.react.modules.storage.ReactDatabaseSupplier; - -import com.chirag.RNMail.RNMail; -import com.facebook.react.ReactPackage; import com.facebook.react.shell.MainReactPackage; -import com.facebook.react.modules.core.PermissionAwareActivity; -import com.facebook.react.uimanager.ViewManager; import com.facebook.soloader.SoLoader; + +import com.chirag.RNMail.RNMail; import com.kristiansorens.flagsecure.FlagSecure; import com.oblador.keychain.KeychainPackage; import com.oblador.vectoricons.VectorIconsPackage; -import com.reactnativenavigation.NavigationApplication; -import com.reactnativenavigation.controllers.ActivityCallbacks; import com.standardnotes.sntextview.SNTextViewPackage; import com.tectiv3.aes.RCTAesPackage; import com.hieuvp.fingerprint.ReactNativeFingerprintScannerPackage; import com.kristiansorens.flagsecure.FlagSecurePackage; +import com.bugsnag.BugsnagReactNative; + +import com.reactnativenavigation.NavigationApplication; +import com.reactnativenavigation.react.NavigationReactNativeHost; +import com.reactnativenavigation.react.ReactGateway; import java.util.Arrays; import java.util.List; -import com.bugsnag.BugsnagReactNative; public class MainApplication extends NavigationApplication { + @Override + protected ReactGateway createReactGateway() { + ReactNativeHost host = new NavigationReactNativeHost(this, isDebug(), createAdditionalReactPackages()) { + @Override + protected String getJSMainModuleName() { + return "index"; + } + }; + return new ReactGateway(this, isDebug(), host); + } + @Override public boolean isDebug() { // Make sure you are using BuildConfig from your own application return BuildConfig.DEBUG; } - protected List createViewManagers(ReactApplicationContext reactContext){ - return Arrays.asList(); - } +// protected List createViewManagers(ReactApplicationContext reactContext){ +// return Arrays.asList(); +// } protected List getPackages() { @@ -121,9 +133,10 @@ public void onActivityDestroyed(Activity activity) { } public void sendEvent(String eventName) { - ReactContext context = getReactGateway().getReactContext(); + ReactContext context = getReactGateway().getReactNativeHost().getReactInstanceManager().getCurrentReactContext(); if(context != null) { context.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class).emit(eventName, null); + } } diff --git a/android/build.gradle b/android/build.gradle index d95bb6c2..65bdf860 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,8 +2,8 @@ buildscript { ext { - buildToolsVersion = "27.0.3" - minSdkVersion = 16 + buildToolsVersion = "28.0.3" + minSdkVersion = 19 compileSdkVersion = 27 targetSdkVersion = 26 supportLibVersion = "27.1.1" @@ -11,36 +11,56 @@ buildscript { repositories { google() jcenter() - maven { - // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm - url "$rootDir/../node_modules/react-native/android" - } - google() +// mavenCentral() +// mavenLocal() + +// maven { +// // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm +// url "$rootDir/../node_modules/react-native/android" +// } } dependencies { - classpath 'com.android.tools.build:gradle:3.1.4' - classpath 'de.undercouch:gradle-download-task:3.1.2' + classpath 'com.android.tools.build:gradle:3.2.1' +// classpath 'de.undercouch:gradle-download-task:3.1.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } +subprojects { subproject -> + afterEvaluate { + if ((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) { + android { + variantFilter { variant -> + def names = variant.flavors*.name + if (names.contains("reactNative51") || names.contains("reactNative55") || names.contains("reactNative56") || names.contains("reactNative57")) { + setIgnore(true) + } + } + } + } + } + } + allprojects { repositories { mavenLocal() - google() +// mavenCentral() jcenter() + maven { + url 'https://jitpack.io' + } + google() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url "$rootDir/../node_modules/react-native/android" } - google() } } task wrapper(type: Wrapper) { - gradleVersion = '4.4' + gradleVersion = '4.6' distributionUrl = distributionUrl.replace("bin", "all") } diff --git a/android/gradle.properties b/android/gradle.properties index 2076b6d8..f92bb31f 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -17,4 +17,4 @@ # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true android.useDeprecatedNdk=true -android.enableAapt2=false +#android.enableAapt2=false diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 3ae304aa..66eba630 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -3,5 +3,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip -android.enableAapt2=false +distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip +#android.enableAapt2=true diff --git a/android/settings.gradle b/android/settings.gradle index 1c922986..40948a85 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,7 +1,5 @@ rootProject.name = 'StandardNotes' - -include ':ReactAndroid' -project(':ReactAndroid').projectDir = new File(rootProject.projectDir, '../node_modules/react-native/ReactAndroid') +include ':app' include ':SNTextView' project(':SNTextView').projectDir = new File(rootProject.projectDir, '../vendor/sn-textview/android') @@ -10,7 +8,7 @@ include ':bugsnag-react-native' project(':bugsnag-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/bugsnag-react-native/android') include ':react-native-navigation' -project(':react-native-navigation').projectDir = new File(rootProject.projectDir, '../vendor/react-native-navigation/android/app') +project(':react-native-navigation').projectDir = new File(rootProject.projectDir, '../vendor/react-native-navigation/lib/android/app') include ':react-native-keychain' project(':react-native-keychain').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-keychain/android') @@ -30,4 +28,3 @@ project(':react-native-fingerprint-scanner').projectDir = new File(rootProject.p include ':react-native-flag-secure-android' project(':react-native-flag-secure-android').projectDir = new File(rootProject.projectDir, '../vendor/react-native-flag-secure-android/android') -include ':app' diff --git a/package-lock.json b/package-lock.json index a8a4c238..f32b6207 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,19 +13,19 @@ } }, "@babel/core": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-rc.1.tgz", - "integrity": "sha512-CvuSsq+LFs9N4SJG8MnNPI0hnl913HK1OqG3NEfejOKo+JqtVuxpmAFyXIDogX2x668xqFKAW6EQiCIcUHklMg==", - "requires": { - "@babel/code-frame": "7.0.0-rc.1", - "@babel/generator": "7.0.0-rc.1", - "@babel/helpers": "7.0.0-rc.1", - "@babel/parser": "7.0.0-rc.1", - "@babel/template": "7.0.0-rc.1", - "@babel/traverse": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0.tgz", + "integrity": "sha512-nrvxS5u6QUN5gLl1GEakIcmOeoUHT1/gQtdMRq18WFURJ5osn4ppJLVSseMQo4zVWKJfBTF4muIYijXUnKlRLQ==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", "convert-source-map": "1.5.1", - "debug": "3.1.0", + "debug": "3.2.6", "json5": "0.5.1", "lodash": "4.17.10", "resolve": "1.8.1", @@ -33,18 +33,166 @@ "source-map": "0.5.7" }, "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/generator": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", + "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", + "requires": { + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "requires": { + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/traverse": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.10" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "2.1.1" + } + } + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "ms": "2.0.0" + "ms": "2.1.1" } }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "globals": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" } } }, @@ -75,105 +223,165 @@ "@babel/types": "7.0.0-rc.1" } }, - "@babel/helper-define-map": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-rc.1.tgz", - "integrity": "sha512-yTn+nj29QrZLCINtgqFLgbrbvz6yM029ox/MpQfSS/JmrQovnEc+o5vrsW/R74QPheOHmF9ruJo58atwuk04Fw==", - "requires": { - "@babel/helper-function-name": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1", - "lodash": "4.17.10" - } - }, - "@babel/helper-function-name": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-rc.1.tgz", - "integrity": "sha512-fDbWxdYYbFNzcI5jn3qsPxHI1UCXwvFk0kGytGce/FEBYEPXBqycKknC8Oqiub8DzGtmTcvnqcm/cl/qxzeuiQ==", - "requires": { - "@babel/helper-get-function-arity": "7.0.0-rc.1", - "@babel/template": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-rc.1.tgz", - "integrity": "sha512-5+ydaIRxT42FSDqvoXIDksCGlW1903xC73HQnQCFF1YuV7VcIf+9M4+tRZulLlYlshw7ILA+4SiYsKoDlC0Irg==", - "requires": { - "@babel/types": "7.0.0-rc.1" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-rc.1.tgz", - "integrity": "sha512-o263plHxPo1TxDDUx7gHuQ96Y8QyLs2n4968KZvo2l/9rkwn2L9kcIsRVjlhpPPKTz4tWe/7ZV50zkeDorrK9g==", - "requires": { - "@babel/types": "7.0.0-rc.1" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-rc.1.tgz", - "integrity": "sha512-XOKPnL/AJz8ZyY553FsMAVt9g/mE1+RQfg5/m3X0K4+RqYviPGZlxwe5mGSd8s2kPSB6D6nZRUfvZFtmFIXEvA==", - "requires": { - "@babel/types": "7.0.0-rc.1" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-rc.1.tgz", - "integrity": "sha512-8ZNzqHXDhT/JjnBvrLKu8AL7NhONVIsnrfyQNm3PJNmufIER5kcIa3OxPMGWgNqox2R8WeQ6YYzYTLNXqq4kgQ==" - }, - "@babel/helper-replace-supers": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-rc.1.tgz", - "integrity": "sha512-mcv+NKCazZfdEw7yBe/xROekR3qlFcy18d//mJTKnZb7xx2qFPjZAafkeIlpvzNHwd/WMTHShC4+3WjOL8FD5g==", - "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0-rc.1", - "@babel/helper-optimise-call-expression": "7.0.0-rc.1", - "@babel/traverse": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-rc.1.tgz", - "integrity": "sha512-hz6QmlnaBFYt4ra8DfRLCMgrI7yfwQ13kJtufSO5dVCasxmAng2LeeQiT6H4iN5TpFONcayp5f/2mXqHH/zn/g==", - "requires": { - "@babel/types": "7.0.0-rc.1" - } - }, - "@babel/helper-wrap-function": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-rc.1.tgz", - "integrity": "sha512-LrqRD4+jEkQGVQsCRi7bPkSmYFAUd3pv9tYAC8nsr9Y0Qfus8oycqxDj60QW4dmigRKBRRbVVLr/0kMI2pk0MA==", + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", "requires": { - "@babel/helper-function-name": "7.0.0-rc.1", - "@babel/template": "7.0.0-rc.1", - "@babel/traverse": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1" + "@babel/helper-explode-assignable-expression": "7.1.0", + "@babel/types": "7.2.2" + }, + "dependencies": { + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + } } }, - "@babel/helpers": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-rc.1.tgz", - "integrity": "sha512-4+AkDbZ0Usr7mNH4wGX8fVx4WJzHdrcjRkJy52EIWyBAQEoKqb5HXca1VjejWtnVwaGwW7zk/h6oQ9FQPywQfA==", + "@babel/helper-builder-react-jsx": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz", + "integrity": "sha512-ebJ2JM6NAKW0fQEqN8hOLxK84RbRz9OkUhGS/Xd5u56ejMfVbayJ4+LykERZCOUM6faa6Fp3SZNX3fcT16MKHw==", "requires": { - "@babel/template": "7.0.0-rc.1", - "@babel/traverse": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1" + "@babel/types": "7.2.2", + "esutils": "2.0.2" + }, + "dependencies": { + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + } } }, - "@babel/highlight": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-rc.1.tgz", - "integrity": "sha512-5PgPDV6F5s69XNznTcP0za3qH7qgBkr9DVQTXfZtpF+3iEyuIZB1Mjxu52F5CFxgzQUQJoBYHVxtH4Itdb5MgA==", + "@babel/helper-call-delegate": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", + "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "@babel/helper-hoist-variables": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" }, "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/generator": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", + "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", + "requires": { + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "requires": { + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/traverse": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.10" + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -189,169 +397,883 @@ "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "supports-color": "5.5.0" } }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "2.1.1" + } + }, + "globals": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { "has-flag": "3.0.0" } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" } } }, - "@babel/parser": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-rc.1.tgz", - "integrity": "sha512-rC+bIz2eZnJlacERmJO25UAbXVZttcSxh0Px0gRGinOTzug5tL7+L9urfIdSWlv1ZzP03+f2xkOFLOxZqSsVmQ==" - }, - "@babel/plugin-proposal-function-sent": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.0.0-rc.1.tgz", - "integrity": "sha512-azoyZks/5C7p4oZfBDz0ql7PRglesTGa994kACY3e2q+/bWTKFOEdJDsGrwjbXIlMc6YesrXWvYcrnwcaQyvXg==", + "@babel/helper-create-class-features-plugin": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.3.tgz", + "integrity": "sha512-xO/3Gn+2C7/eOUeb0VRnSP1+yvWHNxlpAot1eMhtoKDCN7POsyQP5excuT5UsV5daHxMWBeIIOeI5cmB8vMRgQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.1", - "@babel/helper-wrap-function": "7.0.0-rc.1", - "@babel/plugin-syntax-function-sent": "7.0.0-rc.1" + "@babel/helper-function-name": "7.1.0", + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-replace-supers": "7.2.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/generator": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", + "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", + "requires": { + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "requires": { + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + }, + "@babel/helper-replace-supers": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", + "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", + "requires": { + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/traverse": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.10" + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "2.1.1" + } + }, + "globals": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + } } }, - "@babel/plugin-syntax-async-generators": { + "@babel/helper-define-map": { "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-rc.1.tgz", - "integrity": "sha512-2F5FYc89TCrqE/8+qFlr5jVMTHfkhEOg9JUx+GXI3inW2OfcY+J6bN8EDc8PLz84PHaR8W630YOuh2PveJu3WA==", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-rc.1.tgz", + "integrity": "sha512-yTn+nj29QrZLCINtgqFLgbrbvz6yM029ox/MpQfSS/JmrQovnEc+o5vrsW/R74QPheOHmF9ruJo58atwuk04Fw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.1" + "@babel/helper-function-name": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1", + "lodash": "4.17.10" } }, - "@babel/plugin-syntax-function-sent": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.0.0-rc.1.tgz", - "integrity": "sha512-Vvy+YzvbC4pvGGk9WEzlmwN6Tay9zwUgg6zH7Lo8UXIIOkwct6bM6alujut/YSOhb0ez1nGHejvhH5Sqxw0Vgw==", + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.1" + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/generator": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", + "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", + "requires": { + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "requires": { + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/traverse": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.10" + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "2.1.1" + } + }, + "globals": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + } } }, - "@babel/plugin-transform-arrow-functions": { + "@babel/helper-function-name": { "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-rc.1.tgz", - "integrity": "sha512-9JnWkl+iKmjNgMFrLjfGJQm3f66SJxwaYjdsm49Vpvo9x7ADHMGMZYa5Yto9WNQBlIdtf+fhypwBcz6IPxdyvg==", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-rc.1.tgz", + "integrity": "sha512-fDbWxdYYbFNzcI5jn3qsPxHI1UCXwvFk0kGytGce/FEBYEPXBqycKknC8Oqiub8DzGtmTcvnqcm/cl/qxzeuiQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.1" + "@babel/helper-get-function-arity": "7.0.0-rc.1", + "@babel/template": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1" } }, - "@babel/plugin-transform-block-scoping": { + "@babel/helper-get-function-arity": { "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-rc.1.tgz", - "integrity": "sha512-9uGwvSqJcmcKPEkLHA7ffrG0lKXTXprupwGjEKDw27OoRWXHdWUmA4VwpuzMrUsYyV+q+P6mgj6TPzoGJA3fAw==", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-rc.1.tgz", + "integrity": "sha512-5+ydaIRxT42FSDqvoXIDksCGlW1903xC73HQnQCFF1YuV7VcIf+9M4+tRZulLlYlshw7ILA+4SiYsKoDlC0Irg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.1", - "lodash": "4.17.10" + "@babel/types": "7.0.0-rc.1" } }, - "@babel/plugin-transform-classes": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-rc.1.tgz", - "integrity": "sha512-mPXMbQR8zNHMXvaJ71wQ7iPcQLHPv12XjWwvYkDjtsEvknDQ2HWA+UYZGVpZ0bv3jLQIZuwc1kZ6f5vSsavvog==", + "@babel/helper-hoist-variables": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", + "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0-rc.1", - "@babel/helper-define-map": "7.0.0-rc.1", - "@babel/helper-function-name": "7.0.0-rc.1", - "@babel/helper-optimise-call-expression": "7.0.0-rc.1", - "@babel/helper-plugin-utils": "7.0.0-rc.1", - "@babel/helper-replace-supers": "7.0.0-rc.1", - "@babel/helper-split-export-declaration": "7.0.0-rc.1", - "globals": "11.7.0" + "@babel/types": "7.2.2" }, "dependencies": { - "globals": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", - "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==" + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" } } }, - "@babel/plugin-transform-for-of": { + "@babel/helper-member-expression-to-functions": { "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-rc.1.tgz", - "integrity": "sha512-v09o2ywKHu+b/vkLknjKPV9QXCxuU2cVFxkWhBqcKwl3ERe3clhiab7a/8T9Sc332o4Im6n/LLugKMtpfxqRsQ==", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-rc.1.tgz", + "integrity": "sha512-o263plHxPo1TxDDUx7gHuQ96Y8QyLs2n4968KZvo2l/9rkwn2L9kcIsRVjlhpPPKTz4tWe/7ZV50zkeDorrK9g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.1" + "@babel/types": "7.0.0-rc.1" } }, - "@babel/runtime": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-rc.1.tgz", - "integrity": "sha512-Nifv2kwP/nwR39cAOasNxzjYfpeuf/ZbZNtQz5eYxWTC9yHARU9wItFnAwz1GTZ62MU+AtSjzZPMbLK5Q9hmbg==", + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", "requires": { - "regenerator-runtime": "0.12.1" + "@babel/types": "7.2.2" }, "dependencies": { - "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" } } }, - "@babel/template": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-rc.1.tgz", - "integrity": "sha512-gPLng2iedNlkaGD0UdwaUByQXK8k4bnaoq2RH5JgR2mqHvh2RyjkDdaMbZFlSss1Iu8+PrXwbIRworTl8iRqbA==", + "@babel/helper-module-transforms": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", + "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", "requires": { - "@babel/code-frame": "7.0.0-rc.1", - "@babel/parser": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1", + "@babel/helper-module-imports": "7.0.0", + "@babel/helper-simple-access": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2", "lodash": "4.17.10" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + } } }, - "@babel/traverse": { + "@babel/helper-optimise-call-expression": { "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-rc.1.tgz", - "integrity": "sha512-lNOpJ5xzakg+fCobQQHdeDRYeN54b+bAZpeTYMeeYPAvN+hTldg9/FSNKYEMRs5EWoQ0Yt74gwq98InSORdSDQ==", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-rc.1.tgz", + "integrity": "sha512-XOKPnL/AJz8ZyY553FsMAVt9g/mE1+RQfg5/m3X0K4+RqYviPGZlxwe5mGSd8s2kPSB6D6nZRUfvZFtmFIXEvA==", + "requires": { + "@babel/types": "7.0.0-rc.1" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-rc.1.tgz", + "integrity": "sha512-8ZNzqHXDhT/JjnBvrLKu8AL7NhONVIsnrfyQNm3PJNmufIER5kcIa3OxPMGWgNqox2R8WeQ6YYzYTLNXqq4kgQ==" + }, + "@babel/helper-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", + "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", "requires": { - "@babel/code-frame": "7.0.0-rc.1", - "@babel/generator": "7.0.0-rc.1", - "@babel/helper-function-name": "7.0.0-rc.1", - "@babel/helper-split-export-declaration": "7.0.0-rc.1", - "@babel/parser": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1", - "debug": "3.1.0", - "globals": "11.7.0", "lodash": "4.17.10" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "requires": { + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-wrap-function": "7.2.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" }, "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/generator": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", + "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", + "requires": { + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "requires": { + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-wrap-function": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "requires": { + "@babel/helper-function-name": "7.1.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/traverse": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.10" + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.0.0" + "ms": "2.1.1" } }, "globals": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", - "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==" + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" } } }, - "@babel/types": { + "@babel/helper-replace-supers": { "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-rc.1.tgz", - "integrity": "sha512-MBwO1JQKin9BwKTGydrYe4VDJbStCUy35IhJzeZt3FByOdx/q3CYaqMRrH70qVD2RA7+Xk8e3RN0mzKZkYBYuQ==", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-rc.1.tgz", + "integrity": "sha512-mcv+NKCazZfdEw7yBe/xROekR3qlFcy18d//mJTKnZb7xx2qFPjZAafkeIlpvzNHwd/WMTHShC4+3WjOL8FD5g==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "2.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0-rc.1", + "@babel/helper-optimise-call-expression": "7.0.0-rc.1", + "@babel/traverse": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1" + } + }, + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "requires": { + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" }, "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -359,1490 +1281,1712 @@ } } }, - "abab": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", - "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", - "dev": true - }, - "absolute-path": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", - "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=" - }, - "accepts": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz", - "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=", + "@babel/helper-split-export-declaration": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-rc.1.tgz", + "integrity": "sha512-hz6QmlnaBFYt4ra8DfRLCMgrI7yfwQ13kJtufSO5dVCasxmAng2LeeQiT6H4iN5TpFONcayp5f/2mXqHH/zn/g==", "requires": { - "mime-types": "2.1.11", - "negotiator": "0.5.3" + "@babel/types": "7.0.0-rc.1" } }, - "acorn": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", - "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==" + "@babel/helper-wrap-function": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-rc.1.tgz", + "integrity": "sha512-LrqRD4+jEkQGVQsCRi7bPkSmYFAUd3pv9tYAC8nsr9Y0Qfus8oycqxDj60QW4dmigRKBRRbVVLr/0kMI2pk0MA==", + "requires": { + "@babel/helper-function-name": "7.0.0-rc.1", + "@babel/template": "7.0.0-rc.1", + "@babel/traverse": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1" + } }, - "acorn-globals": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", - "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", - "dev": true, + "@babel/helpers": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", + "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "acorn": "4.0.13" + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" }, "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/generator": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", + "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", + "requires": { + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "requires": { + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/traverse": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.10" + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "2.1.1" + } + }, + "globals": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" } } }, - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "@babel/highlight": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-rc.1.tgz", + "integrity": "sha512-5PgPDV6F5s69XNznTcP0za3qH7qgBkr9DVQTXfZtpF+3iEyuIZB1Mjxu52F5CFxgzQUQJoBYHVxtH4Itdb5MgA==", "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "3.0.0" + } + } } }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "@babel/parser": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-rc.1.tgz", + "integrity": "sha512-rC+bIz2eZnJlacERmJO25UAbXVZttcSxh0Px0gRGinOTzug5tL7+L9urfIdSWlv1ZzP03+f2xkOFLOxZqSsVmQ==" + }, + "@babel/plugin-external-helpers": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.2.0.tgz", + "integrity": "sha512-QFmtcCShFkyAsNtdCM3lJPmRe1iB+vPZymlB4LnDIKEBj2yKQLQKtoxXxJ8ePT5fwMl4QGg303p4mB0UsSI2/g==", "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true + "@babel/plugin-proposal-class-properties": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.3.tgz", + "integrity": "sha512-FVuQngLoN2iDrpW7LmhPZ2sO4DJxf35FOcwidwB9Ru9tMvI5URthnkVHuG14IStV+TzkMTyLMoOUlSTtrdVwqw==", + "requires": { + "@babel/helper-create-class-features-plugin": "7.2.3", + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } + } }, - "ansi": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", - "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" + "@babel/plugin-proposal-export-default-from": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz", + "integrity": "sha512-NVfNe7F6nsasG1FnvcFxh2FN0l04ZNe75qTOAVOILWPam0tw9a63RtT/Dab8dPjedZa4fTQaQ83yMMywF9OSug==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-export-default-from": "7.2.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } + } }, - "ansi-escapes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", - "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" + "@babel/plugin-proposal-function-sent": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.0.0-rc.1.tgz", + "integrity": "sha512-azoyZks/5C7p4oZfBDz0ql7PRglesTGa994kACY3e2q+/bWTKFOEdJDsGrwjbXIlMc6YesrXWvYcrnwcaQyvXg==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/helper-wrap-function": "7.0.0-rc.1", + "@babel/plugin-syntax-function-sent": "7.0.0-rc.1" + } }, - "ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.2.0.tgz", + "integrity": "sha512-QXj/YjFuFJd68oDvoc1e8aqLr2wz7Kofzvp6Ekd/o7MWZl+nZ0/cpStxND+hlZ7DpRWAp7OmuyT2areZ2V3YUA==", "requires": { - "ansi-wrap": "0.1.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "7.2.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-object-rest-spread": "7.2.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } + } }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "7.2.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } + } }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" + "@babel/plugin-proposal-optional-chaining": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz", + "integrity": "sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-optional-chaining": "7.2.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } + } }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "@babel/plugin-syntax-async-generators": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-rc.1.tgz", + "integrity": "sha512-2F5FYc89TCrqE/8+qFlr5jVMTHfkhEOg9JUx+GXI3inW2OfcY+J6bN8EDc8PLz84PHaR8W630YOuh2PveJu3WA==", "requires": { - "micromatch": "3.1.10", - "normalize-path": "2.1.1" + "@babel/helper-plugin-utils": "7.0.0-rc.1" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz", + "integrity": "sha512-UxYaGXYQ7rrKJS/PxIKRkv3exi05oH7rokBAsmCSsCxz1sVPZ7Fu6FzKoGgUvmY+0YgSkYHgUoCh5R5bCNBQlw==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "1.0.2" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" } } }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "dev": true, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", "requires": { - "default-require-extensions": "2.0.0" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "arch": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", - "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==" - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "@babel/plugin-syntax-export-default-from": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz", + "integrity": "sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw==", "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, + "@babel/plugin-syntax-flow": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", + "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", "requires": { - "sprintf-js": "1.0.3" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "requires": { - "arr-flatten": "1.1.0" + "@babel/plugin-syntax-function-sent": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.0.0-rc.1.tgz", + "integrity": "sha512-Vvy+YzvbC4pvGGk9WEzlmwN6Tay9zwUgg6zH7Lo8UXIIOkwct6bM6alujut/YSOhb0ez1nGHejvhH5Sqxw0Vgw==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" - }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "array-filter": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", - "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" - }, - "array-map": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", - "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" - }, - "array-reduce": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", - "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "art": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/art/-/art-0.10.3.tgz", - "integrity": "sha512-HXwbdofRTiJT6qZX/FnchtldzJjS3vkLJxQilc3Xj+ma2MXjY4UAyQ0ls1XZYVnDvVIBiFZbC6QsvtW86TD6tQ==" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "@babel/plugin-syntax-jsx": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", + "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", "requires": { - "safer-buffer": "2.1.2" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "ast-types": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", - "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=" - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz", + "integrity": "sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg==", "requires": { - "lodash": "4.17.10" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "atob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" - }, - "babel-cli": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz", - "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", - "dev": true, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", "requires": { - "babel-core": "6.26.3", - "babel-polyfill": "6.26.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "chokidar": "1.7.0", - "commander": "2.17.1", - "convert-source-map": "1.5.1", - "fs-readdir-recursive": "1.1.0", - "glob": "7.1.2", - "lodash": "4.17.10", - "output-file-sync": "1.1.2", - "path-is-absolute": "1.0.1", - "slash": "1.0.0", - "source-map": "0.5.7", - "v8flags": "2.1.1" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" } } }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "@babel/plugin-syntax-optional-chaining": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz", + "integrity": "sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA==", "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" } } }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "@babel/plugin-syntax-typescript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.2.0.tgz", + "integrity": "sha512-WhKr6yu6yGpGcNMVgIBuI9MkredpVc7Y3YR4UzEZmDztHoL6wV56YBHLhWnjO1EvId1B32HrD3DRFc+zSoKI1g==", "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "dev": true, + "@babel/plugin-transform-arrow-functions": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-rc.1.tgz", + "integrity": "sha512-9JnWkl+iKmjNgMFrLjfGJQm3f66SJxwaYjdsm49Vpvo9x7ADHMGMZYa5Yto9WNQBlIdtf+fhypwBcz6IPxdyvg==", "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, - "babel-helper-builder-react-jsx": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", - "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", + "@babel/plugin-transform-async-to-generator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", + "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "esutils": "2.0.2" + "@babel/helper-module-imports": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-remap-async-to-generator": "7.1.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "@babel/plugin-transform-block-scoping": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-rc.1.tgz", + "integrity": "sha512-9uGwvSqJcmcKPEkLHA7ffrG0lKXTXprupwGjEKDw27OoRWXHdWUmA4VwpuzMrUsYyV+q+P6mgj6TPzoGJA3fAw==", "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", + "@babel/helper-plugin-utils": "7.0.0-rc.1", "lodash": "4.17.10" } }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "dev": true, + "@babel/plugin-transform-classes": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-rc.1.tgz", + "integrity": "sha512-mPXMbQR8zNHMXvaJ71wQ7iPcQLHPv12XjWwvYkDjtsEvknDQ2HWA+UYZGVpZ0bv3jLQIZuwc1kZ6f5vSsavvog==", "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "@babel/helper-annotate-as-pure": "7.0.0-rc.1", + "@babel/helper-define-map": "7.0.0-rc.1", + "@babel/helper-function-name": "7.0.0-rc.1", + "@babel/helper-optimise-call-expression": "7.0.0-rc.1", + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/helper-replace-supers": "7.0.0-rc.1", + "@babel/helper-split-export-declaration": "7.0.0-rc.1", + "globals": "11.7.0" + }, + "dependencies": { + "globals": { + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", + "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==" + } } }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "@babel/plugin-transform-computed-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "@babel/plugin-transform-destructuring": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz", + "integrity": "sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ==", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "7.1.0", + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "@babel/plugin-transform-flow-strip-types": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz", + "integrity": "sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ==", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-flow": "7.2.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "@babel/plugin-transform-for-of": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-rc.1.tgz", + "integrity": "sha512-v09o2ywKHu+b/vkLknjKPV9QXCxuU2cVFxkWhBqcKwl3ERe3clhiab7a/8T9Sc332o4Im6n/LLugKMtpfxqRsQ==", "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "@babel/plugin-transform-function-name": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", + "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", "requires": { - "babel-helper-optimise-call-expression": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "@babel/helper-function-name": "7.1.0", + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "requires": { + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + } } }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "@babel/plugin-transform-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-jest": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-21.0.0.tgz", - "integrity": "sha512-MfZq0KK4tB7V3bCSHrzBa/F8lkhAjnG40asnaBHXdeOiFSOH7eTcVlU4pNz2jsdqclqhc0kO2mkGajKlZRqBKQ==", - "dev": true, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", + "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", "requires": { - "babel-plugin-istanbul": "4.1.6", - "babel-preset-jest": "21.2.0" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "@babel/plugin-transform-modules-commonjs": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", + "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", "requires": { - "babel-runtime": "6.26.0" + "@babel/helper-module-transforms": "7.2.2", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-simple-access": "7.1.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "@babel/plugin-transform-object-assign": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz", + "integrity": "sha512-nmE55cZBPFgUktbF2OuoZgPRadfxosLOpSgzEPYotKSls9J4pEPcembi8r78RU37Rph6UApCpNmsQA4QMWK9Ng==", "requires": { - "babel-runtime": "6.26.0" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-plugin-external-helpers": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz", - "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", + "@babel/plugin-transform-object-super": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", + "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", "requires": { - "babel-runtime": "6.26.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-replace-supers": "7.2.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/generator": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", + "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", + "requires": { + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "requires": { + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + }, + "@babel/helper-replace-supers": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", + "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", + "requires": { + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/traverse": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.10" + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "2.1.1" + } + }, + "globals": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + } } }, - "babel-plugin-istanbul": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", - "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", - "dev": true, + "@babel/plugin-transform-parameters": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", + "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==", "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "find-up": "2.1.0", - "istanbul-lib-instrument": "1.10.1", - "test-exclude": "4.2.1" + "@babel/helper-call-delegate": "7.1.0", + "@babel/helper-get-function-arity": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "locate-path": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" } } }, - "babel-plugin-jest-hoist": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-21.2.0.tgz", - "integrity": "sha512-yi5QuiVyyvhBUDLP4ButAnhYzkdrUwWDtvUJv71hjH3fclhnZg4HkDeqaitcR2dZZx/E67kGkRcPVjtVu+SJfQ==", - "dev": true - }, - "babel-plugin-react-transform": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz", - "integrity": "sha1-UVu/qZaJOYEULZCx+bFjXeKZUQk=", + "@babel/plugin-transform-property-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", + "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", "requires": { - "lodash": "4.17.10" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" + "@babel/plugin-transform-react-display-name": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", + "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } + } }, - "babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" + "@babel/plugin-transform-react-jsx": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.2.0.tgz", + "integrity": "sha512-h/fZRel5wAfCqcKgq3OhbmYaReo7KkoJBpt8XnvpS7wqaNMqtw5xhxutzcm35iMUWucfAdT/nvGTsWln0JTg2Q==", + "requires": { + "@babel/helper-builder-react-jsx": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-jsx": "7.2.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } + } }, - "babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", - "dev": true - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", - "dev": true - }, - "babel-plugin-syntax-flow": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=" - }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" + "@babel/plugin-transform-react-jsx-source": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz", + "integrity": "sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-jsx": "7.2.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } + } }, - "babel-plugin-transform-async-to-generator": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz", - "integrity": "sha1-Gew2yxSGtZ+fRorfpCzhOQjKKZk=", + "@babel/plugin-transform-regenerator": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", + "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "regenerator-transform": "0.13.3" } }, - "babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "@babel/plugin-transform-runtime": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz", + "integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==", "requires": { - "babel-helper-function-name": "6.24.1", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "@babel/helper-module-imports": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "resolve": "1.8.1", + "semver": "5.6.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + } } }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "@babel/plugin-transform-shorthand-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", "requires": { - "babel-runtime": "6.26.0" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "@babel/plugin-transform-spread": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", + "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", "requires": { - "babel-runtime": "6.26.0" + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-regex": "7.0.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "@babel/plugin-transform-template-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", + "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", "requires": { - "babel-helper-define-map": "6.26.0", - "babel-helper-function-name": "6.24.1", - "babel-helper-optimise-call-expression": "6.24.1", - "babel-helper-replace-supers": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + } } }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "@babel/plugin-transform-typescript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.2.0.tgz", + "integrity": "sha512-EnI7i2/gJ7ZNr2MuyvN2Hu+BHJENlxWte5XygPvfj/MbvtOkWor9zcnHpMMQL2YYaaCcqtIvJUyJ7QVfoGs7ew==", "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-typescript": "7.2.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "@babel/plugin-transform-unicode-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", + "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", "requires": { - "babel-runtime": "6.26.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-regex": "7.0.0", + "regexpu-core": "4.4.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + } } }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "@babel/preset-flow": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.0.0.tgz", + "integrity": "sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ==", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + } } }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "@babel/register": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.0.0.tgz", + "integrity": "sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==", "requires": { - "babel-runtime": "6.26.0" + "core-js": "2.6.1", + "find-cache-dir": "1.0.0", + "home-or-tmp": "3.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "pirates": "4.0.0", + "source-map-support": "0.5.9" + }, + "dependencies": { + "core-js": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.1.tgz", + "integrity": "sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg==" + }, + "home-or-tmp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-3.0.0.tgz", + "integrity": "sha1-V6j+JM8zzdUkhgoVgh3cJchmcfs=" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", + "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "requires": { + "buffer-from": "1.1.1", + "source-map": "0.6.1" + } + } } }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "@babel/runtime": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-rc.1.tgz", + "integrity": "sha512-Nifv2kwP/nwR39cAOasNxzjYfpeuf/ZbZNtQz5eYxWTC9yHARU9wItFnAwz1GTZ62MU+AtSjzZPMbLK5Q9hmbg==", "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "regenerator-runtime": "0.12.1" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + } } }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "@babel/template": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-rc.1.tgz", + "integrity": "sha512-gPLng2iedNlkaGD0UdwaUByQXK8k4bnaoq2RH5JgR2mqHvh2RyjkDdaMbZFlSss1Iu8+PrXwbIRworTl8iRqbA==", "requires": { - "babel-runtime": "6.26.0" + "@babel/code-frame": "7.0.0-rc.1", + "@babel/parser": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1", + "lodash": "4.17.10" } }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "dev": true, + "@babel/traverse": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-rc.1.tgz", + "integrity": "sha512-lNOpJ5xzakg+fCobQQHdeDRYeN54b+bAZpeTYMeeYPAvN+hTldg9/FSNKYEMRs5EWoQ0Yt74gwq98InSORdSDQ==", "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "@babel/code-frame": "7.0.0-rc.1", + "@babel/generator": "7.0.0-rc.1", + "@babel/helper-function-name": "7.0.0-rc.1", + "@babel/helper-split-export-declaration": "7.0.0-rc.1", + "@babel/parser": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1", + "debug": "3.1.0", + "globals": "11.7.0", + "lodash": "4.17.10" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", + "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==" + } } }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "@babel/types": { + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-rc.1.tgz", + "integrity": "sha512-MBwO1JQKin9BwKTGydrYe4VDJbStCUy35IhJzeZt3FByOdx/q3CYaqMRrH70qVD2RA7+Xk8e3RN0mzKZkYBYuQ==", "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + } } }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "dev": true + }, + "absolute-path": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", + "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=" + }, + "acorn": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==" + }, + "acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "acorn": "4.0.13" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } } }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, "requires": { - "babel-helper-replace-supers": "6.24.1", - "babel-runtime": "6.26.0" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "ansi": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", + "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" + }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "ansi-wrap": "0.1.0" } }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", "requires": { - "babel-runtime": "6.26.0" + "ansi-wrap": "0.1.0" } }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" - } - }, - "babel-plugin-transform-es3-member-expression-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz", - "integrity": "sha1-cz00RPPsxBvvjtGmpOCWV7iWnrs=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es3-property-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz", - "integrity": "sha1-sgeNWELiKr9A9z6M3pzTcRq9V1g=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "dev": true, - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-flow-strip-types": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", - "requires": { - "babel-plugin-syntax-flow": "6.18.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-object-assign": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-assign/-/babel-plugin-transform-object-assign-6.22.0.tgz", - "integrity": "sha1-+Z0vZvGgsNSY40bFNZaEdAyqILo=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "babel-runtime": "6.26.0" - } + "ansi-escapes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" }, - "babel-plugin-transform-react-display-name": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", "requires": { - "babel-runtime": "6.26.0" + "ansi-wrap": "0.1.0" } }, - "babel-plugin-transform-react-jsx": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", "requires": { - "babel-helper-builder-react-jsx": "6.26.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "ansi-wrap": "0.1.0" } }, - "babel-plugin-transform-react-jsx-source": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", - "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" - } + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "requires": { - "regenerator-transform": "0.10.1" - } + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" }, - "babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "requires": { - "babel-runtime": "6.26.0", - "core-js": "2.5.7", - "regenerator-runtime": "0.10.5" + "micromatch": "3.1.10", + "normalize-path": "2.1.1" }, "dependencies": { - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" }, - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" - } - } - }, - "babel-preset-env": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", - "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", - "babel-plugin-transform-es2015-modules-umd": "6.24.1", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0", - "browserslist": "3.2.8", - "invariant": "2.2.4", - "semver": "5.5.0" - }, - "dependencies": { - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "dev": true, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } } - } - } - }, - "babel-preset-es2015-node": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-preset-es2015-node/-/babel-preset-es2015-node-6.1.1.tgz", - "integrity": "sha1-YLIxVwJLDP6/OmNVTLBe4DW05V8=", - "requires": { - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "semver": "5.5.0" - } - }, - "babel-preset-fbjs": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-2.2.0.tgz", - "integrity": "sha512-jj0KFJDioYZMtPtZf77dQuU+Ad/1BtN0UnAYlHDa8J8f4tGXr3YrPoJImD5MdueaOPeN/jUdrCgu330EfXr0XQ==", - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-plugin-syntax-flow": "6.18.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-class-properties": "6.24.1", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es3-member-expression-literals": "6.22.0", - "babel-plugin-transform-es3-property-literals": "6.22.0", - "babel-plugin-transform-flow-strip-types": "6.22.0", - "babel-plugin-transform-object-rest-spread": "6.26.0", - "babel-plugin-transform-react-display-name": "6.25.0", - "babel-plugin-transform-react-jsx": "6.24.1" - } - }, - "babel-preset-jest": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-21.2.0.tgz", - "integrity": "sha512-hm9cBnr2h3J7yXoTtAVV0zg+3vg0Q/gT2GYuzlreTU0EPkJRtlNgKJJ3tBKEn0+VjAi3JykV6xCJkuUYttEEfA==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "21.2.0", - "babel-plugin-syntax-object-rest-spread": "6.13.0" - } - }, - "babel-preset-react-native": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-3.0.2.tgz", - "integrity": "sha512-XY1TIXk5IW++23Rzrggd0UmSD1x41iFUwngwDQCE1OUgu1B7ENE4q4+GUMJVxXpOws23RbagIkaZFa4JkuAXIw==", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-react-transform": "2.0.2", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-plugin-syntax-dynamic-import": "6.18.0", - "babel-plugin-syntax-flow": "6.18.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-class-properties": "6.24.1", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-flow-strip-types": "6.22.0", - "babel-plugin-transform-object-assign": "6.22.0", - "babel-plugin-transform-object-rest-spread": "6.26.0", - "babel-plugin-transform-react-display-name": "6.25.0", - "babel-plugin-transform-react-jsx": "6.24.1", - "babel-plugin-transform-react-jsx-source": "6.22.0", - "babel-plugin-transform-regenerator": "6.26.0", - "babel-template": "6.26.0", - "react-transform-hmr": "1.0.4" - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.5.7", - "home-or-tmp": "2.0.0", - "lodash": "4.17.10", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" - }, - "dependencies": { - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" - }, - "dependencies": { - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - } - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.10" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "is-descriptor": "1.0.2" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } } }, "is-accessor-descriptor": { @@ -1871,6 +3015,24 @@ "kind-of": "6.0.2" } }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", @@ -1880,784 +3042,475 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } } } }, - "base-64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", - "integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs=" - }, - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" - }, - "base64-url": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz", - "integrity": "sha1-GZ/WYXAqDnt9yubgaYuwicUvbXg=" - }, - "basic-auth": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz", - "integrity": "sha1-Awk1sB3nyblKgksp8/zLdQ06UpA=" - }, - "basic-auth-connect": { + "append-transform": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz", - "integrity": "sha1-/bC0OWLKe0BFanwrtI/hc9otISI=" - }, - "batch": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz", - "integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ=" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "optional": true, + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", + "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "dev": true, "requires": { - "tweetnacl": "0.14.5" + "default-require-extensions": "2.0.0" } }, - "beeper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=" - }, - "big-integer": { - "version": "1.6.34", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.34.tgz", - "integrity": "sha512-+w6B0Uo0ZvTSzDkXjoBCTNK0oe+aVL+yPi7kwGZm8hd8+Nj1AFPoxoq1Bl/mEu/G/ivOkUc1LRqVR0XeWFUzuA==" - }, - "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", - "dev": true, - "optional": true - }, - "body-parser": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz", - "integrity": "sha1-wIzzMMM1jhUQFqBXRvE/ApyX+pc=", + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { - "bytes": "2.1.0", - "content-type": "1.0.4", - "debug": "2.2.0", - "depd": "1.0.1", - "http-errors": "1.3.1", - "iconv-lite": "0.4.11", - "on-finished": "2.3.0", - "qs": "4.0.0", - "raw-body": "2.1.7", - "type-is": "1.6.16" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "requires": { - "ms": "0.7.1" - } - }, - "iconv-lite": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz", - "integrity": "sha1-LstC/SlHRJIiCaLnxATayHk9it4=" - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" - } + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, - "bplist-creator": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", - "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=", + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { - "stream-buffers": "2.2.0" + "sprintf-js": "1.0.3" } }, - "bplist-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", - "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", - "requires": { - "big-integer": "1.6.34" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" + "arr-flatten": "1.1.0" } }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "dev": true, - "requires": { - "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } - } + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, - "browserslist": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", - "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", - "dev": true, - "requires": { - "caniuse-lite": "1.0.30000874", - "electron-to-chromium": "1.3.57" - } + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true }, - "bser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.3.tgz", - "integrity": "sha1-1j2hnuFzMKDiYNKjRCKyGolSAxc=", - "requires": { - "node-int64": "0.4.0" - } + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" }, - "bugsnag-react-native": { - "version": "2.10.2", - "resolved": "https://registry.npmjs.org/bugsnag-react-native/-/bugsnag-react-native-2.10.2.tgz", - "integrity": "sha512-evVo6MISJDio0TSPKT/4eqTpfsn8KAUWIwxcVO2AzPN4liH/11B+dgyswZYBkJZQYe+chQAYTi4opnzqv5pa8w==", - "requires": { - "iserror": "0.0.2", - "promise": "7.3.1", - "prop-types": "15.6.2" - } + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=" }, - "bytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz", - "integrity": "sha1-rJPEEOL/ycx89LRks4KJBn9eR7Q=" + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" }, - "cache-base": { + "arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "art": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/art/-/art-0.10.3.tgz", + "integrity": "sha512-HXwbdofRTiJT6qZX/FnchtldzJjS3vkLJxQilc3Xj+ma2MXjY4UAyQ0ls1XZYVnDvVIBiFZbC6QsvtW86TD6tQ==" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, "requires": { - "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" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - } + "safer-buffer": "2.1.2" } }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=" }, - "caniuse-lite": { - "version": "1.0.30000874", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000874.tgz", - "integrity": "sha512-29nr1EPiHwrJTAHHsEmTt2h+55L8j2GNFdAcYPlRy2NX6iFz7ZZiepVI7kP/QqlnHLq3KvfWpbmGa0d063U09w==", + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true }, - "capture-exit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", - "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "rsvp": "3.6.2" + "lodash": "4.17.10" } }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + } } }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "babel-jest": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.6.0.tgz", + "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", "dev": true, - "optional": true, "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.2.4", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "babel-plugin-istanbul": "4.1.6", + "babel-preset-jest": "23.2.0" }, "dependencies": { - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "babel-plugin-jest-hoist": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz", + "integrity": "sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=", + "dev": true + }, + "babel-preset-jest": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz", + "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", "dev": true, - "optional": true, "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "babel-plugin-jest-hoist": "23.2.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0" } } } }, - "ci-info": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", - "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "0.1.6" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - } - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "babel-loader": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.4.tgz", + "integrity": "sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==", + "dev": true, "requires": { - "restore-cursor": "2.0.0" + "find-cache-dir": "1.0.0", + "loader-utils": "1.2.0", + "mkdirp": "0.5.1", + "util.promisify": "1.0.0" } }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" - }, - "clipboardy": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", - "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, "requires": { - "arch": "2.1.1", - "execa": "0.8.0" + "babel-runtime": "6.26.0" } }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "babel-plugin-istanbul": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", + "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", + "dev": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "find-up": "2.1.0", + "istanbul-lib-instrument": "1.10.1", + "test-exclude": "4.2.1" }, "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } } } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" - }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" - } - }, - "color-convert": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", - "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", - "requires": { - "color-name": "1.1.1" - } - }, - "color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=" + "babel-plugin-jest-hoist": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-21.2.0.tgz", + "integrity": "sha512-yi5QuiVyyvhBUDLP4ButAnhYzkdrUwWDtvUJv71hjH3fclhnZg4HkDeqaitcR2dZZx/E67kGkRcPVjtVu+SJfQ==", + "dev": true }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true }, - "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "babel-preset-jest": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-21.2.0.tgz", + "integrity": "sha512-hm9cBnr2h3J7yXoTtAVV0zg+3vg0Q/gT2GYuzlreTU0EPkJRtlNgKJJ3tBKEn0+VjAi3JykV6xCJkuUYttEEfA==", + "dev": true, "requires": { - "delayed-stream": "1.0.0" + "babel-plugin-jest-hoist": "21.2.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0" } }, - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" - }, - "commoner": { - "version": "0.10.8", - "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", - "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, "requires": { - "commander": "2.17.1", - "detective": "4.7.1", - "glob": "5.0.15", - "graceful-fs": "4.1.11", - "iconv-lite": "0.4.23", + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.6.1", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", "mkdirp": "0.5.1", - "private": "0.1.8", - "q": "1.5.1", - "recast": "0.11.23" + "source-map-support": "0.4.18" }, "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" } + }, + "core-js": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.1.tgz", + "integrity": "sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg==", + "dev": true } } }, - "compare-versions": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.3.0.tgz", - "integrity": "sha512-MAAAIOdi2s4Gl6rZ76PNcUa9IOYB+5ICdT41o5uMRf09aEu/F9RK+qhe8RjXNPwcTjGV7KU7h2P/fljThFVqyQ==", - "dev": true - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" - }, - "compressible": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", - "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", - "requires": { - "mime-db": "1.35.0" - } - }, - "compression": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz", - "integrity": "sha1-sDuNhub4rSloPLqN+R3cb/x3s5U=", + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, "requires": { - "accepts": "1.2.13", - "bytes": "2.1.0", - "compressible": "2.0.14", - "debug": "2.2.0", - "on-headers": "1.0.1", - "vary": "1.0.1" + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" }, "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "requires": { - "ms": "0.7.1" - } + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "dev": true }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true } } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" + } }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, "requires": { - "buffer-from": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" } }, - "connect": { - "version": "2.30.2", - "resolved": "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz", - "integrity": "sha1-jam8vooFTT0xjXTf7JA7XDmhtgk=", - "requires": { - "basic-auth-connect": "1.0.0", - "body-parser": "1.13.3", - "bytes": "2.1.0", - "compression": "1.5.2", - "connect-timeout": "1.6.2", - "content-type": "1.0.4", - "cookie": "0.1.3", - "cookie-parser": "1.3.5", - "cookie-signature": "1.0.6", - "csurf": "1.8.3", - "debug": "2.2.0", - "depd": "1.0.1", - "errorhandler": "1.4.3", - "express-session": "1.11.3", - "finalhandler": "0.4.0", - "fresh": "0.3.0", - "http-errors": "1.3.1", - "method-override": "2.3.10", - "morgan": "1.6.1", - "multiparty": "3.3.2", - "on-headers": "1.0.1", - "parseurl": "1.3.2", - "pause": "0.1.0", - "qs": "4.0.0", - "response-time": "2.3.2", - "serve-favicon": "2.3.2", - "serve-index": "1.7.3", - "serve-static": "1.10.3", - "type-is": "1.6.16", - "utils-merge": "1.0.0", - "vhost": "3.0.2" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "requires": { - "ms": "0.7.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" - } - } - }, - "connect-timeout": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz", - "integrity": "sha1-3ppexh4zoStu2qt7XwYumMWZuI4=", - "requires": { - "debug": "2.2.0", - "http-errors": "1.3.1", - "ms": "0.7.1", - "on-headers": "1.0.1" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "requires": { - "ms": "0.7.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" - } - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "content-type-parser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", - "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==", - "dev": true - }, - "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" - }, - "cookie": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz", - "integrity": "sha1-5zSlwUF/zkctWu+Cw4HKu2TRpDU=" - }, - "cookie-parser": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz", - "integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=", - "requires": { - "cookie": "0.1.3", - "cookie-signature": "1.0.6" - } - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "crc": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz", - "integrity": "sha1-+mIuG8OIvyVzCQgta2UgDOZwkLo=" - }, - "create-react-class": { - "version": "15.6.3", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", - "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", - "requires": { - "fbjs": "0.8.17", - "loose-envify": "1.4.0", - "object-assign": "4.1.1" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" - } - }, - "csrf": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.0.6.tgz", - "integrity": "sha1-thEg3c7q/JHnbtUxO7XAsmZ7cQo=", - "requires": { - "rndm": "1.2.0", - "tsscmp": "1.0.5", - "uid-safe": "2.1.4" - } - }, - "cssom": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", - "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==", - "dev": true - }, - "cssstyle": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "cssom": "0.3.4" - } - }, - "csurf": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz", - "integrity": "sha1-I/KhO/HY/OHQyZZYg5RELLqGpWo=", - "requires": { - "cookie": "0.1.3", - "cookie-signature": "1.0.6", - "csrf": "3.0.6", - "http-errors": "1.3.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "1.0.0" - } - }, - "dateformat": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", - "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, - "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "dev": true, - "requires": { - "strip-bom": "3.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + }, "is-accessor-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", @@ -2696,826 +3549,1227 @@ } } }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "base-64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", + "integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs=" }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" }, - "denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=" + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } }, - "depd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz", - "integrity": "sha1-gK7GTJ1tl+ZcwqnKqTwKpqv3Oqo=" + "big-integer": { + "version": "1.6.34", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.34.tgz", + "integrity": "sha512-+w6B0Uo0ZvTSzDkXjoBCTNK0oe+aVL+yPi7kwGZm8hd8+Nj1AFPoxoq1Bl/mEu/G/ivOkUc1LRqVR0XeWFUzuA==" }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "bplist-creator": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", + "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=", "requires": { - "repeating": "2.0.1" + "stream-buffers": "2.2.0" } }, - "detective": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", - "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", + "bplist-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", + "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", "requires": { - "acorn": "5.7.1", - "defined": "1.0.0" + "big-integer": "1.6.34" } }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } }, - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, "requires": { - "readable-stream": "1.1.14" + "resolve": "1.1.7" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true } } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "optional": true, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "bugsnag-react-native": { + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/bugsnag-react-native/-/bugsnag-react-native-2.12.6.tgz", + "integrity": "sha512-KJR1Uab6m2WCEP+HudUxl6w1WalsxLwwKf5YRJHkW0m/LZ72mdEv9ipJ/mEAYbyKPv3bL0y855GnlB4lcQ+7XQ==", "requires": { - "jsbn": "0.1.1", - "safer-buffer": "2.1.2" + "iserror": "0.0.2", + "promise": "7.3.1", + "prop-types": "15.6.2" } }, - "ee-first": { + "builtin-modules": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" }, - "electron-to-chromium": { - "version": "1.3.57", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.57.tgz", - "integrity": "sha512-YYpZlr6mzR8cK5VRmTZydEt5Mp+WMg1/syrO40PoQzl76vJ+oQchL2d3FmEcWzw3FYqJVYJP/kYYSzTa7FLXwg==", - "dev": true + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "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" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "requires": { - "iconv-lite": "0.4.23" + "callsites": "2.0.0" } }, - "envinfo": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-3.11.1.tgz", - "integrity": "sha512-hKkh7aKtont6Zuv4RmE4VkOc96TkBj9NXj7Ghsd/qCA9LuJI0Dh+ImwA1N5iORB9Vg+sz5bq9CHJzs51BILNCQ==", + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "requires": { - "clipboardy": "1.2.3", - "glob": "7.1.2", - "minimist": "1.2.0", - "os-name": "2.0.1", - "which": "1.3.1" + "caller-callsite": "2.0.0" } }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, + "optional": true + }, + "capture-exit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", + "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", "requires": { - "prr": "1.0.1" + "rsvp": "3.6.2" } }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "optional": true, "requires": { - "is-arrayish": "0.2.1" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, - "errorhandler": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz", - "integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=", + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" + }, + "ci-info": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", + "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "accepts": "1.3.5", - "escape-html": "1.0.3" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "requires": { - "mime-types": "2.1.19", - "negotiator": "0.6.1" - } - }, - "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "mime-db": "1.35.0" + "is-descriptor": "0.1.6" } }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" } } }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "2.0.0" + } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" }, - "escodegen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", - "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, + "optional": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true, "optional": true } } }, - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" - }, - "etag": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz", - "integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg=" - }, - "event-target-shim": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-1.1.1.tgz", - "integrity": "sha1-qG5e5r2qFgVEddp5fM3fDFVphJE=" + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, - "exec-sh": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", - "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "merge": "1.2.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, - "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "color-convert": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "color-name": "1.1.1" } }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "requires": { - "is-posix-bracket": "0.1.1" - } + "color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=" }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "requires": { - "fill-range": "2.2.4" - } + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" }, - "expect": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-21.2.1.tgz", - "integrity": "sha512-orfQQqFRTX0jH7znRIGi8ZMR8kTNpXklTTz8+HGTpmTKZo3Occ6JNB5FXMb8cRuiiC/GyDqsr30zUa66ACYlYw==", + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "jest-diff": "21.2.1", - "jest-get-type": "21.2.0", - "jest-matcher-utils": "21.2.1", - "jest-message-util": "21.2.1", - "jest-regex-util": "21.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.2" - } - } + "delayed-stream": "1.0.0" } }, - "express-session": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz", - "integrity": "sha1-XMmPP1/4Ttg1+Ry/CqvQxxB0AK8=", - "requires": { - "cookie": "0.1.3", - "cookie-signature": "1.0.6", - "crc": "3.3.0", - "debug": "2.2.0", - "depd": "1.0.1", - "on-headers": "1.0.1", - "parseurl": "1.3.2", - "uid-safe": "2.0.0", - "utils-merge": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "requires": { - "ms": "0.7.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" - }, - "uid-safe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz", - "integrity": "sha1-p/PGymSh9qXQTsDvPkw9U2cxcTc=", - "requires": { - "base64-url": "1.2.1" - } - } - } + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "commoner": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", + "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "commander": "2.17.1", + "detective": "4.7.1", + "glob": "5.0.15", + "graceful-fs": "4.1.11", + "iconv-lite": "0.4.23", + "mkdirp": "0.5.1", + "private": "0.1.8", + "q": "1.5.1", + "recast": "0.11.23" }, "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "requires": { - "is-plain-object": "2.0.4" + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } } } }, - "external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" - } + "compare-versions": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.3.0.tgz", + "integrity": "sha512-MAAAIOdi2s4Gl6rZ76PNcUa9IOYB+5ICdT41o5uMRf09aEu/F9RK+qhe8RjXNPwcTjGV7KU7h2P/fljThFVqyQ==", + "dev": true }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "compressible": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", + "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "requires": { - "is-extglob": "1.0.0" + "mime-db": "1.35.0" } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "fancy-log": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", - "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { - "ansi-gray": "0.1.1", - "color-support": "1.1.3", - "time-stamp": "1.1.0" + "buffer-from": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + "content-type-parser": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", + "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==", + "dev": true }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, - "fb-watchman": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", - "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cosmiconfig": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", + "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", "requires": { - "bser": "2.0.0" + "import-fresh": "2.0.0", + "is-directory": "0.3.1", + "js-yaml": "3.12.0", + "parse-json": "4.0.0" }, "dependencies": { - "bser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", - "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "requires": { - "node-int64": "0.4.0" + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" } } } }, - "fbjs": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", - "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "create-react-class": { + "version": "15.6.3", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", + "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", + "fbjs": "0.8.17", "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "object-assign": "4.1.1" } }, - "fbjs-scripts": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-0.7.1.tgz", - "integrity": "sha1-TxFeIY4kPjrdvw7dqsHjxi9wP6w=", + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "babel-core": "6.26.3", - "babel-preset-fbjs": "1.0.0", - "core-js": "1.2.7", - "cross-spawn": "3.0.1", - "gulp-util": "3.0.8", - "object-assign": "4.1.1", - "semver": "5.5.0", - "through2": "2.0.3" - }, - "dependencies": { - "babel-preset-fbjs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-1.0.0.tgz", - "integrity": "sha1-yXLlybMB1OyeeXH0rsPhSsAXqLA=", - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-flow": "6.18.0", - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-class-properties": "6.24.1", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es3-member-expression-literals": "6.22.0", - "babel-plugin-transform-es3-property-literals": "6.22.0", - "babel-plugin-transform-flow-strip-types": "6.22.0", - "babel-plugin-transform-object-rest-spread": "6.26.0", - "object-assign": "4.1.1" - } - }, - "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "requires": { - "lru-cache": "4.1.3", - "which": "1.3.1" - } - } + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "cssom": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", + "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==", + "dev": true + }, + "cssstyle": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "cssom": "0.3.4" } }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "1.0.0" + } }, - "fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "default-require-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", + "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", "dev": true, "requires": { - "glob": "7.1.2", - "minimatch": "3.0.4" + "strip-bom": "3.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } } }, - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.1.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "object-keys": "1.0.12" } }, - "finalhandler": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz", - "integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=", + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "debug": "2.2.0", - "escape-html": "1.0.2", - "on-finished": "2.3.0", - "unpipe": "1.0.0" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "ms": "0.7.1" + "kind-of": "6.0.2" } }, - "escape-html": { + "is-descriptor": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz", - "integrity": "sha1-130y+pjjjC9BroXpJ44ODmuhAiw=" + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "requires": { - "for-in": "1.0.2" - } + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha1-OjYof1A05pnnV3kBBSwubJQlFjE=" }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.19" - }, - "dependencies": { - "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", - "requires": { - "mime-db": "1.35.0" - } - } + "repeating": "2.0.1" } }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=" + }, + "detective": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "requires": { - "map-cache": "0.2.2" + "acorn": "5.7.1", + "defined": "1.0.0" } }, - "fresh": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", - "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=" + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true }, - "fs-extra": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "optional": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", "dev": true }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "optional": true, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "nan": "2.10.0", - "node-pre-gyp": "0.10.0" - }, + "iconv-lite": "0.4.23" + } + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "0.2.1" + } + }, + "es-abstract": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "dev": true, + "requires": { + "es-to-primitive": "1.2.0", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.4", + "is-regex": "1.0.4" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "requires": { + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.0.2" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", + "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", + "dev": true, + "requires": { + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" + }, "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + } + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "event-target-shim": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-1.1.1.tgz", + "integrity": "sha1-qG5e5r2qFgVEddp5fM3fDFVphJE=" + }, + "eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==" + }, + "exec-sh": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", + "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", + "requires": { + "merge": "1.2.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "requires": { + "fill-range": "2.2.4" + } + }, + "expect": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-21.2.1.tgz", + "integrity": "sha512-orfQQqFRTX0jH7znRIGi8ZMR8kTNpXklTTz8+HGTpmTKZo3Occ6JNB5FXMb8cRuiiC/GyDqsr30zUa66ACYlYw==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "jest-diff": "21.2.1", + "jest-get-type": "21.2.0", + "jest-matcher-utils": "21.2.1", + "jest-message-util": "21.2.1", + "jest-regex-util": "21.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" + "color-convert": "1.9.2" } - }, - "chownr": { + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "optional": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", - "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", - "optional": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "optional": true, - "requires": { - "minipass": "2.2.4" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "optional": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "optional": true, + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "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" + "is-plain-object": "2.0.4" } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "optional": true, + } + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "requires": { + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "1.0.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fancy-log": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", + "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", + "requires": { + "ansi-gray": "0.1.1", + "color-support": "1.1.3", + "time-stamp": "1.1.0" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "requires": { + "bser": "2.0.0" + }, + "dependencies": { + "bser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", + "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", + "requires": { + "node-int64": "0.4.0" + } + } + } + }, + "fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "requires": { + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" + } + }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + }, + "fileset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", + "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "dev": true, + "requires": { + "glob": "7.1.2", + "minimatch": "3.0.4" + } + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.1.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "requires": { + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "1.0.2" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.19" + }, + "dependencies": { + "mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "dev": true, "requires": { - "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" + "mime-db": "1.35.0" } + } + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "0.2.2" + } + }, + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "optional": true, + "requires": { + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "optional": true }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "optional": true }, - "iconv-lite": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", - "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", + "are-we-there-yet": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "optional": true, "requires": { - "safer-buffer": "2.1.2" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, - "ignore-walk": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "optional": true, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "minimatch": "3.0.4" + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "optional": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "optional": true, + "requires": { + "minipass": "2.2.4" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "optional": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "optional": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "optional": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", + "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", + "optional": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "ignore-walk": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "optional": true, + "requires": { + "minimatch": "3.0.4" } }, "inflight": { @@ -3524,8 +4778,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -3544,7 +4798,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -3558,7 +4812,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -3633,8 +4887,8 @@ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -3681,7 +4935,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -3802,9 +5056,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -3821,7 +5075,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -3857,7 +5111,7 @@ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { @@ -3872,6 +5126,12 @@ } } }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, "gauge": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", @@ -3903,6 +5163,7 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, "requires": { "assert-plus": "1.0.0" } @@ -3949,15 +5210,8 @@ "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" - }, - "glogg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", - "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", - "requires": { - "sparkles": "1.0.1" - } + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true }, "graceful-fs": { "version": "4.1.11", @@ -3967,48 +5221,7 @@ "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "gulp-util": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", - "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", - "requires": { - "array-differ": "1.0.0", - "array-uniq": "1.0.3", - "beeper": "1.1.1", - "chalk": "1.1.3", - "dateformat": "2.2.0", - "fancy-log": "1.3.2", - "gulplog": "1.0.0", - "has-gulplog": "0.1.0", - "lodash._reescape": "3.0.0", - "lodash._reevaluate": "3.0.0", - "lodash._reinterpolate": "3.0.0", - "lodash.template": "3.6.2", - "minimist": "1.2.0", - "multipipe": "0.1.2", - "object-assign": "3.0.0", - "replace-ext": "0.0.1", - "through2": "2.0.3", - "vinyl": "0.5.3" - }, - "dependencies": { - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" - } - } - }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", - "requires": { - "glogg": "1.0.1" - } + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" }, "handlebars": { "version": "4.0.11", @@ -4042,17 +5255,28 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true }, "har-validator": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "dev": true, "requires": { "ajv": "5.5.2", "har-schema": "2.0.0" } }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "1.1.1" + } + }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -4066,13 +5290,11 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, - "has-gulplog": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", - "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", - "requires": { - "sparkles": "1.0.1" - } + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true }, "has-unicode": { "version": "2.0.1", @@ -4137,6 +5359,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, "requires": { "os-homedir": "1.0.2", "os-tmpdir": "1.0.2" @@ -4156,19 +5379,11 @@ "whatwg-encoding": "1.0.3" } }, - "http-errors": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", - "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", - "requires": { - "inherits": "2.0.3", - "statuses": "1.5.0" - } - }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, "requires": { "assert-plus": "1.0.0", "jsprim": "1.4.1", @@ -4193,6 +5408,15 @@ "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=" }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "2.0.0", + "resolve-from": "3.0.0" + } + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -4300,16 +5524,6 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "1.11.0" - } - }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -4323,6 +5537,12 @@ "builtin-modules": "1.1.1" } }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, "is-ci": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", @@ -4340,6 +5560,12 @@ "kind-of": "3.2.2" } }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -4357,6 +5583,11 @@ } } }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", @@ -4384,6 +5615,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -4439,20 +5671,40 @@ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "1.0.3" + } + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "1.0.0" + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true }, "is-windows": { "version": "1.0.2", @@ -4494,7 +5746,8 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true }, "istanbul-api": { "version": "1.3.1", @@ -4594,7 +5847,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -5366,11 +6619,6 @@ } } }, - "jest-docblock": { - "version": "20.1.0-delta.4", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-20.1.0-delta.4.tgz", - "integrity": "sha512-apbBKyQ8ET8XQbOnsjIYTvmo2+FRZIsxUkfy75IbG+SH9ILQLjEfPXq3B/iMRCGoTAeI8lwxUQoLKGbw0mrTCQ==" - }, "jest-environment-jsdom": { "version": "21.2.1", "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-21.2.1.tgz", @@ -5398,310 +6646,29 @@ "integrity": "sha512-y2fFw3C+D0yjNSDp7ab1kcd6NUYfy3waPTlD8yWkAtiocJdBRQqNoRqVfMNxgj+IjT0V5cBIHJO0z9vuSSZ43Q==", "dev": true }, - "jest-haste-map": { - "version": "20.1.0-delta.4", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.1.0-delta.4.tgz", - "integrity": "sha512-L95f3nYoxUSzqzJdOq39ggklspwkqOq/FkzvH0SYhXdpv0c0kW8DXLovxfZy5FnK4rUyeVMBI9aNQ+TvZHKT3Q==", + "jest-jasmine2": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-21.2.1.tgz", + "integrity": "sha512-lw8FXXIEekD+jYNlStfgNsUHpfMWhWWCgHV7n0B7mA/vendH7vBFs8xybjQsDzJSduptBZJHqQX9SMssya9+3A==", + "dev": true, "requires": { - "fb-watchman": "2.0.0", + "chalk": "2.4.1", + "expect": "21.2.1", "graceful-fs": "4.1.11", - "jest-docblock": "20.1.0-delta.4", - "micromatch": "2.3.11", - "sane": "2.5.2", - "worker-farm": "1.6.0" + "jest-diff": "21.2.1", + "jest-matcher-utils": "21.2.1", + "jest-message-util": "21.2.1", + "jest-snapshot": "21.2.1", + "p-cancelable": "0.3.0" }, "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "1.0.2" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "sane": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", - "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", - "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.2", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" - }, - "dependencies": { - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - } - } - } - } - }, - "jest-jasmine2": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-21.2.1.tgz", - "integrity": "sha512-lw8FXXIEekD+jYNlStfgNsUHpfMWhWWCgHV7n0B7mA/vendH7vBFs8xybjQsDzJSduptBZJHqQX9SMssya9+3A==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "expect": "21.2.1", - "graceful-fs": "4.1.11", - "jest-diff": "21.2.1", - "jest-matcher-utils": "21.2.1", - "jest-message-util": "21.2.1", - "jest-snapshot": "21.2.1", - "p-cancelable": "0.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.2" + "color-convert": "1.9.2" } }, "chalk": { @@ -6274,8 +7241,35 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "babel-jest": { - "version": "21.2.0", + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + } + }, + "babel-jest": { + "version": "21.2.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-21.2.0.tgz", "integrity": "sha512-O0W2qLoWu1QOoOGgxiR2JID4O6WSpxPiQanrkyi9SSlM0PJ60Ptzlck47lhtnr9YZO3zYOsxHwnyeWJ6AffoBQ==", "dev": true, @@ -6776,6 +7770,11 @@ } } }, + "jest-serializer": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz", + "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU=" + }, "jest-snapshot": { "version": "21.2.1", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-21.2.1.tgz", @@ -6942,6 +7941,14 @@ } } }, + "jest-worker": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", + "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", + "requires": { + "merge-stream": "1.0.1" + } + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6951,7 +7958,6 @@ "version": "3.12.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "dev": true, "requires": { "argparse": "1.0.10", "esprima": "4.0.1" @@ -6960,8 +7966,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" } } }, @@ -6969,6 +7974,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, "optional": true }, "jsdom": { @@ -7015,17 +8021,25 @@ "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true }, "json-stable-stringify": { "version": "1.0.1", @@ -7038,12 +8052,13 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true }, "json5": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz", - "integrity": "sha1-BUNS5MTIDIbAkjh31EneF2pzLI0=" + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, "jsonfile": { "version": "2.4.0", @@ -7062,6 +8077,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -7088,7 +8104,9 @@ "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true, + "optional": true }, "lcid": { "version": "1.0.0", @@ -7098,11 +8116,6 @@ "invert-kv": "1.0.0" } }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==" - }, "leven": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", @@ -7123,6 +8136,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "parse-json": "2.2.0", @@ -7131,6 +8145,28 @@ "strip-bom": "2.0.0" } }, + "loader-utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.0.tgz", + "integrity": "sha512-KkQxP+pVgJC6ypy8ePypyhsV/hZeyVlkqiqrxe4pDgCwClbzmr3dGy8LbeSVhmfzYmCpOovdrVs/9chsQXCrLQ==", + "dev": true, + "requires": { + "big.js": "5.2.2", + "emojis-list": "2.1.0", + "json5": "1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "1.2.0" + } + } + } + }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -7152,79 +8188,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" - }, - "lodash._basetostring": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", - "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=" - }, - "lodash._basevalues": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", - "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=" - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" - }, - "lodash._reescape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", - "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=" - }, - "lodash._reevaluate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", - "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "lodash._root": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" - }, - "lodash.escape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", - "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", - "requires": { - "lodash._root": "3.0.1" - } - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "requires": { - "lodash._getnative": "3.9.1", - "lodash.isarguments": "3.1.0", - "lodash.isarray": "3.0.4" - } - }, "lodash.pad": { "version": "4.5.1", "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", @@ -7240,40 +8203,16 @@ "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" - }, - "lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "requires": { - "lodash._basecopy": "3.0.1", - "lodash._basetostring": "3.0.1", - "lodash._basevalues": "3.0.0", - "lodash._isiterateecall": "3.0.9", - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0", - "lodash.keys": "3.1.2", - "lodash.restparam": "3.6.1", - "lodash.templatesettings": "3.1.1" - } - }, - "lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0" - } + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" }, "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true }, "loose-envify": { "version": "1.4.0", @@ -7292,10 +8231,20 @@ "yallist": "2.1.2" } }, - "macos-release": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz", - "integrity": "sha512-mmLbumEYMi5nXReB9js3WGsB8UE6cDBWyIO62Z4DNx6GbRhDxHNjA1MlzSpJ2S2KM1wyiPRA0d19uHWYYvMHjA==" + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } }, "makeerror": { "version": "1.0.11", @@ -7323,11 +8272,6 @@ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", @@ -7349,71 +8293,320 @@ "readable-stream": "2.3.6" } }, - "method-override": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz", - "integrity": "sha1-49r41d7hDdLc59SuiNYrvud0drQ=", - "requires": { - "debug": "2.6.9", - "methods": "1.1.2", - "parseurl": "1.3.2", - "vary": "1.1.2" - }, - "dependencies": { - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - } - } - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "metro-bundler": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/metro-bundler/-/metro-bundler-0.11.0.tgz", - "integrity": "sha512-z1b2HtOa1uJVrp5KOx9bvoYRPD8Gn5x+gyFTIGSev7hbDzyAmUoooFUf8yLAfyIVIb4TZGB+tjkn+Skmn41aNQ==", + "metro": { + "version": "0.48.5", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.48.5.tgz", + "integrity": "sha512-aCarzjxdYqh+9I40bF+Hh1ayrwfPrnDwVOvpQg3VZFWU4wfeMiJb+tzeRN9p94cC/MKhBTOjRmUF3plzrHoe0w==", "requires": { + "@babel/core": "7.2.2", + "@babel/generator": "7.2.2", + "@babel/parser": "7.2.3", + "@babel/plugin-external-helpers": "7.2.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", "absolute-path": "0.0.0", "async": "2.6.1", - "babel-core": "6.26.3", - "babel-generator": "6.26.1", - "babel-plugin-external-helpers": "6.22.0", - "babel-preset-es2015-node": "6.1.1", - "babel-preset-fbjs": "2.2.0", - "babel-preset-react-native": "2.1.0", - "babel-register": "6.26.0", - "babylon": "6.18.0", + "babel-preset-fbjs": "3.1.0", "chalk": "1.1.3", "concat-stream": "1.6.2", - "core-js": "2.5.7", + "connect": "3.6.6", "debug": "2.6.9", "denodeify": "1.2.1", - "fbjs": "0.8.12", + "eventemitter3": "3.1.0", + "fbjs": "1.0.0", + "fs-extra": "1.0.0", "graceful-fs": "4.1.11", "image-size": "0.6.3", - "jest-docblock": "20.1.0-chi.1", - "jest-haste-map": "20.1.0-chi.1", + "jest-docblock": "23.2.0", + "jest-haste-map": "23.5.0", + "jest-worker": "23.2.0", "json-stable-stringify": "1.0.1", - "json5": "0.4.0", - "left-pad": "1.3.0", - "lodash": "4.17.10", + "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", - "request": "2.88.0", + "node-fetch": "2.3.0", + "nullthrows": "1.1.1", + "react-transform-hmr": "1.0.4", + "resolve": "1.8.1", "rimraf": "2.6.2", + "serialize-error": "2.1.0", "source-map": "0.5.7", "temp": "0.8.3", "throat": "4.1.0", - "uglify-js": "2.7.5", + "wordwrap": "1.0.0", "write-file-atomic": "1.3.4", - "xpipe": "1.0.5" + "ws": "1.1.5", + "xpipe": "1.0.5", + "yargs": "9.0.1" }, "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/core": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", + "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.10", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "2.1.1" + } + } + } + }, + "@babel/generator": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", + "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", + "requires": { + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-define-map": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", + "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", + "requires": { + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.10" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "requires": { + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + }, + "@babel/helper-replace-supers": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", + "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", + "requires": { + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helpers": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", + "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", + "requires": { + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + } + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", + "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.10" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", + "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", + "requires": { + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", + "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/traverse": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.10" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "2.1.1" + } + } + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.2" + } + }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", @@ -7424,40 +8617,43 @@ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, - "babel-preset-react-native": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-2.1.0.tgz", - "integrity": "sha1-kBPr2C2hyIECv1iIEP9Z4gnKK4o=", - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-react-transform": "2.0.2", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-plugin-syntax-flow": "6.18.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-class-properties": "6.24.1", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-flow-strip-types": "6.22.0", - "babel-plugin-transform-object-assign": "6.22.0", - "babel-plugin-transform-object-rest-spread": "6.26.0", - "babel-plugin-transform-react-display-name": "6.25.0", - "babel-plugin-transform-react-jsx": "6.24.1", - "babel-plugin-transform-react-jsx-source": "6.22.0", - "babel-plugin-transform-regenerator": "6.26.0", - "react-transform-hmr": "1.0.4" + "babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + }, + "babel-preset-fbjs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", + "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", + "requires": { + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-syntax-class-properties": "7.2.0", + "@babel/plugin-syntax-flow": "7.2.0", + "@babel/plugin-syntax-jsx": "7.2.0", + "@babel/plugin-syntax-object-rest-spread": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoped-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-member-expression-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-super": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-property-literals": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-template-literals": "7.2.0", + "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" } }, "braces": { @@ -7487,44 +8683,96 @@ } } }, - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "string-width": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "is-descriptor": "0.1.6" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + } + } + }, + "connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "1.3.2", + "utils-merge": "1.0.1" + } + }, + "core-js": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.1.tgz", + "integrity": "sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg==" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { "kind-of": "3.2.2" @@ -7542,7 +8790,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { "kind-of": "3.2.2" @@ -7609,24 +8857,18 @@ } }, "fbjs": { - "version": "0.8.12", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", - "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "core-js": "1.2.7", + "core-js": "2.6.1", + "fbjs-css-vars": "1.0.2", "isomorphic-fetch": "2.2.1", "loose-envify": "1.4.0", "object-assign": "4.1.1", "promise": "7.3.1", "setimmediate": "1.0.5", "ua-parser-js": "0.7.18" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - } } }, "fill-range": { @@ -7650,6 +8892,33 @@ } } }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "2.0.0" + } + }, + "globals": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" + }, "is-accessor-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", @@ -7676,6 +8945,14 @@ "kind-of": "6.0.2" } }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -7700,21 +8977,39 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "jest-docblock": { - "version": "20.1.0-chi.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-20.1.0-chi.1.tgz", - "integrity": "sha512-zX64LtNgTgphO06akqDxKQhVET3uwjZTRalqG2jJoWyEdSUYGp8yjjqicJ7rRu5ZbwnuaB8yqqP9Exu59oDNaA==" + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", + "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", + "requires": { + "detect-newline": "2.1.0" + } }, "jest-haste-map": { - "version": "20.1.0-chi.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.1.0-chi.1.tgz", - "integrity": "sha512-G5Bjy3NoSBOR4T5FGqu6VlUJk7BnGUfRXkPcU26HTE06j5T0HEnVoScUsP1+XHSSw0XKq84N2LquppHbg3buxg==", + "version": "23.5.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", + "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { "fb-watchman": "2.0.0", "graceful-fs": "4.1.11", - "jest-docblock": "20.1.0-chi.1", + "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.5.2", - "worker-farm": "1.6.0" + "sane": "2.5.2" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "requires": { + "minimist": "1.2.0" } }, "kind-of": { @@ -7722,6 +9017,114 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" }, + "load-json-file": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "metro-babel7-plugin-react-transform": { + "version": "0.48.5", + "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.48.5.tgz", + "integrity": "sha512-S0cA0msHBGw7PSwB6nAsvtHEpQXVwzKBaE4AibLpaBiIVdWkYpIOok653zs9x+E9QvQgcghAnlVnDV+MDM+rSw==", + "requires": { + "@babel/helper-module-imports": "7.0.0" + } + }, + "metro-react-native-babel-preset": { + "version": "0.48.5", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.48.5.tgz", + "integrity": "sha512-ldG1bsusB5zlS1fhAiSLRjUA7I/Chn/dniaXTlkUpgiqyEAaDDmqhkDJ8gyZw3rhlLMVswlBd3o6I8yYti+57w==", + "requires": { + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-export-default-from": "7.2.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-syntax-export-default-from": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-exponentiation-operator": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-assign": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-react-jsx-source": "7.2.0", + "@babel/plugin-transform-regenerator": "7.0.0", + "@babel/plugin-transform-runtime": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-sticky-regex": "7.2.0", + "@babel/plugin-transform-template-literals": "7.2.0", + "@babel/plugin-transform-typescript": "7.2.0", + "@babel/plugin-transform-unicode-regex": "7.2.0", + "@babel/template": "7.2.2", + "metro-babel7-plugin-react-transform": "0.48.5", + "react-transform-hmr": "1.0.4" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "node-fetch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", + "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "2.3.0" + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, "sane": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", @@ -7759,218 +9162,351 @@ } } } + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "yargs": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", + "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "requires": { + "camelcase": "4.1.0" + } } } }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==" - }, - "mime-types": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", - "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", - "requires": { - "mime-db": "1.23.0" + "metro-babel-register": { + "version": "0.48.5", + "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.48.5.tgz", + "integrity": "sha512-bJCessd7THqEfXrKEoj284XVjg9AGYbGqZiyV622l6ex9TvtVi1lToDY0TuAAuDXOm+V4vQXV7/HvR6JPP0dTQ==", + "requires": { + "@babel/core": "7.2.2", + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-transform-async-to-generator": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/register": "7.0.0", + "core-js": "2.6.1", + "escape-string-regexp": "1.0.5" }, "dependencies": { - "mime-db": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", - "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk=" - } - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "requires": { - "dom-walk": "0.1.1" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.11" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/core": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", + "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.10", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" + } + }, + "@babel/generator": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", + "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "is-plain-object": "2.0.4" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } - } - }, - "moment": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" - }, - "morgan": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz", - "integrity": "sha1-X9gYOYxoGcuiinzWZk8pL+HAu/I=", - "requires": { - "basic-auth": "1.0.4", - "debug": "2.2.0", - "depd": "1.0.1", - "on-finished": "2.3.0", - "on-headers": "1.0.1" - }, - "dependencies": { + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "requires": { + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helpers": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", + "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", + "requires": { + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/traverse": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.10" + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "core-js": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.1.tgz", + "integrity": "sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg==" + }, "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "2.1.1" + } + }, + "globals": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "ms": "0.7.1" + "minimist": "1.2.0" } }, "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" } } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "metro-babel7-plugin-react-transform": { + "version": "0.51.1", + "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.51.1.tgz", + "integrity": "sha512-wzn4X9KgmAMZ7Bi6v9KxA7dw+AHGL0RODPxU5NDJ3A6d0yERvzfZ3qkzWhz8jbFkVBK12cu5DTho3HBazKQDOw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "7.0.0" + } }, - "multiparty": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz", - "integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=", + "metro-cache": { + "version": "0.48.5", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.48.5.tgz", + "integrity": "sha512-vlUf3A6+U3LXcf6wAn42N22q1h7MMoopA25w5KR4Flwd0xKVokxHwsTo9v06vpn4gqFtpXWCpEJSBaYRrWYJwg==", + "requires": { + "jest-serializer": "23.0.1", + "metro-core": "0.48.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "metro-config": { + "version": "0.48.5", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.48.5.tgz", + "integrity": "sha512-b+EmFgBOAEUM5THjJ2EU6CJxnULLC5V1Q8S8dz4xX4v96eLIsRCLPrXgYKATHJTVi0qw99ATVRsOBZVZ77fwjg==", "requires": { - "readable-stream": "1.1.14", - "stream-counter": "0.2.0" + "cosmiconfig": "5.0.7", + "metro": "0.48.5", + "metro-cache": "0.48.5", + "metro-core": "0.48.5", + "pretty-format": "23.6.0" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" + "color-convert": "1.9.2" } }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "requires": { + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" + } } } }, - "multipipe": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", - "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", - "requires": { - "duplexer2": "0.0.2" - } - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" - }, - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "metro-core": { + "version": "0.48.5", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.48.5.tgz", + "integrity": "sha512-Yp0BOAHhxf/qdNkwJhemVdD2Y59iyaTjwxUimCmeD8u5VEL6mLgEC1S0KczyWEiAgX3Fs48rezCAcx3mo67wXg==", "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "jest-haste-map": "23.5.0", + "lodash.throttle": "4.1.1", + "metro-resolver": "0.48.5", + "wordwrap": "1.0.0" }, "dependencies": { "arr-diff": { @@ -7983,72 +9519,849 @@ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - } - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz", - "integrity": "sha1-Jp1cR2gQ7JLtvntsLygxY4T5p+g=" - }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" - } - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" - }, - "node-notifier": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", - "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", - "dev": true, - "requires": { - "growly": "1.3.0", - "semver": "5.5.0", - "shellwords": "0.1.1", - "which": "1.3.1" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "requires": { - "hosted-git-info": "2.7.1", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.4" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "1.1.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "jest-docblock": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", + "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", + "requires": { + "detect-newline": "2.1.0" + } + }, + "jest-haste-map": { + "version": "23.5.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", + "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", + "requires": { + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.11", + "invariant": "2.2.4", + "jest-docblock": "23.2.0", + "jest-serializer": "23.0.1", + "jest-worker": "23.2.0", + "micromatch": "2.3.11", + "sane": "2.5.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "sane": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", + "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", + "requires": { + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" + }, + "dependencies": { + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + } + } + } + } + }, + "metro-memory-fs": { + "version": "0.48.5", + "resolved": "https://registry.npmjs.org/metro-memory-fs/-/metro-memory-fs-0.48.5.tgz", + "integrity": "sha512-dxN0dBtMOR1CvyRIOM/NE+uFirybWb4y2PZke0Z8bpYn6ttmv8ZF3PVdFxJf9v9irVBSOIPD0mD5zllxQkXzhg==" + }, + "metro-minify-uglify": { + "version": "0.48.5", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.48.5.tgz", + "integrity": "sha512-tiHVYlUMuL91YjQPx9BzzzXy5jAAA5SWLqlvWfmM6m9faWtFeCv8Se27vVNuPDkOPYyL8qPCRhUpZMUhA0yN2g==", + "requires": { + "uglify-es": "3.3.9" + } + }, + "metro-react-native-babel-preset": { + "version": "0.51.1", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.51.1.tgz", + "integrity": "sha512-e9tsYDFhU70gar0jQWcZXRPJVCv4k7tEs6Pm74wXO2OO/T1MEumbvniDIGwGG8bG8RUnYdHhjcaiub2Vc5BRWw==", + "dev": true, + "requires": { + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-export-default-from": "7.2.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-syntax-export-default-from": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-exponentiation-operator": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-assign": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-react-jsx-source": "7.2.0", + "@babel/plugin-transform-regenerator": "7.0.0", + "@babel/plugin-transform-runtime": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-sticky-regex": "7.2.0", + "@babel/plugin-transform-template-literals": "7.2.0", + "@babel/plugin-transform-typescript": "7.2.0", + "@babel/plugin-transform-unicode-regex": "7.2.0", + "@babel/template": "7.2.2", + "metro-babel7-plugin-react-transform": "0.51.1", + "react-transform-hmr": "1.0.4" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/generator": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", + "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", + "dev": true, + "requires": { + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-define-map": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", + "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.10" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "dev": true, + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", + "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "dev": true, + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==", + "dev": true + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", + "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.10" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", + "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", + "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/traverse": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.10" + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "dev": true, + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "globals": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "metro-resolver": { + "version": "0.48.5", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.48.5.tgz", + "integrity": "sha512-lScSpLJKZMmNPRwvcY6zj28AwMOcI1M5bCCv+m06VWcISCTq1KlaKVwqLKmFgUtPkoFtFLD+PVKRKCRUxj1opg==", + "requires": { + "absolute-path": "0.0.0" + } + }, + "metro-source-map": { + "version": "0.48.5", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.48.5.tgz", + "integrity": "sha512-+BbcU9vfEl/XhMlVV0RwuHuEkai4lq7RmlQkxgoOoWl1u0yXCAPRZ5sqa326fPlJzElOR3cp0y7+Oc2nbIguyg==", + "requires": { + "source-map": "0.5.7" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==" + }, + "mime-types": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", + "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", + "requires": { + "mime-db": "1.23.0" + }, + "dependencies": { + "mime-db": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", + "integrity": "sha1-oxtAcK2uon1zLqMzdApk0OyaZlk=" + } + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "0.1.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "moment": { + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", + "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" + }, + "node-notifier": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", + "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", + "requires": { + "growly": "1.3.0", + "semver": "5.5.0", + "shellwords": "0.1.1", + "which": "1.3.1" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "requires": { + "hosted-git-info": "2.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.4" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { "path-key": "2.0.1" @@ -8064,6 +10377,11 @@ "gauge": "1.2.7" } }, + "nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -8078,7 +10396,8 @@ "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true }, "object-assign": { "version": "4.1.1", @@ -8105,6 +10424,12 @@ } } }, + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "dev": true + }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", @@ -8120,6 +10445,16 @@ } } }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "es-abstract": "1.12.0" + } + }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", @@ -8224,41 +10559,14 @@ "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "1.0.0" - } - }, - "os-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-2.0.1.tgz", - "integrity": "sha1-uaOGNhwXrjohc27wWZQFyajF3F4=", - "requires": { - "macos-release": "1.1.0", - "win-release": "1.1.1" - } + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, - "output-file-sync": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", - "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "object-assign": "4.1.1" - } - }, "p-cancelable": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", @@ -8330,6 +10638,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, "requires": { "pinkie-promise": "2.0.1" } @@ -8353,26 +10662,18 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "pify": "2.3.0", "pinkie-promise": "2.0.1" } }, - "pause": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz", - "integrity": "sha1-68ikqGGf8LioGsFRPDQ0/0af23Q=" - }, - "pegjs": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz", - "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=" - }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true }, "pify": { "version": "2.3.0", @@ -8382,31 +10683,82 @@ "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, "requires": { "pinkie": "2.0.4" } }, - "plist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/plist/-/plist-1.2.0.tgz", - "integrity": "sha1-CEtQk93JJQbiWfh0uNmxr7jHlZM=", + "pirates": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.0.tgz", + "integrity": "sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA==", + "requires": { + "node-modules-regexp": "1.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "requires": { - "base64-js": "0.0.8", - "util-deprecate": "1.0.2", - "xmlbuilder": "4.0.0", - "xmldom": "0.1.27" + "find-up": "2.1.0" }, "dependencies": { - "base64-js": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", - "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=" + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "2.0.0" + } + } + } + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "requires": { + "ansi-cyan": "0.1.1", + "ansi-red": "0.1.1", + "arr-diff": "1.1.0", + "arr-union": "2.1.0", + "extend-shallow": "1.1.4" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "requires": { + "arr-flatten": "1.1.0", + "array-slice": "0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=" + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "requires": { + "kind-of": "1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=" } } }, @@ -8466,7 +10818,8 @@ "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true }, "pseudomap": { "version": "1.0.2", @@ -8476,28 +10829,20 @@ "psl": { "version": "1.1.29", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==" + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "dev": true }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, - "qs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz", - "integrity": "sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc=" - }, - "random-bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" - }, "randomatic": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", @@ -8513,243 +10858,887 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - } - } - }, - "range-parser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz", - "integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU=" - }, - "raw-body": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", - "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=", - "requires": { - "bytes": "2.4.0", - "iconv-lite": "0.4.13", - "unpipe": "1.0.0" - }, - "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "react": { + "version": "16.6.3", + "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz", + "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==", + "requires": { + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "prop-types": "15.6.2", + "scheduler": "0.11.3" + } + }, + "react-clone-referenced-element": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-clone-referenced-element/-/react-clone-referenced-element-1.0.1.tgz", + "integrity": "sha1-K7qMaUBMXkqUQ5hgC8xMlB+GBoI=" + }, + "react-deep-force-update": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz", + "integrity": "sha1-vNMUeAJ7ZLMznxCJIatSC0MT3Cw=" + }, + "react-is": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.7.0.tgz", + "integrity": "sha512-Z0VRQdF4NPDoI0tsXVMLkJLiwEBa+RP66g0xDHxgxysxSoCUccSten4RTF/UFvZF1dZvZ9Zu1sx+MDXwcOR34g==", + "dev": true + }, + "react-native": { + "version": "0.57.8", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.57.8.tgz", + "integrity": "sha512-K6DAMTPTq+lxVYC73y4Kh/bgLajddBaIKzwsVeV4JOoS1Fdq48/ISXD3vApV+x+/IBVTXnrT9qlA+9U6MMZCqA==", + "requires": { + "@babel/runtime": "7.2.0", + "absolute-path": "0.0.0", + "art": "0.10.3", + "base64-js": "1.3.0", + "chalk": "1.1.3", + "commander": "2.17.1", + "compression": "1.7.3", + "connect": "3.6.6", + "create-react-class": "15.6.3", + "debug": "2.6.9", + "denodeify": "1.2.1", + "envinfo": "5.12.1", + "errorhandler": "1.5.0", + "escape-string-regexp": "1.0.5", + "event-target-shim": "1.1.1", + "fbjs": "1.0.0", + "fbjs-scripts": "1.0.1", + "fs-extra": "1.0.0", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "inquirer": "3.3.0", + "lodash": "4.17.10", + "metro": "0.48.5", + "metro-babel-register": "0.48.5", + "metro-core": "0.48.5", + "metro-memory-fs": "0.48.5", + "mime": "1.6.0", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "morgan": "1.9.1", + "node-fetch": "2.3.0", + "node-notifier": "5.2.1", + "npmlog": "2.0.4", + "opn": "3.0.3", + "optimist": "0.6.1", + "plist": "3.0.1", + "pretty-format": "4.3.1", + "promise": "7.3.1", + "prop-types": "15.6.2", + "react-clone-referenced-element": "1.0.1", + "react-devtools-core": "3.4.3", + "react-timer-mixin": "0.13.4", + "regenerator-runtime": "0.11.1", + "rimraf": "2.6.2", + "semver": "5.5.0", + "serve-static": "1.13.2", + "shell-quote": "1.6.1", + "stacktrace-parser": "0.1.4", + "ws": "1.1.5", + "xcode": "1.1.0", + "xmldoc": "0.4.0", + "yargs": "9.0.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "requires": { + "@babel/highlight": "7.0.0" + } + }, + "@babel/core": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", + "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.10", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "2.1.1" + } + } + } + }, + "@babel/generator": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", + "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", + "requires": { + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-define-map": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", + "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", + "requires": { + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.10" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "requires": { + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + }, + "@babel/helper-replace-supers": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", + "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", + "requires": { + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "requires": { + "@babel/types": "7.2.2" + } + }, + "@babel/helpers": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", + "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", + "requires": { + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + } + } + }, + "@babel/parser": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", + "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.10" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", + "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", + "requires": { + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", + "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", + "requires": { + "@babel/helper-plugin-utils": "7.0.0" + } + }, + "@babel/runtime": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", + "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", + "requires": { + "regenerator-runtime": "0.12.1" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + } + } + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" + } + }, + "@babel/traverse": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.10" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "2.1.1" + } + } + } + }, + "@babel/types": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" + } + }, + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "requires": { + "mime-types": "2.1.21", + "negotiator": "0.6.1" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.2" + } + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + }, + "babel-preset-fbjs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", + "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", + "requires": { + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-syntax-class-properties": "7.2.0", + "@babel/plugin-syntax-flow": "7.2.0", + "@babel/plugin-syntax-jsx": "7.2.0", + "@babel/plugin-syntax-object-rest-spread": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoped-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-member-expression-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-super": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-property-literals": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-template-literals": "7.2.0", + "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" + } + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, "bytes": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", - "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, - "iconv-lite": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=" - } - } - }, - "react": { - "version": "16.0.0-alpha.12", - "resolved": "https://registry.npmjs.org/react/-/react-16.0.0-alpha.12.tgz", - "integrity": "sha1-jFlIUoFIXfMZtvd2gtjdBiHAgZQ=", - "requires": { - "create-react-class": "15.6.3", - "fbjs": "0.8.17", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "prop-types": "15.6.2" - } - }, - "react-clone-referenced-element": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-clone-referenced-element/-/react-clone-referenced-element-1.0.1.tgz", - "integrity": "sha1-K7qMaUBMXkqUQ5hgC8xMlB+GBoI=" - }, - "react-deep-force-update": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz", - "integrity": "sha1-vNMUeAJ7ZLMznxCJIatSC0MT3Cw=" - }, - "react-devtools-core": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-2.5.2.tgz", - "integrity": "sha1-+XvsWvrl2TGNFneAZeDCFMTVcUw=", - "requires": { - "shell-quote": "1.6.1", - "ws": "2.3.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=" + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "compression": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", + "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "requires": { + "accepts": "1.3.5", + "bytes": "3.0.0", + "compressible": "2.0.14", + "debug": "2.6.9", + "on-headers": "1.0.1", + "safe-buffer": "5.1.2", + "vary": "1.1.2" + } + }, + "connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "1.3.2", + "utils-merge": "1.0.1" + } + }, + "core-js": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.1.tgz", + "integrity": "sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg==" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "envinfo": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-5.12.1.tgz", + "integrity": "sha512-pwdo0/G3CIkQ0y6PCXq4RdkvId2elvtPCJMG0konqlrfkWQbf1DWeH9K2b/cvu2YgGvPPTOnonZxXM1gikFu1w==" + }, + "errorhandler": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.0.tgz", + "integrity": "sha1-6rpkyl1UKjEayUX1gt78M2Fl2fQ=", + "requires": { + "accepts": "1.3.5", + "escape-html": "1.0.3" + } + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "fbjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", + "requires": { + "core-js": "2.6.1", + "fbjs-css-vars": "1.0.2", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" + } + }, + "fbjs-scripts": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-1.0.1.tgz", + "integrity": "sha512-x8bfX7k0z5B24Ue0YqjZq/2QxxaKZUNbkGdX//zbQDElMJFqBRrvRi8O3qds7UNNzs78jYqIYCS32Sk/wu5UJg==", + "requires": { + "@babel/core": "7.2.2", + "ansi-colors": "1.1.0", + "babel-preset-fbjs": "3.1.0", + "core-js": "2.6.1", + "cross-spawn": "5.1.0", + "fancy-log": "1.3.2", + "object-assign": "4.1.1", + "plugin-error": "0.1.2", + "semver": "5.5.0", + "through2": "2.0.3" + } + }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "2.0.0" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "globals": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": "1.5.0" + }, + "dependencies": { + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + } + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "requires": { + "minimist": "1.2.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "mime-db": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" + }, + "mime-types": { + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "requires": { + "mime-db": "1.37.0" + } + }, + "morgan": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "requires": { + "basic-auth": "2.0.1", + "debug": "2.6.9", + "depd": "1.1.2", + "on-finished": "2.3.0", + "on-headers": "1.0.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + }, + "node-fetch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", + "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "2.3.0" + } + }, + "plist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", + "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", + "requires": { + "base64-js": "1.3.0", + "xmlbuilder": "9.0.7", + "xmldom": "0.1.27" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" }, - "ws": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz", - "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=", + "react-devtools-core": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.4.3.tgz", + "integrity": "sha512-t3f6cRH5YSKv8qjRl1Z+1e0OwBZwJSdOAhJ9QAJdVKML7SmqAKKv3DxF+Ue03pE1N2UipPsLmaNcPzzMjIdZQg==", "requires": { - "safe-buffer": "5.0.1", - "ultron": "1.1.1" + "shell-quote": "1.6.1", + "ws": "3.3.3" + }, + "dependencies": { + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2", + "ultron": "1.1.1" + } + } } - } - } - }, - "react-native": { - "version": "0.48.4", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.48.4.tgz", - "integrity": "sha1-8wXp/vBppbP2pyUN3VD2A88wqy0=", - "requires": { - "absolute-path": "0.0.0", - "art": "0.10.3", - "async": "2.6.1", - "babel-core": "6.26.3", - "babel-generator": "6.26.1", - "babel-plugin-external-helpers": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.16.0", - "babel-plugin-transform-class-properties": "6.24.1", - "babel-plugin-transform-flow-strip-types": "6.22.0", - "babel-plugin-transform-object-rest-spread": "6.26.0", - "babel-polyfill": "6.26.0", - "babel-preset-es2015-node": "6.1.1", - "babel-preset-fbjs": "2.2.0", - "babel-preset-react-native": "2.1.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "base64-js": "1.3.0", - "bser": "1.0.3", - "chalk": "1.1.3", - "commander": "2.17.1", - "concat-stream": "1.6.2", - "connect": "2.30.2", - "core-js": "2.5.7", - "create-react-class": "15.6.3", - "debug": "2.6.9", - "denodeify": "1.2.1", - "envinfo": "3.11.1", - "errno": "0.1.7", - "event-target-shim": "1.1.1", - "fbjs": "0.8.12", - "fbjs-scripts": "0.7.1", - "form-data": "2.3.2", - "fs-extra": "1.0.0", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "inquirer": "3.3.0", - "jest-haste-map": "20.1.0-delta.4", - "json-stable-stringify": "1.0.1", - "json5": "0.4.0", - "left-pad": "1.3.0", - "lodash": "4.17.10", - "merge-stream": "1.0.1", - "metro-bundler": "0.11.0", - "mime": "1.6.0", - "mime-types": "2.1.11", - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "node-fetch": "1.7.3", - "npmlog": "2.0.4", - "opn": "3.0.3", - "optimist": "0.6.1", - "plist": "1.2.0", - "pretty-format": "4.3.1", - "promise": "7.3.1", - "prop-types": "15.6.2", - "react-clone-referenced-element": "1.0.1", - "react-devtools-core": "2.5.2", - "react-timer-mixin": "0.13.4", - "react-transform-hmr": "1.0.4", - "rebound": "0.0.13", - "regenerator-runtime": "0.9.6", - "request": "2.88.0", - "rimraf": "2.6.2", - "sane": "1.4.1", - "semver": "5.5.0", - "shell-quote": "1.6.1", - "source-map": "0.5.7", - "stacktrace-parser": "0.1.4", - "temp": "0.8.3", - "throat": "4.1.0", - "whatwg-fetch": "1.1.1", - "wordwrap": "1.0.0", - "write-file-atomic": "1.3.4", - "ws": "1.1.5", - "xcode": "0.9.3", - "xmldoc": "0.4.0", - "xpipe": "1.0.5", - "xtend": "4.0.1", - "yargs": "6.6.0" - }, - "dependencies": { - "babel-preset-react-native": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/babel-preset-react-native/-/babel-preset-react-native-2.1.0.tgz", - "integrity": "sha1-kBPr2C2hyIECv1iIEP9Z4gnKK4o=", - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-react-transform": "2.0.2", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-plugin-syntax-flow": "6.18.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-class-properties": "6.24.1", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-flow-strip-types": "6.22.0", - "babel-plugin-transform-object-assign": "6.22.0", - "babel-plugin-transform-object-rest-spread": "6.26.0", - "babel-plugin-transform-react-display-name": "6.25.0", - "babel-plugin-transform-react-jsx": "6.24.1", - "babel-plugin-transform-react-jsx-source": "6.22.0", - "babel-plugin-transform-regenerator": "6.26.0", - "react-transform-hmr": "1.0.4" + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } }, - "fbjs": { - "version": "0.8.12", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.12.tgz", - "integrity": "sha1-ELXZL3bUVXX9Y6IX1OoCvqL47QQ=", + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "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.6.3", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" }, "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" } } }, - "whatwg-fetch": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-1.1.1.tgz", - "integrity": "sha1-rDydOfMgxtzlM5lp0FTvQ90zMxk=" + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "requires": { + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.2" + } + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "xcode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-1.1.0.tgz", + "integrity": "sha512-hllHFtfsNu5WbVzj8KbGNdI3NgOYmTLZqyF4a9c9J1aGMhAdxmLLsXlpG0Bz8fEtKh6I3pyargRXN0ZlLpcF5w==", + "requires": { + "simple-plist": "0.2.1", + "uuid": "3.3.2" + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + }, + "yargs": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", + "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "requires": { + "camelcase": "4.1.0" + } } } }, @@ -8791,9 +11780,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -8801,9 +11790,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -8827,7 +11816,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "is-fullwidth-code-point": { @@ -8835,7 +11824,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "load-json-file": { @@ -8843,10 +11832,10 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "os-locale": { @@ -8854,9 +11843,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "path-type": { @@ -8864,7 +11853,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "read-pkg": { @@ -8872,9 +11861,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -8882,8 +11871,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "strip-bom": { @@ -8901,19 +11890,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -8921,7 +11910,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -8936,13 +11925,15 @@ } }, "react-test-renderer": { - "version": "16.0.0-alpha.12", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.0.0-alpha.12.tgz", - "integrity": "sha1-nkzF2M6L/KcneDQN4+FFS51sDMU=", + "version": "16.6.3", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.6.3.tgz", + "integrity": "sha512-B5bCer+qymrQz/wN03lT0LppbZUDRq6AMfzMKrovzkGzfO81a9T+PWQW6MzkWknbwODQH/qpJno/yFQLX5IWrQ==", "dev": true, "requires": { - "fbjs": "0.8.17", - "object-assign": "4.1.1" + "object-assign": "4.1.1", + "prop-types": "15.6.2", + "react-is": "16.7.0", + "scheduler": "0.11.3" } }, "react-timer-mixin": { @@ -8963,6 +11954,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, "requires": { "load-json-file": "1.1.0", "normalize-package-data": "2.4.0", @@ -8973,6 +11965,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, "requires": { "find-up": "1.1.2", "read-pkg": "1.1.0" @@ -8992,24 +11985,6 @@ "util-deprecate": "1.0.2" } }, - "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.6", - "set-immediate-shim": "1.0.1" - } - }, - "rebound": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/rebound/-/rebound-0.0.13.tgz", - "integrity": "sha1-SiJSVMr32nVnl7GcWBe/enlB+sE=" - }, "recast": { "version": "0.11.23", "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", @@ -9026,12 +12001,20 @@ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" }, + "regenerate-unicode-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", + "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", + "requires": { + "regenerate": "1.4.0" + } + }, "regenerator": { "version": "0.13.2", "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.13.2.tgz", "integrity": "sha512-79ahXWnBxh1IV5LuY2yVPNOuajJyv/LevWYrMWG6hq6UNuiI7XGI9sdRhJy2TZdrl2OBhHPrawdsHBa3I15AnA==", "requires": { - "@babel/core": "7.0.0-rc.1", + "@babel/core": "7.0.0", "@babel/runtime": "7.0.0-rc.1", "@babel/types": "7.0.0-rc.1", "commoner": "0.10.8", @@ -9082,18 +12065,11 @@ } } }, - "regenerator-runtime": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz", - "integrity": "sha1-0z65XQ0gAaS+OWWXB8UbDLcc4Ck=" - }, "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", + "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", "private": "0.1.8" } }, @@ -9115,31 +12091,34 @@ } }, "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", + "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", "requires": { "regenerate": "1.4.0", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate-unicode-properties": "7.0.0", + "regjsgen": "0.5.0", + "regjsparser": "0.6.0", + "unicode-match-property-ecmascript": "1.0.4", + "unicode-match-property-value-ecmascript": "1.0.2" } }, "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==" }, "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", "requires": { "jsesc": "0.5.0" }, "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } @@ -9163,19 +12142,16 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, "requires": { "is-finite": "1.0.2" } }, - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" - }, "request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, "requires": { "aws-sign2": "0.7.0", "aws4": "1.8.0", @@ -9203,6 +12179,7 @@ "version": "2.1.19", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "dev": true, "requires": { "mime-db": "1.35.0" } @@ -9210,7 +12187,8 @@ "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true } } }, @@ -9228,31 +12206,20 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "requires": { - "path-parse": "1.0.6" - } - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "response-time": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz", - "integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=", - "requires": { - "depd": "1.1.2", - "on-headers": "1.0.1" - }, - "dependencies": { - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - } + "requires": { + "path-parse": "1.0.6" } }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", @@ -9271,6 +12238,8 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "optional": true, "requires": { "align-text": "0.1.4" } @@ -9283,11 +12252,6 @@ "glob": "7.1.2" } }, - "rndm": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", - "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=" - }, "rsvp": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", @@ -9332,170 +12296,35 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "sane": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sane/-/sane-1.4.1.tgz", - "integrity": "sha1-iPdj10BA9fDCVrYWPbOZvxEKxxU=", - "requires": { - "exec-sh": "0.2.2", - "fb-watchman": "1.9.2", - "minimatch": "3.0.4", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.10.0" - }, - "dependencies": { - "bser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", - "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", - "requires": { - "node-int64": "0.4.0" - } - }, - "fb-watchman": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", - "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", - "requires": { - "bser": "1.0.2" - } - }, - "watch": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz", - "integrity": "sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw=" - } - } - }, "sax": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.6.tgz", "integrity": "sha1-XWFr6KXmB9VOEUr65Vt+ry/MMkA=" }, + "scheduler": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.3.tgz", + "integrity": "sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==", + "requires": { + "loose-envify": "1.4.0", + "object-assign": "4.1.1" + } + }, "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, - "send": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz", - "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=", - "requires": { - "debug": "2.2.0", - "depd": "1.1.2", - "destroy": "1.0.4", - "escape-html": "1.0.3", - "etag": "1.7.0", - "fresh": "0.3.0", - "http-errors": "1.3.1", - "mime": "1.3.4", - "ms": "0.7.1", - "on-finished": "2.3.0", - "range-parser": "1.0.3", - "statuses": "1.2.1" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "requires": { - "ms": "0.7.1" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=" - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" - }, - "statuses": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz", - "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg=" - } - } - }, - "serve-favicon": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz", - "integrity": "sha1-3UGeJo3gEqtysxnTN/IQUBP5OB8=", - "requires": { - "etag": "1.7.0", - "fresh": "0.3.0", - "ms": "0.7.2", - "parseurl": "1.3.2" - }, - "dependencies": { - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=" - } - } - }, - "serve-index": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz", - "integrity": "sha1-egV/xu4o3GP2RWbl+lexEahq7NI=", - "requires": { - "accepts": "1.2.13", - "batch": "0.5.3", - "debug": "2.2.0", - "escape-html": "1.0.3", - "http-errors": "1.3.1", - "mime-types": "2.1.11", - "parseurl": "1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "requires": { - "ms": "0.7.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" - } - } - }, - "serve-static": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz", - "integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=", - "requires": { - "escape-html": "1.0.3", - "parseurl": "1.3.2", - "send": "0.13.2" - } + "serialize-error": { + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true, - "optional": true - }, "set-value": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", @@ -9522,6 +12351,11 @@ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -9549,8 +12383,7 @@ "shellwords": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" }, "signal-exit": { "version": "3.0.2", @@ -9592,7 +12425,8 @@ "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true }, "slide": { "version": "1.1.6", @@ -9722,6 +12556,7 @@ "version": "0.4.18", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, "requires": { "source-map": "0.5.7" } @@ -9731,11 +12566,6 @@ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, - "sparkles": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", - "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==" - }, "spdx-correct": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", @@ -9775,13 +12605,13 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": { "version": "1.14.2", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "dev": true, "requires": { "asn1": "0.2.4", "assert-plus": "1.0.0", @@ -9823,47 +12653,11 @@ } } }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, "stream-buffers": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=" }, - "stream-counter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz", - "integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=", - "requires": { - "readable-stream": "1.1.14" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, "string-length": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", @@ -9935,6 +12729,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, "requires": { "is-utf8": "0.2.1" } @@ -10300,7 +13095,8 @@ "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true }, "to-object-path": { "version": "0.3.0", @@ -10344,6 +13140,7 @@ "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, "requires": { "psl": "1.1.29", "punycode": "1.4.1" @@ -10360,15 +13157,11 @@ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" }, - "tsscmp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz", - "integrity": "sha1-fcSjOvcVgatDN9qR2FylQn69mpc=" - }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, "requires": { "safe-buffer": "5.1.2" } @@ -10377,6 +13170,7 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, "optional": true }, "type-check": { @@ -10388,25 +13182,6 @@ "prelude-ls": "1.1.2" } }, - "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "2.1.19" - }, - "dependencies": { - "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", - "requires": { - "mime-db": "1.35.0" - } - } - } - }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -10417,10 +13192,33 @@ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz", "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==" }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "requires": { + "commander": "2.13.0", + "source-map": "0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, "uglify-js": { "version": "2.7.5", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz", "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=", + "dev": true, + "optional": true, "requires": { "async": "0.2.10", "source-map": "0.5.7", @@ -10431,12 +13229,16 @@ "async": { "version": "0.2.10", "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true, + "optional": true }, "yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "optional": true, "requires": { "camelcase": "1.2.1", "cliui": "2.1.0", @@ -10449,21 +13251,39 @@ "uglify-to-browserify": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=" - }, - "uid-safe": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz", - "integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=", - "requires": { - "random-bytes": "1.0.0" - } + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true }, "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "requires": { + "unicode-canonical-property-names-ecmascript": "1.0.4", + "unicode-property-aliases-ecmascript": "1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz", + "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==" + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz", + "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==" + }, "union-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", @@ -10552,36 +13372,26 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, - "utils-merge": { + "util.promisify": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=" + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "object.getownpropertydescriptors": "2.0.3" + } }, "uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, - "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", - "dev": true, - "requires": { - "user-home": "1.1.1" - } - }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -10591,36 +13401,17 @@ "spdx-expression-parse": "3.0.0" } }, - "vary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz", - "integrity": "sha1-meSYFWaihhGN+yuBc1ffeZM3bRA=" - }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, "requires": { "assert-plus": "1.0.0", "core-util-is": "1.0.2", "extsprintf": "1.3.0" } }, - "vhost": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz", - "integrity": "sha1-L7HezUxGaqiLD5NBrzPcGv8keNU=" - }, - "vinyl": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", - "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", - "requires": { - "clone": "1.0.4", - "clone-stats": "0.0.1", - "replace-ext": "0.0.1" - } - }, "walker": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", @@ -10692,23 +13483,12 @@ "isexe": "2.0.0" } }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" - }, - "win-release": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz", - "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", - "requires": { - "semver": "5.5.0" - } - }, "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true, + "optional": true }, "wordwrap": { "version": "1.0.0", @@ -10719,6 +13499,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "dev": true, "requires": { "errno": "0.1.7" } @@ -10783,44 +13564,12 @@ } } }, - "xcode": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/xcode/-/xcode-0.9.3.tgz", - "integrity": "sha1-kQqJwWrubMC0LKgFptC0z4chHPM=", - "requires": { - "pegjs": "0.10.0", - "simple-plist": "0.2.1", - "uuid": "3.0.1" - }, - "dependencies": { - "uuid": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", - "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=" - } - } - }, "xml-name-validator": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", "dev": true }, - "xmlbuilder": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz", - "integrity": "sha1-mLj2UcowqmJANvEn0RzGbce5B6M=", - "requires": { - "lodash": "3.10.1" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" - } - } - }, "xmldoc": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-0.4.0.tgz", @@ -10853,76 +13602,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "4.2.1" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "requires": { - "camelcase": "3.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - } - } } } } diff --git a/package.json b/package.json index d788d20b..492fd11e 100644 --- a/package.json +++ b/package.json @@ -7,11 +7,12 @@ "private": true, "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", + "android": "cd ./android && ./gradlew app:assembleDebug && ./gradlew installDebug", "test": "jest" }, "dependencies": { "base-64": "^0.1.0", - "bugsnag-react-native": "^2.3.2", + "bugsnag-react-native": "^2.12.6", "immutable": "^3.8.1", "lodash": "^4.17.4", "moment": "^2.18.1", @@ -26,14 +27,12 @@ "standard-file-js": "0.3.19" }, "devDependencies": { - "babel-cli": "^6.26.0", - "babel-jest": "21.0.0", - "babel-preset-env": "^1.6.1", - "babel-preset-react-native": "3.0.2", + "@babel/preset-flow": "^7.0.0", + "@babel/core": "^7.0.0", + "babel-jest": "^23.4.2", + "babel-loader": "^8.0.4", "jest": "21.0.1", - "react-test-renderer": "16.0.0-alpha.12" - }, - "jest": { - "preset": "react-native" + "react-test-renderer": "16.6.3", + "metro-react-native-babel-preset": "^0.51.1" } } From 22edfebe3c18ef602ac81e14ebc0008ffc92b29f Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 26 Dec 2018 12:22:36 -0600 Subject: [PATCH 004/131] Pre-switch to React Navigation --- .gitmodules | 3 + android/app/build.gradle | 2 +- index.js | 3 + package-lock.json | 877 +++++++++++++-------------------------- package.json | 14 +- src/Styles.js | 2 +- src/app.js | 119 ++++-- src/screens/Abstract.js | 60 ++- src/screens/Account.js | 13 +- src/screens/Compose.js | 55 ++- src/screens/Filter.js | 15 +- src/screens/Notes.js | 68 ++- vendor/react-native-fab | 1 + 13 files changed, 499 insertions(+), 733 deletions(-) create mode 100644 index.js create mode 160000 vendor/react-native-fab diff --git a/.gitmodules b/.gitmodules index 925c661b..fc565985 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,3 +16,6 @@ [submodule "vendor/react-native-navigation"] path = vendor/react-native-navigation url = git@github.com:mobitar/react-native-navigation.git +[submodule "vendor/react-native-fab"] + path = vendor/react-native-fab + url = git@github.com:mobitar/React-Native-FAB.git diff --git a/android/app/build.gradle b/android/app/build.gradle index 7f586db2..d5b2fd5e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -73,7 +73,7 @@ import com.android.build.OutputFile */ project.ext.react = [ - entryFile: "index.android.js" + entryFile: "index.js" ] apply from: "../../node_modules/react-native/react.gradle" diff --git a/index.js b/index.js new file mode 100644 index 00000000..fac4028e --- /dev/null +++ b/index.js @@ -0,0 +1,3 @@ +import './src/global.js' +import App from './src/app'; +App.get().start(); diff --git a/package-lock.json b/package-lock.json index f32b6207..d2c38a07 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,17 +5,17 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-rc.1.tgz", - "integrity": "sha512-qhQo3GqwqMUv03SxxjcEkWtlkEDvFYrBKbJUn4Dtd9amC2cLkJ3me4iYUVSBbVXWbfbVRalEeVBHzX4aQYKnBg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0-rc.1" + "@babel/highlight": "7.0.0" } }, "@babel/core": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0.tgz", - "integrity": "sha512-nrvxS5u6QUN5gLl1GEakIcmOeoUHT1/gQtdMRq18WFURJ5osn4ppJLVSseMQo4zVWKJfBTF4muIYijXUnKlRLQ==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", + "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { "@babel/code-frame": "7.0.0", "@babel/generator": "7.2.2", @@ -25,202 +25,62 @@ "@babel/traverse": "7.2.3", "@babel/types": "7.2.2", "convert-source-map": "1.5.1", - "debug": "3.2.6", - "json5": "0.5.1", - "lodash": "4.17.10", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.11", "resolve": "1.8.1", "semver": "5.5.0", "source-map": "0.5.7" }, "dependencies": { - "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "requires": { - "@babel/highlight": "7.0.0" - } - }, - "@babel/generator": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", - "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", - "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" - } - }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", - "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", - "requires": { - "@babel/types": "7.2.2" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", - "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", - "requires": { - "@babel/types": "7.2.2" - } - }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", - "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" - } - }, - "@babel/parser": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", - "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" - }, - "@babel/template": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", - "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", - "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" - } - }, - "@babel/traverse": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", - "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", - "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.10" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "2.1.1" - } - } - } - }, - "@babel/types": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", - "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", - "requires": { - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "1.9.2" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" - } - }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { "ms": "2.1.1" } }, - "globals": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", - "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "requires": { + "minimist": "1.2.0" + } }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "3.0.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" } } }, "@babel/generator": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-rc.1.tgz", - "integrity": "sha512-Ak4n780/coo+L9GZUS7V/IGJilP11t4UoWl0J9cG3jso4KkDGQcqdx4Y6gJAiXng+sDfvzUmvWfM1hZwH82J0A==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", + "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.0.0-rc.1", - "jsesc": "2.5.1", - "lodash": "4.17.10", + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" }, "dependencies": { "jsesc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", - "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" } } }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-rc.1.tgz", - "integrity": "sha512-GOV2UExs9gAvSrZF4rcgocXXeLJplq2kL2AsCrn6DmGwMUEfo/KB7FhedN3X6cVh0gOqqKkVKXrz3Li1wQ84xQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.0.0-rc.1" + "@babel/types": "7.2.2" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -238,7 +98,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -264,7 +124,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -300,7 +160,7 @@ "requires": { "@babel/types": "7.2.2", "jsesc": "2.5.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" } @@ -369,7 +229,7 @@ "@babel/types": "7.2.2", "debug": "4.1.1", "globals": "11.9.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/types": { @@ -378,7 +238,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -465,7 +325,7 @@ "requires": { "@babel/types": "7.2.2", "jsesc": "2.5.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" } @@ -566,7 +426,7 @@ "@babel/types": "7.2.2", "debug": "4.1.1", "globals": "11.9.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/types": { @@ -575,7 +435,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -636,13 +496,13 @@ } }, "@babel/helper-define-map": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-rc.1.tgz", - "integrity": "sha512-yTn+nj29QrZLCINtgqFLgbrbvz6yM029ox/MpQfSS/JmrQovnEc+o5vrsW/R74QPheOHmF9ruJo58atwuk04Fw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", + "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1", - "lodash": "4.17.10" + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.11" } }, "@babel/helper-explode-assignable-expression": { @@ -669,7 +529,7 @@ "requires": { "@babel/types": "7.2.2", "jsesc": "2.5.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" } @@ -738,7 +598,7 @@ "@babel/types": "7.2.2", "debug": "4.1.1", "globals": "11.9.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/types": { @@ -747,7 +607,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -808,21 +668,21 @@ } }, "@babel/helper-function-name": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-rc.1.tgz", - "integrity": "sha512-fDbWxdYYbFNzcI5jn3qsPxHI1UCXwvFk0kGytGce/FEBYEPXBqycKknC8Oqiub8DzGtmTcvnqcm/cl/qxzeuiQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0-rc.1", - "@babel/template": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-rc.1.tgz", - "integrity": "sha512-5+ydaIRxT42FSDqvoXIDksCGlW1903xC73HQnQCFF1YuV7VcIf+9M4+tRZulLlYlshw7ILA+4SiYsKoDlC0Irg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.0.0-rc.1" + "@babel/types": "7.2.2" } }, "@babel/helper-hoist-variables": { @@ -839,7 +699,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -851,11 +711,11 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-rc.1.tgz", - "integrity": "sha512-o263plHxPo1TxDDUx7gHuQ96Y8QyLs2n4968KZvo2l/9rkwn2L9kcIsRVjlhpPPKTz4tWe/7ZV50zkeDorrK9g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.0.0-rc.1" + "@babel/types": "7.2.2" } }, "@babel/helper-module-imports": { @@ -872,7 +732,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -893,7 +753,7 @@ "@babel/helper-split-export-declaration": "7.0.0", "@babel/template": "7.2.2", "@babel/types": "7.2.2", - "lodash": "4.17.10" + "lodash": "4.17.11" }, "dependencies": { "@babel/code-frame": { @@ -943,7 +803,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -981,24 +841,24 @@ } }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-rc.1.tgz", - "integrity": "sha512-XOKPnL/AJz8ZyY553FsMAVt9g/mE1+RQfg5/m3X0K4+RqYviPGZlxwe5mGSd8s2kPSB6D6nZRUfvZFtmFIXEvA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.0.0-rc.1" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-rc.1.tgz", - "integrity": "sha512-8ZNzqHXDhT/JjnBvrLKu8AL7NhONVIsnrfyQNm3PJNmufIER5kcIa3OxPMGWgNqox2R8WeQ6YYzYTLNXqq4kgQ==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" }, "@babel/helper-regex": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", "requires": { - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/helper-remap-async-to-generator": { @@ -1028,7 +888,7 @@ "requires": { "@babel/types": "7.2.2", "jsesc": "2.5.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" } @@ -1116,7 +976,7 @@ "@babel/types": "7.2.2", "debug": "4.1.1", "globals": "11.9.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/types": { @@ -1125,7 +985,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -1186,14 +1046,14 @@ } }, "@babel/helper-replace-supers": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-rc.1.tgz", - "integrity": "sha512-mcv+NKCazZfdEw7yBe/xROekR3qlFcy18d//mJTKnZb7xx2qFPjZAafkeIlpvzNHwd/WMTHShC4+3WjOL8FD5g==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", + "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0-rc.1", - "@babel/helper-optimise-call-expression": "7.0.0-rc.1", - "@babel/traverse": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-simple-access": { @@ -1244,7 +1104,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -1282,22 +1142,22 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-rc.1.tgz", - "integrity": "sha512-hz6QmlnaBFYt4ra8DfRLCMgrI7yfwQ13kJtufSO5dVCasxmAng2LeeQiT6H4iN5TpFONcayp5f/2mXqHH/zn/g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.0.0-rc.1" + "@babel/types": "7.2.2" } }, "@babel/helper-wrap-function": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-rc.1.tgz", - "integrity": "sha512-LrqRD4+jEkQGVQsCRi7bPkSmYFAUd3pv9tYAC8nsr9Y0Qfus8oycqxDj60QW4dmigRKBRRbVVLr/0kMI2pk0MA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "7.0.0-rc.1", - "@babel/template": "7.0.0-rc.1", - "@babel/traverse": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1" + "@babel/helper-function-name": "7.1.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helpers": { @@ -1308,169 +1168,16 @@ "@babel/template": "7.2.2", "@babel/traverse": "7.2.3", "@babel/types": "7.2.2" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "requires": { - "@babel/highlight": "7.0.0" - } - }, - "@babel/generator": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", - "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", - "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" - } - }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", - "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", - "requires": { - "@babel/types": "7.2.2" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", - "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", - "requires": { - "@babel/types": "7.2.2" - } - }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", - "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" - } - }, - "@babel/parser": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", - "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" - }, - "@babel/template": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", - "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", - "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" - } - }, - "@babel/traverse": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", - "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", - "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.10" - } - }, - "@babel/types": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", - "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", - "requires": { - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "1.9.2" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "2.1.1" - } - }, - "globals": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", - "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "3.0.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - } } }, "@babel/highlight": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-rc.1.tgz", - "integrity": "sha512-5PgPDV6F5s69XNznTcP0za3qH7qgBkr9DVQTXfZtpF+3iEyuIZB1Mjxu52F5CFxgzQUQJoBYHVxtH4Itdb5MgA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { "chalk": "2.4.1", "esutils": "2.0.2", - "js-tokens": "3.0.2" + "js-tokens": "4.0.0" }, "dependencies": { "ansi-styles": { @@ -1488,18 +1195,13 @@ "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "supports-color": "5.5.0" } }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { "has-flag": "3.0.0" } @@ -1507,9 +1209,9 @@ } }, "@babel/parser": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-rc.1.tgz", - "integrity": "sha512-rC+bIz2eZnJlacERmJO25UAbXVZttcSxh0Px0gRGinOTzug5tL7+L9urfIdSWlv1ZzP03+f2xkOFLOxZqSsVmQ==" + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.3.tgz", + "integrity": "sha512-0LyEcVlfCoFmci8mXx8A5oIkpkOgyo8dRHtxBnK9RRBwxO2+JZPNsqtVEZQ7mJFPxnXF9lfmU24mHOPI0qnlkA==" }, "@babel/plugin-external-helpers": { "version": "7.2.0", @@ -1559,13 +1261,13 @@ } }, "@babel/plugin-proposal-function-sent": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.0.0-rc.1.tgz", - "integrity": "sha512-azoyZks/5C7p4oZfBDz0ql7PRglesTGa994kACY3e2q+/bWTKFOEdJDsGrwjbXIlMc6YesrXWvYcrnwcaQyvXg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.2.0.tgz", + "integrity": "sha512-qQBDKRSCu1wGJi3jbngs18vrujVQA4F+OkSuIQYRhE6y19jcPzeEIGOc683mCQXDUR3BQCz8JyCupIwv+IRFmA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.1", - "@babel/helper-wrap-function": "7.0.0-rc.1", - "@babel/plugin-syntax-function-sent": "7.0.0-rc.1" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-wrap-function": "7.2.0", + "@babel/plugin-syntax-function-sent": "7.2.0" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { @@ -1633,11 +1335,11 @@ } }, "@babel/plugin-syntax-async-generators": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-rc.1.tgz", - "integrity": "sha512-2F5FYc89TCrqE/8+qFlr5jVMTHfkhEOg9JUx+GXI3inW2OfcY+J6bN8EDc8PLz84PHaR8W630YOuh2PveJu3WA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.1" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-syntax-class-properties": { @@ -1701,11 +1403,11 @@ } }, "@babel/plugin-syntax-function-sent": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.0.0-rc.1.tgz", - "integrity": "sha512-Vvy+YzvbC4pvGGk9WEzlmwN6Tay9zwUgg6zH7Lo8UXIIOkwct6bM6alujut/YSOhb0ez1nGHejvhH5Sqxw0Vgw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz", + "integrity": "sha512-2MOVuJ6IMAifp2cf0RFkHQaOvHpbBYyWCvgtF/WVqXhTd7Bgtov8iXVCadLXp2FN1BrI2EFl+JXuwXy0qr3KoQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.1" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-syntax-jsx": { @@ -1799,11 +1501,11 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-rc.1.tgz", - "integrity": "sha512-9JnWkl+iKmjNgMFrLjfGJQm3f66SJxwaYjdsm49Vpvo9x7ADHMGMZYa5Yto9WNQBlIdtf+fhypwBcz6IPxdyvg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.1" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-async-to-generator": { @@ -1839,33 +1541,33 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-rc.1.tgz", - "integrity": "sha512-9uGwvSqJcmcKPEkLHA7ffrG0lKXTXprupwGjEKDw27OoRWXHdWUmA4VwpuzMrUsYyV+q+P6mgj6TPzoGJA3fAw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", + "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.1", - "lodash": "4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-rc.1.tgz", - "integrity": "sha512-mPXMbQR8zNHMXvaJ71wQ7iPcQLHPv12XjWwvYkDjtsEvknDQ2HWA+UYZGVpZ0bv3jLQIZuwc1kZ6f5vSsavvog==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", + "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0-rc.1", - "@babel/helper-define-map": "7.0.0-rc.1", - "@babel/helper-function-name": "7.0.0-rc.1", - "@babel/helper-optimise-call-expression": "7.0.0-rc.1", - "@babel/helper-plugin-utils": "7.0.0-rc.1", - "@babel/helper-replace-supers": "7.0.0-rc.1", - "@babel/helper-split-export-declaration": "7.0.0-rc.1", - "globals": "11.7.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" }, "dependencies": { "globals": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", - "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==" + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" } } }, @@ -1932,11 +1634,11 @@ } }, "@babel/plugin-transform-for-of": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-rc.1.tgz", - "integrity": "sha512-v09o2ywKHu+b/vkLknjKPV9QXCxuU2cVFxkWhBqcKwl3ERe3clhiab7a/8T9Sc332o4Im6n/LLugKMtpfxqRsQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", + "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0-rc.1" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-function-name": { @@ -2010,7 +1712,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -2133,7 +1835,7 @@ "requires": { "@babel/types": "7.2.2", "jsesc": "2.5.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" } @@ -2234,7 +1936,7 @@ "@babel/types": "7.2.2", "debug": "4.1.1", "globals": "11.9.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/types": { @@ -2243,7 +1945,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -2332,7 +2034,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -2511,7 +2213,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -2581,7 +2283,7 @@ "core-js": "2.6.1", "find-cache-dir": "1.0.0", "home-or-tmp": "3.0.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "mkdirp": "0.5.1", "pirates": "4.0.0", "source-map-support": "0.5.9" @@ -2614,9 +2316,9 @@ } }, "@babel/runtime": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-rc.1.tgz", - "integrity": "sha512-Nifv2kwP/nwR39cAOasNxzjYfpeuf/ZbZNtQz5eYxWTC9yHARU9wItFnAwz1GTZ62MU+AtSjzZPMbLK5Q9hmbg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", + "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "requires": { "regenerator-runtime": "0.12.1" }, @@ -2629,54 +2331,58 @@ } }, "@babel/template": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-rc.1.tgz", - "integrity": "sha512-gPLng2iedNlkaGD0UdwaUByQXK8k4bnaoq2RH5JgR2mqHvh2RyjkDdaMbZFlSss1Iu8+PrXwbIRworTl8iRqbA==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0-rc.1", - "@babel/parser": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1", - "lodash": "4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-rc.1.tgz", - "integrity": "sha512-lNOpJ5xzakg+fCobQQHdeDRYeN54b+bAZpeTYMeeYPAvN+hTldg9/FSNKYEMRs5EWoQ0Yt74gwq98InSORdSDQ==", - "requires": { - "@babel/code-frame": "7.0.0-rc.1", - "@babel/generator": "7.0.0-rc.1", - "@babel/helper-function-name": "7.0.0-rc.1", - "@babel/helper-split-export-declaration": "7.0.0-rc.1", - "@babel/parser": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1", - "debug": "3.1.0", - "globals": "11.7.0", - "lodash": "4.17.10" + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "requires": { + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.0.0" + "ms": "2.1.1" } }, "globals": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", - "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==" + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", + "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" } } }, "@babel/types": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-rc.1.tgz", - "integrity": "sha512-MBwO1JQKin9BwKTGydrYe4VDJbStCUy35IhJzeZt3FByOdx/q3CYaqMRrH70qVD2RA7+Xk8e3RN0mzKZkYBYuQ==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", + "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" }, "dependencies": { @@ -2699,9 +2405,9 @@ "integrity": "sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=" }, "acorn": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", - "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==" + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" }, "acorn-globals": { "version": "3.1.0", @@ -3192,7 +2898,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "async-limiter": { @@ -3253,7 +2959,7 @@ "babel-types": "6.26.0", "detect-indent": "4.0.0", "jsesc": "1.3.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" } @@ -3372,7 +3078,7 @@ "babel-runtime": "6.26.0", "core-js": "2.6.1", "home-or-tmp": "2.0.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "mkdirp": "0.5.1", "source-map-support": "0.4.18" }, @@ -3396,7 +3102,7 @@ "convert-source-map": "1.5.1", "debug": "2.6.9", "json5": "0.5.1", - "lodash": "4.17.10", + "lodash": "4.17.11", "minimatch": "3.0.4", "path-is-absolute": "1.0.1", "private": "0.1.8", @@ -3446,7 +3152,7 @@ "babel-traverse": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "babel-traverse": { @@ -3463,7 +3169,7 @@ "debug": "2.6.9", "globals": "9.18.0", "invariant": "2.2.4", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "babel-types": { @@ -3474,7 +3180,7 @@ "requires": { "babel-runtime": "6.26.0", "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "1.0.3" } }, @@ -3895,6 +3601,17 @@ "once": "1.4.0", "path-is-absolute": "1.0.1" } + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", + "requires": { + "ast-types": "0.9.6", + "esprima": "3.1.3", + "private": "0.1.8", + "source-map": "0.5.7" + } } } }, @@ -4167,7 +3884,7 @@ "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "requires": { - "acorn": "5.7.1", + "acorn": "5.7.3", "defined": "1.0.0" } }, @@ -5447,7 +5164,7 @@ "cli-width": "2.2.0", "external-editor": "2.2.0", "figures": "2.0.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "mute-stream": "0.0.7", "run-async": "2.3.0", "rx-lite": "4.0.8", @@ -7260,7 +6977,7 @@ "convert-source-map": "1.5.1", "debug": "2.6.9", "json5": "0.5.1", - "lodash": "4.17.10", + "lodash": "4.17.11", "minimatch": "3.0.4", "path-is-absolute": "1.0.1", "private": "0.1.8", @@ -8058,7 +7775,8 @@ "json5": { "version": "0.5.1", "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true }, "jsonfile": { "version": "2.4.0", @@ -8184,9 +7902,9 @@ } }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, "lodash.pad": { "version": "4.5.1", @@ -8372,7 +8090,7 @@ "convert-source-map": "1.5.1", "debug": "4.1.1", "json5": "2.1.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "resolve": "1.8.1", "semver": "5.5.0", "source-map": "0.5.7" @@ -8395,7 +8113,7 @@ "requires": { "@babel/types": "7.2.2", "jsesc": "2.5.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" } @@ -8415,7 +8133,7 @@ "requires": { "@babel/helper-function-name": "7.1.0", "@babel/types": "7.2.2", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/helper-function-name": { @@ -8527,7 +8245,7 @@ "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -8576,7 +8294,7 @@ "@babel/types": "7.2.2", "debug": "4.1.1", "globals": "11.9.0", - "lodash": "4.17.10" + "lodash": "4.17.11" }, "dependencies": { "debug": { @@ -8595,7 +8313,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -9268,7 +8986,7 @@ "convert-source-map": "1.5.1", "debug": "4.1.1", "json5": "2.1.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "resolve": "1.8.1", "semver": "5.5.0", "source-map": "0.5.7" @@ -9281,7 +8999,7 @@ "requires": { "@babel/types": "7.2.2", "jsesc": "2.5.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" } @@ -9360,7 +9078,7 @@ "@babel/types": "7.2.2", "debug": "4.1.1", "globals": "11.9.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/types": { @@ -9369,7 +9087,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -9873,7 +9591,7 @@ "requires": { "@babel/types": "7.2.2", "jsesc": "2.5.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" } @@ -9895,7 +9613,7 @@ "requires": { "@babel/helper-function-name": "7.1.0", "@babel/types": "7.2.2", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/helper-function-name": { @@ -9996,7 +9714,7 @@ "dev": true, "requires": { "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -10049,7 +9767,7 @@ "@babel/types": "7.2.2", "debug": "4.1.1", "globals": "11.9.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/types": { @@ -10059,7 +9777,7 @@ "dev": true, "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -10249,9 +9967,9 @@ } }, "moment": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.23.0.tgz", + "integrity": "sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA==" }, "ms": { "version": "2.0.0", @@ -10918,7 +10636,7 @@ "glob": "7.1.2", "graceful-fs": "4.1.11", "inquirer": "3.3.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "metro": "0.48.5", "metro-babel-register": "0.48.5", "metro-core": "0.48.5", @@ -10974,7 +10692,7 @@ "convert-source-map": "1.5.1", "debug": "4.1.1", "json5": "2.1.0", - "lodash": "4.17.10", + "lodash": "4.17.11", "resolve": "1.8.1", "semver": "5.5.0", "source-map": "0.5.7" @@ -10997,7 +10715,7 @@ "requires": { "@babel/types": "7.2.2", "jsesc": "2.5.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "source-map": "0.5.7", "trim-right": "1.0.1" } @@ -11017,7 +10735,7 @@ "requires": { "@babel/helper-function-name": "7.1.0", "@babel/types": "7.2.2", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/helper-function-name": { @@ -11129,7 +10847,7 @@ "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.10" + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -11193,7 +10911,7 @@ "@babel/types": "7.2.2", "debug": "4.1.1", "globals": "11.9.0", - "lodash": "4.17.10" + "lodash": "4.17.11" }, "dependencies": { "debug": { @@ -11212,7 +10930,7 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { "esutils": "2.0.2", - "lodash": "4.17.10", + "lodash": "4.17.11", "to-fast-properties": "2.0.0" } }, @@ -11748,9 +11466,9 @@ "integrity": "sha512-EDTKVFHKkNHlHCt+ZISQBP6/fCx711s49iIBqBjYZP0Qryr1skRf+2PL6+YmxmGlP+P3Jf2LD+wSBKdfpuGXfA==" }, "react-native-search-box": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/react-native-search-box/-/react-native-search-box-0.0.11.tgz", - "integrity": "sha512-RqUdUhvx+XdcQrolDiNoE6qaONT0c5EtEW47IOgdOAo6icWFHBaSQR4/OaxMgGpLUua8kb3D3hVCFJOk6xLC6A==", + "version": "0.0.19", + "resolved": "https://registry.npmjs.org/react-native-search-box/-/react-native-search-box-0.0.19.tgz", + "integrity": "sha512-tbL5URnckRqhewRkkskHkgDX20HZQLxaHTaqiIS9T6eKETao6xVprduBEWaSLLwGmR/+JtXiMMG6V5MYWYhx9w==", "requires": { "prop-types": "15.6.2" } @@ -11765,7 +11483,7 @@ "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-4.6.0.tgz", "integrity": "sha512-rpfhfPiXCK2PX1nrNhdxSMrEGB/Gw/SvKoPM0G2wAkSoqynnes19K0VYI+Up7DqR1rFIpE4hP2erpT1tNx2tfg==", "requires": { - "lodash": "4.17.10", + "lodash": "4.17.11", "prop-types": "15.6.2", "yargs": "8.0.2" }, @@ -11920,7 +11638,7 @@ "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=", "requires": { - "lodash": "4.17.10", + "lodash": "4.17.11", "react-deep-force-update": "1.1.1" } }, @@ -11986,14 +11704,31 @@ } }, "recast": { - "version": "0.11.23", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", - "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.16.1.tgz", + "integrity": "sha512-ZUQm94F3AHozRaTo4Vz6yIgkSEZIL7p+BsWeGZ23rx+ZVRoqX+bvBA8br0xmCOU0DSR4qYGtV7Y5HxTsC4V78A==", "requires": { - "ast-types": "0.9.6", - "esprima": "3.1.3", + "ast-types": "0.11.6", + "esprima": "4.0.1", "private": "0.1.8", - "source-map": "0.5.7" + "source-map": "0.6.1" + }, + "dependencies": { + "ast-types": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.6.tgz", + "integrity": "sha512-nHiuV14upVGl7MWwFUYbzJ6YlfwWS084CU9EA8HajfYQjMSli5TQi3UTRygGF58LFWVkXxS1rbgRhROEqlQkXg==" + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, "regenerate": { @@ -12010,35 +11745,20 @@ } }, "regenerator": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.13.2.tgz", - "integrity": "sha512-79ahXWnBxh1IV5LuY2yVPNOuajJyv/LevWYrMWG6hq6UNuiI7XGI9sdRhJy2TZdrl2OBhHPrawdsHBa3I15AnA==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.13.3.tgz", + "integrity": "sha512-vePgoVGUgXfLBw4Z1hv8PTfmt7TW5dT/cMdq2GCdr3TYoPTE1WUU/KjiaZCOLD/JSyGWJMWhMRDYBLbpmVzkFw==", "requires": { - "@babel/core": "7.0.0", - "@babel/runtime": "7.0.0-rc.1", - "@babel/types": "7.0.0-rc.1", + "@babel/core": "7.2.2", + "@babel/runtime": "7.2.0", + "@babel/types": "7.2.2", "commoner": "0.10.8", "private": "0.1.8", - "recast": "0.11.23", + "recast": "0.16.1", "regenerator-preset": "0.12.1", - "regenerator-runtime": "0.12.1", + "regenerator-runtime": "0.13.1", "regenerator-transform": "0.13.3", "through": "2.3.8" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" - }, - "regenerator-transform": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", - "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", - "requires": { - "private": "0.1.8" - } - } } }, "regenerator-preset": { @@ -12046,25 +11766,20 @@ "resolved": "https://registry.npmjs.org/regenerator-preset/-/regenerator-preset-0.12.1.tgz", "integrity": "sha512-s/4SOEU1TxZ6IV/CQfz4BEjn29HaRhvqYPoufx2hp9LfuD2dnwnmtWEdXxUuG4JHAE7V+y6aqvileT1AflcH9g==", "requires": { - "@babel/plugin-proposal-function-sent": "7.0.0-rc.1", - "@babel/plugin-syntax-async-generators": "7.0.0-rc.1", - "@babel/plugin-transform-arrow-functions": "7.0.0-rc.1", - "@babel/plugin-transform-block-scoping": "7.0.0-rc.1", - "@babel/plugin-transform-classes": "7.0.0-rc.1", - "@babel/plugin-transform-for-of": "7.0.0-rc.1", + "@babel/plugin-proposal-function-sent": "7.2.0", + "@babel/plugin-syntax-async-generators": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-for-of": "7.2.0", "regenerator-transform": "0.13.3" - }, - "dependencies": { - "regenerator-transform": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", - "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", - "requires": { - "private": "0.1.8" - } - } } }, + "regenerator-runtime": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.1.tgz", + "integrity": "sha512-5KzMIyPLvfdPmvsdlYsHqITrDfK9k7bmvf97HvHSN4810i254ponbxCQ1NukpRWlu6en2MBWzAlhDExEKISwAA==" + }, "regenerator-transform": { "version": "0.13.3", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", diff --git a/package.json b/package.json index 492fd11e..38ed1b85 100644 --- a/package.json +++ b/package.json @@ -14,25 +14,25 @@ "base-64": "^0.1.0", "bugsnag-react-native": "^2.12.6", "immutable": "^3.8.1", - "lodash": "^4.17.4", - "moment": "^2.18.1", + "lodash": "^4.17.11", + "moment": "^2.23.0", "react": "16.6.3", "react-native": "0.57.8", "react-native-keychain": "^1.2.1", - "react-native-search-box": "0.0.11", + "react-native-search-box": "0.0.19", "react-native-store-review": "^0.1.3", "react-native-vector-icons": "^4.3.0", - "regenerator": "^0.13.2", + "regenerator": "^0.13.3", "sn-models": "0.1.8", "standard-file-js": "0.3.19" }, "devDependencies": { + "@babel/core": "^7.2.2", "@babel/preset-flow": "^7.0.0", - "@babel/core": "^7.0.0", "babel-jest": "^23.4.2", "babel-loader": "^8.0.4", "jest": "21.0.1", - "react-test-renderer": "16.6.3", - "metro-react-native-babel-preset": "^0.51.1" + "metro-react-native-babel-preset": "^0.51.1", + "react-test-renderer": "16.6.3" } } diff --git a/src/Styles.js b/src/Styles.js index 197df318..fda7a923 100644 --- a/src/Styles.js +++ b/src/Styles.js @@ -297,7 +297,7 @@ export default class GlobalStyles { navBarTextColor: tintColor, navBarColorAndroid: tintColor, - navBarTextColorAndroid: "#ffffff", + navBarTextColorAndroid: "#000000", paddingLeft: 14, plainCellBorderColor: "#efefef", diff --git a/src/app.js b/src/app.js index 0b71f164..bc17ac25 100644 --- a/src/app.js +++ b/src/app.js @@ -147,6 +147,19 @@ export default class App { } start() { + + let startApp = () => { + this.startApp(); + ApplicationState.get().receiveApplicationStartEvent(); + } + + Navigation.events().registerAppLaunchedListener(() => { + this.appLaunched = true; + if(this.startAppOnLaunch) { + startApp(); + } + }); + this.loading = true; GlobalStyles.get().resolveInitialTheme().then(function(){ Promise.all([ @@ -156,10 +169,11 @@ export default class App { ]).then(function(){ this.loading = false; var run = () => { - Navigation.events().registerAppLaunchedListener(() => { - this.startApp(); - ApplicationState.get().receiveApplicationStartEvent(); - }); + if(this.appLaunched) { + startApp(); + } else { + this.startAppOnLaunch = true; + } } if(KeysManager.get().isFirstRun()) { KeysManager.get().handleFirstRun().then(run); @@ -173,22 +187,22 @@ export default class App { startApp(options = {}) { console.log("===Starting App==="); - if(this.isIOS) { - Navigation.setDefaultOptions({ - bottomTabs: { - visible: true, - animate: false, // Controls whether BottomTabs visibility changes should be animated - drawBehind: true, - backgroundColor: GlobalStyles.constants().mainBackgroundColor - }, - bottomTab: { - iconColor: GlobalStyles.constants().mainDimColor, - selectedIconColor: GlobalStyles.constants().mainTintColor, - textColor: GlobalStyles.constants().mainDimColor, - selectedTextColor: GlobalStyles.constants().mainTintColor - }, - }); + Navigation.setDefaultOptions({ + bottomTabs: { + visible: true, + animate: false, // Controls whether BottomTabs visibility changes should be animated + drawBehind: true, + backgroundColor: GlobalStyles.constants().mainBackgroundColor + }, + bottomTab: { + iconColor: GlobalStyles.constants().mainDimColor, + selectedIconColor: GlobalStyles.constants().mainTintColor, + textColor: GlobalStyles.constants().mainDimColor, + selectedTextColor: GlobalStyles.constants().mainTintColor + }, + }); + if(this.isIOS) { Navigation.setRoot({ root: { bottomTabs: { @@ -236,34 +250,49 @@ export default class App { } } }); - } else { - let drawer = { - left: { - screen: 'sn.Filter', - passProps: { - singleSelectMode: true, - options: JSON.stringify(this.optionsState), - onOptionsChange: (options) => { - this.optionsState.mergeWith(options); - } + } + else { + + Navigation.setRoot({ + root: { + sideMenu: { + center: { + stack: { + children: [{ + component: { + name: 'sn.Notes', + options: { + bottomTab: { + text: 'Notes', + icon: Icons.getIcon('ios-menu-outline') + }, + topBar: { + title: { + text: "Notes", + } + } + } + } + }] + } + }, + left: { + component: { + name: 'sn.Filter', + id: "SideMenu", + passProps: { + singleSelectMode: true, + options: JSON.stringify(this.optionsState), + onOptionsChange: (options) => { + this.optionsState.mergeWith(options); + } + } + } + }, + disableOpenGesture: false } - }, - disableOpenGesture: false - }; - - Navigation.startSingleScreenApp( - { - screen: { - label: 'Notes', - screen: 'sn.Notes', - title: 'Notes', - }, - tabsStyle: _.clone(this.tabStyles), // for iOS - appStyle: _.clone(this.tabStyles), // for Android - drawer: drawer, - animationType: 'none' } - ); + }); } } diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 160e9192..b844a18b 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -8,7 +8,7 @@ import {Navigation} from 'react-native-navigation'; export default class Abstract extends Component { static options(passProps) { - var color = GlobalStyles.constantForKey(App.isIOS ? "mainTextColor" : "navBarTextColor"); + return { topBar: { visible: true, @@ -26,10 +26,6 @@ export default class Abstract extends Component { title: { color: GlobalStyles.constants().mainTextColor, fontWeight: 'bold' - }, - subtitle: { - color: GlobalStyles.hexToRGBA(color, 0.5), - fontSize: 12 } } }; @@ -38,16 +34,9 @@ export default class Abstract extends Component { constructor(props) { super(props); - Navigation.events().bindComponent(this); this.state = {lockContent: true}; - Navigation.events().registerComponentDidAppearListener(({ componentId, componentName }) => { - this.onNavigatorEvent('didAppear'); - }); - - Navigation.events().registerComponentDidDisappearListener(({ componentId, componentName }) => { - this.onNavigatorEvent('didDisappear'); - }); + Navigation.events().bindComponent(this); this._stateObserver = ApplicationState.get().addStateObserver((state) => { if(!this.isMounted()) { @@ -74,26 +63,22 @@ export default class Abstract extends Component { }) } - onNavigatorEvent(event) { - switch(event) { - case 'willAppear': - this.willBeVisible = true; - this.configureNavBar(false); - break; - case 'didAppear': - this.willBeVisible = true; // Just in case willAppear isn't called for whatever reason - this.viewDidAppear(); - if(this.queuedSubtitle) { - this.setNavBarSubtitle(this.queuedSubtitle); - } - break; - case 'willDisappear': - this.willBeVisible = false; - break; - case 'didDisappear': - this.visible = false; - break; - } + // Called by RNN + componentDidAppear() { + console.log("Component did appear", this); + this.visible = true; + this.willBeVisible = true; // Just in case willAppear isn't called for whatever reason + this.configureNavBar(false); + if(this.queuedSubtitle) { + this.setNavBarSubtitle(this.queuedSubtitle); + } + } + + // Called by RNN + componentDidDisappear() { + console.log("Component did disappear", this); + this.willBeVisible = false; + this.visible = false; } lockContent() { @@ -180,10 +165,15 @@ export default class Abstract extends Component { this.queuedSubtitle = null; + console.log("Setting subtitle text", title); + + var color = GlobalStyles.constantForKey(App.isIOS ? "mainTextColor" : "navBarTextColor"); Navigation.mergeOptions(this.props.componentId, { topBar: { subtitle: { text: title, + color: GlobalStyles.hexToRGBA(color, 0.5), + fontSize: 12 } } }); @@ -195,9 +185,7 @@ export default class Abstract extends Component { Navigation.dismissModal(); } - viewDidAppear() { - this.visible = true; - } + } diff --git a/src/screens/Account.js b/src/screens/Account.js index 84d5bc48..2a46e68f 100644 --- a/src/screens/Account.js +++ b/src/screens/Account.js @@ -113,15 +113,10 @@ export default class Account extends Abstract { } } - onNavigatorEvent(event) { - super.onNavigatorEvent(event); - - switch(event) { - case 'willAppear': - this.loadSecurityStatus(); - this.forceUpdate(); - break; - } + componentDidAppear() { + super.componentDidAppear(); + this.loadSecurityStatus(); + this.forceUpdate(); } navigationButtonPressed({ buttonId }) { diff --git a/src/screens/Compose.js b/src/screens/Compose.js index fde0a779..de43e9c4 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -91,17 +91,6 @@ export default class Compose extends Abstract { ComponentManager.get().deregisterHandler(this.componentHandler); } - viewDidAppear() { - super.viewDidAppear(); - - // Autofocus doesn't work properly on iOS due to navigation push, so we'll focus manually - if(App.isIOS) { - if(this.note.dummy && this.input) { - this.input.focus(); - } - } - } - // on iOS, declaring nav bar buttons as static prevents the flickering issue that occurs on nav push static navigatorButtons = Platform.OS == 'android' ? {} : { @@ -146,29 +135,39 @@ export default class Compose extends Abstract { }); } - onNavigatorEvent(event) { - super.onNavigatorEvent(event); + componentDidAppear() { + super.componentDidAppear(); + // Will appear + if(this.needsEditorReload) { + this.forceUpdate(); + this.needsEditorReload = false; + } - if(event == 'didAppear') { - if(this.note.dummy) { - if(this.refs.input) { - this.refs.input.focus(); - } - } - } else if(event == "willAppear") { - if(this.needsEditorReload) { - this.forceUpdate(); - this.needsEditorReload = false; + if(this.note.dirty) { + // We want the "Saving..." / "All changes saved..." subtitle to be visible to the user, so we delay + setTimeout(() => { + this.changesMade(); + }, 300); + } + + // Did Appear + if(this.note.dummy) { + if(this.refs.input) { + this.refs.input.focus(); } - if(this.note.dirty) { - // We want the "Saving..." / "All changes saved..." subtitle to be visible to the user, so we delay - setTimeout(() => { - this.changesMade(); - }, 300); + } + + if(App.isIOS) { + if(this.note.dummy && this.input) { + this.input.focus(); } } } + componentDidDisappear() { + super.componentDidDisappear(); + } + navigationButtonPressed({ buttonId }) { if (buttonId == 'tags') { this.showOptions(); diff --git a/src/screens/Filter.js b/src/screens/Filter.js index 65fa2659..f941030b 100644 --- a/src/screens/Filter.js +++ b/src/screens/Filter.js @@ -199,15 +199,16 @@ export default class Filter extends Abstract { } } - onNavigatorEvent(event) { - - super.onNavigatorEvent(event); + componentDidAppear() { + super.componentDidAppear(); + this.forceUpdate(); + } - if(event == "willAppear") { - this.forceUpdate(); - } + componentDidDisappear() { + super.componentDidDisappear(); - if(event == "willDisappear" && !this.props.singleSelectMode) { + // will disappear + if(!this.props.singleSelectMode) { // we prefer to notify the parent via NavBarButtonPress.accept, but when this view is presented via nav push, // the user can swipe back and miss that. So we do it here as a backup. if(!this.didNotifyParent) { diff --git a/src/screens/Notes.js b/src/screens/Notes.js index b5e74c1e..9fd3f027 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes.js @@ -21,6 +21,9 @@ import AuthModal from "../containers/AuthModal" import LockedView from "../containers/LockedView" import ApplicationState from "../ApplicationState"; +import Icon from 'react-native-vector-icons/Ionicons'; +import FAB from 'react-native-fab'; + export default class Notes extends Abstract { constructor(props) { @@ -28,6 +31,20 @@ export default class Notes extends Abstract { this.rendersLockscreen = true; + Navigation.events().registerComponentDidAppearListener(({ componentId }) => { + console.log("registerComponentDidAppearListener", componentId); + if (componentId === "SideMenu") { + this.sideMenuVisible = true; + } + }); + + Navigation.events().registerComponentDidDisappearListener(({ componentId }) => { + console.log("registerComponentDidDisappearListener", componentId); + if (componentId === "SideMenu") { + this.sideMenuVisible = false; + } + }); + this.stateObserver = ApplicationState.get().addStateObserver((state) => { if(state == ApplicationState.Resuming) { // we only want to perform sync here if the app is resuming, not if it's a fresh start @@ -235,9 +252,7 @@ export default class Notes extends Abstract { } configureNavBar(initial = false) { - console.log("Configure Nav Bar"); // If you change anything here, be sure to test how it interacts with filtering, when you change which tags to show. - console.log(this.visible, this.willBeVisible); if(this.state.lockContent || (!this.visible && !this.willBeVisible)) { this.needsConfigureNavBar = true; return; @@ -319,9 +334,10 @@ export default class Notes extends Abstract { let leftButtons = [ { - text: filterTitle, id: 'sideMenu', showAsAction: 'ifRoom', + icon: Icons.getIcon('ios-menu-outline'), + color: GlobalStyles.constants().mainTintColor }, ] @@ -349,36 +365,39 @@ export default class Notes extends Abstract { // Don't set this for Android if just opening side menu. this.willBeVisible = (App.isAndroid && buttonId == 'sideMenu'); // this value is only false (what we want) if it's not Android side menu + console.log("Button pressed", buttonId); + if (buttonId == 'new') { this.presentNewComposer(); } else if (buttonId == 'sideMenu') { // Android is handled by the drawer attribute of rn-navigation if(Platform.OS == "ios") { this.presentFilterScreen(); + } else { + this.toggleSideMenu(); } } else if(buttonId == "settings") { this.presentSettingsScreen(); } } - onNavigatorEvent(event) { + componentDidAppear() { + super.componentDidAppear(); - super.onNavigatorEvent(event); + this.forceUpdate(); - if(event == "willAppear" || event == "didAppear") { - if(event == "willAppear") { - this.forceUpdate(); - } - else if(event == "didAppear") { - if(this.needsConfigureNavBar) { - this.configureNavBar(false); - } - } - if(this.loadNotesOnVisible) { - this.loadNotesOnVisible = false; - this.reloadList(); - } + if(this.needsConfigureNavBar) { + this.configureNavBar(false); } + + if(this.loadNotesOnVisible) { + this.loadNotesOnVisible = false; + this.reloadList(); + } + } + + componentDidDisappear() { + super.componentDidDisappear(); } presentNewComposer() { @@ -400,6 +419,11 @@ export default class Notes extends Abstract { }); } + toggleSideMenu() { + console.log("toggleSideMenu"); + Navigation.mergeOptions(this.props.componentId, { sideMenu: { left: { visible: !this.sideMenuVisible } } }); + } + presentFilterScreen() { Navigation.showModal({ stack: { @@ -543,6 +567,14 @@ export default class Notes extends Abstract { {this.state.syncBarText} } + + {this.presentNewComposer()}} + visible={true} + iconTextComponent={} + /> ); } diff --git a/vendor/react-native-fab b/vendor/react-native-fab new file mode 160000 index 00000000..5bd5d816 --- /dev/null +++ b/vendor/react-native-fab @@ -0,0 +1 @@ +Subproject commit 5bd5d816b761542d9ea69f445385ed68eda6e6a8 From a463f6dbfb158c5cec7460af5fbce67952512ef0 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 27 Dec 2018 01:22:30 -0600 Subject: [PATCH 005/131] Functioning refactor with react-navigation --- android/app/build.gradle | 3 +- .../java/com/standardnotes/MainActivity.java | 22 +- .../com/standardnotes/MainApplication.java | 104 +- android/build.gradle | 15 - android/settings.gradle | 6 +- index.android.js | 3 - index.ios.js | 3 - index.js | 8 +- ios/StandardNotes.xcodeproj/project.pbxproj | 85 +- ios/StandardNotes/AppDelegate.m | 24 +- package-lock.json | 4119 +++++++---------- package.json | 14 +- src/ApplicationState.js | 48 +- src/Styles.js | 8 +- src/_app.js | 235 + src/app.js | 349 +- src/components/HeaderTitleView.js | 60 + src/containers/AuthModal.js | 1 - src/containers/LockedView.js | 1 - src/containers/NoteList.js | 4 +- src/containers/account/CompanySection.js | 5 +- src/containers/account/OptionsSection.js | 2 +- src/lib/componentManager.js | 6 +- src/lib/keysManager.js | 3 +- src/lib/moment.js | 8 + src/lib/sfjs/alertManager.js | 1 - src/lib/userPrefsManager.js | 1 - src/models/PlatformStyles.js | 19 + src/models/extend/item.js | 2 +- src/screens/Abstract.js | 156 +- src/screens/Account.js | 83 +- src/screens/Authenticate.js | 14 +- src/screens/Compose.js | 149 +- src/screens/Filter.js | 232 +- src/screens/InputModal.js | 51 +- src/screens/Notes.js | 255 +- src/screens/Webview.js | 59 +- src/screens/index.js | 2 - 38 files changed, 2725 insertions(+), 3435 deletions(-) delete mode 100644 index.android.js delete mode 100644 index.ios.js create mode 100644 src/_app.js create mode 100644 src/components/HeaderTitleView.js create mode 100644 src/lib/moment.js create mode 100644 src/models/PlatformStyles.js diff --git a/android/app/build.gradle b/android/app/build.gradle index d5b2fd5e..49091072 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -106,7 +106,6 @@ android { versionName "2.3.10" multiDexEnabled true - missingDimensionStrategy "RNN.reactNativeVersion", "reactNative57_5" ndk { abiFilters "armeabi-v7a", "x86" @@ -160,6 +159,7 @@ android { } dependencies { + compile project(':react-native-gesture-handler') implementation fileTree(dir: "libs", include: ["*.jar"]) @@ -175,7 +175,6 @@ dependencies { implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" implementation 'com.android.support:design:27.1.0' implementation "com.facebook.react:react-native:+" // From node_modules - implementation project(':react-native-navigation') } // Run this once to be able to run the application with BUCK diff --git a/android/app/src/main/java/com/standardnotes/MainActivity.java b/android/app/src/main/java/com/standardnotes/MainActivity.java index d75b3b57..9376cec9 100644 --- a/android/app/src/main/java/com/standardnotes/MainActivity.java +++ b/android/app/src/main/java/com/standardnotes/MainActivity.java @@ -1,7 +1,25 @@ package com.standardnotes; -import com.reactnativenavigation.NavigationActivity; +import com.facebook.react.ReactActivity; +import com.facebook.react.ReactActivityDelegate; +import com.facebook.react.ReactRootView; +import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView; -public class MainActivity extends NavigationActivity { +public class MainActivity extends ReactActivity { + + @Override + protected String getMainComponentName() { + return "StandardNotes"; + } + + @Override + protected ReactActivityDelegate createReactActivityDelegate() { + return new ReactActivityDelegate(this, getMainComponentName()) { + @Override + protected ReactRootView createRootView() { + return new RNGestureHandlerEnabledRootView(MainActivity.this); + } + }; + } } \ No newline at end of file diff --git a/android/app/src/main/java/com/standardnotes/MainApplication.java b/android/app/src/main/java/com/standardnotes/MainApplication.java index 84aa0e2b..4d3959fd 100644 --- a/android/app/src/main/java/com/standardnotes/MainApplication.java +++ b/android/app/src/main/java/com/standardnotes/MainApplication.java @@ -9,8 +9,10 @@ import android.view.WindowManager; import com.facebook.react.ReactApplication; +import com.swmansion.gesturehandler.react.RNGestureHandlerPackage; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; +import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContext; import com.facebook.react.modules.core.DeviceEventManagerModule; import com.facebook.react.shell.MainReactPackage; @@ -26,76 +28,55 @@ import com.kristiansorens.flagsecure.FlagSecurePackage; import com.bugsnag.BugsnagReactNative; -import com.reactnativenavigation.NavigationApplication; -import com.reactnativenavigation.react.NavigationReactNativeHost; -import com.reactnativenavigation.react.ReactGateway; - import java.util.Arrays; import java.util.List; -public class MainApplication extends NavigationApplication { +public class MainApplication extends Application implements ReactApplication { + private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { @Override - protected ReactGateway createReactGateway() { - ReactNativeHost host = new NavigationReactNativeHost(this, isDebug(), createAdditionalReactPackages()) { - @Override - protected String getJSMainModuleName() { - return "index"; - } - }; - return new ReactGateway(this, isDebug(), host); + public boolean getUseDeveloperSupport() { + return BuildConfig.DEBUG; } - @Override - public boolean isDebug() { - // Make sure you are using BuildConfig from your own application - return BuildConfig.DEBUG; - } + @Override + protected List getPackages() { + return Arrays.asList( + new MainReactPackage(), + new RNGestureHandlerPackage(), + BugsnagReactNative.getPackage(), + new KeychainPackage(), + new VectorIconsPackage(), + new RCTAesPackage(), + new RNMail(), + new ReactNativeFingerprintScannerPackage(), + new SNTextViewPackage(), + new FlagSecurePackage() + ); + } -// protected List createViewManagers(ReactApplicationContext reactContext){ -// return Arrays.asList(); -// } - - - protected List getPackages() { - return Arrays.asList( -// new MainReactPackage(), - BugsnagReactNative.getPackage(), - new KeychainPackage(), - new VectorIconsPackage(), - new RCTAesPackage(), - new RNMail(), - new ReactNativeFingerprintScannerPackage(), - new SNTextViewPackage(), - new FlagSecurePackage() - ); - } -// ======= -// @Override -// protected List getPackages() { -// return Arrays.asList( -// new MainReactPackage() -// ); -// } -// -// @Override -// protected String getJSMainModuleName() { -// return "index"; -// } -// }; -// >>>>>>> theirs + @Override + protected String getJSMainModuleName() { + return "index"; + } + }; @Override - @Nullable - public List createAdditionalReactPackages() { - return getPackages(); + public ReactNativeHost getReactNativeHost() { + return mReactNativeHost; } @Override public void onCreate() { super.onCreate(); + SoLoader.init(this, /* native exopackage */ false); + + // Set AsyncStorage size, default is 6mb + long size = 50L * 1024L * 1024L; // 50 MB + com.facebook.react.modules.storage.ReactDatabaseSupplier.getInstance(getApplicationContext()).setMaximumSize(size); + registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { @@ -103,7 +84,6 @@ public void onActivityCreated(Activity activity, Bundle savedInstanceState) { } - @Override public void onActivityStarted(Activity activity) { if(FlagSecure.instance != null && FlagSecure.instance.enabled) { @@ -132,24 +112,10 @@ public void onActivitySaveInstanceState(Activity activity, Bundle bundle) { public void onActivityDestroyed(Activity activity) { } - public void sendEvent(String eventName) { - ReactContext context = getReactGateway().getReactNativeHost().getReactInstanceManager().getCurrentReactContext(); - if(context != null) { - context.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class).emit(eventName, null); - - } - } - }); - if(!isDebug()) { + if(!BuildConfig.DEBUG) { BugsnagReactNative.start(this); } - - SoLoader.init(this, /* native exopackage */ false); - - // Set AsyncStorage size, default is 6mb - long size = 50L * 1024L * 1024L; // 50 MB - com.facebook.react.modules.storage.ReactDatabaseSupplier.getInstance(getApplicationContext()).setMaximumSize(size); } } diff --git a/android/build.gradle b/android/build.gradle index 65bdf860..3081d324 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -28,21 +28,6 @@ buildscript { } } -subprojects { subproject -> - afterEvaluate { - if ((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) { - android { - variantFilter { variant -> - def names = variant.flavors*.name - if (names.contains("reactNative51") || names.contains("reactNative55") || names.contains("reactNative56") || names.contains("reactNative57")) { - setIgnore(true) - } - } - } - } - } - } - allprojects { repositories { mavenLocal() diff --git a/android/settings.gradle b/android/settings.gradle index 40948a85..82525a90 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,15 +1,15 @@ rootProject.name = 'StandardNotes' include ':app' +include ':react-native-gesture-handler' +project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android') + include ':SNTextView' project(':SNTextView').projectDir = new File(rootProject.projectDir, '../vendor/sn-textview/android') include ':bugsnag-react-native' project(':bugsnag-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/bugsnag-react-native/android') -include ':react-native-navigation' -project(':react-native-navigation').projectDir = new File(rootProject.projectDir, '../vendor/react-native-navigation/lib/android/app') - include ':react-native-keychain' project(':react-native-keychain').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-keychain/android') diff --git a/index.android.js b/index.android.js deleted file mode 100644 index fac4028e..00000000 --- a/index.android.js +++ /dev/null @@ -1,3 +0,0 @@ -import './src/global.js' -import App from './src/app'; -App.get().start(); diff --git a/index.ios.js b/index.ios.js deleted file mode 100644 index fac4028e..00000000 --- a/index.ios.js +++ /dev/null @@ -1,3 +0,0 @@ -import './src/global.js' -import App from './src/app'; -App.get().start(); diff --git a/index.js b/index.js index fac4028e..5706a092 100644 --- a/index.js +++ b/index.js @@ -1,3 +1,7 @@ import './src/global.js' -import App from './src/app'; -App.get().start(); + +import {AppRegistry} from 'react-native'; +import App from './src/App'; +import {name as appName} from './app.json'; + +AppRegistry.registerComponent(appName, () => App); diff --git a/ios/StandardNotes.xcodeproj/project.pbxproj b/ios/StandardNotes.xcodeproj/project.pbxproj index 6763b87f..0aef7106 100644 --- a/ios/StandardNotes.xcodeproj/project.pbxproj +++ b/ios/StandardNotes.xcodeproj/project.pbxproj @@ -34,6 +34,7 @@ 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; }; 2D02E4C91E0B4AEC006451C7 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; }; 2DCD954D1E0B4F2C00145EB5 /* StandardNotesTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* StandardNotesTests.m */; }; + 300BF5D7132F46BCAB353149 /* libRNGestureHandler.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 04047F33889C425483EB8244 /* libRNGestureHandler.a */; }; 40F325481D4F4F04AC15D0A9 /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 48127930FB1344778C168838 /* libRNVectorIcons.a */; }; 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; 6C1915C4DE9040A9BB17CFBB /* libRNStoreReview.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADB6F6B9BC7144FCB2C08D40 /* libRNStoreReview.a */; }; @@ -43,7 +44,6 @@ ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; C00E89E3E7F949A4AA0F613E /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F30913DACE34E71895FBF91 /* libz.tbd */; }; CD17667C1F795DC100165C83 /* libSNTextView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1766781F795AE500165C83 /* libSNTextView.a */; }; - CD2AA5DF21D00CE400967EBD /* libReactNativeNavigation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CD2AA5DC21D00C2300967EBD /* libReactNativeNavigation.a */; }; CDB58A201F6C5193009EF868 /* libRNMail.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDB58A161F6C5179009EF868 /* libRNMail.a */; }; CDB58A211F6C51A4009EF868 /* libReactNativeFingerprintScanner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDB58A0F1F6C5174009EF868 /* libReactNativeFingerprintScanner.a */; }; CDB58A221F6C5235009EF868 /* libRCTAes.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDB58A091F6C516B009EF868 /* libRCTAes.a */; }; @@ -296,20 +296,6 @@ remoteGlobalIDString = 9936F32F1F5F2E5B0010BF04; remoteInfo = "privatedata-tvOS"; }; - CD2AA5DB21D00C2300967EBD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CD2AA5D621D00C2300967EBD /* ReactNativeNavigation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = D8AFADBD1BEE6F3F00A4592D; - remoteInfo = ReactNativeNavigation; - }; - CD2AA5DD21D00C2300967EBD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CD2AA5D621D00C2300967EBD /* ReactNativeNavigation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 7B49FEBB1E95090800DEB3EA; - remoteInfo = ReactNativeNavigationTests; - }; CD4D91841F7BE11800080678 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 5C13FDBBDDEE4F1285F88B41 /* RNStoreReview.xcodeproj */; @@ -401,6 +387,13 @@ remoteGlobalIDString = 5DBEB1501B18CEA900B34395; remoteInfo = RNVectorIcons; }; + CDE0D5F821D4012300E093B5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 19A39FBB53A3465B81022E02 /* RNGestureHandler.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RNGestureHandler; + }; CDFC05B41F79A868007EFC71 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = CD17664C1F795AE500165C83 /* SNTextView.xcodeproj */; @@ -421,6 +414,7 @@ 00E356EE1AD99517003FC87E /* StandardNotesTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = StandardNotesTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* StandardNotesTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StandardNotesTests.m; sourceTree = ""; }; + 04047F33889C425483EB8244 /* libRNGestureHandler.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNGestureHandler.a; sourceTree = ""; }; 0752A2CAF82B4C9198CAC803 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = SimpleLineIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = ""; }; 0BA1C89777414706A3F02AC6 /* RNKeychain.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNKeychain.xcodeproj; path = "../node_modules/react-native-keychain/RNKeychain.xcodeproj"; sourceTree = ""; }; 12E89137A7104D91898C2734 /* FontAwesome.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = ""; }; @@ -436,6 +430,7 @@ 13BC74D00F074F59BBADD45D /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; }; 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; 147893EEE8924AA4AE56F3D7 /* MaterialIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = ""; }; + 19A39FBB53A3465B81022E02 /* RNGestureHandler.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNGestureHandler.xcodeproj; path = "../node_modules/react-native-gesture-handler/ios/RNGestureHandler.xcodeproj"; sourceTree = ""; }; 1F569402A90047A59845394A /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = ""; }; 2416263A135F439AA3C5F9D2 /* Feather.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Feather.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Feather.ttf"; sourceTree = ""; }; 2D02E47B1E0B4A5D006451C7 /* StandardNotes-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "StandardNotes-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -454,7 +449,6 @@ ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; B5409EE82FED4DA9B57CA746 /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = ""; }; CD17664C1F795AE500165C83 /* SNTextView.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SNTextView.xcodeproj; path = "../vendor/sn-textview/ios/SNTextView.xcodeproj"; sourceTree = ""; }; - CD2AA5D621D00C2300967EBD /* ReactNativeNavigation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactNativeNavigation.xcodeproj; path = "../vendor/react-native-navigation/lib/ios/ReactNativeNavigation.xcodeproj"; sourceTree = ""; }; CDB58A041F6C516B009EF868 /* RCTAes.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAes.xcodeproj; path = "../vendor/react-native-aes/ios/RCTAes.xcodeproj"; sourceTree = ""; }; CDB58A0A1F6C5174009EF868 /* ReactNativeFingerprintScanner.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactNativeFingerprintScanner.xcodeproj; path = "../vendor/react-native-fingerprint-scanner/ios/ReactNativeFingerprintScanner.xcodeproj"; sourceTree = ""; }; CDB58A101F6C5178009EF868 /* RNMail.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNMail.xcodeproj; path = "../vendor/react-native-mail/RNMail.xcodeproj"; sourceTree = ""; }; @@ -477,7 +471,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CD2AA5DF21D00CE400967EBD /* libReactNativeNavigation.a in Frameworks */, CD17667C1F795DC100165C83 /* libSNTextView.a in Frameworks */, CDB58A221F6C5235009EF868 /* libRCTAes.a in Frameworks */, CDB58A211F6C51A4009EF868 /* libReactNativeFingerprintScanner.a in Frameworks */, @@ -500,6 +493,7 @@ F0D84FDB75374348BC0017C2 /* libBugsnagReactNative.a in Frameworks */, C00E89E3E7F949A4AA0F613E /* libz.tbd in Frameworks */, 6C1915C4DE9040A9BB17CFBB /* libRNStoreReview.a in Frameworks */, + 300BF5D7132F46BCAB353149 /* libRNGestureHandler.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -684,7 +678,6 @@ 832341AE1AAA6A7D00B99B32 /* Libraries */ = { isa = PBXGroup; children = ( - CD2AA5D621D00C2300967EBD /* ReactNativeNavigation.xcodeproj */, CD17664C1F795AE500165C83 /* SNTextView.xcodeproj */, CDB58A101F6C5178009EF868 /* RNMail.xcodeproj */, CDB58A0A1F6C5174009EF868 /* ReactNativeFingerprintScanner.xcodeproj */, @@ -705,6 +698,7 @@ 54ED130E749A46A3B15B27F2 /* RNVectorIcons.xcodeproj */, 737AF67874434967865855D8 /* BugsnagReactNative.xcodeproj */, 5C13FDBBDDEE4F1285F88B41 /* RNStoreReview.xcodeproj */, + 19A39FBB53A3465B81022E02 /* RNGestureHandler.xcodeproj */, ); name = Libraries; sourceTree = ""; @@ -762,15 +756,6 @@ name = Products; sourceTree = ""; }; - CD2AA5D721D00C2300967EBD /* Products */ = { - isa = PBXGroup; - children = ( - CD2AA5DC21D00C2300967EBD /* libReactNativeNavigation.a */, - CD2AA5DE21D00C2300967EBD /* ReactNativeNavigationTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; CD4D91811F7BE11800080678 /* Products */ = { isa = PBXGroup; children = ( @@ -835,10 +820,19 @@ 48127930FB1344778C168838 /* libRNVectorIcons.a */, EFD3F9197A5F41C0904D7E60 /* libBugsnagReactNative.a */, ADB6F6B9BC7144FCB2C08D40 /* libRNStoreReview.a */, + 04047F33889C425483EB8244 /* libRNGestureHandler.a */, ); name = "Recovered References"; sourceTree = ""; }; + CDE0D5F521D4012300E093B5 /* Products */ = { + isa = PBXGroup; + children = ( + CDE0D5F921D4012300E093B5 /* libRNGestureHandler.a */, + ); + name = Products; + sourceTree = ""; + }; D0C5C4528C8147238D73A75F /* Frameworks */ = { isa = PBXGroup; children = ( @@ -1032,8 +1026,8 @@ ProjectRef = CDB58A0A1F6C5174009EF868 /* ReactNativeFingerprintScanner.xcodeproj */; }, { - ProductGroup = CD2AA5D721D00C2300967EBD /* Products */; - ProjectRef = CD2AA5D621D00C2300967EBD /* ReactNativeNavigation.xcodeproj */; + ProductGroup = CDE0D5F521D4012300E093B5 /* Products */; + ProjectRef = 19A39FBB53A3465B81022E02 /* RNGestureHandler.xcodeproj */; }, { ProductGroup = CDB58A331F6C5294009EF868 /* Products */; @@ -1298,20 +1292,6 @@ remoteRef = CD2AA5CB21D00BF700967EBD /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - CD2AA5DC21D00C2300967EBD /* libReactNativeNavigation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReactNativeNavigation.a; - remoteRef = CD2AA5DB21D00C2300967EBD /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - CD2AA5DE21D00C2300967EBD /* ReactNativeNavigationTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = ReactNativeNavigationTests.xctest; - remoteRef = CD2AA5DD21D00C2300967EBD /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; CD4D91851F7BE11800080678 /* libRNStoreReview.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1403,6 +1383,13 @@ remoteRef = CDB58A671F6C5294009EF868 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + CDE0D5F921D4012300E093B5 /* libRNGestureHandler.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRNGestureHandler.a; + remoteRef = CDE0D5F821D4012300E093B5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -1554,6 +1541,7 @@ "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/bugsnag-react-native/cocoa/**", "$(SRCROOT)/../node_modules/react-native-store-review/ios", + "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", ); INFOPLIST_FILE = StandardNotesTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1564,6 +1552,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1586,6 +1575,7 @@ "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/bugsnag-react-native/cocoa/**", "$(SRCROOT)/../node_modules/react-native-store-review/ios", + "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", ); INFOPLIST_FILE = StandardNotesTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1596,6 +1586,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1622,6 +1613,7 @@ "$(SRCROOT)/../node_modules/bugsnag-react-native/cocoa/**", "$(SRCROOT)/../node_modules/react-native/Libraries/Text", "$(SRCROOT)/../node_modules/react-native-store-review/ios", + "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", ); INFOPLIST_FILE = StandardNotes/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1654,6 +1646,7 @@ "$(SRCROOT)/../node_modules/bugsnag-react-native/cocoa/**", "$(SRCROOT)/../node_modules/react-native/Libraries/Text", "$(SRCROOT)/../node_modules/react-native-store-review/ios", + "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", ); INFOPLIST_FILE = StandardNotes/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1689,6 +1682,7 @@ "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/bugsnag-react-native/cocoa/**", "$(SRCROOT)/../node_modules/react-native-store-review/ios", + "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", ); INFOPLIST_FILE = "StandardNotes-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1698,6 +1692,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1729,6 +1724,7 @@ "$(SRCROOT)/../node_modules/react-native-vector-icons/RNVectorIconsManager", "$(SRCROOT)/../node_modules/bugsnag-react-native/cocoa/**", "$(SRCROOT)/../node_modules/react-native-store-review/ios", + "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", ); INFOPLIST_FILE = "StandardNotes-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1738,6 +1734,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1770,6 +1767,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.StandardNotes-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1798,6 +1796,7 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.StandardNotes-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/ios/StandardNotes/AppDelegate.m b/ios/StandardNotes/AppDelegate.m index 5731dcc9..3a7d8b43 100644 --- a/ios/StandardNotes/AppDelegate.m +++ b/ios/StandardNotes/AppDelegate.m @@ -1,7 +1,6 @@ #import "AppDelegate.h" #import - #import #import #import @@ -20,9 +19,26 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( [[NSUserDefaults standardUserDefaults] setObject:currentVersion forKey:lastVersionClearKey]; } - NSURL *jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; - [ReactNativeNavigation bootstrap:jsCodeLocation launchOptions:launchOptions]; - + NSURL *jsCodeLocation; + +#ifdef DEBUG + jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; +#else + jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +#endif + + RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation + moduleName:@"StandardNotes" + initialProperties:nil + launchOptions:launchOptions]; + rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; + + self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; + UIViewController *rootViewController = [UIViewController new]; + rootViewController.view = rootView; + self.window.rootViewController = rootViewController; + [self.window makeKeyAndVisible]; + return YES; } diff --git a/package-lock.json b/package-lock.json index d2c38a07..6590e91d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2257,24 +2257,6 @@ } } }, - "@babel/preset-flow": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.0.0.tgz", - "integrity": "sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", - "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", - "dev": true - } - } - }, "@babel/register": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.0.0.tgz", @@ -2393,10 +2375,34 @@ } } }, + "@react-navigation/core": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-3.0.2.tgz", + "integrity": "sha512-E0ETZJUuJRHvjtb0f0U416NcDxt9T5HvRLxXu5K4DNxtmjpOfkT9Sh+Q309/zrCwSkHY85ZpGKvewZTSGI7Q1Q==", + "requires": { + "create-react-context": "0.2.2", + "hoist-non-react-statics": "3.2.1", + "path-to-regexp": "1.7.0", + "query-string": "6.2.0", + "react-is": "16.7.0", + "react-lifecycles-compat": "3.0.4" + } + }, + "@react-navigation/native": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.0.3.tgz", + "integrity": "sha512-1T3OnI6DpHPYvrb6OSMvdpcou0NAZKYBeOs66Uimy6oT5tkkj8jwaksAwuSCTIMxaRl1nROPd22yXYq6gBnUVA==", + "requires": { + "hoist-non-react-statics": "3.2.1", + "react-native-gesture-handler": "1.0.12", + "react-native-safe-area-view": "0.11.0", + "react-native-screens": "1.0.0-alpha.19" + } + }, "abab": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", - "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", + "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", "dev": true }, "absolute-path": { @@ -2410,51 +2416,41 @@ "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" }, "acorn-globals": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", - "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", + "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", "dev": true, "requires": { - "acorn": "4.0.13" + "acorn": "6.0.4", + "acorn-walk": "6.1.1" }, "dependencies": { "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz", + "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==", "dev": true } } }, + "acorn-walk": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", + "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==", + "dev": true + }, "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", + "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", + "fast-deep-equal": "2.0.1", "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, "ansi": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", @@ -2772,12 +2768,12 @@ } }, "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", + "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "2.0.0" + "default-require-extensions": "1.0.0" } }, "are-we-there-yet": { @@ -2948,6 +2944,33 @@ } } }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.11", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + } + }, "babel-generator": { "version": "6.26.1", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", @@ -3002,18 +3025,6 @@ } } }, - "babel-loader": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.4.tgz", - "integrity": "sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==", - "dev": true, - "requires": { - "find-cache-dir": "1.0.0", - "loader-utils": "1.2.0", - "mkdirp": "0.5.1", - "util.promisify": "1.0.0" - } - }, "babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", @@ -3046,28 +3057,12 @@ } } }, - "babel-plugin-jest-hoist": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-21.2.0.tgz", - "integrity": "sha512-yi5QuiVyyvhBUDLP4ButAnhYzkdrUwWDtvUJv71hjH3fclhnZg4HkDeqaitcR2dZZx/E67kGkRcPVjtVu+SJfQ==", - "dev": true - }, "babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", "dev": true }, - "babel-preset-jest": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-21.2.0.tgz", - "integrity": "sha512-hm9cBnr2h3J7yXoTtAVV0zg+3vg0Q/gT2GYuzlreTU0EPkJRtlNgKJJ3tBKEn0+VjAi3JykV6xCJkuUYttEEfA==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "21.2.0", - "babel-plugin-syntax-object-rest-spread": "6.13.0" - } - }, "babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", @@ -3083,33 +3078,6 @@ "source-map-support": "0.4.18" }, "dependencies": { - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.11", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" - } - }, "core-js": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.1.tgz", @@ -3270,7 +3238,6 @@ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, - "optional": true, "requires": { "tweetnacl": "0.14.5" } @@ -3280,12 +3247,6 @@ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.34.tgz", "integrity": "sha512-+w6B0Uo0ZvTSzDkXjoBCTNK0oe+aVL+yPi7kwGZm8hd8+Nj1AFPoxoq1Bl/mEu/G/ivOkUc1LRqVR0XeWFUzuA==" }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, "bplist-creator": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", @@ -3321,6 +3282,12 @@ "repeat-element": "1.1.2" } }, + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", + "dev": true + }, "browser-resolve": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", @@ -3403,11 +3370,10 @@ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" }, "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true, - "optional": true + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true }, "capture-exit": { "version": "1.2.0", @@ -3423,17 +3389,6 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } - }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -3452,9 +3407,9 @@ "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" }, "ci-info": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", - "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", "dev": true }, "class-utils": { @@ -3497,23 +3452,30 @@ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" }, "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, - "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" }, "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, - "optional": true + "requires": { + "ansi-regex": "3.0.0" + } } } }, @@ -3556,9 +3518,9 @@ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" }, "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, "requires": { "delayed-stream": "1.0.0" @@ -3615,12 +3577,6 @@ } } }, - "compare-versions": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.3.0.tgz", - "integrity": "sha512-MAAAIOdi2s4Gl6rZ76PNcUa9IOYB+5ICdT41o5uMRf09aEu/F9RK+qhe8RjXNPwcTjGV7KU7h2P/fljThFVqyQ==", - "dev": true - }, "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", @@ -3650,12 +3606,6 @@ "typedarray": "0.0.6" } }, - "content-type-parser": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", - "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==", - "dev": true - }, "convert-source-map": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", @@ -3708,6 +3658,15 @@ "object-assign": "4.1.1" } }, + "create-react-context": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz", + "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==", + "requires": { + "fbjs": "0.8.17", + "gud": "1.0.0" + } + }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", @@ -3725,9 +3684,9 @@ "dev": true }, "cssstyle": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.1.1.tgz", + "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", "dev": true, "requires": { "cssom": "0.3.4" @@ -3742,6 +3701,30 @@ "assert-plus": "1.0.0" } }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "requires": { + "abab": "2.0.0", + "whatwg-mimetype": "2.3.0", + "whatwg-url": "7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "dev": true, + "requires": { + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" + } + } + } + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -3767,20 +3750,12 @@ "dev": true }, "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", + "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "3.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } + "strip-bom": "2.0.0" } }, "define-properties": { @@ -3899,12 +3874,20 @@ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "4.0.2" + } + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, - "optional": true, "requires": { "jsbn": "0.1.1", "safer-buffer": "2.1.2" @@ -3915,12 +3898,6 @@ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -3934,15 +3911,6 @@ "iconv-lite": "0.4.23" } }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "requires": { - "prr": "1.0.1" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -4041,6 +4009,27 @@ "merge": "1.2.0" } }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", @@ -4058,17 +4047,17 @@ } }, "expect": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-21.2.1.tgz", - "integrity": "sha512-orfQQqFRTX0jH7znRIGi8ZMR8kTNpXklTTz8+HGTpmTKZo3Occ6JNB5FXMb8cRuiiC/GyDqsr30zUa66ACYlYw==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-23.6.0.tgz", + "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", "dev": true, "requires": { "ansi-styles": "3.2.1", - "jest-diff": "21.2.1", - "jest-get-type": "21.2.0", - "jest-matcher-utils": "21.2.1", - "jest-message-util": "21.2.1", - "jest-regex-util": "21.2.0" + "jest-diff": "23.6.0", + "jest-get-type": "22.4.3", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0" }, "dependencies": { "ansi-styles": { @@ -4142,9 +4131,9 @@ } }, "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, "fast-json-stable-stringify": { @@ -4271,23 +4260,29 @@ "dev": true }, "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.19" + "combined-stream": "1.0.7", + "mime-types": "2.1.21" }, "dependencies": { + "mime-db": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", + "dev": true + }, "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "1.35.0" + "mime-db": "1.37.0" } } } @@ -4940,31 +4935,38 @@ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + }, "handlebars": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz", + "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", "dev": true, "requires": { - "async": "1.5.2", + "async": "2.6.1", "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.7.5" + "source-map": "0.6.1", + "uglify-js": "3.4.9" }, "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "uglify-js": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", + "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", "dev": true, + "optional": true, "requires": { - "amdefine": "1.0.1" + "commander": "2.17.1", + "source-map": "0.6.1" } } } @@ -4976,12 +4978,12 @@ "dev": true }, "har-validator": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", - "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "5.5.2", + "ajv": "6.6.2", "har-schema": "2.0.0" } }, @@ -5072,6 +5074,14 @@ } } }, + "hoist-non-react-statics": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", + "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", + "requires": { + "react-is": "16.7.0" + } + }, "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", @@ -5093,7 +5103,7 @@ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { - "whatwg-encoding": "1.0.3" + "whatwg-encoding": "1.0.5" } }, "http-signature": { @@ -5104,7 +5114,7 @@ "requires": { "assert-plus": "1.0.0", "jsprim": "1.4.1", - "sshpk": "1.14.2" + "sshpk": "1.16.0" } }, "iconv-lite": { @@ -5134,6 +5144,16 @@ "resolve-from": "3.0.0" } }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "requires": { + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" + } + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -5261,12 +5281,12 @@ "dev": true }, "is-ci": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", - "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "dev": true, "requires": { - "ci-info": "1.1.3" + "ci-info": "1.6.0" } }, "is-data-descriptor": { @@ -5342,6 +5362,12 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, + "is-generator-fn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-1.0.0.tgz", + "integrity": "sha1-lp1J4bszKfa7fwkIm+JleLLd1Go=", + "dev": true + }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", @@ -5467,45 +5493,43 @@ "dev": true }, "istanbul-api": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.1.tgz", - "integrity": "sha512-duj6AlLcsWNwUpfyfHt0nWIeRiZpuShnP40YTxOGQgtaN8fd6JYSxsvxUphTDy8V5MfDXo4s/xVCIIvVCO808g==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz", + "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", "dev": true, "requires": { "async": "2.6.1", - "compare-versions": "3.3.0", "fileset": "2.0.3", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-hook": "1.2.1", - "istanbul-lib-instrument": "1.10.1", - "istanbul-lib-report": "1.1.4", - "istanbul-lib-source-maps": "1.2.5", - "istanbul-reports": "1.3.0", + "istanbul-lib-coverage": "1.2.1", + "istanbul-lib-hook": "1.2.2", + "istanbul-lib-instrument": "1.10.2", + "istanbul-lib-report": "1.1.5", + "istanbul-lib-source-maps": "1.2.6", + "istanbul-reports": "1.5.1", "js-yaml": "3.12.0", "mkdirp": "0.5.1", "once": "1.4.0" }, "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", + "dev": true }, - "istanbul-lib-source-maps": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz", - "integrity": "sha512-8O2T/3VhrQHn0XcJbP1/GN7kXMiRAlPi+fj3uEHrjBD8Oz7Py0prSC25C09NuAZS6bgW1NNKAvCSHZXB0irSGA==", + "istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.1", + "semver": "5.5.0" } } } @@ -5517,12 +5541,12 @@ "dev": true }, "istanbul-lib-hook": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.1.tgz", - "integrity": "sha512-eLAMkPG9FU0v5L02lIkcj/2/Zlz9OuluaXikdr5iStk8FDbSwAixTK9TkYxbF0eNnzAJTwM2fkV2A1tpsIp4Jg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", + "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", "dev": true, "requires": { - "append-transform": "1.0.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { @@ -5541,12 +5565,12 @@ } }, "istanbul-lib-report": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz", - "integrity": "sha512-Azqvq5tT0U09nrncK3q82e/Zjkxa4tkFZv7E6VcqP0QCPn6oNljDPfrZEC/umNXds2t7b8sRJfs6Kmpzt8m2kA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", + "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-coverage": "1.2.1", "mkdirp": "0.5.1", "path-parse": "1.0.6", "supports-color": "3.2.3" @@ -5558,6 +5582,12 @@ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -5570,45 +5600,58 @@ } }, "istanbul-lib-source-maps": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz", - "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", + "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.2.0", + "debug": "3.2.6", + "istanbul-lib-coverage": "1.2.1", "mkdirp": "0.5.1", "rimraf": "2.6.2", "source-map": "0.5.7" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "2.1.1" } - } - } + }, + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } }, "istanbul-reports": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.3.0.tgz", - "integrity": "sha512-y2Z2IMqE1gefWUaVjrBm0mSKvUkaBy9Vqz8iwr/r40Y9hBbIteH5wqHG/9DLTfJ9xUnUT2j7A3+VVJ6EaYBllA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", + "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "4.0.12" } }, "jest": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-21.0.1.tgz", - "integrity": "sha512-KLoBNahMA7gnAHbZ7msoivm8G52Emh4Qe4cYwInuJLwlUZRWfFFAHjao1fQ8iyiikp9eWgJcE94IJkZ58XVtmA==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-23.6.0.tgz", + "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", "dev": true, "requires": { - "jest-cli": "21.2.1" + "import-local": "1.0.0", + "jest-cli": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -5626,53 +5669,186 @@ "color-convert": "1.9.2" } }, - "arr-diff": { + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "jest-cli": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-23.6.0.tgz", + "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "exit": "0.1.2", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "import-local": "1.0.0", + "is-ci": "1.2.1", + "istanbul-api": "1.3.7", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-instrument": "1.10.1", + "istanbul-lib-source-maps": "1.2.6", + "jest-changed-files": "23.4.2", + "jest-config": "23.6.0", + "jest-environment-jsdom": "23.4.0", + "jest-get-type": "22.4.3", + "jest-haste-map": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0", + "jest-resolve-dependencies": "23.6.0", + "jest-runner": "23.6.0", + "jest-runtime": "23.6.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "jest-watcher": "23.4.0", + "jest-worker": "23.2.0", + "micromatch": "2.3.11", + "node-notifier": "5.2.1", + "prompts": "0.1.14", + "realpath-native": "1.0.2", + "rimraf": "2.6.2", + "slash": "1.0.0", + "string-length": "2.0.0", + "strip-ansi": "4.0.0", + "which": "1.3.1", + "yargs": "11.1.0" + } + }, + "strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-changed-files": { + "version": "23.4.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-23.4.2.tgz", + "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", + "dev": true, + "requires": { + "throat": "4.1.0" + } + }, + "jest-config": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-23.6.0.tgz", + "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-jest": "23.6.0", + "chalk": "2.4.1", + "glob": "7.1.2", + "jest-environment-jsdom": "23.4.0", + "jest-environment-node": "23.4.0", + "jest-get-type": "22.4.3", + "jest-jasmine2": "23.6.0", + "jest-regex-util": "23.3.0", + "jest-resolve": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "micromatch": "2.3.11", + "pretty-format": "23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } + "color-convert": "1.9.2" } }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "dev": true, + "requires": { + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "jest-diff": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-23.6.0.tgz", + "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "diff": "3.5.0", + "jest-get-type": "22.4.3", + "pretty-format": "23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, "chalk": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", @@ -5681,553 +5857,251 @@ "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "supports-color": "5.5.0" } }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - } + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "has-flag": "3.0.0" } + } + } + }, + "jest-docblock": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", + "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", + "dev": true, + "requires": { + "detect-newline": "2.1.0" + } + }, + "jest-each": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-23.6.0.tgz", + "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "pretty-format": "23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "color-convert": "1.9.2" } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "locate-path": "2.0.0" + "has-flag": "3.0.0" } + } + } + }, + "jest-environment-jsdom": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz", + "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", + "dev": true, + "requires": { + "jest-mock": "23.2.0", + "jest-util": "23.4.0", + "jsdom": "11.12.0" + } + }, + "jest-environment-node": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-23.4.0.tgz", + "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", + "dev": true, + "requires": { + "jest-mock": "23.2.0", + "jest-util": "23.4.0" + } + }, + "jest-get-type": { + "version": "22.4.3", + "resolved": "http://registry.npmjs.org/jest-get-type/-/jest-get-type-22.4.3.tgz", + "integrity": "sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==", + "dev": true + }, + "jest-haste-map": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.6.0.tgz", + "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", + "dev": true, + "requires": { + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.11", + "invariant": "2.2.4", + "jest-docblock": "23.2.0", + "jest-serializer": "23.0.1", + "jest-worker": "23.2.0", + "micromatch": "2.3.11", + "sane": "2.5.2" + } + }, + "jest-jasmine2": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz", + "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", + "dev": true, + "requires": { + "babel-traverse": "6.26.0", + "chalk": "2.4.1", + "co": "4.6.0", + "expect": "23.6.0", + "is-generator-fn": "1.0.0", + "jest-diff": "23.6.0", + "jest-each": "23.6.0", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "pretty-format": "23.6.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "kind-of": "6.0.2" + "color-convert": "1.9.2" } }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "has-flag": "3.0.0" } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "jest-cli": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-21.2.1.tgz", - "integrity": "sha512-T1BzrbFxDIW/LLYQqVfo94y/hhaj1NzVQkZgBumAC+sxbjMROI7VkihOdxNR758iYbQykL2ZOWUBurFgkQrzdg==", - "dev": true, - "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "is-ci": "1.1.0", - "istanbul-api": "1.3.1", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-instrument": "1.10.1", - "istanbul-lib-source-maps": "1.2.3", - "jest-changed-files": "21.2.0", - "jest-config": "21.2.1", - "jest-environment-jsdom": "21.2.1", - "jest-haste-map": "21.2.0", - "jest-message-util": "21.2.1", - "jest-regex-util": "21.2.0", - "jest-resolve-dependencies": "21.2.0", - "jest-runner": "21.2.1", - "jest-runtime": "21.2.1", - "jest-snapshot": "21.2.1", - "jest-util": "21.2.1", - "micromatch": "2.3.11", - "node-notifier": "5.2.1", - "pify": "3.0.0", - "slash": "1.0.0", - "string-length": "2.0.0", - "strip-ansi": "4.0.0", - "which": "1.3.1", - "worker-farm": "1.6.0", - "yargs": "9.0.1" - } - }, - "jest-docblock": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", - "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", - "dev": true - }, - "jest-haste-map": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-21.2.0.tgz", - "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", - "dev": true, - "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "jest-docblock": "21.2.0", - "micromatch": "2.3.11", - "sane": "2.5.2", - "worker-farm": "1.6.0" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - } - }, - "sane": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", - "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", - "dev": true, - "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.2", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" - }, - "dependencies": { - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - } - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - }, - "strip-bom": { + } + } + }, + "jest-leak-detector": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz", + "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", + "dev": true, + "requires": { + "pretty-format": "23.6.0" + }, + "dependencies": { + "ansi-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, - "yargs": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", - "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.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.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "color-convert": "1.9.2" } }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "camelcase": "4.1.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } } } }, - "jest-changed-files": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-21.2.0.tgz", - "integrity": "sha512-+lCNP1IZLwN1NOIvBcV5zEL6GENK6TXrDj4UxWIeLvIsIDa+gf6J7hkqsW2qVVt/wvH65rVvcPwqXdps5eclTQ==", - "dev": true, - "requires": { - "throat": "4.1.0" - } - }, - "jest-config": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-21.2.1.tgz", - "integrity": "sha512-fJru5HtlD/5l2o25eY9xT0doK3t2dlglrqoGpbktduyoI0T5CwuB++2YfoNZCrgZipTwPuAGonYv0q7+8yDc/A==", + "jest-matcher-utils": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz", + "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", "dev": true, "requires": { "chalk": "2.4.1", - "glob": "7.1.2", - "jest-environment-jsdom": "21.2.1", - "jest-environment-node": "21.2.1", - "jest-get-type": "21.2.0", - "jest-jasmine2": "21.2.1", - "jest-regex-util": "21.2.0", - "jest-resolve": "21.2.0", - "jest-util": "21.2.1", - "jest-validate": "21.2.1", - "pretty-format": "21.2.1" + "jest-get-type": "22.4.3", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -6253,13 +6127,13 @@ "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "supports-color": "5.5.0" } }, "pretty-format": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-21.2.1.tgz", - "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { "ansi-regex": "3.0.0", @@ -6267,9 +6141,9 @@ } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -6277,24 +6151,19 @@ } } }, - "jest-diff": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-21.2.1.tgz", - "integrity": "sha512-E5fu6r7PvvPr5qAWE1RaUwIh/k6Zx/3OOkZ4rk5dBJkEWRrUuSgbMt2EO8IUTPTd6DOqU3LW6uTIwX5FRvXoFA==", + "jest-message-util": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-23.4.0.tgz", + "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", "dev": true, "requires": { + "@babel/code-frame": "7.0.0", "chalk": "2.4.1", - "diff": "3.5.0", - "jest-get-type": "21.2.0", - "pretty-format": "21.2.1" + "micromatch": "2.3.11", + "slash": "1.0.0", + "stack-utils": "1.0.2" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -6312,23 +6181,67 @@ "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "supports-color": "5.5.0" } }, - "pretty-format": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-21.2.1.tgz", - "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "has-flag": "3.0.0" + } + } + } + }, + "jest-mock": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-23.2.0.tgz", + "integrity": "sha1-rRxg8p6HGdR8JuETgJi20YsmETQ=", + "dev": true + }, + "jest-regex-util": { + "version": "23.3.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-23.3.0.tgz", + "integrity": "sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U=", + "dev": true + }, + "jest-resolve": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-23.6.0.tgz", + "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", + "dev": true, + "requires": { + "browser-resolve": "1.11.3", + "chalk": "2.4.1", + "realpath-native": "1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -6336,47 +6249,82 @@ } } }, - "jest-environment-jsdom": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-21.2.1.tgz", - "integrity": "sha512-mecaeNh0eWmzNrUNMWARysc0E9R96UPBamNiOCYL28k7mksb1d0q6DD38WKP7ABffjnXyUWJPVaWRgUOivwXwg==", + "jest-resolve-dependencies": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz", + "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", "dev": true, "requires": { - "jest-mock": "21.2.0", - "jest-util": "21.2.1", - "jsdom": "9.12.0" + "jest-regex-util": "23.3.0", + "jest-snapshot": "23.6.0" } }, - "jest-environment-node": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-21.2.1.tgz", - "integrity": "sha512-R211867wx9mVBVHzrjGRGTy5cd05K7eqzQl/WyZixR/VkJ4FayS8qkKXZyYnwZi6Rxo6WEV81cDbiUx/GfuLNw==", + "jest-runner": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-23.6.0.tgz", + "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", "dev": true, "requires": { - "jest-mock": "21.2.0", - "jest-util": "21.2.1" + "exit": "0.1.2", + "graceful-fs": "4.1.11", + "jest-config": "23.6.0", + "jest-docblock": "23.2.0", + "jest-haste-map": "23.6.0", + "jest-jasmine2": "23.6.0", + "jest-leak-detector": "23.6.0", + "jest-message-util": "23.4.0", + "jest-runtime": "23.6.0", + "jest-util": "23.4.0", + "jest-worker": "23.2.0", + "source-map-support": "0.5.9", + "throat": "4.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", + "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "dev": true, + "requires": { + "buffer-from": "1.1.1", + "source-map": "0.6.1" + } + } } }, - "jest-get-type": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-21.2.0.tgz", - "integrity": "sha512-y2fFw3C+D0yjNSDp7ab1kcd6NUYfy3waPTlD8yWkAtiocJdBRQqNoRqVfMNxgj+IjT0V5cBIHJO0z9vuSSZ43Q==", - "dev": true - }, - "jest-jasmine2": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-21.2.1.tgz", - "integrity": "sha512-lw8FXXIEekD+jYNlStfgNsUHpfMWhWWCgHV7n0B7mA/vendH7vBFs8xybjQsDzJSduptBZJHqQX9SMssya9+3A==", + "jest-runtime": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-23.6.0.tgz", + "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", "dev": true, "requires": { + "babel-core": "6.26.3", + "babel-plugin-istanbul": "4.1.6", "chalk": "2.4.1", - "expect": "21.2.1", + "convert-source-map": "1.5.1", + "exit": "0.1.2", + "fast-json-stable-stringify": "2.0.0", "graceful-fs": "4.1.11", - "jest-diff": "21.2.1", - "jest-matcher-utils": "21.2.1", - "jest-message-util": "21.2.1", - "jest-snapshot": "21.2.1", - "p-cancelable": "0.3.0" + "jest-config": "23.6.0", + "jest-haste-map": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0", + "jest-resolve": "23.6.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "micromatch": "2.3.11", + "realpath-native": "1.0.2", + "slash": "1.0.0", + "strip-bom": "3.0.0", + "write-file-atomic": "2.3.0", + "yargs": "11.1.0" }, "dependencies": { "ansi-styles": { @@ -6396,29 +6344,58 @@ "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "supports-color": "5.5.0" } }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "3.0.0" } + }, + "write-file-atomic": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" + } } } }, - "jest-matcher-utils": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-21.2.1.tgz", - "integrity": "sha512-kn56My+sekD43dwQPrXBl9Zn9tAqwoy25xxe7/iY4u+mG8P3ALj5IK7MLHZ4Mi3xW7uWVCjGY8cm4PqgbsqMCg==", + "jest-serializer": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz", + "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU=" + }, + "jest-snapshot": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-23.6.0.tgz", + "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", "dev": true, "requires": { + "babel-types": "6.26.0", "chalk": "2.4.1", - "jest-get-type": "21.2.0", - "pretty-format": "21.2.1" + "jest-diff": "23.6.0", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-resolve": "23.6.0", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "pretty-format": "23.6.0", + "semver": "5.5.0" }, "dependencies": { "ansi-regex": { @@ -6444,13 +6421,13 @@ "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "supports-color": "5.5.0" } }, "pretty-format": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-21.2.1.tgz", - "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { "ansi-regex": "3.0.0", @@ -6458,9 +6435,9 @@ } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -6468,15 +6445,20 @@ } } }, - "jest-message-util": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-21.2.1.tgz", - "integrity": "sha512-EbC1X2n0t9IdeMECJn2BOg7buOGivCvVNjqKMXTzQOu7uIfLml+keUfCALDh8o4rbtndIeyGU8/BKfoTr/LVDQ==", + "jest-util": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-23.4.0.tgz", + "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", "dev": true, "requires": { + "callsites": "2.0.0", "chalk": "2.4.1", - "micromatch": "2.3.11", - "slash": "1.0.0" + "graceful-fs": "4.1.11", + "is-ci": "1.2.1", + "jest-message-util": "23.4.0", + "mkdirp": "0.5.1", + "slash": "1.0.0", + "source-map": "0.6.1" }, "dependencies": { "ansi-styles": { @@ -6496,13 +6478,19 @@ "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "supports-color": "5.5.0" } }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -6510,29 +6498,24 @@ } } }, - "jest-mock": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-21.2.0.tgz", - "integrity": "sha512-aZDfyVf0LEoABWiY6N0d+O963dUQSyUa4qgzurHR3TBDPen0YxKCJ6l2i7lQGh1tVdsuvdrCZ4qPj+A7PievCw==", - "dev": true - }, - "jest-regex-util": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-21.2.0.tgz", - "integrity": "sha512-BKQ1F83EQy0d9Jen/mcVX7D+lUt2tthhK/2gDWRgLDJRNOdRgSp1iVqFxP8EN1ARuypvDflRfPzYT8fQnoBQFQ==", - "dev": true - }, - "jest-resolve": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-21.2.0.tgz", - "integrity": "sha512-vefQ/Lr+VdNvHUZFQXWtOqHX3HEdOc2MtSahBO89qXywEbUxGPB9ZLP9+BHinkxb60UT2Q/tTDOS6rYc6Mwigw==", + "jest-validate": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-23.6.0.tgz", + "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", "dev": true, "requires": { - "browser-resolve": "1.11.3", "chalk": "2.4.1", - "is-builtin-module": "1.0.0" + "jest-get-type": "22.4.3", + "leven": "2.1.0", + "pretty-format": "23.6.0" }, "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -6550,13 +6533,23 @@ "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "supports-color": "5.5.0" + } + }, + "pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "dev": true, + "requires": { + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -6564,1093 +6557,41 @@ } } }, - "jest-resolve-dependencies": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-21.2.0.tgz", - "integrity": "sha512-ok8ybRFU5ScaAcfufIQrCbdNJSRZ85mkxJ1EhUp8Bhav1W1/jv/rl1Q6QoVQHObNxmKnbHVKrfLZbCbOsXQ+bQ==", - "dev": true, - "requires": { - "jest-regex-util": "21.2.0" - } - }, - "jest-runner": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-21.2.1.tgz", - "integrity": "sha512-Anb72BOQlHqF/zETqZ2K20dbYsnqW/nZO7jV8BYENl+3c44JhMrA8zd1lt52+N7ErnsQMd2HHKiVwN9GYSXmrg==", + "jest-watcher": { + "version": "23.4.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-23.4.0.tgz", + "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=", "dev": true, "requires": { - "jest-config": "21.2.1", - "jest-docblock": "21.2.0", - "jest-haste-map": "21.2.0", - "jest-jasmine2": "21.2.1", - "jest-message-util": "21.2.1", - "jest-runtime": "21.2.1", - "jest-util": "21.2.1", - "pify": "3.0.0", - "throat": "4.1.0", - "worker-farm": "1.6.0" + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "string-length": "2.0.0" }, "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.2" + } }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "jest-docblock": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", - "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", - "dev": true - }, - "jest-haste-map": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-21.2.0.tgz", - "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", - "dev": true, - "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "jest-docblock": "21.2.0", - "micromatch": "2.3.11", - "sane": "2.5.2", - "worker-farm": "1.6.0" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "sane": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", - "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", - "dev": true, - "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.2", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" - }, - "dependencies": { - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - } - } - } - } - }, - "jest-runtime": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-21.2.1.tgz", - "integrity": "sha512-6omlpA3+NSE+rHwD0PQjNEjZeb2z+oRmuehMfM1tWQVum+E0WV3pFt26Am0DUfQkkPyTABvxITRjCUclYgSOsA==", - "dev": true, - "requires": { - "babel-core": "6.26.3", - "babel-jest": "21.2.0", - "babel-plugin-istanbul": "4.1.6", - "chalk": "2.4.1", - "convert-source-map": "1.5.1", - "graceful-fs": "4.1.11", - "jest-config": "21.2.1", - "jest-haste-map": "21.2.0", - "jest-regex-util": "21.2.0", - "jest-resolve": "21.2.0", - "jest-util": "21.2.1", - "json-stable-stringify": "1.0.1", - "micromatch": "2.3.11", - "slash": "1.0.0", - "strip-bom": "3.0.0", - "write-file-atomic": "2.3.0", - "yargs": "9.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.11", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" - } - }, - "babel-jest": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-21.2.0.tgz", - "integrity": "sha512-O0W2qLoWu1QOoOGgxiR2JID4O6WSpxPiQanrkyi9SSlM0PJ60Ptzlck47lhtnr9YZO3zYOsxHwnyeWJ6AffoBQ==", - "dev": true, - "requires": { - "babel-plugin-istanbul": "4.1.6", - "babel-preset-jest": "21.2.0" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "1.0.2" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "6.0.2" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "jest-docblock": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", - "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", - "dev": true - }, - "jest-haste-map": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-21.2.0.tgz", - "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", - "dev": true, - "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "jest-docblock": "21.2.0", - "micromatch": "2.3.11", - "sane": "2.5.2", - "worker-farm": "1.6.0" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - } - }, - "sane": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", - "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", - "dev": true, - "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.2", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" - }, - "dependencies": { - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" - } - } - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "write-file-atomic": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" - } - }, - "yargs": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", - "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", - "dev": true, - "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.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.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "requires": { - "camelcase": "4.1.0" - } - } - } - }, - "jest-serializer": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-23.0.1.tgz", - "integrity": "sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU=" - }, - "jest-snapshot": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-21.2.1.tgz", - "integrity": "sha512-bpaeBnDpdqaRTzN8tWg0DqOTo2DvD3StOemxn67CUd1p1Po+BUpvePAp44jdJ7Pxcjfg+42o4NHw1SxdCA2rvg==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "jest-diff": "21.2.1", - "jest-matcher-utils": "21.2.1", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "pretty-format": "21.2.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.2" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "pretty-format": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-21.2.1.tgz", - "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", - "dev": true, - "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } - } - }, - "jest-util": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-21.2.1.tgz", - "integrity": "sha512-r20W91rmHY3fnCoO7aOAlyfC51x2yeV3xF+prGsJAUsYhKeV670ZB8NO88Lwm7ASu8SdH0S+U+eFf498kjhA4g==", - "dev": true, - "requires": { - "callsites": "2.0.0", - "chalk": "2.4.1", - "graceful-fs": "4.1.11", - "jest-message-util": "21.2.1", - "jest-mock": "21.2.0", - "jest-validate": "21.2.1", - "mkdirp": "0.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.2" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } - } - }, - "jest-validate": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-21.2.1.tgz", - "integrity": "sha512-k4HLI1rZQjlU+EC682RlQ6oZvLrE5SCh3brseQc24vbZTxzT/k/3urar5QMCVgjadmSO7lECeGdc6YxnM3yEGg==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "jest-get-type": "21.2.0", - "leven": "2.1.0", - "pretty-format": "21.2.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.2" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "pretty-format": { - "version": "21.2.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-21.2.1.tgz", - "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", - "dev": true, - "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -7691,47 +6632,56 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true + "dev": true }, "jsdom": { - "version": "9.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", - "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", "dev": true, "requires": { - "abab": "1.0.4", - "acorn": "4.0.13", - "acorn-globals": "3.1.0", + "abab": "2.0.0", + "acorn": "5.7.3", + "acorn-globals": "4.3.0", "array-equal": "1.0.0", - "content-type-parser": "1.0.2", "cssom": "0.3.4", - "cssstyle": "0.2.37", + "cssstyle": "1.1.1", + "data-urls": "1.1.0", + "domexception": "1.0.1", "escodegen": "1.11.0", "html-encoding-sniffer": "1.0.2", - "nwmatcher": "1.4.4", - "parse5": "1.5.1", + "left-pad": "1.3.0", + "nwsapi": "2.0.9", + "parse5": "4.0.0", + "pn": "1.1.0", "request": "2.88.0", + "request-promise-native": "1.0.5", "sax": "1.2.4", "symbol-tree": "3.2.2", - "tough-cookie": "2.4.3", + "tough-cookie": "2.5.0", + "w3c-hr-time": "1.0.1", "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.3", - "whatwg-url": "4.8.0", - "xml-name-validator": "2.0.1" + "whatwg-encoding": "1.0.5", + "whatwg-mimetype": "2.3.0", + "whatwg-url": "6.5.0", + "ws": "5.2.2", + "xml-name-validator": "3.0.0" }, "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true + }, + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "dev": true, + "requires": { + "async-limiter": "1.0.0" + } } } }, @@ -7753,9 +6703,9 @@ "dev": true }, "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify": { @@ -7819,12 +6769,11 @@ "graceful-fs": "4.1.11" } }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true, - "optional": true + "kleur": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-2.0.2.tgz", + "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==", + "dev": true }, "lcid": { "version": "1.0.0", @@ -7834,6 +6783,12 @@ "invert-kv": "1.0.0" } }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "dev": true + }, "leven": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", @@ -7863,28 +6818,6 @@ "strip-bom": "2.0.0" } }, - "loader-utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.0.tgz", - "integrity": "sha512-KkQxP+pVgJC6ypy8ePypyhsV/hZeyVlkqiqrxe4pDgCwClbzmr3dGy8LbeSVhmfzYmCpOovdrVs/9chsQXCrLQ==", - "dev": true, - "requires": { - "big.js": "5.2.2", - "emojis-list": "2.1.0", - "json5": "1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "1.2.0" - } - } - } - }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -7921,17 +6854,17 @@ "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, "lodash.throttle": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -10105,10 +9038,10 @@ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, - "nwmatcher": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", - "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", + "nwsapi": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.9.tgz", + "integrity": "sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ==", "dev": true }, "oauth-sign": { @@ -10280,17 +9213,22 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "dev": true - }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -10337,9 +9275,9 @@ } }, "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", "dev": true }, "parseurl": { @@ -10376,6 +9314,21 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, + "path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "requires": { + "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + } + } + }, "path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", @@ -10480,6 +9433,12 @@ } } }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -10524,6 +9483,16 @@ "asap": "2.0.6" } }, + "prompts": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-0.1.14.tgz", + "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", + "dev": true, + "requires": { + "kleur": "2.0.2", + "sisteransi": "0.1.1" + } + }, "prop-types": { "version": "15.6.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", @@ -10533,27 +9502,21 @@ "object-assign": "4.1.1" } }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", "dev": true }, "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "q": { @@ -10561,6 +9524,21 @@ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "query-string": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.2.0.tgz", + "integrity": "sha512-5wupExkIt8RYL4h/FE+WTg3JHk62e6fFPWtAZA9J5IWK1PfTfKkMS93HBUHcFpeYi9KsY5pFbh+ldvEyaz5MyA==", + "requires": { + "decode-uri-component": "0.2.0", + "strict-uri-encode": "2.0.0" + } + }, "randomatic": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", @@ -10607,8 +9585,12 @@ "react-is": { "version": "16.7.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.7.0.tgz", - "integrity": "sha512-Z0VRQdF4NPDoI0tsXVMLkJLiwEBa+RP66g0xDHxgxysxSoCUccSten4RTF/UFvZF1dZvZ9Zu1sx+MDXwcOR34g==", - "dev": true + "integrity": "sha512-Z0VRQdF4NPDoI0tsXVMLkJLiwEBa+RP66g0xDHxgxysxSoCUccSten4RTF/UFvZF1dZvZ9Zu1sx+MDXwcOR34g==" + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "react-native": { "version": "0.57.8", @@ -11460,11 +10442,53 @@ } } }, + "react-native-gesture-handler": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.12.tgz", + "integrity": "sha512-Qp5FjRmqUFeCevSu2IYQG1Xw+YXZ9YOzqze/ZxaIvWzYAoKsRchlgHhNoxvCqElp/befrnVFIjAEQyUxcmBKJw==", + "requires": { + "hoist-non-react-statics": "2.5.5", + "invariant": "2.2.4", + "prop-types": "15.6.2" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + } + } + }, "react-native-keychain": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/react-native-keychain/-/react-native-keychain-1.2.1.tgz", "integrity": "sha512-EDTKVFHKkNHlHCt+ZISQBP6/fCx711s49iIBqBjYZP0Qryr1skRf+2PL6+YmxmGlP+P3Jf2LD+wSBKdfpuGXfA==" }, + "react-native-platform-touchable": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/react-native-platform-touchable/-/react-native-platform-touchable-1.1.1.tgz", + "integrity": "sha1-/eSsxl7qWF0osWTQw3FqQhKaaOQ=" + }, + "react-native-safe-area-view": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.11.0.tgz", + "integrity": "sha512-N3nElaahu1Me2ltnfc9acpgt1znm6pi8DSadKy79kvdzKwvVIzw0IXueA/Hjr51eCW1BsfNw7D1SgBT9U6qEkA==", + "requires": { + "hoist-non-react-statics": "2.5.5" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + } + } + }, + "react-native-screens": { + "version": "1.0.0-alpha.19", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-1.0.0-alpha.19.tgz", + "integrity": "sha512-+a7GdwzLWYWYVUJMg+XuyBoRFGD8GdGyBfebuTNBY+xwUZpTXCaK/GlLGL6EE3h0iBHZu83do7zViEailWRNyA==" + }, "react-native-search-box": { "version": "0.0.19", "resolved": "https://registry.npmjs.org/react-native-search-box/-/react-native-search-box-0.0.19.tgz", @@ -11478,6 +10502,14 @@ "resolved": "https://registry.npmjs.org/react-native-store-review/-/react-native-store-review-0.1.5.tgz", "integrity": "sha512-vVx7NYaQva3bGU5MdqXn4yEB+o+GPdmjqAuj7PnkepfeCS6Bi3sqniiKoXmKOKDgRTfIobBZjUkHzWeHli1+3A==" }, + "react-native-tab-view": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.3.1.tgz", + "integrity": "sha512-QNt6VkEW8SP1UJ7yjD5P4bOTWwHQfoIMD5CqnA06pcubdNwHR1NmjiNZsVnIvp5wAEVbW6yTHjLXOh1fzab4xg==", + "requires": { + "prop-types": "15.6.2" + } + }, "react-native-vector-icons": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-4.6.0.tgz", @@ -11633,6 +10665,57 @@ } } }, + "react-navigation": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-3.0.9.tgz", + "integrity": "sha512-SFVlL96HIjMW9JiRhqwSn6RDP6MqeRMZHgf+hK/RMwSWLyfdZZEPKm3K/y/g1mg3l4Na4T3qnRMheGJF2dD0zw==", + "requires": { + "@react-navigation/core": "3.0.2", + "@react-navigation/native": "3.0.3", + "react-navigation-drawer": "1.0.5", + "react-navigation-stack": "1.0.6", + "react-navigation-tabs": "1.0.2" + } + }, + "react-navigation-drawer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-1.0.5.tgz", + "integrity": "sha512-WeGrXFn84R75IAt3ndDfkHw9FNvPsi4JPGO1iopqUoA/2tMPA6WJbhuE3dqmmEu3TZRjI+2LatCgpx00tT1kiQ==", + "requires": { + "react-native-tab-view": "1.3.1" + } + }, + "react-navigation-header-buttons": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/react-navigation-header-buttons/-/react-navigation-header-buttons-2.1.1.tgz", + "integrity": "sha512-ZWqwvdOBDduAGr1WpmHWbCMmSx9ZpuKdnFOByt9iOSZwwQwMP2f98rkePAlYXlTcThgaqbpdt7jcktAcG056fA==", + "requires": { + "react-native-platform-touchable": "1.1.1" + } + }, + "react-navigation-stack": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/react-navigation-stack/-/react-navigation-stack-1.0.6.tgz", + "integrity": "sha512-7vnoceO6d/KYvtOSi3Ui3u1gvZEF/dBrOn+Gb1zqiZ3t+0oWRPpU36OmXAh/SwI5aokQyoihAlH9UBMfp+fbEA==" + }, + "react-navigation-tabs": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.0.2.tgz", + "integrity": "sha512-ffWPVdo+L0GLbQlLAzH7ITYqh9V9NdqT/juj8QtESH5/2yUqfvqTxQoSowvFIrtiIHHFH6tLoQy1sZZciTxmeg==", + "requires": { + "hoist-non-react-statics": "2.5.5", + "prop-types": "15.6.2", + "react-lifecycles-compat": "3.0.4", + "react-native-tab-view": "1.3.1" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + } + } + }, "react-proxy": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", @@ -11703,6 +10786,15 @@ "util-deprecate": "1.0.2" } }, + "realpath-native": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.2.tgz", + "integrity": "sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g==", + "dev": true, + "requires": { + "util.promisify": "1.0.0" + } + }, "recast": { "version": "0.16.1", "resolved": "https://registry.npmjs.org/recast/-/recast-0.16.1.tgz", @@ -11853,164 +10945,492 @@ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.7", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.3", + "har-validator": "5.1.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.21", + "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" + }, + "dependencies": { + "mime-db": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", + "dev": true + }, + "mime-types": { + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "dev": true, + "requires": { + "mime-db": "1.37.0" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "1.1.31", + "punycode": "1.4.1" + } + } + } + }, + "request-promise-core": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", + "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", + "dev": true, + "requires": { + "lodash": "4.17.11" + } + }, + "request-promise-native": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz", + "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=", + "dev": true, + "requires": { + "request-promise-core": "1.1.1", + "stealthy-require": "1.1.1", + "tough-cookie": "2.5.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "requires": { + "path-parse": "1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "requires": { + "glob": "7.1.2" + } + }, + "rsvp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", + "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==" + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "requires": { + "is-promise": "2.1.0" + } + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=" + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "requires": { + "rx-lite": "4.0.8" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "is-finite": "1.0.2" + "ret": "0.1.15" } }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sane": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", + "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "dev": true, "requires": { - "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" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { - "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "mime-db": "1.35.0" + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } } }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } } } }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "requires": { - "path-parse": "1.0.6" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "optional": true, - "requires": { - "align-text": "0.1.4" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "requires": { - "glob": "7.1.2" - } - }, - "rsvp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", - "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==" - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "requires": { - "is-promise": "2.1.0" - } - }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=" - }, - "rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", - "requires": { - "rx-lite": "4.0.8" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "0.1.15" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, "sax": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.6.tgz", @@ -12137,6 +11557,12 @@ } } }, + "sisteransi": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-0.1.1.tgz", + "integrity": "sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g==", + "dev": true + }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -12323,9 +11749,9 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", - "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.0.tgz", + "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", "dev": true, "requires": { "asn1": "0.2.4", @@ -12339,6 +11765,12 @@ "tweetnacl": "0.14.5" } }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "dev": true + }, "stacktrace-parser": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.4.tgz", @@ -12368,11 +11800,22 @@ } } }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, "stream-buffers": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=" }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" + }, "string-length": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", @@ -12852,20 +12295,23 @@ } }, "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "psl": "1.1.29", - "punycode": "1.4.1" + "psl": "1.1.31", + "punycode": "2.1.1" } }, "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "2.1.1" + } }, "trim-right": { "version": "1.0.1", @@ -12885,8 +12331,7 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true + "dev": true }, "type-check": { "version": "0.3.2", @@ -12928,48 +12373,6 @@ } } }, - "uglify-js": { - "version": "2.7.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz", - "integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=", - "dev": true, - "optional": true, - "requires": { - "async": "0.2.10", - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true, - "optional": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "optional": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", @@ -13077,6 +12480,15 @@ } } }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "2.1.1" + } + }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -13127,6 +12539,15 @@ "extsprintf": "1.3.0" } }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "dev": true, + "requires": { + "browser-process-hrtime": "0.1.3" + } + }, "walker": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", @@ -13151,19 +12572,22 @@ "dev": true }, "whatwg-encoding": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz", - "integrity": "sha512-jLBwwKUhi8WtBfsMQlL4bUUcT8sMkAtQinscJAe/M4KHCkHuUJAF6vuB0tueNIw4c8ziO6AkRmgY+jL3a0iiPw==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "dev": true, "requires": { - "iconv-lite": "0.4.19" + "iconv-lite": "0.4.24" }, "dependencies": { "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", - "dev": true + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } } } }, @@ -13172,22 +12596,21 @@ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, "whatwg-url": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", - "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "requires": { - "tr46": "0.0.3", - "webidl-conversions": "3.0.1" - }, - "dependencies": { - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", - "dev": true - } + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" } }, "which": { @@ -13198,27 +12621,17 @@ "isexe": "2.0.0" } }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true, - "optional": true + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" }, - "worker-farm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", - "dev": true, - "requires": { - "errno": "0.1.7" - } - }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", @@ -13280,9 +12693,9 @@ } }, "xml-name-validator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", - "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, "xmldoc": { @@ -13317,6 +12730,46 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "11.1.0", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "dev": true, + "requires": { + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + } + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + } } } } diff --git a/package.json b/package.json index 38ed1b85..aa7bf083 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "android": "cd ./android && ./gradlew app:assembleDebug && ./gradlew installDebug", + "clear-cache": "watchman watch-del-all && rm -rf $TMPDIR/react-native-packager-cache-* && rm -rf $TMPDIR/metro-bundler-cache-*", "test": "jest" }, "dependencies": { @@ -18,21 +19,24 @@ "moment": "^2.23.0", "react": "16.6.3", "react-native": "0.57.8", + "react-native-gesture-handler": "^1.0.12", "react-native-keychain": "^1.2.1", "react-native-search-box": "0.0.19", "react-native-store-review": "^0.1.3", "react-native-vector-icons": "^4.3.0", + "react-navigation": "^3.0.9", + "react-navigation-header-buttons": "^2.1.1", "regenerator": "^0.13.3", "sn-models": "0.1.8", "standard-file-js": "0.3.19" }, "devDependencies": { - "@babel/core": "^7.2.2", - "@babel/preset-flow": "^7.0.0", - "babel-jest": "^23.4.2", - "babel-loader": "^8.0.4", - "jest": "21.0.1", + "babel-jest": "^23.6.0", + "jest": "23.6.0", "metro-react-native-babel-preset": "^0.51.1", "react-test-renderer": "16.6.3" + }, + "jest": { + "preset": "react-native" } } diff --git a/src/ApplicationState.js b/src/ApplicationState.js index 33ebc6ba..c1ee2478 100644 --- a/src/ApplicationState.js +++ b/src/ApplicationState.js @@ -1,6 +1,7 @@ -import {AppState} from 'react-native'; -import App from "./app" +import {AppState, Platform} from 'react-native' import KeysManager from "./lib/keysManager" +import OptionsState from "./OptionsState" +var pjson = require('../package.json') export default class ApplicationState { @@ -38,11 +39,54 @@ export default class ApplicationState { this.observers = []; this.locked = true; this.previousEvents = []; + this._isAndroid = Platform.OS === "android"; + + this.initializeOptions(); AppState.addEventListener('change', this.handleAppStateChange); this.didLaunch(); } + initializeOptions() { + // Initialize Options (sort by, filter, selected tags, etc) + this.optionsState = new OptionsState(); + this.optionsState.addChangeObserver((options) => { + if(!this.loading) { + options.persist(); + } + }); + + this.optionsState.loadSaved(); + } + + getOptions() { + return this.optionsState; + } + + static getOptions() { + return this.get().getOptions(); + } + + static get isAndroid() { + return this.get().isAndroid; + } + + static get isIOS() { + return this.get().isIOS; + } + + static get version() { + return this.isAndroid ? pjson.versionAndroid : pjson.versionIOS; + } + + get isAndroid() { + return this._isAndroid; + } + + get isIOS() { + return !this._isAndroid; + } + // Sent from App.js receiveApplicationStartEvent() { var authProps = this.getAuthenticationPropsForAppState(ApplicationState.Launching); diff --git a/src/Styles.js b/src/Styles.js index fda7a923..853590f5 100644 --- a/src/Styles.js +++ b/src/Styles.js @@ -1,11 +1,11 @@ import { StyleSheet, StatusBar, Alert, Platform, Dimensions } from 'react-native'; -import App from "./app" import ModelManager from "./lib/sfjs/modelManager" import Server from "./lib/sfjs/httpManager" import Sync from './lib/sfjs/syncManager' import Storage from "./lib/sfjs/storageManager" import Auth from "./lib/sfjs/authManager" import KeysManager from './lib/keysManager' +import ApplicationState from './ApplicationState' export default class GlobalStyles { @@ -181,7 +181,7 @@ export default class GlobalStyles { Storage.get().setItem("activeTheme", JSON.stringify(theme)); } - App.get().reload(); + // App.get().reload(); } if(!theme.hasMobileRules()) { @@ -225,7 +225,7 @@ export default class GlobalStyles { url = url + ".json"; } - if(App.isAndroid && url.includes("localhost")) { + if(ApplicationState.isAndroid && url.includes("localhost")) { url = url.replace("localhost", "10.0.2.2"); } @@ -538,7 +538,7 @@ export default class GlobalStyles { titleWrapperStyle: GlobalStyles.styles().actionSheetTitleWrapper, titleTextStyle: GlobalStyles.styles().actionSheetTitleText, - tintColor: App.isIOS ? undefined : GlobalStyles.constants().mainTintColor, + tintColor: ApplicationState.isIOS ? undefined : GlobalStyles.constants().mainTintColor, buttonUnderlayColor: GlobalStyles.constants().plainCellBorderColor, diff --git a/src/_app.js b/src/_app.js new file mode 100644 index 00000000..3a99d21d --- /dev/null +++ b/src/_app.js @@ -0,0 +1,235 @@ +/** + * Standard Notes React Native App + */ + +import React, { Component } from 'react'; +import {AppState, Platform, StatusBar, BackHandler, DeviceEventEmitter, NativeModules} from 'react-native'; + +import {registerScreens} from './screens'; + +import GlobalStyles from "./Styles" +import Icons from "./Icons" +import OptionsState from "./OptionsState" +import { Client } from 'bugsnag-react-native'; +import Authenticate from "./screens/Authenticate"; +var pjson = require('../package.json'); +import ApplicationState from "./ApplicationState"; + +import { createStackNavigator, createAppContainer } from "react-navigation"; + +if(__DEV__ === false) { + const bugsnag = new Client() + + // Disable console.log for non-dev builds + console.log = () => {}; +} + +registerScreens(); + +const COLD_LAUNCH_STATE = "COLD_LAUNCH_STATE"; +const WARM_LAUNCH_STATE = "WARM_LAUNCH_STATE"; + +export default class App { + + static instance = null; + + get tabStyles() { + var navBarColor = GlobalStyles.constantForKey("navBarColor"); + var navBarTextColor = GlobalStyles.constantForKey("navBarTextColor"); + var statusBarColor = GlobalStyles.constants().mainBackgroundColor; + + if(this.isAndroid) { + statusBarColor = GlobalStyles.darken(navBarColor); + // Android <= v22 does not support changing status bar text color. It will always be white + // So we have to make sure background color has proper contrast + if(Platform.Version <= 22) { + statusBarColor = "black"; + } + } + + return { + tabBarBackgroundColor: GlobalStyles.constants().mainBackgroundColor, + tabBarTranslucent: true, + tabBarButtonColor: 'gray', + tabBarSelectedButtonColor: GlobalStyles.constants().mainTintColor, + + // navBarBlur: true, + navBarButtonColor: navBarTextColor, + navBarTextColor: navBarTextColor, + navigationBarColor: 'black', // android built in bar + navBarBackgroundColor: navBarColor, // actual top nav bar + + statusBarColor: statusBarColor, // Android only + statusBarTextColorScheme: 'dark', + statusBarTextColorSchemeSingleScreen: 'dark', + topBarElevationShadowEnabled: true, + + screenBackgroundColor: GlobalStyles.constants().mainBackgroundColor + } + } + + start() { + + let startApp = () => { + this.startApp(); + ApplicationState.get().receiveApplicationStartEvent(); + } + + Navigation.events().registerAppLaunchedListener(() => { + this.appLaunched = true; + if(this.startAppOnLaunch) { + startApp(); + } + }); + + this.loading = true; + GlobalStyles.get().resolveInitialTheme().then(function(){ + Promise.all([ + Icons.get().loadIcons(), + KeysManager.get().loadInitialData(), + this.optionsState.loadSaved() + ]).then(function(){ + this.loading = false; + var run = () => { + if(this.appLaunched) { + startApp(); + } else { + this.startAppOnLaunch = true; + } + } + if(KeysManager.get().isFirstRun()) { + KeysManager.get().handleFirstRun().then(run); + } else { + run(); + } + }.bind(this)) + }.bind(this)) + } + + startApp(options = {}) { + console.log("===Starting App==="); + + Navigation.setDefaultOptions({ + bottomTabs: { + visible: true, + animate: false, // Controls whether BottomTabs visibility changes should be animated + drawBehind: true, + backgroundColor: GlobalStyles.constants().mainBackgroundColor + }, + bottomTab: { + iconColor: GlobalStyles.constants().mainDimColor, + selectedIconColor: GlobalStyles.constants().mainTintColor, + textColor: GlobalStyles.constants().mainDimColor, + selectedTextColor: GlobalStyles.constants().mainTintColor + }, + }); + + if(this.isIOS) { + Navigation.setRoot({ + root: { + bottomTabs: { + id: 'MainTabBar', + children: [{ + stack: { + children: [{ + component: { + name: 'sn.Notes', + options: { + bottomTab: { + text: 'Notes', + icon: Icons.getIcon('ios-menu-outline') + }, + topBar: { + title: { + text: "Notes", + } + } + } + } + }] + } + }, + { + stack: { + children: [{ + component: { + name: 'sn.Account', + options: { + bottomTab: { + text: 'Account', + icon: Icons.getIcon('ios-contact-outline') + }, + topBar: { + title: { + text: "Account" + } + } + } + } + }] + } + }] + } + } + }); + } + else { + + Navigation.setRoot({ + root: { + sideMenu: { + center: { + stack: { + children: [{ + component: { + name: 'sn.Notes', + options: { + bottomTab: { + text: 'Notes', + icon: Icons.getIcon('ios-menu-outline') + }, + topBar: { + title: { + text: "Notes", + } + } + } + } + }] + } + }, + left: { + component: { + name: 'sn.Filter', + id: "SideMenu", + passProps: { + singleSelectMode: true, + options: JSON.stringify(this.optionsState), + onOptionsChange: (options) => { + this.optionsState.mergeWith(options); + } + } + } + }, + disableOpenGesture: false + } + } + }); + } + } + + reload() { + ApplicationState.get().setThemeChangeBegan(); + + Icons.get().loadIcons(); + + // reset search box + this.optionsState.setSearchTerm(null); + + this.startApp(); + + setTimeout(function () { + ApplicationState.get().setThemeChangeEnded(); + }, 100); + } +} diff --git a/src/app.js b/src/app.js index bc17ac25..d6d32cb1 100644 --- a/src/app.js +++ b/src/app.js @@ -1,75 +1,70 @@ -/** - * Standard Notes React Native App - */ - -import React, { Component } from 'react'; -import {AppState, Platform, StatusBar, BackHandler, DeviceEventEmitter, NativeModules} from 'react-native'; - -import {Navigation} from 'react-native-navigation'; -import {registerScreens} from './screens'; +import React, {Component} from 'react'; +import { View, Text } from "react-native"; +import { createStackNavigator, createAppContainer, createDrawerNavigator } from "react-navigation"; import KeysManager from './lib/keysManager' +import GlobalStyles from "./Styles" +import Icons from "./Icons" +import ApplicationState from "./ApplicationState" import Auth from './lib/sfjs/authManager' import ModelManager from './lib/sfjs/modelManager' import Sync from './lib/sfjs/syncManager' import Storage from './lib/sfjs/storageManager' import ReviewManager from './lib/reviewManager'; -import GlobalStyles from "./Styles" -import Icons from "./Icons" -import OptionsState from "./OptionsState" -import { Client } from 'bugsnag-react-native'; -import Authenticate from "./screens/Authenticate"; -var moment = require('moment/min/moment-with-locales.min.js'); -var pjson = require('../package.json'); -import ApplicationState from "./ApplicationState"; - -if(__DEV__ === false) { - const bugsnag = new Client() - - // Disable console.log for non-dev builds - console.log = () => {}; -} - -registerScreens(); - -const COLD_LAUNCH_STATE = "COLD_LAUNCH_STATE"; -const WARM_LAUNCH_STATE = "WARM_LAUNCH_STATE"; - -export default class App { - static instance = null; - - static get() { - if (this.instance == null) { - this.instance = new App(); - } - - return this.instance; - } +import Compose from "./screens/Compose" +import Notes from "./screens/Notes" +import Filter from "./screens/Filter" +import Account from "./screens/Account" +import InputModal from "./screens/InputModal" + +const AppStack = createStackNavigator({ + Notes: {screen: Notes}, + Compose: {screen: Compose}, + NoteOptions: {screen : Filter}, +}, { + initialRouteName: 'Notes' +}) + +const SettingsStack = createStackNavigator({ + Screen1: Account +}) + +const InputModalStack = createStackNavigator({ + Screen1: InputModal +}) + +const ModalStack = createStackNavigator({ + Home: AppStack, + Settings: SettingsStack, + NewTag: InputModalStack +}, { + mode: "modal", + headerMode: 'none', +}) + +const DrawerStack = createDrawerNavigator({ + Main: ModalStack +}, { + contentComponent: Filter, +}); + +const AppContainer = createAppContainer(DrawerStack); + +export default class App extends Component { + + constructor(props) { + super(props); - constructor() { KeysManager.get().registerAccountRelatedStorageKeys(["options"]); - this._isAndroid = Platform.OS === "android"; - // Initialize iOS review manager. Will automatically handle requesting review logic. ReviewManager.initialize(); - // Configure Moment locale - moment.locale(this.getLocale()); - - // Initialize Options (sort by, filter, selected tags, etc) - this.optionsState = new OptionsState(); - this.optionsState.addChangeObserver((options) => { - if(!this.loading) { - options.persist(); - } - }) - // Listen to sign out event - this.signoutObserver = Auth.get().addEventHandler((event) => { + Auth.get().addEventHandler((event) => { if(event == SFAuthManager.DidSignOutEvent) { - this.optionsState.reset(); + ApplicationState.getOptions().reset(); Storage.get().clearAllModels(); KeysManager.get().clearAccountKeysAndData(); ModelManager.get().handleSignout(); @@ -77,239 +72,35 @@ export default class App { } }); - } + this.state = {ready: false}; - getLocale() { - if (Platform.OS === 'android') { - return NativeModules.I18nManager.localeIdentifier; - } else { - return NativeModules.SettingsManager.settings.AppleLocale; - } + this.loadInitialData(); } - static get isAndroid() { - return this.get().isAndroid; - } + async loadInitialData() { + await GlobalStyles.get().resolveInitialTheme(); + await Promise.all([ + Icons.get().loadIcons(), + KeysManager.get().loadInitialData(), + ]) - static get isIOS() { - return this.get().isIOS; - } - - static get version() { - return this.isAndroid ? pjson.versionAndroid : pjson.versionIOS; - } - - get isAndroid() { - return this._isAndroid; - } - - get isIOS() { - return !this._isAndroid; - } - - globalOptions() { - return this.optionsState; - } - - get tabStyles() { - var navBarColor = GlobalStyles.constantForKey("navBarColor"); - var navBarTextColor = GlobalStyles.constantForKey("navBarTextColor"); - var statusBarColor = GlobalStyles.constants().mainBackgroundColor; - - if(this.isAndroid) { - statusBarColor = GlobalStyles.darken(navBarColor); - // Android <= v22 does not support changing status bar text color. It will always be white - // So we have to make sure background color has proper contrast - if(Platform.Version <= 22) { - statusBarColor = "black"; - } - } - - return { - tabBarBackgroundColor: GlobalStyles.constants().mainBackgroundColor, - tabBarTranslucent: true, - tabBarButtonColor: 'gray', - tabBarSelectedButtonColor: GlobalStyles.constants().mainTintColor, - - // navBarBlur: true, - navBarButtonColor: navBarTextColor, - navBarTextColor: navBarTextColor, - navigationBarColor: 'black', // android built in bar - navBarBackgroundColor: navBarColor, // actual top nav bar - - statusBarColor: statusBarColor, // Android only - statusBarTextColorScheme: 'dark', - statusBarTextColorSchemeSingleScreen: 'dark', - topBarElevationShadowEnabled: true, - - screenBackgroundColor: GlobalStyles.constants().mainBackgroundColor - } - } - - start() { - - let startApp = () => { - this.startApp(); + let ready = () => { ApplicationState.get().receiveApplicationStartEvent(); + this.setState({ready: true}); } - Navigation.events().registerAppLaunchedListener(() => { - this.appLaunched = true; - if(this.startAppOnLaunch) { - startApp(); - } - }); - - this.loading = true; - GlobalStyles.get().resolveInitialTheme().then(function(){ - Promise.all([ - Icons.get().loadIcons(), - KeysManager.get().loadInitialData(), - this.optionsState.loadSaved() - ]).then(function(){ - this.loading = false; - var run = () => { - if(this.appLaunched) { - startApp(); - } else { - this.startAppOnLaunch = true; - } - } - if(KeysManager.get().isFirstRun()) { - KeysManager.get().handleFirstRun().then(run); - } else { - run(); - } - }.bind(this)) - }.bind(this)) - } - - startApp(options = {}) { - console.log("===Starting App==="); - - Navigation.setDefaultOptions({ - bottomTabs: { - visible: true, - animate: false, // Controls whether BottomTabs visibility changes should be animated - drawBehind: true, - backgroundColor: GlobalStyles.constants().mainBackgroundColor - }, - bottomTab: { - iconColor: GlobalStyles.constants().mainDimColor, - selectedIconColor: GlobalStyles.constants().mainTintColor, - textColor: GlobalStyles.constants().mainDimColor, - selectedTextColor: GlobalStyles.constants().mainTintColor - }, - }); - - if(this.isIOS) { - Navigation.setRoot({ - root: { - bottomTabs: { - id: 'MainTabBar', - children: [{ - stack: { - children: [{ - component: { - name: 'sn.Notes', - options: { - bottomTab: { - text: 'Notes', - icon: Icons.getIcon('ios-menu-outline') - }, - topBar: { - title: { - text: "Notes", - } - } - } - } - }] - } - }, - { - stack: { - children: [{ - component: { - name: 'sn.Account', - options: { - bottomTab: { - text: 'Account', - icon: Icons.getIcon('ios-contact-outline') - }, - topBar: { - title: { - text: "Account" - } - } - } - } - }] - } - }] - } - } - }); - } - else { - - Navigation.setRoot({ - root: { - sideMenu: { - center: { - stack: { - children: [{ - component: { - name: 'sn.Notes', - options: { - bottomTab: { - text: 'Notes', - icon: Icons.getIcon('ios-menu-outline') - }, - topBar: { - title: { - text: "Notes", - } - } - } - } - }] - } - }, - left: { - component: { - name: 'sn.Filter', - id: "SideMenu", - passProps: { - singleSelectMode: true, - options: JSON.stringify(this.optionsState), - onOptionsChange: (options) => { - this.optionsState.mergeWith(options); - } - } - } - }, - disableOpenGesture: false - } - } - }); + if(KeysManager.get().isFirstRun()) { + KeysManager.get().handleFirstRun().then(ready); + } else { + ready(); } } - reload() { - ApplicationState.get().setThemeChangeBegan(); - - Icons.get().loadIcons(); - - // reset search box - this.optionsState.setSearchTerm(null); - - this.startApp(); + render() { + if(!this.state.ready) { + return null; + } - setTimeout(function () { - ApplicationState.get().setThemeChangeEnded(); - }, 100); + return ; } } - -export {moment} diff --git a/src/components/HeaderTitleView.js b/src/components/HeaderTitleView.js new file mode 100644 index 00000000..da81ff76 --- /dev/null +++ b/src/components/HeaderTitleView.js @@ -0,0 +1,60 @@ +import React, { Component } from 'react'; +import {DeviceEventEmitter, Modal, View, Text} from 'react-native'; +import GlobalStyles from "../Styles"; +import PlatformStyles from "../models/PlatformStyles"; + +export default class HeaderTitleView extends Component { + + constructor(props) { + super(props); + } + + render() { + let styles = this.getStyles(); + + return ( + + {this.props.title} + {this.props.subtitle && + {this.props.subtitle} + } + + ) + } + + getStyles() { + return new PlatformStyles({ + headerContainer: { + backgroundColor: GlobalStyles.constants().mainBackgroundColor, + flex: 1, + justifyContent: 'flex-start', + flexDirection: "column" + }, + + headerContainerAndroid: { + alignItems: 'flex-start', + }, + + headerTitle: { + color: GlobalStyles.constants().mainTextColor, + fontWeight: "bold", + fontSize: 18, + textAlign: "center", + }, + + headerSubtitle: { + color: GlobalStyles.constants().mainTextColor, + opacity: 0.6, + fontSize: 12, + }, + + headerSubtitleIOS: { + textAlign: "center", + }, + + headerSubtitleAndroid: { + fontSize: 13, + } + }); + } +} diff --git a/src/containers/AuthModal.js b/src/containers/AuthModal.js index ae6da847..7a15ea6a 100644 --- a/src/containers/AuthModal.js +++ b/src/containers/AuthModal.js @@ -3,7 +3,6 @@ import { StyleSheet, View, FlatList, RefreshControl, ScrollView, Text, Modal, Ap import NoteCell from "./NoteCell" import Search from 'react-native-search-box' import GlobalStyles from "../Styles" -import App from "../app" import Authenticate from "../screens/Authenticate" import ApplicationState from "../ApplicationState"; diff --git a/src/containers/LockedView.js b/src/containers/LockedView.js index 5b921c40..8665198d 100644 --- a/src/containers/LockedView.js +++ b/src/containers/LockedView.js @@ -1,7 +1,6 @@ import React, { Component } from 'react'; import { StyleSheet, View, Text } from 'react-native'; import GlobalStyles from "../Styles" -import App from "../app" import Icon from 'react-native-vector-icons/Ionicons'; export default class LockedView extends Component { diff --git a/src/containers/NoteList.js b/src/containers/NoteList.js index 89b2f945..881f0913 100644 --- a/src/containers/NoteList.js +++ b/src/containers/NoteList.js @@ -3,7 +3,7 @@ import { StyleSheet, View, FlatList, RefreshControl, ScrollView, Text } from 're import NoteCell from "./NoteCell" import Search from 'react-native-search-box' import GlobalStyles from "../Styles" -import App from "../app" +import ApplicationState from "../ApplicationState" export default class NoteList extends Component { @@ -54,7 +54,7 @@ export default class NoteList extends Component { // On Android, only one tag is selected at a time. If it is selected, we don't need to display the tags string // above the note cell let selectedTags = this.props.selectedTags || []; - let renderTags = App.isIOS || selectedTags.length == 0 || (!item.tags.includes(selectedTags[0])); + let renderTags = ApplicationState.isIOS || selectedTags.length == 0 || (!item.tags.includes(selectedTags[0])); return ( this.props.onAction("rate")} > - Version {App.version} + Version {ApplicationState.version} Help support us with a review on the {storeName}. diff --git a/src/containers/account/OptionsSection.js b/src/containers/account/OptionsSection.js index 1dc47a38..28fc6ab9 100644 --- a/src/containers/account/OptionsSection.js +++ b/src/containers/account/OptionsSection.js @@ -9,7 +9,7 @@ import SectionedTableCell from "../../components/SectionedTableCell"; import SectionedAccessoryTableCell from "../../components/SectionedAccessoryTableCell"; import SectionedOptionsTableCell from "../../components/SectionedOptionsTableCell"; -import {moment} from "../../app" +import {moment} from "../../lib/moment" export default class OptionsSection extends Component { diff --git a/src/lib/componentManager.js b/src/lib/componentManager.js index 96123e0c..4554d763 100644 --- a/src/lib/componentManager.js +++ b/src/lib/componentManager.js @@ -2,10 +2,10 @@ let ClientDataDomain = "org.standardnotes.sn.components"; import GlobalStyles from '../Styles' -import App from '../app' import ModelManager from './sfjs/modelManager' import Sync from './sfjs/syncManager' import SF from "./sfjs/sfjs" +import ApplicationState from "../ApplicationState" export default class ComponentManager { @@ -147,7 +147,7 @@ export default class ComponentManager { } urlForComponent(component) { - var localReplacement = App.isIOS ? "localhost" : "10.0.2.2"; + var localReplacement = ApplicationState.isIOS ? "localhost" : "10.0.2.2"; var url = component.hosted_url || component.url; if(url) { url = url.replace("localhost", localReplacement).replace("sn.local", localReplacement); @@ -202,7 +202,7 @@ export default class ComponentManager { for(let handler of this.handlers) { if(handler.areas.includes(component.area) || handler.areas.includes("*")) { setTimeout(function () { - handler.actionHandler(component, message.action, message.data); + handler.actionHandler && handler.actionHandler(component, message.action, message.data); }, 10); } } diff --git a/src/lib/keysManager.js b/src/lib/keysManager.js index f9aa8762..d19d417a 100644 --- a/src/lib/keysManager.js +++ b/src/lib/keysManager.js @@ -1,5 +1,4 @@ import {Platform} from 'react-native'; -import App from "../app" import FlagSecure from 'react-native-flag-secure-android'; import ApplicationState from "../ApplicationState" import FingerprintScanner from 'react-native-fingerprint-scanner'; @@ -159,7 +158,7 @@ export default class KeysManager { } updateScreenshotPrivacy(enabled) { - if(App.isIOS) { + if(ApplicationState.isIOS) { return; } diff --git a/src/lib/moment.js b/src/lib/moment.js new file mode 100644 index 00000000..6be1b55f --- /dev/null +++ b/src/lib/moment.js @@ -0,0 +1,8 @@ +import { Platform, NativeModules } from 'react-native'; + +// moment.js +let moment = require('moment/min/moment-with-locales.min.js'); +let locale = Platform.OS === 'android' ? NativeModules.I18nManager.localeIdentifier : NativeModules.SettingsManager.settings.AppleLocale +moment.locale(locale); + +export default moment; diff --git a/src/lib/sfjs/alertManager.js b/src/lib/sfjs/alertManager.js index 2bcefc7c..e63989f7 100644 --- a/src/lib/sfjs/alertManager.js +++ b/src/lib/sfjs/alertManager.js @@ -1,5 +1,4 @@ import { Alert } from 'react-native'; -import App from "../../app" export default class AlertManager extends SFAlertManager { diff --git a/src/lib/userPrefsManager.js b/src/lib/userPrefsManager.js index 53494964..59bcde43 100644 --- a/src/lib/userPrefsManager.js +++ b/src/lib/userPrefsManager.js @@ -1,5 +1,4 @@ import Storage from './sfjs/storageManager' -import {moment} from "../app" const LastExportDateKey = "LastExportDateKey"; diff --git a/src/models/PlatformStyles.js b/src/models/PlatformStyles.js new file mode 100644 index 00000000..2d1cc50e --- /dev/null +++ b/src/models/PlatformStyles.js @@ -0,0 +1,19 @@ +import {Platform} from 'react-native'; + +export default class PlatformStyles { + + constructor(styles) { + this.styles = styles; + } + + get(key) { + var rules = this.styles; + var styles = [rules[key]]; + var platform = Platform.OS == "android" ? "Android" : "IOS"; + var platformRules = rules[key+platform]; + if(platformRules) { + styles.push(platformRules); + } + return styles; + } +} diff --git a/src/models/extend/item.js b/src/models/extend/item.js index 69a0a16e..0c10ff65 100644 --- a/src/models/extend/item.js +++ b/src/models/extend/item.js @@ -1,4 +1,4 @@ -import {moment} from "../../app" +import moment from "../../lib/moment"; // Override Item instance methods without overriding actual class, since we'd then need // to override all individual classes, like Note and Tag. diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index b844a18b..002e2c3d 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -1,42 +1,74 @@ import React, { Component } from 'react'; -import {DeviceEventEmitter, Modal, View} from 'react-native'; +import {DeviceEventEmitter, Modal, View, Text} from 'react-native'; import GlobalStyles from "../Styles"; -import App from "../app"; import ApplicationState from "../ApplicationState"; -import {Navigation} from 'react-native-navigation'; +import HeaderTitleView from "../components/HeaderTitleView" +import HeaderButtons, { HeaderButton, Item } from 'react-navigation-header-buttons'; +import Icon from 'react-native-vector-icons/Ionicons'; + +const IoniconsHeaderButton = passMeFurther => ( + // the `passMeFurther` variable here contains props from as well as + // and it is important to pass those props to `HeaderButton` + // then you may add some information like icon size or color (if you use icons) + +); export default class Abstract extends Component { - static options(passProps) { - - return { - topBar: { - visible: true, - animate: false, // Controls whether TopBar visibility changes should be animated - hideOnScroll: false, - buttonColor: GlobalStyles.constants().mainTintColor, - drawBehind: false, - backButton: { - visible: true, - color: GlobalStyles.constants().mainTintColor - }, - background: { - color: GlobalStyles.constants().mainBackgroundColor - }, - title: { - color: GlobalStyles.constants().mainTextColor, - fontWeight: 'bold' - } - } - }; + static getDefaultNavigationOptions = ({ navigation, navigationOptions, templateOptions }) => { + // templateOptions allow subclasses to specifiy things they want to display in nav bar before it actually loads. + // this way, things like title and the Done button in the top left are visible during transition + if(!templateOptions) { templateOptions = {}; } + let options = { + headerTitle:, + headerStyle: { + backgroundColor: GlobalStyles.constants().mainBackgroundColor + }, + headerTintColor: GlobalStyles.constants().mainTintColor, + drawerLockMode: navigation.getParam("drawerLockMode") || templateOptions.drawerLockMode + } + + let headerLeft, headerRight; + let leftButton = navigation.getParam('leftButton') || templateOptions.leftButton; + if(leftButton) { + headerLeft = ( + + + + ) + + options.headerLeft = headerLeft; + } + + let rightButton = navigation.getParam('rightButton') || templateOptions.rightButton; + if(rightButton) { + headerRight = ( + + + + ) + + options.headerRight = headerRight; + } + + return options; } + static navigationOptions = ({ navigation, navigationOptions }) => { + return Abstract.getDefaultNavigationOptions({navigation, navigationOptions}); + }; + constructor(props) { super(props); this.state = {lockContent: true}; - Navigation.events().bindComponent(this); + this.listeners = [ + this.props.navigation.addListener('willFocus', payload => {this.componentWillFocus();}), + this.props.navigation.addListener('didFocus', payload => {this.componentDidFocus();}), + this.props.navigation.addListener('willBlur', payload => {this.componentWillBlur();}), + this.props.navigation.addListener('didBlur', payload => {this.componentDidBlur();}) + ]; this._stateObserver = ApplicationState.get().addStateObserver((state) => { if(!this.isMounted()) { @@ -53,25 +85,45 @@ export default class Abstract extends Component { }) } - setTitle(title) { - Navigation.mergeOptions(this.props.componentId, { - topBar: { - title: { - text: title - } - } - }) + componentWillUnmount() { + for(var listener of this.listeners) { + listener.remove(); + } + } + + componentWillFocus(){ + + } + + componentDidFocus(){ + + } + + componentWillBlur(){ + + } + + componentDidBlur(){ + + } + + getProp(prop) { + // this.props.navigation could be undefined if we're in the drawer + return this.props.navigation.getParam && this.props.navigation.getParam(prop); + } + + setTitle(title, subtitle) { + let options = {}; + options.title = title; + options.subtitle = subtitle; + this.props.navigation.setParams(options); } // Called by RNN componentDidAppear() { - console.log("Component did appear", this); this.visible = true; this.willBeVisible = true; // Just in case willAppear isn't called for whatever reason this.configureNavBar(false); - if(this.queuedSubtitle) { - this.setNavBarSubtitle(this.queuedSubtitle); - } } // Called by RNN @@ -157,35 +209,7 @@ export default class Abstract extends Component { } - setNavBarSubtitle(title) { - if(!this.visible || !this.willBeVisible) { - this.queuedSubtitle = title; - return false; - } - - this.queuedSubtitle = null; - - console.log("Setting subtitle text", title); - - var color = GlobalStyles.constantForKey(App.isIOS ? "mainTextColor" : "navBarTextColor"); - Navigation.mergeOptions(this.props.componentId, { - topBar: { - subtitle: { - text: title, - color: GlobalStyles.hexToRGBA(color, 0.5), - fontSize: 12 - } - } - }); - - return true; - } - dismissModal() { Navigation.dismissModal(); } - - - - } diff --git a/src/screens/Account.js b/src/screens/Account.js index 2a46e68f..3b0156d3 100644 --- a/src/screens/Account.js +++ b/src/screens/Account.js @@ -27,17 +27,34 @@ import CompanySection from "../containers/account/CompanySection" import LockedView from "../containers/LockedView"; import ApplicationState from "../ApplicationState"; import GlobalStyles from "../Styles" -import App from "../app" -import {Navigation} from 'react-native-navigation'; var base64 = require('base-64'); var Mailer = require('NativeModules').RNMail; export default class Account extends Abstract { + static navigationOptions = ({ navigation, navigationOptions }) => { + let templateOptions = { + title: "Settings", + leftButton: { + title: "Done" + } + } + return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); + }; + constructor(props) { super(props); + props.navigation.setParams({ + leftButton: { + title: "Done", + onPress: () => { + this.dismiss(); + } + } + }) + this.constructState({params: {}}); } @@ -71,6 +88,13 @@ export default class Account extends Abstract { this.loadSecurityStatus(); } + dismiss() { + /* + the `null` parameter is actually very important: https://reactnavigation.org/docs/en/navigation-prop.html#goback-close-the-active-screen-and-move-back + */ + this.props.navigation.goBack(null); + } + loadSecurityStatus() { var hasPasscode = KeysManager.get().hasOfflinePasscode(); var hasFingerprint = KeysManager.get().hasFingerprint(); @@ -94,37 +118,12 @@ export default class Account extends Abstract { }) } - configureNavBar() { - super.configureNavBar(); - - if(App.get().isAndroid) { - Navigation.mergeOptions(this.props.componentId, { - topBar: { - leftButtons: [ - { - text: "Close", - id: 'cancel', - showAsAction: 'ifRoom', - }, - ], - } - // animated: false - }); - } - } - - componentDidAppear() { - super.componentDidAppear(); + componentDidFocus() { + super.componentDidFocus(); this.loadSecurityStatus(); this.forceUpdate(); } - navigationButtonPressed({ buttonId }) { - if(buttonId == 'cancel') { - this.returnToNotesScreen(); - } - } - validate(email, password) { if(!email) { Alert.alert('Missing Email', "Please enter a valid email address.", [{text: 'OK'}]) @@ -251,23 +250,10 @@ export default class Account extends Abstract { onAuthSuccess = (callback) => { Sync.get().markAllItemsDirtyAndSaveOffline(false).then(() => { callback && callback(); - this.returnToNotesScreen(); + this.dismiss(); }); } - returnToNotesScreen = () => { - if(App.isIOS) { - Navigation.mergeOptions('MainTabBar', { - bottomTabs: { - currentTabIndex: 0 - } - }); - this.forceUpdate(); - } else { - this.dismissModal(); - } - } - onSignOutPress = () => { AlertManager.get().confirm({ title: "Sign Out?", @@ -275,6 +261,7 @@ export default class Account extends Abstract { confirmButtonText: "Sign Out", onConfirm: () => { Auth.get().signout().then(() => { + console.log("Signed out"); this.forceUpdate(); }) } @@ -317,8 +304,8 @@ export default class Account extends Abstract { } var jsonString = JSON.stringify(data, null, 2 /* pretty print */); - var stringData = App.isIOS ? jsonString : base64.encode(unescape(encodeURIComponent(jsonString))) - var fileType = App.isAndroid ? ".json" : "json"; // Android creates a tmp file and expects dot with extension + var stringData = ApplicationState.isIOS ? jsonString : base64.encode(unescape(encodeURIComponent(jsonString))) + var fileType = ApplicationState.isAndroid ? ".json" : "json"; // Android creates a tmp file and expects dot with extension var calledCallback = false; @@ -456,7 +443,7 @@ export default class Account extends Abstract { onCompanyAction = (action) => { if(action == "feedback") { var platformString = Platform.OS == "android" ? "Android" : "iOS"; - Linking.openURL(`mailto:hello@standardnotes.org?subject=${platformString} app feedback (v${App.version})`); + Linking.openURL(`mailto:hello@standardnotes.org?subject=${platformString} app feedback (v${ApplicationState.version})`); } else if(action == "learn_more") { Linking.openURL("https://standardnotes.org"); } else if(action == "privacy") { @@ -464,7 +451,7 @@ export default class Account extends Abstract { } else if(action == "help") { Linking.openURL("https://standardnotes.org/help"); } else if(action == "rate") { - if(App.isIOS) { + if(ApplicationState.isIOS) { Linking.openURL("https://itunes.apple.com/us/app/standard-notes/id1285392450?ls=1&mt=8"); } else { Linking.openURL("market://details?id=com.standardnotes"); @@ -474,7 +461,7 @@ export default class Account extends Abstract { var message = "Check out Standard Notes, a free, open-source, and completely encrypted notes app."; let url = "https://standardnotes.org"; // Android ignores url. iOS ignores title. - if(App.isAndroid) { + if(ApplicationState.isAndroid) { message += "\n\nhttps://standardnotes.org"; } diff --git a/src/screens/Authenticate.js b/src/screens/Authenticate.js index d31deba0..0f66eab0 100644 --- a/src/screens/Authenticate.js +++ b/src/screens/Authenticate.js @@ -1,5 +1,4 @@ import React, { Component } from 'react'; -import App from "../app" import SF from '../lib/sfjs/sfjs' import Storage from '../lib/sfjs/storageManager' import Auth from '../lib/sfjs/authManager' @@ -15,7 +14,8 @@ import SectionedOptionsTableCell from "../components/SectionedOptionsTableCell"; import GlobalStyles from "../Styles" import FingerprintScanner from 'react-native-fingerprint-scanner'; import Icon from 'react-native-vector-icons/Ionicons'; -import {Navigation} from 'react-native-navigation'; + +import ApplicationState from "../ApplicationState" import { TextInput, @@ -143,7 +143,7 @@ export default class Authenticate extends Abstract { var isAuthenticating = this.props.mode === "authenticate"; var isSetup = !isAuthenticating; - var paddingTop = (App.isIOS && GlobalStyles.isIPhoneX()) ? 30 : 15; + var paddingTop = (ApplicationState.isIOS && GlobalStyles.isIPhoneX()) ? 30 : 15; return ( @@ -288,7 +288,7 @@ class PasscodeSection extends Abstract { } refreshKeyboard() { - if(App.isIOS) { + if(ApplicationState.isIOS) { // on Android, keyboard will update right away Keyboard.dismiss(); setTimeout(() => { @@ -401,7 +401,7 @@ class FingerprintSection extends Abstract { this.mergeState({began: true, error: null}); console.log("Creating FingerprintScanner Instance"); - if(App.isAndroid) { + if(ApplicationState.isAndroid) { FingerprintScanner.authenticate({ onAttempt: this.handleInvalidAttempt }).then(() => { this.handleSuccessfulAuth(); }) @@ -465,7 +465,7 @@ class FingerprintSection extends Abstract { render() { let iconColor = this.state.success ? "green" : GlobalStyles.constants().mainTextColor; let textStyles = [this.styles.text]; - var iconName = App.isAndroid ? "md-finger-print" : 'ios-finger-print'; + var iconName = ApplicationState.isAndroid ? "md-finger-print" : 'ios-finger-print'; var text; if(this.state.began) { @@ -483,7 +483,7 @@ class FingerprintSection extends Abstract { } if(this.state.success) { - iconName = App.isAndroid ? "md-checkmark-circle-outline" : "ios-checkmark-circle-outline"; + iconName = ApplicationState.isAndroid ? "md-checkmark-circle-outline" : "ios-checkmark-circle-outline"; text = `${this.props.biometricsNoun} Successful`; textStyles.push(this.styles.success); } diff --git a/src/screens/Compose.js b/src/screens/Compose.js index de43e9c4..7806022b 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -1,5 +1,4 @@ import React, { Component } from 'react'; -import App from '../app' import Sync from '../lib/sfjs/syncManager' import ModelManager from '../lib/sfjs/modelManager' import Auth from '../lib/sfjs/authManager' @@ -8,11 +7,11 @@ import Abstract from "./Abstract" import Webview from "./Webview" import ComponentManager from '../lib/componentManager' import Icons from '../Icons'; +import ApplicationState from '../ApplicationState'; import LockedView from "../containers/LockedView"; import Icon from 'react-native-vector-icons/Ionicons'; import TextView from "sn-textview"; -import {Navigation} from 'react-native-navigation'; import { StyleSheet, @@ -30,13 +29,21 @@ import GlobalStyles from "../Styles" export default class Compose extends Abstract { - static navigatorStyle = { - tabBarHidden: true + static navigationOptions = ({ navigation, navigationOptions }) => { + let templateOptions = { + title: "Compose", + rightButton: { + title: "Options" + } + } + return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); }; constructor(props) { super(props); - var note = ModelManager.get().findItem(props.noteId); + + let note, noteId = this.getProp("noteId"); + if(noteId) { note = ModelManager.get().findItem(noteId);} if(!note) { note = ModelManager.get().createItem({content_type: "Note", dummy: true, text: ""}); // We needed to add the item originally for default editors to work, but default editors was removed @@ -49,6 +56,16 @@ export default class Compose extends Abstract { this.note = note; this.constructState({title: note.title, text: note.text}); + props.navigation.setParams({ + title: 'Compose', + drawerLockMode: "locked-closed", + rightButton: { + title: "Options", + onPress: () => {this.presentOptions();}, + disabled: !this.note.uuid + } + }) + this.loadStyles(); this.syncObserver = Sync.get().addEventHandler((event, data) => { @@ -91,53 +108,8 @@ export default class Compose extends Abstract { ComponentManager.get().deregisterHandler(this.componentHandler); } - // on iOS, declaring nav bar buttons as static prevents the flickering issue that occurs on nav push - - static navigatorButtons = Platform.OS == 'android' ? {} : { - rightButtons: [{ - title: "Manage", - id: 'tags', - showAsAction: 'ifRoom', - }] - }; - - configureNavBar(initial) { - super.configureNavBar(); - - // Only edit the nav bar once, it wont be changed - if(!initial) { - return; - } - - var tagButton = { - text: "Manage", - id: 'tags', - showAsAction: 'ifRoom', - } - - if(Platform.OS === "android") { - tagButton.icon = Icons.getIcon("md-pricetag"); - } - - if(!this.note.uuid) { - if(App.isIOS) { - tagButton.disabled = true; - } else { - tagButton = {}; - } - } - - Navigation.mergeOptions(this.props.componentId, { - topBar: { - rightButtons: [tagButton], - animated: false - } - }); - } - - componentDidAppear() { - super.componentDidAppear(); - // Will appear + componentWillFocus() { + super.componentWillFocus(); if(this.needsEditorReload) { this.forceUpdate(); this.needsEditorReload = false; @@ -149,59 +121,47 @@ export default class Compose extends Abstract { this.changesMade(); }, 300); } + } + + componentDidFocus() { + super.componentDidFocus(); - // Did Appear if(this.note.dummy) { if(this.refs.input) { this.refs.input.focus(); } } - if(App.isIOS) { + if(ApplicationState.isIOS) { if(this.note.dummy && this.input) { this.input.focus(); } } } - componentDidDisappear() { - super.componentDidDisappear(); - } - - navigationButtonPressed({ buttonId }) { - if (buttonId == 'tags') { - this.showOptions(); - } - } - - - showOptions() { - if(App.isAndroid && this.input) { + presentOptions() { + if(ApplicationState.isAndroid && this.input) { this.input.blur(); } - this.previousOptions = {selectedTags: this.note.tags.map(function(tag){return tag.uuid})}; - Navigation.push(this.props.componentId, { - component: { - name: 'sn.Filter', - passProps: { - noteId: this.note.uuid, - onManageNoteEvent: () => {this.forceUpdate()}, - singleSelectMode: false, - options: JSON.stringify(this.previousOptions), - onEditorSelect: () => { - this.needsEditorReload = true; - }, - onOptionsChange: (options) => { - if(!_.isEqual(options.selectedTags, this.previousOptions.selectedTags)) { - var tags = ModelManager.get().findItems(options.selectedTags); - this.replaceTagsForNote(tags); - this.note.setDirty(true); - this.changesMade(); - } - } - } - } + this.previousOptions = {selectedTags: this.note.tags.map((tag) => {return tag.uuid})}; + + this.props.navigation.navigate("NoteOptions", { + noteId: this.note.uuid, + onManageNoteEvent: () => {this.forceUpdate()}, + singleSelectMode: false, + options: JSON.stringify(this.previousOptions), + onEditorSelect: () => { + this.needsEditorReload = true; + }, + onOptionsChange: (options) => { + if(!_.isEqual(options.selectedTags, this.previousOptions.selectedTags)) { + var tags = ModelManager.get().findItems(options.selectedTags); + this.replaceTagsForNote(tags); + this.note.setDirty(true); + this.changesMade(); + } + } }); } @@ -241,7 +201,7 @@ export default class Compose extends Abstract { } showSavingStatus() { - this.setNavBarSubtitle("Saving..."); + this.setTitle(null, "Saving..."); } showSavedStatus(success) { @@ -254,14 +214,14 @@ export default class Compose extends Abstract { } this.saveError = false; this.syncTakingTooLong = false; - this.setNavBarSubtitle(status); + this.setTitle(null, status); }, 200) } else { if(this.statusTimeout) clearTimeout(this.statusTimeout); this.statusTimeout = setTimeout(function(){ this.saveError = true; this.syncTakingTooLong = false; - this.setNavBarSubtitle("Error syncing (changes saved offline)"); + this.setTitle(null, "Error syncing (changes saved offline)"); }.bind(this), 200) } } @@ -275,8 +235,8 @@ export default class Compose extends Abstract { this.showSavingStatus(); if(!this.note.uuid) { this.note.initUUID().then(() => { - if(this.props.selectedTagId) { - var tag = ModelManager.get().findItem(this.props.selectedTagId); + if(this.getProp("selectedTagId")) { + var tag = ModelManager.get().findItem(this.getProp("selectedTagId")); tag.addItemAsRelationship(this.note); tag.setDirty(true); } @@ -369,7 +329,6 @@ export default class Compose extends Abstract { {shouldDisplayEditor && { + let templateOptions = { + title: "Options" + } + return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); }; constructor(props) { @@ -33,7 +38,11 @@ export default class Filter extends Abstract { loadInitialState() { super.loadInitialState(); - this.options = new OptionsState(JSON.parse(this.props.options)); + if(this.getProp("options")) { + this.options = new OptionsState(JSON.parse(this.getProp("options"))); + } else { + this.options = ApplicationState.getOptions(); + } var selectedTags; if(this.options.selectedTags) { @@ -44,30 +53,16 @@ export default class Filter extends Abstract { this.mergeState({tags: [], selectedTags: selectedTags, options: this.options}); - if(this.props.noteId) { - this.note = ModelManager.get().findItem(this.props.noteId); + if(this.getProp("noteId")) { + this.note = ModelManager.get().findItem(this.getProp("noteId")); } - // React Native Navigation has an issue where navigation pushes are pushed first, then rendered. - // This causes an undesired flash while content loads. To reduce the flash, we load the easy stuff first - // then wait a little to render the rest, such as a dynamic list of tags - // See https://github.com/wix/react-native-navigation/issues/358 - let handleInitialDataLoad = () => { if(this.handledDataLoad) { return; } this.handledDataLoad = true; - if(!this.props.singleSelectMode) { - // Load tags after delay - setTimeout(function () { - this.loadTags = true; - this.forceUpdate(); - }.bind(this), 10); - } else { - // Load tags immediately on every render - this.loadTags = true; - this.forceUpdate(); - } + this.loadTags = true; + this.forceUpdate(); } if(Sync.get().initialDataLoaded()) { @@ -93,122 +88,16 @@ export default class Filter extends Abstract { Sync.get().removeEventHandler(this.syncEventHandler); } - notifyParentOfOptionsChange() { - this.props.onOptionsChange(this.options); - - if(App.isAndroid && this.props.singleSelectMode) { - Navigation.toggleDrawer({ - side: 'left', // the side of the drawer since you can have two, 'left' / 'right' - animated: true, // does the toggle have transition animation or does it happen immediately (optional) - to: 'closed' // optional, 'open' = open the drawer, 'closed' = close it, missing = the opposite of current state - }); - } - } - - // on iOS, declaring nav bar buttons as static prevents the flickering issue that occurs on nav push - - static navigatorButtons = Platform.OS == 'android' ? {} : { - rightButtons: [{ - text: 'New Tag', - id: 'new-tag', - showAsAction: 'ifRoom', - }] - }; - - configureNavBar() { - super.configureNavBar(); - - var leftButtons = []; - if(!this.note || Platform.OS == "android") { - // tags only means we're presenting horizontally, only want left button on modal - leftButtons.push({ - text: 'Done', - id: 'accept', - showAsAction: 'ifRoom', - buttonFontWeight: "bold", - buttonFontSize: 17 - }) - } - var rightButton = { - text: 'New Tag', - id: 'new-tag', - showAsAction: 'ifRoom', - }; - - if(Platform.OS === "android") { - // Android will use FAB for new tag instead - rightButton = {}; - } - - Navigation.mergeOptions(this.props.componentId, { - topBar: { - rightButtons: [rightButton], - leftButtons: leftButtons, - animated: false, - title: { - text: 'Options' - } - // fab: { - // collapsedId: 'new-tag', - // collapsedIcon: Icons.getIcon('md-add'), - // backgroundColor: GlobalStyles.constants().mainTintColor - // }, - } - }); - } - - navigationButtonPressed({ buttonId }) { - if (buttonId == 'accept') { // this is the same id field from the static navigatorButtons definition - if(this.note) { - Navigation.pop(this.props.componentId); - } else { - this.didNotifyParent = true; - this.notifyParentOfOptionsChange(); - this.dismiss(); - } - } else if(buttonId == 'new-tag') { - Navigation.showModal({ - stack: { - children: [{ - component: { - name: 'sn.InputModal', - animationType: 'slide-up', - options: { - topBar: { - title: { - text: 'New Tag' - } - } - }, - passProps: { - title: 'New Tag', - placeholder: "New tag name", - onSave: (text) => { - this.createTag(text, (tag) => { - if(this.note) { - // select this tag - this.onTagSelect(tag) - } - }); - } - } - } - }] - } - }); - } - } - - componentDidAppear() { - super.componentDidAppear(); + componentDidFocus() { + super.componentDidFocus(); this.forceUpdate(); } - componentDidDisappear() { - super.componentDidDisappear(); + componentDidBlur() { + super.componentDidBlur(); // will disappear - if(!this.props.singleSelectMode) { + if(!this.isSingleSelectMode) { // we prefer to notify the parent via NavBarButtonPress.accept, but when this view is presented via nav push, // the user can swipe back and miss that. So we do it here as a backup. if(!this.didNotifyParent) { @@ -218,13 +107,26 @@ export default class Filter extends Abstract { } dismiss = () => { - if(this.note) { - Navigation.pop(this.props.componentId); - } else { - Navigation.dismissModal(this.props.componentId, { - animationType: "slide-down" - }); - } + this.props.navigation.goBack(); + } + + notifyParentOfOptionsChange() { + this.getProp("onOptionsChange")(this.options); + } + + presentNewTag() { + this.props.navigation.navigate("NewTag", { + title: 'New Tag', + placeholder: "New tag name", + onSave: (text) => { + this.createTag(text, (tag) => { + if(this.note) { + // select this tag + this.onTagSelect(tag) + } + }); + } + }) } createTag(text, callback) { @@ -240,7 +142,7 @@ export default class Filter extends Abstract { onSortChange = (key) => { this.options.setSortBy(key); - if(this.props.singleSelectMode) { + if(this.isSingleSelectMode) { this.notifyParentOfOptionsChange(); } } @@ -248,7 +150,7 @@ export default class Filter extends Abstract { onTagSelect = (tag) => { var selectedTags; - if(this.props.singleSelectMode) { + if(this.isSingleSelectMode) { selectedTags = [tag.uuid]; } else { selectedTags = this.state.selectedTags; @@ -270,7 +172,7 @@ export default class Filter extends Abstract { this.options.setSelectedTags(selectedTags); this.setState({selectedTags: selectedTags}); - if(this.props.singleSelectMode) { + if(this.isSingleSelectMode) { this.notifyParentOfOptionsChange(); } } @@ -294,7 +196,7 @@ export default class Filter extends Abstract { onManageNoteEvent(event) { ItemActionManager.handleEvent(event, this.note, () => { - this.props.onManageNoteEvent(); + this.getProp("onManageNoteEvent")(); if(event == ItemActionManager.DeleteEvent) { Navigation.popToRoot({ animated: true, @@ -308,7 +210,7 @@ export default class Filter extends Abstract { this.forceUpdate(); // this.mergeState({archivedOnly: this.options.archivedOnly}); - if(this.props.singleSelectMode) { + if(this.isSingleSelectMode) { this.notifyParentOfOptionsChange(); } } @@ -321,7 +223,7 @@ export default class Filter extends Abstract { ComponentManager.get().clearEditorForNote(this.note); } - this.props.onEditorSelect && this.props.onEditorSelect(editor); + this.getProp("onEditorSelect") && this.getProp("onEditorSelect")(editor); this.dismiss(); } @@ -337,33 +239,31 @@ export default class Filter extends Abstract { if(close) { this.dismiss(); } } + presentSettings() { + this.props.navigation.navigate("Settings"); + } + + get isSingleSelectMode() { + return this.getProp("singleSelectMode"); + } + render() { var viewStyles = [GlobalStyles.styles().container]; - if(App.isAndroid && this.props.singleSelectMode) { - // See https://github.com/wix/react-native-navigation/issues/1942 - var {height, width} = Dimensions.get('window'); - var drawerWidth = Math.min(width * 0.8, 450); - if(drawerWidth == 0) { - drawerWidth = 320; - } - viewStyles.push({width: drawerWidth}); - } - if(this.state.lockContent) { return (); } if(this.loadTags) { var tags = ModelManager.get().tags.slice(); - if(this.props.singleSelectMode) { + if(this.isSingleSelectMode) { tags.unshift({title: "All notes", key: "all", uuid: 100}) } this.tags = tags; } return ( - + {!this.note && @@ -386,14 +286,22 @@ export default class Filter extends Abstract { tags={this.tags} selected={this.state.selectedTags} onTagSelect={this.onTagSelect} - hasClearButton={!this.props.singleSelectMode && this.state.selectedTags.length > 0} + hasClearButton={!this.isSingleSelectMode && this.state.selectedTags.length > 0} clearSelection={this.clearTags} onManageTagEvent={this.onManageTagEvent} title={"Tags"} /> - - + + {this.note ? this.presentNewTag() : this.presentSettings()}} + visible={true} + iconTextComponent={} + /> + + ); } } diff --git a/src/screens/InputModal.js b/src/screens/InputModal.js index 8e2abc25..c5d33d1c 100644 --- a/src/screens/InputModal.js +++ b/src/screens/InputModal.js @@ -7,45 +7,46 @@ import SectionHeader from "../components/SectionHeader"; import ButtonCell from "../components/ButtonCell"; import Abstract from "./Abstract" import LockedView from "../containers/LockedView"; -import {Navigation} from 'react-native-navigation'; export default class InputModal extends Abstract { + static navigationOptions = ({ navigation, navigationOptions }) => { + let templateOptions = { + leftButton: { + title: "Done" + } + } + return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); + }; + constructor(props) { super(props); - this.constructState({text: ""}); - } - configureNavBar() { - Navigation.mergeOptions(this.props.componentId, { - topBar: { - leftButtons: [ - { - text: 'Cancel', - id: 'cancel', - showAsAction: 'ifRoom' - }, - ], - title: { - text: this.props.title + props.navigation.setParams({ + leftButton: { + title: "Done", + onPress: () => { + this.dismiss(); } } - }); + }) + + this.constructState({text: ""}); } - navigationButtonPressed({ buttonId }) { - Navigation.dismissModal(this.props.componentId); + dismiss() { + this.props.navigation.goBack(null); } onSave = () => { - if(this.props.validate) { - if(!this.props.validate(this.state.text)) { - this.props.onError(this.state.text); + if(this.getProp("validate")) { + if(!this.getProp("validate")(this.state.text)) { + this.getProp("onError")(this.state.text); return; } } - this.props.onSave(this.state.text); - Navigation.dismissModal(this.props.componentId, {animationType: "slide-down"}); + this.getProp("onSave")(this.state.text); + this.dismiss(); } onTextChange = (text) => { @@ -60,11 +61,11 @@ export default class InputModal extends Abstract { return ( - + ( + // the `passMeFurther` variable here contains props from as well as + // and it is important to pass those props to `HeaderButton` + // then you may add some information like icon size or color (if you use icons) + +); +export default class Notes extends Abstract { constructor(props) { super(props); this.rendersLockscreen = true; - Navigation.events().registerComponentDidAppearListener(({ componentId }) => { - console.log("registerComponentDidAppearListener", componentId); - if (componentId === "SideMenu") { - this.sideMenuVisible = true; - } - }); - - Navigation.events().registerComponentDidDisappearListener(({ componentId }) => { - console.log("registerComponentDidDisappearListener", componentId); - if (componentId === "SideMenu") { - this.sideMenuVisible = false; - } - }); + props.navigation.setParams({ + title: "Notes", + leftButton: { + title: null, + iconName: "ios-menu-outline", + onPress: () => { + this.openDrawer(); + } + } + }) this.stateObserver = ApplicationState.get().addStateObserver((state) => { if(state == ApplicationState.Resuming) { @@ -55,18 +58,9 @@ export default class Notes extends Abstract { var authProps = ApplicationState.get().getAuthenticationPropsForAppState(state); if((authProps.passcode || authProps.fingerprint)) { // Android can handle presenting modals no matter which screen you're on - if(App.isIOS) { + if(ApplicationState.isIOS) { // The auth modal is only presented if the Notes screen is visible. - Navigation.popToRoot(this.props.componentId); - - // Don't use the below as it will also for some reason dismiss the non RNN auth modal as well - // Navigation.dismissAllModals({animationType: 'none'}); - - Navigation.mergeOptions('MainTabBar', { - bottomTabs: { - currentTabIndex: 0 - } - }); + this.props.navigation.popToTop(); } } } @@ -79,7 +73,7 @@ export default class Notes extends Abstract { } loadInitialState() { - this.options = App.get().globalOptions(); + this.options = ApplicationState.getOptions(); this.mergeState({ refreshing: false, @@ -94,6 +88,10 @@ export default class Notes extends Abstract { super.loadInitialState(); } + componentDidMount() { + this.props.navigation.setParams({ toggleDrawer: this.toggleDrawer }); + } + componentWillUnmount() { super.componentWillUnmount(); ApplicationState.get().removeStateObserver(this.stateObserver); @@ -117,16 +115,14 @@ export default class Notes extends Abstract { registerObservers() { this.optionsObserver = this.options.addChangeObserver((options, eventType) => { + this.closeDrawer(); // should only show for non-search term change if(eventType !== OptionsState.OptionsStateChangeEventSearch) { - this.setNavBarSubtitle("Loading..."); + this.setTitle(null, "Loading..."); this.showingNavBarLoadingStatus = true; } this.reloadList(true); - // On iOS, configureNavBar would be handle by viewWillAppear. However, we're using a drawer in Android. - if(Platform.OS == "android" && !this.skipUpdatingNavBar) { - this.configureNavBar(); - } + this.configureNavBar(); }) this.syncObserver = Sync.get().addEventHandler((event, data) => { @@ -253,14 +249,7 @@ export default class Notes extends Abstract { configureNavBar(initial = false) { // If you change anything here, be sure to test how it interacts with filtering, when you change which tags to show. - if(this.state.lockContent || (!this.visible && !this.willBeVisible)) { - this.needsConfigureNavBar = true; - return; - } - - if(!this.dataLoaded) { - this.notesTitle = "Notes"; - this.setTitle(this.notesTitle); + if(this.state.lockContent ) { this.needsConfigureNavBar = true; return; } @@ -270,119 +259,37 @@ export default class Notes extends Abstract { super.configureNavBar(); var options = this.options; - var notesTitle = "Notes"; - var filterTitle = "Filter"; var numTags = options.selectedTags.length; - if(App.isIOS && (numTags > 0 || options.archivedOnly)) { - if(numTags > 0) { - filterTitle += ` (${numTags})` - } - notesTitle = options.archivedOnly ? "Archived Notes" : "Filtered Notes"; - } - - // Android only allows 1 tag selection - if(App.isAndroid) { - if(numTags > 0) { - var tags = ModelManager.get().findItems(options.selectedTags); - if(tags.length > 0) { - var tag = tags[0]; - notesTitle = tag.title + " notes"; - } else { - notesTitle = "Notes"; - } - } - - if(options.archivedOnly) { - notesTitle = "Archived " + notesTitle; + if(numTags > 0) { + var tags = ModelManager.get().findItems(options.selectedTags); + if(tags.length > 0) { + var tag = tags[0]; + notesTitle = tag.title + " notes"; + } else { + notesTitle = "Notes"; } } - // if(notesTitle !== this.notesTitle) { - // // no changes, return. We do this so when swiping back from compose to here, - // // we don't change the title while a transition is taking place - // - // this.setTitle({title: notesTitle, animated: false}); - // } - this.notesTitle = notesTitle; - - if(!initial && App.isIOS && filterTitle === this.filterTitle) { - // On Android, we want to always run the bottom code in the case of the FAB that doesn't - // reappaer if on the next screen a keyboard is present and you hit back. - // on iOS, navigation button stack is saved so it only needs to be configured once - return; - } - - this.filterTitle = filterTitle; - - var rightButtons = []; - if(App.get().isIOS) { - rightButtons.push({ - text: 'New', - id: 'new', - showAsAction: 'ifRoom', - }) - } else { - rightButtons.push({ - text: 'Settings', - id: 'settings', - showAsAction: 'ifRoom', - icon: Icons.getIcon('md-settings'), - }) + if(options.archivedOnly) { + notesTitle = "Archived Notes"; } - let leftButtons = [ - { - id: 'sideMenu', - showAsAction: 'ifRoom', - icon: Icons.getIcon('ios-menu-outline'), - color: GlobalStyles.constants().mainTintColor - }, - ] - - Navigation.mergeOptions(this.props.componentId, { - topBar: { - leftButtons: leftButtons, - rightButtons: rightButtons, - title: { - text: notesTitle - } - } - }); - - // fab: { - // collapsedId: 'new', - // collapsedIcon: Icons.getIcon('md-add'), - // backgroundColor: GlobalStyles.constants().mainTintColor - // }, - // animated: false + this.setTitle(notesTitle, null); } - navigationButtonPressed({ buttonId }) { - // During incremental load, we wan't to avoid race conditions where we wait for navigator callback for this - // to be set in Abstract. Setting it here immediately will avoid updating the nav bar while we navigated away. - // Don't set this for Android if just opening side menu. - this.willBeVisible = (App.isAndroid && buttonId == 'sideMenu'); // this value is only false (what we want) if it's not Android side menu - - console.log("Button pressed", buttonId); - - if (buttonId == 'new') { - this.presentNewComposer(); - } else if (buttonId == 'sideMenu') { - // Android is handled by the drawer attribute of rn-navigation - if(Platform.OS == "ios") { - this.presentFilterScreen(); - } else { - this.toggleSideMenu(); - } - } else if(buttonId == "settings") { - this.presentSettingsScreen(); + componentDidUpdate() { + // Called when render is complete + if(this.showingNavBarLoadingStatus) { + setTimeout(() => { + this.showingNavBarLoadingStatus = false; + }, 50); } } - componentDidAppear() { - super.componentDidAppear(); + componentDidFocus() { + super.componentDidFocus(); this.forceUpdate(); @@ -396,32 +303,23 @@ export default class Notes extends Abstract { } } - componentDidDisappear() { - super.componentDidDisappear(); + presentComposer(item) { + this.props.navigation.navigate("Compose", { + noteId: item && item.uuid, + selectedTagId: this.selectedTags.length && this.selectedTags[0].uuid, + }); } - presentNewComposer() { - Navigation.push(this.props.componentId, { - component: { - name: 'sn.Compose', - passProps: { - selectedTagId: this.selectedTags.length && this.selectedTags[0].uuid // For Android - }, - options: { - bottomTabs: {visible: false}, - topBar: { - title: { - text: 'Compose' - } - } - } - } - }); + toggleDrawer = () => { + this.props.navigation.toggleDrawer(); } - toggleSideMenu() { - console.log("toggleSideMenu"); - Navigation.mergeOptions(this.props.componentId, { sideMenu: { left: { visible: !this.sideMenuVisible } } }); + openDrawer = () => { + this.props.navigation.openDrawer(); + } + + closeDrawer = () => { + this.props.navigation.closeDrawer(); } presentFilterScreen() { @@ -469,16 +367,6 @@ export default class Notes extends Abstract { this.mergeState({refreshing: false}) } - componentDidUpdate() { - // Called when render is complete - if(this.showingNavBarLoadingStatus) { - setTimeout(() => { - this.setNavBarSubtitle(null); - this.showingNavBarLoadingStatus = false; - }, 50); - } - } - _onRefresh() { this.setStatusBarText("Syncing..."); this.setState({refreshing: true}); @@ -495,22 +383,7 @@ export default class Notes extends Abstract { item.conflict_of = null; } - Navigation.push(this.props.componentId, { - component: { - name: 'sn.Compose', - passProps: { - noteId: item.uuid - }, - options: { - bottomTabs: {visible: false}, - topBar: { - title: { - text: 'Compose' - } - } - } - } - }); + this.presentComposer(item); } if(item.errorDecrypting) { @@ -571,7 +444,7 @@ export default class Notes extends Abstract { {this.presentNewComposer()}} + onClickAction={() => {this.presentComposer()}} visible={true} iconTextComponent={} /> diff --git a/src/screens/Webview.js b/src/screens/Webview.js index 3c3c5814..3e2ab4fe 100644 --- a/src/screens/Webview.js +++ b/src/screens/Webview.js @@ -1,25 +1,14 @@ import React, { Component } from 'react'; -import App from '../app' +import { Alert, View, WebView, Linking, Platform } from 'react-native'; + import ComponentManager from '../lib/componentManager' import ModelManager from '../lib/sfjs/modelManager' -import TableSection from "../components/TableSection"; -import Icons from '../Icons'; -import LockedView from "../containers/LockedView"; -import Abstract from "./Abstract" import GlobalStyles from "../Styles" +import ApplicationState from "../ApplicationState" -import { Alert, View, WebView, Linking, Platform } from 'react-native'; - -export default class Webview extends Abstract { - static navigatorButtons = Platform.OS == 'android' ? {} : { - rightButtons: [{ - title: "Info", - id: 'info', - showAsAction: 'ifRoom', - }] - }; +export default class Webview extends Component { constructor(props) { super(props); @@ -42,48 +31,15 @@ export default class Webview extends Abstract { this.handler = ComponentManager.get().registerHandler({identifier: "editor", areas: ["note-tags", "editor-stack", "editor-editor"], contextRequestHandler: (component) => { return this.note; - }, - actionHandler: (component, action, data) => { - if(action === "save-items" || action === "save-success" || action == "save-error") { - if(data.items.map((item) => {return item.uuid}).includes(this.note.uuid)) { - - if(action == "save-items") { - if(this.componentSaveTimeout) clearTimeout(this.componentSaveTimeout); - this.componentSaveTimeout = setTimeout(this.showSavingStatus.bind(this), 10); - } - - else { - if(this.componentStatusTimeout) clearTimeout(this.componentStatusTimeout); - if(action == "save-success") { - this.componentStatusTimeout = setTimeout(this.showAllChangesSavedStatus.bind(this), 400); - } else { - this.componentStatusTimeout = setTimeout(this.showErrorStatus.bind(this), 400); - } - } - } - } } }); } componentWillUnmount() { - super.componentWillMount(); ComponentManager.get().deregisterHandler(this.handler); ComponentManager.get().deactivateComponent(this.editor); } - showSavingStatus() { - this.setNavBarSubtitle("Saving..."); - } - - showAllChangesSavedStatus() { - this.setNavBarSubtitle("All changes saved"); - } - - showErrorStatus() { - this.setNavBarSubtitle("Error saving"); - } - onMessage = (message) => { var data; try { @@ -99,7 +55,6 @@ export default class Webview extends Abstract { Alert.alert('Note Locked', "This note is locked. Changes you make in the web editor will not be saved. Please unlock this note to make changes.", [{text: 'OK'}]) this.didShowLockAlert = true; } - this.setNavBarSubtitle("Note Locked"); return; } ComponentManager.get().handleMessage(this.editor, data); @@ -125,10 +80,6 @@ export default class Webview extends Abstract { } render() { - if(this.state.lockContent) { - return (); - } - var editor = this.editor; var url = ComponentManager.get().urlForComponent(editor); @@ -146,7 +97,7 @@ export default class Webview extends Abstract { onError={this.onLoadError} onMessage={this.onMessage} contentInset={{top: 0, left: 0, bottom: bottomPadding, right: 0}} - scalesPageToFit={App.isIOS ? false : true} + scalesPageToFit={ApplicationState.isIOS ? false : true} injectedJavaScript = { `window.isNative = "true"` } diff --git a/src/screens/index.js b/src/screens/index.js index 3c3b56d5..5bb0c22d 100644 --- a/src/screens/index.js +++ b/src/screens/index.js @@ -1,5 +1,3 @@ -import {Navigation} from 'react-native-navigation'; - import Notes from './Notes' import Compose from './Compose' import Account from './Account' From c8062618edb7618c8ae21ccc9243f1283e841291 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 27 Dec 2018 14:15:42 -0600 Subject: [PATCH 006/131] Refactor of Filter -> SideMenu, Account -> Settings, and NoteOptions screen --- src/app.js | 11 +- src/containers/ManageNote.js | 73 ---- src/containers/TagList.js | 101 +++++ src/screens/Abstract.js | 110 +++-- src/screens/Authenticate.js | 2 +- src/screens/Compose.js | 30 +- src/screens/Filter.js | 535 ------------------------ src/screens/NoteOptions.js | 320 ++++++++++++++ src/screens/Notes.js | 1 + src/screens/{Account.js => Settings.js} | 80 +++- src/screens/SideMenu.js | 174 ++++++++ src/screens/index.js | 18 - 12 files changed, 740 insertions(+), 715 deletions(-) delete mode 100644 src/containers/ManageNote.js create mode 100644 src/containers/TagList.js delete mode 100644 src/screens/Filter.js create mode 100644 src/screens/NoteOptions.js rename src/screens/{Account.js => Settings.js} (88%) create mode 100644 src/screens/SideMenu.js delete mode 100644 src/screens/index.js diff --git a/src/app.js b/src/app.js index d6d32cb1..97235914 100644 --- a/src/app.js +++ b/src/app.js @@ -14,20 +14,21 @@ import ReviewManager from './lib/reviewManager'; import Compose from "./screens/Compose" import Notes from "./screens/Notes" -import Filter from "./screens/Filter" -import Account from "./screens/Account" +import SideMenu from "./screens/SideMenu" +import Settings from "./screens/Settings" +import NoteOptions from "./screens/NoteOptions" import InputModal from "./screens/InputModal" const AppStack = createStackNavigator({ Notes: {screen: Notes}, Compose: {screen: Compose}, - NoteOptions: {screen : Filter}, + NoteOptions: {screen : NoteOptions}, }, { initialRouteName: 'Notes' }) const SettingsStack = createStackNavigator({ - Screen1: Account + Screen1: Settings }) const InputModalStack = createStackNavigator({ @@ -46,7 +47,7 @@ const ModalStack = createStackNavigator({ const DrawerStack = createDrawerNavigator({ Main: ModalStack }, { - contentComponent: Filter, + contentComponent: SideMenu, }); const AppContainer = createAppContainer(DrawerStack); diff --git a/src/containers/ManageNote.js b/src/containers/ManageNote.js deleted file mode 100644 index 4bdf5da5..00000000 --- a/src/containers/ManageNote.js +++ /dev/null @@ -1,73 +0,0 @@ -import React, { Component } from 'react'; -import { TextInput, SectionList, ScrollView, View, Text, Platform } from 'react-native'; -import SectionHeader from "../components/SectionHeader"; -import TableSection from "../components/TableSection"; -import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCell"; -import ItemActionManager from '../lib/itemActionManager' -import Icons from "../Icons"; - -import GlobalStyles from "../Styles" - -export default class SortSection extends Component { - constructor(props) { - super(props); - } - - onPress = (key) => { - this.props.onEvent(key); - this.forceUpdate(); - } - - render() { - let root = this; - var pinAction = this.props.note.pinned ? "Unpin" : "Pin"; - let pinEvent = pinAction == "Pin" ? ItemActionManager.PinEvent : ItemActionManager.UnpinEvent; - - var archiveOption = this.props.note.archived ? "Unarchive" : "Archive"; - let archiveEvent = archiveOption == "Archive" ? ItemActionManager.ArchiveEvent : ItemActionManager.UnarchiveEvent; - - var lockOption = this.props.note.locked ? "Unlock" : "Lock"; - let lockEvent = lockOption == "Lock" ? ItemActionManager.LockEvent : ItemActionManager.UnlockEvent; - - return ( - - - {this.onPress(pinEvent)}} - first={true} text={pinAction} - leftAlignIcon={true} - /> - - {this.onPress(archiveEvent)}} - text={archiveOption} - leftAlignIcon={true} - /> - - {this.onPress(lockEvent)}} - text={lockOption} - leftAlignIcon={true} - /> - - {this.onPress(ItemActionManager.ShareEvent)}} - text={"Share"} - leftAlignIcon={true} - /> - - {this.onPress(ItemActionManager.DeleteEvent)}} - text={"Delete"} - last={true} - leftAlignIcon={true} - /> - - ); - } -} diff --git a/src/containers/TagList.js b/src/containers/TagList.js new file mode 100644 index 00000000..89be814b --- /dev/null +++ b/src/containers/TagList.js @@ -0,0 +1,101 @@ +import React, { Component } from 'react'; +import { StyleSheet, View, FlatList, RefreshControl, ScrollView, Text } from 'react-native'; +import GlobalStyles from "../Styles" +import TableSection from "../components/TableSection"; +import SectionHeader from "../components/SectionHeader"; +import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCell"; +import ItemActionManager from '../lib/itemActionManager' +import ActionSheet from 'react-native-actionsheet' +import ApplicationState from "../ApplicationState" + +export default class TagList extends Component { + constructor(props) { + super(props); + this.state = {}; + } + + onPress = (tag) => { + this.props.onTagSelect(tag); + } + + onLongPress = (tag) => { + this.props.onTagLongPress(tag); + } + + static ActionSheetCancelIndex = 0; + static ActionSheetDestructiveIndex = 1; + + actionSheetActions() { + return [ + ['Cancel', ""], + ['Delete', ItemActionManager.DeleteEvent] + ]; + } + + showActionSheet = (item) => { + // Dont show actionsheet for "All notes" tag + if(item.key !== "all") { + this.actionSheetItem = item; + this.setState((prevState) => { + return _.merge(prevState, {actionSheetTitle: item.title}) + }) + this.actionSheet.show(); + } + } + + handleActionSheetPress = (index) => { + if(index == 0) { + return; + } + + this.props.onManageTagEvent(this.actionSheetActions()[index][1], this.actionSheetItem, () => { + this.forceUpdate(); + }); + this.actionSheetItem = null; + } + + // must pass title, text, and tags as props so that it re-renders when either of those change + _renderItem = ({item}) => { + return ( + + {this.onPress(item)}} + onLongPress={() => this.showActionSheet(item)} + text={item.deleted ? "Deleting..." : item.title} + color={item.deleted ? GlobalStyles.constants().mainTintColor : undefined} + key={item.uuid} + first={this.props.tags.indexOf(item) == 0} + last={this.props.tags.indexOf(item) == this.props.tags.length - 1} + selected={() => {return this.props.selected.includes(item.uuid)}} + /> + + this.actionSheet = o} + options={this.actionSheetActions().map((action) => {return action[0]})} + cancelButtonIndex={TagList.ActionSheetCancelIndex} + destructiveButtonIndex={TagList.ActionSheetDestructiveIndex} + onPress={this.handleActionSheetPress} + {...GlobalStyles.actionSheetStyles()} + /> + + ) + } + + render() { + return ( + + {this.props.clearSelection(true)}}/> + + + + + ); + } +} diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 002e2c3d..b0ba02c3 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -86,17 +86,53 @@ export default class Abstract extends Component { } componentWillUnmount() { - for(var listener of this.listeners) { - listener.remove(); + this.willUnmount = true; + this.mounted = false; + ApplicationState.get().removeStateObserver(this._stateObserver); + } + + componentDidMount() { + this.mounted = true; + this.configureNavBar(true); + console.log("componentDidMount"); + + if(ApplicationState.get().isUnlocked() && !this.loadedInitialState) { + console.log("Loading initial state"); + this.loadInitialState(); + } + + if(this._renderOnMount) { + this._renderOnMount = false; + this.forceUpdate(); + + this._renderOnMountCallback && this._renderOnMountCallback(); + this._renderOnMountCallback = null; } } - componentWillFocus(){ + loadInitialState() { + this.loadedInitialState = true; + this.configureNavBar(true); + } + componentWillUnmount() { + for(var listener of this.listeners) { + listener.remove(); + } } - componentDidFocus(){ + componentWillFocus() { + this.willUnmount = false; + this.mounted = false; + if(ApplicationState.get().isUnlocked() && this.state.lockContent) { + this.unlockContent(); + } + } + componentDidFocus() { + this.visible = true; + this.willBeVisible = true; // Just in case willAppear isn't called for whatever reason + this.configureNavBar(false); } componentWillBlur(){ @@ -104,10 +140,11 @@ export default class Abstract extends Component { } componentDidBlur(){ - + this.willBeVisible = false; + this.visible = false; } - getProp(prop) { + getProp = (prop) => { // this.props.navigation could be undefined if we're in the drawer return this.props.navigation.getParam && this.props.navigation.getParam(prop); } @@ -119,20 +156,6 @@ export default class Abstract extends Component { this.props.navigation.setParams(options); } - // Called by RNN - componentDidAppear() { - this.visible = true; - this.willBeVisible = true; // Just in case willAppear isn't called for whatever reason - this.configureNavBar(false); - } - - // Called by RNN - componentDidDisappear() { - console.log("Component did disappear", this); - this.willBeVisible = false; - this.visible = false; - } - lockContent() { this.mergeState({lockContent: true}); this.configureNavBar(); @@ -145,42 +168,6 @@ export default class Abstract extends Component { this.mergeState({lockContent: false}); } - componentWillUnmount() { - this.willUnmount = true; - this.mounted = false; - ApplicationState.get().removeStateObserver(this._stateObserver); - } - - componentWillMount() { - this.willUnmount = false; - this.mounted = false; - if(ApplicationState.get().isUnlocked() && this.state.lockContent) { - this.unlockContent(); - } - } - - componentDidMount() { - this.mounted = true; - this.configureNavBar(true); - - if(ApplicationState.get().isUnlocked() && !this.loadedInitialState) { - this.loadInitialState(); - } - - if(this._renderOnMount) { - this._renderOnMount = false; - this.forceUpdate(); - - this._renderOnMountCallback && this._renderOnMountCallback(); - this._renderOnMountCallback = null; - } - } - - loadInitialState() { - this.loadedInitialState = true; - this.configureNavBar(true); - } - constructState(state) { this.state = _.merge({lockContent: ApplicationState.get().isLocked()}, state); } @@ -209,7 +196,14 @@ export default class Abstract extends Component { } - dismissModal() { - Navigation.dismissModal(); + popToRoot() { + this.props.navigation.popToTop(); + } + + dismiss() { + /* + the `null` parameter is actually very important: https://reactnavigation.org/docs/en/navigation-prop.html#goback-close-the-active-screen-and-move-back + */ + this.props.navigation.goBack(null); } } diff --git a/src/screens/Authenticate.js b/src/screens/Authenticate.js index 0f66eab0..1d867620 100644 --- a/src/screens/Authenticate.js +++ b/src/screens/Authenticate.js @@ -73,7 +73,7 @@ export default class Authenticate extends Abstract { dismiss() { if(!this.props.pseudoModal) { - this.dismissModal(); + this.dismiss(); } } diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 7806022b..f7a4b449 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -56,15 +56,7 @@ export default class Compose extends Abstract { this.note = note; this.constructState({title: note.title, text: note.text}); - props.navigation.setParams({ - title: 'Compose', - drawerLockMode: "locked-closed", - rightButton: { - title: "Options", - onPress: () => {this.presentOptions();}, - disabled: !this.note.uuid - } - }) + this.configureHeaderBar(); this.loadStyles(); @@ -91,15 +83,23 @@ export default class Compose extends Abstract { } }); - this.configureNavBar(true); + this.configureHeaderBar(); } - refreshContent() { - this.mergeState({title: this.note.title, text: this.note.text}); + configureHeaderBar() { + this.props.navigation.setParams({ + title: 'Compose', + drawerLockMode: "locked-closed", + rightButton: { + title: "Options", + onPress: () => {this.presentOptions();}, + disabled: !this.note.uuid + } + }) } - componentDidMount() { - super.componentDidMount(); + refreshContent() { + this.mergeState({title: this.note.title, text: this.note.text}); } componentWillUnmount() { @@ -241,7 +241,7 @@ export default class Compose extends Abstract { tag.setDirty(true); } this.save(); - this.configureNavBar(true); + this.configureHeaderBar(); }); } else { this.save(); diff --git a/src/screens/Filter.js b/src/screens/Filter.js deleted file mode 100644 index f7937a40..00000000 --- a/src/screens/Filter.js +++ /dev/null @@ -1,535 +0,0 @@ -import React, { Component } from 'react'; -import { TextInput, SectionList, ScrollView, View, Text, Linking, Share, Platform, StatusBar, FlatList, Dimensions } from 'react-native'; -import Sync from '../lib/sfjs/syncManager' -import ModelManager from '../lib/sfjs/modelManager' -import ComponentManager from '../lib/componentManager' -import AlertManager from '../lib/sfjs/alertManager' -import ItemActionManager from '../lib/itemActionManager' -import SectionHeader from "../components/SectionHeader"; -import ButtonCell from "../components/ButtonCell"; -import TableSection from "../components/TableSection"; -import ManageNote from "../containers/ManageNote"; -import LockedView from "../containers/LockedView"; -import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCell"; -import Abstract from "./Abstract" -import Icons from '../Icons'; -import OptionsState from "../OptionsState" -import GlobalStyles from "../Styles" -import ApplicationState from "../ApplicationState"; -import ActionSheet from 'react-native-actionsheet' - -import { SafeAreaView } from 'react-navigation'; -import Icon from 'react-native-vector-icons/Ionicons'; -import FAB from 'react-native-fab'; - -export default class Filter extends Abstract { - - static navigationOptions = ({ navigation, navigationOptions }) => { - let templateOptions = { - title: "Options" - } - return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); - }; - - constructor(props) { - super(props); - this.tags = []; - } - - loadInitialState() { - super.loadInitialState(); - if(this.getProp("options")) { - this.options = new OptionsState(JSON.parse(this.getProp("options"))); - } else { - this.options = ApplicationState.getOptions(); - } - - var selectedTags; - if(this.options.selectedTags) { - selectedTags = this.options.selectedTags.slice(); // copy the array - } else { - selectedTags = []; - } - - this.mergeState({tags: [], selectedTags: selectedTags, options: this.options}); - - if(this.getProp("noteId")) { - this.note = ModelManager.get().findItem(this.getProp("noteId")); - } - - let handleInitialDataLoad = () => { - if(this.handledDataLoad) { return; } - this.handledDataLoad = true; - - this.loadTags = true; - this.forceUpdate(); - } - - if(Sync.get().initialDataLoaded()) { - handleInitialDataLoad(); - } - - this.syncEventHandler = Sync.get().addEventHandler((event, data) => { - if(event == "local-data-loaded") { - handleInitialDataLoad(); - } - - else if(event == "sync:completed") { - if(data.retrievedItems && _.find(data.retrievedItems, {content_type: "Tag"})) { - this.forceUpdate(); - } - } - }) - } - - componentWillUnmount() { - super.componentWillUnmount(); - ApplicationState.get().removeStateObserver(this.stateObserver); - Sync.get().removeEventHandler(this.syncEventHandler); - } - - componentDidFocus() { - super.componentDidFocus(); - this.forceUpdate(); - } - - componentDidBlur() { - super.componentDidBlur(); - - // will disappear - if(!this.isSingleSelectMode) { - // we prefer to notify the parent via NavBarButtonPress.accept, but when this view is presented via nav push, - // the user can swipe back and miss that. So we do it here as a backup. - if(!this.didNotifyParent) { - this.notifyParentOfOptionsChange(); - } - } - } - - dismiss = () => { - this.props.navigation.goBack(); - } - - notifyParentOfOptionsChange() { - this.getProp("onOptionsChange")(this.options); - } - - presentNewTag() { - this.props.navigation.navigate("NewTag", { - title: 'New Tag', - placeholder: "New tag name", - onSave: (text) => { - this.createTag(text, (tag) => { - if(this.note) { - // select this tag - this.onTagSelect(tag) - } - }); - } - }) - } - - createTag(text, callback) { - var tag = new SNTag({content: {title: text}}); - tag.initUUID().then(() => { - tag.setDirty(true); - ModelManager.get().addItem(tag); - Sync.get().sync(); - callback(tag); - this.forceUpdate(); - }) - } - - onSortChange = (key) => { - this.options.setSortBy(key); - if(this.isSingleSelectMode) { - this.notifyParentOfOptionsChange(); - } - } - - onTagSelect = (tag) => { - var selectedTags; - - if(this.isSingleSelectMode) { - selectedTags = [tag.uuid]; - } else { - selectedTags = this.state.selectedTags; - var selected = selectedTags.includes(tag.uuid); - if(selected) { - // deselect - selectedTags.splice(selectedTags.indexOf(tag.uuid), 1); - } else { - // select - selectedTags.push(tag.uuid); - } - } - - this.setSelectedTags(selectedTags); - } - - setSelectedTags = (selectedTags) => { - this.selectedTags = selectedTags.slice(); - this.options.setSelectedTags(selectedTags); - this.setState({selectedTags: selectedTags}); - - if(this.isSingleSelectMode) { - this.notifyParentOfOptionsChange(); - } - } - - isTagSelected(tag) { - return this.tags.indexOf(tag.uuid) !== -1; - } - - onManageTagEvent = (event, tag, renderBlock) => { - ItemActionManager.handleEvent(event, tag, () => { - if(event == ItemActionManager.DeleteEvent) { - this.loadTags = true; - this.forceUpdate(); - } - }, () => { - // afterConfirmCallback - // We want to show "Deleting.." on top of note cell after the user confirms the dialogue - renderBlock(); - }) - } - - onManageNoteEvent(event) { - ItemActionManager.handleEvent(event, this.note, () => { - this.getProp("onManageNoteEvent")(); - if(event == ItemActionManager.DeleteEvent) { - Navigation.popToRoot({ - animated: true, - }); - } - }) - } - - onOptionSelect = (option) => { - this.options.setDisplayOptionKeyValue(option, !this.options.getDisplayOptionValue(option)); - this.forceUpdate(); - // this.mergeState({archivedOnly: this.options.archivedOnly}); - - if(this.isSingleSelectMode) { - this.notifyParentOfOptionsChange(); - } - } - - onEditorSelect = (editor) => { - - if(editor) { - ComponentManager.get().associateEditorWithNote(editor, this.note); - } else { - ComponentManager.get().clearEditorForNote(this.note); - } - - this.getProp("onEditorSelect") && this.getProp("onEditorSelect")(editor); - - this.dismiss(); - } - - getEditors() { - return ModelManager.get().validItemsForContentType("SN|Component").filter(function(component){ - return component.area == "editor-editor"; - }) - } - - clearTags = (close) => { - this.setSelectedTags([]); - if(close) { this.dismiss(); } - } - - presentSettings() { - this.props.navigation.navigate("Settings"); - } - - get isSingleSelectMode() { - return this.getProp("singleSelectMode"); - } - - render() { - var viewStyles = [GlobalStyles.styles().container]; - - if(this.state.lockContent) { - return (); - } - - if(this.loadTags) { - var tags = ModelManager.get().tags.slice(); - if(this.isSingleSelectMode) { - tags.unshift({title: "All notes", key: "all", uuid: 100}) - } - this.tags = tags; - } - - return ( - - - - {!this.note && - - } - - {!this.note && - - } - - { this.note && - - } - - { this.note && - - } - - 0} - clearSelection={this.clearTags} - onManageTagEvent={this.onManageTagEvent} - title={"Tags"} - /> - - - {this.note ? this.presentNewTag() : this.presentSettings()}} - visible={true} - iconTextComponent={} - /> - - - ); - } -} - - -class TagsSection extends Component { - constructor(props) { - super(props); - this.state = {}; - } - - onPress = (tag) => { - this.props.onTagSelect(tag); - } - - onLongPress = (tag) => { - this.props.onTagLongPress(tag); - } - - static ActionSheetCancelIndex = 0; - static ActionSheetDestructiveIndex = 1; - - actionSheetActions() { - return [ - ['Cancel', ""], - ['Delete', ItemActionManager.DeleteEvent] - ]; - } - - showActionSheet = (item) => { - // Dont show actionsheet for "All notes" tag - if(item.key !== "all") { - this.actionSheetItem = item; - this.setState((prevState) => { - return _.merge(prevState, {actionSheetTitle: item.title}) - }) - this.actionSheet.show(); - } - } - - handleActionSheetPress = (index) => { - if(index == 0) { - return; - } - - this.props.onManageTagEvent(this.actionSheetActions()[index][1], this.actionSheetItem, () => { - this.forceUpdate(); - }); - this.actionSheetItem = null; - } - - // must pass title, text, and tags as props so that it re-renders when either of those change - _renderItem = ({item}) => { - return ( - - {this.onPress(item)}} - onLongPress={() => this.showActionSheet(item)} - text={item.deleted ? "Deleting..." : item.title} - color={item.deleted ? GlobalStyles.constants().mainTintColor : undefined} - key={item.uuid} - first={this.props.tags.indexOf(item) == 0} - last={this.props.tags.indexOf(item) == this.props.tags.length - 1} - selected={() => {return this.props.selected.includes(item.uuid)}} - /> - - this.actionSheet = o} - options={this.actionSheetActions().map((action) => {return action[0]})} - cancelButtonIndex={TagsSection.ActionSheetCancelIndex} - destructiveButtonIndex={TagsSection.ActionSheetDestructiveIndex} - onPress={this.handleActionSheetPress} - {...GlobalStyles.actionSheetStyles()} - /> - - ) - } - - render() { - return ( - - {this.props.clearSelection(true)}}/> - - - - - ); - } -} - -class OptionsSection extends Component { - constructor(props) { - super(props); - // this.state = {archivedOnly: props.archivedOnly} - } - - onOptionSelect = (option) => { - this.props.onOptionSelect(option); - } - - render() { - return ( - - - - {this.onOptionSelect('archivedOnly')}} - text={"Show only archived notes"} - first={true} - selected={() => {return this.props.options.archivedOnly}} - /> - - {this.onOptionSelect('hidePreviews')}} - text={"Hide note previews"} - selected={() => {return this.props.options.hidePreviews}} - /> - - {this.onOptionSelect('hideTags')}} - text={"Hide note tags"} - selected={() => {return this.props.options.hideTags}} - /> - - {this.onOptionSelect('hideDates')}} - text={"Hide note dates"} - last={true} - selected={() => {return this.props.options.hideDates}} - /> - - - ); - } -} - -class SortSection extends Component { - constructor(props) { - super(props); - this.state = {sortBy: props.sortBy} - this.options = [ - {key: "created_at", label: "Date Added"}, - {key: "client_updated_at", label: "Date Modified"}, - {key: "title", label: "Title"}, - ]; - } - - onPress = (key) => { - this.setState({sortBy: key}); - this.props.onSortChange(key); - } - - render() { - let root = this; - return ( - - - {this.options.map(function(option, i){ - return ( - {root.onPress(option.key)}} - text={option.label} - key={option.key} - first={i == 0} - last={i == root.options.length - 1} - selected={() => {return option.key == root.state.sortBy}} - /> - ) - })} - - - ); - } -} - -class EditorsSection extends Component { - constructor(props) { - super(props); - } - - onPress = (editor) => { - this.props.onEditorSelect(editor); - } - - getEditors = () => { - Linking.openURL("https://standardnotes.org/extensions"); - } - - clearEditorSelection = () => { - this.props.onEditorSelect(null); - } - - render() { - let root = this; - return ( - - {this.clearEditorSelection()}}/> - {this.props.editors.map(function(editor, i){ - return ( - {root.onPress(editor)}} - text={editor.name} - key={editor.uuid} - first={i == 0} - selected={() => {return editor == root.props.selectedEditor}} - buttonCell={true} - /> - ) - })} - - {this.props.editors.length == 0 && - {root.getEditors()}} - text={"Get Editors →"} - first={true} - buttonCell={true} - /> - } - - - - ); - } -} diff --git a/src/screens/NoteOptions.js b/src/screens/NoteOptions.js new file mode 100644 index 00000000..e853c5a6 --- /dev/null +++ b/src/screens/NoteOptions.js @@ -0,0 +1,320 @@ +import React, { Component } from 'react'; +import { ScrollView, View, Text, Linking, Share, StatusBar } from 'react-native'; +import Abstract from "./Abstract" + +import Sync from '../lib/sfjs/syncManager' +import ModelManager from '../lib/sfjs/modelManager' +import ComponentManager from '../lib/componentManager' +import ItemActionManager from '../lib/itemActionManager' + +import SectionHeader from "../components/SectionHeader"; +import ButtonCell from "../components/ButtonCell"; +import TableSection from "../components/TableSection"; +import LockedView from "../containers/LockedView"; +import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCell"; +import TagList from "../containers/TagList"; + +import Icons from '../Icons'; +import GlobalStyles from "../Styles" +import ApplicationState from "../ApplicationState"; +import OptionsState from "../OptionsState"; +import Icon from 'react-native-vector-icons/Ionicons'; +import FAB from 'react-native-fab'; + +export default class NoteOptions extends Abstract { + + static navigationOptions = ({ navigation, navigationOptions }) => { + let templateOptions = { + title: "Manage Note" + } + return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); + }; + + constructor(props) { + super(props); + this.tags = []; + } + + loadInitialState() { + super.loadInitialState(); + + if(this.getProp("options")) { + this.options = new OptionsState(JSON.parse(this.getProp("options"))); + } + + var selectedTags; + if(this.options.selectedTags) { + selectedTags = this.options.selectedTags.slice(); // copy the array + } else { + selectedTags = []; + } + + this.mergeState({tags: [], selectedTags: selectedTags, options: this.options}); + + this.note = ModelManager.get().findItem(this.getProp("noteId")); + + let handleInitialDataLoad = () => { + if(this.handledDataLoad) { return; } + this.handledDataLoad = true; + + this.tagsNeedReload = true; + this.forceUpdate(); + } + + if(Sync.get().initialDataLoaded()) { + handleInitialDataLoad(); + } + + this.syncEventHandler = Sync.get().addEventHandler((event, data) => { + if(event == "local-data-loaded") { + handleInitialDataLoad(); + } + + else if(event == "sync:completed") { + if(data.retrievedItems && _.find(data.retrievedItems, {content_type: "Tag"})) { + this.forceUpdate(); + } + } + }) + } + + componentWillUnmount() { + super.componentWillUnmount(); + ApplicationState.get().removeStateObserver(this.stateObserver); + Sync.get().removeEventHandler(this.syncEventHandler); + } + + componentDidFocus() { + super.componentDidFocus(); + this.forceUpdate(); + } + + componentDidBlur() { + super.componentDidBlur(); + this.notifyParentOfOptionsChange(); + } + + notifyParentOfOptionsChange() { + this.getProp("onOptionsChange")(this.options); + } + + presentNewTag() { + this.props.navigation.navigate("NewTag", { + title: 'New Tag', + placeholder: "New tag name", + onSave: (text) => { + this.createTag(text, (tag) => { + if(this.note) { + // select this tag + this.onTagSelect(tag) + } + }); + } + }) + } + + createTag(text, callback) { + var tag = new SNTag({content: {title: text}}); + tag.initUUID().then(() => { + tag.setDirty(true); + ModelManager.get().addItem(tag); + Sync.get().sync(); + callback(tag); + this.forceUpdate(); + }) + } + + onTagSelect = (tag) => { + var selectedTags = this.state.selectedTags; + var selected = selectedTags.includes(tag.uuid); + if(selected) { + // deselect + selectedTags.splice(selectedTags.indexOf(tag.uuid), 1); + } else { + // select + selectedTags.push(tag.uuid); + } + + this.setSelectedTags(selectedTags); + } + + setSelectedTags = (selectedTags) => { + this.selectedTags = selectedTags.slice(); + this.options.setSelectedTags(selectedTags); + this.setState({selectedTags: selectedTags}); + } + + isTagSelected(tag) { + return this.tags.indexOf(tag.uuid) !== -1; + } + + onManageTagEvent = (event, tag, renderBlock) => { + ItemActionManager.handleEvent(event, tag, () => { + if(event == ItemActionManager.DeleteEvent) { + this.tagsNeedReload = true; + this.forceUpdate(); + } + }, () => { + // afterConfirmCallback + // We want to show "Deleting.." on top of note cell after the user confirms the dialogue + renderBlock(); + }) + } + + onManageNoteEvent(event) { + ItemActionManager.handleEvent(event, this.note, () => { + this.getProp("onManageNoteEvent")(); + if(event == ItemActionManager.DeleteEvent) { + this.popToRoot(); + } else { + this.forceUpdate(); + } + }) + } + + onEditorSelect = (editor) => { + if(editor) { + ComponentManager.get().associateEditorWithNote(editor, this.note); + } else { + ComponentManager.get().clearEditorForNote(this.note); + } + + this.getProp("onEditorSelect") && this.getProp("onEditorSelect")(editor); + this.dismiss(); + } + + getEditors() { + return ModelManager.get().validItemsForContentType("SN|Component").filter((component) => { + return component.area == "editor-editor"; + }) + } + + clearTags = (close) => { + this.setSelectedTags([]); + if(close) { this.dismiss(); } + } + + openExternalEditorsLink() { + Linking.openURL("https://standardnotes.org/extensions"); + } + + render() { + var viewStyles = [GlobalStyles.styles().container]; + + if(this.state.lockContent) { + return (); + } + + if(this.tagsNeedReload) { + var tags = ModelManager.get().tags.slice(); + this.tags = tags; + this.tagsNeedReload = false; + } + + var pinAction = this.note.pinned ? "Unpin" : "Pin"; + let pinEvent = pinAction == "Pin" ? ItemActionManager.PinEvent : ItemActionManager.UnpinEvent; + + var archiveOption = this.note.archived ? "Unarchive" : "Archive"; + let archiveEvent = archiveOption == "Archive" ? ItemActionManager.ArchiveEvent : ItemActionManager.UnarchiveEvent; + + var lockOption = this.note.locked ? "Unlock" : "Lock"; + let lockEvent = lockOption == "Lock" ? ItemActionManager.LockEvent : ItemActionManager.UnlockEvent; + + let editors = this.getEditors(); + let selectedEditor = ComponentManager.get().editorForNote(this.note); + + return ( + + + + + + {this.onManageNoteEvent(pinEvent)}} + first={true} text={pinAction} + leftAlignIcon={true} + /> + + {this.onManageNoteEvent(archiveEvent)}} + text={archiveOption} + leftAlignIcon={true} + /> + + {this.onManageNoteEvent(lockEvent)}} + text={lockOption} + leftAlignIcon={true} + /> + + {this.onManageNoteEvent(ItemActionManager.ShareEvent)}} + text={"Share"} + leftAlignIcon={true} + /> + + {this.onManageNoteEvent(ItemActionManager.DeleteEvent)}} + text={"Delete"} + last={true} + leftAlignIcon={true} + /> + + + + {this.onEditorSelect(null)}} + /> + {editors.map((editor, i) => { + return ( + {this.onEditorSelect(editor)}} + text={editor.name} + key={editor.uuid} + first={i == 0} + selected={() => {return editor == selectedEditor}} + buttonCell={true} + /> + ) + })} + + {editors.length == 0 && + {this.openExternalEditorsLink()}} + text={"Get Editors →"} + first={true} + buttonCell={true} + /> + } + + + + + + + {this.presentNewTag()}} + visible={true} + iconTextComponent={} + /> + + + ); + } +} diff --git a/src/screens/Notes.js b/src/screens/Notes.js index fa0c1cb6..7df3d8fc 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes.js @@ -89,6 +89,7 @@ export default class Notes extends Abstract { } componentDidMount() { + super.componentDidMount(); this.props.navigation.setParams({ toggleDrawer: this.toggleDrawer }); } diff --git a/src/screens/Account.js b/src/screens/Settings.js similarity index 88% rename from src/screens/Account.js rename to src/screens/Settings.js index 3b0156d3..4684c358 100644 --- a/src/screens/Account.js +++ b/src/screens/Settings.js @@ -8,6 +8,7 @@ import AlertManager from '../lib/sfjs/alertManager' import Auth from '../lib/sfjs/authManager' import KeysManager from '../lib/keysManager' import UserPrefsManager from '../lib/userPrefsManager' +import OptionsState from "../OptionsState"; import SectionHeader from "../components/SectionHeader"; import ButtonCell from "../components/ButtonCell"; @@ -31,7 +32,7 @@ import GlobalStyles from "../Styles" var base64 = require('base-64'); var Mailer = require('NativeModules').RNMail; -export default class Account extends Abstract { +export default class Settings extends Abstract { static navigationOptions = ({ navigation, navigationOptions }) => { let templateOptions = { @@ -55,6 +56,13 @@ export default class Account extends Abstract { } }) + this.sortOptions = [ + {key: "created_at", label: "Date Added"}, + {key: "client_updated_at", label: "Date Modified"}, + {key: "title", label: "Title"}, + ]; + + this.options = ApplicationState.getOptions(); this.constructState({params: {}}); } @@ -88,13 +96,6 @@ export default class Account extends Abstract { this.loadSecurityStatus(); } - dismiss() { - /* - the `null` parameter is actually very important: https://reactnavigation.org/docs/en/navigation-prop.html#goback-close-the-active-screen-and-move-back - */ - this.props.navigation.goBack(null); - } - loadSecurityStatus() { var hasPasscode = KeysManager.get().hasOfflinePasscode(); var hasFingerprint = KeysManager.get().hasFingerprint(); @@ -107,8 +108,8 @@ export default class Account extends Abstract { Sync.get().removeEventHandler(this.syncEventHandler); } - componentWillMount() { - super.componentWillMount(); + componentWillFocus() { + super.componentWillFocus(); this.loadLastExportDate(); } @@ -471,6 +472,16 @@ export default class Account extends Abstract { } } + onSortChange = (key) => { + this.options.setSortBy(key); + this.forceUpdate(); + } + + onOptionSelect = (option) => { + this.options.setDisplayOptionKeyValue(option, !this.options.getDisplayOptionValue(option)); + this.forceUpdate(); + } + render() { if(this.state.lockContent) { return (); @@ -514,6 +525,55 @@ export default class Account extends Abstract { email={KeysManager.get().getUserEmail()} /> + + + + {this.sortOptions.map((option, i) => { + return ( + {this.onSortChange(option.key)}} + text={option.label} + key={option.key} + first={i == 0} + last={i == this.sortOptions.length - 1} + selected={() => {return option.key == this.options.sortBy}} + /> + ) + })} + + + + + + {this.onOptionSelect('archivedOnly')}} + text={"Show only archived notes"} + first={true} + selected={() => {return this.options.archivedOnly}} + /> + + {this.onOptionSelect('hidePreviews')}} + text={"Hide note previews"} + selected={() => {return this.options.hidePreviews}} + /> + + {this.onOptionSelect('hideTags')}} + text={"Hide note tags"} + selected={() => {return this.options.hideTags}} + /> + + {this.onOptionSelect('hideDates')}} + text={"Hide note dates"} + last={true} + selected={() => {return this.options.hideDates}} + /> + + + + { + if(this.handledDataLoad) { return; } + this.handledDataLoad = true; + this.tagsNeedReload = true; + this.forceUpdate(); + } + + if(Sync.get().initialDataLoaded()) { + handleInitialDataLoad(); + } + + this.syncEventHandler = Sync.get().addEventHandler((event, data) => { + if(event == "local-data-loaded") { + handleInitialDataLoad(); + } + + else if(event == "sync:completed") { + if(data.retrievedItems && _.find(data.retrievedItems, {content_type: "Tag"})) { + this.forceUpdate(); + } + } + }) + + this.setState({initialDataLoaded: true}); + } + + componentWillUnmount() { + super.componentWillUnmount(); + ApplicationState.get().removeStateObserver(this.stateObserver); + Sync.get().removeEventHandler(this.syncEventHandler); + } + + componentDidFocus() { + super.componentDidFocus(); + this.forceUpdate(); + } + + presentNewTag() { + this.props.navigation.navigate("NewTag", { + title: 'New Tag', + placeholder: "New tag name", + onSave: (text) => { + this.createTag(text, (tag) => { + if(this.note) { + // select this tag + this.onTagSelect(tag) + } + }); + } + }) + } + + createTag(text, callback) { + var tag = new SNTag({content: {title: text}}); + tag.initUUID().then(() => { + tag.setDirty(true); + ModelManager.get().addItem(tag); + Sync.get().sync(); + callback(tag); + this.forceUpdate(); + }) + } + + onTagSelect = (tag) => { + var selectedTags = [tag.uuid]; + this.setSelectedTags(selectedTags); + } + + setSelectedTags = (selectedTags) => { + this.selectedTags = selectedTags.slice(); + this.options.setSelectedTags(selectedTags); + this.setState({selectedTags: selectedTags}); + } + + isTagSelected(tag) { + return this.tags.indexOf(tag.uuid) !== -1; + } + + onManageTagEvent = (event, tag, renderBlock) => { + ItemActionManager.handleEvent(event, tag, () => { + if(event == ItemActionManager.DeleteEvent) { + this.tagsNeedReload = true; + this.forceUpdate(); + } + }, () => { + // afterConfirmCallback + // We want to show "Deleting.." on top of note cell after the user confirms the dialogue + renderBlock(); + }) + } + + presentSettings() { + this.props.navigation.navigate("Settings"); + } + + render() { + var viewStyles = [GlobalStyles.styles().container]; + + if(this.state.lockContent || !this.state.initialDataLoaded) { + return (); + } + + if(this.tagsNeedReload) { + var tags = ModelManager.get().tags.slice(); + tags.unshift({title: "All notes", key: "all", uuid: 100}) + this.tags = tags; + this.tagsNeedReload = false; + } + + return ( + + + + + + {this.note ? this.presentNewTag() : this.presentSettings()}} + visible={true} + iconTextComponent={} + /> + + + ); + } +} diff --git a/src/screens/index.js b/src/screens/index.js deleted file mode 100644 index 5bb0c22d..00000000 --- a/src/screens/index.js +++ /dev/null @@ -1,18 +0,0 @@ -import Notes from './Notes' -import Compose from './Compose' -import Account from './Account' -import Authenticate from './Authenticate' -import Filter from './Filter' -import InputModal from './InputModal' -import Sync from '../lib/sfjs/syncManager' -import Webview from './Webview' - -export function registerScreens() { - Navigation.registerComponent('sn.Notes', () => Notes); - Navigation.registerComponent('sn.Compose', () => Compose); - Navigation.registerComponent('sn.Account', () => Account); - Navigation.registerComponent('sn.Filter', () => Filter); - Navigation.registerComponent('sn.InputModal', () => InputModal); - Navigation.registerComponent('sn.Authenticate', () => Authenticate); - Navigation.registerComponent('sn.Webview', () => Webview); -} From cf991b542569e59d8ce2b998e82925f36bf89f9a Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 27 Dec 2018 17:45:50 -0600 Subject: [PATCH 007/131] GlobalStlyes -> StyleKit --- src/Icons.js | 4 +- src/_app.js | 28 +-- src/app.js | 4 +- src/components/ButtonCell.js | 10 +- src/components/HeaderTitleView.js | 8 +- src/components/SectionHeader.js | 8 +- src/components/SectionedAccessoryTableCell.js | 20 +- src/components/SectionedOptionsTableCell.js | 22 +-- src/components/SectionedTableCell.js | 10 +- src/components/TableSection.js | 4 +- src/containers/AuthModal.js | 4 +- src/containers/LockedView.js | 6 +- src/containers/NoteCell.js | 61 +++--- src/containers/NoteList.js | 14 +- src/containers/TagList.js | 8 +- src/containers/account/AuthSection.js | 22 +-- src/containers/account/CompanySection.js | 6 +- src/containers/account/EncryptionSection.js | 8 +- src/containers/account/OptionsSection.js | 2 +- src/containers/account/PasscodeSection.js | 4 +- .../account/RegistrationConfirmSection.js | 8 +- src/containers/account/ThemesSection.js | 4 +- src/lib/componentManager.js | 4 +- src/screens/Abstract.js | 10 +- src/screens/Authenticate.js | 20 +- src/screens/Compose.js | 38 ++-- src/screens/InputModal.js | 10 +- src/screens/NoteOptions.js | 12 +- src/screens/Notes.js | 14 +- src/screens/Settings.js | 12 +- src/screens/SideMenu.js | 10 +- src/screens/Webview.js | 6 +- src/style/CSSParser.js | 66 +++++++ src/{Styles.js => style/StyleKit.js} | 183 ++++++++++-------- src/style/blue.json | 40 ++++ src/style/red.json | 40 ++++ 36 files changed, 452 insertions(+), 278 deletions(-) create mode 100644 src/style/CSSParser.js rename src/{Styles.js => style/StyleKit.js} (73%) create mode 100644 src/style/blue.json create mode 100644 src/style/red.json diff --git a/src/Icons.js b/src/Icons.js index a936163e..5bbc904b 100644 --- a/src/Icons.js +++ b/src/Icons.js @@ -1,6 +1,6 @@ const Ionicons = require('react-native-vector-icons/Ionicons'); import { Platform } from 'react-native'; -import GlobalStyles from "./Styles" +import StyleKit from "./style/StyleKit" let iconsMap = {}; @@ -31,7 +31,7 @@ export default class Icons { } async loadIcons(callback) { - var color = GlobalStyles.constants().mainBackgroundColor; //#FFFFFF + var color = StyleKit.variable("stylekitBackgroundColor"); //#FFFFFF let icons = { "ios-menu-outline": [Ionicons, 25, color], diff --git a/src/_app.js b/src/_app.js index 3a99d21d..2eb3a2da 100644 --- a/src/_app.js +++ b/src/_app.js @@ -7,7 +7,7 @@ import {AppState, Platform, StatusBar, BackHandler, DeviceEventEmitter, NativeMo import {registerScreens} from './screens'; -import GlobalStyles from "./Styles" +import StyleKit from "./style/StyleKit" import Icons from "./Icons" import OptionsState from "./OptionsState" import { Client } from 'bugsnag-react-native'; @@ -34,12 +34,12 @@ export default class App { static instance = null; get tabStyles() { - var navBarColor = GlobalStyles.constantForKey("navBarColor"); - var navBarTextColor = GlobalStyles.constantForKey("navBarTextColor"); - var statusBarColor = GlobalStyles.constants().mainBackgroundColor; + var navBarColor = StyleKit.constantForKey("navBarColor"); + var navBarTextColor = StyleKit.constantForKey("navBarTextColor"); + var statusBarColor = StyleKit.variable("stylekitBackgroundColor"); if(this.isAndroid) { - statusBarColor = GlobalStyles.darken(navBarColor); + statusBarColor = StyleKit.darken(navBarColor); // Android <= v22 does not support changing status bar text color. It will always be white // So we have to make sure background color has proper contrast if(Platform.Version <= 22) { @@ -48,10 +48,10 @@ export default class App { } return { - tabBarBackgroundColor: GlobalStyles.constants().mainBackgroundColor, + tabBarBackgroundColor: StyleKit.variable("stylekitBackgroundColor"), tabBarTranslucent: true, tabBarButtonColor: 'gray', - tabBarSelectedButtonColor: GlobalStyles.constants().mainTintColor, + tabBarSelectedButtonColor: StyleKit.variable("stylekitInfoColor"), // navBarBlur: true, navBarButtonColor: navBarTextColor, @@ -64,7 +64,7 @@ export default class App { statusBarTextColorSchemeSingleScreen: 'dark', topBarElevationShadowEnabled: true, - screenBackgroundColor: GlobalStyles.constants().mainBackgroundColor + screenBackgroundColor: StyleKit.variable("stylekitBackgroundColor") } } @@ -83,7 +83,7 @@ export default class App { }); this.loading = true; - GlobalStyles.get().resolveInitialTheme().then(function(){ + StyleKit.get().resolveInitialTheme().then(function(){ Promise.all([ Icons.get().loadIcons(), KeysManager.get().loadInitialData(), @@ -114,13 +114,13 @@ export default class App { visible: true, animate: false, // Controls whether BottomTabs visibility changes should be animated drawBehind: true, - backgroundColor: GlobalStyles.constants().mainBackgroundColor + backgroundColor: StyleKit.variable("stylekitBackgroundColor") }, bottomTab: { - iconColor: GlobalStyles.constants().mainDimColor, - selectedIconColor: GlobalStyles.constants().mainTintColor, - textColor: GlobalStyles.constants().mainDimColor, - selectedTextColor: GlobalStyles.constants().mainTintColor + iconColor: StyleKit.variable("stylekitNeutralColor"), + selectedIconColor: StyleKit.variable("stylekitInfoColor"), + textColor: StyleKit.variable("stylekitNeutralColor"), + selectedTextColor: StyleKit.variable("stylekitInfoColor") }, }); diff --git a/src/app.js b/src/app.js index 97235914..5c4f6de2 100644 --- a/src/app.js +++ b/src/app.js @@ -3,7 +3,7 @@ import { View, Text } from "react-native"; import { createStackNavigator, createAppContainer, createDrawerNavigator } from "react-navigation"; import KeysManager from './lib/keysManager' -import GlobalStyles from "./Styles" +import StyleKit from "./style/StyleKit" import Icons from "./Icons" import ApplicationState from "./ApplicationState" import Auth from './lib/sfjs/authManager' @@ -79,7 +79,7 @@ export default class App extends Component { } async loadInitialData() { - await GlobalStyles.get().resolveInitialTheme(); + await StyleKit.get().resolveInitialTheme(); await Promise.all([ Icons.get().loadIcons(), KeysManager.get().loadInitialData(), diff --git a/src/components/ButtonCell.js b/src/components/ButtonCell.js index 57e503c6..0b4d9c80 100644 --- a/src/components/ButtonCell.js +++ b/src/components/ButtonCell.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import {TouchableHighlight, Text, View} from 'react-native'; import SectionedTableCell from './SectionedTableCell' -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" export default class ButtonCell extends SectionedTableCell { @@ -12,16 +12,16 @@ export default class ButtonCell extends SectionedTableCell { } buttonRules() { - var rules = [GlobalStyles.stylesForKey("buttonCellButton")]; - if(this.props.leftAligned) { rules.push(GlobalStyles.styles().buttonCellButtonLeft) } - if(this.props.bold) { rules.push(GlobalStyles.styles().bold) } + var rules = [StyleKit.stylesForKey("buttonCellButton")]; + if(this.props.leftAligned) { rules.push(StyleKit.styles().buttonCellButtonLeft) } + if(this.props.bold) { rules.push(StyleKit.styles().bold) } if(this.props.disabled) { rules.push({color: "gray", opacity: 0.6}) } return rules; } render() { return ( - + {this.props.title} {this.props.children && diff --git a/src/components/HeaderTitleView.js b/src/components/HeaderTitleView.js index da81ff76..8c91505e 100644 --- a/src/components/HeaderTitleView.js +++ b/src/components/HeaderTitleView.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import {DeviceEventEmitter, Modal, View, Text} from 'react-native'; -import GlobalStyles from "../Styles"; +import StyleKit from "../style/StyleKit"; import PlatformStyles from "../models/PlatformStyles"; export default class HeaderTitleView extends Component { @@ -25,7 +25,7 @@ export default class HeaderTitleView extends Component { getStyles() { return new PlatformStyles({ headerContainer: { - backgroundColor: GlobalStyles.constants().mainBackgroundColor, + backgroundColor: StyleKit.variable("stylekitBackgroundColor"), flex: 1, justifyContent: 'flex-start', flexDirection: "column" @@ -36,14 +36,14 @@ export default class HeaderTitleView extends Component { }, headerTitle: { - color: GlobalStyles.constants().mainTextColor, + color: StyleKit.variable("stylekitForegroundColor"), fontWeight: "bold", fontSize: 18, textAlign: "center", }, headerSubtitle: { - color: GlobalStyles.constants().mainTextColor, + color: StyleKit.variable("stylekitForegroundColor"), opacity: 0.6, fontSize: 12, }, diff --git a/src/components/SectionHeader.js b/src/components/SectionHeader.js index 18ad2a1b..e67fe76b 100644 --- a/src/components/SectionHeader.js +++ b/src/components/SectionHeader.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import {Text, Platform, View, TouchableOpacity} from 'react-native'; -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" export default class SectionHeader extends Component { render() { @@ -10,11 +10,11 @@ export default class SectionHeader extends Component { title = title.toUpperCase(); } return ( - - {title} + + {title} {this.props.buttonText && - {this.props.buttonText} + {this.props.buttonText} } diff --git a/src/components/SectionedAccessoryTableCell.js b/src/components/SectionedAccessoryTableCell.js index d6c1c1d0..84cc27d6 100644 --- a/src/components/SectionedAccessoryTableCell.js +++ b/src/components/SectionedAccessoryTableCell.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import {View, Image, Text, TouchableHighlight, Platform} from 'react-native'; -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" import SectionedTableCell from "./SectionedTableCell" import Icon from 'react-native-vector-icons/Ionicons'; @@ -10,9 +10,9 @@ export default class SectionedAccessoryTableCell extends SectionedTableCell { rules() { var rules = super.rules().concat([ - GlobalStyles.styles().view, - GlobalStyles.styles().flexContainer, - ...GlobalStyles.stylesForKey("sectionedAccessoryTableCell") + StyleKit.styles().view, + StyleKit.styles().flexContainer, + ...StyleKit.stylesForKey("sectionedAccessoryTableCell") ]); return rules; } @@ -39,7 +39,7 @@ export default class SectionedAccessoryTableCell extends SectionedTableCell { var left = this.props.leftAlignIcon; var iconSize = left ? 25: 30; - var color = left ? GlobalStyles.constants().mainTextColor : GlobalStyles.constants().mainTintColor; + var color = left ? StyleKit.variable("stylekitForegroundColor") : StyleKit.variable("stylekitInfoColor"); if(Platform.OS == "android") { iconSize -= 5; } @@ -58,16 +58,16 @@ export default class SectionedAccessoryTableCell extends SectionedTableCell { icon = null; } - var textStyles = [GlobalStyles.styles().sectionedAccessoryTableCellLabel]; + var textStyles = [StyleKit.styles().sectionedAccessoryTableCellLabel]; if(this.props.bold || (this.props.selected && this.props.selected())) { - textStyles.push(GlobalStyles.styles().bold) + textStyles.push(StyleKit.styles().bold) } if(this.props.tinted) { - textStyles.push({color: GlobalStyles.constants().mainTintColor}) + textStyles.push({color: StyleKit.variable("stylekitInfoColor")}) } if(this.props.dimmed) { - textStyles.push({color: GlobalStyles.constants().mainDimColor}) + textStyles.push({color: StyleKit.variable("stylekitNeutralColor")}) } if(this.props.color) { textStyles.push({color: this.props.color}) @@ -83,7 +83,7 @@ export default class SectionedAccessoryTableCell extends SectionedTableCell { } return ( - + { this.props.leftAlignIcon diff --git a/src/components/SectionedOptionsTableCell.js b/src/components/SectionedOptionsTableCell.js index 84022542..5dc62975 100644 --- a/src/components/SectionedOptionsTableCell.js +++ b/src/components/SectionedOptionsTableCell.js @@ -1,13 +1,13 @@ import React, { Component } from 'react'; import {View, Text, TouchableHighlight} from 'react-native'; -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" export default class SectionedOptionsTableCell extends Component { rules() { - var rules = [GlobalStyles.styles().sectionedTableCell]; - if(this.props.first) { rules.push(GlobalStyles.styles().sectionedTableCellFirst); } + var rules = [StyleKit.styles().sectionedTableCell]; + if(this.props.first) { rules.push(StyleKit.styles().sectionedTableCellFirst); } if(this.props.height) {rules.push({height: this.props.height})}; if(this.props.extraStyles) { rules = rules.concat(this.props.extraStyles); @@ -21,7 +21,7 @@ export default class SectionedOptionsTableCell extends Component { paddingTop: 0, paddingBottom: 0, paddingRight: 5, - maxHeight: GlobalStyles.constants().maxSettingsCellHeight + maxHeight: StyleKit.constants().maxSettingsCellHeight }) return rules; } @@ -40,11 +40,11 @@ export default class SectionedOptionsTableCell extends Component { flexDirection: 'row', alignItems: "center", justifyContent: "center", - backgroundColor: GlobalStyles.constants().mainBackgroundColor + backgroundColor: StyleKit.variable("stylekitBackgroundColor") } this.buttonContainerStyles = { - borderLeftColor: GlobalStyles.constants().plainCellBorderColor, + borderLeftColor: StyleKit.variable("stylekitBorderColor"), borderLeftWidth: 1, height: "100%", flexGrow: 1, @@ -53,21 +53,21 @@ export default class SectionedOptionsTableCell extends Component { }; this.buttonStyles = { - color: GlobalStyles.constants().mainDimColor, - fontSize: GlobalStyles.constants().mainTextFontSize, + color: StyleKit.variable("stylekitNeutralColor"), + fontSize: StyleKit.constants().mainTextFontSize, textAlign: "center", width: "100%", } this.selectedButtonStyles = { - color: GlobalStyles.constants().mainTintColor, + color: StyleKit.variable("stylekitInfoColor"), } } render() { return ( - {this.props.title} + {this.props.title} {this.props.options.map((option) => { var buttonStyles = [this.buttonStyles]; @@ -75,7 +75,7 @@ export default class SectionedOptionsTableCell extends Component { buttonStyles.push(this.selectedButtonStyles); } return ( - {this.props.onPress(option)}}> + {this.props.onPress(option)}}> {option.title} ) diff --git a/src/components/SectionedTableCell.js b/src/components/SectionedTableCell.js index 51e410ac..11942bb5 100644 --- a/src/components/SectionedTableCell.js +++ b/src/components/SectionedTableCell.js @@ -1,15 +1,15 @@ import React, { Component } from 'react'; import {View} from 'react-native'; -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" export default class SectionedTableCell extends Component { rules() { - var rules = [GlobalStyles.styles().sectionedTableCell]; - if(this.props.first) { rules.push(GlobalStyles.stylesForKey("sectionedTableCellFirst")); } - if(this.props.last) { rules.push(GlobalStyles.stylesForKey("sectionedTableCellLast")); } - if(this.props.textInputCell) {rules.push(GlobalStyles.styles().textInputCell); } + var rules = [StyleKit.styles().sectionedTableCell]; + if(this.props.first) { rules.push(StyleKit.stylesForKey("sectionedTableCellFirst")); } + if(this.props.last) { rules.push(StyleKit.stylesForKey("sectionedTableCellLast")); } + if(this.props.textInputCell) {rules.push(StyleKit.styles().textInputCell); } if(this.props.height) {rules.push({height: this.props.height})}; if(this.props.extraStyles) { rules = rules.concat(this.props.extraStyles); diff --git a/src/components/TableSection.js b/src/components/TableSection.js index c62288e7..7d9295ba 100644 --- a/src/components/TableSection.js +++ b/src/components/TableSection.js @@ -1,12 +1,12 @@ import React, { Component } from 'react'; import {View} from 'react-native'; -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" export default class TableSection extends Component { rules() { - var rules = [GlobalStyles.styles().tableSection]; + var rules = [StyleKit.styles().tableSection]; if(this.props.extraStyles) { rules = rules.concat(this.props.extraStyles); } diff --git a/src/containers/AuthModal.js b/src/containers/AuthModal.js index 7a15ea6a..9dcb6059 100644 --- a/src/containers/AuthModal.js +++ b/src/containers/AuthModal.js @@ -2,7 +2,7 @@ import React, { Component } from 'react'; import { StyleSheet, View, FlatList, RefreshControl, ScrollView, Text, Modal, AppState } from 'react-native'; import NoteCell from "./NoteCell" import Search from 'react-native-search-box' -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" import Authenticate from "../screens/Authenticate" import ApplicationState from "../ApplicationState"; @@ -135,7 +135,7 @@ export default class AuthModal extends Component { let authProps = this.state.authProps; return ( - + { - var html = ""; - html += ""; - return html; - } - render() { var note = this.props.item; return ( @@ -175,14 +186,14 @@ export default class NoteCell extends React.PureComponent { {note.pinned && - - Pinned + + Pinned } {this.props.renderTags && !this.state.options.hideTags && note.tags.length > 0 && - + {this.props.tagsString} @@ -232,7 +243,7 @@ export default class NoteCell extends React.PureComponent { cancelButtonIndex={NoteCell.ActionSheetCancelIndex} destructiveButtonIndex={NoteCell.ActionSheetDestructiveIndex} onPress={this.handleActionSheetPress} - {...GlobalStyles.actionSheetStyles()} + {...StyleKit.actionSheetStyles()} /> diff --git a/src/containers/NoteList.js b/src/containers/NoteList.js index 881f0913..a093d1e1 100644 --- a/src/containers/NoteList.js +++ b/src/containers/NoteList.js @@ -2,7 +2,7 @@ import React, { Component } from 'react'; import { StyleSheet, View, FlatList, RefreshControl, ScrollView, Text } from 'react-native'; import NoteCell from "./NoteCell" import Search from 'react-native-search-box' -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" import ApplicationState from "../ApplicationState" export default class NoteList extends Component { @@ -27,23 +27,23 @@ export default class NoteList extends Component { decryptNotice: { position: "absolute", opacity: 0.5, - color: GlobalStyles.constants().mainTextColor + color: StyleKit.variable("stylekitForegroundColor") } }); } renderHeader = () => { return ( - + ); @@ -85,7 +85,7 @@ export default class NoteList extends Component { } return ( - + {placeholderText.length > 0 && diff --git a/src/containers/TagList.js b/src/containers/TagList.js index 89be814b..f6494d37 100644 --- a/src/containers/TagList.js +++ b/src/containers/TagList.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import { StyleSheet, View, FlatList, RefreshControl, ScrollView, Text } from 'react-native'; -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" import TableSection from "../components/TableSection"; import SectionHeader from "../components/SectionHeader"; import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCell"; @@ -62,7 +62,7 @@ export default class TagList extends Component { onPress={() => {this.onPress(item)}} onLongPress={() => this.showActionSheet(item)} text={item.deleted ? "Deleting..." : item.title} - color={item.deleted ? GlobalStyles.constants().mainTintColor : undefined} + color={item.deleted ? StyleKit.variable("stylekitInfoColor") : undefined} key={item.uuid} first={this.props.tags.indexOf(item) == 0} last={this.props.tags.indexOf(item) == this.props.tags.length - 1} @@ -76,7 +76,7 @@ export default class TagList extends Component { cancelButtonIndex={TagList.ActionSheetCancelIndex} destructiveButtonIndex={TagList.ActionSheetDestructiveIndex} onPress={this.handleActionSheetPress} - {...GlobalStyles.actionSheetStyles()} + {...StyleKit.actionSheetStyles()} /> ) @@ -84,7 +84,7 @@ export default class TagList extends Component { render() { return ( - + {this.props.clearSelection(true)}}/> @@ -62,7 +62,7 @@ export default class AuthSection extends AbstractComponent { this.setState({email: text})} value={this.state.email} @@ -70,19 +70,19 @@ export default class AuthSection extends AbstractComponent { autoCapitalize={'none'} keyboardType={'email-address'} underlineColorAndroid={'transparent'} - placeholderTextColor={GlobalStyles.constants().mainDimColor} + placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} /> this.setState({password: text})} value={this.state.password} secureTextEntry={true} underlineColorAndroid={'transparent'} - placeholderTextColor={GlobalStyles.constants().mainDimColor} + placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} /> @@ -90,19 +90,19 @@ export default class AuthSection extends AbstractComponent { {this.props.mfa && - + {this.props.mfa.message} this.setState({mfa_token: text})} value={this.state.mfa_token} keyboardType={'numeric'} autoFocus={true} underlineColorAndroid={'transparent'} - placeholderTextColor={GlobalStyles.constants().mainDimColor} + placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} onSubmitEditing={this.onSignInPress} /> @@ -114,7 +114,7 @@ export default class AuthSection extends AbstractComponent { this.setState({server: text})} value={this.state.server} @@ -122,7 +122,7 @@ export default class AuthSection extends AbstractComponent { autoCapitalize={'none'} keyboardType={'url'} underlineColorAndroid={'transparent'} - placeholderTextColor={GlobalStyles.constants().mainDimColor} + placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} /> diff --git a/src/containers/account/CompanySection.js b/src/containers/account/CompanySection.js index da076a62..b7ab5240 100644 --- a/src/containers/account/CompanySection.js +++ b/src/containers/account/CompanySection.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import GlobalStyles from "../../Styles" +import StyleKit from "../../style/StyleKit" import ApplicationState from "../../ApplicationState" import {TextInput, View, Text, Platform} from 'react-native'; @@ -29,8 +29,8 @@ export default class CompanySection extends Component { this.props.onAction("rate")} > - Version {ApplicationState.version} - Help support us with a review on the {storeName}. + Version {ApplicationState.version} + Help support us with a review on the {storeName}. diff --git a/src/containers/account/EncryptionSection.js b/src/containers/account/EncryptionSection.js index 37df6f00..837925d5 100644 --- a/src/containers/account/EncryptionSection.js +++ b/src/containers/account/EncryptionSection.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import GlobalStyles from "../../Styles" +import StyleKit from "../../style/StyleKit" import {Text, View} from 'react-native'; import KeysManager from "../../lib/keysManager" import ModelManager from "../../lib/sfjs/modelManager" @@ -31,8 +31,8 @@ export default class PasscodeSection extends Component { var itemsStatus = items.length + "/" + items.length + " notes and tags encrypted"; var textStyles = { - color: GlobalStyles.constants().mainTextColor, - fontSize: GlobalStyles.constants().mainTextFontSize, + color: StyleKit.variable("stylekitForegroundColor"), + fontSize: StyleKit.constants().mainTextFontSize, lineHeight: 22 } @@ -49,7 +49,7 @@ export default class PasscodeSection extends Component { } {!enabled && - + {storageEncryptionAvailable ? "To enable encryption, sign in, register, or enable storage encryption." : "Sign in, register, or add a local passcode to enable encryption." diff --git a/src/containers/account/OptionsSection.js b/src/containers/account/OptionsSection.js index 28fc6ab9..6b0c1947 100644 --- a/src/containers/account/OptionsSection.js +++ b/src/containers/account/OptionsSection.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import {Alert} from 'react-native'; -import GlobalStyles from "../../Styles" +import StyleKit from "../../style/StyleKit" import {TextInput, View, Text} from 'react-native'; import SectionHeader from "../../components/SectionHeader"; import ButtonCell from "../../components/ButtonCell"; diff --git a/src/containers/account/PasscodeSection.js b/src/containers/account/PasscodeSection.js index a8b66de6..8504d38c 100644 --- a/src/containers/account/PasscodeSection.js +++ b/src/containers/account/PasscodeSection.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import GlobalStyles from "../../Styles" +import StyleKit from "../../style/StyleKit" import {TextInput, View, Alert, Text} from 'react-native'; import SectionHeader from "../../components/SectionHeader"; @@ -83,7 +83,7 @@ export default class PasscodeSection extends Component { - {storageSubText} + {storageSubText} diff --git a/src/containers/account/RegistrationConfirmSection.js b/src/containers/account/RegistrationConfirmSection.js index 7ca3bed6..2026c500 100644 --- a/src/containers/account/RegistrationConfirmSection.js +++ b/src/containers/account/RegistrationConfirmSection.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import GlobalStyles from "../../Styles" +import StyleKit from "../../style/StyleKit" import {TextInput, Text, View, Alert} from 'react-native'; import SectionHeader from "../../components/SectionHeader"; @@ -27,19 +27,19 @@ export default class RegistrationConfirmSection extends Component { } render() { - var padding = GlobalStyles.constants().paddingLeft; + var padding = StyleKit.constants().paddingLeft; return ( - + Due to the nature of our encryption, Standard Notes cannot offer password reset functionality. If you forget your password, you will permanently lose access to your data. this.setState({passwordConfirmation: text})} value={this.state.passwordConfirmation} diff --git a/src/containers/account/ThemesSection.js b/src/containers/account/ThemesSection.js index 5f1755de..0bc1b08e 100644 --- a/src/containers/account/ThemesSection.js +++ b/src/containers/account/ThemesSection.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import GlobalStyles from "../../Styles" +import StyleKit from "../../style/StyleKit" import {TextInput, View, Linking} from 'react-native'; import SectionHeader from "../../components/SectionHeader"; @@ -23,7 +23,7 @@ export default class ThemesSection extends Component { text={theme.name} key={theme.uuid} first={i == 0} - selected={() => {return GlobalStyles.get().isThemeActive(theme)}} + selected={() => {return StyleKit.get().isThemeActive(theme)}} dimmed={theme.getNotAvailOnMobile()} last={i == this.props.themes.length - 1 && this.props.themes.length > 1} /> diff --git a/src/lib/componentManager.js b/src/lib/componentManager.js index 4554d763..e2e56605 100644 --- a/src/lib/componentManager.js +++ b/src/lib/componentManager.js @@ -1,7 +1,7 @@ /* This domain will be used to save context item client data */ let ClientDataDomain = "org.standardnotes.sn.components"; -import GlobalStyles from '../Styles' +import StyleKit from '../style/StyleKit' import ModelManager from './sfjs/modelManager' import Sync from './sfjs/syncManager' import SF from "./sfjs/sfjs" @@ -357,7 +357,7 @@ export default class ComponentManager { } postActiveThemeToComponent(component) { - var activeTheme = GlobalStyles.get().activeTheme; + var activeTheme = StyleKit.get().activeTheme; var data = { themes: [(activeTheme && !activeTheme.default) ? this.urlForComponent(activeTheme) : null] diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index b0ba02c3..742eaa2b 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import {DeviceEventEmitter, Modal, View, Text} from 'react-native'; -import GlobalStyles from "../Styles"; +import StyleKit from "../style/StyleKit"; import ApplicationState from "../ApplicationState"; import HeaderTitleView from "../components/HeaderTitleView" import HeaderButtons, { HeaderButton, Item } from 'react-navigation-header-buttons'; @@ -10,7 +10,7 @@ const IoniconsHeaderButton = passMeFurther => ( // the `passMeFurther` variable here contains props from as well as // and it is important to pass those props to `HeaderButton` // then you may add some information like icon size or color (if you use icons) - + ); export default class Abstract extends Component { @@ -22,9 +22,9 @@ export default class Abstract extends Component { let options = { headerTitle:, headerStyle: { - backgroundColor: GlobalStyles.constants().mainBackgroundColor + backgroundColor: StyleKit.variable("stylekitBackgroundColor") }, - headerTintColor: GlobalStyles.constants().mainTintColor, + headerTintColor: StyleKit.variable("stylekitInfoColor"), drawerLockMode: navigation.getParam("drawerLockMode") || templateOptions.drawerLockMode } @@ -94,10 +94,8 @@ export default class Abstract extends Component { componentDidMount() { this.mounted = true; this.configureNavBar(true); - console.log("componentDidMount"); if(ApplicationState.get().isUnlocked() && !this.loadedInitialState) { - console.log("Loading initial state"); this.loadInitialState(); } diff --git a/src/screens/Authenticate.js b/src/screens/Authenticate.js index 1d867620..d7f1caef 100644 --- a/src/screens/Authenticate.js +++ b/src/screens/Authenticate.js @@ -11,7 +11,7 @@ import TableSection from "../components/TableSection"; import SectionedTableCell from "../components/SectionedTableCell"; import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCell"; import SectionedOptionsTableCell from "../components/SectionedOptionsTableCell"; -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" import FingerprintScanner from 'react-native-fingerprint-scanner'; import Icon from 'react-native-vector-icons/Ionicons'; @@ -143,10 +143,10 @@ export default class Authenticate extends Abstract { var isAuthenticating = this.props.mode === "authenticate"; var isSetup = !isAuthenticating; - var paddingTop = (ApplicationState.isIOS && GlobalStyles.isIPhoneX()) ? 30 : 15; + var paddingTop = (ApplicationState.isIOS && StyleKit.isIPhoneX()) ? 30 : 15; return ( - + @@ -312,7 +312,7 @@ class PasscodeSection extends Abstract { this.setState({passcode: text})} value={this.state.passcode} @@ -322,7 +322,7 @@ class PasscodeSection extends Abstract { secureTextEntry={true} keyboardType={this.keyboardType} underlineColorAndroid={'transparent'} - placeholderTextColor={GlobalStyles.constants().mainDimColor} + placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} onSubmitEditing={this.props.mode == 'authenticate' ? this.onUnlockPress.bind(this) : this.onSavePress.bind(this)} /> @@ -358,7 +358,7 @@ class FingerprintSection extends Abstract { text: { fontWeight: "bold", - color: GlobalStyles.constants().mainTextColor, + color: StyleKit.variable("stylekitForegroundColor"), textAlign: 'center', width: "100%" }, @@ -377,7 +377,7 @@ class FingerprintSection extends Abstract { dev: { marginTop: 50, - backgroundColor: GlobalStyles.constants().mainDimColor, + backgroundColor: StyleKit.variable("stylekitNeutralColor"), padding: 15, paddingTop: 20, borderRadius: 5, @@ -386,7 +386,7 @@ class FingerprintSection extends Abstract { centered: { textAlign: "center", - color: GlobalStyles.constants().mainTextColor + color: StyleKit.variable("stylekitForegroundColor") }, }); @@ -463,7 +463,7 @@ class FingerprintSection extends Abstract { } render() { - let iconColor = this.state.success ? "green" : GlobalStyles.constants().mainTextColor; + let iconColor = this.state.success ? "green" : StyleKit.variable("stylekitForegroundColor"); let textStyles = [this.styles.text]; var iconName = ApplicationState.isAndroid ? "md-finger-print" : 'ios-finger-print'; @@ -496,7 +496,7 @@ class FingerprintSection extends Abstract { iconName={iconName} onPress={this.onPress} text={text} - color={ this.state.success ? GlobalStyles.constants().mainTintColor : null} + color={ this.state.success ? StyleKit.variable("stylekitInfoColor") : null} leftAlignIcon={true} /> diff --git a/src/screens/Compose.js b/src/screens/Compose.js index f7a4b449..87c5efb6 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -25,7 +25,7 @@ import { Dimensions } from 'react-native'; -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" export default class Compose extends Abstract { @@ -298,10 +298,10 @@ export default class Compose extends Abstract { var shouldDisplayEditor = noteEditor != null; return ( - + {this.note.locked && - + Note Locked } @@ -311,9 +311,9 @@ export default class Compose extends Abstract { onChangeText={this.onTitleChange} value={this.state.title} placeholder={"Add Title"} - selectionColor={GlobalStyles.constants().mainTintColor} + selectionColor={StyleKit.variable("stylekitInfoColor")} underlineColorAndroid={'transparent'} - placeholderTextColor={GlobalStyles.constants().mainDimColor} + placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} autoCorrect={true} autoCapitalize={'sentences'} editable={!this.note.locked} @@ -340,12 +340,12 @@ export default class Compose extends Abstract { {!shouldDisplayEditor && Platform.OS == "android" && - this.input = ref} autoFocus={this.note.dummy} value={this.note.text} - selectionColor={GlobalStyles.lighten(GlobalStyles.constants().mainTintColor, 0.35)} - handlesColor={GlobalStyles.constants().mainTintColor} + selectionColor={StyleKit.lighten(StyleKit.variable("stylekitInfoColor"), 0.35)} + handlesColor={StyleKit.variable("stylekitInfoColor")} onChangeText={this.onTextChange} editable={!this.note.locked} /> @@ -353,12 +353,12 @@ export default class Compose extends Abstract { } {!shouldDisplayEditor && Platform.OS == "ios" && - this.input = ref} autoFocus={false} value={this.note.text} keyboardDismissMode={'interactive'} - selectionColor={GlobalStyles.lighten(GlobalStyles.constants().mainTintColor)} + selectionColor={StyleKit.lighten(StyleKit.variable("stylekitInfoColor"))} onChangeText={this.onTextChange} editable={!this.note.locked} /> @@ -378,13 +378,13 @@ export default class Compose extends Abstract { noteTitle: { fontWeight: "600", fontSize: 16, - color: GlobalStyles.constants().mainTextColor, + color: StyleKit.variable("stylekitForegroundColor"), height: 50, - borderBottomColor: GlobalStyles.constants().composeBorderColor, + borderBottomColor: StyleKit.variable("stylekitBorderColor"), borderBottomWidth: 1, paddingTop: Platform.OS === "ios" ? 5 : 12, - paddingLeft: GlobalStyles.constants().paddingLeft, - paddingRight: GlobalStyles.constants().paddingLeft, + paddingLeft: StyleKit.constants().paddingLeft, + paddingRight: StyleKit.constants().paddingLeft, }, lockedContainer: { @@ -394,9 +394,9 @@ export default class Compose extends Abstract { alignItems: "center", height: 30, maxHeight: 30, - paddingLeft: GlobalStyles.constants().paddingLeft, - backgroundColor: GlobalStyles.constants().mainTintColor, - borderBottomColor: GlobalStyles.constants().plainCellBorderColor, + paddingLeft: StyleKit.constants().paddingLeft, + backgroundColor: StyleKit.variable("stylekitInfoColor"), + borderBottomColor: StyleKit.variable("stylekitBorderColor"), borderBottomWidth: 1 }, @@ -413,13 +413,13 @@ export default class Compose extends Abstract { loadingWebViewText: { paddingLeft: 0, - color: GlobalStyles.constants().mainTextColor, + color: StyleKit.variable("stylekitForegroundColor"), opacity: 0.7 }, lockedText: { fontWeight: "bold", - color: GlobalStyles.constants().mainBackgroundColor, + color: StyleKit.variable("stylekitBackgroundColor"), paddingLeft: 10 }, diff --git a/src/screens/InputModal.js b/src/screens/InputModal.js index c5d33d1c..b222e942 100644 --- a/src/screens/InputModal.js +++ b/src/screens/InputModal.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import { TextInput, View, TouchableHighlight, Platform} from 'react-native'; -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" import TableSection from "../components/TableSection"; import SectionedTableCell from "../components/SectionedTableCell"; import SectionHeader from "../components/SectionHeader"; @@ -59,19 +59,19 @@ export default class InputModal extends Abstract { } return ( - - + + diff --git a/src/screens/NoteOptions.js b/src/screens/NoteOptions.js index e853c5a6..aec57eb3 100644 --- a/src/screens/NoteOptions.js +++ b/src/screens/NoteOptions.js @@ -15,7 +15,7 @@ import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCe import TagList from "../containers/TagList"; import Icons from '../Icons'; -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" import ApplicationState from "../ApplicationState"; import OptionsState from "../OptionsState"; import Icon from 'react-native-vector-icons/Ionicons'; @@ -199,7 +199,7 @@ export default class NoteOptions extends Abstract { } render() { - var viewStyles = [GlobalStyles.styles().container]; + var viewStyles = [StyleKit.styles().container]; if(this.state.lockContent) { return (); @@ -225,7 +225,7 @@ export default class NoteOptions extends Abstract { return ( - + @@ -266,7 +266,7 @@ export default class NoteOptions extends Abstract { /> - + {this.presentNewTag()}} visible={true} iconTextComponent={} diff --git a/src/screens/Notes.js b/src/screens/Notes.js index 7df3d8fc..7adae9e4 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes.js @@ -11,7 +11,7 @@ import KeysManager from '../lib/keysManager' import Keychain from "../lib/keychain" import Abstract from "./Abstract" -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" import Icons from '../Icons'; import NoteList from "../containers/NoteList" import OptionsState from "../OptionsState" @@ -28,7 +28,7 @@ const IoniconsHeaderButton = passMeFurther => ( // the `passMeFurther` variable here contains props from as well as // and it is important to pass those props to `HeaderButton` // then you may add some information like icon size or color (if you use icons) - + ); export default class Notes extends Abstract { @@ -418,7 +418,7 @@ export default class Notes extends Abstract { var syncStatus = Sync.get().syncStatus; return ( - + {notes && - {this.state.syncBarText} + + {this.state.syncBarText} } {this.presentComposer()}} visible={true} iconTextComponent={} diff --git a/src/screens/Settings.js b/src/screens/Settings.js index 4684c358..74a731f3 100644 --- a/src/screens/Settings.js +++ b/src/screens/Settings.js @@ -27,7 +27,7 @@ import EncryptionSection from "../containers/account/EncryptionSection" import CompanySection from "../containers/account/CompanySection" import LockedView from "../containers/LockedView"; import ApplicationState from "../ApplicationState"; -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" var base64 = require('base-64'); var Mailer = require('NativeModules').RNMail; @@ -333,7 +333,7 @@ export default class Settings extends Abstract { } onThemeSelect = (theme) => { - GlobalStyles.get().activateTheme(theme); + StyleKit.get().activateTheme(theme); } onThemeLongPress = (theme) => { @@ -342,7 +342,7 @@ export default class Settings extends Abstract { text: "Themes are cached when downloaded. To retrieve the latest version, press Redownload.", confirmButtonText: "Redownload", onConfirm: () => { - GlobalStyles.get().downloadThemeAndReload(theme); + StyleKit.get().downloadThemeAndReload(theme); } }) } @@ -488,11 +488,11 @@ export default class Settings extends Abstract { } let signedIn = !Auth.get().offline(); - var themes = GlobalStyles.get().themes(); + var themes = StyleKit.get().themes(); return ( - - + + {!signedIn && !this.state.confirmRegistration && ); @@ -150,7 +150,7 @@ export default class SideMenu extends Abstract { return ( - + {this.note ? this.presentNewTag() : this.presentSettings()}} visible={true} iconTextComponent={} diff --git a/src/screens/Webview.js b/src/screens/Webview.js index 3e2ab4fe..a47047e8 100644 --- a/src/screens/Webview.js +++ b/src/screens/Webview.js @@ -4,7 +4,7 @@ import { Alert, View, WebView, Linking, Platform } from 'react-native'; import ComponentManager from '../lib/componentManager' import ModelManager from '../lib/sfjs/modelManager' -import GlobalStyles from "../Styles" +import StyleKit from "../style/StyleKit" import ApplicationState from "../ApplicationState" @@ -86,9 +86,9 @@ export default class Webview extends Component { let bottomPadding = -34; // For some reason iOS inserts padding on bottom return ( - + this.webView = webView} diff --git a/src/style/CSSParser.js b/src/style/CSSParser.js new file mode 100644 index 00000000..6208577d --- /dev/null +++ b/src/style/CSSParser.js @@ -0,0 +1,66 @@ +const StylekitPrefix = "--sn-stylekit"; +const StylekitPrefixToBurn = "--sn-"; + +class CSSParser { + /* + @param css: CSS file contents in string format + */ + static cssToObject(css) { + let object = {}; + let lines = css.split("\n"); + + for(var line of lines) { + line = line.trim(); + if(line.startsWith(StylekitPrefix)) { + // Remove initial "--" + line = line.slice(StylekitPrefixToBurn.length, line.length); + let parts = line.split(":"); + let key = parts[0].trim(); + let value = parts[1].trim();; + + key = this.hyphenatedStringToCamelCase(key); + value = value.replace(";", "").trim(); + + object[key] = value; + } + } + + this.resolveVariablesThatReferenceOtherVariables(object); + + return object; + } + + static resolveVariablesThatReferenceOtherVariables(object) { + for(const key of Object.keys(object)) { + let value = object[key]; + let stripValue = "var("; + if(value.startsWith(stripValue)) { + let from = stripValue.length; + let to = value.indexOf(")"); + let varName = value.slice(from, to); + varName = varName.slice(StylekitPrefixToBurn.length, varName.length); + varName = this.hyphenatedStringToCamelCase(varName); + object[key] = object[varName]; + } + } + } + + static hyphenatedStringToCamelCase(string) { + let comps = string.split("-"); + let result = ""; + for(var i = 0; i < comps.length; i++) { + let part = comps[i]; + if(i == 0) { + result += part; + } else { + result += this.capitalizeFirstLetter(part); + } + } + + return result; + } + + static capitalizeFirstLetter(string) { + return string.charAt(0).toUpperCase() + string.slice(1); + } +} diff --git a/src/Styles.js b/src/style/StyleKit.js similarity index 73% rename from src/Styles.js rename to src/style/StyleKit.js index 853590f5..b9445b9f 100644 --- a/src/Styles.js +++ b/src/style/StyleKit.js @@ -1,19 +1,23 @@ import { StyleSheet, StatusBar, Alert, Platform, Dimensions } from 'react-native'; -import ModelManager from "./lib/sfjs/modelManager" -import Server from "./lib/sfjs/httpManager" -import Sync from './lib/sfjs/syncManager' -import Storage from "./lib/sfjs/storageManager" -import Auth from "./lib/sfjs/authManager" -import KeysManager from './lib/keysManager' -import ApplicationState from './ApplicationState' +import ModelManager from "../lib/sfjs/modelManager" +import Server from "../lib/sfjs/httpManager" +import Sync from '../lib/sfjs/syncManager' +import Storage from "../lib/sfjs/storageManager" +import Auth from "../lib/sfjs/authManager" +import KeysManager from '../lib/keysManager' +import ApplicationState from '../ApplicationState' +import CSSParser from "./CSSParser"; -export default class GlobalStyles { +import redJSON from './red.json'; +import blueJSON from './blue.json'; + +export default class StyleKit { static instance = null; static get() { if (this.instance == null) { - this.instance = new GlobalStyles(); + this.instance = new StyleKit(); } return this.instance; @@ -28,10 +32,10 @@ export default class GlobalStyles { theme.setMobileActive(true); this.activeTheme = theme; var constants = this.defaultConstants(); - this.setStyles(this.defaultRules(constants), constants, theme.getMobileRules().statusBar); + this.setStyles(this.defaultRules(constants, theme.getMobileRules().variables), constants, theme.getMobileRules().statusBar); } catch (e) { var constants = this.defaultConstants(); - this.setStyles(this.defaultRules(constants), constants, Platform.OS == "android" ? "light-content" : "dark-content"); + this.setStyles(this.defaultRules(constants, {}), constants, Platform.OS == "android" ? "light-content" : "dark-content"); console.log("Default theme error", e); } } @@ -59,7 +63,7 @@ export default class GlobalStyles { theme.isSwapIn = true; var constants = _.merge(this.defaultConstants(), theme.getMobileRules().constants); - var rules = _.merge(this.defaultRules(constants), theme.getMobileRules().rules); + var rules = _.merge(this.defaultRules(constants, theme.getMobileRules().variables), theme.getMobileRules().rules); this.setStyles(rules, constants, theme.getMobileRules().statusBar); this.activeTheme = theme; @@ -87,6 +91,10 @@ export default class GlobalStyles { }.bind(this)); } + static variable(name) { + return this.get().activeTheme.getMobileRules().variables[name]; + } + static styles() { return this.get().styles.rules; } @@ -131,7 +139,10 @@ export default class GlobalStyles { return this._systemTheme; } - var constants = this.defaultConstants(); + let constants = this.defaultConstants(); + let variables = redJSON; + + console.log("StyleKit variables", variables); this._systemTheme = new SNTheme({ uuid: 0, @@ -143,7 +154,8 @@ export default class GlobalStyles { this._systemTheme.setMobileRules({ name: "Default", - rules: this.defaultRules(constants), + rules: this.defaultRules(constants, variables), + variables: variables, constants: constants, statusBar: Platform.OS == "android" ? "light-content" : "dark-content" }) @@ -169,7 +181,7 @@ export default class GlobalStyles { var run = () => { var constants = _.merge(this.defaultConstants(), theme.getMobileRules().constants); - var rules = _.merge(this.defaultRules(constants), theme.getMobileRules().rules); + var rules = _.merge(this.defaultRules(constants, theme.getMobileRules().variables), theme.getMobileRules().rules); this.setStyles(rules, constants, theme.getMobileRules().statusBar); this.activeTheme = theme; @@ -249,6 +261,14 @@ export default class GlobalStyles { }) } + async readCSSUrl(url) { + return Server.get().getAbsolute(url, {}, (response) => { + return response; + }, function(response) { + return response; + }) + } + downloadThemeAndReload(theme) { this.downloadTheme(theme, function(){ Sync.get().sync(function(){ @@ -283,42 +303,41 @@ export default class GlobalStyles { } defaultConstants() { - var tintColor = "#fb0206"; + // var tintColor = "#fb0206"; return { - composeBorderColor: "#F5F5F5", - mainBackgroundColor: "#ffffff", - mainTintColor: tintColor, - mainDimColor: "#9d9d9d", - mainTextColor: "#000000", - mainTextFontSize: 16, - mainHeaderFontSize: 16, - - navBarColor: "white", - navBarTextColor: tintColor, - - navBarColorAndroid: tintColor, - navBarTextColorAndroid: "#000000", - - paddingLeft: 14, - plainCellBorderColor: "#efefef", - sectionedCellHorizontalPadding: 14, - selectedBackgroundColor: "#efefef", - - maxSettingsCellHeight: 45 - } + // composeBorderColor: "#F5F5F5", + // mainBackgroundColor: "#ffffff", + // mainTintColor: tintColor, + // mainDimColor: "#9d9d9d", + // mainTextColor: "#000000", + + // navBarColor: "white", + // navBarTextColor: tintColor, + + // navBarColorAndroid: tintColor, + // navBarTextColorAndroid: "#000000", + // plainCellBorderColor: "#efefef", + // selectedBackgroundColor: "#efefef", + + mainTextFontSize: 16, + mainHeaderFontSize: 16, + paddingLeft: 14, + sectionedCellHorizontalPadding: 14, + maxSettingsCellHeight: 45 + } } - defaultRules(constants) { + defaultRules(constants, variables) { return { container: { - backgroundColor: constants.mainBackgroundColor, + backgroundColor: variables.stylekitBackgroundColor, height: "100%", }, flexContainer: { flex: 1, flexDirection: 'column', - backgroundColor: constants.mainBackgroundColor, + backgroundColor: variables.stylekitBackgroundColor, }, centeredContainer: { @@ -333,18 +352,18 @@ export default class GlobalStyles { }, uiText: { - color: constants.mainTextColor, + color: variables.stylekitForegroundColor, fontSize: constants.mainTextFontSize, }, view: { - backgroundColor: constants.mainBackgroundColor, + backgroundColor: variables.stylekitBackgroundColor, }, tableSection: { marginTop: 10, marginBottom: 10, - backgroundColor: constants.mainBackgroundColor + backgroundColor: variables.stylekitBackgroundColor }, sectionHeaderContainer: { @@ -360,27 +379,27 @@ export default class GlobalStyles { sectionHeader: { fontSize: constants.mainTextFontSize - 4, paddingLeft: constants.paddingLeft, - color: constants.mainDimColor, + color: variables.stylekitNeutralColor, fontWeight: Platform.OS == "android" ? "bold" : "normal" }, sectionHeaderButton: { - color: constants.mainTintColor + color: variables.stylekitInfoColor }, sectionHeaderAndroid: { fontSize: constants.mainTextFontSize - 2, - color: constants.mainTintColor + color: variables.stylekitInfoColor }, sectionedTableCell: { - borderBottomColor: constants.plainCellBorderColor, + borderBottomColor: variables.stylekitBorderColor, borderBottomWidth: 1, paddingLeft: constants.paddingLeft, paddingRight: constants.paddingLeft, paddingTop: 13, paddingBottom: 12, - backgroundColor: constants.mainBackgroundColor, + backgroundColor: variables.stylekitBackgroundColor, flex: 1, }, @@ -393,12 +412,12 @@ export default class GlobalStyles { sectionedTableCellTextInput: { fontSize: constants.mainTextFontSize, padding: 0, - color: constants.mainTextColor, + color: variables.stylekitForegroundColor, height: "100%" }, sectionedTableCellFirst: { - borderTopColor: constants.plainCellBorderColor, + borderTopColor: variables.stylekitBorderColor, borderTopWidth: 1, }, @@ -406,14 +425,14 @@ export default class GlobalStyles { }, - sectionedTableCellFirstAndroid: { - borderTopWidth: 0, - }, - - sectionedTableCellLastAndroid: { - borderBottomWidth: 0, - borderTopWidth: 0, - }, + // sectionedTableCellFirstAndroid: { + // borderTopWidth: 0, + // }, + // + // sectionedTableCellLastAndroid: { + // borderBottomWidth: 0, + // borderTopWidth: 0, + // }, sectionedAccessoryTableCell: { paddingTop: 0, @@ -423,7 +442,7 @@ export default class GlobalStyles { sectionedAccessoryTableCellLabel: { fontSize: constants.mainTextFontSize, - color: constants.mainTextColor, + color: variables.stylekitForegroundColor, minWidth: "80%" }, @@ -437,7 +456,7 @@ export default class GlobalStyles { buttonCellButton: { textAlign: "center", textAlignVertical: "center", - color: Platform.OS == "android" ? constants.mainTextColor : constants.mainTintColor, + color: Platform.OS == "android" ? variables.stylekitForegroundColor : variables.stylekitInfoColor, fontSize: constants.mainTextFontSize, }, @@ -449,11 +468,11 @@ export default class GlobalStyles { flexGrow: 1, marginTop: 0, paddingTop: 10, - color: constants.mainTextColor, + color: variables.stylekitForegroundColor, paddingLeft: constants.paddingLeft, paddingRight: constants.paddingLeft, paddingBottom: 10, - backgroundColor: constants.mainBackgroundColor + backgroundColor: variables.stylekitBackgroundColor }, noteTextIOS: { @@ -470,13 +489,13 @@ export default class GlobalStyles { position: "absolute", bottom: 0, width: "100%", - backgroundColor: constants.mainTextColor, + backgroundColor: variables.stylekitContrastBackgroundColor, padding: 5 }, syncBarText: { textAlign: "center", - color: constants.mainBackgroundColor + color: variables.stylekitContrastForegroundColor }, actionSheetWrapper: { @@ -485,31 +504,31 @@ export default class GlobalStyles { actionSheetOverlay: { // This is the dimmed background - // backgroundColor: constants.mainDimColor + // backgroundColor: variables.stylekitNeutralColor }, actionSheetBody: { // This will also set button border bottoms, since margin is used instead of borders - backgroundColor: constants.plainCellBorderColor + backgroundColor: variables.stylekitBorderColor }, actionSheetTitleWrapper: { - backgroundColor: constants.mainBackgroundColor, + backgroundColor: variables.stylekitBackgroundColor, marginBottom: 1 }, actionSheetTitleText: { - color: constants.mainTextColor, + color: variables.stylekitForegroundColor, opacity: 0.5 }, actionSheetButtonWrapper: { - backgroundColor: constants.mainBackgroundColor, + backgroundColor: variables.stylekitBackgroundColor, marginTop: 0 }, actionSheetButtonTitle: { - color: constants.mainTextColor, + color: variables.stylekitForegroundColor, }, actionSheetCancelButtonWrapper: { @@ -517,7 +536,7 @@ export default class GlobalStyles { }, actionSheetCancelButtonTitle: { - color: constants.mainTintColor, + color: variables.stylekitInfoColor, fontWeight: "normal" }, @@ -529,21 +548,21 @@ export default class GlobalStyles { static actionSheetStyles() { return { - wrapperStyle: GlobalStyles.styles().actionSheetWrapper, - overlayStyle: GlobalStyles.styles().actionSheetOverlay, - bodyStyle : GlobalStyles.styles().actionSheetBody, + wrapperStyle: StyleKit.styles().actionSheetWrapper, + overlayStyle: StyleKit.styles().actionSheetOverlay, + bodyStyle : StyleKit.styles().actionSheetBody, - buttonWrapperStyle: GlobalStyles.styles().actionSheetButtonWrapper, - buttonTitleStyle: GlobalStyles.styles().actionSheetButtonTitle, + buttonWrapperStyle: StyleKit.styles().actionSheetButtonWrapper, + buttonTitleStyle: StyleKit.styles().actionSheetButtonTitle, - titleWrapperStyle: GlobalStyles.styles().actionSheetTitleWrapper, - titleTextStyle: GlobalStyles.styles().actionSheetTitleText, - tintColor: ApplicationState.isIOS ? undefined : GlobalStyles.constants().mainTintColor, + titleWrapperStyle: StyleKit.styles().actionSheetTitleWrapper, + titleTextStyle: StyleKit.styles().actionSheetTitleText, + tintColor: ApplicationState.isIOS ? undefined : StyleKit.variable("stylekitInfoColor"), - buttonUnderlayColor: GlobalStyles.constants().plainCellBorderColor, + buttonUnderlayColor: StyleKit.variable("stylekitBorderColor"), - cancelButtonWrapperStyle: GlobalStyles.styles().actionSheetCancelButtonWrapper, - cancelButtonTitleStyle: GlobalStyles.styles().actionSheetCancelButtonTitle, + cancelButtonWrapperStyle: StyleKit.styles().actionSheetCancelButtonWrapper, + cancelButtonTitleStyle: StyleKit.styles().actionSheetCancelButtonTitle, cancelMargin: StyleSheet.hairlineWidth } } diff --git a/src/style/blue.json b/src/style/blue.json new file mode 100644 index 00000000..94b18654 --- /dev/null +++ b/src/style/blue.json @@ -0,0 +1,40 @@ +{ + "stylekitBaseFontSize": "14px", + "stylekitFontSizeP": "1.0rem", + "stylekitFontSizeEditor": "1.21rem", + "stylekitFontSizeH6": "0.8rem", + "stylekitFontSizeH5": "0.9rem", + "stylekitFontSizeH4": "1.0rem", + "stylekitFontSizeH3": "1.1rem", + "stylekitFontSizeH2": "1.2rem", + "stylekitFontSizeH1": "1.3rem", + "stylekitNeutralColor": "#989898", + "stylekitNeutralContrastColor": "white", + "stylekitInfoColor": "#086DD6", + "stylekitInfoContrastColor": "white", + "stylekitSuccessColor": "#2B9612", + "stylekitSuccessContrastColor": "white", + "stylekitWarningColor": "#f6a200", + "stylekitWarningContrastColor": "white", + "stylekitDangerColor": "#F80324", + "stylekitDangerContrastColor": "white", + "stylekitShadowColor": "#C8C8C8", + "stylekitBackgroundColor": "white", + "stylekitBorderColor": "#e3e3e3", + "stylekitForegroundColor": "black", + "stylekitContrastBackgroundColor": "#F6F6F6", + "stylekitContrastForegroundColor": "#2e2e2e", + "stylekitContrastBorderColor": "#e3e3e3", + "stylekitSecondaryBackgroundColor": "#F6F6F6", + "stylekitSecondaryForegroundColor": "#2e2e2e", + "stylekitSecondaryBorderColor": "#e3e3e3", + "stylekitSecondaryContrastBackgroundColor": "#e3e3e3", + "stylekitSecondaryContrastForegroundColor": "#2e2e2e", + "stylekitEditorBackgroundColor": "white", + "stylekitEditorForegroundColor": "black", + "stylekitParagraphTextColor": "#454545", + "stylekitInputPlaceholderColor": "rgb(168, 168, 168)", + "stylekitInputBorderColor": "#e3e3e3", + "stylekitScrollbarThumbColor": "#dfdfdf", + "stylekitScrollbarTrackBorderColor": "#E7E7E7" +} diff --git a/src/style/red.json b/src/style/red.json new file mode 100644 index 00000000..1e89e6ea --- /dev/null +++ b/src/style/red.json @@ -0,0 +1,40 @@ +{ + "stylekitBaseFontSize": "14px", + "stylekitFontSizeP": "1.0rem", + "stylekitFontSizeEditor": "1.21rem", + "stylekitFontSizeH6": "0.8rem", + "stylekitFontSizeH5": "0.9rem", + "stylekitFontSizeH4": "1.0rem", + "stylekitFontSizeH3": "1.1rem", + "stylekitFontSizeH2": "1.2rem", + "stylekitFontSizeH1": "1.3rem", + "stylekitNeutralColor": "#989898", + "stylekitNeutralContrastColor": "white", + "stylekitInfoColor": "#fb0206", + "stylekitInfoContrastColor": "white", + "stylekitSuccessColor": "#2B9612", + "stylekitSuccessContrastColor": "white", + "stylekitWarningColor": "#f6a200", + "stylekitWarningContrastColor": "white", + "stylekitDangerColor": "#F80324", + "stylekitDangerContrastColor": "white", + "stylekitShadowColor": "#C8C8C8", + "stylekitBackgroundColor": "white", + "stylekitBorderColor": "#e3e3e3", + "stylekitForegroundColor": "black", + "stylekitContrastBackgroundColor": "#F6F6F6", + "stylekitContrastForegroundColor": "#2e2e2e", + "stylekitContrastBorderColor": "#e3e3e3", + "stylekitSecondaryBackgroundColor": "#F6F6F6", + "stylekitSecondaryForegroundColor": "#2e2e2e", + "stylekitSecondaryBorderColor": "#e3e3e3", + "stylekitSecondaryContrastBackgroundColor": "#e3e3e3", + "stylekitSecondaryContrastForegroundColor": "#2e2e2e", + "stylekitEditorBackgroundColor": "white", + "stylekitEditorForegroundColor": "black", + "stylekitParagraphTextColor": "#454545", + "stylekitInputPlaceholderColor": "rgb(168, 168, 168)", + "stylekitInputBorderColor": "#e3e3e3", + "stylekitScrollbarThumbColor": "#dfdfdf", + "stylekitScrollbarTrackBorderColor": "#E7E7E7" +} From 788ff4a846aefc3442c3802364ec5419abe1927c Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Fri, 28 Dec 2018 15:30:44 -0600 Subject: [PATCH 008/131] Side menu redesign WIP --- index.js | 6 +- src/_app.js | 2 +- src/app.js | 4 +- src/components/SectionHeader.js | 2 +- src/components/package.json | 3 + src/containers/NoteCell.js | 10 +- src/containers/NoteList.js | 8 +- src/containers/TagList.js | 176 +++++------ src/containers/account/ThemesSection.js | 44 --- src/containers/package.json | 3 + src/lib/package.json | 3 + src/lib/sfjs/package.json | 3 + src/package.json | 3 + src/screens/Compose.js | 2 +- src/screens/NoteOptions.js | 5 +- src/screens/Notes.js | 2 +- src/screens/Settings.js | 20 -- src/screens/SideMenu.js | 174 ----------- src/screens/SideMenu/SideMenu.js | 386 ++++++++++++++++++++++++ src/screens/SideMenu/SideMenuCell.js | 96 ++++++ src/screens/SideMenu/SideMenuHero.js | 46 +++ src/screens/SideMenu/SideMenuSection.js | 39 +++ src/screens/SideMenu/package.json | 3 + src/screens/package.json | 3 + src/{ => style}/Icons.js | 2 +- src/style/StyleKit.js | 15 +- src/style/package.json | 3 + vendor/react-native-aes | 2 +- vendor/react-native-fab | 2 +- vendor/react-native-fingerprint-scanner | 2 +- vendor/react-native-mail | 2 +- vendor/react-native-navigation | 2 +- 32 files changed, 712 insertions(+), 361 deletions(-) create mode 100644 src/components/package.json delete mode 100644 src/containers/account/ThemesSection.js create mode 100644 src/containers/package.json create mode 100644 src/lib/package.json create mode 100644 src/lib/sfjs/package.json create mode 100644 src/package.json delete mode 100644 src/screens/SideMenu.js create mode 100644 src/screens/SideMenu/SideMenu.js create mode 100644 src/screens/SideMenu/SideMenuCell.js create mode 100644 src/screens/SideMenu/SideMenuHero.js create mode 100644 src/screens/SideMenu/SideMenuSection.js create mode 100644 src/screens/SideMenu/package.json create mode 100644 src/screens/package.json rename src/{ => style}/Icons.js (97%) create mode 100644 src/style/package.json diff --git a/index.js b/index.js index 5706a092..04557c81 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,11 @@ import './src/global.js' -import {AppRegistry} from 'react-native'; +import {AppRegistry, YellowBox} from 'react-native'; import App from './src/App'; import {name as appName} from './app.json'; +YellowBox.ignoreWarnings([ + 'Remote debugger is in', +]); + AppRegistry.registerComponent(appName, () => App); diff --git a/src/_app.js b/src/_app.js index 2eb3a2da..2abd5fb4 100644 --- a/src/_app.js +++ b/src/_app.js @@ -8,7 +8,7 @@ import {AppState, Platform, StatusBar, BackHandler, DeviceEventEmitter, NativeMo import {registerScreens} from './screens'; import StyleKit from "./style/StyleKit" -import Icons from "./Icons" +import Icons from '@Style/Icons'; import OptionsState from "./OptionsState" import { Client } from 'bugsnag-react-native'; import Authenticate from "./screens/Authenticate"; diff --git a/src/app.js b/src/app.js index 5c4f6de2..d4e8aec6 100644 --- a/src/app.js +++ b/src/app.js @@ -4,7 +4,7 @@ import { createStackNavigator, createAppContainer, createDrawerNavigator } from import KeysManager from './lib/keysManager' import StyleKit from "./style/StyleKit" -import Icons from "./Icons" +import Icons from '@Style/Icons'; import ApplicationState from "./ApplicationState" import Auth from './lib/sfjs/authManager' import ModelManager from './lib/sfjs/modelManager' @@ -14,7 +14,7 @@ import ReviewManager from './lib/reviewManager'; import Compose from "./screens/Compose" import Notes from "./screens/Notes" -import SideMenu from "./screens/SideMenu" +import SideMenu from "@SideMenu/SideMenu" import Settings from "./screens/Settings" import NoteOptions from "./screens/NoteOptions" import InputModal from "./screens/InputModal" diff --git a/src/components/SectionHeader.js b/src/components/SectionHeader.js index e67fe76b..0ee067bf 100644 --- a/src/components/SectionHeader.js +++ b/src/components/SectionHeader.js @@ -10,7 +10,7 @@ export default class SectionHeader extends Component { title = title.toUpperCase(); } return ( - + {title} {this.props.buttonText && diff --git a/src/components/package.json b/src/components/package.json new file mode 100644 index 00000000..370c4e4e --- /dev/null +++ b/src/components/package.json @@ -0,0 +1,3 @@ +{ + "name": "@Components" +} diff --git a/src/containers/NoteCell.js b/src/containers/NoteCell.js index 3036145b..b1008414 100644 --- a/src/containers/NoteCell.js +++ b/src/containers/NoteCell.js @@ -72,9 +72,12 @@ export default class NoteCell extends React.PureComponent { }, noteText: { - fontSize: StyleKit.constants().mainTextFontSize, + fontSize: 15, + // fontSize: StyleKit.constants().mainTextFontSize, marginTop: 4, - color: StyleKit.variable("stylekitForegroundColor") + color: StyleKit.variable("stylekitForegroundColor"), + opacity: 0.8, + lineHeight: 21 }, noteTextSelected: { @@ -89,7 +92,8 @@ export default class NoteCell extends React.PureComponent { }, noteDateSelected: { - color: StyleKit.variable("stylekitInfoContrastColor") + color: StyleKit.variable("stylekitInfoContrastColor"), + opacity: 0.8 }, deleting: { diff --git a/src/containers/NoteList.js b/src/containers/NoteList.js index a093d1e1..c8f67730 100644 --- a/src/containers/NoteList.js +++ b/src/containers/NoteList.js @@ -43,7 +43,13 @@ export default class NoteList extends Component { backgroundColor={StyleKit.variable("stylekitBackgroundColor")} titleCancelColor={StyleKit.variable("stylekitInfoColor")} keyboardDismissMode={'interactive'} - inputStyle={{backgroundColor: StyleKit.variable("stylekitBorderColor"), color: StyleKit.variable("stylekitForegroundColor")}} + inputStyle={ + { + backgroundColor: StyleKit.variable("stylekitContrastBackgroundColor"), + color: StyleKit.variable("stylekitForegroundColor"), + height: 35 + } + } /> ); diff --git a/src/containers/TagList.js b/src/containers/TagList.js index f6494d37..b548f976 100644 --- a/src/containers/TagList.js +++ b/src/containers/TagList.js @@ -1,101 +1,75 @@ -import React, { Component } from 'react'; -import { StyleSheet, View, FlatList, RefreshControl, ScrollView, Text } from 'react-native'; -import StyleKit from "../style/StyleKit" -import TableSection from "../components/TableSection"; -import SectionHeader from "../components/SectionHeader"; -import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCell"; -import ItemActionManager from '../lib/itemActionManager' -import ActionSheet from 'react-native-actionsheet' -import ApplicationState from "../ApplicationState" - -export default class TagList extends Component { - constructor(props) { - super(props); - this.state = {}; - } - - onPress = (tag) => { - this.props.onTagSelect(tag); - } - - onLongPress = (tag) => { - this.props.onTagLongPress(tag); - } - - static ActionSheetCancelIndex = 0; - static ActionSheetDestructiveIndex = 1; - - actionSheetActions() { - return [ - ['Cancel', ""], - ['Delete', ItemActionManager.DeleteEvent] - ]; - } - - showActionSheet = (item) => { - // Dont show actionsheet for "All notes" tag - if(item.key !== "all") { - this.actionSheetItem = item; - this.setState((prevState) => { - return _.merge(prevState, {actionSheetTitle: item.title}) - }) - this.actionSheet.show(); - } - } - - handleActionSheetPress = (index) => { - if(index == 0) { - return; - } - - this.props.onManageTagEvent(this.actionSheetActions()[index][1], this.actionSheetItem, () => { - this.forceUpdate(); - }); - this.actionSheetItem = null; - } - - // must pass title, text, and tags as props so that it re-renders when either of those change - _renderItem = ({item}) => { - return ( - - {this.onPress(item)}} - onLongPress={() => this.showActionSheet(item)} - text={item.deleted ? "Deleting..." : item.title} - color={item.deleted ? StyleKit.variable("stylekitInfoColor") : undefined} - key={item.uuid} - first={this.props.tags.indexOf(item) == 0} - last={this.props.tags.indexOf(item) == this.props.tags.length - 1} - selected={() => {return this.props.selected.includes(item.uuid)}} - /> - - this.actionSheet = o} - options={this.actionSheetActions().map((action) => {return action[0]})} - cancelButtonIndex={TagList.ActionSheetCancelIndex} - destructiveButtonIndex={TagList.ActionSheetDestructiveIndex} - onPress={this.handleActionSheetPress} - {...StyleKit.actionSheetStyles()} - /> - - ) - } - - render() { - return ( - - {this.props.clearSelection(true)}}/> - - - - - ); - } -} +// import React, { Component } from 'react'; +// import { StyleSheet, View, FlatList, RefreshControl, ScrollView, Text } from 'react-native'; +// import StyleKit from "../style/StyleKit" +// import TableSection from "../components/TableSection"; +// import SectionHeader from "../components/SectionHeader"; +// import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCell"; +// import ItemActionManager from '../lib/itemActionManager' +// import ActionSheet from 'react-native-actionsheet' +// import ApplicationState from "../ApplicationState" +// +// export default class TagList extends Component { +// constructor(props) { +// super(props); +// this.state = {}; +// } +// +// onPress = (tag) => { +// this.props.onTagSelect(tag); +// } +// +// onLongPress = (tag) => { +// this.props.onTagLongPress(tag); +// } +// +// // // must pass title, text, and tags as props so that it re-renders when either of those change +// // _renderItem = ({item}) => { +// // return ( +// // +// // {this.onPress(item)}} +// // onLongPress={() => this.showActionSheet(item)} +// // text={item.deleted ? "Deleting..." : item.title} +// // color={item.deleted ? StyleKit.variable("stylekitInfoColor") : undefined} +// // key={item.uuid} +// // first={this.props.tags.indexOf(item) == 0} +// // last={this.props.tags.indexOf(item) == this.props.tags.length - 1} +// // selected={() => {return this.props.selected.includes(item.uuid)}} +// // /> +// // +// // this.actionSheet = o} +// // options={this.actionSheetActions().map((action) => {return action[0]})} +// // cancelButtonIndex={TagList.ActionSheetCancelIndex} +// // destructiveButtonIndex={TagList.ActionSheetDestructiveIndex} +// // onPress={this.handleActionSheetPress} +// // {...StyleKit.actionSheetStyles()} +// // /> +// // +// // ) +// // } +// +// render() { +// return ( +// +// // {this.props.clearSelection(true)}} +// // /> +// +// // +// +// +// ); +// } +// } diff --git a/src/containers/account/ThemesSection.js b/src/containers/account/ThemesSection.js deleted file mode 100644 index 0bc1b08e..00000000 --- a/src/containers/account/ThemesSection.js +++ /dev/null @@ -1,44 +0,0 @@ -import React, { Component } from 'react'; -import StyleKit from "../../style/StyleKit" -import {TextInput, View, Linking} from 'react-native'; - -import SectionHeader from "../../components/SectionHeader"; -import ButtonCell from "../../components/ButtonCell"; -import TableSection from "../../components/TableSection"; -import SectionedTableCell from "../../components/SectionedTableCell"; -import SectionedAccessoryTableCell from "../../components/SectionedAccessoryTableCell"; - -export default class ThemesSection extends Component { - render() { - return ( - - - - - {this.props.themes.map(function(theme, i) { - return ( - this.props.onThemeSelect(theme)} - onLongPress={() => this.props.onThemeLongPress(theme)} - text={theme.name} - key={theme.uuid} - first={i == 0} - selected={() => {return StyleKit.get().isThemeActive(theme)}} - dimmed={theme.getNotAvailOnMobile()} - last={i == this.props.themes.length - 1 && this.props.themes.length > 1} - /> - ) - }.bind(this))} - - {this.props.themes.length == 1 && - Linking.openURL("https://standardnotes.org/extensions")} - last={true} - text={"More Themes"} - /> - } - - - ); - } -} diff --git a/src/containers/package.json b/src/containers/package.json new file mode 100644 index 00000000..dd1f1fec --- /dev/null +++ b/src/containers/package.json @@ -0,0 +1,3 @@ +{ + "name": "@Containers" +} diff --git a/src/lib/package.json b/src/lib/package.json new file mode 100644 index 00000000..c107ca8f --- /dev/null +++ b/src/lib/package.json @@ -0,0 +1,3 @@ +{ + "name": "@Lib" +} diff --git a/src/lib/sfjs/package.json b/src/lib/sfjs/package.json new file mode 100644 index 00000000..934211df --- /dev/null +++ b/src/lib/sfjs/package.json @@ -0,0 +1,3 @@ +{ + "name": "@SFJS" +} diff --git a/src/package.json b/src/package.json new file mode 100644 index 00000000..09e75211 --- /dev/null +++ b/src/package.json @@ -0,0 +1,3 @@ +{ + "name": "@Root" +} diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 87c5efb6..323c523c 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -6,7 +6,7 @@ import Auth from '../lib/sfjs/authManager' import Abstract from "./Abstract" import Webview from "./Webview" import ComponentManager from '../lib/componentManager' -import Icons from '../Icons'; +import Icons from '@Style/Icons'; import ApplicationState from '../ApplicationState'; import LockedView from "../containers/LockedView"; import Icon from 'react-native-vector-icons/Ionicons'; diff --git a/src/screens/NoteOptions.js b/src/screens/NoteOptions.js index aec57eb3..0e675b19 100644 --- a/src/screens/NoteOptions.js +++ b/src/screens/NoteOptions.js @@ -14,8 +14,9 @@ import LockedView from "../containers/LockedView"; import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCell"; import TagList from "../containers/TagList"; -import Icons from '../Icons'; -import StyleKit from "../style/StyleKit" +import Icons from '@Style/Icons'; +import StyleKit from "@Style/StyleKit" + import ApplicationState from "../ApplicationState"; import OptionsState from "../OptionsState"; import Icon from 'react-native-vector-icons/Ionicons'; diff --git a/src/screens/Notes.js b/src/screens/Notes.js index 7adae9e4..e2a234be 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes.js @@ -12,7 +12,7 @@ import Keychain from "../lib/keychain" import Abstract from "./Abstract" import StyleKit from "../style/StyleKit" -import Icons from '../Icons'; +import Icons from '@Style/Icons'; import NoteList from "../containers/NoteList" import OptionsState from "../OptionsState" import AuthModal from "../containers/AuthModal" diff --git a/src/screens/Settings.js b/src/screens/Settings.js index 74a731f3..7cf17742 100644 --- a/src/screens/Settings.js +++ b/src/screens/Settings.js @@ -22,7 +22,6 @@ import AuthSection from "../containers/account/AuthSection" import RegistrationConfirmSection from "../containers/account/RegistrationConfirmSection" import OptionsSection from "../containers/account/OptionsSection" import PasscodeSection from "../containers/account/PasscodeSection" -import ThemesSection from "../containers/account/ThemesSection" import EncryptionSection from "../containers/account/EncryptionSection" import CompanySection from "../containers/account/CompanySection" import LockedView from "../containers/LockedView"; @@ -332,21 +331,6 @@ export default class Settings extends Abstract { }, 2500); } - onThemeSelect = (theme) => { - StyleKit.get().activateTheme(theme); - } - - onThemeLongPress = (theme) => { - AlertManager.get().confirm({ - title: "Redownload Theme", - text: "Themes are cached when downloaded. To retrieve the latest version, press Redownload.", - confirmButtonText: "Redownload", - onConfirm: () => { - StyleKit.get().downloadThemeAndReload(theme); - } - }) - } - onStorageEncryptionEnable = () => { AlertManager.get().confirm({ title: "Enable Storage Encryption?", @@ -488,7 +472,6 @@ export default class Settings extends Abstract { } let signedIn = !Auth.get().offline(); - var themes = StyleKit.get().themes(); return ( @@ -573,9 +556,6 @@ export default class Settings extends Abstract { - - - { - if(this.handledDataLoad) { return; } - this.handledDataLoad = true; - this.tagsNeedReload = true; - this.forceUpdate(); - } - - if(Sync.get().initialDataLoaded()) { - handleInitialDataLoad(); - } - - this.syncEventHandler = Sync.get().addEventHandler((event, data) => { - if(event == "local-data-loaded") { - handleInitialDataLoad(); - } - - else if(event == "sync:completed") { - if(data.retrievedItems && _.find(data.retrievedItems, {content_type: "Tag"})) { - this.forceUpdate(); - } - } - }) - - this.setState({initialDataLoaded: true}); - } - - componentWillUnmount() { - super.componentWillUnmount(); - ApplicationState.get().removeStateObserver(this.stateObserver); - Sync.get().removeEventHandler(this.syncEventHandler); - } - - componentDidFocus() { - super.componentDidFocus(); - this.forceUpdate(); - } - - presentNewTag() { - this.props.navigation.navigate("NewTag", { - title: 'New Tag', - placeholder: "New tag name", - onSave: (text) => { - this.createTag(text, (tag) => { - if(this.note) { - // select this tag - this.onTagSelect(tag) - } - }); - } - }) - } - - createTag(text, callback) { - var tag = new SNTag({content: {title: text}}); - tag.initUUID().then(() => { - tag.setDirty(true); - ModelManager.get().addItem(tag); - Sync.get().sync(); - callback(tag); - this.forceUpdate(); - }) - } - - onTagSelect = (tag) => { - var selectedTags = [tag.uuid]; - this.setSelectedTags(selectedTags); - } - - setSelectedTags = (selectedTags) => { - this.selectedTags = selectedTags.slice(); - this.options.setSelectedTags(selectedTags); - this.setState({selectedTags: selectedTags}); - } - - isTagSelected(tag) { - return this.tags.indexOf(tag.uuid) !== -1; - } - - onManageTagEvent = (event, tag, renderBlock) => { - ItemActionManager.handleEvent(event, tag, () => { - if(event == ItemActionManager.DeleteEvent) { - this.tagsNeedReload = true; - this.forceUpdate(); - } - }, () => { - // afterConfirmCallback - // We want to show "Deleting.." on top of note cell after the user confirms the dialogue - renderBlock(); - }) - } - - presentSettings() { - this.props.navigation.navigate("Settings"); - } - - render() { - var viewStyles = [StyleKit.styles().container]; - - if(this.state.lockContent || !this.state.initialDataLoaded) { - return (); - } - - if(this.tagsNeedReload) { - var tags = ModelManager.get().tags.slice(); - tags.unshift({title: "All notes", key: "all", uuid: 100}) - this.tags = tags; - this.tagsNeedReload = false; - } - - return ( - - - - - - {this.note ? this.presentNewTag() : this.presentSettings()}} - visible={true} - iconTextComponent={} - /> - - - ); - } -} diff --git a/src/screens/SideMenu/SideMenu.js b/src/screens/SideMenu/SideMenu.js new file mode 100644 index 00000000..02db3e0a --- /dev/null +++ b/src/screens/SideMenu/SideMenu.js @@ -0,0 +1,386 @@ +import React, { Component, Fragment } from 'react'; +import { ScrollView, View, Text, FlatList } from 'react-native'; + +import { SafeAreaView } from 'react-navigation'; +import Icon from 'react-native-vector-icons/Ionicons'; +import FAB from 'react-native-fab'; +import ActionSheet from 'react-native-actionsheet' + +import Abstract from "@Screens/Abstract" +import Sync from '@SFJS/syncManager' +import ModelManager from '@SFJS/modelManager' +import ItemActionManager from '@Lib/itemActionManager' + +import SectionHeader from "@Components/SectionHeader"; +import TableSection from "@Components/TableSection"; +import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; + +import LockedView from "@Containers/LockedView"; +// import TagList from "@Containers/TagList"; + +import Icons from '@Style/Icons'; +import StyleKit from "@Style/StyleKit" + +import SideMenuCell from "@SideMenu/SideMenuCell" +import SideMenuHero from "@SideMenu/SideMenuHero" +import SideMenuSection from "@SideMenu/SideMenuSection" + +import ApplicationState from "@Root/ApplicationState"; +import OptionsState from "@Root/OptionsState" + +export default class SideMenu extends Abstract { + + /* + Initilization + */ + + constructor(props) { + super(props); + this.loadStyles(); + this.constructState({}); + this.tags = []; + this.options = ApplicationState.getOptions(); + } + + loadInitialState() { + super.loadInitialState(); + + var selectedTags; + if(this.options.selectedTags) { + selectedTags = this.options.selectedTags.slice(); // copy the array + } else { + selectedTags = []; + } + + this.mergeState({tags: [], selectedTags: selectedTags, options: this.options}); + + let handleInitialDataLoad = () => { + if(this.handledDataLoad) { return; } + this.handledDataLoad = true; + this.tagsNeedReload = true; + this.forceUpdate(); + } + + if(Sync.get().initialDataLoaded()) { + handleInitialDataLoad(); + } + + this.syncEventHandler = Sync.get().addEventHandler((event, data) => { + if(event == "local-data-loaded") { + handleInitialDataLoad(); + } + + else if(event == "sync:completed") { + if(data.retrievedItems && _.find(data.retrievedItems, {content_type: "Tag"})) { + this.forceUpdate(); + } + } + }) + + this.setState({initialDataLoaded: true}); + } + + /* + Reusables + */ + + reloadTags() { + var tags = ModelManager.get().tags.slice(); + tags.unshift({title: "All notes", key: "all", uuid: 100}) + this.tags = tags; + this.tagsNeedReload = false; + } + + + /* + Lifecycle Callbacks + */ + + componentWillUnmount() { + super.componentWillUnmount(); + ApplicationState.get().removeStateObserver(this.stateObserver); + Sync.get().removeEventHandler(this.syncEventHandler); + } + + componentDidFocus() { + super.componentDidFocus(); + this.forceUpdate(); + } + + + /* + Tag Options + */ + + presentNewTag() { + this.props.navigation.navigate("NewTag", { + title: 'New Tag', + placeholder: "New tag name", + onSave: (text) => { + this.createTag(text, (tag) => { + if(this.note) { + // select this tag + this.onTagSelect(tag) + } + }); + } + }) + } + + createTag(text, callback) { + var tag = new SNTag({content: {title: text}}); + tag.initUUID().then(() => { + tag.setDirty(true); + ModelManager.get().addItem(tag); + Sync.get().sync(); + callback(tag); + this.forceUpdate(); + }) + } + + onTagSelect = (tag) => { + var selectedTags = [tag.uuid]; + this.setSelectedTags(selectedTags); + } + + setSelectedTags = (selectedTags) => { + this.selectedTags = selectedTags.slice(); + this.options.setSelectedTags(selectedTags); + this.setState({selectedTags: selectedTags}); + } + + isTagSelected(tag) { + return this.tags.indexOf(tag.uuid) !== -1; + } + + onManageTagEvent = (event, tag, renderBlock) => { + ItemActionManager.handleEvent(event, tag, () => { + if(event == ItemActionManager.DeleteEvent) { + this.tagsNeedReload = true; + this.forceUpdate(); + } + }, () => { + // afterConfirmCallback + // We want to show "Deleting.." on top of note cell after the user confirms the dialogue + renderBlock(); + }) + } + + + + /* + Theme options + */ + + onThemeSelect = (theme) => { + StyleKit.get().activateTheme(theme); + } + + onThemeLongPress = (theme) => { + AlertManager.get().confirm({ + title: "Redownload Theme", + text: "Themes are cached when downloaded. To retrieve the latest version, press Redownload.", + confirmButtonText: "Redownload", + onConfirm: () => { + StyleKit.get().downloadThemeAndReload(theme); + } + }) + } + + + + /* + Navigation + */ + + presentSettings() { + this.props.navigation.navigate("Settings"); + } + + static ActionSheetCancelIndex = 0; + static ActionSheetDestructiveIndex = 1; + + actionSheetActions() { + return [ + ['Cancel', ""], + ['Delete', ItemActionManager.DeleteEvent] + ]; + } + + showActionSheet = (item) => { + // Dont show actionsheet for "All notes" tag + if(item.key !== "all") { + this.actionSheetItem = item; + this.setState((prevState) => { + return _.merge(prevState, {actionSheetTitle: item.title}) + }) + this.actionSheet.show(); + } + } + + handleActionSheetPress = (index) => { + if(index == 0) { + return; + } + + this.onManageTagEvent(this.actionSheetActions()[index][1], this.actionSheetItem, () => { + this.forceUpdate(); + }); + this.actionSheetItem = null; + } + + + + /* + Render + */ + + iconDescriptorForTheme = (theme) => { + return theme.content.package_info && theme.content.package_info.dock_icon; + } + + iconDescriptorForTag = (tag) => { + return { + type: "ascii", + value: "#" + }; + } + + // must pass title, text, and tags as props so that it re-renders when either of those change + renderTagCell = ({item}) => { + return ( + + {this.onTagSelect(item)}} + onLongPress={() => this.showActionSheet(item)} + text={item.deleted ? "Deleting..." : item.title} + iconDesc={this.iconDescriptorForTag(item)} + // color={item.deleted ? StyleKit.variable("stylekitInfoColor") : undefined} + key={item.uuid} + selected={() => {return this.state.selectedTags.includes(item.uuid)}} + /> + + this.actionSheet = o} + options={this.actionSheetActions().map((action) => {return action[0]})} + cancelButtonIndex={SideMenu.ActionSheetCancelIndex} + destructiveButtonIndex={SideMenu.ActionSheetDestructiveIndex} + onPress={this.handleActionSheetPress} + {...StyleKit.actionSheetStyles()} + /> + + ) + } + + render() { + var viewStyles = [StyleKit.styles().container, this.styles.sideMenu]; + + if(this.state.lockContent || !this.state.initialDataLoaded) { + return (); + } + + if(this.tagsNeedReload) { + this.reloadTags(); + } + + let themes = StyleKit.get().themes(); + + return ( + + + + + + + + + + + + + + + {themes.map((theme) => { + return ( + {this.onThemeSelect(theme)}} + onLongPress={() => {this.onThemeLongPress(theme)}} + /> + ) + })} + + {themes.length == 1 && + { Linking.openURL("https://standardnotes.org/extensions")}} + /> + } + + + + + + + + + + {this.note ? this.presentNewTag() : this.presentSettings()}} + visible={true} + iconTextComponent={} + /> + + + + ); + } + + loadStyles() { + this.styles = { + // We want top color to be different from bottom color of safe area. + // See https://stackoverflow.com/questions/47725607/react-native-safeareaview-background-color-how-to-assign-two-different-backgro + firstSafeArea: { + flex:0, + backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor + }, + secondSafeArea: { + flex:1, + backgroundColor: StyleKit.variables.stylekitBackgroundColor + }, + sideMenu: { + // We want the header to be totally contrast, but content to be main + // So we have to set top level to contrast and individual elements to main + backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor, + color: StyleKit.variables.stylekitForegroundColor, + flex: 1, + flexDirection: "column" + }, + hero: { + height: 75, + padding: 15, + paddingTop: 25, + backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor, + borderBottomColor: StyleKit.variables.stylekitContrastBorderColor, + borderBottomWidth: 1 + }, + scrollView: { + padding: 15, + backgroundColor: StyleKit.variables.stylekitBackgroundColor, + } + } + } +} diff --git a/src/screens/SideMenu/SideMenuCell.js b/src/screens/SideMenu/SideMenuCell.js new file mode 100644 index 00000000..e01b8779 --- /dev/null +++ b/src/screens/SideMenu/SideMenuCell.js @@ -0,0 +1,96 @@ +import React, { Component } from 'react'; +import { ScrollView, View, Text, TouchableHighlight } from 'react-native'; +import Icon from 'react-native-vector-icons/Ionicons'; + +import Icons from '@Style/Icons'; +import StyleKit from "@Style/StyleKit" + +export default class SideMenuCell extends Component { + + constructor(props) { + super(props); + this.loadStyles(); + } + + onPress = () => { + this.props.onSelect(); + } + + onLongPress = () => { + this.props.onLongPress(); + } + + getIconElement() { + let desc = this.props.iconDesc; + if(!desc) { + return null; + } + + if(desc.type == "icon") { + return ( + + ) + } else if(desc.type == "ascii") { + return ( + {desc.value} + ) + } else { + return ( + * + ) + } + } + + render() { + return ( + + + + {this.getIconElement()} + + + {this.props.text} + + {this.props.children} + + + ) + } + + loadStyles() { + this.styles = { + iconColor: StyleKit.variable("stylekitContrastInfoColor"), + + cell: { + minHeight: 42 , + }, + + cellContent: { + flex: 1, + flexDirection: 'row', + }, + + iconContainer: { + marginRight: 6 + }, + + text: { + color: StyleKit.variable("stylekitContrastForegroundColor"), + fontWeight: 'bold', + fontSize: 15 + }, + + iconAscii: { + fontSize: 15, + fontWeight: "bold", + color: StyleKit.variable("stylekitNeutralColor"), + opacity: 0.6, + } + } + } +} diff --git a/src/screens/SideMenu/SideMenuHero.js b/src/screens/SideMenu/SideMenuHero.js new file mode 100644 index 00000000..c4627aba --- /dev/null +++ b/src/screens/SideMenu/SideMenuHero.js @@ -0,0 +1,46 @@ +import React, { Component } from 'react'; +import { ScrollView, View, Text } from 'react-native'; +import Icon from 'react-native-vector-icons/Ionicons'; + +import Icons from '@Style/Icons'; +import StyleKit from "@Style/StyleKit" + +export default class SideMenuHero extends Component { + + constructor(props) { + super(props); + this.loadStyles(); + } + + render() { + return ( + + {"me@bitar.io"} + {"79/79 notes and tags encrypted"} + + ) + } + + loadStyles() { + this.styles = { + cell: { + flex: 1, + flexDirection: "column", + backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor + }, + + title: { + fontWeight: "bold", + fontSize: 16, + color: StyleKit.variables.stylekitContrastForegroundColor, + marginBottom: 3, + }, + + subtitle: { + fontSize: 13, + color: StyleKit.variables.stylekitContrastForegroundColor, + opacity: 0.6 + } + } + } +} diff --git a/src/screens/SideMenu/SideMenuSection.js b/src/screens/SideMenu/SideMenuSection.js new file mode 100644 index 00000000..5a5ca3af --- /dev/null +++ b/src/screens/SideMenu/SideMenuSection.js @@ -0,0 +1,39 @@ +import React, { Component } from 'react'; +import { ScrollView, View, Text } from 'react-native'; +import Icon from 'react-native-vector-icons/Ionicons'; + +import Icons from '@Style/Icons'; +import StyleKit from "@Style/StyleKit" + +export default class SideMenuSection extends Component { + + constructor(props) { + super(props); + this.loadStyles(); + } + + + render() { + return ( + + + {this.props.title} + + {this.props.children} + + ) + } + + loadStyles() { + this.styles = { + header: { + height: 30 + }, + title: { + color: StyleKit.variables.stylekitInfoColor, + fontSize: 13, + fontWeight: "700" + } + } + } +} diff --git a/src/screens/SideMenu/package.json b/src/screens/SideMenu/package.json new file mode 100644 index 00000000..ae011fcf --- /dev/null +++ b/src/screens/SideMenu/package.json @@ -0,0 +1,3 @@ +{ + "name": "@SideMenu" +} diff --git a/src/screens/package.json b/src/screens/package.json new file mode 100644 index 00000000..6f5bbe18 --- /dev/null +++ b/src/screens/package.json @@ -0,0 +1,3 @@ +{ + "name": "@Screens" +} diff --git a/src/Icons.js b/src/style/Icons.js similarity index 97% rename from src/Icons.js rename to src/style/Icons.js index 5bbc904b..77caa0fc 100644 --- a/src/Icons.js +++ b/src/style/Icons.js @@ -1,6 +1,6 @@ const Ionicons = require('react-native-vector-icons/Ionicons'); import { Platform } from 'react-native'; -import StyleKit from "./style/StyleKit" +import StyleKit from "@Style/StyleKit" let iconsMap = {}; diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index b9445b9f..8ef2230e 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -95,6 +95,10 @@ export default class StyleKit { return this.get().activeTheme.getMobileRules().variables[name]; } + static get variables() { + return this.get().activeTheme.getMobileRules().variables; + } + static styles() { return this.get().styles.rules; } @@ -330,14 +334,12 @@ export default class StyleKit { defaultRules(constants, variables) { return { container: { - backgroundColor: variables.stylekitBackgroundColor, height: "100%", }, flexContainer: { flex: 1, flexDirection: 'column', - backgroundColor: variables.stylekitBackgroundColor, }, centeredContainer: { @@ -357,7 +359,11 @@ export default class StyleKit { }, view: { - backgroundColor: variables.stylekitBackgroundColor, + + }, + + contrastView: { + }, tableSection: { @@ -374,9 +380,11 @@ export default class StyleKit { paddingRight: constants.paddingLeft, paddingBottom: 10, paddingTop: 10, + backgroundColor: 'rgba(52, 52, 52, 0.0)' }, sectionHeader: { + backgroundColor: "transparent", fontSize: constants.mainTextFontSize - 4, paddingLeft: constants.paddingLeft, color: variables.stylekitNeutralColor, @@ -438,6 +446,7 @@ export default class StyleKit { paddingTop: 0, paddingBottom: 0, minHeight: 47, + backgroundColor: "transparent" }, sectionedAccessoryTableCellLabel: { diff --git a/src/style/package.json b/src/style/package.json new file mode 100644 index 00000000..aa0d1a0b --- /dev/null +++ b/src/style/package.json @@ -0,0 +1,3 @@ +{ + "name": "@Style" +} diff --git a/vendor/react-native-aes b/vendor/react-native-aes index 9c581805..fb3275f1 160000 --- a/vendor/react-native-aes +++ b/vendor/react-native-aes @@ -1 +1 @@ -Subproject commit 9c581805d4bf3cdef0b173b789666b4f55773b5a +Subproject commit fb3275f1348db2b01eb385ebd50d7b61dfcf92bb diff --git a/vendor/react-native-fab b/vendor/react-native-fab index 5bd5d816..2eb49427 160000 --- a/vendor/react-native-fab +++ b/vendor/react-native-fab @@ -1 +1 @@ -Subproject commit 5bd5d816b761542d9ea69f445385ed68eda6e6a8 +Subproject commit 2eb49427bd31e0e111070dc993038e0ba48bcb42 diff --git a/vendor/react-native-fingerprint-scanner b/vendor/react-native-fingerprint-scanner index eabecf20..0d38cd40 160000 --- a/vendor/react-native-fingerprint-scanner +++ b/vendor/react-native-fingerprint-scanner @@ -1 +1 @@ -Subproject commit eabecf201d627cb8ee70703551f91296af5a2d4e +Subproject commit 0d38cd40348d2f8754942258691a46fa26c44242 diff --git a/vendor/react-native-mail b/vendor/react-native-mail index a98b6a25..10981109 160000 --- a/vendor/react-native-mail +++ b/vendor/react-native-mail @@ -1 +1 @@ -Subproject commit a98b6a25f39ffcab8d97bb8815bb23c511d4e5a8 +Subproject commit 10981109d3e14214ddf5dcca18002cb580f25c66 diff --git a/vendor/react-native-navigation b/vendor/react-native-navigation index 98db3c8a..62d931b0 160000 --- a/vendor/react-native-navigation +++ b/vendor/react-native-navigation @@ -1 +1 @@ -Subproject commit 98db3c8ac9d2c46646b3743d446f0e47b16eec12 +Subproject commit 62d931b0808d7891b628b082083a1b7fb77233bf From 6b3714d6caf7afc0c6394be01df2b590aa929c35 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Fri, 28 Dec 2018 19:08:22 -0600 Subject: [PATCH 009/131] Collapsable sections --- src/components/Circle.js | 32 ++++++++++ src/screens/SideMenu/SideMenu.js | 78 ++++++++++++++++--------- src/screens/SideMenu/SideMenuCell.js | 44 ++++++++++++-- src/screens/SideMenu/SideMenuSection.js | 59 +++++++++++++++++-- 4 files changed, 176 insertions(+), 37 deletions(-) create mode 100644 src/components/Circle.js diff --git a/src/components/Circle.js b/src/components/Circle.js new file mode 100644 index 00000000..13a1aeb7 --- /dev/null +++ b/src/components/Circle.js @@ -0,0 +1,32 @@ +import React, { Component } from 'react'; +import {TouchableHighlight, Text, View} from 'react-native'; +import SectionedTableCell from './SectionedTableCell' +import StyleKit from "@Style/StyleKit" + +export default class Circle extends SectionedTableCell { + + constructor(props) { + super(props); + this.size = props.size || 12; + this.loadStyles(); + } + + render() { + return ( + + ) + } + + loadStyles() { + this.styles = { + circle: { + width: this.size, + height: this.size, + borderRadius: this.size/2.0, + backgroundColor: this.props.backgroundColor, + borderColor: this.props.borderColor, + borderWidth: 1 + } + } + } +} diff --git a/src/screens/SideMenu/SideMenu.js b/src/screens/SideMenu/SideMenu.js index 02db3e0a..90547659 100644 --- a/src/screens/SideMenu/SideMenu.js +++ b/src/screens/SideMenu/SideMenu.js @@ -16,7 +16,6 @@ import TableSection from "@Components/TableSection"; import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; import LockedView from "@Containers/LockedView"; -// import TagList from "@Containers/TagList"; import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" @@ -236,7 +235,26 @@ export default class SideMenu extends Abstract { */ iconDescriptorForTheme = (theme) => { - return theme.content.package_info && theme.content.package_info.dock_icon; + let desc = { + type: "circle", + side: "right" + }; + + let dockIcon = theme.content.package_info && theme.content.package_info.dock_icon; + + if(dockIcon) { + _.merge(desc, { + backgroundColor: dockIcon.background_color, + borderColor: dockIcon.border_color, + }) + } else { + _.merge(desc, { + backgroundColor: "red", + borderColor: "red" + }) + } + + return desc; } iconDescriptorForTag = (tag) => { @@ -246,6 +264,35 @@ export default class SideMenu extends Abstract { }; } + buildOptionsForThemes() { + let themes = StyleKit.get().themes(); + let options = []; + for(var theme of themes) { + let option = SideMenuSection.BuildOption({ + text: theme.name, + key: theme.uuid || theme.name, + iconDesc: this.iconDescriptorForTheme(theme), + dimmed: theme.getNotAvailOnMobile(), + selected: StyleKit.get().isThemeActive(theme), + onSelect: () => {this.onThemeSelect(theme)}, + onLongPress: () => {this.onThemeLongPress(theme)} + }) + + options.push(option); + } + + // Red and Blue default + if(themes.length == 2) { + options.push(SideMenuSection.BuildOption({ + text: "Get Themes", + key: "get-theme", + onSelect: () => { Linking.openURL("https://standardnotes.org/extensions")}, + })); + } + + return options; + } + // must pass title, text, and tags as props so that it re-renders when either of those change renderTagCell = ({item}) => { return ( @@ -284,7 +331,7 @@ export default class SideMenu extends Abstract { this.reloadTags(); } - let themes = StyleKit.get().themes(); + let themeOptions = this.buildOptionsForThemes(); return ( @@ -296,6 +343,8 @@ export default class SideMenu extends Abstract { + + - - {themes.map((theme) => { - return ( - {this.onThemeSelect(theme)}} - onLongPress={() => {this.onThemeLongPress(theme)}} - /> - ) - })} - - {themes.length == 1 && - { Linking.openURL("https://standardnotes.org/extensions")}} - /> - } - - diff --git a/src/screens/SideMenu/SideMenuCell.js b/src/screens/SideMenu/SideMenuCell.js index e01b8779..2f2ef21e 100644 --- a/src/screens/SideMenu/SideMenuCell.js +++ b/src/screens/SideMenu/SideMenuCell.js @@ -4,12 +4,28 @@ import Icon from 'react-native-vector-icons/Ionicons'; import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" +import Circle from "@Components/Circle" export default class SideMenuCell extends Component { constructor(props) { super(props); this.loadStyles(); + this.updateStyles(); + } + + componentDidUpdate() { + this.updateStyles(); + } + + updateStyles() { + if(this.props.iconDesc && this.props.iconDesc.side == "right") { + if(!this.styles.cellContent.justifyContent) { + let styles = _.cloneDeep(this.styles); + styles.cellContent.justifyContent = "space-between"; + this.styles = styles; + } + } } onPress = () => { @@ -34,6 +50,10 @@ export default class SideMenuCell extends Component { return ( {desc.value} ) + } else if(desc.type == "circle") { + return ( + + ) } else { return ( * @@ -42,6 +62,7 @@ export default class SideMenuCell extends Component { } render() { + let iconSide = this.props.iconDesc.side ? this.props.iconDesc.side : "left"; return ( - - {this.getIconElement()} - + {iconSide == "left" && + + {this.getIconElement()} + + } {this.props.text} {this.props.children} + + {iconSide == "right" && + + {this.getIconElement()} + + } ) @@ -72,13 +101,18 @@ export default class SideMenuCell extends Component { cellContent: { flex: 1, - flexDirection: 'row', + flexDirection: 'row' }, - iconContainer: { + iconContainerLeft: { marginRight: 6 }, + iconContainerRight: { + marginLeft: 6, + marginRight: 3 + }, + text: { color: StyleKit.variable("stylekitContrastForegroundColor"), fontWeight: 'bold', diff --git a/src/screens/SideMenu/SideMenuSection.js b/src/screens/SideMenu/SideMenuSection.js index 5a5ca3af..2bd69609 100644 --- a/src/screens/SideMenu/SideMenuSection.js +++ b/src/screens/SideMenu/SideMenuSection.js @@ -1,25 +1,63 @@ -import React, { Component } from 'react'; -import { ScrollView, View, Text } from 'react-native'; +import React, { Component, Fragment } from 'react'; +import { ScrollView, View, Text, TouchableHighlight } from 'react-native'; import Icon from 'react-native-vector-icons/Ionicons'; import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" +import SideMenuCell from "@SideMenu/SideMenuCell" export default class SideMenuSection extends Component { + static BuildOption({text, key, iconDesc, dimmed, selected, onSelect, onLongPress}) { + return { text, key, iconDesc, dimmed, selected, onSelect, onLongPress }; + } + constructor(props) { super(props); this.loadStyles(); + this.state = {collapsed: props.collapsed}; } + toggleCollapse = () => { + this.setState((prevState) => { + return {collapsed: !prevState.collapsed}; + }) + } render() { + let options = this.props.options || []; return ( - - {this.props.title} - - {this.props.children} + + + {this.props.title} + {this.state.collapsed && + {options.length + " Options"} + } + + + + {!this.state.collapsed && + + {options.map((option) => { + return + })} + + {this.props.children} + + } ) } @@ -29,10 +67,19 @@ export default class SideMenuSection extends Component { header: { height: 30 }, + collapsedHeader: { + height: 50 + }, title: { color: StyleKit.variables.stylekitInfoColor, fontSize: 13, fontWeight: "700" + }, + + collapsedLabel: { + fontSize: 12, + opacity: 0.7, + marginTop: 3 } } } From 31082f33f9daac66ae96e81525e7bb15781d6049 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Fri, 28 Dec 2018 22:07:16 -0600 Subject: [PATCH 010/131] Double drawers --- src/app.js | 56 +++++++++++++++++++++++++++++++++++++---- src/screens/Abstract.js | 17 ++++++------- src/screens/Compose.js | 20 ++++++++++++--- src/screens/Notes.js | 25 +++--------------- 4 files changed, 77 insertions(+), 41 deletions(-) diff --git a/src/app.js b/src/app.js index d4e8aec6..e484d1ff 100644 --- a/src/app.js +++ b/src/app.js @@ -1,6 +1,6 @@ import React, {Component} from 'react'; import { View, Text } from "react-native"; -import { createStackNavigator, createAppContainer, createDrawerNavigator } from "react-navigation"; +import { createStackNavigator, createAppContainer, createDrawerNavigator, DrawerActions, NavigationActions } from "react-navigation"; import KeysManager from './lib/keysManager' import StyleKit from "./style/StyleKit" @@ -19,12 +19,39 @@ import Settings from "./screens/Settings" import NoteOptions from "./screens/NoteOptions" import InputModal from "./screens/InputModal" +let leftDrawerLocked = false; +let rightDrawerLocked = true; + const AppStack = createStackNavigator({ Notes: {screen: Notes}, Compose: {screen: Compose}, NoteOptions: {screen : NoteOptions}, }, { - initialRouteName: 'Notes' + initialRouteName: 'Notes', +}) + +AppStack.navigationOptions = ({ navigation }) => { + return {drawerLockMode: rightDrawerLocked ? "locked-closed" : null} +}; + +const AppDrawerStack = createDrawerNavigator({ + Main: AppStack +}, { + contentComponent: SideMenu, + drawerPosition: "right", + drawerType: 'slide', + getCustomActionCreators: (route, stateKey) => { + return { + openRightDrawer: () => DrawerActions.openDrawer({ key: stateKey }), + closeRightDrawer: () => DrawerActions.closeDrawer({ key: stateKey }), + lockRightDrawer: (lock) => { + // this is the key part + rightDrawerLocked = lock; + // We have to return something + return NavigationActions.setParams({params: { dummy: true }, key: route.key}) + } + }; + }, }) const SettingsStack = createStackNavigator({ @@ -35,8 +62,8 @@ const InputModalStack = createStackNavigator({ Screen1: InputModal }) -const ModalStack = createStackNavigator({ - Home: AppStack, +const AppDrawer = createStackNavigator({ + Home: AppDrawerStack, Settings: SettingsStack, NewTag: InputModalStack }, { @@ -44,10 +71,29 @@ const ModalStack = createStackNavigator({ headerMode: 'none', }) +AppDrawer.navigationOptions = ({ navigation }) => { + return {drawerLockMode: leftDrawerLocked ? "locked-closed" : null} +}; + + const DrawerStack = createDrawerNavigator({ - Main: ModalStack + Main: AppDrawer, }, { contentComponent: SideMenu, + drawerPosition: "left", + drawerType: 'slide', + getCustomActionCreators: (route, stateKey) => { + return { + openLeftDrawer: () => DrawerActions.openDrawer({ key: stateKey }), + closeLeftDrawer: () => DrawerActions.closeDrawer({ key: stateKey }), + lockLeftDrawer: (lock) => { + // this is the key part + leftDrawerLocked = lock; + // We have to return something + return NavigationActions.setParams({params: { dummy: true }, key: route.key}) + } + }; + }, }); const AppContainer = createAppContainer(DrawerStack); diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 742eaa2b..5f8ddafd 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -24,8 +24,7 @@ export default class Abstract extends Component { headerStyle: { backgroundColor: StyleKit.variable("stylekitBackgroundColor") }, - headerTintColor: StyleKit.variable("stylekitInfoColor"), - drawerLockMode: navigation.getParam("drawerLockMode") || templateOptions.drawerLockMode + headerTintColor: StyleKit.variable("stylekitInfoColor") } let headerLeft, headerRight; @@ -88,7 +87,11 @@ export default class Abstract extends Component { componentWillUnmount() { this.willUnmount = true; this.mounted = false; + for(var listener of this.listeners) { + listener.remove(); + } ApplicationState.get().removeStateObserver(this._stateObserver); + this.componentDidBlur(); // This is not called automatically when the component unmounts. https://github.com/react-navigation/react-navigation/issues/4003 } componentDidMount() { @@ -113,12 +116,6 @@ export default class Abstract extends Component { this.configureNavBar(true); } - componentWillUnmount() { - for(var listener of this.listeners) { - listener.remove(); - } - } - componentWillFocus() { this.willUnmount = false; this.mounted = false; @@ -133,11 +130,11 @@ export default class Abstract extends Component { this.configureNavBar(false); } - componentWillBlur(){ + componentWillBlur() { } - componentDidBlur(){ + componentDidBlur() { this.willBeVisible = false; this.visible = false; } diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 323c523c..a30e08b9 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -33,7 +33,8 @@ export default class Compose extends Abstract { let templateOptions = { title: "Compose", rightButton: { - title: "Options" + title: null, + iconName: "ios-menu-outline", } } return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); @@ -89,10 +90,12 @@ export default class Compose extends Abstract { configureHeaderBar() { this.props.navigation.setParams({ title: 'Compose', - drawerLockMode: "locked-closed", rightButton: { - title: "Options", - onPress: () => {this.presentOptions();}, + title: null, + iconName: "ios-menu-outline", + onPress: () => { + this.props.navigation.openRightDrawer(); + }, disabled: !this.note.uuid } }) @@ -126,6 +129,9 @@ export default class Compose extends Abstract { componentDidFocus() { super.componentDidFocus(); + this.props.navigation.lockLeftDrawer(true); + this.props.navigation.lockRightDrawer(false); + if(this.note.dummy) { if(this.refs.input) { this.refs.input.focus(); @@ -139,6 +145,12 @@ export default class Compose extends Abstract { } } + componentDidBlur() { + super.componentDidBlur(); + this.props.navigation.lockLeftDrawer(false); + this.props.navigation.lockRightDrawer(true); + } + presentOptions() { if(ApplicationState.isAndroid && this.input) { this.input.blur(); diff --git a/src/screens/Notes.js b/src/screens/Notes.js index e2a234be..e3d80e77 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes.js @@ -24,14 +24,8 @@ import Icon from 'react-native-vector-icons/Ionicons'; import FAB from 'react-native-fab'; import HeaderButtons, { HeaderButton, Item } from 'react-navigation-header-buttons'; -const IoniconsHeaderButton = passMeFurther => ( - // the `passMeFurther` variable here contains props from as well as - // and it is important to pass those props to `HeaderButton` - // then you may add some information like icon size or color (if you use icons) - -); - export default class Notes extends Abstract { + constructor(props) { super(props); @@ -43,7 +37,7 @@ export default class Notes extends Abstract { title: null, iconName: "ios-menu-outline", onPress: () => { - this.openDrawer(); + this.props.navigation.openLeftDrawer(); } } }) @@ -90,7 +84,6 @@ export default class Notes extends Abstract { componentDidMount() { super.componentDidMount(); - this.props.navigation.setParams({ toggleDrawer: this.toggleDrawer }); } componentWillUnmount() { @@ -116,7 +109,7 @@ export default class Notes extends Abstract { registerObservers() { this.optionsObserver = this.options.addChangeObserver((options, eventType) => { - this.closeDrawer(); + this.props.navigation.closeLeftDrawer(); // should only show for non-search term change if(eventType !== OptionsState.OptionsStateChangeEventSearch) { this.setTitle(null, "Loading..."); @@ -311,18 +304,6 @@ export default class Notes extends Abstract { }); } - toggleDrawer = () => { - this.props.navigation.toggleDrawer(); - } - - openDrawer = () => { - this.props.navigation.openDrawer(); - } - - closeDrawer = () => { - this.props.navigation.closeDrawer(); - } - presentFilterScreen() { Navigation.showModal({ stack: { From 45aad1d3108a20c6cecb36b193a3d1af0298d10d Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 29 Dec 2018 13:49:42 -0600 Subject: [PATCH 011/131] Tag selection and SideMenuManager --- src/OptionsState.js | 12 +- src/app.js | 21 +- src/containers/NoteCell.js | 8 +- src/lib/sfjs/modelManager.js | 5 +- src/screens/Compose.js | 61 +++--- src/screens/Notes.js | 28 ++- src/screens/SideMenu/NoteSideMenu.js | 144 +++++++++++++ src/screens/SideMenu/SideMenu.js | 262 +++-------------------- src/screens/SideMenu/SideMenuCell.js | 49 ++++- src/screens/SideMenu/SideMenuManager.js | 85 ++++++++ src/screens/SideMenu/SideMenuSection.js | 2 +- src/screens/SideMenu/TagSelectionList.js | 195 +++++++++++++++++ src/style/StyleKit.js | 2 - 13 files changed, 573 insertions(+), 301 deletions(-) create mode 100644 src/screens/SideMenu/NoteSideMenu.js create mode 100644 src/screens/SideMenu/SideMenuManager.js create mode 100644 src/screens/SideMenu/TagSelectionList.js diff --git a/src/OptionsState.js b/src/OptionsState.js index fe0f3133..9b791e1c 100644 --- a/src/OptionsState.js +++ b/src/OptionsState.js @@ -20,7 +20,7 @@ export default class OptionsState { } init() { - this.selectedTags = []; + this.selectedTagIds = []; this.sortBy = "created_at"; } @@ -44,7 +44,7 @@ export default class OptionsState { toJSON() { return _.merge({ sortBy: this.sortBy, - selectedTags: this.selectedTags + selectedTagIds: this.selectedTagIds }, this.getDisplayOptionValues()); } @@ -81,11 +81,15 @@ export default class OptionsState { this.notifyObservers(OptionsState.OptionsStateChangeEventSort); } - setSelectedTags(selectedTags) { - this.selectedTags = selectedTags; + setSelectedTagIds(selectedTagIds) { + this.selectedTagIds = selectedTagIds; this.notifyObservers(OptionsState.OptionsStateChangeEventTags); } + getSelectedTagIds() { + return this.selectedTagIds; + } + getDisplayOptionValues() { if(!this.displayOptions) { this.rebuildOptions(); diff --git a/src/app.js b/src/app.js index e484d1ff..e7a7b5b9 100644 --- a/src/app.js +++ b/src/app.js @@ -15,12 +15,12 @@ import ReviewManager from './lib/reviewManager'; import Compose from "./screens/Compose" import Notes from "./screens/Notes" import SideMenu from "@SideMenu/SideMenu" +import NoteSideMenu from "@SideMenu/NoteSideMenu" import Settings from "./screens/Settings" import NoteOptions from "./screens/NoteOptions" import InputModal from "./screens/InputModal" -let leftDrawerLocked = false; -let rightDrawerLocked = true; +import SideMenuManager from "@SideMenu/SideMenuManager" const AppStack = createStackNavigator({ Notes: {screen: Notes}, @@ -31,13 +31,15 @@ const AppStack = createStackNavigator({ }) AppStack.navigationOptions = ({ navigation }) => { - return {drawerLockMode: rightDrawerLocked ? "locked-closed" : null} + return {drawerLockMode: SideMenuManager.get().isRightSideMenuLocked() ? "locked-closed" : null} }; const AppDrawerStack = createDrawerNavigator({ Main: AppStack }, { - contentComponent: SideMenu, + contentComponent: ({ navigation }) => ( + {SideMenuManager.get().setRightSideMenuReference(ref)}} navigation={navigation} /> + ), drawerPosition: "right", drawerType: 'slide', getCustomActionCreators: (route, stateKey) => { @@ -46,7 +48,7 @@ const AppDrawerStack = createDrawerNavigator({ closeRightDrawer: () => DrawerActions.closeDrawer({ key: stateKey }), lockRightDrawer: (lock) => { // this is the key part - rightDrawerLocked = lock; + SideMenuManager.get().setLockedForRightSideMenu(lock); // We have to return something return NavigationActions.setParams({params: { dummy: true }, key: route.key}) } @@ -72,14 +74,15 @@ const AppDrawer = createStackNavigator({ }) AppDrawer.navigationOptions = ({ navigation }) => { - return {drawerLockMode: leftDrawerLocked ? "locked-closed" : null} + return {drawerLockMode: SideMenuManager.get().isLeftSideMenuLocked() ? "locked-closed" : null} }; - const DrawerStack = createDrawerNavigator({ Main: AppDrawer, }, { - contentComponent: SideMenu, + contentComponent: ({ navigation }) => ( + {SideMenuManager.get().setLeftSideMenuReference(ref)}} navigation={navigation} /> + ), drawerPosition: "left", drawerType: 'slide', getCustomActionCreators: (route, stateKey) => { @@ -88,7 +91,7 @@ const DrawerStack = createDrawerNavigator({ closeLeftDrawer: () => DrawerActions.closeDrawer({ key: stateKey }), lockLeftDrawer: (lock) => { // this is the key part - leftDrawerLocked = lock; + SideMenuManager.get().setLockedForLeftSideMenu(lock) // We have to return something return NavigationActions.setParams({params: { dummy: true }, key: route.key}) } diff --git a/src/containers/NoteCell.js b/src/containers/NoteCell.js index b1008414..ff93b11f 100644 --- a/src/containers/NoteCell.js +++ b/src/containers/NoteCell.js @@ -27,7 +27,7 @@ export default class NoteCell extends React.PureComponent { backgroundColor: StyleKit.variable("stylekitInfoColor"), }, - noteTags: { + noteTagsContainer: { flex: 1, flexDirection: 'row', marginBottom: 5, @@ -59,6 +59,7 @@ export default class NoteCell extends React.PureComponent { noteTagSelected: { color: StyleKit.variable("stylekitInfoContrastColor"), + opacity: 0.8 }, noteTitle: { @@ -73,7 +74,6 @@ export default class NoteCell extends React.PureComponent { noteText: { fontSize: 15, - // fontSize: StyleKit.constants().mainTextFontSize, marginTop: 4, color: StyleKit.variable("stylekitForegroundColor"), opacity: 0.8, @@ -196,9 +196,9 @@ export default class NoteCell extends React.PureComponent { } {this.props.renderTags && !this.state.options.hideTags && note.tags.length > 0 && - + - {this.props.tagsString} + {this.props.tagsString} } diff --git a/src/lib/sfjs/modelManager.js b/src/lib/sfjs/modelManager.js index 833f043f..d7aa2f13 100644 --- a/src/lib/sfjs/modelManager.js +++ b/src/lib/sfjs/modelManager.js @@ -81,8 +81,9 @@ export default class ModelManager extends SFModelManager { getNotes(options = {}) { var notes; var tags = []; - if(options.selectedTags && options.selectedTags.length > 0 && options.selectedTags[0].key !== "all") { - tags = ModelManager.get().findItems(options.selectedTags); + // if(options.selectedTagIds && options.selectedTagIds.length > 0 && options.selectedTagIds[0].key !== "all") { + if(options.selectedTagIds && options.selectedTagIds.length > 0) { + tags = ModelManager.get().findItems(options.selectedTagIds); if(tags.length > 0) { var taggedNotes = new Set(); for(var tag of tags) { diff --git a/src/screens/Compose.js b/src/screens/Compose.js index a30e08b9..7f31650a 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -2,6 +2,9 @@ import React, { Component } from 'react'; import Sync from '../lib/sfjs/syncManager' import ModelManager from '../lib/sfjs/modelManager' import Auth from '../lib/sfjs/authManager' +import OptionsState from "@Root/OptionsState" + +import SideMenuManager from "@SideMenu/SideMenuManager" import Abstract from "./Abstract" import Webview from "./Webview" @@ -55,6 +58,7 @@ export default class Compose extends Abstract { } this.note = note; + this.constructState({title: note.title, text: note.text}); this.configureHeaderBar(); @@ -143,40 +147,39 @@ export default class Compose extends Abstract { this.input.focus(); } } + + SideMenuManager.get().setHandlerForRightSideMenu({ + onEditorSelect: (editor) => { + this.needsEditorReload = true; + }, + onTagSelect: (tag) => { + let selectedTags = this.note.tags; + var selected = selectedTags.includes(tag); + if(selected) { + // deselect + selectedTags.splice(selectedTags.indexOf(tag), 1); + } else { + // select + selectedTags.push(tag); + } + this.replaceTagsForNote(selectedTags); + this.changesMade(); + }, + getSelectedTags: () => { + // Return copy so that list re-renders every time if they change + return this.note.tags.slice(); + } + }) } componentDidBlur() { super.componentDidBlur(); + + SideMenuManager.get().removeHandlerForRightSideMenu(); this.props.navigation.lockLeftDrawer(false); this.props.navigation.lockRightDrawer(true); } - presentOptions() { - if(ApplicationState.isAndroid && this.input) { - this.input.blur(); - } - - this.previousOptions = {selectedTags: this.note.tags.map((tag) => {return tag.uuid})}; - - this.props.navigation.navigate("NoteOptions", { - noteId: this.note.uuid, - onManageNoteEvent: () => {this.forceUpdate()}, - singleSelectMode: false, - options: JSON.stringify(this.previousOptions), - onEditorSelect: () => { - this.needsEditorReload = true; - }, - onOptionsChange: (options) => { - if(!_.isEqual(options.selectedTags, this.previousOptions.selectedTags)) { - var tags = ModelManager.get().findItems(options.selectedTags); - this.replaceTagsForNote(tags); - this.note.setDirty(true); - this.changesMade(); - } - } - }); - } - replaceTagsForNote(newTags) { let note = this.note; @@ -191,8 +194,10 @@ export default class Compose extends Abstract { } for(var newTag of newTags) { - newTag.addItemAsRelationship(note); - newTag.setDirty(true); + if(!oldTags.includes(newTag)) { + newTag.addItemAsRelationship(note); + newTag.setDirty(true); + } } } diff --git a/src/screens/Notes.js b/src/screens/Notes.js index e3d80e77..d71d7f7f 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes.js @@ -10,6 +10,8 @@ import Auth from '../lib/sfjs/authManager' import KeysManager from '../lib/keysManager' import Keychain from "../lib/keychain" +import SideMenuManager from "@SideMenu/SideMenuManager" + import Abstract from "./Abstract" import StyleKit from "../style/StyleKit" import Icons from '@Style/Icons'; @@ -109,7 +111,7 @@ export default class Notes extends Abstract { registerObservers() { this.optionsObserver = this.options.addChangeObserver((options, eventType) => { - this.props.navigation.closeLeftDrawer(); + // this.props.navigation.closeLeftDrawer(); // should only show for non-search term change if(eventType !== OptionsState.OptionsStateChangeEventSearch) { this.setTitle(null, "Loading..."); @@ -254,10 +256,10 @@ export default class Notes extends Abstract { var options = this.options; var notesTitle = "Notes"; - var numTags = options.selectedTags.length; + var numTags = options.selectedTagIds.length; if(numTags > 0) { - var tags = ModelManager.get().findItems(options.selectedTags); + var tags = ModelManager.get().findItems(options.selectedTagIds); if(tags.length > 0) { var tag = tags[0]; notesTitle = tag.title + " notes"; @@ -282,9 +284,25 @@ export default class Notes extends Abstract { } } + setSideMenuHandler() { + SideMenuManager.get().setHandlerForLeftSideMenu({ + onTagSelect: (tag) => { + // Single tag at a time only + this.options.setSelectedTagIds([tag.uuid]); + // this.props.navigation.closeLeftDrawer(); + }, + getSelectedTags: () => { + let ids = this.options.getSelectedTagIds(); + return ModelManager.get().findItems(ids); + } + }) + } + componentDidFocus() { super.componentDidFocus(); + this.setSideMenuHandler(); + this.forceUpdate(); if(this.needsConfigureNavBar) { @@ -300,7 +318,7 @@ export default class Notes extends Abstract { presentComposer(item) { this.props.navigation.navigate("Compose", { noteId: item && item.uuid, - selectedTagId: this.selectedTags.length && this.selectedTags[0].uuid, + selectedTagId: this.options.selectedTagIds.length && this.options.selectedTagIds[0], }); } @@ -394,7 +412,7 @@ export default class Notes extends Abstract { var result = ModelManager.get().getNotes(this.options); var notes = result.notes; - var tags = this.selectedTags = result.tags; + var tags = result.tags; var syncStatus = Sync.get().syncStatus; diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js new file mode 100644 index 00000000..6251b09c --- /dev/null +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -0,0 +1,144 @@ +import React, { Component, Fragment } from 'react'; +import { ScrollView, View, Text, FlatList } from 'react-native'; + +import { SafeAreaView } from 'react-navigation'; +import Icon from 'react-native-vector-icons/Ionicons'; +import FAB from 'react-native-fab'; +import ActionSheet from 'react-native-actionsheet' + +import Abstract from "@Screens/Abstract" + +import SectionHeader from "@Components/SectionHeader"; +import TableSection from "@Components/TableSection"; +import LockedView from "@Containers/LockedView"; + +import Icons from '@Style/Icons'; +import StyleKit from "@Style/StyleKit" + +import SideMenuManager from "@SideMenu/SideMenuManager" +import SideMenuCell from "@SideMenu/SideMenuCell" +import SideMenuHero from "@SideMenu/SideMenuHero" +import SideMenuSection from "@SideMenu/SideMenuSection" +import TagSelectionList from "@SideMenu/TagSelectionList" + +import ApplicationState from "@Root/ApplicationState"; + +export default class NoteSideMenu extends Abstract { + + constructor(props) { + super(props); + this.loadStyles(); + this.constructState({}); + } + + get handler() { + return SideMenuManager.get().getHandlerForRightSideMenu(); + } + + onEditorSelect = (editor) => { + this.handler.onEditorSelect(editor) + } + + onTagSelect = (tag) => { + this.handler.onTagSelect(tag); + this.forceUpdate(); + } + + + /* + Render + */ + + iconDescriptorForEditor = (editor) => { + let desc = { + type: "circle", + side: "right", + backgroundColor: "red", + borderColor: "red" + }; + + return desc; + } + + buildOptionsForEditors() { + let editors = []; // TODO + let options = []; + for(var editor of editors) { + let option = SideMenuSection.BuildOption({ + text: editor.name, + key: editor.uuid || editor.name, + iconDesc: this.iconDescriptorForEditor(editor), + selected: editor.active, + onSelect: () => {this.onEditorSelect(editor)}, + }) + + options.push(option); + } + + // Default + if(editors.length == 1) { + options.push(SideMenuSection.BuildOption({ + text: "Get Editors", + key: "get-editors", + onSelect: () => { Linking.openURL("https://standardnotes.org/extensions")}, + })); + } + + return options; + } + + render() { + var viewStyles = [StyleKit.styles().container, this.styles.sideMenu]; + + if(this.state.lockContent) { + return (); + } + + if(!this.handler || SideMenuManager.get().isRightSideMenuLocked()) { + return null + } + + + let editorOptions = this.buildOptionsForEditors(); + let selectedTags = this.handler.getSelectedTags(); + + console.log("NoteSideMenu selected tags", selectedTags); + + return ( + + + + + + + + + + + + + + ); + } + + loadStyles() { + this.styles = { + // We want top color to be different from bottom color of safe area. + // See https://stackoverflow.com/questions/47725607/react-native-safeareaview-background-color-how-to-assign-two-different-backgro + safeArea: { + flex:0, + backgroundColor: StyleKit.variables.stylekitBackgroundColor + }, + sideMenu: { + backgroundColor: StyleKit.variables.stylekitBackgroundColor, + color: StyleKit.variables.stylekitForegroundColor, + flex: 1, + flexDirection: "column" + }, + scrollView: { + padding: 15, + backgroundColor: StyleKit.variables.stylekitBackgroundColor, + } + } + } +} diff --git a/src/screens/SideMenu/SideMenu.js b/src/screens/SideMenu/SideMenu.js index 90547659..c84b2044 100644 --- a/src/screens/SideMenu/SideMenu.js +++ b/src/screens/SideMenu/SideMenu.js @@ -7,233 +7,60 @@ import FAB from 'react-native-fab'; import ActionSheet from 'react-native-actionsheet' import Abstract from "@Screens/Abstract" -import Sync from '@SFJS/syncManager' -import ModelManager from '@SFJS/modelManager' -import ItemActionManager from '@Lib/itemActionManager' import SectionHeader from "@Components/SectionHeader"; import TableSection from "@Components/TableSection"; -import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; - import LockedView from "@Containers/LockedView"; import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" +import SideMenuManager from "@SideMenu/SideMenuManager" import SideMenuCell from "@SideMenu/SideMenuCell" import SideMenuHero from "@SideMenu/SideMenuHero" import SideMenuSection from "@SideMenu/SideMenuSection" +import TagSelectionList from "@SideMenu/TagSelectionList" import ApplicationState from "@Root/ApplicationState"; import OptionsState from "@Root/OptionsState" export default class SideMenu extends Abstract { - /* - Initilization - */ - constructor(props) { super(props); this.loadStyles(); this.constructState({}); - this.tags = []; - this.options = ApplicationState.getOptions(); - } - - loadInitialState() { - super.loadInitialState(); - - var selectedTags; - if(this.options.selectedTags) { - selectedTags = this.options.selectedTags.slice(); // copy the array - } else { - selectedTags = []; - } - - this.mergeState({tags: [], selectedTags: selectedTags, options: this.options}); - - let handleInitialDataLoad = () => { - if(this.handledDataLoad) { return; } - this.handledDataLoad = true; - this.tagsNeedReload = true; - this.forceUpdate(); - } - - if(Sync.get().initialDataLoaded()) { - handleInitialDataLoad(); - } - - this.syncEventHandler = Sync.get().addEventHandler((event, data) => { - if(event == "local-data-loaded") { - handleInitialDataLoad(); - } - - else if(event == "sync:completed") { - if(data.retrievedItems && _.find(data.retrievedItems, {content_type: "Tag"})) { - this.forceUpdate(); - } - } - }) - - this.setState({initialDataLoaded: true}); + this.state = {}; } - /* - Reusables - */ - - reloadTags() { - var tags = ModelManager.get().tags.slice(); - tags.unshift({title: "All notes", key: "all", uuid: 100}) - this.tags = tags; - this.tagsNeedReload = false; - } - - - /* - Lifecycle Callbacks - */ - - componentWillUnmount() { - super.componentWillUnmount(); - ApplicationState.get().removeStateObserver(this.stateObserver); - Sync.get().removeEventHandler(this.syncEventHandler); - } - - componentDidFocus() { - super.componentDidFocus(); - this.forceUpdate(); - } - - - /* - Tag Options - */ - - presentNewTag() { - this.props.navigation.navigate("NewTag", { - title: 'New Tag', - placeholder: "New tag name", - onSave: (text) => { - this.createTag(text, (tag) => { - if(this.note) { - // select this tag - this.onTagSelect(tag) - } - }); - } - }) + presentSettings() { + this.props.navigation.navigate("Settings"); } - createTag(text, callback) { - var tag = new SNTag({content: {title: text}}); - tag.initUUID().then(() => { - tag.setDirty(true); - ModelManager.get().addItem(tag); - Sync.get().sync(); - callback(tag); - this.forceUpdate(); - }) + get handler() { + return SideMenuManager.get().getHandlerForLeftSideMenu(); } onTagSelect = (tag) => { - var selectedTags = [tag.uuid]; - this.setSelectedTags(selectedTags); - } - - setSelectedTags = (selectedTags) => { - this.selectedTags = selectedTags.slice(); - this.options.setSelectedTags(selectedTags); - this.setState({selectedTags: selectedTags}); + this.handler.onTagSelect(tag); + // this.forceUpdate(); } - isTagSelected(tag) { - return this.tags.indexOf(tag.uuid) !== -1; + onThemeSelect = (theme) => { + StyleKit.get().activateTheme(theme); } - onManageTagEvent = (event, tag, renderBlock) => { - ItemActionManager.handleEvent(event, tag, () => { - if(event == ItemActionManager.DeleteEvent) { - this.tagsNeedReload = true; - this.forceUpdate(); - } - }, () => { - // afterConfirmCallback - // We want to show "Deleting.." on top of note cell after the user confirms the dialogue - renderBlock(); + onThemeLongPress = (theme) => { + AlertManager.get().confirm({ + title: "Redownload Theme", + text: "Themes are cached when downloaded. To retrieve the latest version, press Redownload.", + confirmButtonText: "Redownload", + onConfirm: () => { + StyleKit.get().downloadThemeAndReload(theme); + } }) } - - - /* - Theme options - */ - - onThemeSelect = (theme) => { - StyleKit.get().activateTheme(theme); - } - - onThemeLongPress = (theme) => { - AlertManager.get().confirm({ - title: "Redownload Theme", - text: "Themes are cached when downloaded. To retrieve the latest version, press Redownload.", - confirmButtonText: "Redownload", - onConfirm: () => { - StyleKit.get().downloadThemeAndReload(theme); - } - }) - } - - - - /* - Navigation - */ - - presentSettings() { - this.props.navigation.navigate("Settings"); - } - - static ActionSheetCancelIndex = 0; - static ActionSheetDestructiveIndex = 1; - - actionSheetActions() { - return [ - ['Cancel', ""], - ['Delete', ItemActionManager.DeleteEvent] - ]; - } - - showActionSheet = (item) => { - // Dont show actionsheet for "All notes" tag - if(item.key !== "all") { - this.actionSheetItem = item; - this.setState((prevState) => { - return _.merge(prevState, {actionSheetTitle: item.title}) - }) - this.actionSheet.show(); - } - } - - handleActionSheetPress = (index) => { - if(index == 0) { - return; - } - - this.onManageTagEvent(this.actionSheetActions()[index][1], this.actionSheetItem, () => { - this.forceUpdate(); - }); - this.actionSheetItem = null; - } - - - - /* - Render - */ - iconDescriptorForTheme = (theme) => { let desc = { type: "circle", @@ -257,13 +84,6 @@ export default class SideMenu extends Abstract { return desc; } - iconDescriptorForTag = (tag) => { - return { - type: "ascii", - value: "#" - }; - } - buildOptionsForThemes() { let themes = StyleKit.get().themes(); let options = []; @@ -293,45 +113,19 @@ export default class SideMenu extends Abstract { return options; } - // must pass title, text, and tags as props so that it re-renders when either of those change - renderTagCell = ({item}) => { - return ( - - {this.onTagSelect(item)}} - onLongPress={() => this.showActionSheet(item)} - text={item.deleted ? "Deleting..." : item.title} - iconDesc={this.iconDescriptorForTag(item)} - // color={item.deleted ? StyleKit.variable("stylekitInfoColor") : undefined} - key={item.uuid} - selected={() => {return this.state.selectedTags.includes(item.uuid)}} - /> - - this.actionSheet = o} - options={this.actionSheetActions().map((action) => {return action[0]})} - cancelButtonIndex={SideMenu.ActionSheetCancelIndex} - destructiveButtonIndex={SideMenu.ActionSheetDestructiveIndex} - onPress={this.handleActionSheetPress} - {...StyleKit.actionSheetStyles()} - /> - - ) - } - render() { var viewStyles = [StyleKit.styles().container, this.styles.sideMenu]; - if(this.state.lockContent || !this.state.initialDataLoaded) { + if(this.state.lockContent) { return (); } - if(this.tagsNeedReload) { - this.reloadTags(); + if(!this.handler || SideMenuManager.get().isLeftSideMenuLocked()) { + return null } let themeOptions = this.buildOptionsForThemes(); + let selectedTags = this.handler.getSelectedTags(); return ( @@ -343,16 +137,10 @@ export default class SideMenu extends Abstract { - + - + diff --git a/src/screens/SideMenu/SideMenuCell.js b/src/screens/SideMenu/SideMenuCell.js index 2f2ef21e..042bebfe 100644 --- a/src/screens/SideMenu/SideMenuCell.js +++ b/src/screens/SideMenu/SideMenuCell.js @@ -61,28 +61,38 @@ export default class SideMenuCell extends Component { } } + aggregateStyles(base, addition, condition) { + if(condition) { + return [base, addition]; + } else { + return base; + } + } + render() { let iconSide = this.props.iconDesc.side ? this.props.iconDesc.side : "left"; return ( {iconSide == "left" && - + {this.getIconElement()} } - {this.props.text} + + {this.props.text} + {this.props.children} {iconSide == "right" && - + {this.getIconElement()} } @@ -94,29 +104,49 @@ export default class SideMenuCell extends Component { loadStyles() { this.styles = { iconColor: StyleKit.variable("stylekitContrastInfoColor"), + selectionBgColor: StyleKit.hexToRGBA(StyleKit.variable("stylekitInfoColor"), 0.1), cell: { - minHeight: 42 , + minHeight: 42, }, cellContent: { flex: 1, - flexDirection: 'row' + flexDirection: 'row', + alignItems: "center" + }, + + iconContainer: { + flex: 0, + justifyContent: "center", + flexDirection: 'column', }, iconContainerLeft: { - marginRight: 6 + marginRight: 6, + height: "100%", }, iconContainerRight: { marginLeft: 6, - marginRight: 3 + marginRight: 3, + height: "100%", + }, + + textContainer: { + height: 24 + }, + + textContainerSelected: { + borderBottomColor: StyleKit.variable("stylekitInfoColor"), + borderBottomWidth: 2, }, text: { + height: "100%", color: StyleKit.variable("stylekitContrastForegroundColor"), fontWeight: 'bold', - fontSize: 15 + fontSize: 15, }, iconAscii: { @@ -124,6 +154,7 @@ export default class SideMenuCell extends Component { fontWeight: "bold", color: StyleKit.variable("stylekitNeutralColor"), opacity: 0.6, + marginTop: -4 } } } diff --git a/src/screens/SideMenu/SideMenuManager.js b/src/screens/SideMenu/SideMenuManager.js new file mode 100644 index 00000000..88b82d44 --- /dev/null +++ b/src/screens/SideMenu/SideMenuManager.js @@ -0,0 +1,85 @@ +import React, { Component, Fragment } from 'react'; +import { ScrollView, View, Text, FlatList } from 'react-native'; + +import ApplicationState from "@Root/ApplicationState"; + +/* + Because SideMenus (SideMenu and NoteSideMenu) are rendering by React Navigation as drawer components + on app startup, we can't give them params at will. We need a way for components like the Compose + screen to talk to the NoteSideMenu and give it the current note context. The only way seems to be + some shared singleton object, which is this. + + This object will handle state for both side menus. +*/ + +export default class SideMenuManager { + + static instance = null; + static get() { + if (this.instance == null) { + this.instance = new SideMenuManager(); + } + + return this.instance; + } + + setLeftSideMenuReference(ref) { + // The ref handler of the main component sometimes passes null, then passes the correct reference + if(!this.leftSideMenu) { + this.leftSideMenu = ref; + } + } + + setRightSideMenuReference(ref) { + // The ref handler of the main component sometimes passes null, then passes the correct reference + if(!this.rightSideMenu) { + this.rightSideMenu = ref; + } + } + + /* + @param handler.onEditorSelect + @param handler.onTagSelect + @param handler.getSelectedTags + */ + setHandlerForLeftSideMenu(handler) { + this.leftSideMenuHandler = handler; + } + + /* + @param handler.onTagSelect + @param handler.getSelectedTags + */ + setHandlerForRightSideMenu(handler) { + this.rightSideMenuHandler = handler; + } + + getHandlerForLeftSideMenu() { + return this.leftSideMenuHandler; + } + + getHandlerForRightSideMenu() { + return this.rightSideMenuHandler; + } + + removeHandlerForRightSideMenu() { + this.rightSideMenuHandler = null; + } + + setLockedForLeftSideMenu(locked) { + this.leftSideMenuLocked = locked; + } + + setLockedForRightSideMenu(locked) { + this.rightSideMenuLocked = locked; + } + + isLeftSideMenuLocked() { + return this.leftSideMenuLocked; + } + + isRightSideMenuLocked() { + return this.rightSideMenuLocked; + } + +} diff --git a/src/screens/SideMenu/SideMenuSection.js b/src/screens/SideMenu/SideMenuSection.js index 2bd69609..12186ba6 100644 --- a/src/screens/SideMenu/SideMenuSection.js +++ b/src/screens/SideMenu/SideMenuSection.js @@ -65,7 +65,7 @@ export default class SideMenuSection extends Component { loadStyles() { this.styles = { header: { - height: 30 + height: 22 }, collapsedHeader: { height: 50 diff --git a/src/screens/SideMenu/TagSelectionList.js b/src/screens/SideMenu/TagSelectionList.js new file mode 100644 index 00000000..802da2cf --- /dev/null +++ b/src/screens/SideMenu/TagSelectionList.js @@ -0,0 +1,195 @@ +import React, { Component } from 'react'; +import { ScrollView, View, Text, FlatList } from 'react-native'; +import Icon from 'react-native-vector-icons/Ionicons'; + +import Sync from '@SFJS/syncManager' +import ItemActionManager from '@Lib/itemActionManager' +import ModelManager from '@SFJS/modelManager' + +import ActionSheet from 'react-native-actionsheet' +import Icons from '@Style/Icons'; +import StyleKit from "@Style/StyleKit" +import SideMenuCell from "@SideMenu/SideMenuCell" + +import ApplicationState from "@Root/ApplicationState"; +import OptionsState from "@Root/OptionsState" + +export default class TagSelectionList extends Component { + + /* + @param props.selectedTags + @param props.onTagSelect + */ + + constructor(props) { + super(props); + this.state = {tags: []}; + this.loadStyles(); + } + + componentDidMount() { + let handleInitialDataLoad = () => { + if(this.handledDataLoad) { return; } + this.handledDataLoad = true; + this.reloadTags(); + } + + if(Sync.get().initialDataLoaded()) { + handleInitialDataLoad(); + } + + this.syncEventHandler = Sync.get().addEventHandler((event, data) => { + if(event == "local-data-loaded") { + handleInitialDataLoad(); + } + + else if(event == "sync:completed") { + if(data.retrievedItems && _.find(data.retrievedItems, {content_type: "Tag"})) { + this.reloadTags(); + } + } + }) + } + + componentWillUnmount() { + Sync.get().removeEventHandler(this.syncEventHandler); + } + + reloadTags() { + var tags = ModelManager.get().tags.slice(); + console.log("Setting tags", tags); + tags.unshift({title: "All notes", key: "all", uuid: 100}) + this.setState({tags: tags}); + } + + /* + Tag Options + */ + + presentNewTag() { + this.props.navigation.navigate("NewTag", { + title: 'New Tag', + placeholder: "New tag name", + onSave: (text) => { + this.createTag(text, (tag) => { + if(this.note) { + // select this tag + this.onTagSelect(tag) + } + }); + } + }) + } + + createTag(text, callback) { + var tag = new SNTag({content: {title: text}}); + tag.initUUID().then(() => { + tag.setDirty(true); + ModelManager.get().addItem(tag); + Sync.get().sync(); + callback(tag); + this.forceUpdate(); + }) + } + + onTagSelect = (tag) => { + this.props.onTagSelect(tag); + } + + onManageTagEvent = (event, tag, renderBlock) => { + ItemActionManager.handleEvent(event, tag, () => { + if(event == ItemActionManager.DeleteEvent) { + this.reloadTags(); + } + }, () => { + // afterConfirmCallback + // We want to show "Deleting.." on top of note cell after the user confirms the dialogue + renderBlock(); + }) + } + + static ActionSheetCancelIndex = 0; + static ActionSheetDestructiveIndex = 1; + + actionSheetActions() { + return [ + ['Cancel', ""], + ['Delete', ItemActionManager.DeleteEvent] + ]; + } + + showActionSheet = (item) => { + // Dont show actionsheet for "All notes" tag + if(item.key !== "all") { + this.actionSheetItem = item; + this.setState((prevState) => { + return _.merge(prevState, {actionSheetTitle: item.title}) + }) + this.actionSheet.show(); + } + } + + handleActionSheetPress = (index) => { + if(index == 0) { + return; + } + + this.onManageTagEvent(this.actionSheetActions()[index][1], this.actionSheetItem, () => { + this.forceUpdate(); + }); + this.actionSheetItem = null; + } + + iconDescriptorForTag = (tag) => { + return { + type: "ascii", + value: "#" + }; + } + + + // must pass title, text, and tags as props so that it re-renders when either of those change + renderTagCell = ({item}) => { + return ( + + {this.onTagSelect(item)}} + onLongPress={() => this.showActionSheet(item)} + text={item.deleted ? "Deleting..." : item.title} + iconDesc={this.iconDescriptorForTag(item)} + key={item.uuid} + selected={this.props.selectedTags.includes(item)} + /> + + this.actionSheet = o} + options={this.actionSheetActions().map((action) => {return action[0]})} + cancelButtonIndex={TagSelectionList.ActionSheetCancelIndex} + destructiveButtonIndex={TagSelectionList.ActionSheetDestructiveIndex} + onPress={this.handleActionSheetPress} + {...StyleKit.actionSheetStyles()} + /> + + ) + } + + render() { + return ( + + ) + } + + loadStyles() { + this.styles = { + + } + } +} diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 8ef2230e..a10cf9a6 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -146,8 +146,6 @@ export default class StyleKit { let constants = this.defaultConstants(); let variables = redJSON; - console.log("StyleKit variables", variables); - this._systemTheme = new SNTheme({ uuid: 0, content: { From 24c544288305b701047539f1571f4badd1281565 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 29 Dec 2018 14:49:22 -0600 Subject: [PATCH 012/131] Remove old app.js file --- src/_app.js | 235 ----------------------- src/app.js | 23 +++ src/screens/SideMenu/TagSelectionList.js | 1 - 3 files changed, 23 insertions(+), 236 deletions(-) delete mode 100644 src/_app.js diff --git a/src/_app.js b/src/_app.js deleted file mode 100644 index 2abd5fb4..00000000 --- a/src/_app.js +++ /dev/null @@ -1,235 +0,0 @@ -/** - * Standard Notes React Native App - */ - -import React, { Component } from 'react'; -import {AppState, Platform, StatusBar, BackHandler, DeviceEventEmitter, NativeModules} from 'react-native'; - -import {registerScreens} from './screens'; - -import StyleKit from "./style/StyleKit" -import Icons from '@Style/Icons'; -import OptionsState from "./OptionsState" -import { Client } from 'bugsnag-react-native'; -import Authenticate from "./screens/Authenticate"; -var pjson = require('../package.json'); -import ApplicationState from "./ApplicationState"; - -import { createStackNavigator, createAppContainer } from "react-navigation"; - -if(__DEV__ === false) { - const bugsnag = new Client() - - // Disable console.log for non-dev builds - console.log = () => {}; -} - -registerScreens(); - -const COLD_LAUNCH_STATE = "COLD_LAUNCH_STATE"; -const WARM_LAUNCH_STATE = "WARM_LAUNCH_STATE"; - -export default class App { - - static instance = null; - - get tabStyles() { - var navBarColor = StyleKit.constantForKey("navBarColor"); - var navBarTextColor = StyleKit.constantForKey("navBarTextColor"); - var statusBarColor = StyleKit.variable("stylekitBackgroundColor"); - - if(this.isAndroid) { - statusBarColor = StyleKit.darken(navBarColor); - // Android <= v22 does not support changing status bar text color. It will always be white - // So we have to make sure background color has proper contrast - if(Platform.Version <= 22) { - statusBarColor = "black"; - } - } - - return { - tabBarBackgroundColor: StyleKit.variable("stylekitBackgroundColor"), - tabBarTranslucent: true, - tabBarButtonColor: 'gray', - tabBarSelectedButtonColor: StyleKit.variable("stylekitInfoColor"), - - // navBarBlur: true, - navBarButtonColor: navBarTextColor, - navBarTextColor: navBarTextColor, - navigationBarColor: 'black', // android built in bar - navBarBackgroundColor: navBarColor, // actual top nav bar - - statusBarColor: statusBarColor, // Android only - statusBarTextColorScheme: 'dark', - statusBarTextColorSchemeSingleScreen: 'dark', - topBarElevationShadowEnabled: true, - - screenBackgroundColor: StyleKit.variable("stylekitBackgroundColor") - } - } - - start() { - - let startApp = () => { - this.startApp(); - ApplicationState.get().receiveApplicationStartEvent(); - } - - Navigation.events().registerAppLaunchedListener(() => { - this.appLaunched = true; - if(this.startAppOnLaunch) { - startApp(); - } - }); - - this.loading = true; - StyleKit.get().resolveInitialTheme().then(function(){ - Promise.all([ - Icons.get().loadIcons(), - KeysManager.get().loadInitialData(), - this.optionsState.loadSaved() - ]).then(function(){ - this.loading = false; - var run = () => { - if(this.appLaunched) { - startApp(); - } else { - this.startAppOnLaunch = true; - } - } - if(KeysManager.get().isFirstRun()) { - KeysManager.get().handleFirstRun().then(run); - } else { - run(); - } - }.bind(this)) - }.bind(this)) - } - - startApp(options = {}) { - console.log("===Starting App==="); - - Navigation.setDefaultOptions({ - bottomTabs: { - visible: true, - animate: false, // Controls whether BottomTabs visibility changes should be animated - drawBehind: true, - backgroundColor: StyleKit.variable("stylekitBackgroundColor") - }, - bottomTab: { - iconColor: StyleKit.variable("stylekitNeutralColor"), - selectedIconColor: StyleKit.variable("stylekitInfoColor"), - textColor: StyleKit.variable("stylekitNeutralColor"), - selectedTextColor: StyleKit.variable("stylekitInfoColor") - }, - }); - - if(this.isIOS) { - Navigation.setRoot({ - root: { - bottomTabs: { - id: 'MainTabBar', - children: [{ - stack: { - children: [{ - component: { - name: 'sn.Notes', - options: { - bottomTab: { - text: 'Notes', - icon: Icons.getIcon('ios-menu-outline') - }, - topBar: { - title: { - text: "Notes", - } - } - } - } - }] - } - }, - { - stack: { - children: [{ - component: { - name: 'sn.Account', - options: { - bottomTab: { - text: 'Account', - icon: Icons.getIcon('ios-contact-outline') - }, - topBar: { - title: { - text: "Account" - } - } - } - } - }] - } - }] - } - } - }); - } - else { - - Navigation.setRoot({ - root: { - sideMenu: { - center: { - stack: { - children: [{ - component: { - name: 'sn.Notes', - options: { - bottomTab: { - text: 'Notes', - icon: Icons.getIcon('ios-menu-outline') - }, - topBar: { - title: { - text: "Notes", - } - } - } - } - }] - } - }, - left: { - component: { - name: 'sn.Filter', - id: "SideMenu", - passProps: { - singleSelectMode: true, - options: JSON.stringify(this.optionsState), - onOptionsChange: (options) => { - this.optionsState.mergeWith(options); - } - } - } - }, - disableOpenGesture: false - } - } - }); - } - } - - reload() { - ApplicationState.get().setThemeChangeBegan(); - - Icons.get().loadIcons(); - - // reset search box - this.optionsState.setSearchTerm(null); - - this.startApp(); - - setTimeout(function () { - ApplicationState.get().setThemeChangeEnded(); - }, 100); - } -} diff --git a/src/app.js b/src/app.js index e7a7b5b9..31209324 100644 --- a/src/app.js +++ b/src/app.js @@ -1,5 +1,6 @@ import React, {Component} from 'react'; import { View, Text } from "react-native"; +import { Client } from 'bugsnag-react-native'; import { createStackNavigator, createAppContainer, createDrawerNavigator, DrawerActions, NavigationActions } from "react-navigation"; import KeysManager from './lib/keysManager' @@ -22,6 +23,13 @@ import InputModal from "./screens/InputModal" import SideMenuManager from "@SideMenu/SideMenuManager" +if(__DEV__ === false) { + const bugsnag = new Client() + + // Disable console.log for non-dev builds + console.log = () => {}; +} + const AppStack = createStackNavigator({ Notes: {screen: Notes}, Compose: {screen: Compose}, @@ -153,4 +161,19 @@ export default class App extends Component { return ; } + + // reloadAfterThemeChange() { + // ApplicationState.get().setThemeChangeBegan(); + // + // Icons.get().loadIcons(); + // + // // reset search box + // this.optionsState.setSearchTerm(null); + // + // this.startApp(); + // + // setTimeout(function () { + // ApplicationState.get().setThemeChangeEnded(); + // }, 100); + // } } diff --git a/src/screens/SideMenu/TagSelectionList.js b/src/screens/SideMenu/TagSelectionList.js index 802da2cf..76af1ec9 100644 --- a/src/screens/SideMenu/TagSelectionList.js +++ b/src/screens/SideMenu/TagSelectionList.js @@ -57,7 +57,6 @@ export default class TagSelectionList extends Component { reloadTags() { var tags = ModelManager.get().tags.slice(); - console.log("Setting tags", tags); tags.unshift({title: "All notes", key: "all", uuid: 100}) this.setState({tags: tags}); } From 231be8e12eff6a9b0bf65072e395cb5ab7888a0a Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 29 Dec 2018 16:07:44 -0600 Subject: [PATCH 013/131] Theme changes WIP --- src/components/SectionedOptionsTableCell.js | 4 +- src/containers/NoteCell.js | 9 +- src/containers/account/AuthSection.js | 2 +- src/containers/account/EncryptionSection.js | 2 +- .../account/RegistrationConfirmSection.js | 2 +- src/screens/Abstract.js | 5 + src/screens/Compose.js | 7 +- src/screens/Notes.js | 25 +- src/screens/SideMenu/NoteSideMenu.js | 2 - src/screens/SideMenu/SideMenu.js | 10 +- src/screens/SideMenu/SideMenuCell.js | 8 +- src/style/Icons.js | 2 +- src/style/StyleKit.js | 404 +++++++----------- src/style/ThemeDownloader.js | 63 +++ 14 files changed, 261 insertions(+), 284 deletions(-) create mode 100644 src/style/ThemeDownloader.js diff --git a/src/components/SectionedOptionsTableCell.js b/src/components/SectionedOptionsTableCell.js index 5dc62975..5a169afa 100644 --- a/src/components/SectionedOptionsTableCell.js +++ b/src/components/SectionedOptionsTableCell.js @@ -21,7 +21,7 @@ export default class SectionedOptionsTableCell extends Component { paddingTop: 0, paddingBottom: 0, paddingRight: 5, - maxHeight: StyleKit.constants().maxSettingsCellHeight + maxHeight: 45 }) return rules; } @@ -54,7 +54,7 @@ export default class SectionedOptionsTableCell extends Component { this.buttonStyles = { color: StyleKit.variable("stylekitNeutralColor"), - fontSize: StyleKit.constants().mainTextFontSize, + fontSize: 16, textAlign: "center", width: "100%", } diff --git a/src/containers/NoteCell.js b/src/containers/NoteCell.js index ff93b11f..aa4444ee 100644 --- a/src/containers/NoteCell.js +++ b/src/containers/NoteCell.js @@ -11,13 +11,14 @@ export default class NoteCell extends React.PureComponent { constructor(props) { super(props); this.state = {selected: false, options: props.options || {}}; - let Padding = 14; + + let padding = 14; this.styles = StyleSheet.create({ noteCell: { - padding: Padding, - paddingRight: Padding * 2, + padding: padding, + paddingRight: padding * 2, borderBottomColor: StyleKit.variable("stylekitBorderColor"), borderBottomWidth: 1, backgroundColor: StyleKit.variable("stylekitBackgroundColor"), @@ -64,7 +65,7 @@ export default class NoteCell extends React.PureComponent { noteTitle: { fontWeight: "bold", - fontSize: StyleKit.constants().mainHeaderFontSize, + fontSize: 16, color: StyleKit.variable("stylekitForegroundColor") }, diff --git a/src/containers/account/AuthSection.js b/src/containers/account/AuthSection.js index c56e4249..75c1e098 100644 --- a/src/containers/account/AuthSection.js +++ b/src/containers/account/AuthSection.js @@ -53,7 +53,7 @@ export default class AuthSection extends AbstractComponent { } render() { - let textPadding = StyleKit.constants().paddingLeft; + let textPadding = 14; return ( diff --git a/src/containers/account/EncryptionSection.js b/src/containers/account/EncryptionSection.js index 837925d5..3b3d7088 100644 --- a/src/containers/account/EncryptionSection.js +++ b/src/containers/account/EncryptionSection.js @@ -32,7 +32,7 @@ export default class PasscodeSection extends Component { var textStyles = { color: StyleKit.variable("stylekitForegroundColor"), - fontSize: StyleKit.constants().mainTextFontSize, + fontSize: 16, lineHeight: 22 } diff --git a/src/containers/account/RegistrationConfirmSection.js b/src/containers/account/RegistrationConfirmSection.js index 2026c500..f7044a8d 100644 --- a/src/containers/account/RegistrationConfirmSection.js +++ b/src/containers/account/RegistrationConfirmSection.js @@ -27,7 +27,7 @@ export default class RegistrationConfirmSection extends Component { } render() { - var padding = StyleKit.constants().paddingLeft; + var padding = 14; return ( diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 5f8ddafd..b42c3d6d 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -82,6 +82,10 @@ export default class Abstract extends Component { this.lockContent(); } }) + + this.themeChangeObserver = StyleKit.get().addThemeChangeObserver(() => { + this.forceUpdate(); + }); } componentWillUnmount() { @@ -90,6 +94,7 @@ export default class Abstract extends Component { for(var listener of this.listeners) { listener.remove(); } + StyleKit.get().removeThemeChangeObserver(this.themeChangeObserver); ApplicationState.get().removeStateObserver(this._stateObserver); this.componentDidBlur(); // This is not called automatically when the component unmounts. https://github.com/react-navigation/react-navigation/issues/4003 } diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 7f31650a..f354fced 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -385,6 +385,7 @@ export default class Compose extends Abstract { } loadStyles() { + let padding = 14; this.rawStyles = { container: { flex: 1, @@ -400,8 +401,8 @@ export default class Compose extends Abstract { borderBottomColor: StyleKit.variable("stylekitBorderColor"), borderBottomWidth: 1, paddingTop: Platform.OS === "ios" ? 5 : 12, - paddingLeft: StyleKit.constants().paddingLeft, - paddingRight: StyleKit.constants().paddingLeft, + paddingLeft: padding, + paddingRight: padding }, lockedContainer: { @@ -411,7 +412,7 @@ export default class Compose extends Abstract { alignItems: "center", height: 30, maxHeight: 30, - paddingLeft: StyleKit.constants().paddingLeft, + paddingLeft: padding, backgroundColor: StyleKit.variable("stylekitInfoColor"), borderBottomColor: StyleKit.variable("stylekitBorderColor"), borderBottomWidth: 1 diff --git a/src/screens/Notes.js b/src/screens/Notes.js index d71d7f7f..b52faee3 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes.js @@ -31,6 +31,8 @@ export default class Notes extends Abstract { constructor(props) { super(props); + this.loadStyles(); + this.rendersLockscreen = true; props.navigation.setParams({ @@ -289,7 +291,7 @@ export default class Notes extends Abstract { onTagSelect: (tag) => { // Single tag at a time only this.options.setSelectedTagIds([tag.uuid]); - // this.props.navigation.closeLeftDrawer(); + this.props.navigation.closeLeftDrawer(); }, getSelectedTags: () => { let ids = this.options.getSelectedTagIds(); @@ -436,8 +438,8 @@ export default class Notes extends Abstract { } {this.state.showSyncBar && - - {this.state.syncBarText} + + {this.state.syncBarText} } @@ -451,4 +453,21 @@ export default class Notes extends Abstract { ); } + + loadStyles() { + this.styles = { + syncBar: { + position: "absolute", + bottom: 0, + width: "100%", + backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor, + padding: 5 + }, + + syncBarText: { + textAlign: "center", + color: StyleKit.variables.stylekitContrastForegroundColor + }, + } + } } diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 6251b09c..ffe34dae 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -102,8 +102,6 @@ export default class NoteSideMenu extends Abstract { let editorOptions = this.buildOptionsForEditors(); let selectedTags = this.handler.getSelectedTags(); - console.log("NoteSideMenu selected tags", selectedTags); - return ( diff --git a/src/screens/SideMenu/SideMenu.js b/src/screens/SideMenu/SideMenu.js index c84b2044..17061122 100644 --- a/src/screens/SideMenu/SideMenu.js +++ b/src/screens/SideMenu/SideMenu.js @@ -43,11 +43,11 @@ export default class SideMenu extends Abstract { onTagSelect = (tag) => { this.handler.onTagSelect(tag); - // this.forceUpdate(); } onThemeSelect = (theme) => { StyleKit.get().activateTheme(theme); + this.forceUpdate(); } onThemeLongPress = (theme) => { @@ -69,15 +69,15 @@ export default class SideMenu extends Abstract { let dockIcon = theme.content.package_info && theme.content.package_info.dock_icon; - if(dockIcon) { + if(dockIcon && dockIcon.type == "circle") { _.merge(desc, { backgroundColor: dockIcon.background_color, borderColor: dockIcon.border_color, }) } else { _.merge(desc, { - backgroundColor: "red", - borderColor: "red" + backgroundColor: StyleKit.variables.stylekitInfoColor, + borderColor: StyleKit.variables.stylekitInfoColor }) } @@ -87,7 +87,7 @@ export default class SideMenu extends Abstract { buildOptionsForThemes() { let themes = StyleKit.get().themes(); let options = []; - for(var theme of themes) { + for(let theme of themes) { let option = SideMenuSection.BuildOption({ text: theme.name, key: theme.uuid || theme.name, diff --git a/src/screens/SideMenu/SideMenuCell.js b/src/screens/SideMenu/SideMenuCell.js index 042bebfe..ba397cb7 100644 --- a/src/screens/SideMenu/SideMenuCell.js +++ b/src/screens/SideMenu/SideMenuCell.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import { ScrollView, View, Text, TouchableHighlight } from 'react-native'; +import { ScrollView, View, Text, TouchableOpacity } from 'react-native'; import Icon from 'react-native-vector-icons/Ionicons'; import Icons from '@Style/Icons'; @@ -72,9 +72,9 @@ export default class SideMenuCell extends Component { render() { let iconSide = this.props.iconDesc.side ? this.props.iconDesc.side : "left"; return ( - @@ -97,7 +97,7 @@ export default class SideMenuCell extends Component { } - + ) } diff --git a/src/style/Icons.js b/src/style/Icons.js index 77caa0fc..f2c1ad7a 100644 --- a/src/style/Icons.js +++ b/src/style/Icons.js @@ -31,7 +31,7 @@ export default class Icons { } async loadIcons(callback) { - var color = StyleKit.variable("stylekitBackgroundColor"); //#FFFFFF + var color = StyleKit.variables.stylekitBackgroundColor; let icons = { "ios-menu-outline": [Ionicons, 25, color], diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index a10cf9a6..729659b3 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -7,6 +7,8 @@ import Auth from "../lib/sfjs/authManager" import KeysManager from '../lib/keysManager' import ApplicationState from '../ApplicationState' import CSSParser from "./CSSParser"; +import ThemeDownloader from "@Style/ThemeDownloader" +import Icons from '@Style/Icons'; import redJSON from './red.json'; import blueJSON from './blue.json'; @@ -23,67 +25,18 @@ export default class StyleKit { return this.instance; } - async resolveInitialTheme() { - // Get the active theme from storage rather than waiting for local database to load - var themeResult = await Storage.get().getItem("activeTheme"); - let runDefaultTheme = () => { - try { - var theme = this.systemTheme(); - theme.setMobileActive(true); - this.activeTheme = theme; - var constants = this.defaultConstants(); - this.setStyles(this.defaultRules(constants, theme.getMobileRules().variables), constants, theme.getMobileRules().statusBar); - } catch (e) { - var constants = this.defaultConstants(); - this.setStyles(this.defaultRules(constants, {}), constants, Platform.OS == "android" ? "light-content" : "dark-content"); - console.log("Default theme error", e); - } - } - - if(themeResult) { - // JSON stringified content is generic and includes all items property at time of stringification - // So we parse it, then set content to itself, so that the mapping can be handled correctly. - try { - var parsedTheme = JSON.parse(themeResult); - var needsMigration = false; - if(parsedTheme.mobileRules) { - // Newer versions of the app persist a Theme object where mobileRules are nested in AppData. - // We want to check if the currently saved data is of the old format, which uses theme.mobileRules - // instead of theme.getMobileRules(). If so, we want to prepare it for the new format. - needsMigration = true; - } - let content = Object.assign({}, parsedTheme); - parsedTheme.content = content; - - var theme = new SNTheme(parsedTheme); - if(needsMigration) { - theme.setMobileRules(parsedTheme.mobileRules); - theme.mobileRules = null; - } + constructor() { + this.themeChangeObservers = []; - theme.isSwapIn = true; - var constants = _.merge(this.defaultConstants(), theme.getMobileRules().constants); - var rules = _.merge(this.defaultRules(constants, theme.getMobileRules().variables), theme.getMobileRules().rules); - this.setStyles(rules, constants, theme.getMobileRules().statusBar); + this.createDefaultThemes(); - this.activeTheme = theme; - } catch (e) { - console.error("Error parsing initial theme", e); - runDefaultTheme(); - } - } else { - runDefaultTheme(); - } - } - - constructor() { KeysManager.get().registerAccountRelatedStorageKeys(["activeTheme"]); ModelManager.get().addItemSyncObserver("themes", "SN|Theme", function(allItems, validItems, deletedItems, source){ if(this.activeTheme && this.activeTheme.isSwapIn) { var matchingTheme = _.find(this.themes(), {uuid: this.activeTheme.uuid}); if(matchingTheme) { - this.activeTheme = matchingTheme; + this.setActiveTheme(matchingTheme); this.activeTheme.isSwapIn = false; this.activeTheme.setMobileActive(true); } @@ -91,82 +44,130 @@ export default class StyleKit { }.bind(this)); } - static variable(name) { - return this.get().activeTheme.getMobileRules().variables[name]; + addThemeChangeObserver(observer) { + this.themeChangeObservers.push(observer); + return observer; } - static get variables() { - return this.get().activeTheme.getMobileRules().variables; + removeThemeChangeObserver(observer) { + _.remove(this.themeChangeObservers, observer); } - static styles() { - return this.get().styles.rules; + notifyObserversOfThemeChange() { + for(var observer of this.themeChangeObservers) { + observer(); + } } - static constants() { - return this.get().styles.constants; + // When downloading an external theme, we can't depend on it having all the variables present. + // So we will merge them with this template variable list to make sure the end result has all + // variables the app expects. + templateVariables() { + return redJSON; } - static stylesForKey(key) { - var rules = this.get().styles.rules; - var styles = [rules[key]]; - var platform = Platform.OS == "android" ? "Android" : "IOS"; - var platformRules = rules[key+platform]; - if(platformRules) { - styles.push(platformRules); + createDefaultThemes() { + this.systemThemes = []; + let options = [ + { + variables: redJSON, + name: "Red" + }, + { + variables: blueJSON, + name: "Blue" + } + ]; + + for(var option of options) { + let variables = option.variables; + + let theme = new SNTheme({ + uuid: option.name, + content: { + isSystemTheme: true, + name: option.name, + } + }); + + theme.setMobileRules({ + name: option.name, + rules: this.defaultRules(variables), + variables: variables, + statusBar: Platform.OS == "android" ? "light-content" : "dark-content" + }) + + this.systemThemes.push(theme); } - return styles; } - static constantForKey(key) { - var defaultValue = this.get().constants[key]; + async resolveInitialTheme() { + let runDefaultTheme = () => { + var theme = this.systemThemes[0]; + theme.setMobileActive(true); + this.setActiveTheme(theme); + } + // Get the active theme from storage rather than waiting for local database to load + var themeResult = await Storage.get().getItem("activeTheme"); + if(!themeResult) { + runDefaultTheme(); + return; + } + + // JSON stringified content is generic and includes all items property at time of stringification + // So we parse it, then set content to itself, so that the mapping can be handled correctly. try { - // For the platform value, if the active theme does not have a specific value, but the defaults do, we don't - // want to use the defaults, but instead just look at the activeTheme. Because default platform values only apply - // to the default theme - var platform = Platform.OS == "android" ? "Android" : "IOS"; - var platformValue = this.get().activeTheme.getMobileRules().constants[key+platform]; - - if(platformValue) { - return platformValue; - } else { - return defaultValue; + var parsedTheme = JSON.parse(themeResult); + var needsMigration = false; + if(parsedTheme.mobileRules) { + // Newer versions of the app persist a Theme object where mobileRules are nested in AppData. + // We want to check if the currently saved data is of the old format, which uses theme.mobileRules + // instead of theme.getMobileRules(). If so, we want to prepare it for the new format. + needsMigration = true; + } + let content = Object.assign({}, parsedTheme); + parsedTheme.content = content; + + var theme = new SNTheme(parsedTheme); + if(needsMigration) { + theme.setMobileRules(parsedTheme.mobileRules); + theme.mobileRules = null; } + + theme.isSwapIn = true; + this.setActiveTheme(theme); } catch (e) { - return defaultValue; + console.error("Error parsing initial theme", e); + runDefaultTheme(); } } - systemTheme() { - if(this._systemTheme) { - return this._systemTheme; - } - - let constants = this.defaultConstants(); - let variables = redJSON; + static variable(name) { + return this.get().activeTheme.getMobileRules().variables[name]; + } - this._systemTheme = new SNTheme({ - uuid: 0, - content: { - isDefault: true, - name: "Default", - } - }); + static get variables() { + return this.get().activeTheme.getMobileRules().variables; + } - this._systemTheme.setMobileRules({ - name: "Default", - rules: this.defaultRules(constants, variables), - variables: variables, - constants: constants, - statusBar: Platform.OS == "android" ? "light-content" : "dark-content" - }) + static styles() { + return this.get().activeTheme.getMobileRules(); + } - return this._systemTheme; + static stylesForKey(key) { + var rules = this.styles(); + var styles = [rules[key]]; + var platform = Platform.OS == "android" ? "Android" : "IOS"; + var platformRules = rules[key+platform]; + if(platformRules) { + styles.push(platformRules); + } + return styles; } themes() { - return [this.systemTheme()].concat(ModelManager.get().themes); + return this.systemThemes.concat(ModelManager.get().themes); } isThemeActive(theme) { @@ -176,20 +177,30 @@ export default class StyleKit { return theme.isMobileActive(); } + setActiveTheme(theme) { + // merge default variables in case these theme has variables that are missing + let mobileRules = theme.getMobileRules(); + mobileRules.variables = _.merge(this.templateVariables(), mobileRules.variables); + theme.setMobileRules(mobileRules); + + this.activeTheme = theme; + + Icons.get().loadIcons(); + + this.notifyObserversOfThemeChange(); + } + activateTheme(theme, writeToStorage = true) { if(this.activeTheme) { this.activeTheme.setMobileActive(false); } - var run = () => { - var constants = _.merge(this.defaultConstants(), theme.getMobileRules().constants); - var rules = _.merge(this.defaultRules(constants, theme.getMobileRules().variables), theme.getMobileRules().rules); - this.setStyles(rules, constants, theme.getMobileRules().statusBar); - - this.activeTheme = theme; + var performActivation = () => { + this.setActiveTheme(theme); theme.setMobileActive(true); - if(theme.content.isDefault) { + if(theme.content.isSystemTheme) { + Storage.get().setItem("activeSystemTheme", theme.name); Storage.get().removeItem("activeTheme"); } else if(writeToStorage) { Storage.get().setItem("activeTheme", JSON.stringify(theme)); @@ -199,99 +210,23 @@ export default class StyleKit { } if(!theme.hasMobileRules()) { - this.downloadTheme(theme, function(){ + ThemeDownloader.get().downloadTheme(theme).then(() => { if(theme.getNotAvailOnMobile()) { Alert.alert("Not Available", "This theme is not available on mobile."); } else { Sync.get().sync(); - run(); + performActivation(); } }); } else { - run(); + performActivation(); } } - async downloadTheme(theme, callback) { - let errorBlock = (error) => { - if(!theme.getNotAvailOnMobile()) { - theme.setNotAvailOnMobile(true); - theme.setDirty(true); - } - - callback && callback(); - - console.error("Theme download error", error); - } - - var url = theme.hosted_url || theme.url; - - if(!url) { - errorBlock(null); - return; - } - - if(url.includes("?")) { - url = url.replace("?", ".json?"); - } else if(url.includes(".css?")) { - url = url.replace(".css?", ".json?"); - } else { - url = url + ".json"; - } - - if(ApplicationState.isAndroid && url.includes("localhost")) { - url = url.replace("localhost", "10.0.2.2"); - } - - return Server.get().getAbsolute(url, {}, function(response){ - // success - if(response !== theme.getMobileRules()) { - theme.setMobileRules(response); - theme.setDirty(true); - } - - if(theme.getNotAvailOnMobile()) { - theme.setNotAvailOnMobile(false); - theme.setDirty(true); - } - - if(callback) { - callback(); - } - }, function(response) { - errorBlock(response); - }) - } - - async readCSSUrl(url) { - return Server.get().getAbsolute(url, {}, (response) => { - return response; - }, function(response) { - return response; - }) - } - - downloadThemeAndReload(theme) { - this.downloadTheme(theme, function(){ - Sync.get().sync(function(){ - this.activateTheme(theme); - }.bind(this)); - }.bind(this)) - } - - setStyles(rules, constants, statusBar) { - if(!statusBar) { statusBar = "light-content";} - this.statusBar = statusBar; - this.constants = constants; - this.styles = { - rules: StyleSheet.create(rules), - constants: constants - } - - // On Android, a time out is required, especially during app startup - setTimeout(function () { - StatusBar.setBarStyle(statusBar, true); - }, Platform.OS == "android" ? 100 : 0); + async downloadThemeAndReload(theme) { + await ThemeDownloader.get().downloadTheme(theme); + await Sync.get().sync(); + this.activateTheme(theme); } static isIPhoneX() { @@ -304,32 +239,9 @@ export default class StyleKit { (D_HEIGHT === X_WIDTH && D_WIDTH === X_HEIGHT)); } - defaultConstants() { - // var tintColor = "#fb0206"; - return { - // composeBorderColor: "#F5F5F5", - // mainBackgroundColor: "#ffffff", - // mainTintColor: tintColor, - // mainDimColor: "#9d9d9d", - // mainTextColor: "#000000", - - // navBarColor: "white", - // navBarTextColor: tintColor, - - // navBarColorAndroid: tintColor, - // navBarTextColorAndroid: "#000000", - // plainCellBorderColor: "#efefef", - // selectedBackgroundColor: "#efefef", - - mainTextFontSize: 16, - mainHeaderFontSize: 16, - paddingLeft: 14, - sectionedCellHorizontalPadding: 14, - maxSettingsCellHeight: 45 - } - } - - defaultRules(constants, variables) { + defaultRules(variables) { + let mainTextFontSize = 16; + let paddingLeft = 14; return { container: { height: "100%", @@ -353,7 +265,7 @@ export default class StyleKit { uiText: { color: variables.stylekitForegroundColor, - fontSize: constants.mainTextFontSize, + fontSize: mainTextFontSize, }, view: { @@ -375,7 +287,7 @@ export default class StyleKit { flexGrow: 0, justifyContent: "space-between", flexDirection: 'row', - paddingRight: constants.paddingLeft, + paddingRight: paddingLeft, paddingBottom: 10, paddingTop: 10, backgroundColor: 'rgba(52, 52, 52, 0.0)' @@ -383,8 +295,8 @@ export default class StyleKit { sectionHeader: { backgroundColor: "transparent", - fontSize: constants.mainTextFontSize - 4, - paddingLeft: constants.paddingLeft, + fontSize: mainTextFontSize - 4, + paddingLeft: paddingLeft, color: variables.stylekitNeutralColor, fontWeight: Platform.OS == "android" ? "bold" : "normal" }, @@ -394,15 +306,15 @@ export default class StyleKit { }, sectionHeaderAndroid: { - fontSize: constants.mainTextFontSize - 2, + fontSize: mainTextFontSize - 2, color: variables.stylekitInfoColor }, sectionedTableCell: { borderBottomColor: variables.stylekitBorderColor, borderBottomWidth: 1, - paddingLeft: constants.paddingLeft, - paddingRight: constants.paddingLeft, + paddingLeft: paddingLeft, + paddingRight: paddingLeft, paddingTop: 13, paddingBottom: 12, backgroundColor: variables.stylekitBackgroundColor, @@ -416,7 +328,7 @@ export default class StyleKit { }, sectionedTableCellTextInput: { - fontSize: constants.mainTextFontSize, + fontSize: mainTextFontSize, padding: 0, color: variables.stylekitForegroundColor, height: "100%" @@ -431,15 +343,6 @@ export default class StyleKit { }, - // sectionedTableCellFirstAndroid: { - // borderTopWidth: 0, - // }, - // - // sectionedTableCellLastAndroid: { - // borderBottomWidth: 0, - // borderTopWidth: 0, - // }, - sectionedAccessoryTableCell: { paddingTop: 0, paddingBottom: 0, @@ -448,7 +351,7 @@ export default class StyleKit { }, sectionedAccessoryTableCellLabel: { - fontSize: constants.mainTextFontSize, + fontSize: mainTextFontSize, color: variables.stylekitForegroundColor, minWidth: "80%" }, @@ -464,7 +367,7 @@ export default class StyleKit { textAlign: "center", textAlignVertical: "center", color: Platform.OS == "android" ? variables.stylekitForegroundColor : variables.stylekitInfoColor, - fontSize: constants.mainTextFontSize, + fontSize: mainTextFontSize, }, buttonCellButtonLeft: { @@ -476,15 +379,15 @@ export default class StyleKit { marginTop: 0, paddingTop: 10, color: variables.stylekitForegroundColor, - paddingLeft: constants.paddingLeft, - paddingRight: constants.paddingLeft, + paddingLeft: paddingLeft, + paddingRight: paddingLeft, paddingBottom: 10, backgroundColor: variables.stylekitBackgroundColor }, noteTextIOS: { - paddingLeft: constants.paddingLeft - 5, - paddingRight: constants.paddingLeft - 5, + paddingLeft: paddingLeft - 5, + paddingRight: paddingLeft - 5, }, noteTextNoPadding: { @@ -492,19 +395,6 @@ export default class StyleKit { paddingRight: 0 }, - syncBar: { - position: "absolute", - bottom: 0, - width: "100%", - backgroundColor: variables.stylekitContrastBackgroundColor, - padding: 5 - }, - - syncBarText: { - textAlign: "center", - color: variables.stylekitContrastForegroundColor - }, - actionSheetWrapper: { }, diff --git a/src/style/ThemeDownloader.js b/src/style/ThemeDownloader.js new file mode 100644 index 00000000..05c03b01 --- /dev/null +++ b/src/style/ThemeDownloader.js @@ -0,0 +1,63 @@ +import { StyleSheet, StatusBar, Alert, Platform, Dimensions } from 'react-native'; + +import Server from "../lib/sfjs/httpManager" +import ApplicationState from '../ApplicationState' +import CSSParser from "./CSSParser"; + +export default class ThemeDownloader { + + static instance = null; + + static get() { + if (this.instance == null) { + this.instance = new ThemeDownloader(); + } + + return this.instance; + } + + async downloadTheme(theme) { + let errorBlock = (error) => { + if(!theme.getNotAvailOnMobile()) { + theme.setNotAvailOnMobile(true); + theme.setDirty(true); + } + + console.error("Theme download error", error); + } + + var url = theme.hosted_url || theme.url; + + if(!url) { + errorBlock(null); + return; + } + + if(url.includes("?")) { + url = url.replace("?", ".json?"); + } else if(url.includes(".css?")) { + url = url.replace(".css?", ".json?"); + } else { + url = url + ".json"; + } + + if(ApplicationState.isAndroid && url.includes("localhost")) { + url = url.replace("localhost", "10.0.2.2"); + } + + return Server.get().getAbsolute(url, {}, function(response){ + // success + if(response !== theme.getMobileRules()) { + theme.setMobileRules(response); + theme.setDirty(true); + } + + if(theme.getNotAvailOnMobile()) { + theme.setNotAvailOnMobile(false); + theme.setDirty(true); + } + }, function(response) { + errorBlock(response); + }) + } +} From a6dbcabe4deb61573875630c0a9ba269263a25b2 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 30 Dec 2018 12:29:47 -0600 Subject: [PATCH 014/131] Theme change functionality --- src/ApplicationState.js | 15 +- src/app.js | 15 -- src/components/AbstractComponent.js | 13 -- src/components/HeaderTitleView.js | 2 +- src/components/ThemedComponent.js | 35 +++++ src/components/ThemedPureComponent.js | 35 +++++ src/containers/NoteCell.js | 187 ++++++++++++------------ src/containers/NoteList.js | 6 +- src/containers/account/AuthSection.js | 13 +- src/lib/keysManager.js | 2 +- src/screens/Abstract.js | 21 ++- src/screens/Notes.js | 2 - src/screens/SideMenu/SideMenu.js | 3 +- src/screens/SideMenu/SideMenuCell.js | 9 +- src/screens/SideMenu/SideMenuHero.js | 7 +- src/screens/SideMenu/SideMenuSection.js | 4 +- src/style/CSSParser.js | 19 ++- src/style/StyleKit.js | 125 +++++++++------- src/style/ThemeDownloader.js | 29 +--- 19 files changed, 290 insertions(+), 252 deletions(-) delete mode 100644 src/components/AbstractComponent.js create mode 100644 src/components/ThemedComponent.js create mode 100644 src/components/ThemedPureComponent.js diff --git a/src/ApplicationState.js b/src/ApplicationState.js index c1ee2478..eb042484 100644 --- a/src/ApplicationState.js +++ b/src/ApplicationState.js @@ -23,9 +23,6 @@ export default class ApplicationState { // When the user enters their local passcode and/or fingerprint static Unlocking = "Unlocking"; - static ThemeChangeBegin = "ThemeChangeBegin"; - static ThemeChangeEnd = "ThemeChangeEnd"; - static instance = null; static get() { if (this.instance == null) { @@ -95,19 +92,9 @@ export default class ApplicationState { } } - setThemeChangeBegan() { - this.themeChangeInProgress = true; - this.notifyOfState(ApplicationState.ThemeChangeBegin); - } - - setThemeChangeEnded() { - this.themeChangeInProgress = false; - this.notifyOfState(ApplicationState.ThemeChangeEnd); - } - handleAppStateChange = (nextAppState) => { - if(this.themeChangeInProgress || this.ignoreStateChanges) { + if(this.ignoreStateChanges) { return; } diff --git a/src/app.js b/src/app.js index 31209324..9d73d0b5 100644 --- a/src/app.js +++ b/src/app.js @@ -161,19 +161,4 @@ export default class App extends Component { return ; } - - // reloadAfterThemeChange() { - // ApplicationState.get().setThemeChangeBegan(); - // - // Icons.get().loadIcons(); - // - // // reset search box - // this.optionsState.setSearchTerm(null); - // - // this.startApp(); - // - // setTimeout(function () { - // ApplicationState.get().setThemeChangeEnded(); - // }, 100); - // } } diff --git a/src/components/AbstractComponent.js b/src/components/AbstractComponent.js deleted file mode 100644 index 32dfec6e..00000000 --- a/src/components/AbstractComponent.js +++ /dev/null @@ -1,13 +0,0 @@ -import React, { Component } from 'react'; -import {TextInput, View} from 'react-native'; - -export default class AbstractComponent extends Component { - - mergeState(state) { - this.setState(function(prevState){ - return _.merge(prevState, state); - }) - } - - -} diff --git a/src/components/HeaderTitleView.js b/src/components/HeaderTitleView.js index 8c91505e..b67c6f98 100644 --- a/src/components/HeaderTitleView.js +++ b/src/components/HeaderTitleView.js @@ -25,7 +25,7 @@ export default class HeaderTitleView extends Component { getStyles() { return new PlatformStyles({ headerContainer: { - backgroundColor: StyleKit.variable("stylekitBackgroundColor"), + backgroundColor: StyleKit.variable("stylekitContrastBackgroundColor"), flex: 1, justifyContent: 'flex-start', flexDirection: "column" diff --git a/src/components/ThemedComponent.js b/src/components/ThemedComponent.js new file mode 100644 index 00000000..bed4d41b --- /dev/null +++ b/src/components/ThemedComponent.js @@ -0,0 +1,35 @@ +import React, { Component } from 'react'; +import StyleKit from "@Style/StyleKit" + +export default class ThemedComponent extends Component { + + constructor(props) { + super(props); + + this.loadStyles(); + this.updateStyles(); + + this.themeChangeObserver = StyleKit.get().addThemeChangeObserver(() => { + this.onThemeChange(); + this.forceUpdate(); + }); + } + + componentWillUnmount() { + StyleKit.get().removeThemeChangeObserver(this.themeChangeObserver); + } + + onThemeChange() { + this.loadStyles(); + this.updateStyles(); + } + + loadStyles() { + + } + + updateStyles() { + + } + +} diff --git a/src/components/ThemedPureComponent.js b/src/components/ThemedPureComponent.js new file mode 100644 index 00000000..5469445c --- /dev/null +++ b/src/components/ThemedPureComponent.js @@ -0,0 +1,35 @@ +import React, { PureComponent } from 'react'; +import StyleKit from "@Style/StyleKit" + +export default class ThemedPureComponent extends PureComponent { + + constructor(props) { + super(props); + + this.loadStyles(); + this.updateStyles(); + + this.themeChangeObserver = StyleKit.get().addThemeChangeObserver(() => { + this.onThemeChange(); + this.forceUpdate(); + }); + } + + componentWillUnmount() { + StyleKit.get().removeThemeChangeObserver(this.themeChangeObserver); + } + + onThemeChange() { + this.loadStyles(); + this.updateStyles(); + } + + loadStyles() { + + } + + updateStyles() { + + } + +} diff --git a/src/containers/NoteCell.js b/src/containers/NoteCell.js index aa4444ee..001df628 100644 --- a/src/containers/NoteCell.js +++ b/src/containers/NoteCell.js @@ -4,104 +4,13 @@ import Icon from 'react-native-vector-icons/Ionicons'; import StyleKit from "../style/StyleKit" import ActionSheet from 'react-native-actionsheet' import ItemActionManager from '../lib/itemActionManager' +import ThemedPureComponent from "@Components/ThemedPureComponent"; -export default class NoteCell extends React.PureComponent { - +export default class NoteCell extends ThemedPureComponent { constructor(props) { super(props); this.state = {selected: false, options: props.options || {}}; - - let padding = 14; - - this.styles = StyleSheet.create({ - - noteCell: { - padding: padding, - paddingRight: padding * 2, - borderBottomColor: StyleKit.variable("stylekitBorderColor"), - borderBottomWidth: 1, - backgroundColor: StyleKit.variable("stylekitBackgroundColor"), - }, - - noteCellSelected: { - backgroundColor: StyleKit.variable("stylekitInfoColor"), - }, - - noteTagsContainer: { - flex: 1, - flexDirection: 'row', - marginBottom: 5, - }, - - pinnedView: { - flex: 1, - flexDirection: 'row', - marginBottom: 5, - }, - - pinnedText: { - color: StyleKit.variable("stylekitInfoColor"), - marginLeft: 8, - fontWeight: "bold", - fontSize: 12 - }, - - pinnedTextSelected: { - color: StyleKit.variable("stylekitInfoContrastColor"), - }, - - noteTag: { - marginRight: 2, - fontSize: 12, - color: StyleKit.variable("stylekitForegroundColor"), - opacity: 0.5, - }, - - noteTagSelected: { - color: StyleKit.variable("stylekitInfoContrastColor"), - opacity: 0.8 - }, - - noteTitle: { - fontWeight: "bold", - fontSize: 16, - color: StyleKit.variable("stylekitForegroundColor") - }, - - noteTitleSelected: { - color: StyleKit.variable("stylekitInfoContrastColor") - }, - - noteText: { - fontSize: 15, - marginTop: 4, - color: StyleKit.variable("stylekitForegroundColor"), - opacity: 0.8, - lineHeight: 21 - }, - - noteTextSelected: { - color: StyleKit.variable("stylekitInfoContrastColor") - }, - - noteDate: { - marginTop: 5, - fontSize: 12, - color: StyleKit.variable("stylekitForegroundColor"), - opacity: 0.5 - }, - - noteDateSelected: { - color: StyleKit.variable("stylekitInfoContrastColor"), - opacity: 0.8 - }, - - deleting: { - color: StyleKit.variable("stylekitInfoColor"), - marginBottom: 5, - } - }); } componentWillReceiveProps(props) { @@ -254,4 +163,96 @@ export default class NoteCell extends React.PureComponent { ) } + + loadStyles() { + let padding = 14; + this.styles = StyleSheet.create({ + + noteCell: { + padding: padding, + paddingRight: padding * 2, + borderBottomColor: StyleKit.variable("stylekitBorderColor"), + borderBottomWidth: 1, + backgroundColor: StyleKit.variable("stylekitBackgroundColor"), + }, + + noteCellSelected: { + backgroundColor: StyleKit.variable("stylekitInfoColor"), + }, + + noteTagsContainer: { + flex: 1, + flexDirection: 'row', + marginBottom: 5, + }, + + pinnedView: { + flex: 1, + flexDirection: 'row', + marginBottom: 5, + }, + + pinnedText: { + color: StyleKit.variable("stylekitInfoColor"), + marginLeft: 8, + fontWeight: "bold", + fontSize: 12 + }, + + pinnedTextSelected: { + color: StyleKit.variable("stylekitInfoContrastColor"), + }, + + noteTag: { + marginRight: 2, + fontSize: 12, + color: StyleKit.variable("stylekitForegroundColor"), + opacity: 0.5, + }, + + noteTagSelected: { + color: StyleKit.variable("stylekitInfoContrastColor"), + opacity: 0.8 + }, + + noteTitle: { + fontWeight: "bold", + fontSize: 16, + color: StyleKit.variable("stylekitForegroundColor") + }, + + noteTitleSelected: { + color: StyleKit.variable("stylekitInfoContrastColor") + }, + + noteText: { + fontSize: 15, + marginTop: 4, + color: StyleKit.variable("stylekitForegroundColor"), + opacity: 0.8, + lineHeight: 21 + }, + + noteTextSelected: { + color: StyleKit.variable("stylekitInfoContrastColor") + }, + + noteDate: { + marginTop: 5, + fontSize: 12, + color: StyleKit.variable("stylekitForegroundColor"), + opacity: 0.5 + }, + + noteDateSelected: { + color: StyleKit.variable("stylekitInfoContrastColor"), + opacity: 0.8 + }, + + deleting: { + color: StyleKit.variable("stylekitInfoColor"), + marginBottom: 5, + } + }); + } } diff --git a/src/containers/NoteList.js b/src/containers/NoteList.js index c8f67730..8725da6c 100644 --- a/src/containers/NoteList.js +++ b/src/containers/NoteList.js @@ -45,9 +45,9 @@ export default class NoteList extends Component { keyboardDismissMode={'interactive'} inputStyle={ { - backgroundColor: StyleKit.variable("stylekitContrastBackgroundColor"), - color: StyleKit.variable("stylekitForegroundColor"), - height: 35 + backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor, + color: StyleKit.variables.stylekitForegroundColor, + height: 31 } } /> diff --git a/src/containers/account/AuthSection.js b/src/containers/account/AuthSection.js index 75c1e098..55b03491 100644 --- a/src/containers/account/AuthSection.js +++ b/src/containers/account/AuthSection.js @@ -7,12 +7,11 @@ import ButtonCell from "../../components/ButtonCell"; import TableSection from "../../components/TableSection"; import SectionedTableCell from "../../components/SectionedTableCell"; import SectionedAccessoryTableCell from "../../components/SectionedAccessoryTableCell"; -import AbstractComponent from "../../components/AbstractComponent" const DEFAULT_SIGN_IN_TEXT = "Sign In"; const DEFAULT_REGISTER_TEXT = "Register"; -export default class AuthSection extends AbstractComponent { +export default class AuthSection extends Component { constructor(props) { super(props); this.state = _.merge(props.params, { @@ -25,23 +24,23 @@ export default class AuthSection extends AbstractComponent { } showAdvanced = () => { - this.mergeState({showAdvanced: true}); + this.setState({showAdvanced: true}); } onSignInPress = () => { - this.mergeState({signingIn: true, signInButtonText: "Generating Keys..."}); + this.setState({signingIn: true, signInButtonText: "Generating Keys..."}); this.props.onSignInPress(this.state, (success) => { if(!success) { - this.mergeState({signingIn: false, signInButtonText: DEFAULT_SIGN_IN_TEXT}); + this.setState({signingIn: false, signInButtonText: DEFAULT_SIGN_IN_TEXT}); } }) } onRegisterPress = () => { - this.mergeState({registering: true, registerButtonText: "Generating Keys..."}); + this.setState({registering: true, registerButtonText: "Generating Keys..."}); this.props.onRegisterPress(this.state, (success) => { if(!success) { - this.mergeState({registering: false, registerButtonText: DEFAULT_REGISTER_TEXT}); + this.setState({registering: false, registerButtonText: DEFAULT_REGISTER_TEXT}); } }) } diff --git a/src/lib/keysManager.js b/src/lib/keysManager.js index d19d417a..06aefcf7 100644 --- a/src/lib/keysManager.js +++ b/src/lib/keysManager.js @@ -54,7 +54,7 @@ export default class KeysManager { async loadInitialData() { this.stateObserver = ApplicationState.get().addStateObserver((state) => { - if(state == ApplicationState.Unlocking || state == ApplicationState.ThemeChangeBegin) { + if(state == ApplicationState.Unlocking) { this.updateScreenshotPrivacy(); } }) diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index b42c3d6d..19e8f69c 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -5,6 +5,7 @@ import ApplicationState from "../ApplicationState"; import HeaderTitleView from "../components/HeaderTitleView" import HeaderButtons, { HeaderButton, Item } from 'react-navigation-header-buttons'; import Icon from 'react-native-vector-icons/Ionicons'; +import ThemedComponent from "@Components/ThemedComponent"; const IoniconsHeaderButton = passMeFurther => ( // the `passMeFurther` variable here contains props from as well as @@ -13,7 +14,7 @@ const IoniconsHeaderButton = passMeFurther => ( ); -export default class Abstract extends Component { +export default class Abstract extends ThemedComponent { static getDefaultNavigationOptions = ({ navigation, navigationOptions, templateOptions }) => { // templateOptions allow subclasses to specifiy things they want to display in nav bar before it actually loads. @@ -22,7 +23,9 @@ export default class Abstract extends Component { let options = { headerTitle:, headerStyle: { - backgroundColor: StyleKit.variable("stylekitBackgroundColor") + backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor, + borderBottomColor: StyleKit.variables.stylekitContrastBorderColor, + borderBottomWidth: 1 }, headerTintColor: StyleKit.variable("stylekitInfoColor") } @@ -82,10 +85,17 @@ export default class Abstract extends Component { this.lockContent(); } }) + } - this.themeChangeObserver = StyleKit.get().addThemeChangeObserver(() => { - this.forceUpdate(); - }); + onThemeChange() { + super.onThemeChange(); + try { + // Navigator doesnt really use activeTheme. We pass it here just as a way to trigger + // navigationOptions to reload. + this.props.navigation.setParams({activeTheme: StyleKit.get().activeTheme}); + } catch { + + } } componentWillUnmount() { @@ -94,7 +104,6 @@ export default class Abstract extends Component { for(var listener of this.listeners) { listener.remove(); } - StyleKit.get().removeThemeChangeObserver(this.themeChangeObserver); ApplicationState.get().removeStateObserver(this._stateObserver); this.componentDidBlur(); // This is not called automatically when the component unmounts. https://github.com/react-navigation/react-navigation/issues/4003 } diff --git a/src/screens/Notes.js b/src/screens/Notes.js index b52faee3..77c27eb8 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes.js @@ -31,8 +31,6 @@ export default class Notes extends Abstract { constructor(props) { super(props); - this.loadStyles(); - this.rendersLockscreen = true; props.navigation.setParams({ diff --git a/src/screens/SideMenu/SideMenu.js b/src/screens/SideMenu/SideMenu.js index 17061122..7f22b582 100644 --- a/src/screens/SideMenu/SideMenu.js +++ b/src/screens/SideMenu/SideMenu.js @@ -28,7 +28,6 @@ export default class SideMenu extends Abstract { constructor(props) { super(props); - this.loadStyles(); this.constructState({}); this.state = {}; } @@ -137,7 +136,7 @@ export default class SideMenu extends Abstract { - + diff --git a/src/screens/SideMenu/SideMenuCell.js b/src/screens/SideMenu/SideMenuCell.js index ba397cb7..9e26e977 100644 --- a/src/screens/SideMenu/SideMenuCell.js +++ b/src/screens/SideMenu/SideMenuCell.js @@ -1,18 +1,13 @@ import React, { Component } from 'react'; import { ScrollView, View, Text, TouchableOpacity } from 'react-native'; import Icon from 'react-native-vector-icons/Ionicons'; +import ThemedComponent from "@Components/ThemedComponent"; import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" import Circle from "@Components/Circle" -export default class SideMenuCell extends Component { - - constructor(props) { - super(props); - this.loadStyles(); - this.updateStyles(); - } +export default class SideMenuCell extends ThemedComponent { componentDidUpdate() { this.updateStyles(); diff --git a/src/screens/SideMenu/SideMenuHero.js b/src/screens/SideMenu/SideMenuHero.js index c4627aba..06fab9c5 100644 --- a/src/screens/SideMenu/SideMenuHero.js +++ b/src/screens/SideMenu/SideMenuHero.js @@ -4,13 +4,10 @@ import Icon from 'react-native-vector-icons/Ionicons'; import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" +import ThemedComponent from "@Components/ThemedComponent"; -export default class SideMenuHero extends Component { - constructor(props) { - super(props); - this.loadStyles(); - } +export default class SideMenuHero extends ThemedComponent { render() { return ( diff --git a/src/screens/SideMenu/SideMenuSection.js b/src/screens/SideMenu/SideMenuSection.js index 12186ba6..82f62a99 100644 --- a/src/screens/SideMenu/SideMenuSection.js +++ b/src/screens/SideMenu/SideMenuSection.js @@ -5,8 +5,9 @@ import Icon from 'react-native-vector-icons/Ionicons'; import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" import SideMenuCell from "@SideMenu/SideMenuCell" +import ThemedComponent from "@Components/ThemedComponent"; -export default class SideMenuSection extends Component { +export default class SideMenuSection extends ThemedComponent { static BuildOption({text, key, iconDesc, dimmed, selected, onSelect, onLongPress}) { return { text, key, iconDesc, dimmed, selected, onSelect, onLongPress }; @@ -14,7 +15,6 @@ export default class SideMenuSection extends Component { constructor(props) { super(props); - this.loadStyles(); this.state = {collapsed: props.collapsed}; } diff --git a/src/style/CSSParser.js b/src/style/CSSParser.js index 6208577d..4b139abc 100644 --- a/src/style/CSSParser.js +++ b/src/style/CSSParser.js @@ -1,7 +1,8 @@ +const GenericVarPrefix = "--"; const StylekitPrefix = "--sn-stylekit"; const StylekitPrefixToBurn = "--sn-"; -class CSSParser { +export default class CSSParser { /* @param css: CSS file contents in string format */ @@ -11,9 +12,14 @@ class CSSParser { for(var line of lines) { line = line.trim(); - if(line.startsWith(StylekitPrefix)) { + if(line.startsWith(GenericVarPrefix)) { // Remove initial "--" - line = line.slice(StylekitPrefixToBurn.length, line.length); + if(line.startsWith(StylekitPrefix)) { + line = line.slice(StylekitPrefixToBurn.length, line.length); + } else { + // Not all vars start with --sn-stylekit. e.g --background-color + line = line.slice(GenericVarPrefix.length, line.length); + } let parts = line.split(":"); let key = parts[0].trim(); let value = parts[1].trim();; @@ -38,7 +44,12 @@ class CSSParser { let from = stripValue.length; let to = value.indexOf(")"); let varName = value.slice(from, to); - varName = varName.slice(StylekitPrefixToBurn.length, varName.length); + if(varName.startsWith(StylekitPrefix)) { + varName = varName.slice(StylekitPrefixToBurn.length, varName.length); + } else { + // Not all vars start with --sn-stylekit. e.g --background-color + varName = varName.slice(GenericVarPrefix.length, varName.length); + } varName = this.hyphenatedStringToCamelCase(varName); object[key] = object[varName]; } diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 729659b3..57509161 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -2,6 +2,7 @@ import { StyleSheet, StatusBar, Alert, Platform, Dimensions } from 'react-native import ModelManager from "../lib/sfjs/modelManager" import Server from "../lib/sfjs/httpManager" import Sync from '../lib/sfjs/syncManager' +import { SFItemParams } from 'standard-file-js'; import Storage from "../lib/sfjs/storageManager" import Auth from "../lib/sfjs/authManager" import KeysManager from '../lib/keysManager' @@ -61,9 +62,9 @@ export default class StyleKit { // When downloading an external theme, we can't depend on it having all the variables present. // So we will merge them with this template variable list to make sure the end result has all - // variables the app expects. + // variables the app expects. Return a copy as the result may be modified before use. templateVariables() { - return redJSON; + return _.clone(redJSON); } createDefaultThemes() { @@ -81,93 +82,88 @@ export default class StyleKit { for(var option of options) { let variables = option.variables; + variables.statusBar = Platform.OS == "android" ? "light-content" : "dark-content"; let theme = new SNTheme({ uuid: option.name, content: { isSystemTheme: true, name: option.name, + variables: variables, + package_info: { + dock_icon: { + type: "circle", + background_color: variables.stylekitInfoColor, + border_color: variables.stylekitInfoColor + } + } } }); - theme.setMobileRules({ - name: option.name, - rules: this.defaultRules(variables), - variables: variables, - statusBar: Platform.OS == "android" ? "light-content" : "dark-content" - }) - this.systemThemes.push(theme); } } async resolveInitialTheme() { - let runDefaultTheme = () => { - var theme = this.systemThemes[0]; + let runDefaultTheme = async () => { + let theme; + let savedSystemThemeId = await Storage.get().getItem("savedSystemThemeId"); + if(savedSystemThemeId) { + theme = this.systemThemes.find((candidate) => candidate.uuid == savedSystemThemeId); + } else { + theme = this.systemThemes[0]; + } theme.setMobileActive(true); this.setActiveTheme(theme); } // Get the active theme from storage rather than waiting for local database to load - var themeResult = await Storage.get().getItem("activeTheme"); + var themeResult = await Storage.get().getItem("savedTheme"); if(!themeResult) { - runDefaultTheme(); - return; + return runDefaultTheme(); } // JSON stringified content is generic and includes all items property at time of stringification // So we parse it, then set content to itself, so that the mapping can be handled correctly. try { var parsedTheme = JSON.parse(themeResult); - var needsMigration = false; - if(parsedTheme.mobileRules) { - // Newer versions of the app persist a Theme object where mobileRules are nested in AppData. - // We want to check if the currently saved data is of the old format, which uses theme.mobileRules - // instead of theme.getMobileRules(). If so, we want to prepare it for the new format. - needsMigration = true; - } - let content = Object.assign({}, parsedTheme); - parsedTheme.content = content; - var theme = new SNTheme(parsedTheme); - if(needsMigration) { - theme.setMobileRules(parsedTheme.mobileRules); - theme.mobileRules = null; - } - theme.isSwapIn = true; this.setActiveTheme(theme); } catch (e) { console.error("Error parsing initial theme", e); - runDefaultTheme(); + return runDefaultTheme(); } } static variable(name) { - return this.get().activeTheme.getMobileRules().variables[name]; + return this.get().activeTheme.content.variables[name]; } static get variables() { - return this.get().activeTheme.getMobileRules().variables; + return this.get().activeTheme.content.variables; } static styles() { - return this.get().activeTheme.getMobileRules(); + return this.get().styles; } static stylesForKey(key) { - var rules = this.styles(); - var styles = [rules[key]]; + var allStyles = this.styles(); + var styles = [allStyles[key]]; var platform = Platform.OS == "android" ? "Android" : "IOS"; - var platformRules = rules[key+platform]; - if(platformRules) { - styles.push(platformRules); + var platformStyles = allStyles[key+platform]; + if(platformStyles) { + styles.push(platformStyles); } return styles; } themes() { - return this.systemThemes.concat(ModelManager.get().themes); + let themes = ModelManager.get().themes.sort((a, b) => { + return a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1; + }); + return this.systemThemes.concat(themes); } isThemeActive(theme) { @@ -179,12 +175,13 @@ export default class StyleKit { setActiveTheme(theme) { // merge default variables in case these theme has variables that are missing - let mobileRules = theme.getMobileRules(); - mobileRules.variables = _.merge(this.templateVariables(), mobileRules.variables); - theme.setMobileRules(mobileRules); + let variables = theme.content.variables; + theme.content.variables = _.merge(this.templateVariables(), variables); this.activeTheme = theme; + this.reloadStyles(); + Icons.get().loadIcons(); this.notifyObserversOfThemeChange(); @@ -195,28 +192,43 @@ export default class StyleKit { this.activeTheme.setMobileActive(false); } - var performActivation = () => { + var performActivation = async () => { this.setActiveTheme(theme); theme.setMobileActive(true); if(theme.content.isSystemTheme) { - Storage.get().setItem("activeSystemTheme", theme.name); - Storage.get().removeItem("activeTheme"); + Storage.get().setItem("savedSystemThemeId", theme.uuid); + Storage.get().removeItem("savedTheme"); } else if(writeToStorage) { - Storage.get().setItem("activeTheme", JSON.stringify(theme)); + let transformer = new SFItemParams(theme); + let params = await transformer.paramsForLocalStorage(); + Storage.get().setItem("savedTheme", JSON.stringify(params)); + Storage.get().removeItem("savedSystemThemeId"); } - - // App.get().reload(); } - if(!theme.hasMobileRules()) { - ThemeDownloader.get().downloadTheme(theme).then(() => { - if(theme.getNotAvailOnMobile()) { + // Theme may have been downloaded before stylekit changes. So if it doesn't have the info color, + // it needs to be refreshed + let hasValidInfoColor = theme.content.variables && theme.content.variables.stylekitInfoColor; + if(!hasValidInfoColor) { + ThemeDownloader.get().downloadTheme(theme).then((variables) => { + if(!variables) { Alert.alert("Not Available", "This theme is not available on mobile."); - } else { - Sync.get().sync(); - performActivation(); + return; + } + + if(variables !== theme.content.variables) { + theme.content.variables = variables; + theme.setDirty(true); + } + + if(theme.getNotAvailOnMobile()) { + theme.setNotAvailOnMobile(false); + theme.setDirty(true); } + + Sync.get().sync(); + performActivation(); }); } else { performActivation(); @@ -239,10 +251,11 @@ export default class StyleKit { (D_HEIGHT === X_WIDTH && D_WIDTH === X_HEIGHT)); } - defaultRules(variables) { + reloadStyles() { + let variables = this.activeTheme.content.variables; let mainTextFontSize = 16; let paddingLeft = 14; - return { + this.styles = { container: { height: "100%", }, diff --git a/src/style/ThemeDownloader.js b/src/style/ThemeDownloader.js index 05c03b01..04dd4443 100644 --- a/src/style/ThemeDownloader.js +++ b/src/style/ThemeDownloader.js @@ -33,31 +33,18 @@ export default class ThemeDownloader { return; } - if(url.includes("?")) { - url = url.replace("?", ".json?"); - } else if(url.includes(".css?")) { - url = url.replace(".css?", ".json?"); - } else { - url = url + ".json"; - } - if(ApplicationState.isAndroid && url.includes("localhost")) { url = url.replace("localhost", "10.0.2.2"); } - return Server.get().getAbsolute(url, {}, function(response){ - // success - if(response !== theme.getMobileRules()) { - theme.setMobileRules(response); - theme.setDirty(true); - } - - if(theme.getNotAvailOnMobile()) { - theme.setNotAvailOnMobile(false); - theme.setDirty(true); - } - }, function(response) { - errorBlock(response); + return new Promise((resolve, reject) => { + Server.get().getAbsolute(url, {}, (response) => { + let variables = CSSParser.cssToObject(response); + resolve(variables); + }, (response) => { + resolve(null); + }) }) + } } From 4414469ab3a6014972b7d9c7c1a89e69a0c847dc Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 30 Dec 2018 17:21:39 -0600 Subject: [PATCH 015/131] Editor selection --- src/app.js | 4 +- src/containers/NoteCell.js | 69 ++++++++++-------------- src/lib/componentManager.js | 27 ++++++++-- src/lib/itemActionManager.js | 2 + src/screens/Compose.js | 41 +++++++++----- src/screens/NoteOptions.js | 53 ------------------ src/screens/SideMenu/NoteSideMenu.js | 72 ++++++++++++++++++------- src/screens/SideMenu/SideMenuCell.js | 2 +- src/screens/SideMenu/SideMenuManager.js | 1 + src/style/ActionSheetWrapper.js | 54 +++++++++++++++++++ 10 files changed, 196 insertions(+), 129 deletions(-) create mode 100644 src/style/ActionSheetWrapper.js diff --git a/src/app.js b/src/app.js index 9d73d0b5..e6054d1d 100644 --- a/src/app.js +++ b/src/app.js @@ -159,6 +159,8 @@ export default class App extends Component { return null; } - return ; + return ( + + ) } } diff --git a/src/containers/NoteCell.js b/src/containers/NoteCell.js index 001df628..ce889b99 100644 --- a/src/containers/NoteCell.js +++ b/src/containers/NoteCell.js @@ -3,6 +3,7 @@ import { StyleSheet, View, Text, TouchableWithoutFeedback } from 'react-native'; import Icon from 'react-native-vector-icons/Ionicons'; import StyleKit from "../style/StyleKit" import ActionSheet from 'react-native-actionsheet' +import ActionSheetWrapper from "@Style/ActionSheetWrapper" import ItemActionManager from '../lib/itemActionManager' import ThemedPureComponent from "@Components/ThemedPureComponent"; @@ -47,41 +48,37 @@ export default class NoteCell extends ThemedPureComponent { } } - static ActionSheetCancelIndex = 0; - static ActionSheetDestructiveIndex = 4; - - actionSheetActions() { - var pinAction = this.props.item.pinned ? "Unpin" : "Pin"; - let pinEvent = pinAction == "Pin" ? ItemActionManager.PinEvent : ItemActionManager.UnpinEvent; - - var archiveOption = this.props.item.archived ? "Unarchive" : "Archive"; - let archiveEvent = archiveOption == "Archive" ? ItemActionManager.ArchiveEvent : ItemActionManager.UnarchiveEvent; - - return [ - ['Cancel', ""], - [pinAction, pinEvent], - [archiveOption, archiveEvent], - ['Share', ItemActionManager.ShareEvent], - ['Delete', ItemActionManager.DeleteEvent] - ]; - } - showActionSheet = () => { - this.actionSheet.show(); - } - - handleActionSheetPress = (index) => { - if(index == 0) { - return; + let callbackForOption = (option) => { + ItemActionManager.handleEvent(option.key, this.props.item, () => { + this.forceUpdate(); + }, () => { + // afterConfirmCallback + // We want to show "Deleting.." on top of note cell after the user confirms the dialogue + this.forceUpdate(); + }); } - ItemActionManager.handleEvent(this.actionSheetActions()[index][1], this.props.item, () => { - this.forceUpdate(); - }, () => { - // afterConfirmCallback - // We want to show "Deleting.." on top of note cell after the user confirms the dialogue - this.forceUpdate(); + var pinLabel = this.props.item.pinned ? "Unpin" : "Pin"; + let pinEvent = pinLabel == "Pin" ? ItemActionManager.PinEvent : ItemActionManager.UnpinEvent; + + var archiveLabel = this.props.item.archived ? "Unarchive" : "Archive"; + let archiveEvent = archiveLabel == "Archive" ? ItemActionManager.ArchiveEvent : ItemActionManager.UnarchiveEvent; + + let sheet = new ActionSheetWrapper({ + title: this.props.item.safeTitle(), + options: [ + ActionSheetWrapper.BuildOption({text: pinLabel, key: pinEvent, callback: callbackForOption}), + ActionSheetWrapper.BuildOption({text: archiveLabel, key: archiveEvent, callback: callbackForOption}), + ActionSheetWrapper.BuildOption({text: "Share", key: ItemActionManager.ShareEvent, callback: callbackForOption}), + ActionSheetWrapper.BuildOption({text: "Delete", key: ItemActionManager.DeleteEvent, destructive: true, callback: callbackForOption}), + ], onCancel: () => { + this.setState({actionSheet: null}); + } }); + + this.setState({actionSheet: sheet.actionSheetElement()}); + sheet.show(); } render() { @@ -150,15 +147,7 @@ export default class NoteCell extends ThemedPureComponent { } - this.actionSheet = o} - title={note.safeTitle()} - options={this.actionSheetActions().map((action) => {return action[0]})} - cancelButtonIndex={NoteCell.ActionSheetCancelIndex} - destructiveButtonIndex={NoteCell.ActionSheetDestructiveIndex} - onPress={this.handleActionSheetPress} - {...StyleKit.actionSheetStyles()} - /> + {this.state.actionSheet && this.state.actionSheet} ) diff --git a/src/lib/componentManager.js b/src/lib/componentManager.js index e2e56605..03460570 100644 --- a/src/lib/componentManager.js +++ b/src/lib/componentManager.js @@ -366,6 +366,14 @@ export default class ComponentManager { this.sendMessageToComponent(component, {action: "themes", data: data}) } + getEditors() { + return this.componentsForArea("editor-editor"); + } + + getDefaultEditor() { + return this.getEditors().filter((e) => {return e.content.isMobileDefault})[0]; + } + editorForNote(note) { let editors = ModelManager.get().validItemsForContentType("SN|Component").filter(function(component){ return component.area == "editor-editor"; @@ -376,6 +384,17 @@ export default class ComponentManager { return editor; } } + + // No editor found for note. Use default editor, if note does not prefer system editor + if(!note.content.mobilePrefersPlainEditor) { + return editors.filter((e) => {return e.content.isMobileDefault})[0]; + } + } + + setEditorAsMobileDefault(editor, isDefault) { + editor.content.isMobileDefault = isDefault; + editor.setDirty(true); + Sync.get().sync(); } associateEditorWithNote(editor, note) { @@ -392,8 +411,8 @@ export default class ComponentManager { } if(editor) { - if(note.getAppDataItem("prefersPlainEditor") == true) { - note.setAppDataItem("prefersPlainEditor", false); + if(note.content.mobilePrefersPlainEditor == true) { + note.content.mobilePrefersPlainEditor = false; note.setDirty(true); } @@ -406,8 +425,8 @@ export default class ComponentManager { editor.setDirty(true); } else { // Note prefers plain editor - if(!note.getAppDataItem("prefersPlainEditor")) { - note.setAppDataItem("prefersPlainEditor", true); + if(!note.content.mobilePrefersPlainEditor) { + note.content.mobilePrefersPlainEditor = true; note.setDirty(true); } } diff --git a/src/lib/itemActionManager.js b/src/lib/itemActionManager.js index cac55b01..7d81c0e1 100644 --- a/src/lib/itemActionManager.js +++ b/src/lib/itemActionManager.js @@ -23,6 +23,8 @@ export default class ItemActionManager { static handleEvent(event, item, callback, afterConfirmCallback) { + console.log("Handling event", event); + if(event == this.DeleteEvent) { var title = `Delete ${item.displayName}`; var message = `Are you sure you want to delete this ${item.displayName.toLowerCase()}?`; diff --git a/src/screens/Compose.js b/src/screens/Compose.js index f354fced..3709293d 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -50,11 +50,15 @@ export default class Compose extends Abstract { if(noteId) { note = ModelManager.get().findItem(noteId);} if(!note) { note = ModelManager.get().createItem({content_type: "Note", dummy: true, text: ""}); - // We needed to add the item originally for default editors to work, but default editors was removed - // So the only way to select an editor is to make a change to the note, which will add it. - // The problem with adding it here is that if you open Compose and close it without making changes, it will save an empty note. - // ModelManager.get().addItem(note); note.dummy = true; + // Editors need a valid note with uuid and modelmanager mapped in order to interact with it + // Note that this can create dummy notes that aren't deleted automatically. + // Also useful to keep right menu enabled at all times. If the note has a uuid and is a dummy, + // it will be removed locally on blur + note.initUUID().then(() => { + ModelManager.get().addItem(note); + this.forceUpdate(); + }) } this.note = note; @@ -99,8 +103,7 @@ export default class Compose extends Abstract { iconName: "ios-menu-outline", onPress: () => { this.props.navigation.openRightDrawer(); - }, - disabled: !this.note.uuid + } } }) } @@ -117,10 +120,6 @@ export default class Compose extends Abstract { componentWillFocus() { super.componentWillFocus(); - if(this.needsEditorReload) { - this.forceUpdate(); - this.needsEditorReload = false; - } if(this.note.dirty) { // We want the "Saving..." / "All changes saved..." subtitle to be visible to the user, so we delay @@ -149,8 +148,17 @@ export default class Compose extends Abstract { } SideMenuManager.get().setHandlerForRightSideMenu({ + getCurrentNote: () => { + return this.note + }, onEditorSelect: (editor) => { - this.needsEditorReload = true; + if(editor) { + ComponentManager.get().associateEditorWithNote(editor, this.note); + } else { + ComponentManager.get().clearEditorForNote(this.note); + } + this.forceUpdate(); + this.props.navigation.closeRightDrawer(); }, onTagSelect: (tag) => { let selectedTags = this.note.tags; @@ -172,6 +180,14 @@ export default class Compose extends Abstract { }) } + componentWillBlur() { + super.componentWillBlur(); + if(this.note.uuid && this.note.dummy) { + // A dummy note created to work with default external editor. Safe to delete. + ModelManager.get().removeItemLocally(this.note); + } + } + componentDidBlur() { super.componentDidBlur(); @@ -312,7 +328,8 @@ export default class Compose extends Abstract { var noteEditor = ComponentManager.get().editorForNote(this.note); let windowWidth = this.state.windowWidth || Dimensions.get('window').width; - var shouldDisplayEditor = noteEditor != null; + // If new note with default editor, note.uuid may not be ready + var shouldDisplayEditor = noteEditor != null && this.note.uuid; return ( diff --git a/src/screens/NoteOptions.js b/src/screens/NoteOptions.js index 0e675b19..85abc22c 100644 --- a/src/screens/NoteOptions.js +++ b/src/screens/NoteOptions.js @@ -173,32 +173,11 @@ export default class NoteOptions extends Abstract { }) } - onEditorSelect = (editor) => { - if(editor) { - ComponentManager.get().associateEditorWithNote(editor, this.note); - } else { - ComponentManager.get().clearEditorForNote(this.note); - } - - this.getProp("onEditorSelect") && this.getProp("onEditorSelect")(editor); - this.dismiss(); - } - - getEditors() { - return ModelManager.get().validItemsForContentType("SN|Component").filter((component) => { - return component.area == "editor-editor"; - }) - } - clearTags = (close) => { this.setSelectedTags([]); if(close) { this.dismiss(); } } - openExternalEditorsLink() { - Linking.openURL("https://standardnotes.org/extensions"); - } - render() { var viewStyles = [StyleKit.styles().container]; @@ -221,9 +200,6 @@ export default class NoteOptions extends Abstract { var lockOption = this.note.locked ? "Unlock" : "Lock"; let lockEvent = lockOption == "Lock" ? ItemActionManager.LockEvent : ItemActionManager.UnlockEvent; - let editors = this.getEditors(); - let selectedEditor = ComponentManager.get().editorForNote(this.note); - return ( @@ -267,35 +243,6 @@ export default class NoteOptions extends Abstract { /> - - {this.onEditorSelect(null)}} - /> - {editors.map((editor, i) => { - return ( - {this.onEditorSelect(editor)}} - text={editor.name} - key={editor.uuid} - first={i == 0} - selected={() => {return editor == selectedEditor}} - buttonCell={true} - /> - ) - })} - - {editors.length == 0 && - {this.openExternalEditorsLink()}} - text={"Get Editors →"} - first={true} - buttonCell={true} - /> - } - - { - this.handler.onEditorSelect(editor) + this.handler.onEditorSelect(editor); + this.forceUpdate(); } onTagSelect = (tag) => { @@ -44,32 +46,65 @@ export default class NoteSideMenu extends Abstract { this.forceUpdate(); } + get note() { + return this.handler.getCurrentNote(); + } - /* - Render - */ + onEditorLongPress = (editor) => { + let currentDefaultEDitor = ComponentManager.get().getDefaultEditor(); + let isDefault = false; + if(!editor) { + // System editor + if(currentDefaultEDitor) { + isDefault = false; + } + } else { + isDefault = editor.content.isMobileDefault; + } - iconDescriptorForEditor = (editor) => { - let desc = { - type: "circle", - side: "right", - backgroundColor: "red", - borderColor: "red" - }; + let action = isDefault ? "Remove as Default Editor" : "Set as Default Editor"; + let sheet = new ActionSheetWrapper({ + title: editor && editor.name, + options: [ + ActionSheetWrapper.BuildOption({text: action, callback: () => { + if(!editor) { + // Default to plain + ComponentManager.get().setEditorAsMobileDefault(currentDefaultEDitor, false); + } else { + ComponentManager.get().setEditorAsMobileDefault(editor, !isDefault); + } + }}), + ], onCancel: () => { + this.setState({actionSheet: null}); + } + }); - return desc; + this.setState({actionSheet: sheet.actionSheetElement()}); + sheet.show(); } + /* + Render + */ + buildOptionsForEditors() { - let editors = []; // TODO - let options = []; - for(var editor of editors) { + let editors = ComponentManager.get().getEditors(); + let selectedEditor = ComponentManager.get().editorForNote(this.note); + let options = [{ + text: "Plain Editor", + key: "plain-editor", + selected: !selectedEditor, + onSelect: () => {this.onEditorSelect(null)}, + onLongPress: () => {this.onEditorLongPress(null)} + }]; + + for(let editor of editors) { let option = SideMenuSection.BuildOption({ text: editor.name, key: editor.uuid || editor.name, - iconDesc: this.iconDescriptorForEditor(editor), - selected: editor.active, + selected: editor == selectedEditor, onSelect: () => {this.onEditorSelect(editor)}, + onLongPress: () => {this.onEditorLongPress(editor)} }) options.push(option); @@ -115,6 +150,7 @@ export default class NoteSideMenu extends Abstract { + {this.state.actionSheet && this.state.actionSheet} ); } diff --git a/src/screens/SideMenu/SideMenuCell.js b/src/screens/SideMenu/SideMenuCell.js index 9e26e977..5af93865 100644 --- a/src/screens/SideMenu/SideMenuCell.js +++ b/src/screens/SideMenu/SideMenuCell.js @@ -65,7 +65,7 @@ export default class SideMenuCell extends ThemedComponent { } render() { - let iconSide = this.props.iconDesc.side ? this.props.iconDesc.side : "left"; + let iconSide = (this.props.iconDesc && this.props.iconDesc.side) ? this.props.iconDesc.side : "left"; return ( { + return candidate.destructive; + })) + this.cancelIndex = this.options.length - 1; + this.title = title; + } + + show() { + this.actionSheet.show(); + } + + handleActionSheetPress = (index) => { + console.log("handleActionSheetPress", index); + + let option = this.options[index]; + option.callback && option.callback(option); + } + + actionSheetElement() { + return ( + this.actionSheet = o} + title={this.title} + options={this.options.map((option) => {return option.text})} + cancelButtonIndex={this.cancelIndex} + destructiveButtonIndex={this.destructiveIndex} + onPress={this.handleActionSheetPress} + {...StyleKit.actionSheetStyles()} + /> + ) + } + +} From 4b1fc847af8f9f450492de318286ac784ca53a85 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 31 Dec 2018 01:16:29 -0600 Subject: [PATCH 016/131] Override shouldComponentUpdate for side menus to improve performance --- src/screens/Abstract.js | 9 ++++++++ src/screens/SideMenu/AbstractSideMenu.js | 26 ++++++++++++++++++++++++ src/screens/SideMenu/NoteSideMenu.js | 4 ++-- src/screens/SideMenu/SideMenu.js | 4 ++-- 4 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 src/screens/SideMenu/AbstractSideMenu.js diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 19e8f69c..2faf1589 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -215,4 +215,13 @@ export default class Abstract extends ThemedComponent { */ this.props.navigation.goBack(null); } + + static IsShallowEqual = (newObj, prevObj, keys) => { + for(var key of keys) { + if(newObj[key] !== prevObj[key]) { + return false; + } + } + return true; + } } diff --git a/src/screens/SideMenu/AbstractSideMenu.js b/src/screens/SideMenu/AbstractSideMenu.js new file mode 100644 index 00000000..404335c7 --- /dev/null +++ b/src/screens/SideMenu/AbstractSideMenu.js @@ -0,0 +1,26 @@ +import React, { Component, Fragment } from 'react'; +import Abstract from "@Screens/Abstract" + +export default class AbstractSideMenu extends Abstract { + + shouldComponentUpdate(nextProps, nextState) { + /* + We had some performance issues with this component rendering too many times when + navigating to unrelated routes, like pushing Compose. It would render 6 times or so, + causing slowdown. We only want to render if there's a difference in drawer related properties. + I've found that when the drawer is about to appear, one of these params will change: "isDrawerIdle", "isDrawerOpen", "isTransitioning" + */ + let newNavigationState = nextProps.navigation.state; + let currentNavigationState = this.props.navigation.state; + + // When navigating to Compose from Notes, we don't want this to render. I've found that the drawerMovementDirection is + // set to 'closing' in this circumstance. + if(newNavigationState.drawerMovementDirection == "closing" || currentNavigationState.drawerMovementDirection == "closing") { + return false; + } + let isSame = Abstract.IsShallowEqual(newNavigationState, currentNavigationState, ["isDrawerIdle", "isDrawerOpen", "isTransitioning"]) + return !isSame; + } + + +} diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 64f6ee04..1af8a5b5 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -23,12 +23,12 @@ import SideMenuSection from "@SideMenu/SideMenuSection" import TagSelectionList from "@SideMenu/TagSelectionList" import ApplicationState from "@Root/ApplicationState"; +import AbstractSideMenu from "@SideMenu/AbstractSideMenu" -export default class NoteSideMenu extends Abstract { +export default class NoteSideMenu extends AbstractSideMenu { constructor(props) { super(props); - this.loadStyles(); this.constructState({}); } diff --git a/src/screens/SideMenu/SideMenu.js b/src/screens/SideMenu/SideMenu.js index 7f22b582..2cc497f3 100644 --- a/src/screens/SideMenu/SideMenu.js +++ b/src/screens/SideMenu/SideMenu.js @@ -23,13 +23,13 @@ import TagSelectionList from "@SideMenu/TagSelectionList" import ApplicationState from "@Root/ApplicationState"; import OptionsState from "@Root/OptionsState" +import AbstractSideMenu from "@SideMenu/AbstractSideMenu" -export default class SideMenu extends Abstract { +export default class SideMenu extends AbstractSideMenu { constructor(props) { super(props); this.constructState({}); - this.state = {}; } presentSettings() { From 73c691365aa401f4219f094ba864d2511388204d Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 31 Dec 2018 13:43:54 -0600 Subject: [PATCH 017/131] Smart tags --- src/OptionsState.js | 9 +-- src/lib/sfjs/modelManager.js | 98 ++++++++++++++++++++---- src/screens/Compose.js | 5 +- src/screens/Notes.js | 10 +-- src/screens/Settings.js | 7 -- src/screens/SideMenu/NoteSideMenu.js | 2 +- src/screens/SideMenu/SideMenu.js | 13 ++-- src/screens/SideMenu/SideMenuSection.js | 8 +- src/screens/SideMenu/TagSelectionList.js | 10 ++- 9 files changed, 112 insertions(+), 50 deletions(-) diff --git a/src/OptionsState.js b/src/OptionsState.js index 9b791e1c..084cdabe 100644 --- a/src/OptionsState.js +++ b/src/OptionsState.js @@ -99,7 +99,6 @@ export default class OptionsState { rebuildOptions() { this.displayOptions = { - archivedOnly: this.getDisplayOptionValue("archivedOnly"), hidePreviews: this.getDisplayOptionValue("hidePreviews"), hideTags: this.getDisplayOptionValue("hideTags"), hideDates: this.getDisplayOptionValue("hideDates") @@ -107,9 +106,7 @@ export default class OptionsState { } getDisplayOptionValue(key) { - if(key == "archivedOnly") { - return this.archivedOnly; - } else if(key == "hidePreviews") { + if(key == "hidePreviews") { return this.hidePreviews; } else if(key == "hideDates") { return this.hideDates; @@ -119,9 +116,7 @@ export default class OptionsState { } setDisplayOptionKeyValue(key, value) { - if(key == "archivedOnly") { - this.archivedOnly = value; - } else if(key == "hidePreviews") { + if(key == "hidePreviews") { this.hidePreviews = value; } else if(key == "hideDates") { this.hideDates = value; diff --git a/src/lib/sfjs/modelManager.js b/src/lib/sfjs/modelManager.js index d7aa2f13..d26161ec 100644 --- a/src/lib/sfjs/modelManager.js +++ b/src/lib/sfjs/modelManager.js @@ -1,13 +1,18 @@ import Storage from "./storageManager" import "../../models/extend/item.js"; +import { SFPredicate } from "standard-file-js"; SFModelManager.ContentTypeClassMapping = { "Note" : SNNote, "Tag" : SNTag, + "SN|SmartTag": SNSmartTag, "SN|Theme" : SNTheme, "SN|Component" : SNComponent }; +const SystemSmartTagIdAllNotes = "all-notes"; +const SystemSmartTagIdArchivedNotes = "archived-notes"; + export default class ModelManager extends SFModelManager { static instance = null; @@ -27,7 +32,9 @@ export default class ModelManager extends SFModelManager { this.tags = []; this.themes = []; - this.acceptableContentTypes = ["Note", "Tag", "SN|Theme", "SN|Component"]; + this.acceptableContentTypes = ["Note", "Tag", "SN|SmartTag", "SN|Theme", "SN|Component"]; + + this.buildSystemSmartTags(); } handleSignout() { @@ -78,18 +85,77 @@ export default class ModelManager extends SFModelManager { return Storage.get().deleteModel(item); } + /* Be sure not to use just findItems in your views, because those won't find system smart tags */ + getTagsWithIds(ids) { + let tagMatches = ModelManager.get().findItems(ids); + let smartMatches = this.getSmartTagsWithIds(ids); + return tagMatches.concat(smartMatches); + } + + buildSystemSmartTags() { + this.systemSmartTags = [ + new SNSmartTag({ + uuid: SystemSmartTagIdAllNotes, + content: { + title: "All notes", + isAllTag: true, + predicate: new SFPredicate.fromArray(["content_type", "=", "Note"]) + } + }), + new SNSmartTag({ + uuid: SystemSmartTagIdArchivedNotes, + content: { + title: "Archived", + isArchiveTag: true, + predicate: new SFPredicate.fromArray(["archived", "=", true]) + } + }) + ] + } + + systemSmartTagIds() { + return [ + SystemSmartTagIdAllNotes, + SystemSmartTagIdArchivedNotes + ] + } + + getSmartTagWithId(id) { + return this.getSmartTags().find((candidate) => candidate.uuid == id); + } + + getSmartTagsWithIds(ids) { + return this.getSmartTags().filter((candidate) => ids.includes(candidate.uuid)); + } + + getSmartTags() { + let userTags = this.validItemsForContentType("SN|SmartTag"); + return this.systemSmartTags.concat(userTags); + } + + notesMatchingPredicate(predicate) { + let notePredicate = ["content_type", "=", "Note"]; + // itemsMatchingPredicate can return non-note types + return this.itemsMatchingPredicates([notePredicate, predicate]); + } + getNotes(options = {}) { - var notes; - var tags = []; + let notes, tags = [], selectedSmartTag; // if(options.selectedTagIds && options.selectedTagIds.length > 0 && options.selectedTagIds[0].key !== "all") { - if(options.selectedTagIds && options.selectedTagIds.length > 0) { - tags = ModelManager.get().findItems(options.selectedTagIds); - if(tags.length > 0) { - var taggedNotes = new Set(); - for(var tag of tags) { - taggedNotes = new Set([...taggedNotes, ...new Set(tag.notes)]) + let selectedTagIds = options.selectedTagIds; + if(selectedTagIds && selectedTagIds.length > 0) { + selectedSmartTag = selectedTagIds.length == 1 && this.getSmartTagWithId(selectedTagIds[0]); + if(selectedSmartTag) { + notes = this.notesMatchingPredicate(selectedSmartTag.content.predicate); + } else { + tags = ModelManager.get().findItems(options.selectedTagIds); + if(tags.length > 0) { + var taggedNotes = new Set(); + for(var tag of tags) { + taggedNotes = new Set([...taggedNotes, ...new Set(tag.notes)]) + } + notes = Array.from(taggedNotes); } - notes = Array.from(taggedNotes); } } @@ -107,14 +173,18 @@ export default class ModelManager extends SFModelManager { var sortBy = options.sortBy; - notes = notes.filter(function(note){ + notes = notes.filter((note) => { if(note.deleted) { return false; } - if(options.archivedOnly) { - return note.archived; - } else { + + // If we're not dealing with the system archived tag, then we only want to + // filter for this note if it's not archived. (Hide archived if not archive tag) + let isExplicitlyArchiveTag = selectedSmartTag && selectedSmartTag.content.isArchiveTag; + if(!isExplicitlyArchiveTag) { return !note.archived; + } else { + return note.archived; } }) diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 3709293d..ca48a2f7 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -413,9 +413,10 @@ export default class Compose extends Abstract { noteTitle: { fontWeight: "600", fontSize: 16, - color: StyleKit.variable("stylekitForegroundColor"), + color: StyleKit.variables.stylekitForegroundColor, + backgroundColor: StyleKit.variables.stylekitBackgroundColor, height: 50, - borderBottomColor: StyleKit.variable("stylekitBorderColor"), + borderBottomColor: StyleKit.variables.stylekitBorderColor, borderBottomWidth: 1, paddingTop: Platform.OS === "ios" ? 5 : 12, paddingLeft: padding, diff --git a/src/screens/Notes.js b/src/screens/Notes.js index 77c27eb8..015554cf 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes.js @@ -259,19 +259,15 @@ export default class Notes extends Abstract { var numTags = options.selectedTagIds.length; if(numTags > 0) { - var tags = ModelManager.get().findItems(options.selectedTagIds); + var tags = ModelManager.get().getTagsWithIds(options.selectedTagIds); if(tags.length > 0) { var tag = tags[0]; - notesTitle = tag.title + " notes"; + notesTitle = tag.title; } else { notesTitle = "Notes"; } } - if(options.archivedOnly) { - notesTitle = "Archived Notes"; - } - this.setTitle(notesTitle, null); } @@ -293,7 +289,7 @@ export default class Notes extends Abstract { }, getSelectedTags: () => { let ids = this.options.getSelectedTagIds(); - return ModelManager.get().findItems(ids); + return ModelManager.get().getTagsWithIds(ids); } }) } diff --git a/src/screens/Settings.js b/src/screens/Settings.js index 7cf17742..274fec29 100644 --- a/src/screens/Settings.js +++ b/src/screens/Settings.js @@ -528,13 +528,6 @@ export default class Settings extends Abstract { - {this.onOptionSelect('archivedOnly')}} - text={"Show only archived notes"} - first={true} - selected={() => {return this.options.archivedOnly}} - /> - {this.onOptionSelect('hidePreviews')}} text={"Hide note previews"} diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 1af8a5b5..50c41f24 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -142,7 +142,7 @@ export default class NoteSideMenu extends AbstractSideMenu { - + diff --git a/src/screens/SideMenu/SideMenu.js b/src/screens/SideMenu/SideMenu.js index 2cc497f3..2b8c6762 100644 --- a/src/screens/SideMenu/SideMenu.js +++ b/src/screens/SideMenu/SideMenu.js @@ -42,6 +42,7 @@ export default class SideMenu extends AbstractSideMenu { onTagSelect = (tag) => { this.handler.onTagSelect(tag); + this.forceUpdate(); } onThemeSelect = (theme) => { @@ -136,16 +137,14 @@ export default class SideMenu extends AbstractSideMenu { - + - - + + - - - - + + diff --git a/src/screens/SideMenu/SideMenuSection.js b/src/screens/SideMenu/SideMenuSection.js index 82f62a99..7c71dcec 100644 --- a/src/screens/SideMenu/SideMenuSection.js +++ b/src/screens/SideMenu/SideMenuSection.js @@ -27,7 +27,7 @@ export default class SideMenuSection extends ThemedComponent { render() { let options = this.props.options || []; return ( - + Date: Mon, 31 Dec 2018 23:11:15 -0600 Subject: [PATCH 018/131] Status bar color --- src/lib/sfjs/modelManager.js | 4 +++- src/screens/SideMenu/NoteSideMenu.js | 2 +- src/style/StyleKit.js | 28 ++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/lib/sfjs/modelManager.js b/src/lib/sfjs/modelManager.js index d26161ec..80507dc8 100644 --- a/src/lib/sfjs/modelManager.js +++ b/src/lib/sfjs/modelManager.js @@ -129,7 +129,9 @@ export default class ModelManager extends SFModelManager { } getSmartTags() { - let userTags = this.validItemsForContentType("SN|SmartTag"); + let userTags = this.validItemsForContentType("SN|SmartTag").sort((a, b) => { + return a.content.title < b.content.title ? -1 : 1; + });; return this.systemSmartTags.concat(userTags); } diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 50c41f24..eac67ef8 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -145,7 +145,7 @@ export default class NoteSideMenu extends AbstractSideMenu { - + diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 57509161..95e7a8f4 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -159,6 +159,17 @@ export default class StyleKit { return styles; } + statusBarColorForTheme(theme) { + // The main nav bar uses contrast background color + let luminosity = StyleKit.getColorLuminosity(theme.content.variables.stylekitContrastBackgroundColor); + if(luminosity < 130) { + // is dark color, return white status bar + return "light-content"; + } else { + return "dark-content"; + } + } + themes() { let themes = ModelManager.get().themes.sort((a, b) => { return a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1; @@ -180,6 +191,12 @@ export default class StyleKit { this.activeTheme = theme; + // On Android, a time out is required, especially during app startup + setTimeout(() => { + let statusBarColor = this.statusBarColorForTheme(theme); + StatusBar.setBarStyle(statusBarColor, true); + }, Platform.OS == "android" ? 100 : 0); + this.reloadStyles(); Icons.get().loadIcons(); @@ -477,6 +494,17 @@ export default class StyleKit { } } + static getColorLuminosity(hexCode) { + var c = hexCode; + c = c.substring(1); // strip # + var rgb = parseInt(c, 16); // convert rrggbb to decimal + var r = (rgb >> 16) & 0xff; // extract red + var g = (rgb >> 8) & 0xff; // extract green + var b = (rgb >> 0) & 0xff; // extract blue + + return 0.2126 * r + 0.7152 * g + 0.0722 * b; // per ITU-R BT.709 + } + static shadeBlend(p,c0,c1) { var n=p<0?p*-1:p,u=Math.round,w=parseInt; if(c0.length>7){ From a30d4d87de794bcb4b1bac24c1cb29867b4a15a8 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 31 Dec 2018 23:39:28 -0600 Subject: [PATCH 019/131] Reverse sorting and style constants --- src/OptionsState.js | 11 ++++++-- src/components/SectionHeader.js | 45 ++++++++++++++++++++++++++++----- src/lib/sfjs/modelManager.js | 12 ++++++--- src/screens/Settings.js | 10 ++++++-- src/style/StyleKit.js | 45 +++++++++++---------------------- 5 files changed, 79 insertions(+), 44 deletions(-) diff --git a/src/OptionsState.js b/src/OptionsState.js index 084cdabe..0876947c 100644 --- a/src/OptionsState.js +++ b/src/OptionsState.js @@ -22,6 +22,7 @@ export default class OptionsState { init() { this.selectedTagIds = []; this.sortBy = "created_at"; + this.sortReverse = false; } reset() { @@ -30,11 +31,11 @@ export default class OptionsState { } async loadSaved() { - return Storage.get().getItem("options").then(function(result){ + return Storage.get().getItem("options").then((result) => { _.merge(this, _.omit(JSON.parse(result), ["changeObservers"])); this.rebuildOptions(); this.notifyObservers(); - }.bind(this)) + }) } persist() { @@ -44,6 +45,7 @@ export default class OptionsState { toJSON() { return _.merge({ sortBy: this.sortBy, + sortReverse: this.sortReverse, selectedTagIds: this.selectedTagIds }, this.getDisplayOptionValues()); } @@ -76,6 +78,11 @@ export default class OptionsState { this.notifyObservers(OptionsState.OptionsStateChangeEventSearch); } + setSortReverse(reverse) { + this.sortReverse = reverse; + this.notifyObservers(OptionsState.OptionsStateChangeEventSort); + } + setSortBy(sortBy) { this.sortBy = sortBy; this.notifyObservers(OptionsState.OptionsStateChangeEventSort); diff --git a/src/components/SectionHeader.js b/src/components/SectionHeader.js index 0ee067bf..bb3d596b 100644 --- a/src/components/SectionHeader.js +++ b/src/components/SectionHeader.js @@ -2,22 +2,53 @@ import React, { Component } from 'react'; import {Text, Platform, View, TouchableOpacity} from 'react-native'; import StyleKit from "../style/StyleKit" +import ThemedComponent from "@Components/ThemedComponent" -export default class SectionHeader extends Component { +export default class SectionHeader extends ThemedComponent { render() { var title = this.props.title; - if(Platform.OS == "ios") { - title = title.toUpperCase(); - } + if(Platform.OS == "ios") { title = title.toUpperCase(); } return ( - - {title} + + {title} {this.props.buttonText && - {this.props.buttonText} + {this.props.buttonText} } ) } + + loadStyles() { + this.styles = { + sectionHeaderContainer: { + flex: 1, + flexGrow: 0, + justifyContent: "space-between", + flexDirection: 'row', + paddingRight: StyleKit.constants.paddingLeft, + paddingBottom: 10, + paddingTop: 10, + backgroundColor: StyleKit.variables.stylekitBackgroundColor + }, + + sectionHeader: { + backgroundColor: StyleKit.variables.stylekitBackgroundColor, + fontSize: StyleKit.constants.mainTextFontSize - 4, + paddingLeft: StyleKit.constants.paddingLeft, + color: StyleKit.variables.stylekitNeutralColor, + fontWeight: Platform.OS == "android" ? "bold" : "normal" + }, + + sectionHeaderButton: { + color: StyleKit.variables.stylekitInfoColor + }, + + sectionHeaderAndroid: { + fontSize: StyleKit.constants.mainTextFontSize - 2, + color: StyleKit.variables.stylekitInfoColor + }, + } + } } diff --git a/src/lib/sfjs/modelManager.js b/src/lib/sfjs/modelManager.js index 80507dc8..f53ce085 100644 --- a/src/lib/sfjs/modelManager.js +++ b/src/lib/sfjs/modelManager.js @@ -174,6 +174,7 @@ export default class ModelManager extends SFModelManager { } var sortBy = options.sortBy; + let sortReverse = options.sortReverse; notes = notes.filter((note) => { if(note.deleted) { @@ -203,6 +204,11 @@ export default class ModelManager extends SFModelManager { var bValue = b[sortBy] || ""; let vector = 1; + + if(sortReverse) { + vector *= -1; + } + if(sortBy == "title") { aValue = aValue.toLowerCase(); bValue = bValue.toLowerCase(); @@ -210,11 +216,11 @@ export default class ModelManager extends SFModelManager { if(aValue.length == 0 && bValue.length == 0) { return 0; } else if(aValue.length == 0 && bValue.length != 0) { - return 1; + return 1 * vector; } else if(aValue.length != 0 && bValue.length == 0) { - return -1; + return -1 * vector; } else { - vector = -1; + vector *= -1; } } diff --git a/src/screens/Settings.js b/src/screens/Settings.js index 274fec29..fc86efa3 100644 --- a/src/screens/Settings.js +++ b/src/screens/Settings.js @@ -466,6 +466,11 @@ export default class Settings extends Abstract { this.forceUpdate(); } + toggleSortReverse = () => { + this.options.setSortReverse(!this.options.sortReverse); + this.forceUpdate(); + } + render() { if(this.state.lockContent) { return (); @@ -510,7 +515,7 @@ export default class Settings extends Abstract { - + {this.sortOptions.map((option, i) => { return ( - + {this.onOptionSelect('hidePreviews')}} text={"Hide note previews"} + first={true} selected={() => {return this.options.hidePreviews}} /> diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 95e7a8f4..b872add0 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -29,6 +29,8 @@ export default class StyleKit { constructor() { this.themeChangeObservers = []; + this.buildConstants(); + this.createDefaultThemes(); KeysManager.get().registerAccountRelatedStorageKeys(["activeTheme"]); @@ -144,6 +146,10 @@ export default class StyleKit { return this.get().activeTheme.content.variables; } + static get constants() { + return this.get().constants; + } + static styles() { return this.get().styles; } @@ -270,8 +276,8 @@ export default class StyleKit { reloadStyles() { let variables = this.activeTheme.content.variables; - let mainTextFontSize = 16; - let paddingLeft = 14; + let mainTextFontSize = this.constants.mainTextFontSize; + let paddingLeft = this.constants.paddingLeft; this.styles = { container: { height: "100%", @@ -312,34 +318,6 @@ export default class StyleKit { backgroundColor: variables.stylekitBackgroundColor }, - sectionHeaderContainer: { - flex: 1, - flexGrow: 0, - justifyContent: "space-between", - flexDirection: 'row', - paddingRight: paddingLeft, - paddingBottom: 10, - paddingTop: 10, - backgroundColor: 'rgba(52, 52, 52, 0.0)' - }, - - sectionHeader: { - backgroundColor: "transparent", - fontSize: mainTextFontSize - 4, - paddingLeft: paddingLeft, - color: variables.stylekitNeutralColor, - fontWeight: Platform.OS == "android" ? "bold" : "normal" - }, - - sectionHeaderButton: { - color: variables.stylekitInfoColor - }, - - sectionHeaderAndroid: { - fontSize: mainTextFontSize - 2, - color: variables.stylekitInfoColor - }, - sectionedTableCell: { borderBottomColor: variables.stylekitBorderColor, borderBottomWidth: 1, @@ -473,6 +451,13 @@ export default class StyleKit { } } + buildConstants() { + this.constants = { + mainTextFontSize: 16, + paddingLeft: 14 + } + } + static actionSheetStyles() { return { wrapperStyle: StyleKit.styles().actionSheetWrapper, From 153658771f2b9327c92cc33277f9088232ffb952 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 1 Jan 2019 11:32:52 -0600 Subject: [PATCH 020/131] Rename tags option, closes #106 --- src/app.js | 6 +- src/components/ButtonCell.js | 6 +- src/components/SectionedAccessoryTableCell.js | 8 +- src/components/SectionedOptionsTableCell.js | 8 +- src/components/SectionedTableCell.js | 4 +- src/components/TableSection.js | 2 +- src/containers/AuthModal.js | 2 +- src/containers/LockedView.js | 2 +- src/containers/TagList.js | 75 ----------- src/containers/account/AuthSection.js | 10 +- .../account/RegistrationConfirmSection.js | 4 +- src/screens/Authenticate.js | 4 +- src/screens/Compose.js | 2 +- src/screens/InputModal.js | 10 +- src/screens/NoteOptions.js | 7 +- src/screens/Notes.js | 2 +- src/screens/Settings.js | 2 +- .../SideMenu/{SideMenu.js => MainSideMenu.js} | 4 +- src/screens/SideMenu/NoteSideMenu.js | 2 +- src/screens/SideMenu/TagSelectionList.js | 120 +++++++----------- src/screens/Webview.js | 4 +- src/style/StyleKit.js | 28 ++-- 22 files changed, 110 insertions(+), 202 deletions(-) delete mode 100644 src/containers/TagList.js rename src/screens/SideMenu/{SideMenu.js => MainSideMenu.js} (97%) diff --git a/src/app.js b/src/app.js index e6054d1d..7d1fee88 100644 --- a/src/app.js +++ b/src/app.js @@ -15,7 +15,7 @@ import ReviewManager from './lib/reviewManager'; import Compose from "./screens/Compose" import Notes from "./screens/Notes" -import SideMenu from "@SideMenu/SideMenu" +import MainSideMenu from "@SideMenu/MainSideMenu" import NoteSideMenu from "@SideMenu/NoteSideMenu" import Settings from "./screens/Settings" import NoteOptions from "./screens/NoteOptions" @@ -75,7 +75,7 @@ const InputModalStack = createStackNavigator({ const AppDrawer = createStackNavigator({ Home: AppDrawerStack, Settings: SettingsStack, - NewTag: InputModalStack + InputModal: InputModalStack }, { mode: "modal", headerMode: 'none', @@ -89,7 +89,7 @@ const DrawerStack = createDrawerNavigator({ Main: AppDrawer, }, { contentComponent: ({ navigation }) => ( - {SideMenuManager.get().setLeftSideMenuReference(ref)}} navigation={navigation} /> + {SideMenuManager.get().setLeftSideMenuReference(ref)}} navigation={navigation} /> ), drawerPosition: "left", drawerType: 'slide', diff --git a/src/components/ButtonCell.js b/src/components/ButtonCell.js index 0b4d9c80..52efc681 100644 --- a/src/components/ButtonCell.js +++ b/src/components/ButtonCell.js @@ -13,15 +13,15 @@ export default class ButtonCell extends SectionedTableCell { buttonRules() { var rules = [StyleKit.stylesForKey("buttonCellButton")]; - if(this.props.leftAligned) { rules.push(StyleKit.styles().buttonCellButtonLeft) } - if(this.props.bold) { rules.push(StyleKit.styles().bold) } + if(this.props.leftAligned) { rules.push(StyleKit.styles.buttonCellButtonLeft) } + if(this.props.bold) { rules.push(StyleKit.styles.bold) } if(this.props.disabled) { rules.push({color: "gray", opacity: 0.6}) } return rules; } render() { return ( - + {this.props.title} {this.props.children && diff --git a/src/components/SectionedAccessoryTableCell.js b/src/components/SectionedAccessoryTableCell.js index 84cc27d6..a67edf6c 100644 --- a/src/components/SectionedAccessoryTableCell.js +++ b/src/components/SectionedAccessoryTableCell.js @@ -10,8 +10,8 @@ export default class SectionedAccessoryTableCell extends SectionedTableCell { rules() { var rules = super.rules().concat([ - StyleKit.styles().view, - StyleKit.styles().flexContainer, + StyleKit.styles.view, + StyleKit.styles.flexContainer, ...StyleKit.stylesForKey("sectionedAccessoryTableCell") ]); return rules; @@ -58,10 +58,10 @@ export default class SectionedAccessoryTableCell extends SectionedTableCell { icon = null; } - var textStyles = [StyleKit.styles().sectionedAccessoryTableCellLabel]; + var textStyles = [StyleKit.styles.sectionedAccessoryTableCellLabel]; if(this.props.bold || (this.props.selected && this.props.selected())) { - textStyles.push(StyleKit.styles().bold) + textStyles.push(StyleKit.styles.bold) } if(this.props.tinted) { textStyles.push({color: StyleKit.variable("stylekitInfoColor")}) diff --git a/src/components/SectionedOptionsTableCell.js b/src/components/SectionedOptionsTableCell.js index 5a169afa..a55950e5 100644 --- a/src/components/SectionedOptionsTableCell.js +++ b/src/components/SectionedOptionsTableCell.js @@ -6,8 +6,8 @@ import StyleKit from "../style/StyleKit" export default class SectionedOptionsTableCell extends Component { rules() { - var rules = [StyleKit.styles().sectionedTableCell]; - if(this.props.first) { rules.push(StyleKit.styles().sectionedTableCellFirst); } + var rules = [StyleKit.styles.sectionedTableCell]; + if(this.props.first) { rules.push(StyleKit.styles.sectionedTableCellFirst); } if(this.props.height) {rules.push({height: this.props.height})}; if(this.props.extraStyles) { rules = rules.concat(this.props.extraStyles); @@ -67,7 +67,7 @@ export default class SectionedOptionsTableCell extends Component { render() { return ( - {this.props.title} + {this.props.title} {this.props.options.map((option) => { var buttonStyles = [this.buttonStyles]; @@ -75,7 +75,7 @@ export default class SectionedOptionsTableCell extends Component { buttonStyles.push(this.selectedButtonStyles); } return ( - {this.props.onPress(option)}}> + {this.props.onPress(option)}}> {option.title} ) diff --git a/src/components/SectionedTableCell.js b/src/components/SectionedTableCell.js index 11942bb5..c2a9831c 100644 --- a/src/components/SectionedTableCell.js +++ b/src/components/SectionedTableCell.js @@ -6,10 +6,10 @@ import StyleKit from "../style/StyleKit" export default class SectionedTableCell extends Component { rules() { - var rules = [StyleKit.styles().sectionedTableCell]; + var rules = [StyleKit.styles.sectionedTableCell]; if(this.props.first) { rules.push(StyleKit.stylesForKey("sectionedTableCellFirst")); } if(this.props.last) { rules.push(StyleKit.stylesForKey("sectionedTableCellLast")); } - if(this.props.textInputCell) {rules.push(StyleKit.styles().textInputCell); } + if(this.props.textInputCell) {rules.push(StyleKit.styles.textInputCell); } if(this.props.height) {rules.push({height: this.props.height})}; if(this.props.extraStyles) { rules = rules.concat(this.props.extraStyles); diff --git a/src/components/TableSection.js b/src/components/TableSection.js index 7d9295ba..82fc28ef 100644 --- a/src/components/TableSection.js +++ b/src/components/TableSection.js @@ -6,7 +6,7 @@ import StyleKit from "../style/StyleKit" export default class TableSection extends Component { rules() { - var rules = [StyleKit.styles().tableSection]; + var rules = [StyleKit.styles.tableSection]; if(this.props.extraStyles) { rules = rules.concat(this.props.extraStyles); } diff --git a/src/containers/AuthModal.js b/src/containers/AuthModal.js index 9dcb6059..852d6b0e 100644 --- a/src/containers/AuthModal.js +++ b/src/containers/AuthModal.js @@ -135,7 +135,7 @@ export default class AuthModal extends Component { let authProps = this.state.authProps; return ( - + { -// this.props.onTagSelect(tag); -// } -// -// onLongPress = (tag) => { -// this.props.onTagLongPress(tag); -// } -// -// // // must pass title, text, and tags as props so that it re-renders when either of those change -// // _renderItem = ({item}) => { -// // return ( -// // -// // {this.onPress(item)}} -// // onLongPress={() => this.showActionSheet(item)} -// // text={item.deleted ? "Deleting..." : item.title} -// // color={item.deleted ? StyleKit.variable("stylekitInfoColor") : undefined} -// // key={item.uuid} -// // first={this.props.tags.indexOf(item) == 0} -// // last={this.props.tags.indexOf(item) == this.props.tags.length - 1} -// // selected={() => {return this.props.selected.includes(item.uuid)}} -// // /> -// // -// // this.actionSheet = o} -// // options={this.actionSheetActions().map((action) => {return action[0]})} -// // cancelButtonIndex={TagList.ActionSheetCancelIndex} -// // destructiveButtonIndex={TagList.ActionSheetDestructiveIndex} -// // onPress={this.handleActionSheetPress} -// // {...StyleKit.actionSheetStyles()} -// // /> -// // -// // ) -// // } -// -// render() { -// return ( -// -// // {this.props.clearSelection(true)}} -// // /> -// -// // -// -// -// ); -// } -// } diff --git a/src/containers/account/AuthSection.js b/src/containers/account/AuthSection.js index 55b03491..4c7293ef 100644 --- a/src/containers/account/AuthSection.js +++ b/src/containers/account/AuthSection.js @@ -61,7 +61,7 @@ export default class AuthSection extends Component { this.setState({email: text})} value={this.state.email} @@ -75,7 +75,7 @@ export default class AuthSection extends Component { this.setState({password: text})} value={this.state.password} @@ -89,12 +89,12 @@ export default class AuthSection extends Component { {this.props.mfa && - + {this.props.mfa.message} this.setState({mfa_token: text})} value={this.state.mfa_token} @@ -113,7 +113,7 @@ export default class AuthSection extends Component { this.setState({server: text})} value={this.state.server} diff --git a/src/containers/account/RegistrationConfirmSection.js b/src/containers/account/RegistrationConfirmSection.js index f7044a8d..3db3ad57 100644 --- a/src/containers/account/RegistrationConfirmSection.js +++ b/src/containers/account/RegistrationConfirmSection.js @@ -32,14 +32,14 @@ export default class RegistrationConfirmSection extends Component { - + Due to the nature of our encryption, Standard Notes cannot offer password reset functionality. If you forget your password, you will permanently lose access to your data. this.setState({passwordConfirmation: text})} value={this.state.passwordConfirmation} diff --git a/src/screens/Authenticate.js b/src/screens/Authenticate.js index d7f1caef..59484023 100644 --- a/src/screens/Authenticate.js +++ b/src/screens/Authenticate.js @@ -146,7 +146,7 @@ export default class Authenticate extends Abstract { var paddingTop = (ApplicationState.isIOS && StyleKit.isIPhoneX()) ? 30 : 15; return ( - + @@ -312,7 +312,7 @@ class PasscodeSection extends Abstract { this.setState({passcode: text})} value={this.state.passcode} diff --git a/src/screens/Compose.js b/src/screens/Compose.js index ca48a2f7..a6fb70c2 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -332,7 +332,7 @@ export default class Compose extends Abstract { var shouldDisplayEditor = noteEditor != null && this.note.uuid; return ( - + {this.note.locked && diff --git a/src/screens/InputModal.js b/src/screens/InputModal.js index b222e942..4879c7aa 100644 --- a/src/screens/InputModal.js +++ b/src/screens/InputModal.js @@ -31,7 +31,7 @@ export default class InputModal extends Abstract { } }) - this.constructState({text: ""}); + this.constructState({text: this.getProp("initialValue") || ""}); } dismiss() { @@ -50,6 +50,7 @@ export default class InputModal extends Abstract { } onTextChange = (text) => { + console.log("Setting state text", text); this.setState({text: text}) } @@ -59,12 +60,11 @@ export default class InputModal extends Abstract { } return ( - - - + + { @@ -179,7 +178,7 @@ export default class NoteOptions extends Abstract { } render() { - var viewStyles = [StyleKit.styles().container]; + var viewStyles = [StyleKit.styles.container]; if(this.state.lockContent) { return (); @@ -202,7 +201,7 @@ export default class NoteOptions extends Abstract { return ( - + diff --git a/src/screens/Notes.js b/src/screens/Notes.js index 015554cf..40de22f0 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes.js @@ -413,7 +413,7 @@ export default class Notes extends Abstract { var syncStatus = Sync.get().syncStatus; return ( - + {notes && + {!signedIn && !this.state.confirmRegistration && diff --git a/src/screens/SideMenu/SideMenu.js b/src/screens/SideMenu/MainSideMenu.js similarity index 97% rename from src/screens/SideMenu/SideMenu.js rename to src/screens/SideMenu/MainSideMenu.js index 2b8c6762..41f463c8 100644 --- a/src/screens/SideMenu/SideMenu.js +++ b/src/screens/SideMenu/MainSideMenu.js @@ -25,7 +25,7 @@ import ApplicationState from "@Root/ApplicationState"; import OptionsState from "@Root/OptionsState" import AbstractSideMenu from "@SideMenu/AbstractSideMenu" -export default class SideMenu extends AbstractSideMenu { +export default class MainSideMenu extends AbstractSideMenu { constructor(props) { super(props); @@ -114,7 +114,7 @@ export default class SideMenu extends AbstractSideMenu { } render() { - var viewStyles = [StyleKit.styles().container, this.styles.sideMenu]; + var viewStyles = [StyleKit.styles.container, this.styles.sideMenu]; if(this.state.lockContent) { return (); diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index eac67ef8..cb664e0d 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -123,7 +123,7 @@ export default class NoteSideMenu extends AbstractSideMenu { } render() { - var viewStyles = [StyleKit.styles().container, this.styles.sideMenu]; + var viewStyles = [StyleKit.styles.container, this.styles.sideMenu]; if(this.state.lockContent) { return (); diff --git a/src/screens/SideMenu/TagSelectionList.js b/src/screens/SideMenu/TagSelectionList.js index acae121f..7e208af3 100644 --- a/src/screens/SideMenu/TagSelectionList.js +++ b/src/screens/SideMenu/TagSelectionList.js @@ -1,4 +1,4 @@ -import React, { Component } from 'react'; +import React, { Component, Fragment } from 'react'; import { ScrollView, View, Text, FlatList } from 'react-native'; import Icon from 'react-native-vector-icons/Ionicons'; @@ -6,15 +6,17 @@ import Sync from '@SFJS/syncManager' import ItemActionManager from '@Lib/itemActionManager' import ModelManager from '@SFJS/modelManager' -import ActionSheet from 'react-native-actionsheet' import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" import SideMenuCell from "@SideMenu/SideMenuCell" import ApplicationState from "@Root/ApplicationState"; import OptionsState from "@Root/OptionsState" +import ActionSheetWrapper from "@Style/ActionSheetWrapper" -export default class TagSelectionList extends Component { +import { withNavigation } from 'react-navigation'; + +class TagSelectionList extends Component { /* @param props.selectedTags @@ -24,7 +26,6 @@ export default class TagSelectionList extends Component { constructor(props) { super(props); this.state = {tags: []}; - this.loadStyles(); } componentDidMount() { @@ -70,7 +71,7 @@ export default class TagSelectionList extends Component { */ presentNewTag() { - this.props.navigation.navigate("NewTag", { + this.props.navigation.navigate("InputModal", { title: 'New Tag', placeholder: "New tag name", onSave: (text) => { @@ -99,48 +100,37 @@ export default class TagSelectionList extends Component { this.props.onTagSelect(tag); } - onManageTagEvent = (event, tag, renderBlock) => { - ItemActionManager.handleEvent(event, tag, () => { - if(event == ItemActionManager.DeleteEvent) { - this.reloadTags(); - } - }, () => { - // afterConfirmCallback - // We want to show "Deleting.." on top of note cell after the user confirms the dialogue - renderBlock(); - }) - } - - static ActionSheetCancelIndex = 0; - static ActionSheetDestructiveIndex = 1; - - actionSheetActions() { - return [ - ['Cancel', ""], - ['Delete', ItemActionManager.DeleteEvent] - ]; - } - - showActionSheet = (item) => { - // Dont show actionsheet for "All notes" tag - if(item.key !== "all") { - this.actionSheetItem = item; - this.setState((prevState) => { - return _.merge(prevState, {actionSheetTitle: item.title}) - }) - this.actionSheet.show(); - } - } - - handleActionSheetPress = (index) => { - if(index == 0) { - return; - } - - this.onManageTagEvent(this.actionSheetActions()[index][1], this.actionSheetItem, () => { - this.forceUpdate(); + showActionSheet = (tag) => { + let sheet = new ActionSheetWrapper({ + title: tag.title, + options: [ + ActionSheetWrapper.BuildOption({text: "Rename", callback: () => { + this.props.navigation.navigate("InputModal", { + title: 'Rename Tag', + placeholder: "Tag name", + initialValue: tag.title, + onSave: (text) => { + if(tag) { + tag.title = text; // Update the text on the tag to the input text + tag.setDirty(true); + Sync.get().sync(); + this.forceUpdate(); + } + } + }) + }}), + ActionSheetWrapper.BuildOption({text: "Delete", destructive: true, callback: () => { + ItemActionManager.handleEvent(ItemActionManager.DeleteEvent, tag, () => { + this.reloadTags(); + }); + }}) + ], onCancel: () => { + this.setState({actionSheet: null}); + } }); - this.actionSheetItem = null; + + this.setState({actionSheet: sheet.actionSheetElement()}); + sheet.show(); } iconDescriptorForTag = (tag) => { @@ -150,7 +140,6 @@ export default class TagSelectionList extends Component { }; } - // must pass title, text, and tags as props so that it re-renders when either of those change renderTagCell = ({item}) => { return ( @@ -163,36 +152,25 @@ export default class TagSelectionList extends Component { key={item.uuid} selected={this.props.selectedTags.includes(item)} /> - - this.actionSheet = o} - options={this.actionSheetActions().map((action) => {return action[0]})} - cancelButtonIndex={TagSelectionList.ActionSheetCancelIndex} - destructiveButtonIndex={TagSelectionList.ActionSheetDestructiveIndex} - onPress={this.handleActionSheetPress} - {...StyleKit.actionSheetStyles()} - /> ) } render() { return ( - + + + {this.state.actionSheet && this.state.actionSheet} + ) } - - loadStyles() { - this.styles = { - - } - } } + +export default withNavigation(TagSelectionList); diff --git a/src/screens/Webview.js b/src/screens/Webview.js index a47047e8..287706a9 100644 --- a/src/screens/Webview.js +++ b/src/screens/Webview.js @@ -86,9 +86,9 @@ export default class Webview extends Component { let bottomPadding = -34; // For some reason iOS inserts padding on bottom return ( - + this.webView = webView} diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index b872add0..69af062b 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -150,12 +150,12 @@ export default class StyleKit { return this.get().constants; } - static styles() { + static get styles() { return this.get().styles; } static stylesForKey(key) { - var allStyles = this.styles(); + var allStyles = this.styles; var styles = [allStyles[key]]; var platform = Platform.OS == "android" ? "Android" : "IOS"; var platformStyles = allStyles[key+platform]; @@ -279,6 +279,12 @@ export default class StyleKit { let mainTextFontSize = this.constants.mainTextFontSize; let paddingLeft = this.constants.paddingLeft; this.styles = { + baseBackground: { + backgroundColor: variables.stylekitBackgroundColor + }, + contrastBackground: { + backgroundColor: variables.stylekitContrastBackgroundColor + }, container: { height: "100%", }, @@ -460,21 +466,21 @@ export default class StyleKit { static actionSheetStyles() { return { - wrapperStyle: StyleKit.styles().actionSheetWrapper, - overlayStyle: StyleKit.styles().actionSheetOverlay, - bodyStyle : StyleKit.styles().actionSheetBody, + wrapperStyle: StyleKit.styles.actionSheetWrapper, + overlayStyle: StyleKit.styles.actionSheetOverlay, + bodyStyle : StyleKit.styles.actionSheetBody, - buttonWrapperStyle: StyleKit.styles().actionSheetButtonWrapper, - buttonTitleStyle: StyleKit.styles().actionSheetButtonTitle, + buttonWrapperStyle: StyleKit.styles.actionSheetButtonWrapper, + buttonTitleStyle: StyleKit.styles.actionSheetButtonTitle, - titleWrapperStyle: StyleKit.styles().actionSheetTitleWrapper, - titleTextStyle: StyleKit.styles().actionSheetTitleText, + titleWrapperStyle: StyleKit.styles.actionSheetTitleWrapper, + titleTextStyle: StyleKit.styles.actionSheetTitleText, tintColor: ApplicationState.isIOS ? undefined : StyleKit.variable("stylekitInfoColor"), buttonUnderlayColor: StyleKit.variable("stylekitBorderColor"), - cancelButtonWrapperStyle: StyleKit.styles().actionSheetCancelButtonWrapper, - cancelButtonTitleStyle: StyleKit.styles().actionSheetCancelButtonTitle, + cancelButtonWrapperStyle: StyleKit.styles.actionSheetCancelButtonWrapper, + cancelButtonTitleStyle: StyleKit.styles.actionSheetCancelButtonTitle, cancelMargin: StyleSheet.hairlineWidth } } From 029e84a0d6927e58df5c4df1c162b81db3bbb162 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 1 Jan 2019 12:03:29 -0600 Subject: [PATCH 021/131] New tag creation from note side menu --- src/screens/Compose.js | 19 +++++------ src/screens/InputModal.js | 1 - src/screens/SideMenu/MainSideMenu.js | 8 ++--- src/screens/SideMenu/NoteSideMenu.js | 40 ++++++++++++++++++++++-- src/screens/SideMenu/TagSelectionList.js | 30 ++---------------- 5 files changed, 55 insertions(+), 43 deletions(-) diff --git a/src/screens/Compose.js b/src/screens/Compose.js index a6fb70c2..70cff8f5 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -114,6 +114,14 @@ export default class Compose extends Abstract { componentWillUnmount() { super.componentWillUnmount(); + + // We don't want to do this in componentDid/WillBlur because when presenting new tag input modal, + // the component will blur, and this will be called. Then, because the right drawer is now locked, + // we ignore render events. This will cause the screen to be white when you save the new tag. + SideMenuManager.get().removeHandlerForRightSideMenu(); + this.props.navigation.lockLeftDrawer(false); + this.props.navigation.lockRightDrawer(true); + Sync.get().removeEventHandler(this.syncObserver); ComponentManager.get().deregisterHandler(this.componentHandler); } @@ -147,9 +155,10 @@ export default class Compose extends Abstract { } } + SideMenuManager.get().setHandlerForRightSideMenu({ getCurrentNote: () => { - return this.note + return this.note; }, onEditorSelect: (editor) => { if(editor) { @@ -188,14 +197,6 @@ export default class Compose extends Abstract { } } - componentDidBlur() { - super.componentDidBlur(); - - SideMenuManager.get().removeHandlerForRightSideMenu(); - this.props.navigation.lockLeftDrawer(false); - this.props.navigation.lockRightDrawer(true); - } - replaceTagsForNote(newTags) { let note = this.note; diff --git a/src/screens/InputModal.js b/src/screens/InputModal.js index 4879c7aa..a23b5437 100644 --- a/src/screens/InputModal.js +++ b/src/screens/InputModal.js @@ -50,7 +50,6 @@ export default class InputModal extends Abstract { } onTextChange = (text) => { - console.log("Setting state text", text); this.setState({text: text}) } diff --git a/src/screens/SideMenu/MainSideMenu.js b/src/screens/SideMenu/MainSideMenu.js index 41f463c8..abcd71af 100644 --- a/src/screens/SideMenu/MainSideMenu.js +++ b/src/screens/SideMenu/MainSideMenu.js @@ -149,11 +149,11 @@ export default class MainSideMenu extends AbstractSideMenu { {this.note ? this.presentNewTag() : this.presentSettings()}} + buttonColor={StyleKit.variables.stylekitInfoColor} + iconTextColor={StyleKit.variables.stylekitInfoContrastColor} + onClickAction={() => {this.presentSettings()}} visible={true} - iconTextComponent={} + iconTextComponent={} /> diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index cb664e0d..098c05f8 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -15,6 +15,8 @@ import LockedView from "@Containers/LockedView"; import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" import ActionSheetWrapper from "@Style/ActionSheetWrapper" +import ModelManager from '@SFJS/modelManager' +import Sync from '@SFJS/syncManager' import SideMenuManager from "@SideMenu/SideMenuManager" import SideMenuCell from "@SideMenu/SideMenuCell" @@ -83,6 +85,33 @@ export default class NoteSideMenu extends AbstractSideMenu { sheet.show(); } + presentNewTag = () => { + this.props.navigation.navigate("InputModal", { + title: 'New Tag', + placeholder: "New tag name", + onSave: (text) => { + this.createTag(text, (tag) => { + if(this.note) { + // select this tag + this.onTagSelect(tag) + } + }); + } + }) + } + + createTag(text, callback) { + var tag = new SNTag({content: {title: text}}); + tag.initUUID().then(() => { + tag.setDirty(true); + ModelManager.get().addItem(tag); + Sync.get().sync(); + callback(tag); + this.forceUpdate(); + }) + } + + /* Render */ @@ -130,10 +159,9 @@ export default class NoteSideMenu extends AbstractSideMenu { } if(!this.handler || SideMenuManager.get().isRightSideMenuLocked()) { - return null + return null; } - let editorOptions = this.buildOptionsForEditors(); let selectedTags = this.handler.getSelectedTags(); @@ -149,6 +177,14 @@ export default class NoteSideMenu extends AbstractSideMenu { + + {this.presentNewTag()}} + visible={true} + iconTextComponent={} + /> {this.state.actionSheet && this.state.actionSheet} diff --git a/src/screens/SideMenu/TagSelectionList.js b/src/screens/SideMenu/TagSelectionList.js index 7e208af3..418504b2 100644 --- a/src/screens/SideMenu/TagSelectionList.js +++ b/src/screens/SideMenu/TagSelectionList.js @@ -45,7 +45,9 @@ class TagSelectionList extends Component { } else if(event == "sync:completed") { - if(data.retrievedItems && _.find(data.retrievedItems, {content_type: this.props.contentType})) { + let inRetrieved = data.retrievedItems && _.find(data.retrievedItems, {content_type: this.props.contentType}); + let inSaved = data.savedItems && _.find(data.savedItems, {content_type: this.props.contentType}); + if(inRetrieved || inSaved) { this.reloadTags(); } } @@ -70,32 +72,6 @@ class TagSelectionList extends Component { Tag Options */ - presentNewTag() { - this.props.navigation.navigate("InputModal", { - title: 'New Tag', - placeholder: "New tag name", - onSave: (text) => { - this.createTag(text, (tag) => { - if(this.note) { - // select this tag - this.onTagSelect(tag) - } - }); - } - }) - } - - createTag(text, callback) { - var tag = new SNTag({content: {title: text}}); - tag.initUUID().then(() => { - tag.setDirty(true); - ModelManager.get().addItem(tag); - Sync.get().sync(); - callback(tag); - this.forceUpdate(); - }) - } - onTagSelect = (tag) => { this.props.onTagSelect(tag); } From 3c2983abaf7191b8ceadcf306d89dfcd16d1b05f Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 1 Jan 2019 13:06:21 -0600 Subject: [PATCH 022/131] Note management options --- src/app.js | 4 +- src/screens/NoteOptions.js | 267 ------------------------ src/screens/SideMenu/NoteSideMenu.js | 44 ++++ src/screens/SideMenu/SideMenuCell.js | 36 ++-- src/screens/SideMenu/SideMenuSection.js | 9 +- src/style/StyleKit.js | 4 +- src/style/{ => Themes}/blue.json | 14 +- src/style/{ => Themes}/red.json | 14 +- 8 files changed, 89 insertions(+), 303 deletions(-) delete mode 100644 src/screens/NoteOptions.js rename src/style/{ => Themes}/blue.json (80%) rename src/style/{ => Themes}/red.json (80%) diff --git a/src/app.js b/src/app.js index 7d1fee88..6f1d7ebd 100644 --- a/src/app.js +++ b/src/app.js @@ -18,7 +18,6 @@ import Notes from "./screens/Notes" import MainSideMenu from "@SideMenu/MainSideMenu" import NoteSideMenu from "@SideMenu/NoteSideMenu" import Settings from "./screens/Settings" -import NoteOptions from "./screens/NoteOptions" import InputModal from "./screens/InputModal" import SideMenuManager from "@SideMenu/SideMenuManager" @@ -32,8 +31,7 @@ if(__DEV__ === false) { const AppStack = createStackNavigator({ Notes: {screen: Notes}, - Compose: {screen: Compose}, - NoteOptions: {screen : NoteOptions}, + Compose: {screen: Compose} }, { initialRouteName: 'Notes', }) diff --git a/src/screens/NoteOptions.js b/src/screens/NoteOptions.js deleted file mode 100644 index 0bccd3fa..00000000 --- a/src/screens/NoteOptions.js +++ /dev/null @@ -1,267 +0,0 @@ -import React, { Component } from 'react'; -import { ScrollView, View, Text, Linking, Share, StatusBar } from 'react-native'; -import Abstract from "./Abstract" - -import Sync from '../lib/sfjs/syncManager' -import ModelManager from '../lib/sfjs/modelManager' -import ComponentManager from '../lib/componentManager' -import ItemActionManager from '../lib/itemActionManager' - -import SectionHeader from "../components/SectionHeader"; -import ButtonCell from "../components/ButtonCell"; -import TableSection from "../components/TableSection"; -import LockedView from "../containers/LockedView"; -import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCell"; - -import Icons from '@Style/Icons'; -import StyleKit from "@Style/StyleKit" - -import ApplicationState from "../ApplicationState"; -import OptionsState from "../OptionsState"; -import Icon from 'react-native-vector-icons/Ionicons'; -import FAB from 'react-native-fab'; - -export default class NoteOptions extends Abstract { - - static navigationOptions = ({ navigation, navigationOptions }) => { - let templateOptions = { - title: "Manage Note" - } - return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); - }; - - constructor(props) { - super(props); - this.tags = []; - } - - loadInitialState() { - super.loadInitialState(); - - if(this.getProp("options")) { - this.options = new OptionsState(JSON.parse(this.getProp("options"))); - } - - var selectedTags; - if(this.options.selectedTags) { - selectedTags = this.options.selectedTags.slice(); // copy the array - } else { - selectedTags = []; - } - - this.mergeState({tags: [], selectedTags: selectedTags, options: this.options}); - - this.note = ModelManager.get().findItem(this.getProp("noteId")); - - let handleInitialDataLoad = () => { - if(this.handledDataLoad) { return; } - this.handledDataLoad = true; - - this.tagsNeedReload = true; - this.forceUpdate(); - } - - if(Sync.get().initialDataLoaded()) { - handleInitialDataLoad(); - } - - this.syncEventHandler = Sync.get().addEventHandler((event, data) => { - if(event == "local-data-loaded") { - handleInitialDataLoad(); - } - - else if(event == "sync:completed") { - if(data.retrievedItems && _.find(data.retrievedItems, {content_type: "Tag"})) { - this.forceUpdate(); - } - } - }) - } - - componentWillUnmount() { - super.componentWillUnmount(); - ApplicationState.get().removeStateObserver(this.stateObserver); - Sync.get().removeEventHandler(this.syncEventHandler); - } - - componentDidFocus() { - super.componentDidFocus(); - this.forceUpdate(); - } - - componentDidBlur() { - super.componentDidBlur(); - this.notifyParentOfOptionsChange(); - } - - notifyParentOfOptionsChange() { - this.getProp("onOptionsChange")(this.options); - } - - presentNewTag() { - this.props.navigation.navigate("InputModal", { - title: 'New Tag', - placeholder: "New tag name", - onSave: (text) => { - this.createTag(text, (tag) => { - if(this.note) { - // select this tag - this.onTagSelect(tag) - } - }); - } - }) - } - - createTag(text, callback) { - var tag = new SNTag({content: {title: text}}); - tag.initUUID().then(() => { - tag.setDirty(true); - ModelManager.get().addItem(tag); - Sync.get().sync(); - callback(tag); - this.forceUpdate(); - }) - } - - onTagSelect = (tag) => { - var selectedTags = this.state.selectedTags; - var selected = selectedTags.includes(tag.uuid); - if(selected) { - // deselect - selectedTags.splice(selectedTags.indexOf(tag.uuid), 1); - } else { - // select - selectedTags.push(tag.uuid); - } - - this.setSelectedTags(selectedTags); - } - - setSelectedTags = (selectedTags) => { - this.selectedTags = selectedTags.slice(); - this.options.setSelectedTags(selectedTags); - this.setState({selectedTags: selectedTags}); - } - - isTagSelected(tag) { - return this.tags.indexOf(tag.uuid) !== -1; - } - - onManageTagEvent = (event, tag, renderBlock) => { - ItemActionManager.handleEvent(event, tag, () => { - if(event == ItemActionManager.DeleteEvent) { - this.tagsNeedReload = true; - this.forceUpdate(); - } - }, () => { - // afterConfirmCallback - // We want to show "Deleting.." on top of note cell after the user confirms the dialogue - renderBlock(); - }) - } - - onManageNoteEvent(event) { - ItemActionManager.handleEvent(event, this.note, () => { - this.getProp("onManageNoteEvent")(); - if(event == ItemActionManager.DeleteEvent) { - this.popToRoot(); - } else { - this.forceUpdate(); - } - }) - } - - clearTags = (close) => { - this.setSelectedTags([]); - if(close) { this.dismiss(); } - } - - render() { - var viewStyles = [StyleKit.styles.container]; - - if(this.state.lockContent) { - return (); - } - - if(this.tagsNeedReload) { - var tags = ModelManager.get().tags.slice(); - this.tags = tags; - this.tagsNeedReload = false; - } - - var pinAction = this.note.pinned ? "Unpin" : "Pin"; - let pinEvent = pinAction == "Pin" ? ItemActionManager.PinEvent : ItemActionManager.UnpinEvent; - - var archiveOption = this.note.archived ? "Unarchive" : "Archive"; - let archiveEvent = archiveOption == "Archive" ? ItemActionManager.ArchiveEvent : ItemActionManager.UnarchiveEvent; - - var lockOption = this.note.locked ? "Unlock" : "Lock"; - let lockEvent = lockOption == "Lock" ? ItemActionManager.LockEvent : ItemActionManager.UnlockEvent; - - return ( - - - - - - {this.onManageNoteEvent(pinEvent)}} - first={true} text={pinAction} - leftAlignIcon={true} - /> - - {this.onManageNoteEvent(archiveEvent)}} - text={archiveOption} - leftAlignIcon={true} - /> - - {this.onManageNoteEvent(lockEvent)}} - text={lockOption} - leftAlignIcon={true} - /> - - {this.onManageNoteEvent(ItemActionManager.ShareEvent)}} - text={"Share"} - leftAlignIcon={true} - /> - - {this.onManageNoteEvent(ItemActionManager.DeleteEvent)}} - text={"Delete"} - last={true} - leftAlignIcon={true} - /> - - - - - - - {this.presentNewTag()}} - visible={true} - iconTextComponent={} - /> - - - ); - } -} diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 098c05f8..49aea9d6 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -11,6 +11,7 @@ import Abstract from "@Screens/Abstract" import SectionHeader from "@Components/SectionHeader"; import TableSection from "@Components/TableSection"; import LockedView from "@Containers/LockedView"; +import ItemActionManager from "@Lib/itemActionManager" import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" @@ -116,6 +117,46 @@ export default class NoteSideMenu extends AbstractSideMenu { Render */ + buildOptionsForNoteManagement() { + var pinOption = this.note.pinned ? "Unpin" : "Pin"; + let pinEvent = pinOption == "Pin" ? ItemActionManager.PinEvent : ItemActionManager.UnpinEvent; + + var archiveOption = this.note.archived ? "Unarchive" : "Archive"; + let archiveEvent = archiveOption == "Archive" ? ItemActionManager.ArchiveEvent : ItemActionManager.UnarchiveEvent; + + var lockOption = this.note.locked ? "Unlock" : "Lock"; + let lockEvent = lockOption == "Lock" ? ItemActionManager.LockEvent : ItemActionManager.UnlockEvent; + + let rawOptions = [ + { text: pinOption, key: pinEvent, icon: "bookmark" }, + { text: archiveOption, key: archiveEvent, icon: "archive" }, + { text: lockOption, key: lockEvent, icon: "lock" }, + { text: "Share", key: ItemActionManager.ShareEvent, icon: "share" }, + { text: "Delete", key: ItemActionManager.DeleteEvent, icon: "trash" }, + ]; + + let options = []; + for(let rawOption of rawOptions) { + let option = SideMenuSection.BuildOption({ + text: rawOption.text, + key: rawOption.key, + iconDesc: { type: "icon", side: "right", name: Icons.nameForIcon(rawOption.icon) }, + onSelect: () => { + ItemActionManager.handleEvent(rawOption.key, this.note, () => { + if(rawOption.key == ItemActionManager.DeleteEvent) { + this.popToRoot(); + } else { + this.forceUpdate(); + } + }); + }, + }) + options.push(option); + } + + return options; + } + buildOptionsForEditors() { let editors = ComponentManager.get().getEditors(); let selectedEditor = ComponentManager.get().editorForNote(this.note); @@ -163,6 +204,7 @@ export default class NoteSideMenu extends AbstractSideMenu { } let editorOptions = this.buildOptionsForEditors(); + let noteOptions = this.buildOptionsForNoteManagement(); let selectedTags = this.handler.getSelectedTags(); return ( @@ -170,6 +212,8 @@ export default class NoteSideMenu extends AbstractSideMenu { + + diff --git a/src/screens/SideMenu/SideMenuCell.js b/src/screens/SideMenu/SideMenuCell.js index 5af93865..401ba543 100644 --- a/src/screens/SideMenu/SideMenuCell.js +++ b/src/screens/SideMenu/SideMenuCell.js @@ -39,7 +39,9 @@ export default class SideMenuCell extends ThemedComponent { if(desc.type == "icon") { return ( - + + + ) } else if(desc.type == "ascii") { return ( @@ -47,7 +49,9 @@ export default class SideMenuCell extends ThemedComponent { ) } else if(desc.type == "circle") { return ( - + + + ) } else { return ( @@ -65,15 +69,12 @@ export default class SideMenuCell extends ThemedComponent { } render() { - let iconSide = (this.props.iconDesc && this.props.iconDesc.side) ? this.props.iconDesc.side : "left"; + let hasIcon = this.props.iconDesc; + let iconSide = (hasIcon && this.props.iconDesc.side) ? this.props.iconDesc.side : (hasIcon ? "left" : null); return ( - + + {iconSide == "left" && {this.getIconElement()} @@ -98,7 +99,7 @@ export default class SideMenuCell extends ThemedComponent { loadStyles() { this.styles = { - iconColor: StyleKit.variable("stylekitContrastInfoColor"), + iconColor: StyleKit.variables.stylekitInfoColor, selectionBgColor: StyleKit.hexToRGBA(StyleKit.variable("stylekitInfoColor"), 0.1), cell: { @@ -124,12 +125,13 @@ export default class SideMenuCell extends ThemedComponent { iconContainerRight: { marginLeft: 6, - marginRight: 3, + marginRight: 6, height: "100%", }, textContainer: { - height: 24 + height: 24, + marginLeft: 6 }, textContainerSelected: { @@ -139,11 +141,19 @@ export default class SideMenuCell extends ThemedComponent { text: { height: "100%", - color: StyleKit.variable("stylekitContrastForegroundColor"), + color: StyleKit.variables.stylekitContrastForegroundColor, fontWeight: 'bold', fontSize: 15, }, + iconGraphic: { + marginTop: -3 + }, + + iconCircle: { + marginTop: -5 + }, + iconAscii: { fontSize: 15, fontWeight: "bold", diff --git a/src/screens/SideMenu/SideMenuSection.js b/src/screens/SideMenu/SideMenuSection.js index 7c71dcec..57dd8f17 100644 --- a/src/screens/SideMenu/SideMenuSection.js +++ b/src/screens/SideMenu/SideMenuSection.js @@ -1,5 +1,5 @@ import React, { Component, Fragment } from 'react'; -import { ScrollView, View, Text, TouchableHighlight } from 'react-native'; +import { ScrollView, View, Text, TouchableOpacity } from 'react-native'; import Icon from 'react-native-vector-icons/Ionicons'; import Icons from '@Style/Icons'; @@ -26,9 +26,10 @@ export default class SideMenuSection extends ThemedComponent { render() { let options = this.props.options || []; + let collapsedLabel = options.length > 0 ? options.length + " Options" : "Hidden"; return ( - {this.props.title} {this.state.collapsed && - {options.length + " Options"} + {collapsedLabel} } - + {!this.state.collapsed && diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 69af062b..d71e1e3f 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -11,8 +11,8 @@ import CSSParser from "./CSSParser"; import ThemeDownloader from "@Style/ThemeDownloader" import Icons from '@Style/Icons'; -import redJSON from './red.json'; -import blueJSON from './blue.json'; +import redJSON from './Themes/red.json'; +import blueJSON from './Themes/blue.json'; export default class StyleKit { diff --git a/src/style/blue.json b/src/style/Themes/blue.json similarity index 80% rename from src/style/blue.json rename to src/style/Themes/blue.json index 94b18654..c6195787 100644 --- a/src/style/blue.json +++ b/src/style/Themes/blue.json @@ -9,17 +9,17 @@ "stylekitFontSizeH2": "1.2rem", "stylekitFontSizeH1": "1.3rem", "stylekitNeutralColor": "#989898", - "stylekitNeutralContrastColor": "white", + "stylekitNeutralContrastColor": "#ffffff", "stylekitInfoColor": "#086DD6", - "stylekitInfoContrastColor": "white", + "stylekitInfoContrastColor": "#ffffff", "stylekitSuccessColor": "#2B9612", - "stylekitSuccessContrastColor": "white", + "stylekitSuccessContrastColor": "#ffffff", "stylekitWarningColor": "#f6a200", - "stylekitWarningContrastColor": "white", + "stylekitWarningContrastColor": "#ffffff", "stylekitDangerColor": "#F80324", - "stylekitDangerContrastColor": "white", + "stylekitDangerContrastColor": "#ffffff", "stylekitShadowColor": "#C8C8C8", - "stylekitBackgroundColor": "white", + "stylekitBackgroundColor": "#ffffff", "stylekitBorderColor": "#e3e3e3", "stylekitForegroundColor": "black", "stylekitContrastBackgroundColor": "#F6F6F6", @@ -30,7 +30,7 @@ "stylekitSecondaryBorderColor": "#e3e3e3", "stylekitSecondaryContrastBackgroundColor": "#e3e3e3", "stylekitSecondaryContrastForegroundColor": "#2e2e2e", - "stylekitEditorBackgroundColor": "white", + "stylekitEditorBackgroundColor": "#ffffff", "stylekitEditorForegroundColor": "black", "stylekitParagraphTextColor": "#454545", "stylekitInputPlaceholderColor": "rgb(168, 168, 168)", diff --git a/src/style/red.json b/src/style/Themes/red.json similarity index 80% rename from src/style/red.json rename to src/style/Themes/red.json index 1e89e6ea..268a749a 100644 --- a/src/style/red.json +++ b/src/style/Themes/red.json @@ -9,17 +9,17 @@ "stylekitFontSizeH2": "1.2rem", "stylekitFontSizeH1": "1.3rem", "stylekitNeutralColor": "#989898", - "stylekitNeutralContrastColor": "white", + "stylekitNeutralContrastColor": "#ffffff", "stylekitInfoColor": "#fb0206", - "stylekitInfoContrastColor": "white", + "stylekitInfoContrastColor": "#ffffff", "stylekitSuccessColor": "#2B9612", - "stylekitSuccessContrastColor": "white", + "stylekitSuccessContrastColor": "#ffffff", "stylekitWarningColor": "#f6a200", - "stylekitWarningContrastColor": "white", + "stylekitWarningContrastColor": "#ffffff", "stylekitDangerColor": "#F80324", - "stylekitDangerContrastColor": "white", + "stylekitDangerContrastColor": "#ffffff", "stylekitShadowColor": "#C8C8C8", - "stylekitBackgroundColor": "white", + "stylekitBackgroundColor": "#ffffff", "stylekitBorderColor": "#e3e3e3", "stylekitForegroundColor": "black", "stylekitContrastBackgroundColor": "#F6F6F6", @@ -30,7 +30,7 @@ "stylekitSecondaryBorderColor": "#e3e3e3", "stylekitSecondaryContrastBackgroundColor": "#e3e3e3", "stylekitSecondaryContrastForegroundColor": "#2e2e2e", - "stylekitEditorBackgroundColor": "white", + "stylekitEditorBackgroundColor": "#ffffff", "stylekitEditorForegroundColor": "black", "stylekitParagraphTextColor": "#454545", "stylekitInputPlaceholderColor": "rgb(168, 168, 168)", From 71ece5a340162c514c76ad932821db75f954c545 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 1 Jan 2019 13:13:05 -0600 Subject: [PATCH 023/131] Move ApplicationState and OptionsState into lib dir --- src/app.js | 2 +- src/containers/AuthModal.js | 2 +- src/containers/NoteList.js | 2 +- src/containers/account/CompanySection.js | 2 +- src/img/placeholder.png | Bin 17706 -> 0 bytes src/{ => lib}/ApplicationState.js | 2 +- src/{ => lib}/OptionsState.js | 0 src/lib/componentManager.js | 2 +- src/lib/itemActionManager.js | 2 +- src/lib/keysManager.js | 2 +- src/screens/Abstract.js | 2 +- src/screens/Authenticate.js | 2 +- src/screens/Compose.js | 4 ++-- src/screens/Notes.js | 4 ++-- src/screens/Settings.js | 4 ++-- src/screens/SideMenu/MainSideMenu.js | 4 ++-- src/screens/SideMenu/NoteSideMenu.js | 2 +- src/screens/SideMenu/SideMenuManager.js | 2 +- src/screens/SideMenu/TagSelectionList.js | 4 ++-- src/screens/Webview.js | 2 +- src/style/StyleKit.js | 6 +++--- src/style/{ => Util}/CSSParser.js | 0 src/style/{ => Util}/ThemeDownloader.js | 7 +++---- 23 files changed, 29 insertions(+), 30 deletions(-) delete mode 100644 src/img/placeholder.png rename src/{ => lib}/ApplicationState.js (99%) rename src/{ => lib}/OptionsState.js (100%) rename src/style/{ => Util}/CSSParser.js (100%) rename src/style/{ => Util}/ThemeDownloader.js (82%) diff --git a/src/app.js b/src/app.js index 6f1d7ebd..e88ed1f1 100644 --- a/src/app.js +++ b/src/app.js @@ -6,7 +6,7 @@ import { createStackNavigator, createAppContainer, createDrawerNavigator, Drawer import KeysManager from './lib/keysManager' import StyleKit from "./style/StyleKit" import Icons from '@Style/Icons'; -import ApplicationState from "./ApplicationState" +import ApplicationState from "@Lib/ApplicationState" import Auth from './lib/sfjs/authManager' import ModelManager from './lib/sfjs/modelManager' import Sync from './lib/sfjs/syncManager' diff --git a/src/containers/AuthModal.js b/src/containers/AuthModal.js index 852d6b0e..f6c9071d 100644 --- a/src/containers/AuthModal.js +++ b/src/containers/AuthModal.js @@ -4,7 +4,7 @@ import NoteCell from "./NoteCell" import Search from 'react-native-search-box' import StyleKit from "../style/StyleKit" import Authenticate from "../screens/Authenticate" -import ApplicationState from "../ApplicationState"; +import ApplicationState from "@Lib/ApplicationState" /* diff --git a/src/containers/NoteList.js b/src/containers/NoteList.js index 8725da6c..caea03e0 100644 --- a/src/containers/NoteList.js +++ b/src/containers/NoteList.js @@ -3,7 +3,7 @@ import { StyleSheet, View, FlatList, RefreshControl, ScrollView, Text } from 're import NoteCell from "./NoteCell" import Search from 'react-native-search-box' import StyleKit from "../style/StyleKit" -import ApplicationState from "../ApplicationState" +import ApplicationState from "@Lib/ApplicationState" export default class NoteList extends Component { diff --git a/src/containers/account/CompanySection.js b/src/containers/account/CompanySection.js index b7ab5240..7f9ddd14 100644 --- a/src/containers/account/CompanySection.js +++ b/src/containers/account/CompanySection.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import StyleKit from "../../style/StyleKit" -import ApplicationState from "../../ApplicationState" +import ApplicationState from "@Lib/ApplicationState" import {TextInput, View, Text, Platform} from 'react-native'; import SectionHeader from "../../components/SectionHeader"; diff --git a/src/img/placeholder.png b/src/img/placeholder.png deleted file mode 100644 index 2d71d68f2f07e4f7b681e5f4303f9d30d6f2ac42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17706 zcmeI4cT`i^_Qx-SLvI#9MVwGnMAGPqA(T+12?PoDklcg_Bq51XR0dRvWkf`!34=OF zM+HR@P(TC~0l~2W$|xYB1HJ(r7!`OopnzA+&$WK<{qt6`R?0s6eD}HMbN1P}H*4MO zUG3(eD7R1!002cNM_W(mT|)Sjk%C@-Qmx$!y~%PNefa>OwnX@paPrjs7XZk)vq+@X ztNl3w4&R@{ML3a22riGqUD?v*^59`lZt#XAfo_aJmR941GBaRn{VjogaUg~fO+*$tM;$Vk0Fex*!@&Ts(N-5lzExsbF9QI!nNj*@tu@|M&o`)&T2%dG zN45Ni&8B;7bZcvDRBYtvk&Aenmly1^(Tiz3tEs;k{kxT>ag~REOd?kaRpWh0$%3o= zjw+K;tyd8xJInfp%v`EgTbzX7K8nsk8TFLt5v^*+S#$R5B5uab^U!uqFmc3s?js|- z9W@6nct7A`*V|uCSa}05-1Q-*!U20Es@TKgcZCb2vK+I8d+blj-=Pbzsqt!=X?J+% z7g`)JJ<)q7-(R^co=B?4RK1ulZB!eGLDgNeIcIJln@DRor(K|sU$^k=ngYr4y>DsF z=R#)9iL$GbHJue=gP<<9cBHsa+#WjSAQtHw&u)`7la<`#QL{`tF~|A*(#x~|sh#g< zh>fK<8tB}g6F(QNvOSJeYo)yMRe18~-G%<@{==*@F9eroKR&wHE$NO= zYeS#Ii=-ElZ$cClV^nw7$1(L5q|KL}&s-2P|4g#W=>>Q9FQ_MD%&@PLdsCECINlWf zQvDsO3Af~qt~$E(sD?h8oSSz#?@6A#_mFo3IX-uz*Uln)ZzHd+T-o1`<$LF)uYTpF z;l<2dnG>7G%;AtNe~a)P-7DpL&E=Xq={JwebDO#<>Jaj@1tp;dS^ezQe0Z)1vdSg{V(>)2UvCMyL7vP>VoP{ zEtOiTwba@5rRzYdr)$~i<)>G=taPbwyxn-R@qUU)ng#ZOVQ*S*+Jm&ti<{Smt~Dsl zDZKMEVvu)LO)?v-}efvL_cV>`*wF?`~?>9$$b#TyqJ+^=ym zHbr-me%2YMkB5)90NIgCB$$$WqpYLW{qTMye23Q6gO>Pq@bBVB{niIE%dAzc<98MA z>ZvZ&^1t!tp+c?U-sGl)CYDn4>WCNj??_XhQ}2&(fdCcWqZsM&H=L4Li|P^Cmi5Ef+P%0DsKNCC<(K$iJ*r^mEh>EE${|vgDv# zSdC^4Qybl4+7kDWv|fL)+n}SqYxvLaT-2DEp;0r z$j|~`iQRoT;ZU$mo|bE3Df1=sIb&Nx0T^98cAdTdB6{&r>6-y1hYEi5Maq@hoPI%G ztM@=(x|j+2Fs?T4y@flLpRuB`|8~i(_CsdJU;jGZKc{BS)5E1%G0r|nP0I7if-SgW zLU35ST$k#PD`M726%a1%E7cFW=bqp1lT;K@xis80AZlavtzFd@Bm!Q^d&~7i?|jwq zpnroq1?}5;f%+~cU4y8)cVE%GcJ(CHpC9UVg!X8}a&BEs={RyeH@~)w-ppua^gVxq z%vh&%EHCMKk`i0-QQLXN&Nb)z-~Mgaj!tUSYcJnjN-8^bm2jy7%)Z&wxYCmR8~F|S z9oclC_3;JjgAsPifX4QUzm5OA*S@Y|c$9eaO1rm&x9dH|J@CEL`;uYHqP=;2Bgftc zZ76gL3hu9$Y?U09)=?^bQ1<&h%~lJtXZ-yYuN;)>f4VZ3{yGGyXsYP_%kjErI$YbZ z?!IB!&f&$1__l2awii5=zWdWQO{OM#i%sfas(qSQ>iczm>n^+BCbryv`6T>OobNk8C?Y*?7&MnHE*OyfUPh0KA_xG-> zSlP6G@RDG#xV>kt&n2JKGx$wGF9k0NV~Ka&>&uUqrxum14=5W5ue`9GG2Ew-Vb=8c zO=Z|$YUB6sW#B9xR}O`9hOZC5?Noal!CN-k)KLB?WZ6Jrg?q)OH&*@Dk4TSW?^&)J z>v;IOA!S@K5vK4g=c>CH*_R;ULRG+g~8y;?d}kkPuXe5sJfOqOmv}4vjHH8yX^^9!P!|TR;s(viUlbK|aN? z1^F}{iz{Gp*a%@oz(QMFIMCGN8jHf9zaesU6)g)2 z`l^yIu-gV5$;X*}bwEBjj0>VYK|W_Ij|SRp1K9$duN?%PHWi1vl@~a{hfYI-fnX3M z;X?=#c+kPpH3A}zbDFPec^F9bQUA*yP{0@{5*!ME8dCC7f{(W z(8-nv%^k&J(eZv}<|cFo#uUlGU@%By4AmTI?g#A{&=6ySqtZaSu^Biq$LLkkkNSu*54N0fdsW_|=!xUp|^l6|O z!M+&CoyUSI6E$!~AK_f+&|nNYbksN~rm>M9G#6826QnuK&m2jkfqob&9i*9J{5}ow zl`vln<;dbg`4l!I&!B9Zs6Ad_@aL_c9D%Hf8p5UW_@HoWT4;aTn^Q$+s-_4v6I&cl zr3tGKktR%FkWN5<);fJyQ_7Dr)|boqeF!Gw&yat6j1Yg2Eh_ydLrwJhb`U;?Aqb)J zKx-zHA>X$*C*yuDgbzSK3+r_t>%XuReCoFU-$H!fzWN_oi0MqG`BT|UkWNH@O5#rq z-?w&?EBg8F`m|%e+>Hb}4bR~4f~W!_D~QSj(Ofo@fSzug9+NO#he(`24$qZC2Z>O* z`C9W=RnYHmt0#YcBl0~RY!FU%BvUNT)D&rm!p;mcqu-1;!mm0!RB@o}r%vp2Nb^M- zygx-)IRdv%_BS?$$}U0;1u^;b6@(RKjm$`~+4n z=;RS3LX(3x!F#V}g@S<;TNd<xB zT+vgfu3r?9scQS5{4hPC|728HEb$;PAfin%F425oUNJ5h5YeU>muNmPuNW5$h-g!c zOEe#tSBwh=M6@Z!C7KV+E5-!_BH9$=63qwZ72|>d5p9ZbiRJ_IigCe!h&IKzMDu}p z#kgQVM4Mt Date: Tue, 1 Jan 2019 13:32:41 -0600 Subject: [PATCH 024/131] Default tag on new note --- src/lib/ApplicationState.js | 2 +- src/lib/OptionsState.js | 2 +- src/screens/Compose.js | 25 +++++++++++-------------- src/screens/Notes.js | 37 +------------------------------------ 4 files changed, 14 insertions(+), 52 deletions(-) diff --git a/src/lib/ApplicationState.js b/src/lib/ApplicationState.js index 0ab2c2cd..9fd9f30a 100644 --- a/src/lib/ApplicationState.js +++ b/src/lib/ApplicationState.js @@ -1,5 +1,5 @@ import {AppState, Platform} from 'react-native' -import KeysManager from "./lib/keysManager" +import KeysManager from "@Lib/keysManager" import OptionsState from "@Lib/OptionsState" var pjson = require('../package.json') diff --git a/src/lib/OptionsState.js b/src/lib/OptionsState.js index 0876947c..262bb45c 100644 --- a/src/lib/OptionsState.js +++ b/src/lib/OptionsState.js @@ -1,4 +1,4 @@ -import Storage from "./lib/sfjs/storageManager" +import Storage from "@SFJS/storageManager" export default class OptionsState { diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 567f7608..d71829fe 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -91,8 +91,6 @@ export default class Compose extends Abstract { } } }); - - this.configureHeaderBar(); } configureHeaderBar() { @@ -263,23 +261,22 @@ export default class Compose extends Abstract { changesMade() { this.note.hasChanges = true; + // capture dummy status before timeout + let isDummy = this.note.dummy; + if(this.saveTimeout) clearTimeout(this.saveTimeout); if(this.statusTimeout) clearTimeout(this.statusTimeout); this.saveTimeout = setTimeout(() => { this.showSavingStatus(); - if(!this.note.uuid) { - this.note.initUUID().then(() => { - if(this.getProp("selectedTagId")) { - var tag = ModelManager.get().findItem(this.getProp("selectedTagId")); - tag.addItemAsRelationship(this.note); - tag.setDirty(true); - } - this.save(); - this.configureHeaderBar(); - }); - } else { - this.save(); + if(isDummy && this.getProp("selectedTagId")) { + var tag = ModelManager.get().findItem(this.getProp("selectedTagId")); + // Could be system tag, so wouldn't exist + if(tag && !tag.isSmartTag()) { + tag.addItemAsRelationship(this.note); + tag.setDirty(true); + } } + this.save(); }, 275) } diff --git a/src/screens/Notes.js b/src/screens/Notes.js index 73a36d7a..45974d6e 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import { StyleSheet, View, Platform, Text, StatusBar, Modal, Alert, Button } from 'react-native'; +import { View, Text, Alert } from 'react-native'; import ModelManager from '../lib/sfjs/modelManager' import Storage from '../lib/sfjs/storageManager' @@ -14,17 +14,14 @@ import SideMenuManager from "@SideMenu/SideMenuManager" import Abstract from "./Abstract" import StyleKit from "../style/StyleKit" -import Icons from '@Style/Icons'; import NoteList from "../containers/NoteList" import OptionsState from "@Lib/OptionsState" import AuthModal from "../containers/AuthModal" import LockedView from "../containers/LockedView" import ApplicationState from "@Lib/ApplicationState" -import { DrawerActions } from 'react-navigation'; import Icon from 'react-native-vector-icons/Ionicons'; import FAB from 'react-native-fab'; -import HeaderButtons, { HeaderButton, Item } from 'react-navigation-header-buttons'; export default class Notes extends Abstract { @@ -318,38 +315,6 @@ export default class Notes extends Abstract { }); } - presentFilterScreen() { - Navigation.showModal({ - stack: { - children: [{ - component: { - name: 'sn.Filter', - passProps: { - options: JSON.stringify(this.options), - onOptionsChange: (options) => { - this.options.mergeWith(options); - } - } - } - }] - } - }); - } - - presentSettingsScreen() { - Navigation.showModal({ - stack: { - children: [{ - component: { - name: 'sn.Account', - title: 'Account', - animationType: 'slide-up' - } - }] - } - }); - } - reloadList(force) { if(!this.visible && !this.willBeVisible && !force) { console.log("===Scheduling Notes Render Update==="); From 80ee8e992911adb2fc1690cd6c07010f9c38b013 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 2 Jan 2019 00:00:12 -0600 Subject: [PATCH 025/131] Webview soft loading and CSSParser fixes --- src/lib/componentManager.js | 24 +++++++++++++++++------- src/screens/Compose.js | 19 ++++++++++++++++--- src/screens/Webview.js | 10 ++++++++-- src/style/Util/CSSParser.js | 12 ++++++++++-- 4 files changed, 51 insertions(+), 14 deletions(-) diff --git a/src/lib/componentManager.js b/src/lib/componentManager.js index effc808f..a08700a7 100644 --- a/src/lib/componentManager.js +++ b/src/lib/componentManager.js @@ -1,6 +1,8 @@ /* This domain will be used to save context item client data */ let ClientDataDomain = "org.standardnotes.sn.components"; +import { Platform } from 'react-native'; + import StyleKit from '../style/StyleKit' import ModelManager from './sfjs/modelManager' import Sync from './sfjs/syncManager' @@ -332,10 +334,13 @@ export default class ComponentManager { componentData: component.componentData, data: { uuid: component.uuid, - environment: "mobile" + environment: "mobile", + platform: Platform.OS, + activeThemeUrls: [this.getActiveThemeUrl()] } }); + // Some editors may not yet accept initial activeThemeUrls in component-registerd event this.postActiveThemeToComponent(component); } @@ -352,17 +357,22 @@ export default class ComponentManager { }) } - getActiveTheme() { - return this.componentsForArea("themes").find((theme) => {return theme.active}); + getActiveThemeUrl() { + let theme = StyleKit.get().activeTheme; + if(theme) { + let url = this.urlForComponent(theme); + return url; + } } postActiveThemeToComponent(component) { - var activeTheme = StyleKit.get().activeTheme; - - var data = { - themes: [(activeTheme && !activeTheme.default) ? this.urlForComponent(activeTheme) : null] + let url = this.getActiveThemeUrl(); + if(!url) { + return; } + var data = { themes: [url] } + this.sendMessageToComponent(component, {action: "themes", data: data}) } diff --git a/src/screens/Compose.js b/src/screens/Compose.js index d71829fe..73a0d1f8 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -353,8 +353,11 @@ export default class Compose extends Abstract { {(this.state.loadingWebView || this.state.webViewError) && - - {this.state.webViewError ? "Unable to Load Editor" : "Loading Editor..."} + + {this.state.webViewError ? "Unable to Load" : "LOADING"} + + + {noteEditor.content.name} } @@ -443,12 +446,22 @@ export default class Compose extends Abstract { display: "flex", alignItems: "center", justifyContent: 'center', + backgroundColor: StyleKit.variables.stylekitBackgroundColor }, loadingWebViewText: { paddingLeft: 0, color: StyleKit.variable("stylekitForegroundColor"), - opacity: 0.7 + opacity: 0.7, + fontSize: 22, + fontWeight: 'bold' + }, + + loadingWebViewSubtitle: { + paddingLeft: 0, + color: StyleKit.variable("stylekitForegroundColor"), + opacity: 0.7, + marginTop: 5 }, lockedText: { diff --git a/src/screens/Webview.js b/src/screens/Webview.js index 930eaedc..144b4cd7 100644 --- a/src/screens/Webview.js +++ b/src/screens/Webview.js @@ -62,7 +62,13 @@ export default class Webview extends Component { onFrameLoad = (event) => { ComponentManager.get().registerComponentWindow(this.editor, this.webView); - this.props.onLoadEnd(); + + // The parent will remove their loading screen on load end. We want to delay this by 100 + // to avoid flicker that may result if using a dark theme. This delay will allow editor + // to load its theme + setTimeout(() => { + this.props.onLoadEnd(); + }, 100); } onLoadStart = () => { @@ -86,7 +92,7 @@ export default class Webview extends Component { let bottomPadding = -34; // For some reason iOS inserts padding on bottom return ( - + Date: Wed, 2 Jan 2019 00:16:20 -0600 Subject: [PATCH 026/131] Note cell border color --- src/app.js | 8 +++---- src/containers/AuthModal.js | 2 +- src/{containers => screens/Notes}/NoteCell.js | 6 ++--- src/{containers => screens/Notes}/NoteList.js | 4 ++-- src/screens/{ => Notes}/Notes.js | 24 +++++++++---------- src/style/ActionSheetWrapper.js | 24 ++++++++++++++++++- src/style/StyleKit.js | 24 +------------------ 7 files changed, 46 insertions(+), 46 deletions(-) rename src/{containers => screens/Notes}/NoteCell.js (97%) rename src/{containers => screens/Notes}/NoteList.js (97%) rename src/screens/{ => Notes}/Notes.js (95%) diff --git a/src/app.js b/src/app.js index e88ed1f1..5bc00a89 100644 --- a/src/app.js +++ b/src/app.js @@ -13,12 +13,12 @@ import Sync from './lib/sfjs/syncManager' import Storage from './lib/sfjs/storageManager' import ReviewManager from './lib/reviewManager'; -import Compose from "./screens/Compose" -import Notes from "./screens/Notes" +import Compose from "@Screens/Compose" +import Notes from "@Screens/Notes/Notes" import MainSideMenu from "@SideMenu/MainSideMenu" import NoteSideMenu from "@SideMenu/NoteSideMenu" -import Settings from "./screens/Settings" -import InputModal from "./screens/InputModal" +import Settings from "@Screens/Settings" +import InputModal from "@Screens/InputModal" import SideMenuManager from "@SideMenu/SideMenuManager" diff --git a/src/containers/AuthModal.js b/src/containers/AuthModal.js index f6c9071d..26f3c2db 100644 --- a/src/containers/AuthModal.js +++ b/src/containers/AuthModal.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import { StyleSheet, View, FlatList, RefreshControl, ScrollView, Text, Modal, AppState } from 'react-native'; -import NoteCell from "./NoteCell" +import NoteCell from "@Screens/Notes/NoteCell" import Search from 'react-native-search-box' import StyleKit from "../style/StyleKit" import Authenticate from "../screens/Authenticate" diff --git a/src/containers/NoteCell.js b/src/screens/Notes/NoteCell.js similarity index 97% rename from src/containers/NoteCell.js rename to src/screens/Notes/NoteCell.js index ce889b99..0b8aa2de 100644 --- a/src/containers/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -1,10 +1,10 @@ import React, { Component } from 'react'; import { StyleSheet, View, Text, TouchableWithoutFeedback } from 'react-native'; import Icon from 'react-native-vector-icons/Ionicons'; -import StyleKit from "../style/StyleKit" +import StyleKit from "@Style/StyleKit" import ActionSheet from 'react-native-actionsheet' import ActionSheetWrapper from "@Style/ActionSheetWrapper" -import ItemActionManager from '../lib/itemActionManager' +import ItemActionManager from '@Lib/itemActionManager' import ThemedPureComponent from "@Components/ThemedPureComponent"; export default class NoteCell extends ThemedPureComponent { @@ -160,7 +160,7 @@ export default class NoteCell extends ThemedPureComponent { noteCell: { padding: padding, paddingRight: padding * 2, - borderBottomColor: StyleKit.variable("stylekitBorderColor"), + borderBottomColor: StyleKit.hexToRGBA(StyleKit.variables.stylekitBorderColor, 0.7), borderBottomWidth: 1, backgroundColor: StyleKit.variable("stylekitBackgroundColor"), }, diff --git a/src/containers/NoteList.js b/src/screens/Notes/NoteList.js similarity index 97% rename from src/containers/NoteList.js rename to src/screens/Notes/NoteList.js index caea03e0..3a598c3f 100644 --- a/src/containers/NoteList.js +++ b/src/screens/Notes/NoteList.js @@ -1,8 +1,8 @@ import React, { Component } from 'react'; import { StyleSheet, View, FlatList, RefreshControl, ScrollView, Text } from 'react-native'; -import NoteCell from "./NoteCell" +import NoteCell from "@Screens/Notes/NoteCell" import Search from 'react-native-search-box' -import StyleKit from "../style/StyleKit" +import StyleKit from "@Style/StyleKit" import ApplicationState from "@Lib/ApplicationState" export default class NoteList extends Component { diff --git a/src/screens/Notes.js b/src/screens/Notes/Notes.js similarity index 95% rename from src/screens/Notes.js rename to src/screens/Notes/Notes.js index 45974d6e..594ec975 100644 --- a/src/screens/Notes.js +++ b/src/screens/Notes/Notes.js @@ -1,23 +1,23 @@ import React, { Component } from 'react'; import { View, Text, Alert } from 'react-native'; -import ModelManager from '../lib/sfjs/modelManager' -import Storage from '../lib/sfjs/storageManager' -import Sync from '../lib/sfjs/syncManager' -import AlertManager from '../lib/sfjs/alertManager' +import ModelManager from '@SFJS/modelManager' +import Storage from '@SFJS/storageManager' +import Sync from '@SFJS/syncManager' +import AlertManager from '@SFJS/alertManager' -import Auth from '../lib/sfjs/authManager' -import KeysManager from '../lib/keysManager' -import Keychain from "../lib/keychain" +import Auth from '@SFJS/authManager' +import KeysManager from '@Lib/keysManager' +import Keychain from "@Lib/keychain" import SideMenuManager from "@SideMenu/SideMenuManager" -import Abstract from "./Abstract" -import StyleKit from "../style/StyleKit" -import NoteList from "../containers/NoteList" +import Abstract from "@Screens/Abstract" +import StyleKit from "@Style/StyleKit" +import NoteList from "@Screens/Notes/NoteList" import OptionsState from "@Lib/OptionsState" -import AuthModal from "../containers/AuthModal" -import LockedView from "../containers/LockedView" +import AuthModal from "@Containers/AuthModal" +import LockedView from "@Containers/LockedView" import ApplicationState from "@Lib/ApplicationState" import Icon from 'react-native-vector-icons/Ionicons'; diff --git a/src/style/ActionSheetWrapper.js b/src/style/ActionSheetWrapper.js index 0b7db91a..56974d5c 100644 --- a/src/style/ActionSheetWrapper.js +++ b/src/style/ActionSheetWrapper.js @@ -3,6 +3,7 @@ import { StyleSheet, StatusBar, Alert, Platform, Dimensions } from 'react-native import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" import ActionSheet from 'react-native-actionsheet' +import ApplicationState from "@Lib/ApplicationState" export default class ActionSheetWrapper { @@ -46,9 +47,30 @@ export default class ActionSheetWrapper { cancelButtonIndex={this.cancelIndex} destructiveButtonIndex={this.destructiveIndex} onPress={this.handleActionSheetPress} - {...StyleKit.actionSheetStyles()} + {...ActionSheetWrapper.actionSheetStyles()} /> ) } + static actionSheetStyles() { + return { + wrapperStyle: StyleKit.styles.actionSheetWrapper, + overlayStyle: StyleKit.styles.actionSheetOverlay, + bodyStyle : StyleKit.styles.actionSheetBody, + + buttonWrapperStyle: StyleKit.styles.actionSheetButtonWrapper, + buttonTitleStyle: StyleKit.styles.actionSheetButtonTitle, + + titleWrapperStyle: StyleKit.styles.actionSheetTitleWrapper, + titleTextStyle: StyleKit.styles.actionSheetTitleText, + tintColor: ApplicationState.isIOS ? undefined : StyleKit.variable("stylekitInfoColor"), + + buttonUnderlayColor: StyleKit.variable("stylekitBorderColor"), + + cancelButtonWrapperStyle: StyleKit.styles.actionSheetCancelButtonWrapper, + cancelButtonTitleStyle: StyleKit.styles.actionSheetCancelButtonTitle, + cancelMargin: StyleSheet.hairlineWidth + } + } + } diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 3a6176de..5e821c60 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -6,7 +6,6 @@ import { SFItemParams } from 'standard-file-js'; import Storage from "../lib/sfjs/storageManager" import Auth from "../lib/sfjs/authManager" import KeysManager from '../lib/keysManager' -import ApplicationState from "@Lib/ApplicationState" import CSSParser from "@Style/Util/CSSParser"; import ThemeDownloader from "@Style/Util/ThemeDownloader" import Icons from '@Style/Icons'; @@ -464,27 +463,6 @@ export default class StyleKit { } } - static actionSheetStyles() { - return { - wrapperStyle: StyleKit.styles.actionSheetWrapper, - overlayStyle: StyleKit.styles.actionSheetOverlay, - bodyStyle : StyleKit.styles.actionSheetBody, - - buttonWrapperStyle: StyleKit.styles.actionSheetButtonWrapper, - buttonTitleStyle: StyleKit.styles.actionSheetButtonTitle, - - titleWrapperStyle: StyleKit.styles.actionSheetTitleWrapper, - titleTextStyle: StyleKit.styles.actionSheetTitleText, - tintColor: ApplicationState.isIOS ? undefined : StyleKit.variable("stylekitInfoColor"), - - buttonUnderlayColor: StyleKit.variable("stylekitBorderColor"), - - cancelButtonWrapperStyle: StyleKit.styles.actionSheetCancelButtonWrapper, - cancelButtonTitleStyle: StyleKit.styles.actionSheetCancelButtonTitle, - cancelMargin: StyleSheet.hairlineWidth - } - } - static getColorLuminosity(hexCode) { var c = hexCode; c = c.substring(1); // strip # @@ -516,7 +494,7 @@ export default class StyleKit { } static hexToRGBA(hex, alpha) { - if(!hex) { + if(!hex || !hex.startsWith("#")) { return null; } var c; From 35915ad8eb4ead8821e7afba687fff7bcbe0dda9 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 2 Jan 2019 00:23:52 -0600 Subject: [PATCH 027/131] Fix issue with flashing side menu --- src/screens/Notes/NoteCell.js | 2 +- src/screens/SideMenu/MainSideMenu.js | 6 +++--- src/screens/SideMenu/NoteSideMenu.js | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/screens/Notes/NoteCell.js b/src/screens/Notes/NoteCell.js index 0b8aa2de..082fa61f 100644 --- a/src/screens/Notes/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -160,7 +160,7 @@ export default class NoteCell extends ThemedPureComponent { noteCell: { padding: padding, paddingRight: padding * 2, - borderBottomColor: StyleKit.hexToRGBA(StyleKit.variables.stylekitBorderColor, 0.7), + borderBottomColor: StyleKit.hexToRGBA(StyleKit.variables.stylekitBorderColor, 0.75), borderBottomWidth: 1, backgroundColor: StyleKit.variable("stylekitBackgroundColor"), }, diff --git a/src/screens/SideMenu/MainSideMenu.js b/src/screens/SideMenu/MainSideMenu.js index d6d6015b..5004a8b0 100644 --- a/src/screens/SideMenu/MainSideMenu.js +++ b/src/screens/SideMenu/MainSideMenu.js @@ -121,7 +121,8 @@ export default class MainSideMenu extends AbstractSideMenu { } if(!this.handler || SideMenuManager.get().isLeftSideMenuLocked()) { - return null + // Return empty, but colored view + return ; } let themeOptions = this.buildOptionsForThemes(); @@ -182,9 +183,8 @@ export default class MainSideMenu extends AbstractSideMenu { flexDirection: "column" }, hero: { - height: 75, + height: 65, padding: 15, - paddingTop: 25, backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor, borderBottomColor: StyleKit.variables.stylekitContrastBorderColor, borderBottomWidth: 1 diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index d44dace7..cfb3f80e 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -200,7 +200,7 @@ export default class NoteSideMenu extends AbstractSideMenu { } if(!this.handler || SideMenuManager.get().isRightSideMenuLocked()) { - return null; + return ; } let editorOptions = this.buildOptionsForEditors(); From eefb3f1c05dff5164bb96405a22b8ae542524e6d Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 2 Jan 2019 21:49:13 -0600 Subject: [PATCH 028/131] Refactored authentication logic. +AuthenticationSourcesand -AuthModal --- src/app.js | 8 +- src/components/SectionHeader.js | 27 ++- src/containers/AuthModal.js | 160 ------------------ src/containers/LockedView.js | 2 +- src/lib/ApplicationState.js | 34 ++-- src/screens/Abstract.js | 2 - src/screens/Authentication/Authenticate.js | 160 ++++++++++++++++++ .../Sources/AuthenticationSource.js | 45 +++++ .../AuthenticationSourceAccountPassword.js | 56 ++++++ .../AuthenticationSourceFingerprint.js | 77 +++++++++ .../AuthenticationSourceLocalPasscode.js | 68 ++++++++ .../_Authenticate.js} | 0 src/screens/InputModal.js | 103 +++++++++-- src/screens/Notes/Notes.js | 65 +++++-- src/screens/Settings.js | 54 +++--- src/screens/SideMenu/NoteSideMenu.js | 2 +- src/screens/SideMenu/TagSelectionList.js | 2 +- 17 files changed, 617 insertions(+), 248 deletions(-) delete mode 100644 src/containers/AuthModal.js create mode 100644 src/screens/Authentication/Authenticate.js create mode 100644 src/screens/Authentication/Sources/AuthenticationSource.js create mode 100644 src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js create mode 100644 src/screens/Authentication/Sources/AuthenticationSourceFingerprint.js create mode 100644 src/screens/Authentication/Sources/AuthenticationSourceLocalPasscode.js rename src/screens/{Authenticate.js => Authentication/_Authenticate.js} (100%) diff --git a/src/app.js b/src/app.js index 5bc00a89..b99de0e9 100644 --- a/src/app.js +++ b/src/app.js @@ -19,6 +19,7 @@ import MainSideMenu from "@SideMenu/MainSideMenu" import NoteSideMenu from "@SideMenu/NoteSideMenu" import Settings from "@Screens/Settings" import InputModal from "@Screens/InputModal" +import Authenticate from "@Screens/Authentication/Authenticate" import SideMenuManager from "@SideMenu/SideMenuManager" @@ -70,10 +71,15 @@ const InputModalStack = createStackNavigator({ Screen1: InputModal }) +const AuthenticateModalStack = createStackNavigator({ + Screen1: Authenticate +}) + const AppDrawer = createStackNavigator({ Home: AppDrawerStack, Settings: SettingsStack, - InputModal: InputModalStack + InputModal: InputModalStack, + Authenticate: AuthenticateModalStack }, { mode: "modal", headerMode: 'none', diff --git a/src/components/SectionHeader.js b/src/components/SectionHeader.js index bb3d596b..40491389 100644 --- a/src/components/SectionHeader.js +++ b/src/components/SectionHeader.js @@ -9,11 +9,16 @@ export default class SectionHeader extends ThemedComponent { var title = this.props.title; if(Platform.OS == "ios") { title = title.toUpperCase(); } return ( - - {title} + + + {title} + {this.props.subtitle && + {this.props.subtitle} + } + {this.props.buttonText && - {this.props.buttonText} + {this.props.buttonText} } @@ -22,7 +27,7 @@ export default class SectionHeader extends ThemedComponent { loadStyles() { this.styles = { - sectionHeaderContainer: { + container: { flex: 1, flexGrow: 0, justifyContent: "space-between", @@ -33,7 +38,7 @@ export default class SectionHeader extends ThemedComponent { backgroundColor: StyleKit.variables.stylekitBackgroundColor }, - sectionHeader: { + title: { backgroundColor: StyleKit.variables.stylekitBackgroundColor, fontSize: StyleKit.constants.mainTextFontSize - 4, paddingLeft: StyleKit.constants.paddingLeft, @@ -41,11 +46,19 @@ export default class SectionHeader extends ThemedComponent { fontWeight: Platform.OS == "android" ? "bold" : "normal" }, - sectionHeaderButton: { + subtitle: { + backgroundColor: StyleKit.variables.stylekitBackgroundColor, + fontSize: StyleKit.constants.mainTextFontSize - 5, + marginTop: 4, + paddingLeft: StyleKit.constants.paddingLeft, + color: StyleKit.variables.stylekitNeutralColor, + }, + + button: { color: StyleKit.variables.stylekitInfoColor }, - sectionHeaderAndroid: { + titleAndroid: { fontSize: StyleKit.constants.mainTextFontSize - 2, color: StyleKit.variables.stylekitInfoColor }, diff --git a/src/containers/AuthModal.js b/src/containers/AuthModal.js deleted file mode 100644 index 26f3c2db..00000000 --- a/src/containers/AuthModal.js +++ /dev/null @@ -1,160 +0,0 @@ -import React, { Component } from 'react'; -import { StyleSheet, View, FlatList, RefreshControl, ScrollView, Text, Modal, AppState } from 'react-native'; -import NoteCell from "@Screens/Notes/NoteCell" -import Search from 'react-native-search-box' -import StyleKit from "../style/StyleKit" -import Authenticate from "../screens/Authenticate" -import ApplicationState from "@Lib/ApplicationState" - -/* - - Wednesday, Sept 12, 2018: - There was an issue which could be best replicated in Android by either: - 1. Going into Developer settings, disabling background activities. - Then open app with Fingperint on quit, close app, reopen, and you would see blank screen with just "Notes" - 2. Pressing r+r / cmr + r in dev mode with fingerprint on quit. - - This issue would result in blank screen, because this.state.visible would never be set to true, because - the application states that would trigger an actual authentication were being propagted before the observer was registered. - (i.e ApplicationStateLaunching). - - So, as part of one fix, when we register an observer, we now forward previous events. - - However, after received previous events like Launching, we would have quickly received other events like "Resuming". - Launching would require passcode, but resuming wouldn't, so this.state.visible would be set to true, then quickly to set to false, - never giving the chance for authentication to be visible. - - To fix this, when we set visible to true, we set the flag this.didSetVisibleToTrue = visible, and don't update the state again after that if this - flag is true. - - Finally, because in the constructor we would access the most recent state, which would not always be an authentication state, - the Authenticate componenet would be initialized with the first value of authProps, and never updated. - So now we initialize with empty values, and in the render method, return empty if false (so we don't initialize unwanted Authenticate component). -*/ - -export default class AuthModal extends Component { - - constructor(props) { - super(props); - - this.state = { - authProps: {} - }; - } - - componentWillUnmount() { - ApplicationState.get().removeStateObserver(this.stateObserver); - } - - componentDidMount() { - this.mounted = true; - - this.stateObserver = ApplicationState.get().addStateObserver((state) => { - if(!this.didSetVisibleToTrue && ApplicationState.get().isStateAppCycleChange(state) - && !ApplicationState.get().isAuthenticationInProgress()) { - let authProps = ApplicationState.get().getAuthenticationPropsForAppState(state); - let visible = (authProps.passcode || authProps.fingerprint) || false; - this.setState({ - authProps: authProps, - applicationState: state, - visible: visible - }, () => { - // setState is async, we want to wait for this callback before calling this. - this.beginAuthIfNecessary(); - }); - this.didSetVisibleToTrue = visible; - - // After coming inside this part of the code, it means we're handling auth props as we needed. - // We should now clear previous event history. Otherwise, if we go to the background and come back, - // all events will be forwared again, like Launch event, meaning things set to On Quit will be prompted - // when coming back from the background. - ApplicationState.get().clearEventHistory(); - } else { - // We want to set the applicationState here either way in case we don't make it inside the above if clause. - // This way beginAuthIfNecessary has the correct most recent state, and can use that to make the best decision - // as to whether it should begin auth. - this.setState({applicationState: state}); - this.beginAuthIfNecessary(); - } - }); - - if(this.beginAuthOnMount) { - this.beginAuthOnMount = false; - this.beginAuth(); - } - } - - beginAuthIfNecessary() { - // Note that the comment below wasn't updated as part of the huge lock fix updates in 9/2018: - - // Once visible is true even once, we need to lock it in place, - // and only make it in-visible after authentication completes. - // This value is checked above in the application state observer to make sure we - // don't accidentally change the value and dismiss this while its in view - - if(!ApplicationState.get().isAuthenticationInProgress()) { - if(this.state.applicationState == ApplicationState.Launching || this.state.applicationState == ApplicationState.Resuming) { - if(this.mounted && this.state.visible) { - this.beginAuth(); - } else { - this.beginAuthOnMount = true; - } - } - } - } - - beginAuth() { - if(!this.state.visible) { - console.error("Not supposed to call beginAuth before visible."); - } - - try { - this.refs.authenticate.beginAuthentication(); - ApplicationState.get().setAuthenticationInProgress(true); - } catch (e) { - console.error("Unable to begin auth", e); - } - } - - onAuthenticateSuccess = () => { - // First hide Modal - this.setState({visible: false}); - this.didSetVisibleToTrue = false; - this.forceUpdate(); - - // Wait for it to begin dismissing, then trigger callback. Otherwise, AuthModal can be deallocated before Modal is removed, causing problems. - setTimeout(() => { - this.state.authProps.onAuthenticate(); - }, 0); - } - - render() { - if(!this.state.visible) { - return ; - } - - let authProps = this.state.authProps; - return ( - - {}}> - - - - - ) - } - -} diff --git a/src/containers/LockedView.js b/src/containers/LockedView.js index 29d0a273..39322327 100644 --- a/src/containers/LockedView.js +++ b/src/containers/LockedView.js @@ -11,7 +11,7 @@ export default class LockedView extends Component { render() { let color = StyleKit.variable("stylekitInfoColor"); - var styles = [StyleKit.styles.centeredContainer]; + var styles = [StyleKit.styles.centeredContainer, {backgroundColor: StyleKit.variables.stylekitBackgroundColor}]; if(this.props.style) { styles.push(this.props.style); } diff --git a/src/lib/ApplicationState.js b/src/lib/ApplicationState.js index 9fd9f30a..4260ec6b 100644 --- a/src/lib/ApplicationState.js +++ b/src/lib/ApplicationState.js @@ -1,6 +1,8 @@ import {AppState, Platform} from 'react-native' import KeysManager from "@Lib/keysManager" import OptionsState from "@Lib/OptionsState" +import AuthenticationSourceLocalPasscode from "@Screens/Authentication/Sources/AuthenticationSourceLocalPasscode"; +import AuthenticationSourceFingerprint from "@Screens/Authentication/Sources/AuthenticationSourceFingerprint"; var pjson = require('../package.json') export default class ApplicationState { @@ -87,7 +89,7 @@ export default class ApplicationState { // Sent from App.js receiveApplicationStartEvent() { var authProps = this.getAuthenticationPropsForAppState(ApplicationState.Launching); - if(!authProps.passcode && !authProps.fingerprint) { + if(authProps.sources.length == 0) { this.unlockApplication(); } } @@ -98,12 +100,13 @@ export default class ApplicationState { return; } - var isResuming = nextAppState === "active"; + // if the most recent state is not 'background' ('inactive'), then we're going + // from inactive to active, which doesn't really happen unless you, say, swipe + // notification center in iOS down then back up. We don't want to lock on this state change. + var isResuming = nextAppState === "active" && this.mostRecentState == "background"; var isEnteringBackground = nextAppState == 'background'; var isLosingFocus = nextAppState == 'inactive'; - // console.log("APP STATE CHANGE FROM", this.mostRecentState, "TO STATE", this.applicationStateForNativeState(nextAppState)); - if(isEnteringBackground) { this.didEnterBackground(); } @@ -117,20 +120,6 @@ export default class ApplicationState { } } - applicationStateForNativeState(nativeState) { - if(nativeState == 'active') { - return ApplicationState.Resuming; - } - - if(nativeState == 'background') { - return ApplicationState.Backgrounding; - } - - if(nativeState == 'inactive') { - return ApplicationState.LosingFocus; - } - } - // An app cycle change are natural events like active, inactive, background, // while non-app cycle events are custom events like locking and unlocking @@ -263,7 +252,7 @@ export default class ApplicationState { getAuthenticationPropsForAppState(state) { if(state == ApplicationState.Unlocking || state == ApplicationState.Locking) { - return {}; + return {sources: []}; } var hasPasscode = KeysManager.get().hasOfflinePasscode(); @@ -278,10 +267,13 @@ export default class ApplicationState { var title = showPasscode && showFingerprint ? "Authentication Required" : (showPasscode ? "Passcode Required" : "Fingerprint Required"); + let sources = []; + if(showPasscode) { sources.push(new AuthenticationSourceLocalPasscode()); } + if(showFingerprint) { sources.push(new AuthenticationSourceFingerprint()); } + return { title: title, - passcode: showPasscode || false, - fingerprint: showFingerprint || false, + sources: sources, onAuthenticate: this.unlockApplication.bind(this) } } diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 98716d8b..90cf7fa6 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -131,8 +131,6 @@ export default class Abstract extends ThemedComponent { } componentWillFocus() { - this.willUnmount = false; - this.mounted = false; if(ApplicationState.get().isUnlocked() && this.state.lockContent) { this.unlockContent(); } diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js new file mode 100644 index 00000000..6ebf7d3c --- /dev/null +++ b/src/screens/Authentication/Authenticate.js @@ -0,0 +1,160 @@ +import React, { Component } from 'react'; +import { TextInput, View, Text, Alert, Button, ScrollView } from 'react-native'; + +import Abstract from "@Screens/Abstract" +import SectionHeader from "@Components/SectionHeader"; +import ButtonCell from "@Components/ButtonCell"; +import TableSection from "@Components/TableSection"; +import SectionedTableCell from "@Components/SectionedTableCell"; +import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; +import SectionedOptionsTableCell from "@Components/SectionedOptionsTableCell"; +import StyleKit from "@Style/StyleKit" +import Icon from 'react-native-vector-icons/Ionicons'; +import KeysManager from "@Lib/keysManager"; + +export default class Authenticate extends Abstract { + + static navigationOptions = ({ navigation, navigationOptions }) => { + let templateOptions = { + title: "Authentication Required", + } + return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); + }; + + constructor(props) { + super(props); + + for(let source of this.sources) { + source.onRequiresInterfaceReload = () => { + this.forceUpdate(); + } + } + + if(__DEV__) { + props.navigation.setParams({ + rightButton: { + title: "Clear", + onPress: () => { + KeysManager.get().clearAccountKeysAndData(); + KeysManager.get().clearOfflineKeysAndData(); + } + } + }) + } + + this.pendingSources = this.sources.slice(); + this.successfulSources = []; + } + + componentDidMount() { + this.beginNextAuthentication(); + } + + get sources() { + return this.getProp("authenticationSources"); + } + + beginNextAuthentication() { + let firstSource = this.pendingSources[0]; + this.beginAuthenticationForSource(firstSource); + } + + async beginAuthenticationForSource(source) { + if(source.type == "biometric") { + // Begin authentication right away, we're not waiting for any input + this.validateAuthentication(source); + } else if(source.type == "input") { + if(source.inputRef) { + source.inputRef.focus(); + } + } + this.setState({activeSource: source}); + this.forceUpdate(); + } + + async validateAuthentication(source) { + let result = await source.authenticate(); + if(source.isInSuccessState()) { + this.successfulSources.push(source); + _.remove(this.pendingSources, source); + } else { + if(result.error && result.error.message) { + Alert.alert("Unsuccessful", result.error.message); + } + } + + if(this.successfulSources.length == this.sources.length) { + this.onSuccess(); + } else { + this.beginNextAuthentication(); + } + } + + onSuccess() { + this.getProp("onSuccess")(); + this.dismiss(); + } + + inputTextChanged(text, source) { + source.setAuthenticationValue(text); + this.forceUpdate(); + } + + _renderAuthenticationSoure = (source) => { + + const inputAuthenticationSource = (source) => ( + + + {}}> + {source.inputRef = ref}} + style={StyleKit.styles.sectionedTableCellTextInput} + placeholder={source.inputPlaceholder} + onChangeText={(text) => {this.inputTextChanged(text, source)}} + value={source.getAuthenticationValue()} + autoCorrect={false} + autoFocus={false} + autoCapitalize={'none'} + secureTextEntry={true} + keyboardType={source.keyboardType || "default"} + underlineColorAndroid={'transparent'} + placeholderTextColor={StyleKit.variables.stylekitNeutralColor} + onSubmitEditing={() => {this.validateAuthentication(source)}} + /> + + + ) + + const biometricAuthenticationSource = (source) => ( + + + {}}> + + + ) + + return ( + + {source.type == "input" && + inputAuthenticationSource(source) + } + {source.type == "biometric" && + biometricAuthenticationSource(source) + } + + ) + } + + render() { + return ( + + + {this.sources.map((source) => { + return this._renderAuthenticationSoure(source) + })} + + + ) + } + +} diff --git a/src/screens/Authentication/Sources/AuthenticationSource.js b/src/screens/Authentication/Sources/AuthenticationSource.js new file mode 100644 index 00000000..615d0999 --- /dev/null +++ b/src/screens/Authentication/Sources/AuthenticationSource.js @@ -0,0 +1,45 @@ +export default class AuthenticationSource { + constructor() { + this.status = "waiting"; + } + + get identifier() { + return "auth-source"; + } + + get label() { + return "Not Configured"; + } + + didBegin() { + this.status = "did-begin"; + } + + didSucceed() { + this.status = "did-succeed"; + } + + didFail() { + this.status = "did-fail"; + } + + isInSuccessState() { + return this.status == "did-succeed"; + } + + setAuthenticationValue(value) { + this.authenticationValue = value; + } + + getAuthenticationValue(value) { + return this.authenticationValue; + } + + async authenticate() { + + } + + requiresInterfaceReload() { + this.onRequiresInterfaceReload && this.onRequiresInterfaceReload(); + } +} diff --git a/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js b/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js new file mode 100644 index 00000000..b3404b19 --- /dev/null +++ b/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js @@ -0,0 +1,56 @@ +import SF from '@SFJS/sfjs' +import Storage from '@SFJS/storageManager' +import KeysManager from '@Lib/keysManager' +import AuthenticationSource from "./AuthenticationSource" + +export default class AuthenticationSourceAccountPassword extends AuthenticationSource { + constructor() { + super(); + } + + get identifier() { + return "account-password-auth-source"; + } + + get title() { + return "Account Password"; + } + + get label() { + switch (this.status) { + case "waiting": + return "Enter your account password" + case "did-begin": + return "Verifying keys..."; + case "did-succeed": + return "Success | Account Password" + default: + return "Status not accounted for: " + this.status + } + } + + get type() { + return "input"; + } + + get inputPlaceholder() { + return "Account Password"; + } + + async authenticate() { + this.didBegin(); + + // TODO + return this._success(); + } + + _success() { + this.didSucceed(); + return {success: true}; + } + + _fail(message) { + this.didFail(); + return {success: false, error: {message: message}}; + } +} diff --git a/src/screens/Authentication/Sources/AuthenticationSourceFingerprint.js b/src/screens/Authentication/Sources/AuthenticationSourceFingerprint.js new file mode 100644 index 00000000..fa21d218 --- /dev/null +++ b/src/screens/Authentication/Sources/AuthenticationSourceFingerprint.js @@ -0,0 +1,77 @@ +import FingerprintScanner from 'react-native-fingerprint-scanner' +import ApplicationState from "@Lib/ApplicationState" +import AuthenticationSource from "./AuthenticationSource" + +export default class AuthenticationSourceFingerprint extends AuthenticationSource { + constructor() { + super(); + } + + get identifier() { + return "fingerprint-auth-source"; + } + + get type() { + return "biometric"; + } + + get title() { + return "Fingerprint"; + } + + get label() { + switch (this.status) { + case "did-begin": + return "Waiting for Fingerprint"; + case "waiting": + return "Please scan your fingerprint" + case "did-succeed": + return "Success | Fingerprint" + default: + return "Status not accounted for" + } + } + + async authenticate() { + this.didBegin(); + + if(ApplicationState.isAndroid) { + return FingerprintScanner.authenticate({ + // onAttempt: this.handleInvalidAttempt + }).then(() => { + return this._success(); + }) + .catch((error) => { + return this._fail("Authentication failed. Tap to try again."); + }); + } else { + // iOS + return FingerprintScanner.authenticate({ + fallbackEnabled: true, + description: 'Fingerprint is required to access your notes.' }) + .then(() => { + return this._success(); + }) + .catch((error) => { + if(error.name == "UserCancel") { + return this._fail(); + } else { + return this._fail("Authentication failed. Tap to try again."); + } + } + ); + } + } + + _success() { + this.didSucceed(); + FingerprintScanner.release(); + return {success: true}; + } + + _fail(message) { + this.didFail(); + return {success: false, error: {message: message}}; + FingerprintScanner.release(); + } +} diff --git a/src/screens/Authentication/Sources/AuthenticationSourceLocalPasscode.js b/src/screens/Authentication/Sources/AuthenticationSourceLocalPasscode.js new file mode 100644 index 00000000..d1af7549 --- /dev/null +++ b/src/screens/Authentication/Sources/AuthenticationSourceLocalPasscode.js @@ -0,0 +1,68 @@ +import SF from '@SFJS/sfjs' +import Storage from '@SFJS/storageManager' +import KeysManager from '@Lib/keysManager' +import AuthenticationSource from "./AuthenticationSource" + +export default class AuthenticationSourceLocalPasscode extends AuthenticationSource { + constructor() { + super(); + + Storage.get().getItem("passcodeKeyboardType").then((result) => { + this.keyboardType = result || 'default'; + this.requiresInterfaceReload(); + }); + } + + get identifier() { + return "local-passcode-auth-source"; + } + + get title() { + return "Local Passcode"; + } + + get label() { + switch (this.status) { + case "waiting": + return "Enter your local passcode" + case "did-begin": + return "Verifying keys..."; + case "did-fail": + return "Invalid local passcode. Please try again." + case "did-succeed": + return "Success | Local Passcode" + default: + return "Status not accounted for: " + this.status + } + } + + get type() { + return "input"; + } + + get inputPlaceholder() { + return "Local Passcode"; + } + + async authenticate() { + this.didBegin(); + var authParams = KeysManager.get().offlineAuthParams; + let keys = await SF.get().crypto.computeEncryptionKeysForUser(this.authenticationValue, authParams); + if(keys.pw === KeysManager.get().offlinePasscodeHash()) { + KeysManager.get().setOfflineKeys(keys); + return this._success(); + } else { + return this._fail("Invalid local passcode. Please try again."); + } + } + + _success() { + this.didSucceed(); + return {success: true}; + } + + _fail(message) { + this.didFail(); + return {success: false, error: {message: message}}; + } +} diff --git a/src/screens/Authenticate.js b/src/screens/Authentication/_Authenticate.js similarity index 100% rename from src/screens/Authenticate.js rename to src/screens/Authentication/_Authenticate.js diff --git a/src/screens/InputModal.js b/src/screens/InputModal.js index a23b5437..09092e17 100644 --- a/src/screens/InputModal.js +++ b/src/screens/InputModal.js @@ -1,12 +1,13 @@ import React, { Component } from 'react'; -import { TextInput, View, TouchableHighlight, Platform} from 'react-native'; -import StyleKit from "../style/StyleKit" -import TableSection from "../components/TableSection"; -import SectionedTableCell from "../components/SectionedTableCell"; -import SectionHeader from "../components/SectionHeader"; -import ButtonCell from "../components/ButtonCell"; -import Abstract from "./Abstract" -import LockedView from "../containers/LockedView"; +import { TextInput, View, Keyboard, TouchableHighlight, Platform, Alert } from 'react-native'; +import StyleKit from "@Style/StyleKit" +import TableSection from "@Components/TableSection"; +import SectionedTableCell from "@Components/SectionedTableCell"; +import SectionedOptionsTableCell from "@Components/SectionedOptionsTableCell"; +import SectionHeader from "@Components/SectionHeader"; +import ButtonCell from "@Components/ButtonCell"; +import Abstract from "@Screens/Abstract" +import LockedView from "@Containers/LockedView"; export default class InputModal extends Abstract { @@ -31,6 +32,9 @@ export default class InputModal extends Abstract { } }) + this.requireConfirm = this.getProp("requireConfirm"); + this.showKeyboardChooser = this.getProp("showKeyboardChooser"); + this.constructState({text: this.getProp("initialValue") || ""}); } @@ -38,14 +42,32 @@ export default class InputModal extends Abstract { this.props.navigation.goBack(null); } - onSave = () => { + onTextSubmit = () => { + if(this.requireConfirm && !this.state.confirmText) { + this.confirmInputRef.focus(); + } else { + this.submit(); + } + } + + onConfirmSubmit = () => { + this.submit(); + } + + submit = () => { + if(this.requireConfirm) { + if(this.state.text !== this.state.confirmText) { + Alert.alert('Invalid Confirmation', "The two values you entered do not match. Please try again.", [{text: 'OK'}]) + return; + } + } if(this.getProp("validate")) { if(!this.getProp("validate")(this.state.text)) { this.getProp("onError")(this.state.text); return; } } - this.getProp("onSave")(this.state.text); + this.getProp("onSubmit")(this.state.text); this.dismiss(); } @@ -53,16 +75,46 @@ export default class InputModal extends Abstract { this.setState({text: text}) } + onConfirmTextChange = (text) => { + this.setState({confirmText: text}); + } + + refreshKeyboard() { + if(ApplicationState.isIOS) { + // on Android, keyboard will update right away + Keyboard.dismiss(); + setTimeout(() => { + this.refs.input.focus(); + }, 100); + } + } + + onKeyboardOptionsSelect(option) { + this.keyboardType = option.key; + this.refreshKeyboard(); + this.getProp("onKeyboardTypeChange")(option.key); + } + render() { if(this.state.lockContent) { return (); } + let keyboardOptions = [ + {title: "General", key: "default", selected: this.keyboardType == "default"}, + {title: "Numeric", key: "numeric", selected: this.keyboardType == "numeric"} + ] + + let keyboardOptionsCell = ( + + ) + return ( {this.inputRef = ref}} style={[StyleKit.styles.sectionedTableCellTextInput]} placeholder={this.getProp("placeholder")} onChangeText={this.onTextChange} @@ -72,11 +124,38 @@ export default class InputModal extends Abstract { autoFocus={true} placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} underlineColorAndroid={'transparent'} - onSubmitEditing={this.onSave.bind(this)} + onSubmitEditing={this.onTextSubmit.bind(this)} /> - this.onSave()} /> + {this.requireConfirm && + + {this.confirmInputRef = ref}} + style={[StyleKit.styles.sectionedTableCellTextInput]} + placeholder={this.getProp("confirmPlaceholder")} + onChangeText={this.onConfirmTextChange} + value={this.state.confirmText} + autoCorrect={false} + autoCapitalize={'none'} + placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} + underlineColorAndroid={'transparent'} + onSubmitEditing={this.onConfirmSubmit.bind(this)} + /> + + } + + {this.showKeyboardChooser && + keyboardOptionsCell + } + + this.submit()} + /> diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 594ec975..df494672 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -16,10 +16,13 @@ import Abstract from "@Screens/Abstract" import StyleKit from "@Style/StyleKit" import NoteList from "@Screens/Notes/NoteList" import OptionsState from "@Lib/OptionsState" -import AuthModal from "@Containers/AuthModal" import LockedView from "@Containers/LockedView" import ApplicationState from "@Lib/ApplicationState" +import AuthenticationSourceAccountPassword from "@Screens/Authentication/Sources/AuthenticationSourceAccountPassword"; +import AuthenticationSourceLocalPasscode from "@Screens/Authentication/Sources/AuthenticationSourceLocalPasscode"; +import AuthenticationSourceFingerprint from "@Screens/Authentication/Sources/AuthenticationSourceFingerprint"; + import Icon from 'react-native-vector-icons/Ionicons'; import FAB from 'react-native-fab'; @@ -28,8 +31,6 @@ export default class Notes extends Abstract { constructor(props) { super(props); - this.rendersLockscreen = true; - props.navigation.setParams({ title: "Notes", leftButton: { @@ -42,24 +43,56 @@ export default class Notes extends Abstract { }) this.stateObserver = ApplicationState.get().addStateObserver((state) => { - if(state == ApplicationState.Resuming) { + let authProps = ApplicationState.get().getAuthenticationPropsForAppState(state); + if(authProps.sources.length > 0) { + this.presentAuthenticationModal(authProps); + } + + else if(state == ApplicationState.Resuming) { // we only want to perform sync here if the app is resuming, not if it's a fresh start if(this.dataLoaded) { Sync.get().sync(); } - - var authProps = ApplicationState.get().getAuthenticationPropsForAppState(state); - if((authProps.passcode || authProps.fingerprint)) { - // Android can handle presenting modals no matter which screen you're on - if(ApplicationState.isIOS) { - // The auth modal is only presented if the Notes screen is visible. - this.props.navigation.popToTop(); - } - } } }) } + componentDidMount() { + super.componentDidMount(); + if(this.authOnMount) { + // Perform in timeout to avoid stutter when presenting modal on initial app start. + setTimeout(() => { + this.presentAuthenticationModal(this.authOnMount); + this.authOnMount = null; + }, 20); + } + } + + presentAuthenticationModal(authProps) { + if(!this.isMounted()) { + console.log("Not yet mounted, not authing."); + this.authOnMount = authProps; + return; + } + + + if(this.authenticationInProgress) { + console.log('Not presenting auth modal because one is already presented.'); + return; + } + + this.authenticationInProgress = true; + + this.props.navigation.navigate("Authenticate", { + authenticationSources: authProps.sources, + onSuccess: () => { + console.log("Authentication Success."); + authProps.onAuthenticate(); + this.authenticationInProgress = false; + } + }); + } + unlockContent() { super.unlockContent(); this.configureNavBar(true); @@ -81,10 +114,6 @@ export default class Notes extends Abstract { super.loadInitialState(); } - componentDidMount() { - super.componentDidMount(); - } - componentWillUnmount() { super.componentWillUnmount(); ApplicationState.get().removeStateObserver(this.stateObserver); @@ -368,7 +397,7 @@ export default class Notes extends Abstract { render() { if(this.state.lockContent) { - return ; + return ; } var result = ModelManager.get().getNotes(this.options); diff --git a/src/screens/Settings.js b/src/screens/Settings.js index ae958cac..d565788d 100644 --- a/src/screens/Settings.js +++ b/src/screens/Settings.js @@ -4,9 +4,10 @@ import {ScrollView, View, Alert, Keyboard, Linking, Platform, Share, NativeModul import Sync from '../lib/sfjs/syncManager' import ModelManager from '../lib/sfjs/modelManager' import AlertManager from '../lib/sfjs/alertManager' +import SF from '@SFJS/sfjs' import Auth from '../lib/sfjs/authManager' -import KeysManager from '../lib/keysManager' +import KeysManager from '@Lib/keysManager' import UserPrefsManager from '../lib/userPrefsManager' import OptionsState from "@Lib/OptionsState" @@ -16,8 +17,7 @@ import TableSection from "../components/TableSection"; import SectionedTableCell from "../components/SectionedTableCell"; import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCell"; import Abstract from "./Abstract" -import Authenticate from "./Authenticate" -import AuthModal from "../containers/AuthModal" +import Authenticate from "@Screens/Authentication/Authenticate" import AuthSection from "../containers/account/AuthSection" import RegistrationConfirmSection from "../containers/account/RegistrationConfirmSection" import OptionsSection from "../containers/account/OptionsSection" @@ -362,29 +362,35 @@ export default class Settings extends Abstract { } onPasscodeEnable = () => { - Navigation.showModal({ - stack: { - children: [{ - component: { - name: 'sn.Authenticate', - passProps: { - mode: "setup", - onSetupSuccess: () => { - var encryptionSource = KeysManager.get().encryptionSource(); - if(encryptionSource == "offline") { - this.resaveOfflineData(null, true); - } - } - }, - options: { - topBar: { - title: { - text: 'Setup Passcode', - } - } + this.props.navigation.navigate("InputModal", { + placeholder: "Enter a passcode", + confirmPlaceholder: "Confirm your passcode", + requireConfirm: true, + showKeyboardChooser: true, + onSubmit: async (value) => { + console.log("Setting up local passcode", value); + let identifier = await SF.get().crypto.generateUUID(); + + SF.get().crypto.generateInitialKeysAndAuthParamsForUser(identifier, value).then((results) => { + let keys = results.keys; + let authParams = results.authParams; + + // make sure it has valid items + if(_.keys(keys).length > 0) { + KeysManager.get().persistOfflineKeys(keys); + KeysManager.get().setOfflineAuthParams(authParams); + var encryptionSource = KeysManager.get().encryptionSource(); + if(encryptionSource == "offline") { + this.resaveOfflineData(null, true); } + } else { + this.mergeState({setupButtonText: SAVE_BUTTON_DEFAULT_TEXT, setupButtonEnabled: true}); + Alert.alert("Passcode Error", "There was an error setting up your passcode. Please try again."); } - }] + }); + }, + onKeyboardTypeChange: (type) => { + Storage.get().setItem("passcodeKeyboardType", type); } }); } diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index cfb3f80e..f869ddc2 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -90,7 +90,7 @@ export default class NoteSideMenu extends AbstractSideMenu { this.props.navigation.navigate("InputModal", { title: 'New Tag', placeholder: "New tag name", - onSave: (text) => { + onSubmit: (text) => { this.createTag(text, (tag) => { if(this.note) { // select this tag diff --git a/src/screens/SideMenu/TagSelectionList.js b/src/screens/SideMenu/TagSelectionList.js index 6089ec7e..9b83024e 100644 --- a/src/screens/SideMenu/TagSelectionList.js +++ b/src/screens/SideMenu/TagSelectionList.js @@ -85,7 +85,7 @@ class TagSelectionList extends Component { title: 'Rename Tag', placeholder: "Tag name", initialValue: tag.title, - onSave: (text) => { + onSubmit: (text) => { if(tag) { tag.title = text; // Update the text on the tag to the input text tag.setDirty(true); From 8c4f5a94dcb404e3bd0299ac2abb1e54781102be Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 3 Jan 2019 11:21:40 -0600 Subject: [PATCH 029/131] Authentication status --- src/screens/Authentication/Authenticate.js | 46 ++++++++++++++++--- .../Sources/AuthenticationSource.js | 8 +++- .../AuthenticationSourceAccountPassword.js | 5 +- .../AuthenticationSourceFingerprint.js | 7 +-- .../AuthenticationSourceLocalPasscode.js | 5 +- 5 files changed, 55 insertions(+), 16 deletions(-) diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index 6ebf7d3c..ea3f7c07 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -16,7 +16,7 @@ export default class Authenticate extends Abstract { static navigationOptions = ({ navigation, navigationOptions }) => { let templateOptions = { - title: "Authentication Required", + title: "Authenticate", } return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); }; @@ -32,7 +32,7 @@ export default class Authenticate extends Abstract { if(__DEV__) { props.navigation.setParams({ - rightButton: { + leftButton: { title: "Clear", onPress: () => { KeysManager.get().clearAccountKeysAndData(); @@ -44,6 +44,26 @@ export default class Authenticate extends Abstract { this.pendingSources = this.sources.slice(); this.successfulSources = []; + this.updateHeaderBar(); + } + + updateHeaderBar() { + if(this.pendingSources.length > 1) { + buttonText = "Next"; + } else { + buttonText = "Submit"; + } + + this.props.navigation.setParams({ + rightButton: { + title: buttonText, + onPress: () => { + if(this.state.activeSource) { + this.validateAuthentication(this.state.activeSource); + } + } + } + }) } componentDidMount() { @@ -68,6 +88,7 @@ export default class Authenticate extends Abstract { source.inputRef.focus(); } } + source.setWaitingForInput(); this.setState({activeSource: source}); this.forceUpdate(); } @@ -77,6 +98,7 @@ export default class Authenticate extends Abstract { if(source.isInSuccessState()) { this.successfulSources.push(source); _.remove(this.pendingSources, source); + this.updateHeaderBar(); } else { if(result.error && result.error.message) { Alert.alert("Unsuccessful", result.error.message); @@ -103,8 +125,7 @@ export default class Authenticate extends Abstract { _renderAuthenticationSoure = (source) => { const inputAuthenticationSource = (source) => ( - - + {}}> {source.inputRef = ref}} @@ -126,15 +147,26 @@ export default class Authenticate extends Abstract { ) const biometricAuthenticationSource = (source) => ( - - - {}}> + + {this.beginAuthenticationForSource(source)}} + > ) + let hasHeaderSubtitle = source.type == "input"; + return ( + {source.type == "input" && inputAuthenticationSource(source) } diff --git a/src/screens/Authentication/Sources/AuthenticationSource.js b/src/screens/Authentication/Sources/AuthenticationSource.js index 615d0999..3dcc1692 100644 --- a/src/screens/Authentication/Sources/AuthenticationSource.js +++ b/src/screens/Authentication/Sources/AuthenticationSource.js @@ -1,6 +1,6 @@ export default class AuthenticationSource { constructor() { - this.status = "waiting"; + this.status = "waiting-turn"; } get identifier() { @@ -11,8 +11,12 @@ export default class AuthenticationSource { return "Not Configured"; } + setWaitingForInput() { + this.status = "waiting-input"; + } + didBegin() { - this.status = "did-begin"; + this.status = "processing"; } didSucceed() { diff --git a/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js b/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js index b3404b19..21f54026 100644 --- a/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js +++ b/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js @@ -18,9 +18,10 @@ export default class AuthenticationSourceAccountPassword extends AuthenticationS get label() { switch (this.status) { - case "waiting": + case "waiting-turn": + case "waiting-input": return "Enter your account password" - case "did-begin": + case "processing": return "Verifying keys..."; case "did-succeed": return "Success | Account Password" diff --git a/src/screens/Authentication/Sources/AuthenticationSourceFingerprint.js b/src/screens/Authentication/Sources/AuthenticationSourceFingerprint.js index fa21d218..baecc213 100644 --- a/src/screens/Authentication/Sources/AuthenticationSourceFingerprint.js +++ b/src/screens/Authentication/Sources/AuthenticationSourceFingerprint.js @@ -21,10 +21,11 @@ export default class AuthenticationSourceFingerprint extends AuthenticationSourc get label() { switch (this.status) { - case "did-begin": - return "Waiting for Fingerprint"; - case "waiting": + case "waiting-turn": + case "waiting-input": return "Please scan your fingerprint" + case "processing": + return "Waiting for Fingerprint"; case "did-succeed": return "Success | Fingerprint" default: diff --git a/src/screens/Authentication/Sources/AuthenticationSourceLocalPasscode.js b/src/screens/Authentication/Sources/AuthenticationSourceLocalPasscode.js index d1af7549..d43be4a0 100644 --- a/src/screens/Authentication/Sources/AuthenticationSourceLocalPasscode.js +++ b/src/screens/Authentication/Sources/AuthenticationSourceLocalPasscode.js @@ -23,9 +23,10 @@ export default class AuthenticationSourceLocalPasscode extends AuthenticationSou get label() { switch (this.status) { - case "waiting": + case "waiting-turn": + case "waiting-input": return "Enter your local passcode" - case "did-begin": + case "processing": return "Verifying keys..."; case "did-fail": return "Invalid local passcode. Please try again." From ee573a8b33a0114f05737ee6bad5046a75441616 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 3 Jan 2019 13:10:10 -0600 Subject: [PATCH 030/131] Privileges --- package-lock.json | 6 +- package.json | 2 +- src/app.js | 3 + src/global.js | 4 +- src/lib/itemActionManager.js | 10 ++ src/lib/keysManager.js | 4 +- src/lib/sfjs/authManager.js | 7 + src/lib/sfjs/modelManager.js | 7 +- src/lib/sfjs/privilegesManager.js | 102 ++++++++++++ src/models/extend/item.js | 10 -- src/screens/Abstract.js | 16 ++ src/screens/Authentication/Authenticate.js | 42 ++++- .../AuthenticationSourceAccountPassword.js | 9 +- src/screens/Notes/NoteCell.js | 33 ++-- src/screens/Notes/Notes.js | 12 +- src/screens/Settings.js | 154 +++++++++--------- src/screens/SideMenu/NoteSideMenu.js | 28 +++- 17 files changed, 322 insertions(+), 127 deletions(-) create mode 100644 src/lib/sfjs/privilegesManager.js diff --git a/package-lock.json b/package-lock.json index 6590e91d..98a1a8bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11777,9 +11777,9 @@ "integrity": "sha1-ATl5IuX2Ls8whFUiyVxP4dJefU4=" }, "standard-file-js": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.19.tgz", - "integrity": "sha512-H23VzukJescWRQp8WoSGm/arU7KzglC7bY7sGy8AwCcStxvAz278VqysGTnwQGpObxEHsp9hKucnV34RhASLtA==" + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.24.tgz", + "integrity": "sha512-LGqhfvnskr0IaH7rM28bZEI+8xJZectXdtcXPPfSdv46kIq9QjqcoqJnPNfqBHWwHu8L8grPaUBK36Q7ALQBwQ==" }, "static-extend": { "version": "0.1.2", diff --git a/package.json b/package.json index aa7bf083..45ab7312 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "react-navigation-header-buttons": "^2.1.1", "regenerator": "^0.13.3", "sn-models": "0.1.8", - "standard-file-js": "0.3.19" + "standard-file-js": "0.3.24" }, "devDependencies": { "babel-jest": "^23.6.0", diff --git a/src/app.js b/src/app.js index b99de0e9..b575c04c 100644 --- a/src/app.js +++ b/src/app.js @@ -9,6 +9,7 @@ import Icons from '@Style/Icons'; import ApplicationState from "@Lib/ApplicationState" import Auth from './lib/sfjs/authManager' import ModelManager from './lib/sfjs/modelManager' +import PrivilegesManager from '@SFJS/privilegesManager' import Sync from './lib/sfjs/syncManager' import Storage from './lib/sfjs/storageManager' import ReviewManager from './lib/reviewManager'; @@ -123,6 +124,8 @@ export default class App extends Component { // Initialize iOS review manager. Will automatically handle requesting review logic. ReviewManager.initialize(); + PrivilegesManager.get().loadPrivileges(); + // Listen to sign out event Auth.get().addEventHandler((event) => { if(event == SFAuthManager.DidSignOutEvent) { diff --git a/src/global.js b/src/global.js index 55694ae7..7920205b 100644 --- a/src/global.js +++ b/src/global.js @@ -22,7 +22,8 @@ import { SFAlertManager, SFStorageManager, SFHttpManager, - SFAuthManager + SFAuthManager, + SFPrivilegesManager } from 'standard-file-js'; SFItem.AppDomain = "org.standardnotes.sn"; @@ -35,6 +36,7 @@ global.SFAlertManager = SFAlertManager; global.SFStorageManager = SFStorageManager; global.SFHttpManager = SFHttpManager; global.SFAuthManager = SFAuthManager; +global.SFPrivilegesManager = SFPrivilegesManager; import SF from "./lib/sfjs/sfjs" global.SFJS = SF.get(); diff --git a/src/lib/itemActionManager.js b/src/lib/itemActionManager.js index 9a60a273..97a5f93b 100644 --- a/src/lib/itemActionManager.js +++ b/src/lib/itemActionManager.js @@ -17,6 +17,9 @@ export default class ItemActionManager { static LockEvent = "LockEvent"; static UnlockEvent = "UnlockEvent"; + static ProtectEvent = "ProtectEvent"; + static UnprotectEvent = "UnprotectEvent"; + static ShareEvent = "ShareEvent"; /* The afterConfirmCallback is called after user confirms deletion pop up */ @@ -66,6 +69,13 @@ export default class ItemActionManager { callback && callback(); } + else if(event == this.ProtectEvent || event == this.UnprotectEvent) { + item.content.protected = !item.content.protected; + item.setDirty(true); + Sync.get().sync(); + callback && callback(); + } + else if(event == this.ShareEvent) { ApplicationState.get().performActionWithoutStateChangeImpact(() => { Share.share({ diff --git a/src/lib/keysManager.js b/src/lib/keysManager.js index 9b4db3ae..65e8d2b0 100644 --- a/src/lib/keysManager.js +++ b/src/lib/keysManager.js @@ -295,9 +295,9 @@ export default class KeysManager { // Local Security - async clearOfflineKeysAndData() { + async clearOfflineKeysAndData(force = false) { // make sure user is authenticated before performing this step - if(!this.offlineKeys.mk) { + if(!this.offlineKeys.mk && !force) { alert("Unable to remove passcode. Make sure you are properly authenticated and try again."); return false; } diff --git a/src/lib/sfjs/authManager.js b/src/lib/sfjs/authManager.js index 88544079..4143d001 100644 --- a/src/lib/sfjs/authManager.js +++ b/src/lib/sfjs/authManager.js @@ -66,4 +66,11 @@ export default class Auth extends SFAuthManager { return null; } } + + async verifyAccountPassword(password) { + let authParams = await this.getAuthParams(); + let keys = await SFJS.crypto.computeEncryptionKeysForUser(password, authParams); + let success = keys.mk === (await this.keys()).mk; + return success; + } } diff --git a/src/lib/sfjs/modelManager.js b/src/lib/sfjs/modelManager.js index f53ce085..77e6831d 100644 --- a/src/lib/sfjs/modelManager.js +++ b/src/lib/sfjs/modelManager.js @@ -1,13 +1,14 @@ import Storage from "./storageManager" import "../../models/extend/item.js"; -import { SFPredicate } from "standard-file-js"; +import { SFPredicate, SFPrivileges } from "standard-file-js"; SFModelManager.ContentTypeClassMapping = { "Note" : SNNote, "Tag" : SNTag, "SN|SmartTag": SNSmartTag, "SN|Theme" : SNTheme, - "SN|Component" : SNComponent + "SN|Component" : SNComponent, + "SN|Privileges" : SFPrivileges }; const SystemSmartTagIdAllNotes = "all-notes"; @@ -32,8 +33,6 @@ export default class ModelManager extends SFModelManager { this.tags = []; this.themes = []; - this.acceptableContentTypes = ["Note", "Tag", "SN|SmartTag", "SN|Theme", "SN|Component"]; - this.buildSystemSmartTags(); } diff --git a/src/lib/sfjs/privilegesManager.js b/src/lib/sfjs/privilegesManager.js new file mode 100644 index 00000000..36ab140f --- /dev/null +++ b/src/lib/sfjs/privilegesManager.js @@ -0,0 +1,102 @@ +import ModelManager from "./modelManager"; +import Sync from "./syncManager"; +import { SFPrivilegesManager, SFSingletonManager } from "standard-file-js"; +import AuthenticationSourceAccountPassword from "@Screens/Authentication/Sources/AuthenticationSourceAccountPassword"; +import AuthenticationSourceLocalPasscode from "@Screens/Authentication/Sources/AuthenticationSourceLocalPasscode"; +import AuthenticationSourceFingerprint from "@Screens/Authentication/Sources/AuthenticationSourceFingerprint"; +import KeysManager from "@Lib/keysManager" +import Storage from "@SFJS/storageManager" +import Auth from "@SFJS/authManager" + +export default class PrivilegesManager extends SFPrivilegesManager { + + static instance = null; + + static get() { + if (this.instance == null) { + let singletonManager = new SFSingletonManager(ModelManager.get(), Sync.get()); + this.instance = new PrivilegesManager(ModelManager.get(), Sync.get(), singletonManager); + } + + return this.instance; + } + + constructor(modelManager, syncManager, singletonManager) { + super(modelManager, syncManager, singletonManager); + + this.setDelegate({ + isOffline: async () => { + return Auth.get().offline(); + }, + hasLocalPasscode: async () => { + return KeysManager.get().hasOfflinePasscode(); + }, + saveToStorage: async (key, value) => { + return Storage.get().setItem(key, value); + }, + getFromStorage: async (key) => { + return Storage.get().getItem(key); + } + }); + } + + async presentPrivilegesModal(action, navigation, onSuccess, onCancel) { + if(this.authenticationInProgress()) { + onCancel && onCancel(); + return; + } + + let customSuccess = () => { + onSuccess && onSuccess(); + this.authInProgress = false; + } + + let customCancel = () => { + onCancel && onCancel(); + this.authInProgress = false; + } + + let sources = await this.sourcesForAction(action); + + navigation.navigate("Authenticate", { + authenticationSources: sources, + hasCancelOption: true, + onSuccess: () => { + customSuccess(); + }, + onCancel: () => { + customCancel(); + } + }); + + this.authInProgress = true; + } + + authenticationInProgress() { + return this.authInProgress; + } + + async sourcesForAction(action) { + const sourcesForCredential = (credential) => { + if(credential == SFPrivilegesManager.CredentialAccountPassword) { + return [new AuthenticationSourceAccountPassword()]; + } else if(credential == SFPrivilegesManager.CredentialLocalPasscode) { + var hasPasscode = KeysManager.get().hasOfflinePasscode(); + var hasFingerprint = KeysManager.get().hasFingerprint(); + let sources = []; + if(hasPasscode) {sources.push(new AuthenticationSourceLocalPasscode());} + if(hasFingerprint) {sources.push(new AuthenticationSourceFingerprint());} + return sources; + } + } + + let credentials = await this.netCredentialsForAction(action); + let sources = []; + for(var credential of credentials) { + sources = sources.concat(sourcesForCredential(credential)); + } + + return sources; + } + +} diff --git a/src/models/extend/item.js b/src/models/extend/item.js index 0c10ff65..980e572c 100644 --- a/src/models/extend/item.js +++ b/src/models/extend/item.js @@ -21,16 +21,6 @@ SFItem.prototype.dateToLocalizedString = function(date) { return moment(date).format('llll'); } -// Define these new methods - -SFItem.prototype.initUUID = async function() { - if(!this.uuid) { - return SFJS.crypto.generateUUID().then((uuid) => { - this.uuid = uuid; - }) - } -} - // Define these getters Object.defineProperty(SFItem.prototype, "key", { diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 90cf7fa6..8601c4ec 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -6,6 +6,7 @@ import HeaderTitleView from "../components/HeaderTitleView" import HeaderButtons, { HeaderButton, Item } from 'react-navigation-header-buttons'; import Icon from 'react-native-vector-icons/Ionicons'; import ThemedComponent from "@Components/ThemedComponent"; +import PrivilegesManager from "@SFJS/privilegesManager" const IoniconsHeaderButton = passMeFurther => ( // the `passMeFurther` variable here contains props from as well as @@ -214,6 +215,21 @@ export default class Abstract extends ThemedComponent { this.props.navigation.goBack(null); } + async handlePrivilegedAction(isProtected, action, run) { + if(isProtected) { + let actionRequiresPrivs = await PrivilegesManager.get().actionRequiresPrivilege(action); + if(actionRequiresPrivs) { + PrivilegesManager.get().presentPrivilegesModal(action, this.props.navigation, () => { + run(); + }); + } else { + run(); + } + } else { + run(); + } + } + static IsShallowEqual = (newObj, prevObj, keys) => { for(var key of keys) { if(newObj[key] !== prevObj[key]) { diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index ea3f7c07..2f6dffe5 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -10,13 +10,19 @@ import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell import SectionedOptionsTableCell from "@Components/SectionedOptionsTableCell"; import StyleKit from "@Style/StyleKit" import Icon from 'react-native-vector-icons/Ionicons'; -import KeysManager from "@Lib/keysManager"; + +// Dev mode only. Used to destroy data +// import KeysManager from "@Lib/keysManager"; +// import Auth from "@SFJS/authManager" export default class Authenticate extends Abstract { static navigationOptions = ({ navigation, navigationOptions }) => { let templateOptions = { title: "Authenticate", + rightButton: { + title: "Submit", + } } return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); }; @@ -30,13 +36,25 @@ export default class Authenticate extends Abstract { } } - if(__DEV__) { + // if(__DEV__) { + // props.navigation.setParams({ + // leftButton: { + // title: "Destroy Data", + // onPress: () => { + // Auth.get().signout(); + // KeysManager.get().clearOfflineKeysAndData(true); + // } + // } + // }) + // } + + if(this.getProp("hasCancelOption")) { props.navigation.setParams({ leftButton: { - title: "Clear", + title: "Cancel", onPress: () => { - KeysManager.get().clearAccountKeysAndData(); - KeysManager.get().clearOfflineKeysAndData(); + this.getProp("onCancel")(); + this.dismiss(); } } }) @@ -113,10 +131,20 @@ export default class Authenticate extends Abstract { } onSuccess() { - this.getProp("onSuccess")(); + // Wait for componentWillBlur to call onSuccess callback. + // This way, if the callback has another route change, the dismissal + // of this one won't affect it. + this.successful = true; this.dismiss(); } + componentWillBlur() { + super.componentWillBlur(); + if(this.successful) { + this.getProp("onSuccess")(); + } + } + inputTextChanged(text, source) { source.setAuthenticationValue(text); this.forceUpdate(); @@ -164,7 +192,7 @@ export default class Authenticate extends Abstract { {source.type == "input" && diff --git a/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js b/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js index 21f54026..8c45d6dd 100644 --- a/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js +++ b/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js @@ -1,5 +1,6 @@ import SF from '@SFJS/sfjs' import Storage from '@SFJS/storageManager' +import Auth from '@SFJS/authManager' import KeysManager from '@Lib/keysManager' import AuthenticationSource from "./AuthenticationSource" @@ -41,8 +42,12 @@ export default class AuthenticationSourceAccountPassword extends AuthenticationS async authenticate() { this.didBegin(); - // TODO - return this._success(); + let success = await Auth.get().verifyAccountPassword(this.authenticationValue); + if(success) { + return this._success(); + } else { + return this._fail("Invalid account password. Please try again."); + } } _success() { diff --git a/src/screens/Notes/NoteCell.js b/src/screens/Notes/NoteCell.js index 082fa61f..62cf342c 100644 --- a/src/screens/Notes/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -65,17 +65,28 @@ export default class NoteCell extends ThemedPureComponent { var archiveLabel = this.props.item.archived ? "Unarchive" : "Archive"; let archiveEvent = archiveLabel == "Archive" ? ItemActionManager.ArchiveEvent : ItemActionManager.UnarchiveEvent; - let sheet = new ActionSheetWrapper({ - title: this.props.item.safeTitle(), - options: [ - ActionSheetWrapper.BuildOption({text: pinLabel, key: pinEvent, callback: callbackForOption}), - ActionSheetWrapper.BuildOption({text: archiveLabel, key: archiveEvent, callback: callbackForOption}), - ActionSheetWrapper.BuildOption({text: "Share", key: ItemActionManager.ShareEvent, callback: callbackForOption}), - ActionSheetWrapper.BuildOption({text: "Delete", key: ItemActionManager.DeleteEvent, destructive: true, callback: callbackForOption}), - ], onCancel: () => { - this.setState({actionSheet: null}); - } - }); + let sheet; + if(this.props.item.content.protected) { + sheet = new ActionSheetWrapper({ + title: "Note Protected", + options: [], + onCancel: () => { + this.setState({actionSheet: null}); + } + }); + } else { + sheet = new ActionSheetWrapper({ + title: this.props.item.safeTitle(), + options: [ + ActionSheetWrapper.BuildOption({text: pinLabel, key: pinEvent, callback: callbackForOption}), + ActionSheetWrapper.BuildOption({text: archiveLabel, key: archiveEvent, callback: callbackForOption}), + ActionSheetWrapper.BuildOption({text: "Share", key: ItemActionManager.ShareEvent, callback: callbackForOption}), + ActionSheetWrapper.BuildOption({text: "Delete", key: ItemActionManager.DeleteEvent, destructive: true, callback: callbackForOption}), + ], onCancel: () => { + this.setState({actionSheet: null}); + } + }); + } this.setState({actionSheet: sheet.actionSheetElement()}); sheet.show(); diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index df494672..1d536ce8 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -337,11 +337,13 @@ export default class Notes extends Abstract { } } - presentComposer(item) { - this.props.navigation.navigate("Compose", { - noteId: item && item.uuid, - selectedTagId: this.options.selectedTagIds.length && this.options.selectedTagIds[0], - }); + async presentComposer(note) { + this.handlePrivilegedAction(note && note.content.protected, SFPrivilegesManager.ActionViewProtectedNotes, () => { + this.props.navigation.navigate("Compose", { + noteId: note && note.uuid, + selectedTagId: this.options.selectedTagIds.length && this.options.selectedTagIds[0], + }); + }) } reloadList(force) { diff --git a/src/screens/Settings.js b/src/screens/Settings.js index d565788d..c2d799ae 100644 --- a/src/screens/Settings.js +++ b/src/screens/Settings.js @@ -269,66 +269,68 @@ export default class Settings extends Abstract { } onExportPress = async (encrypted, callback) => { - let customCallback = (success) => { - if(success) { - // UserPrefsManager.get().clearLastExportDate(); - var date = new Date(); - this.setState({lastExportDate: date}); - UserPrefsManager.get().setLastExportDate(date); + this.handlePrivilegedAction(true, SFPrivilegesManager.ActionManageBackups, async () => { + let customCallback = (success) => { + if(success) { + // UserPrefsManager.get().clearLastExportDate(); + var date = new Date(); + this.setState({lastExportDate: date}); + UserPrefsManager.get().setLastExportDate(date); + } + callback(); } - callback(); - } - var auth_params = await Auth.get().getAuthParams(); - var keys = encrypted ? KeysManager.get().activeKeys() : null; + var auth_params = await Auth.get().getAuthParams(); + var keys = encrypted ? KeysManager.get().activeKeys() : null; - var items = []; - - for(var item of ModelManager.get().allItems) { - var itemParams = new SFItemParams(item, keys, auth_params); - var params = await itemParams.paramsForExportFile(); - items.push(params); - } + var items = []; - if(items.length == 0) { - Alert.alert('No Data', "You don't have any notes yet."); - customCallback(); - return; - } + for(var item of ModelManager.get().allItems) { + var itemParams = new SFItemParams(item, keys, auth_params); + var params = await itemParams.paramsForExportFile(); + items.push(params); + } - var data = {items: items} + if(items.length == 0) { + Alert.alert('No Data', "You don't have any notes yet."); + customCallback(); + return; + } - if(keys) { - var authParams = KeysManager.get().activeAuthParams(); - // auth params are only needed when encrypted with a standard file key - data["auth_params"] = authParams; - } + var data = {items: items} - var jsonString = JSON.stringify(data, null, 2 /* pretty print */); - var stringData = ApplicationState.isIOS ? jsonString : base64.encode(unescape(encodeURIComponent(jsonString))) - var fileType = ApplicationState.isAndroid ? ".json" : "json"; // Android creates a tmp file and expects dot with extension - - var calledCallback = false; - - Mailer.mail({ - subject: 'Standard Notes Backup', - recipients: [''], - body: '', - isHTML: true, - attachment: { data: stringData, type: fileType, name: encrypted ? "SN-Encrypted-Backup" : 'SN-Decrypted-Backup' } - }, (error, event) => { - customCallback(false); - calledCallback = true; - if(error) { - Alert.alert('Error', 'Unable to send email.'); + if(keys) { + var authParams = KeysManager.get().activeAuthParams(); + // auth params are only needed when encrypted with a standard file key + data["auth_params"] = authParams; } - }); - // On Android the Mailer callback event isn't always triggered. - setTimeout(function () { - if(!calledCallback) { - customCallback(true); - } - }, 2500); + var jsonString = JSON.stringify(data, null, 2 /* pretty print */); + var stringData = ApplicationState.isIOS ? jsonString : base64.encode(unescape(encodeURIComponent(jsonString))) + var fileType = ApplicationState.isAndroid ? ".json" : "json"; // Android creates a tmp file and expects dot with extension + + var calledCallback = false; + + Mailer.mail({ + subject: 'Standard Notes Backup', + recipients: [''], + body: '', + isHTML: true, + attachment: { data: stringData, type: fileType, name: encrypted ? "SN-Encrypted-Backup" : 'SN-Decrypted-Backup' } + }, (error, event) => { + customCallback(false); + calledCallback = true; + if(error) { + Alert.alert('Error', 'Unable to send email.'); + } + }); + + // On Android the Mailer callback event isn't always triggered. + setTimeout(function () { + if(!calledCallback) { + customCallback(true); + } + }, 2500); + }); } onStorageEncryptionEnable = () => { @@ -396,28 +398,30 @@ export default class Settings extends Abstract { } onPasscodeDisable = () => { - var encryptionSource = KeysManager.get().encryptionSource(); - var message; - if(encryptionSource == "account") { - message = "Are you sure you want to disable your local passcode? This will not affect your encryption status, as your data is currently being encrypted through your sync account keys."; - } else if(encryptionSource == "offline") { - message = "Are you sure you want to disable your local passcode? This will disable encryption on your data."; - } + this.handlePrivilegedAction(true, SFPrivilegesManager.ActionManagePasscode, () => { + var encryptionSource = KeysManager.get().encryptionSource(); + var message; + if(encryptionSource == "account") { + message = "Are you sure you want to disable your local passcode? This will not affect your encryption status, as your data is currently being encrypted through your sync account keys."; + } else if(encryptionSource == "offline") { + message = "Are you sure you want to disable your local passcode? This will disable encryption on your data."; + } - AlertManager.get().confirm({ - title: "Disable Passcode", - text: message, - confirmButtonText: "Disable Passcode", - onConfirm: async () => { - var result = await KeysManager.get().clearOfflineKeysAndData(); - if(encryptionSource == "offline") { - // remove encryption from all items - this.resaveOfflineData(null, true); - } + AlertManager.get().confirm({ + title: "Disable Passcode", + text: message, + confirmButtonText: "Disable Passcode", + onConfirm: async () => { + var result = await KeysManager.get().clearOfflineKeysAndData(); + if(encryptionSource == "offline") { + // remove encryption from all items + this.resaveOfflineData(null, true); + } - this.mergeState({hasPasscode: false}); - this.forceUpdate(); - } + this.mergeState({hasPasscode: false}); + this.forceUpdate(); + } + }) }) } @@ -427,8 +431,10 @@ export default class Settings extends Abstract { } onFingerprintDisable = () => { - KeysManager.get().disableFingerprint(); - this.loadSecurityStatus(); + this.handlePrivilegedAction(true, SFPrivilegesManager.ActionManagePasscode, () => { + KeysManager.get().disableFingerprint(); + this.loadSecurityStatus(); + }); } onCompanyAction = (action) => { diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index f869ddc2..07891612 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -127,10 +127,14 @@ export default class NoteSideMenu extends AbstractSideMenu { var lockOption = this.note.locked ? "Unlock" : "Lock"; let lockEvent = lockOption == "Lock" ? ItemActionManager.LockEvent : ItemActionManager.UnlockEvent; + var protectOption = this.note.content.protected ? "Unprotect" : "Protect"; + let protectEvent = protectOption == "Protect" ? ItemActionManager.ProtectEvent : ItemActionManager.UnprotectEvent; + let rawOptions = [ { text: pinOption, key: pinEvent, icon: "bookmark" }, { text: archiveOption, key: archiveEvent, icon: "archive" }, { text: lockOption, key: lockEvent, icon: "lock" }, + { text: protectOption, key: protectEvent, icon: "finger-print" }, { text: "Share", key: ItemActionManager.ShareEvent, icon: "share" }, { text: "Delete", key: ItemActionManager.DeleteEvent, icon: "trash" }, ]; @@ -142,13 +146,23 @@ export default class NoteSideMenu extends AbstractSideMenu { key: rawOption.key, iconDesc: { type: "icon", side: "right", name: Icons.nameForIcon(rawOption.icon) }, onSelect: () => { - ItemActionManager.handleEvent(rawOption.key, this.note, () => { - if(rawOption.key == ItemActionManager.DeleteEvent) { - this.popToRoot(); - } else { - this.forceUpdate(); - } - }); + let run = () => { + ItemActionManager.handleEvent(rawOption.key, this.note, () => { + if(rawOption.key == ItemActionManager.DeleteEvent) { + this.popToRoot(); + } else { + this.forceUpdate(); + } + }); + } + if(rawOption.key == ItemActionManager.DeleteEvent && this.note.content.protected) { + this.handlePrivilegedAction(this.note.content.protected, SFPrivilegesManager.ActionDeleteNote, () => { + run(); + }) + } else { + run(); + } + }, }) options.push(option); From 41e15a71255dd66d0e952334854fc44bb3c11d84 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 3 Jan 2019 15:27:13 -0600 Subject: [PATCH 031/131] Note cell flags --- src/screens/Notes/NoteCell.js | 119 +++++++++++++++++++++------ src/screens/SideMenu/MainSideMenu.js | 1 + 2 files changed, 94 insertions(+), 26 deletions(-) diff --git a/src/screens/Notes/NoteCell.js b/src/screens/Notes/NoteCell.js index 62cf342c..1142e38d 100644 --- a/src/screens/Notes/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -65,6 +65,12 @@ export default class NoteCell extends ThemedPureComponent { var archiveLabel = this.props.item.archived ? "Unarchive" : "Archive"; let archiveEvent = archiveLabel == "Archive" ? ItemActionManager.ArchiveEvent : ItemActionManager.UnarchiveEvent; + var lockLabel = this.props.item.locked ? "Unlock" : "Lock"; + let lockEvent = lockLabel == "Lock" ? ItemActionManager.LockEvent : ItemActionManager.UnlockEvent; + + var protectLabel = this.props.item.content.protected ? "Unprotect" : "Protect"; + let protectEvent = protectLabel == "Protect" ? ItemActionManager.ProtectEvent : ItemActionManager.UnprotectEvent; + let sheet; if(this.props.item.content.protected) { sheet = new ActionSheetWrapper({ @@ -80,6 +86,8 @@ export default class NoteCell extends ThemedPureComponent { options: [ ActionSheetWrapper.BuildOption({text: pinLabel, key: pinEvent, callback: callbackForOption}), ActionSheetWrapper.BuildOption({text: archiveLabel, key: archiveEvent, callback: callbackForOption}), + ActionSheetWrapper.BuildOption({text: lockLabel, key: lockEvent, callback: callbackForOption}), + ActionSheetWrapper.BuildOption({text: protectLabel, key: protectEvent, callback: callbackForOption}), ActionSheetWrapper.BuildOption({text: "Share", key: ItemActionManager.ShareEvent, callback: callbackForOption}), ActionSheetWrapper.BuildOption({text: "Delete", key: ItemActionManager.DeleteEvent, destructive: true, callback: callbackForOption}), ], onCancel: () => { @@ -92,8 +100,73 @@ export default class NoteCell extends ThemedPureComponent { sheet.show(); } + getFlags(note) { + let flags = []; + + if(note.pinned) { + flags.push({ + text: "Pinned", + color: StyleKit.variables.stylekitInfoColor + }) + } + + if(note.archived) { + flags.push({ + text: "Archived", + color: StyleKit.variables.stylekitWarningColor + }) + } + + if(note.content.protected) { + flags.push({ + text: "Protected", + color: StyleKit.variables.stylekitSuccessColor + }) + } + + if(note.locked) { + flags.push({ + text: "Locked", + color: StyleKit.variables.stylekitNeutralColor + }) + } + + return flags; + } + + flagElement = (flag) => { + let bgColor = flag.color; + let textColor = StyleKit.variables.stylekitInfoContrastColor; + if(this.state.selected) { + bgColor = StyleKit.variables.stylekitInfoContrastColor; + textColor = flag.color + } + const styles = { + background: { + backgroundColor: bgColor, + padding: 4, + paddingLeft: 6, + paddingRight: 6, + borderRadius: 3, + marginRight: 4 + }, + text: { + color: textColor, + fontSize: 10, + fontWeight: "bold" + } + } + return ( + + {flag.text} + + ) + } + render() { var note = this.props.item; + let showPreview = !this.state.options.hidePreviews && !note.content.protected; + let flags = this.getFlags(note); return ( @@ -106,20 +179,11 @@ export default class NoteCell extends ThemedPureComponent { Conflicted Copy } - {note.pinned && - - - Pinned - - } - - {this.props.renderTags && !this.state.options.hideTags && note.tags.length > 0 && - - - {this.props.tagsString} - - - } + + {flags.map((flag) => + this.flagElement(flag) + )} + {note.errorDecrypting && @@ -138,13 +202,13 @@ export default class NoteCell extends ThemedPureComponent { } - {(note.content.preview_plain != null && !this.state.options.hidePreviews) && + {(note.content.preview_plain != null && showPreview) && {note.content.preview_plain} } - {(!note.content.preview_plain && !this.state.options.hidePreviews && note.safeText().length > 0) && + {(!note.content.preview_plain && showPreview && note.safeText().length > 0) && {note.text} @@ -158,6 +222,14 @@ export default class NoteCell extends ThemedPureComponent { } + {this.props.renderTags && !this.state.options.hideTags && note.tags.length > 0 && + + + {this.props.tagsString} + + + } + {this.state.actionSheet && this.state.actionSheet} @@ -183,7 +255,7 @@ export default class NoteCell extends ThemedPureComponent { noteTagsContainer: { flex: 1, flexDirection: 'row', - marginBottom: 5, + marginTop: 7, }, pinnedView: { @@ -192,15 +264,10 @@ export default class NoteCell extends ThemedPureComponent { marginBottom: 5, }, - pinnedText: { - color: StyleKit.variable("stylekitInfoColor"), - marginLeft: 8, - fontWeight: "bold", - fontSize: 12 - }, - - pinnedTextSelected: { - color: StyleKit.variable("stylekitInfoContrastColor"), + flagsContainer: { + flex: 1, + flexDirection: 'row', + marginBottom: 8 }, noteTag: { diff --git a/src/screens/SideMenu/MainSideMenu.js b/src/screens/SideMenu/MainSideMenu.js index 5004a8b0..98c8e3fe 100644 --- a/src/screens/SideMenu/MainSideMenu.js +++ b/src/screens/SideMenu/MainSideMenu.js @@ -7,6 +7,7 @@ import FAB from 'react-native-fab'; import ActionSheet from 'react-native-actionsheet' import Abstract from "@Screens/Abstract" +import AlertManager from "@SFJS/alertManager" import SectionHeader from "@Components/SectionHeader"; import TableSection from "@Components/TableSection"; From 8d52c12c2f11f6162fccd0af6e06785f33875b7c Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 3 Jan 2019 15:42:35 -0600 Subject: [PATCH 032/131] Reload note cell on property change --- src/screens/Compose.js | 26 +++++++++++++++----------- src/screens/Notes/NoteList.js | 9 ++++++--- src/screens/SideMenu/NoteSideMenu.js | 1 + 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 73a0d1f8..aac788f2 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -167,6 +167,9 @@ export default class Compose extends Abstract { this.forceUpdate(); this.props.navigation.closeRightDrawer(); }, + onPropertyChange: () => { + this.forceUpdate(); + }, onTagSelect: (tag) => { let selectedTags = this.note.tags; var selected = selectedTags.includes(tag); @@ -333,7 +336,7 @@ export default class Compose extends Abstract { {this.note.locked && - + Note Locked } @@ -429,14 +432,21 @@ export default class Compose extends Abstract { justifyContent: 'flex-start', flexDirection: 'row', alignItems: "center", - height: 30, - maxHeight: 30, + height: 26, + maxHeight: 26, paddingLeft: padding, - backgroundColor: StyleKit.variable("stylekitInfoColor"), - borderBottomColor: StyleKit.variable("stylekitBorderColor"), + backgroundColor: StyleKit.variables.stylekitNeutralColor, + borderBottomColor: StyleKit.variables.stylekitBorderColor, borderBottomWidth: 1 }, + lockedText: { + fontWeight: "bold", + fontSize: 12, + color: StyleKit.variables.stylekitBackgroundColor, + paddingLeft: 10 + }, + loadingWebViewContainer: { position: "absolute", height: "100%", @@ -464,12 +474,6 @@ export default class Compose extends Abstract { marginTop: 5 }, - lockedText: { - fontWeight: "bold", - color: StyleKit.variable("stylekitBackgroundColor"), - paddingLeft: 10 - }, - textContentAndroid: { flexGrow: 1, flex: 1, diff --git a/src/screens/Notes/NoteList.js b/src/screens/Notes/NoteList.js index 3a598c3f..6e041dae 100644 --- a/src/screens/Notes/NoteList.js +++ b/src/screens/Notes/NoteList.js @@ -70,12 +70,15 @@ export default class NoteList extends Component { text={item.text} tags={item.tags} tagsString={item.tagsString()} - pinned={item.pinned} - deleted={item.deleted} - archived={item.archived} sortType={this.props.sortType} renderTags={renderTags} options={this.props.options} + + pinned={item.pinned /* extraData */} + deleted={item.deleted /* extraData */} + archived={item.archived /* extraData */} + locked={item.locked /* extraData */} + protected={item.content.protected /* extraData */} /> ) } diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 07891612..06e86896 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -152,6 +152,7 @@ export default class NoteSideMenu extends AbstractSideMenu { this.popToRoot(); } else { this.forceUpdate(); + this.handler.onPropertyChange(); } }); } From 6df19be8f6412e7c9262e3ef3b5f9c454a9b248c Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 3 Jan 2019 16:06:17 -0600 Subject: [PATCH 033/131] Dark keyboard --- .gitmodules | 3 +++ package-lock.json | 8 ------- package.json | 1 - src/containers/account/AuthSection.js | 4 ++++ .../account/RegistrationConfirmSection.js | 1 + src/screens/Authentication/Authenticate.js | 1 + src/screens/Compose.js | 2 ++ src/screens/InputModal.js | 4 +++- src/screens/Notes/NoteList.js | 1 + src/style/StyleKit.js | 24 +++++++++++++++++-- vendor/react-native-search-box | 1 + .../sn-textview/ios/SNTextView/SNTextView.h | 1 + .../ios/SNTextView/SNTextViewManager.m | 1 + 13 files changed, 40 insertions(+), 12 deletions(-) create mode 160000 vendor/react-native-search-box diff --git a/.gitmodules b/.gitmodules index fc565985..ee87ffff 100644 --- a/.gitmodules +++ b/.gitmodules @@ -19,3 +19,6 @@ [submodule "vendor/react-native-fab"] path = vendor/react-native-fab url = git@github.com:mobitar/React-Native-FAB.git +[submodule "vendor/react-native-search-box"] + path = vendor/react-native-search-box + url = git@github.com:mobitar/react-native-search-box.git diff --git a/package-lock.json b/package-lock.json index 98a1a8bd..d5c0f6f9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10489,14 +10489,6 @@ "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-1.0.0-alpha.19.tgz", "integrity": "sha512-+a7GdwzLWYWYVUJMg+XuyBoRFGD8GdGyBfebuTNBY+xwUZpTXCaK/GlLGL6EE3h0iBHZu83do7zViEailWRNyA==" }, - "react-native-search-box": { - "version": "0.0.19", - "resolved": "https://registry.npmjs.org/react-native-search-box/-/react-native-search-box-0.0.19.tgz", - "integrity": "sha512-tbL5URnckRqhewRkkskHkgDX20HZQLxaHTaqiIS9T6eKETao6xVprduBEWaSLLwGmR/+JtXiMMG6V5MYWYhx9w==", - "requires": { - "prop-types": "15.6.2" - } - }, "react-native-store-review": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/react-native-store-review/-/react-native-store-review-0.1.5.tgz", diff --git a/package.json b/package.json index 45ab7312..3960c6e7 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,6 @@ "react-native": "0.57.8", "react-native-gesture-handler": "^1.0.12", "react-native-keychain": "^1.2.1", - "react-native-search-box": "0.0.19", "react-native-store-review": "^0.1.3", "react-native-vector-icons": "^4.3.0", "react-navigation": "^3.0.9", diff --git a/src/containers/account/AuthSection.js b/src/containers/account/AuthSection.js index 4c7293ef..23d61589 100644 --- a/src/containers/account/AuthSection.js +++ b/src/containers/account/AuthSection.js @@ -68,6 +68,7 @@ export default class AuthSection extends Component { autoCorrect={false} autoCapitalize={'none'} keyboardType={'email-address'} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} underlineColorAndroid={'transparent'} placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} /> @@ -80,6 +81,7 @@ export default class AuthSection extends Component { onChangeText={(text) => this.setState({password: text})} value={this.state.password} secureTextEntry={true} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} underlineColorAndroid={'transparent'} placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} /> @@ -99,6 +101,7 @@ export default class AuthSection extends Component { onChangeText={(text) => this.setState({mfa_token: text})} value={this.state.mfa_token} keyboardType={'numeric'} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} autoFocus={true} underlineColorAndroid={'transparent'} placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} @@ -120,6 +123,7 @@ export default class AuthSection extends Component { autoCorrect={false} autoCapitalize={'none'} keyboardType={'url'} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} underlineColorAndroid={'transparent'} placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} /> diff --git a/src/containers/account/RegistrationConfirmSection.js b/src/containers/account/RegistrationConfirmSection.js index 3db3ad57..ef7364bd 100644 --- a/src/containers/account/RegistrationConfirmSection.js +++ b/src/containers/account/RegistrationConfirmSection.js @@ -45,6 +45,7 @@ export default class RegistrationConfirmSection extends Component { value={this.state.passwordConfirmation} secureTextEntry={true} autoFocus={true} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} underlineColorAndroid={'transparent'} /> diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index 2f6dffe5..f43af224 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -166,6 +166,7 @@ export default class Authenticate extends Abstract { autoCapitalize={'none'} secureTextEntry={true} keyboardType={source.keyboardType || "default"} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} underlineColorAndroid={'transparent'} placeholderTextColor={StyleKit.variables.stylekitNeutralColor} onSubmitEditing={() => {this.validateAuthentication(source)}} diff --git a/src/screens/Compose.js b/src/screens/Compose.js index aac788f2..2e0a0d29 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -349,6 +349,7 @@ export default class Compose extends Abstract { selectionColor={StyleKit.variable("stylekitInfoColor")} underlineColorAndroid={'transparent'} placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} autoCorrect={true} autoCapitalize={'sentences'} editable={!this.note.locked} @@ -396,6 +397,7 @@ export default class Compose extends Abstract { autoFocus={false} value={this.note.text} keyboardDismissMode={'interactive'} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} selectionColor={StyleKit.lighten(StyleKit.variable("stylekitInfoColor"))} onChangeText={this.onTextChange} editable={!this.note.locked} diff --git a/src/screens/InputModal.js b/src/screens/InputModal.js index 09092e17..9cbbdd04 100644 --- a/src/screens/InputModal.js +++ b/src/screens/InputModal.js @@ -121,6 +121,7 @@ export default class InputModal extends Abstract { value={this.state.text} autoCorrect={false} autoCapitalize={'none'} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} autoFocus={true} placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} underlineColorAndroid={'transparent'} @@ -138,6 +139,7 @@ export default class InputModal extends Abstract { value={this.state.confirmText} autoCorrect={false} autoCapitalize={'none'} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} underlineColorAndroid={'transparent'} onSubmitEditing={this.onConfirmSubmit.bind(this)} @@ -154,7 +156,7 @@ export default class InputModal extends Abstract { disabled={this.state.text.length == 0} title={"Save"} bold={true} - onPress={() => this.submit()} + onPress={() => this.submit()} /> diff --git a/src/screens/Notes/NoteList.js b/src/screens/Notes/NoteList.js index 6e041dae..1b1a307a 100644 --- a/src/screens/Notes/NoteList.js +++ b/src/screens/Notes/NoteList.js @@ -43,6 +43,7 @@ export default class NoteList extends Component { backgroundColor={StyleKit.variable("stylekitBackgroundColor")} titleCancelColor={StyleKit.variable("stylekitInfoColor")} keyboardDismissMode={'interactive'} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} inputStyle={ { backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor, diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 5e821c60..97197a7d 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -166,8 +166,11 @@ export default class StyleKit { statusBarColorForTheme(theme) { // The main nav bar uses contrast background color - let luminosity = StyleKit.getColorLuminosity(theme.content.variables.stylekitContrastBackgroundColor); - if(luminosity < 130) { + if(!theme.luminosity) { + theme.luminosity = StyleKit.getColorLuminosity(theme.content.variables.stylekitContrastBackgroundColor); + } + + if(theme.luminosity < 130) { // is dark color, return white status bar return "light-content"; } else { @@ -175,6 +178,23 @@ export default class StyleKit { } } + keyboardColorForTheme(theme) { + if(!theme.luminosity) { + theme.luminosity = StyleKit.getColorLuminosity(theme.content.variables.stylekitContrastBackgroundColor); + } + + if(theme.luminosity < 130) { + // is dark color, return dark keyboard + return "dark"; + } else { + return "light"; + } + } + + keyboardColorForActiveTheme() { + return this.keyboardColorForTheme(this.activeTheme); + } + themes() { let themes = ModelManager.get().themes.sort((a, b) => { return a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1; diff --git a/vendor/react-native-search-box b/vendor/react-native-search-box new file mode 160000 index 00000000..c2ba5be0 --- /dev/null +++ b/vendor/react-native-search-box @@ -0,0 +1 @@ +Subproject commit c2ba5be0a8639f33b7ad4a206c4b2af4b099674c diff --git a/vendor/sn-textview/ios/SNTextView/SNTextView.h b/vendor/sn-textview/ios/SNTextView/SNTextView.h index 0b4f4674..29a6b0c0 100644 --- a/vendor/sn-textview/ios/SNTextView/SNTextView.h +++ b/vendor/sn-textview/ios/SNTextView/SNTextView.h @@ -14,6 +14,7 @@ @property (nonatomic, copy) RCTBubblingEventBlock onChangeText; @property (nonatomic, assign) UIScrollViewKeyboardDismissMode keyboardDismissMode; +@property (nonatomic, assign) UIKeyboardAppearance keyboardAppearance; @property (nonatomic, assign) BOOL editable; @property (nonatomic, assign) CGFloat paddingTop; @property (nonatomic, assign) CGFloat paddingLeft; diff --git a/vendor/sn-textview/ios/SNTextView/SNTextViewManager.m b/vendor/sn-textview/ios/SNTextView/SNTextViewManager.m index eb5b27bd..ed26cffa 100644 --- a/vendor/sn-textview/ios/SNTextView/SNTextViewManager.m +++ b/vendor/sn-textview/ios/SNTextView/SNTextViewManager.m @@ -16,6 +16,7 @@ @implementation SNTextViewManager RCT_EXPORT_VIEW_PROPERTY(text, NSString) RCT_EXPORT_VIEW_PROPERTY(onChangeText, RCTBubblingEventBlock) RCT_REMAP_VIEW_PROPERTY(keyboardDismissMode, keyboardDismissMode, UIScrollViewKeyboardDismissMode) +RCT_REMAP_VIEW_PROPERTY(keyboardAppearance, keyboardAppearance, UIKeyboardAppearance) RCT_REMAP_VIEW_PROPERTY(editable, editable, BOOL) RCT_REMAP_VIEW_PROPERTY(color, textColor, UIColor) RCT_REMAP_VIEW_PROPERTY(selectionColor, tintColor, UIColor) From f5a01ff1542f83f70be691566e68158fdc19cb59 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Fri, 4 Jan 2019 19:35:21 -0600 Subject: [PATCH 034/131] Remove RNMail in favor of Share; doesn't work on Android however --- package-lock.json | 6 ++--- package.json | 2 +- src/containers/account/OptionsSection.js | 2 +- src/screens/Settings.js | 33 +++++++----------------- 4 files changed, 14 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index d5c0f6f9..0fb1fcdf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11769,9 +11769,9 @@ "integrity": "sha1-ATl5IuX2Ls8whFUiyVxP4dJefU4=" }, "standard-file-js": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.24.tgz", - "integrity": "sha512-LGqhfvnskr0IaH7rM28bZEI+8xJZectXdtcXPPfSdv46kIq9QjqcoqJnPNfqBHWwHu8L8grPaUBK36Q7ALQBwQ==" + "version": "0.3.27", + "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.27.tgz", + "integrity": "sha512-zqMBVWiquS/40cEchNXSvuXovuzoXgNR9/UsJtXJ748zN2Ezpy7WIA3kmXp67aROBvP6vopRJjPkBe+6JkvTzA==" }, "static-extend": { "version": "0.1.2", diff --git a/package.json b/package.json index 3960c6e7..df89d72a 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "react-navigation-header-buttons": "^2.1.1", "regenerator": "^0.13.3", "sn-models": "0.1.8", - "standard-file-js": "0.3.24" + "standard-file-js": "0.3.27" }, "devDependencies": { "babel-jest": "^23.6.0", diff --git a/src/containers/account/OptionsSection.js b/src/containers/account/OptionsSection.js index 6b0c1947..ba73cf50 100644 --- a/src/containers/account/OptionsSection.js +++ b/src/containers/account/OptionsSection.js @@ -9,7 +9,7 @@ import SectionedTableCell from "../../components/SectionedTableCell"; import SectionedAccessoryTableCell from "../../components/SectionedAccessoryTableCell"; import SectionedOptionsTableCell from "../../components/SectionedOptionsTableCell"; -import {moment} from "../../lib/moment" +import moment from "@Lib/moment" export default class OptionsSection extends Component { diff --git a/src/screens/Settings.js b/src/screens/Settings.js index c2d799ae..2257d2a0 100644 --- a/src/screens/Settings.js +++ b/src/screens/Settings.js @@ -29,7 +29,6 @@ import ApplicationState from "@Lib/ApplicationState" import StyleKit from "../style/StyleKit" var base64 = require('base-64'); -var Mailer = require('NativeModules').RNMail; export default class Settings extends Abstract { @@ -272,7 +271,6 @@ export default class Settings extends Abstract { this.handlePrivilegedAction(true, SFPrivilegesManager.ActionManageBackups, async () => { let customCallback = (success) => { if(success) { - // UserPrefsManager.get().clearLastExportDate(); var date = new Date(); this.setState({lastExportDate: date}); UserPrefsManager.get().setLastExportDate(date); @@ -305,31 +303,18 @@ export default class Settings extends Abstract { } var jsonString = JSON.stringify(data, null, 2 /* pretty print */); - var stringData = ApplicationState.isIOS ? jsonString : base64.encode(unescape(encodeURIComponent(jsonString))) - var fileType = ApplicationState.isAndroid ? ".json" : "json"; // Android creates a tmp file and expects dot with extension var calledCallback = false; - Mailer.mail({ - subject: 'Standard Notes Backup', - recipients: [''], - body: '', - isHTML: true, - attachment: { data: stringData, type: fileType, name: encrypted ? "SN-Encrypted-Backup" : 'SN-Decrypted-Backup' } - }, (error, event) => { - customCallback(false); - calledCallback = true; - if(error) { - Alert.alert('Error', 'Unable to send email.'); - } - }); - - // On Android the Mailer callback event isn't always triggered. - setTimeout(function () { - if(!calledCallback) { - customCallback(true); - } - }, 2500); + ApplicationState.get().performActionWithoutStateChangeImpact(() => { + Share.share({ + title: encrypted ? "SN-Encrypted-Backup" : 'SN-Decrypted-Backup', + message: jsonString, + }).then((event) => { + console.log("Result", event); + customCallback(event != Share.dismissedAction); + }) + }) }); } From 1b0a648da2a18f8a4071142835aa8f1b98a73af1 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Fri, 4 Jan 2019 21:41:00 -0600 Subject: [PATCH 035/131] Status bar color --- src/style/StyleKit.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 97197a7d..a39e48b3 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -220,6 +220,7 @@ export default class StyleKit { setTimeout(() => { let statusBarColor = this.statusBarColorForTheme(theme); StatusBar.setBarStyle(statusBarColor, true); + StatusBar.setBackgroundColor(StyleKit.darken(theme.content.variables.stylekitContrastBackgroundColor)); }, Platform.OS == "android" ? 100 : 0); this.reloadStyles(); From 272d6d7f431cd2fab9c074019a17227a19e1ff38 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Fri, 4 Jan 2019 21:39:55 -0600 Subject: [PATCH 036/131] Functioning backup export for iOS and Android --- android/app/build.gradle | 2 + .../assets/fonts/MaterialCommunityIcons.ttf | Bin 292556 -> 322456 bytes .../app/src/main/assets/fonts/Octicons.ttf | Bin 27512 -> 27520 bytes .../com/standardnotes/MainApplication.java | 4 + android/settings.gradle | 4 + ios/StandardNotes.xcodeproj/project.pbxproj | 104 ++++++++++++++- ios/StandardNotes/Info.plist | 2 +- package-lock.json | 19 +++ package.json | 2 + src/containers/account/OptionsSection.js | 2 +- src/lib/BackupsManager.js | 123 ++++++++++++++++++ src/lib/sfjs/alertManager.js | 5 +- src/screens/Settings.js | 49 +------ 13 files changed, 266 insertions(+), 50 deletions(-) create mode 100644 src/lib/BackupsManager.js diff --git a/android/app/build.gradle b/android/app/build.gradle index 49091072..0b059e29 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -159,6 +159,8 @@ android { } dependencies { + compile project(':react-native-file-viewer') + compile project(':react-native-fs') compile project(':react-native-gesture-handler') implementation fileTree(dir: "libs", include: ["*.jar"]) diff --git a/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf b/android/app/src/main/assets/fonts/MaterialCommunityIcons.ttf index 69404e3d9758bf3d6a7e4ce27e5362089366542f..82524a0c1223bfc2bf060a9b16390c3cc21577c1 100644 GIT binary patch delta 42753 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

9po(mC;xgZJxI5gC)~i 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

R0AMv>n9kBSrZWQv zj8gze2D43>%1lq=EoEYKXnJNcW0)Apj%Q300}~mniO~t`cy@Yp@8}R8Su?eG2E#oz zY#1FM%pQ@b);e`ybSzV&eM06J7y%kZ ze0N}M2;9eXc2XW1p(e}wMyE$+1|2yr1@mz~0B`3wNBcx}Wl4Gh8cbcvLHEh*B$Sh*B@x=+zqSq9$vZnV2gBzYHA3 z3K=-6gGafR<8>4Jv@cE!@8tzE;i`;&Z(^DkEHmT# z$Fqld*>pHN$y<~*4rATWe{-%-lT{962dRO|^Z;-;eq|7Cm_mgqaH&|()5hTeJQ|qF zC^U>%Hl~s6%;dhYfvG8Rf99yPcWhuE7W>ic%(Mc;K{Hd_vbk59+CMrjO=q)XB4&{l zy{5&zZxZteeVd%5`eto9(*wtRk=GFq42+ATQ-`E|qkE_2(P6wYY&igwIRq?&b!-Lt z#45{-0en-^BoL&$d0=m5`lx((U<~~*9M0kkG#2!A;L-8@a{pv@V&tfi7BXOv&J`LA zW25^s4FJv*FYrr(6~6>PX2u57$|R;Xz=M$*15ncPzy#1`TH&XftZ`s`crrUWj2l|P zJ}@?Vcwl@V{jbTUEqRx~&`0%knYPWBQOh`yJ)D`$?%iveo*Wp?92l6~FYN`IFww|! zoNSoN&WsNmXq}Hphk@p#siWgVSbzIQ$7LL85GDbXf#Ece_0-hBzD(Kx%(*`!_H0;b zMr%QZCNnizQ?7`|Lj&V!nnaliqB59z*g^~pO;4GovSTy+mV`C6Um}7F>t&6k5IU~W@Ue-PX$_dL*#X8G-8XInmzOjr9qJ1n2en@-h*gG(U36b5ezocLsCNM$FT5Vzj97L$l_}of% z&^($sP;($Vp4~S&aDcGi*uY@!HZ2zdy|8hkVQT-;iHvP}AUima)qfz@Ms3|IG>>Nn zGxA|Vh11G3mN`~{;c#YjFe~--uU(USTdQy75A+`C7g}#EOVOdtm_BH{3^*K}88;jo z86BBX1~VgI5;Ml($X^j< literal 0 HcmV?d00001 diff --git a/android/app/src/main/assets/fonts/EvilIcons.ttf b/android/app/src/main/assets/fonts/EvilIcons.ttf index b270f985192fa301fac5e3daeff0b96c15fc6b09..6868f7bb64ba71b131690286ddc82aa0f542293e 100644 GIT binary patch delta 1652 zcmaJ>O>7%Q6n-23pw9<4veQVr|cS@6G%9-h1o0 zyZfFu1qJ{V;1Du!ack?!i`RdAWF4R$-a-?IXqCvW(^~oF$adt z(QQ(g8B$~mq?nu8SXkItIA5Kfu1>!-R2agqap8YrVw$JZ)RQMc9*X*}G;`dy4ZgXcX}c zGqQtv#5jJ94JaY%;XW|o(G+K38=fRQiw;>d`XW8ZK?S}|aUS)50US-&Do4*QU0k!F z0ha#RP(yn75^gCOZ>g}wEB0covR=8+@x=3vk`ZFNVKpqfw!EeT{I+!I=&9Q6?hyAZ z7CNri;ROvtwP!Wep8Q7=d^a{v&qA-|#>1y#67(b9;X;tkVS>vh3kNlB^N`W0!@_ug zcJ~x;#~&e0*X5m1Nu5zEQkilVwM*|@XC+EbYLEmvqEL>Xf{0Tsj!+S|l!mI^=2BC4 zLf-UZBGM$9Tz0rn0XKOUg?&e`Hj6zaDI?#Hc_^8%geUzxDGoRl(c&zmOn4jgs`1*a zrB8(Cr@QniI&#v{$m@h(+mlH|q$KNjIFK_40~YXZ=m;;Mb_HBIo*;~kYm}*e?3x_wiK;1;FIW^w&-YT7Kodhs#0^~{{~+MhM8YbOO`Jy3 zOyk8|a0;K&iIet@2)i^>w2t?@IIR(-j@RajnoZbGO%7BNCp(;a72ymVSI5Oyid!rQ z1lOFj*wV#OLn34-d8kwNpk+TStX!i`V%;H48q24oamXT<(!`+(Ts;abMUf_vG*I$M bA|B#j+j#H*FATaY@VR$>$>VT(c delta 1295 zcmXxk%}*0S7zXfXXsNc)QkL>@DQ>DL!~#1rOGO1Df{h^&CBX|9<)ej0pbf1kMpIAd z5z@qucrc#yjES0PG$tN2dcpV?m`F69jV2g%S{~DGpLb^8nf-M)*|p5ubPEK4Ag;rM zGs)!msY`eA+klR*w+yuEedgTm+4+_9b}66$?=hg`!(3`|#`pEd>GeYV{JG7uX~6Ty z^xayRyqv>Byaq(C8QY7K3#oTM$1ea~wLn!@E}Jjl!L%7WeP+B>xw5(X^U;Zy=j!@? zpr*C!ybUy>&0@euwSwMEFhpsui=QtPSf= z!)U|XhF_79$kyWl?`%uaiz_%HRz(u^h@uS%psg`-P{jI$_BBSDRHDZ{aELSRQK5XQ zDdLOmcboUd_V)`nVWyg*BI4UC(t&4zW{)%Mc$x!y0_J-)9*xGMcRvIzD_HsYlnVrM z{+gKM#A^H}%RN>=o0e$&9y?6in^&DvwM-&uR%7j3Mo z5f)>teP({yJT&3;o0~Okj-6V-LWXq}Lb$=&gAv>>*G03y3rp1VL^W*D&Dv+?r!a&p za#+EV*=QDXD8NQLrqN+i!GSclGH&V-)0e`$sRm8&vgw{d-h8rH1ctJ?m8Hz=T)}Ri z?y!|36LEVao0_-%gGR&DQ0kvVG}WcdK8zovO3Eu+rx^ zW2K_=w7BcyVkRjahbftgshKXbhnZj=V)il*GY6T+nM2HB<_Tsoxl>32Bmt5DNq{6k z5+DhX1V{oT0g?bofFwW?APFc+0u%v?07ZZzKoOt_Py{Ff6ak6=MSvne5ugZAJAk58 z1ZV;@0h$0!fF?i_pb5|fXaY0=ngC6JCO{LQD}afl)C9N$xCFQaxCFQaxIN{!3B=#O VD8FDtd9eBZl`N-u*UT_e{{UmJD02V+ diff --git a/android/app/src/main/assets/fonts/Feather.ttf b/android/app/src/main/assets/fonts/Feather.ttf index 244854c5492eecee3ff136fbe461a517079dcdde..fc963dfe2292c4e241afb5950e063414d544c093 100755 GIT binary patch delta 29736 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

Uy(-8_7MW?Vd+(U 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

r9(T^(I1*f{28#Bt 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 AivR!s delta 16079 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 Z#J|lUC2SDC_0Nxg2I&od?*7)y{|6I5?N|T+ delta 16170 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 - CFBundleIcons~ipad - - CFBundlePrimaryIcon - - CFBundleIconFiles - - Blue - - UIPrerenderedIcon - - - CFBundleAlternateIcons - - Red - - CFBundleIconFiles - - Red - - UIPrerenderedIcon - - - - + CFBundleIcons~ipad + + CFBundlePrimaryIcon + + CFBundleIconFiles + + Blue + + UIPrerenderedIcon + + + CFBundleAlternateIcons + + Red + + CFBundleIconFiles + + Red + + UIPrerenderedIcon + + + + NSAppTransportSecurity NSExceptionDomains @@ -90,7 +90,7 @@ NSFaceIDUsageDescription Face ID is required to unlock your notes. NSLocationWhenInUseUsageDescription - + UIAppFonts Entypo.ttf @@ -104,6 +104,10 @@ SimpleLineIcons.ttf Zocial.ttf Feather.ttf + AntDesign.ttf + FontAwesome5_Brands.ttf + FontAwesome5_Regular.ttf + FontAwesome5_Solid.ttf UILaunchStoryboardName LaunchScreen diff --git a/package-lock.json b/package-lock.json index 79c08784..d1166421 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3372,8 +3372,7 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, "capture-exit": { "version": "1.2.0", @@ -4013,7 +4012,6 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, "requires": { "cross-spawn": "5.1.0", "get-stream": "3.0.0", @@ -9217,7 +9215,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, "requires": { "execa": "0.7.0", "lcid": "1.0.0", @@ -10517,20 +10514,15 @@ } }, "react-native-vector-icons": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-4.6.0.tgz", - "integrity": "sha512-rpfhfPiXCK2PX1nrNhdxSMrEGB/Gw/SvKoPM0G2wAkSoqynnes19K0VYI+Up7DqR1rFIpE4hP2erpT1tNx2tfg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.1.0.tgz", + "integrity": "sha512-1GF5I4VWgwnzBtVfAKNgEiR5ziHi5QaKL381wwApMzuiFgIJMNt5XIChuKwKoaiB86s+P5iMcYWxYCyENL96lA==", "requires": { "lodash": "4.17.11", "prop-types": "15.6.2", "yargs": "8.0.2" }, "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" - }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", @@ -10553,20 +10545,6 @@ } } }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - } - }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -10594,16 +10572,6 @@ "strip-bom": "3.0.0" } }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, "path-type": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", @@ -10636,11 +10604,6 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, "yargs": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", @@ -12635,8 +12598,7 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "wordwrap": { "version": "1.0.0", diff --git a/package.json b/package.json index f099aefe..d8f06d47 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "react-native-gesture-handler": "^1.0.12", "react-native-keychain": "^1.2.1", "react-native-store-review": "^0.1.3", - "react-native-vector-icons": "^4.3.0", + "react-native-vector-icons": "6.1.0", "react-navigation": "^3.0.9", "react-navigation-header-buttons": "^2.1.1", "regenerator": "^0.13.3", diff --git a/src/App.js b/src/App.js index fab4e7a4..79c7e8f9 100644 --- a/src/App.js +++ b/src/App.js @@ -5,7 +5,6 @@ import { createStackNavigator, createAppContainer, createDrawerNavigator, Drawer import KeysManager from './lib/keysManager' import StyleKit from "./style/StyleKit" -import Icons from '@Style/Icons'; import ApplicationState from "@Lib/ApplicationState" import Auth from './lib/sfjs/authManager' import ModelManager from './lib/sfjs/modelManager' @@ -146,10 +145,7 @@ export default class App extends Component { async loadInitialData() { await StyleKit.get().resolveInitialTheme(); - await Promise.all([ - Icons.get().loadIcons(), - KeysManager.get().loadInitialData(), - ]) + await KeysManager.get().loadInitialData(); let ready = () => { ApplicationState.get().receiveApplicationStartEvent(); diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 8cf597f1..1a5c7a8e 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -9,7 +9,6 @@ import SideMenuManager from "@SideMenu/SideMenuManager" import Abstract from "./Abstract" import Webview from "./Webview" import ComponentManager from '@Lib/componentManager' -import Icons from '@Style/Icons'; import ApplicationState from "@Lib/ApplicationState" import LockedView from "@Containers/LockedView"; import Icon from 'react-native-vector-icons/Ionicons'; @@ -38,7 +37,7 @@ export default class Compose extends Abstract { title: "Compose", rightButton: { title: null, - iconName: "ios-menu-outline", + iconName: StyleKit.nameForIcon("menu"), } } return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); @@ -122,7 +121,7 @@ export default class Compose extends Abstract { title: 'Compose', rightButton: { title: null, - iconName: "ios-menu-outline", + iconName: StyleKit.nameForIcon("menu"), onPress: () => { this.props.navigation.openRightDrawer(); } @@ -371,7 +370,7 @@ export default class Compose extends Abstract { {this.note.locked && - + Note Locked } diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 32d13b63..28b6a724 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -18,7 +18,6 @@ import NoteList from "@Screens/Notes/NoteList" import OptionsState from "@Lib/OptionsState" import LockedView from "@Containers/LockedView" import ApplicationState from "@Lib/ApplicationState" - import Icon from 'react-native-vector-icons/Ionicons'; import FAB from 'react-native-fab'; @@ -34,7 +33,7 @@ export default class Notes extends Abstract { title: "Notes", leftButton: { title: null, - iconName: "ios-menu-outline", + iconName: StyleKit.nameForIcon("menu"), onPress: () => { this.props.navigation.openLeftDrawer(); } @@ -323,7 +322,9 @@ export default class Notes extends Abstract { iconTextColor={StyleKit.variable("stylekitInfoContrastColor")} onClickAction={() => {this.handleSelection()}} visible={true} - iconTextComponent={} + size={30} + paddingTop={1} + iconTextComponent={} /> ); diff --git a/src/screens/SideMenu/MainSideMenu.js b/src/screens/SideMenu/MainSideMenu.js index ae65f97d..18452d5e 100644 --- a/src/screens/SideMenu/MainSideMenu.js +++ b/src/screens/SideMenu/MainSideMenu.js @@ -14,7 +14,6 @@ import SectionHeader from "@Components/SectionHeader"; import TableSection from "@Components/TableSection"; import LockedView from "@Containers/LockedView"; -import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" import SideMenuManager from "@SideMenu/SideMenuManager" @@ -117,8 +116,14 @@ export default class MainSideMenu extends AbstractSideMenu { // Red and Blue default if(themes.length == 2) { options.push(SideMenuSection.BuildOption({ - text: "Get Themes", + text: "Get More Themes", key: "get-theme", + iconDesc: { + type: "icon", + name: StyleKit.nameForIcon("brush"), + side: "right", + size: 17 + }, onSelect: () => { Linking.openURL("https://standardnotes.org/extensions")}, })); } @@ -171,7 +176,9 @@ export default class MainSideMenu extends AbstractSideMenu { iconTextColor={StyleKit.variables.stylekitInfoContrastColor} onClickAction={() => {this.presentSettings()}} visible={true} - iconTextComponent={} + size={29} + paddingTop={2} + iconTextComponent={} /> diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 06e86896..cb0f6b8d 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -13,7 +13,6 @@ import TableSection from "@Components/TableSection"; import LockedView from "@Containers/LockedView"; import ItemActionManager from "@Lib/itemActionManager" -import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" import ActionSheetWrapper from "@Style/ActionSheetWrapper" import ModelManager from '@SFJS/modelManager' @@ -144,7 +143,7 @@ export default class NoteSideMenu extends AbstractSideMenu { let option = SideMenuSection.BuildOption({ text: rawOption.text, key: rawOption.key, - iconDesc: { type: "icon", side: "right", name: Icons.nameForIcon(rawOption.icon) }, + iconDesc: { type: "icon", side: "right", name: StyleKit.nameForIcon(rawOption.icon) }, onSelect: () => { let run = () => { ItemActionManager.handleEvent(rawOption.key, this.note, () => { @@ -195,11 +194,19 @@ export default class NoteSideMenu extends AbstractSideMenu { options.push(option); } + + console.log("Editor options", editors); // Default - if(editors.length == 1) { + if(options.length == 1) { options.push(SideMenuSection.BuildOption({ - text: "Get Editors", + text: "Get More Editors", key: "get-editors", + iconDesc: { + type: "icon", + name: StyleKit.nameForIcon("medical"), + side: "right", + size: 17 + }, onSelect: () => { Linking.openURL("https://standardnotes.org/extensions")}, })); } @@ -232,7 +239,12 @@ export default class NoteSideMenu extends AbstractSideMenu { - + @@ -242,7 +254,9 @@ export default class NoteSideMenu extends AbstractSideMenu { iconTextColor={StyleKit.variables.stylekitInfoContrastColor} onClickAction={() => {this.presentNewTag()}} visible={true} - iconTextComponent={} + size={30} + paddingTop={1} + iconTextComponent={} /> {this.state.actionSheet && this.state.actionSheet} diff --git a/src/screens/SideMenu/SideMenuCell.js b/src/screens/SideMenu/SideMenuCell.js index 401ba543..df79cde5 100644 --- a/src/screens/SideMenu/SideMenuCell.js +++ b/src/screens/SideMenu/SideMenuCell.js @@ -3,7 +3,6 @@ import { ScrollView, View, Text, TouchableOpacity } from 'react-native'; import Icon from 'react-native-vector-icons/Ionicons'; import ThemedComponent from "@Components/ThemedComponent"; -import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" import Circle from "@Components/Circle" @@ -40,7 +39,7 @@ export default class SideMenuCell extends ThemedComponent { if(desc.type == "icon") { return ( - + ) } else if(desc.type == "ascii") { @@ -125,7 +124,7 @@ export default class SideMenuCell extends ThemedComponent { iconContainerRight: { marginLeft: 6, - marginRight: 6, + marginRight: 4, height: "100%", }, @@ -147,11 +146,19 @@ export default class SideMenuCell extends ThemedComponent { }, iconGraphic: { - marginTop: -3 + marginTop: -3, + width: 20, + flex: 1, + justifyContent: "center", + alignItems: "center" }, iconCircle: { - marginTop: -5 + marginTop: -5, + width: 20, + flex: 1, + justifyContent: "center", + alignItems: "center" }, iconAscii: { diff --git a/src/screens/SideMenu/SideMenuHero.js b/src/screens/SideMenu/SideMenuHero.js index 2af8050d..150f458a 100644 --- a/src/screens/SideMenu/SideMenuHero.js +++ b/src/screens/SideMenu/SideMenuHero.js @@ -5,7 +5,6 @@ import Auth from "@SFJS/authManager" import KeysManager from "@Lib/keysManager" import ModelManager from "@SFJS/modelManager" -import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" import ThemedComponent from "@Components/ThemedComponent"; diff --git a/src/screens/SideMenu/SideMenuSection.js b/src/screens/SideMenu/SideMenuSection.js index 57dd8f17..0598e3e9 100644 --- a/src/screens/SideMenu/SideMenuSection.js +++ b/src/screens/SideMenu/SideMenuSection.js @@ -2,7 +2,6 @@ import React, { Component, Fragment } from 'react'; import { ScrollView, View, Text, TouchableOpacity } from 'react-native'; import Icon from 'react-native-vector-icons/Ionicons'; -import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" import SideMenuCell from "@SideMenu/SideMenuCell" import ThemedComponent from "@Components/ThemedComponent"; diff --git a/src/screens/SideMenu/TagSelectionList.js b/src/screens/SideMenu/TagSelectionList.js index 58102ce0..1ccb43a0 100644 --- a/src/screens/SideMenu/TagSelectionList.js +++ b/src/screens/SideMenu/TagSelectionList.js @@ -7,7 +7,6 @@ import ItemActionManager from '@Lib/itemActionManager' import ModelManager from '@SFJS/modelManager' import Auth from "@SFJS/authManager" -import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" import SideMenuCell from "@SideMenu/SideMenuCell" @@ -166,7 +165,7 @@ class TagSelectionList extends ThemedComponent { emptyPlaceholderText: { color: StyleKit.variables.stylekitForegroundColor, opacity: 0.6, - paddingRight: 40, + paddingRight: 30, lineHeight: 18 } } diff --git a/src/style/ActionSheetWrapper.js b/src/style/ActionSheetWrapper.js index 56974d5c..9bb5d798 100644 --- a/src/style/ActionSheetWrapper.js +++ b/src/style/ActionSheetWrapper.js @@ -1,6 +1,5 @@ import React, {Component} from 'react'; import { StyleSheet, StatusBar, Alert, Platform, Dimensions } from 'react-native'; -import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" import ActionSheet from 'react-native-actionsheet' import ApplicationState from "@Lib/ApplicationState" diff --git a/src/style/Icons.js b/src/style/Icons.js deleted file mode 100644 index f2c1ad7a..00000000 --- a/src/style/Icons.js +++ /dev/null @@ -1,67 +0,0 @@ -const Ionicons = require('react-native-vector-icons/Ionicons'); -import { Platform } from 'react-native'; -import StyleKit from "@Style/StyleKit" - -let iconsMap = {}; - -export default class Icons { - - static instance = null; - - static get() { - if (this.instance == null) { - this.instance = new Icons(); - } - - return this.instance; - } - - static getIcon(name) { - return iconsMap[name]; - } - - constructor() { - this.loadIcons(); - } - - static nameForIcon(iconName) { - const iconPrefix = Platform.OS == "android" ? "md" : "ios"; - const suffix = Platform.OS == "android" ? "" : "-outline"; - return iconPrefix + "-" + iconName + suffix; - } - - async loadIcons(callback) { - var color = StyleKit.variables.stylekitBackgroundColor; - - let icons = { - "ios-menu-outline": [Ionicons, 25, color], - "ios-contact-outline": [Ionicons, 25, color], - "ios-flag": [Ionicons, 25, color], - - "md-add" : [Ionicons, 25, color], - "md-bookmark" : [Ionicons, 25, color], - "md-pricetag" : [Ionicons, 25, color], - "md-menu" : [Ionicons, 25, color], - "md-more" : [Ionicons, 25, color], - "md-settings" : [Ionicons, 25, color], - "md-information-circle" : [Ionicons, 25, color], - }; - - return new Promise((resolve, reject) => { - new Promise.all( - Object.keys(icons).map(iconName => - icons[iconName][0].getImageSource( - iconName, - icons[iconName][1], - icons[iconName][2] - )) - ).then(sources => { - Object.keys(icons).forEach((iconName, idx) => { - iconsMap[iconName] = sources[idx] - }) - resolve(true); - }) - }); - } - -} diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 01916b8e..dcacd039 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -8,7 +8,6 @@ import Auth from "@Lib/sfjs/authManager" import KeysManager from '@Lib/keysManager' import CSSParser from "@Style/Util/CSSParser"; import ThemeDownloader from "@Style/Util/ThemeDownloader" -import Icons from '@Style/Icons'; import IconChanger from 'react-native-alternate-icons'; import redJSON from './Themes/red.json'; @@ -263,8 +262,6 @@ export default class StyleKit { this.reloadStyles(); - Icons.get().loadIcons(); - this.notifyObserversOfThemeChange(); } @@ -522,6 +519,11 @@ export default class StyleKit { } } + static nameForIcon(iconName) { + const iconPrefix = Platform.OS == "android" ? "md" : "ios"; + return iconPrefix + "-" + iconName; + } + static getColorLuminosity(hexCode) { var c = hexCode; c = c.substring(1); // strip # diff --git a/vendor/react-native-fab b/vendor/react-native-fab index 2eb49427..912fe3d6 160000 --- a/vendor/react-native-fab +++ b/vendor/react-native-fab @@ -1 +1 @@ -Subproject commit 2eb49427bd31e0e111070dc993038e0ba48bcb42 +Subproject commit 912fe3d60ed2b734a52e2180f2fc127c32d91a0f From ecc4332245a540c3648cc3bae447038da0fb7ddd Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 8 Jan 2019 12:19:11 -0600 Subject: [PATCH 062/131] Navigation icons for Android --- src/lib/sfjs/privilegesManager.js | 4 +++- src/screens/Authentication/Authenticate.js | 4 +++- src/screens/InputModal.js | 6 ++++-- src/screens/Notes/Notes.js | 2 +- src/screens/Settings/Settings.js | 6 ++++-- src/screens/SideMenu/MainSideMenu.js | 2 +- src/screens/SideMenu/NoteSideMenu.js | 4 ++-- 7 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/lib/sfjs/privilegesManager.js b/src/lib/sfjs/privilegesManager.js index 5e7b72eb..117cdf71 100644 --- a/src/lib/sfjs/privilegesManager.js +++ b/src/lib/sfjs/privilegesManager.js @@ -7,6 +7,7 @@ import AuthenticationSourceBiometric from "@Screens/Authentication/Sources/Authe import KeysManager from "@Lib/keysManager" import Storage from "@SFJS/storageManager" import Auth from "@SFJS/authManager" +import ApplicationState from "@Lib/ApplicationState" export default class PrivilegesManager extends SFPrivilegesManager { @@ -60,7 +61,8 @@ export default class PrivilegesManager extends SFPrivilegesManager { navigation.navigate("Authenticate", { leftButton: { - title: "Cancel", + title: ApplicationState.isIOS ? "Cancel" : null, + iconName: ApplicationState.isIOS ? null : StyleKit.nameForIcon("close"), }, authenticationSources: sources, hasCancelOption: true, diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index db4c3218..d5730180 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -10,6 +10,7 @@ import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell import SectionedOptionsTableCell from "@Components/SectionedOptionsTableCell"; import StyleKit from "@Style/StyleKit" import Icon from 'react-native-vector-icons/Ionicons'; +import ApplicationState from "@Lib/ApplicationState" // Dev mode only. Used to destroy data // import KeysManager from "@Lib/keysManager"; @@ -49,7 +50,8 @@ export default class Authenticate extends Abstract { if(this.getProp("hasCancelOption")) { props.navigation.setParams({ leftButton: { - title: "Cancel", + title: ApplicationState.isIOS ? "Cancel" : null, + iconName: ApplicationState.isIOS ? null : StyleKit.nameForIcon("close"), onPress: () => { this.getProp("onCancel")(); this.dismiss(); diff --git a/src/screens/InputModal.js b/src/screens/InputModal.js index c54a0477..71e525ea 100644 --- a/src/screens/InputModal.js +++ b/src/screens/InputModal.js @@ -15,7 +15,8 @@ export default class InputModal extends Abstract { static navigationOptions = ({ navigation, navigationOptions }) => { let templateOptions = { leftButton: { - title: "Cancel" + title: ApplicationState.isIOS ? "Cancel" : null, + iconName: ApplicationState.isIOS ? null : StyleKit.nameForIcon("close"), } } return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); @@ -26,7 +27,8 @@ export default class InputModal extends Abstract { props.navigation.setParams({ leftButton: { - title: "Cancel", + title: ApplicationState.isIOS ? "Cancel" : null, + iconName: ApplicationState.isIOS ? null : StyleKit.nameForIcon("close"), onPress: () => { this.dismiss(); } diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 28b6a724..9e3eb43e 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -323,7 +323,7 @@ export default class Notes extends Abstract { onClickAction={() => {this.handleSelection()}} visible={true} size={30} - paddingTop={1} + paddingTop={ApplicationState.isIOS ? 1 : 0} iconTextComponent={} /> diff --git a/src/screens/Settings/Settings.js b/src/screens/Settings/Settings.js index bba33285..68a4be78 100644 --- a/src/screens/Settings/Settings.js +++ b/src/screens/Settings/Settings.js @@ -31,7 +31,8 @@ export default class Settings extends Abstract { let templateOptions = { title: "Settings", leftButton: { - title: "Done" + title: ApplicationState.isIOS ? "Done" : null, + iconName: ApplicationState.isIOS ? null : StyleKit.nameForIcon("checkmark"), } } return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); @@ -42,7 +43,8 @@ export default class Settings extends Abstract { props.navigation.setParams({ leftButton: { - title: "Done", + title: ApplicationState.isIOS ? "Done" : null, + iconName: ApplicationState.isIOS ? null : StyleKit.nameForIcon("checkmark"), onPress: () => { this.dismiss(); } diff --git a/src/screens/SideMenu/MainSideMenu.js b/src/screens/SideMenu/MainSideMenu.js index 18452d5e..0bd6fdf3 100644 --- a/src/screens/SideMenu/MainSideMenu.js +++ b/src/screens/SideMenu/MainSideMenu.js @@ -177,7 +177,7 @@ export default class MainSideMenu extends AbstractSideMenu { onClickAction={() => {this.presentSettings()}} visible={true} size={29} - paddingTop={2} + paddingTop={ApplicationState.isIOS ? 2 : 0} iconTextComponent={} /> diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index cb0f6b8d..1d6eab8d 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -1,5 +1,5 @@ import React, { Component, Fragment } from 'react'; -import { ScrollView, View, Text, FlatList } from 'react-native'; +import { ScrollView, View, Text, FlatList, Linking } from 'react-native'; import { SafeAreaView } from 'react-navigation'; import Icon from 'react-native-vector-icons/Ionicons'; @@ -255,7 +255,7 @@ export default class NoteSideMenu extends AbstractSideMenu { onClickAction={() => {this.presentNewTag()}} visible={true} size={30} - paddingTop={1} + paddingTop={ApplicationState.isIOS ? 1 : 0} iconTextComponent={} /> From 389584d644b1bc67ba85f2b7409fac69af11838f Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 8 Jan 2019 12:31:53 -0600 Subject: [PATCH 063/131] Submodules --- src/screens/SideMenu/NoteSideMenu.js | 2 -- vendor/react-native-fab | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 1d6eab8d..2b34dd69 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -194,8 +194,6 @@ export default class NoteSideMenu extends AbstractSideMenu { options.push(option); } - - console.log("Editor options", editors); // Default if(options.length == 1) { options.push(SideMenuSection.BuildOption({ diff --git a/vendor/react-native-fab b/vendor/react-native-fab index 912fe3d6..efe3a7bb 160000 --- a/vendor/react-native-fab +++ b/vendor/react-native-fab @@ -1 +1 @@ -Subproject commit 912fe3d60ed2b734a52e2180f2fc127c32d91a0f +Subproject commit efe3a7bbc3b003df0687b816d05fad09cf5e618d From 7b80aa6cc6259533f398e5833ba34bfc907f3bb5 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 8 Jan 2019 12:45:36 -0600 Subject: [PATCH 064/131] Option sublabels in company section --- .../Settings/Sections/CompanySection.js | 40 ++++++++++++++++--- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/src/screens/Settings/Sections/CompanySection.js b/src/screens/Settings/Sections/CompanySection.js index c2d59b6c..a26b0758 100644 --- a/src/screens/Settings/Sections/CompanySection.js +++ b/src/screens/Settings/Sections/CompanySection.js @@ -39,7 +39,19 @@ export default class CompanySection extends Component { ApplicationState.get().performActionWithoutStateChangeImpact(() => { Share.share({title: title, message: message, url: url}) }) - } + } else if(action == "spread-encryption") { + let title = "The Unexpected Benefits of Encrypted Writing"; + var message = ApplicationState.isIOS ? title : ""; + let url = "https://standardnotes.org/why-encrypted"; + // Android ignores url. iOS ignores title. + if(ApplicationState.isAndroid) { + message += "\n\nhttps://standardnotes.org/why-encrypted"; + } + + ApplicationState.get().performActionWithoutStateChangeImpact(() => { + Share.share({title: title, message: message, url: url}) + }) + } } render() { @@ -49,15 +61,31 @@ export default class CompanySection extends Component { - this.onAction("help")} /> + this.onAction("help")}> + https://standardnotes.org/help + + + this.onAction("feedback")}> + + hello@standardnotes.org + + - this.onAction("feedback")} /> + this.onAction("spread-encryption")}> + Share the unexpected benefits of encrypted writing. + - this.onAction("friend")} /> + this.onAction("friend")}> + Share Standard Notes with a friend. + - this.onAction("learn_more")} /> + this.onAction("learn_more")}> + https://standardnotes.org + - this.onAction("privacy")} /> + this.onAction("privacy")}> + https://standardnotes.org/privacy + this.onAction("rate")} > From bb33691dea28b3bbf4b72748ebdfa2cb35ef0c5c Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 8 Jan 2019 15:47:49 -0600 Subject: [PATCH 065/131] Privileges Management UI --- src/App.js | 7 +- src/lib/sfjs/privilegesManager.js | 8 +- src/screens/Authentication/Authenticate.js | 34 +++- src/screens/ManagePrivileges.js | 169 ++++++++++++++++++ .../Settings/Sections/OptionsSection.js | 6 +- src/screens/Settings/Settings.js | 1 + 6 files changed, 217 insertions(+), 8 deletions(-) create mode 100644 src/screens/ManagePrivileges.js diff --git a/src/App.js b/src/App.js index 79c7e8f9..e82ee775 100644 --- a/src/App.js +++ b/src/App.js @@ -19,6 +19,7 @@ import MainSideMenu from "@SideMenu/MainSideMenu" import NoteSideMenu from "@SideMenu/NoteSideMenu" import Settings from "@Screens/Settings/Settings" import InputModal from "@Screens/InputModal" +import ManagePrivileges from "@Screens/ManagePrivileges" import Authenticate from "@Screens/Authentication/Authenticate" import SideMenuManager from "@SideMenu/SideMenuManager" @@ -76,12 +77,16 @@ const AuthenticateModalStack = createStackNavigator({ Screen1: Authenticate }) +const ManagePrivilegesStack = createStackNavigator({ + Screen1: ManagePrivileges +}) + const AppDrawer = createStackNavigator({ Home: AppDrawerStack, Settings: SettingsStack, InputModal: InputModalStack, Authenticate: AuthenticateModalStack, - + ManagePrivileges: ManagePrivilegesStack }, { mode: "modal", headerMode: 'none', diff --git a/src/lib/sfjs/privilegesManager.js b/src/lib/sfjs/privilegesManager.js index 117cdf71..4cc329c7 100644 --- a/src/lib/sfjs/privilegesManager.js +++ b/src/lib/sfjs/privilegesManager.js @@ -59,6 +59,9 @@ export default class PrivilegesManager extends SFPrivilegesManager { let sources = await this.sourcesForAction(action); + let sessionLengthOptions = await this.getSessionLengthOptions(); + let selectedSessionLength = await this.getSelectedSessionLength(); + navigation.navigate("Authenticate", { leftButton: { title: ApplicationState.isIOS ? "Cancel" : null, @@ -66,7 +69,10 @@ export default class PrivilegesManager extends SFPrivilegesManager { }, authenticationSources: sources, hasCancelOption: true, - onSuccess: () => { + sessionLengthOptions: sessionLengthOptions, + selectedSessionLength: selectedSessionLength, + onSuccess: (selectedSessionLength) => { + this.setSessionLength(selectedSessionLength); customSuccess(); }, onCancel: () => { diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index d5730180..ecb0b930 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -35,6 +35,8 @@ export default class Authenticate extends Abstract { source.initializeForInterface(); } + this._sessionLength = this.getProp("selectedSessionLength"); + // if(__DEV__) { // props.navigation.setParams({ // leftButton: { @@ -131,7 +133,7 @@ export default class Authenticate extends Abstract { componentWillBlur() { super.componentWillBlur(); if(this.successful) { - this.getProp("onSuccess")(); + this.getProp("onSuccess")(this._sessionLength); } } @@ -140,6 +142,15 @@ export default class Authenticate extends Abstract { this.forceUpdate(); } + get sessionLengthOptions() { + return this.getProp("sessionLengthOptions"); + } + + setSessionLength(length) { + this._sessionLength = length; + this.forceUpdate(); + } + _renderAuthenticationSoure = (source, index) => { let isLast = index == this.sources.length - 1; @@ -215,6 +226,22 @@ export default class Authenticate extends Abstract { onPress={() => this.submitPressed()} /> + {this.sessionLengthOptions && this.sessionLengthOptions.length > 0 && + + + {this.sessionLengthOptions.map((option, index) => + {return option.value == this._sessionLength}} + onPress={() => {this.setSessionLength(option.value)}} + /> + )} + + } + ) @@ -222,12 +249,11 @@ export default class Authenticate extends Abstract { loadStyles() { this.styles = { - authSourceSection: { - }, authSourceSectionNotLast: { marginBottom: 10 }, - submitButtonCell: { + rememberForSection: { + marginTop: 10 } } } diff --git a/src/screens/ManagePrivileges.js b/src/screens/ManagePrivileges.js new file mode 100644 index 00000000..2d20e129 --- /dev/null +++ b/src/screens/ManagePrivileges.js @@ -0,0 +1,169 @@ +import React, { Component } from 'react'; +import { TextInput, View, Text, Platform, SafeAreaView, ScrollView } from 'react-native'; +import StyleKit from "@Style/StyleKit" +import TableSection from "@Components/TableSection"; +import SectionedTableCell from "@Components/SectionedTableCell"; +import SectionedOptionsTableCell from "@Components/SectionedOptionsTableCell"; +import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell" +import SectionHeader from "@Components/SectionHeader"; +import ButtonCell from "@Components/ButtonCell"; +import Abstract from "@Screens/Abstract" +import LockedView from "@Containers/LockedView"; +import ApplicationState from "@Lib/ApplicationState" +import Auth from "@SFJS/authManager" +import KeysManager from "@Lib/keysManager" +import PrivilegesManager from "@SFJS/privilegesManager" + +export default class ManagePrivileges extends Abstract { + + static navigationOptions = ({ navigation, navigationOptions }) => { + let templateOptions = { + title: "Privileges", + leftButton: { + title: ApplicationState.isIOS ? "Done" : null, + iconName: ApplicationState.isIOS ? null : StyleKit.nameForIcon("checkmark"), + } + } + return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); + }; + + constructor(props) { + super(props); + + this.state = { + availableActions: [], + availableCredentials: [] + } + + props.navigation.setParams({ + leftButton: { + title: ApplicationState.isIOS ? "Done" : null, + iconName: ApplicationState.isIOS ? null : StyleKit.nameForIcon("checkmark"), + onPress: () => { + this.dismiss(); + } + } + }) + + this.hasPasscode = KeysManager.get().hasOfflinePasscode(); + this.hasAccount = !Auth.get().offline(); + + this.reloadPrivileges(); + } + + displayInfoForCredential(credential) { + return PrivilegesManager.get().displayInfoForCredential(credential).label; + } + + displayInfoForAction(action) { + return PrivilegesManager.get().displayInfoForAction(action).label; + } + + isCredentialRequiredForAction(action, credential) { + if(!this.privileges) { + return false; + } + return this.privileges.isCredentialRequiredForAction(action, credential); + } + + clearSession = () => { + PrivilegesManager.get().clearSession().then(() => { + this.reloadPrivileges(); + }) + } + + async reloadPrivileges() { + this.privileges = await PrivilegesManager.get().getPrivileges(); + let availableCredentials = PrivilegesManager.get().getAvailableCredentials(); + let availableActions = PrivilegesManager.get().getAvailableActions(); + + this.credentialDisplayInfo = {}; + for(let cred of availableCredentials) { + this.credentialDisplayInfo[cred] = this.displayInfoForCredential(cred); + } + + let sessionEndDate = await PrivilegesManager.get().getSessionExpirey(); + this.setState({ + availableActions: availableActions, + availableCredentials: availableCredentials, + sessionExpirey: sessionEndDate.toLocaleString(), + sessionExpired: new Date() >= sessionEndDate + }); + } + + valueChanged(action, credential) { + this.privileges.toggleCredentialForAction(action, credential); + PrivilegesManager.get().savePrivileges(); + this.forceUpdate(); + } + + render() { + if(this.state.lockContent) { + return (); + } + + return ( + + + + {this.state.sessionExpirey && !this.state.sessionExpired && + + + + + You will not be asked to authenticate until {this.state.sessionExpirey}. + + + + + } + + {this.state.availableActions.map((action, actionIndex) => + + + {this.state.availableCredentials.map((credential, credIndex) => + {return this.isCredentialRequiredForAction(action, credential)}} + onPress={() => {this.valueChanged(action, credential)}} + /> + )} + + )} + + + + + + Privileges represent interface level authentication for accessing certain items and features. Privileges are meant to protect against unwanted access in the event of an unlocked application, but do not affect data encryption state. + + + Privileges sync across your other devices—however, note that if you require a "Local Passcode" privilege, and another device does not have a local passcode set up, the local passcode requirement will be ignored on that device. + + + + + + ); + } + + loadStyles() { + this.styles = { + section: { + marginBottom: 8 + }, + cellText: { + lineHeight: 19, + fontSize: 16, + color: StyleKit.variables.stylekitForegroundColor, + }, + aboutText: { + marginBottom: 8 + } + } + } + +} diff --git a/src/screens/Settings/Sections/OptionsSection.js b/src/screens/Settings/Sections/OptionsSection.js index d0b2a691..f204cde3 100644 --- a/src/screens/Settings/Sections/OptionsSection.js +++ b/src/screens/Settings/Sections/OptionsSection.js @@ -95,13 +95,15 @@ class OptionsSection extends Abstract { + + {signedIn && - + } {this.props.navigation.navigate("ManagePrivileges")}} /> From 6bddec960ba79316da92b8753fecf03c3afcaf8b Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 8 Jan 2019 23:28:28 -0600 Subject: [PATCH 066/131] Default smart tag selection --- src/lib/sfjs/modelManager.js | 4 ++++ src/screens/Notes/Notes.js | 14 +++----------- src/screens/Root.js | 8 ++++++++ 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/lib/sfjs/modelManager.js b/src/lib/sfjs/modelManager.js index 77e6831d..9ba91648 100644 --- a/src/lib/sfjs/modelManager.js +++ b/src/lib/sfjs/modelManager.js @@ -112,6 +112,10 @@ export default class ModelManager extends SFModelManager { ] } + defaultSmartTag() { + return this.systemSmartTags[0]; + } + systemSmartTagIds() { return [ SystemSmartTagIdAllNotes, diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 9e3eb43e..f62bbb28 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -168,7 +168,6 @@ export default class Notes extends Abstract { } configureNavBar(initial = false) { - // If you change anything here, be sure to test how it interacts with filtering, when you change which tags to show. if(this.state.lockContent) { this.needsConfigureNavBar = true; return; @@ -176,23 +175,16 @@ export default class Notes extends Abstract { this.needsConfigureNavBar = false; - super.configureNavBar(); - - var options = this.options; - var notesTitle = "Notes"; - var numTags = options.selectedTagIds.length; - - if(numTags > 0) { - var tags = ModelManager.get().getTagsWithIds(options.selectedTagIds); + if(this.options.selectedTagIds.length > 0) { + var tags = ModelManager.get().getTagsWithIds(this.options.selectedTagIds); if(tags.length > 0) { var tag = tags[0]; notesTitle = tag.title; } else { notesTitle = "Notes"; } + this.setTitle(notesTitle); } - - this.setTitle(notesTitle); } setSideMenuHandler() { diff --git a/src/screens/Root.js b/src/screens/Root.js index 6fe5c648..761ad3c8 100644 --- a/src/screens/Root.js +++ b/src/screens/Root.js @@ -4,6 +4,7 @@ import StyleKit from "@Style/StyleKit" import Sync from '@SFJS/syncManager' import Auth from '@SFJS/authManager' import KeysManager from '@Lib/keysManager' +import ModelManager from "@SFJS/modelManager" import AlertManager from '@SFJS/alertManager' import Abstract from "@Screens/Abstract" @@ -21,6 +22,13 @@ export default class Root extends Abstract { } registerObservers() { + + let options = ApplicationState.getOptions(); + if(options.selectedTagIds.length == 0) { + // select default All notes smart tag + options.setSelectedTagIds(ModelManager.get().defaultSmartTag().uuid); + } + this.stateObserver = ApplicationState.get().addStateObserver((state) => { let authProps = ApplicationState.get().getAuthenticationPropsForAppState(state); if(authProps.sources.length > 0) { From ded4621dd5cd53ea731e0adbd50b0d82e7bbc1cd Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 8 Jan 2019 23:48:08 -0600 Subject: [PATCH 067/131] Reload header bar logic on notes --- src/screens/Notes/NoteCell.js | 12 ++++++---- src/screens/Notes/Notes.js | 44 ++++++++++++++--------------------- 2 files changed, 24 insertions(+), 32 deletions(-) diff --git a/src/screens/Notes/NoteCell.js b/src/screens/Notes/NoteCell.js index 1142e38d..94d2ccd0 100644 --- a/src/screens/Notes/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -179,11 +179,13 @@ export default class NoteCell extends ThemedPureComponent { Conflicted Copy } - - {flags.map((flag) => - this.flagElement(flag) - )} - + {flags.length > 0 && + + {flags.map((flag) => + this.flagElement(flag) + )} + + } {note.errorDecrypting && diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index f62bbb28..dfc172e7 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -30,7 +30,7 @@ export default class Notes extends Abstract { this.registerObservers(); props.navigation.setParams({ - title: "Notes", + title: "All notes", leftButton: { title: null, iconName: StyleKit.nameForIcon("menu"), @@ -55,7 +55,7 @@ export default class Notes extends Abstract { unlockContent() { super.unlockContent(); - this.configureNavBar(true); + this.reloadHeaderBar(); } componentWillFocus() { @@ -73,10 +73,6 @@ export default class Notes extends Abstract { this.setSideMenuHandler(); this.forceUpdate(); - - if(this.needsConfigureNavBar) { - this.configureNavBar(false); - } } componentWillUnmount() { @@ -92,18 +88,20 @@ export default class Notes extends Abstract { registerObservers() { this.optionsObserver = this.options.addChangeObserver((options, eventType) => { - // this.props.navigation.closeLeftDrawer(); // should only show for non-search term change - let setSubtitle = false; + let shouldReloadSubtitleAfterNotesReload = false; if(eventType !== OptionsState.OptionsStateChangeEventSearch) { - setSubTitle = true; + shouldReloadSubtitleAfterNotesReload = true; this.setSubTitle("Loading..."); + this.reloadHeaderBar(); } + this.reloadList(true); - this.configureNavBar(); - if(setSubTitle) { + + if(shouldReloadSubtitleAfterNotesReload) { this.setSubTitle(null); } + if(ApplicationState.get().isTablet) { this.selectFirstNote(); } @@ -119,7 +117,7 @@ export default class Notes extends Abstract { } else if(event == "local-data-loaded") { this.displayNeedSignInAlertForLocalItemsIfApplicable(ModelManager.get().allItems); this.reloadList(); - this.configureNavBar(true); + this.reloadHeaderBar(); this.mergeState({decrypting: false, loading: false}); } else if(event == "sync-exception") { Alert.alert("Issue Syncing", `There was an error while trying to save your items. Please contact support and share this message: ${data}`); @@ -143,7 +141,7 @@ export default class Notes extends Abstract { // Called by Root.js root_onIncrementalSync() { this.reloadList(); - this.configureNavBar(true); + this.reloadHeaderBar(); } /* If there is at least one item that has an error decrypting, and there are no account keys saved, @@ -167,24 +165,16 @@ export default class Notes extends Abstract { } } - configureNavBar(initial = false) { + reloadHeaderBar() { if(this.state.lockContent) { - this.needsConfigureNavBar = true; return; } - this.needsConfigureNavBar = false; - - if(this.options.selectedTagIds.length > 0) { - var tags = ModelManager.get().getTagsWithIds(this.options.selectedTagIds); - if(tags.length > 0) { - var tag = tags[0]; - notesTitle = tag.title; - } else { - notesTitle = "Notes"; - } - this.setTitle(notesTitle); - } + var tags = ModelManager.get().getTagsWithIds(this.options.selectedTagIds); + // There always has to be a selected tag/view + var tag = tags[0]; + notesTitle = tag.title; + this.setTitle(notesTitle); } setSideMenuHandler() { From dbbd80f641532f65218d38be80e2c95d44ac2688 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 8 Jan 2019 23:58:11 -0600 Subject: [PATCH 068/131] Reload options selected tags on sign out --- src/App.js | 1 - src/lib/OptionsState.js | 6 ++++-- src/screens/Authentication/Authenticate.js | 2 +- src/screens/Root.js | 20 ++++++++++++++------ src/style/StyleKit.js | 2 +- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/App.js b/src/App.js index e82ee775..c1f00272 100644 --- a/src/App.js +++ b/src/App.js @@ -135,7 +135,6 @@ export default class App extends Component { // Listen to sign out event Auth.get().addEventHandler((event) => { if(event == SFAuthManager.DidSignOutEvent) { - ApplicationState.getOptions().reset(); Storage.get().clearAllModels(); KeysManager.get().clearAccountKeysAndData(); ModelManager.get().handleSignout(); diff --git a/src/lib/OptionsState.js b/src/lib/OptionsState.js index 262bb45c..8837a6f7 100644 --- a/src/lib/OptionsState.js +++ b/src/lib/OptionsState.js @@ -25,9 +25,11 @@ export default class OptionsState { this.sortReverse = false; } - reset() { + reset(notifyObservers = true) { this.init(); - this.notifyObservers(); + if(notifyObservers) { + this.notifyObservers(); + } } async loadSaved() { diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index ecb0b930..084e89f8 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -107,7 +107,7 @@ export default class Authenticate extends Abstract { let result = await source.authenticate(); if(source.isInSuccessState()) { this.successfulSources.push(source); - _.remove(this.pendingSources, source); + _.pull(this.pendingSources, source); } else { if(result.error && result.error.message) { Alert.alert("Unsuccessful", result.error.message); diff --git a/src/screens/Root.js b/src/screens/Root.js index 761ad3c8..7f6c7960 100644 --- a/src/screens/Root.js +++ b/src/screens/Root.js @@ -23,12 +23,6 @@ export default class Root extends Abstract { registerObservers() { - let options = ApplicationState.getOptions(); - if(options.selectedTagIds.length == 0) { - // select default All notes smart tag - options.setSelectedTagIds(ModelManager.get().defaultSmartTag().uuid); - } - this.stateObserver = ApplicationState.get().addStateObserver((state) => { let authProps = ApplicationState.get().getAuthenticationPropsForAppState(state); if(authProps.sources.length > 0) { @@ -89,8 +83,22 @@ export default class Root extends Abstract { this.signoutObserver = Auth.get().addEventHandler((event) => { if(event == SFAuthManager.DidSignOutEvent) { this.setStatusBarText(null); + let notifyObservers = false; + ApplicationState.getOptions().reset(notifyObservers); + this.reloadOptionsToDefault(); + ApplicationState.getOptions().notifyObservers(); } }); + + this.reloadOptionsToDefault(); + } + + reloadOptionsToDefault() { + let options = ApplicationState.getOptions(); + if(options.selectedTagIds.length == 0) { + // select default All notes smart tag + options.setSelectedTagIds(ModelManager.get().defaultSmartTag().uuid); + } } componentDidMount() { diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index dcacd039..1e2d51ae 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -58,7 +58,7 @@ export default class StyleKit { } removeThemeChangeObserver(observer) { - _.remove(this.themeChangeObservers, observer); + _.pull(this.themeChangeObservers, observer); } notifyObserversOfThemeChange() { From ec3bf3d49b9ce04b550ab99444c763fb787d4850 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 9 Jan 2019 00:21:39 -0600 Subject: [PATCH 069/131] Fix issue with being unable to sign in after sign out --- src/lib/sfjs/authManager.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/sfjs/authManager.js b/src/lib/sfjs/authManager.js index d78fbc6b..48963dd4 100644 --- a/src/lib/sfjs/authManager.js +++ b/src/lib/sfjs/authManager.js @@ -38,6 +38,7 @@ export default class Auth extends SFAuthManager { } async signout(clearAllData) { + this._keys = null; // DONT clear all data. We will do this ourselves manually, as we need to preserve certain data keys. super.signout(false); } From 255b0cc4831400320fadb14f8344bfba616c4a18 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 9 Jan 2019 00:29:53 -0600 Subject: [PATCH 070/131] Disable side menu on Notes blur --- src/screens/Compose.js | 8 -------- src/screens/Notes/Notes.js | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 1a5c7a8e..05d28b2b 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -136,8 +136,6 @@ export default class Compose extends Abstract { // the component will blur, and this will be called. Then, because the right drawer is now locked, // we ignore render events. This will cause the screen to be white when you save the new tag. SideMenuManager.get().removeHandlerForRightSideMenu(); - this.props.navigation.lockLeftDrawer(false); - this.props.navigation.lockRightDrawer(true); Sync.get().removeEventHandler(this.syncObserver); ComponentManager.get().deregisterHandler(this.componentHandler); @@ -157,11 +155,6 @@ export default class Compose extends Abstract { componentDidFocus() { super.componentDidFocus(); - if(!ApplicationState.get().isTablet) { - this.props.navigation.lockLeftDrawer(true); - this.props.navigation.lockRightDrawer(false); - } - if(this.note.dummy) { if(this.refs.input) { this.refs.input.focus(); @@ -174,7 +167,6 @@ export default class Compose extends Abstract { } } - SideMenuManager.get().setHandlerForRightSideMenu({ getCurrentNote: () => { return this.note; diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index dfc172e7..a75a2997 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -61,12 +61,26 @@ export default class Notes extends Abstract { componentWillFocus() { super.componentWillFocus(); + if(!ApplicationState.get().isTablet) { + this.props.navigation.lockLeftDrawer(false); + this.props.navigation.lockRightDrawer(true); + } + if(this.loadNotesOnVisible) { this.loadNotesOnVisible = false; this.reloadList(); } } + componentWillBlur() { + super.componentWillBlur(); + + if(!ApplicationState.get().isTablet) { + this.props.navigation.lockLeftDrawer(true); + this.props.navigation.lockRightDrawer(false); + } + } + componentDidFocus() { super.componentDidFocus(); From 17619d0eaa43938303ccb913dd28fc81d94cb63f Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 9 Jan 2019 20:20:02 -0600 Subject: [PATCH 071/131] Migration manager, download all items to get privileges --- package-lock.json | 8 ++-- package.json | 8 ++-- src/App.js | 4 +- src/lib/sfjs/migrationManager.js | 81 ++++++++++++++++++++++++++++++++ src/screens/Notes/NoteCell.js | 2 +- src/screens/Notes/NoteList.js | 1 + 6 files changed, 94 insertions(+), 10 deletions(-) create mode 100644 src/lib/sfjs/migrationManager.js diff --git a/package-lock.json b/package-lock.json index d1166421..cb43f06f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "StandardNotes", - "version": "2.3.10", + "version": "3.0.0-beta1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -11746,9 +11746,9 @@ "integrity": "sha1-ATl5IuX2Ls8whFUiyVxP4dJefU4=" }, "standard-file-js": { - "version": "0.3.28", - "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.28.tgz", - "integrity": "sha512-7VNxr6Yb6G4Fcmj5P6LObaNOM4sTouFlYqvx56fTnhTnqTfRXty2qgndSaXWmjKrvp6wlmqvud5WnnaP2fHfaQ==" + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.31.tgz", + "integrity": "sha512-flbgmQWrLJQ2TAv+RZkVG23akePixAqekAvG8yNEyueR5E/Fdtgm2LFEbg2sFf+ko/qR0vqWgq95cgUdTejRQA==" }, "static-extend": { "version": "0.1.2", diff --git a/package.json b/package.json index d8f06d47..7e33e0a7 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "StandardNotes", - "version": "2.3.10", - "versionIOS": "2.3.10", - "versionAndroid": "2.3.10", + "version": "3.0.0-beta1", + "versionIOS": "3.0.0-beta1", + "versionAndroid": "3.0.0-beta1", "license": "AGPL-3.0-or-later", "private": true, "scripts": { @@ -29,7 +29,7 @@ "react-navigation-header-buttons": "^2.1.1", "regenerator": "^0.13.3", "sn-models": "0.1.8", - "standard-file-js": "0.3.28" + "standard-file-js": "0.3.31" }, "devDependencies": { "babel-jest": "^23.6.0", diff --git a/src/App.js b/src/App.js index c1f00272..d88e84d8 100644 --- a/src/App.js +++ b/src/App.js @@ -9,9 +9,10 @@ import ApplicationState from "@Lib/ApplicationState" import Auth from './lib/sfjs/authManager' import ModelManager from './lib/sfjs/modelManager' import PrivilegesManager from '@SFJS/privilegesManager' +import MigrationManager from "@SFJS/migrationManager" import Sync from './lib/sfjs/syncManager' import Storage from './lib/sfjs/storageManager' -import ReviewManager from './lib/reviewManager'; +import ReviewManager from './lib/reviewManager' import Compose from "@Screens/Compose" import Root from "@Screens/Root" @@ -131,6 +132,7 @@ export default class App extends Component { ReviewManager.initialize(); PrivilegesManager.get().loadPrivileges(); + MigrationManager.get().load(); // Listen to sign out event Auth.get().addEventHandler((event) => { diff --git a/src/lib/sfjs/migrationManager.js b/src/lib/sfjs/migrationManager.js new file mode 100644 index 00000000..4cda097a --- /dev/null +++ b/src/lib/sfjs/migrationManager.js @@ -0,0 +1,81 @@ +import ModelManager from "@SFJS/modelManager"; +import Sync from "@SFJS/syncManager"; +import Storage from "@SFJS/storageManager"; +import Auth from "@SFJS/authManager"; +import PrivilegesManager from "@SFJS/privilegesManager" +var base64 = require('base-64'); + +export default class MigrationManager extends SFMigrationManager { + + static instance = null; + + static get() { + if (this.instance == null) { + this.instance = new MigrationManager(); + } + + return this.instance; + } + + constructor(modelManager, syncManager, storageManager) { + super(ModelManager.get(), Sync.get(), Storage.get()); + } + + load() { + // Doesn't do anything, just gives consumer reason to call MigrationManager.get() so constructor + // can be run, which handles the actual loading + } + + registeredMigrations() { + return [ + this.downloadAllItemsToGetPrivileges() + ]; + } + + /* + Previously the mobile app only accepted a certain subset of item content_types before mapping + them from a sync request. SN|Privileges was not one of them, so now, we need to download all items + of a user to get at the privileges. + */ + + downloadAllItemsToGetPrivileges() { + let contentType = "SN|Privileges"; + return { + name: "dl-all-to-get-privs", + runOnlyOnce: true, + contentType: contentType, /* Not used currently, but server might be updated in the future */ + customHandler: async () => { + if(Auth.get().offline()) { + return; + } + + // The user is signed in + Sync.get().stateless_downloadAllItems().then((items) => { + let matchingPrivs = items.filter((candidate) => { + return candidate.content_type == contentType; + }); + + if(matchingPrivs.length == 0) { + return; + } + + let mapped = ModelManager.get().mapResponseItemsToLocalModelsOmittingFields( + matchingPrivs, null, SFModelManager.MappingSourceRemoteRetrieved); + // Singleton manager usually resolves singletons on sync completion callback, + // but since we're manually mapping, we have to make it manually resolve singletons + PrivilegesManager.get().singletonManager.resolveSingletons(mapped); + }) + } + } + } + + /* Overrides */ + + async encode(text) { + return base64.encode(text); + } + + async decode(base64String) { + return base64.decode(base64String); + } +} diff --git a/src/screens/Notes/NoteCell.js b/src/screens/Notes/NoteCell.js index 94d2ccd0..a9568e6a 100644 --- a/src/screens/Notes/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -165,7 +165,7 @@ export default class NoteCell extends ThemedPureComponent { render() { var note = this.props.item; - let showPreview = !this.state.options.hidePreviews && !note.content.protected; + let showPreview = !this.state.options.hidePreviews && !note.content.protected && !note.content.hidePreview; let flags = this.getFlags(note); return ( diff --git a/src/screens/Notes/NoteList.js b/src/screens/Notes/NoteList.js index 6da5d2f4..b8dacb39 100644 --- a/src/screens/Notes/NoteList.js +++ b/src/screens/Notes/NoteList.js @@ -56,6 +56,7 @@ export default class NoteList extends ThemedComponent { archived={item.archived /* extraData */} locked={item.locked /* extraData */} protected={item.content.protected /* extraData */} + protected={item.content.hidePreview /* extraData */} /> ) } From f3ebdd0cd4de582db682d51d7846c202be484c21 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 10 Jan 2019 12:34:00 -0600 Subject: [PATCH 072/131] Privileges migration content type --- src/lib/sfjs/migrationManager.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/sfjs/migrationManager.js b/src/lib/sfjs/migrationManager.js index 4cda097a..e23a72f6 100644 --- a/src/lib/sfjs/migrationManager.js +++ b/src/lib/sfjs/migrationManager.js @@ -49,8 +49,12 @@ export default class MigrationManager extends SFMigrationManager { return; } + let options = { + contentType: contentType + } + // The user is signed in - Sync.get().stateless_downloadAllItems().then((items) => { + Sync.get().stateless_downloadAllItems(options).then((items) => { let matchingPrivs = items.filter((candidate) => { return candidate.content_type == contentType; }); From 56b452a89071abd053b858bdbaa5c2ca52b528e1 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 10 Jan 2019 23:41:08 -0600 Subject: [PATCH 073/131] Trash bin --- package-lock.json | 6 +- package.json | 2 +- src/lib/itemActionManager.js | 63 +++++++++++++++----- src/lib/sfjs/modelManager.js | 77 ++++++++++++------------ src/screens/Notes/NoteCell.js | 29 ++++++--- src/screens/SideMenu/NoteSideMenu.js | 88 +++++++++++++++++++++------- src/screens/SideMenu/SideMenuHero.js | 2 + 7 files changed, 182 insertions(+), 85 deletions(-) diff --git a/package-lock.json b/package-lock.json index cb43f06f..6f1aa2db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11544,9 +11544,9 @@ "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" }, "sn-models": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/sn-models/-/sn-models-0.1.8.tgz", - "integrity": "sha512-UAutsQb2TVebrkOwzWAJXL13ZPHadqwPHZPUV2X6XdPhWfxwKMAvUIeQJaUrzXg9b3Hz0U0rTtEgaXzhH1UtBQ==" + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/sn-models/-/sn-models-0.1.11.tgz", + "integrity": "sha512-biujgC7jtBA5DVo1py7XEaFE4F8SOhJYT0/BX81CDq64DhAGTfScax90myMd5+acZLOTAvHYQE2cCaGb6yrXYA==" }, "snapdragon": { "version": "0.8.2", diff --git a/package.json b/package.json index 7e33e0a7..effbfd31 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "react-navigation": "^3.0.9", "react-navigation-header-buttons": "^2.1.1", "regenerator": "^0.13.3", - "sn-models": "0.1.8", + "sn-models": "0.1.11", "standard-file-js": "0.3.31" }, "devDependencies": { diff --git a/src/lib/itemActionManager.js b/src/lib/itemActionManager.js index 97a5f93b..83483cd6 100644 --- a/src/lib/itemActionManager.js +++ b/src/lib/itemActionManager.js @@ -8,6 +8,10 @@ export default class ItemActionManager { static DeleteEvent = "DeleteEvent"; + static TrashEvent = "TrashEvent"; + + static EmptyTrashEvent = "EmptyTrashEvent"; + static PinEvent = "PinEvent"; static UnpinEvent = "UnpinEvent"; @@ -26,11 +30,40 @@ export default class ItemActionManager { static handleEvent(event, item, callback, afterConfirmCallback) { - console.log("Handling event", event); + if(event == this.TrashEvent) { + var title = `Move to Trash`; + var message = `Are you sure you want to move this ${item.displayName.toLowerCase()} to the trash?`; + + AlertManager.get().confirm({ + title: title, + text: message, + confirmButtonText: "Confirm", + onConfirm: () => { + item.content.trashed = true; + item.setDirty(true); + Sync.get().sync(); + callback && callback(); + } + }) + } + + else if(event == this.EmptyTrashEvent) { + let deletedCount = ModelManager.get().trashedItems().length; + AlertManager.get().confirm({ + title: "Empty Trash", + text: `Are you sure you want to permanently delete ${deletedCount} notes?`, + confirmButtonText: "Delete", + onConfirm: () => { + ModelManager.get().emptyTrash(); + Sync.get().sync(); + callback && callback(); + } + }) + } - if(event == this.DeleteEvent) { + else if(event == this.DeleteEvent) { var title = `Delete ${item.displayName}`; - var message = `Are you sure you want to delete this ${item.displayName.toLowerCase()}?`; + var message = `Are you sure you want to permanently delete this ${item.displayName.toLowerCase()}?`; AlertManager.get().confirm({ title: title, @@ -48,7 +81,7 @@ export default class ItemActionManager { }) } - else if(event == this.PinEvent || event == this.UnpinEvent) { + else if(event == this.PinEvent || event == this.UnpinEvent) { item.setAppDataItem("pinned", event == this.PinEvent); item.setDirty(true); Sync.get().sync(); @@ -56,13 +89,13 @@ export default class ItemActionManager { } else if(event == this.LockEvent || event == this.UnlockEvent) { - item.setAppDataItem("locked", event == this.LockEvent); - item.setDirty(true, true); - Sync.get().sync(); - callback && callback(); - } + item.setAppDataItem("locked", event == this.LockEvent); + item.setDirty(true, true); + Sync.get().sync(); + callback && callback(); + } - else if(event == this.ArchiveEvent || event == this.UnarchiveEvent) { + else if(event == this.ArchiveEvent || event == this.UnarchiveEvent) { item.setAppDataItem("archived", event == this.ArchiveEvent); item.setDirty(true); Sync.get().sync(); @@ -70,11 +103,11 @@ export default class ItemActionManager { } else if(event == this.ProtectEvent || event == this.UnprotectEvent) { - item.content.protected = !item.content.protected; - item.setDirty(true); - Sync.get().sync(); - callback && callback(); - } + item.content.protected = !item.content.protected; + item.setDirty(true); + Sync.get().sync(); + callback && callback(); + } else if(event == this.ShareEvent) { ApplicationState.get().performActionWithoutStateChangeImpact(() => { diff --git a/src/lib/sfjs/modelManager.js b/src/lib/sfjs/modelManager.js index 9ba91648..1929edf4 100644 --- a/src/lib/sfjs/modelManager.js +++ b/src/lib/sfjs/modelManager.js @@ -11,9 +11,6 @@ SFModelManager.ContentTypeClassMapping = { "SN|Privileges" : SFPrivileges }; -const SystemSmartTagIdAllNotes = "all-notes"; -const SystemSmartTagIdArchivedNotes = "archived-notes"; - export default class ModelManager extends SFModelManager { static instance = null; @@ -92,24 +89,7 @@ export default class ModelManager extends SFModelManager { } buildSystemSmartTags() { - this.systemSmartTags = [ - new SNSmartTag({ - uuid: SystemSmartTagIdAllNotes, - content: { - title: "All notes", - isAllTag: true, - predicate: new SFPredicate.fromArray(["content_type", "=", "Note"]) - } - }), - new SNSmartTag({ - uuid: SystemSmartTagIdArchivedNotes, - content: { - title: "Archived", - isArchiveTag: true, - predicate: new SFPredicate.fromArray(["archived", "=", true]) - } - }) - ] + this.systemSmartTags = SNSmartTag.systemSmartTags(); } defaultSmartTag() { @@ -117,10 +97,7 @@ export default class ModelManager extends SFModelManager { } systemSmartTagIds() { - return [ - SystemSmartTagIdAllNotes, - SystemSmartTagIdArchivedNotes - ] + return this.systemSmartTags.map((tag) => {return tag.uuid}); } getSmartTagWithId(id) { @@ -134,14 +111,34 @@ export default class ModelManager extends SFModelManager { getSmartTags() { let userTags = this.validItemsForContentType("SN|SmartTag").sort((a, b) => { return a.content.title < b.content.title ? -1 : 1; - });; + }); return this.systemSmartTags.concat(userTags); } - notesMatchingPredicate(predicate) { - let notePredicate = ["content_type", "=", "Note"]; - // itemsMatchingPredicate can return non-note types - return this.itemsMatchingPredicates([notePredicate, predicate]); + + trashSmartTag() { + return this.systemSmartTags.find((tag) => tag.content.isTrashTag); + } + + trashedItems() { + return this.notesMatchingSmartTag(this.trashSmartTag()); + } + + emptyTrash() { + let notes = this.trashedItems(); + for(let note of notes) { + this.setItemToBeDeleted(note); + } + } + + notesMatchingSmartTag(tag) { + let contentTypePredicate = new SFPredicate("content_type", "=", "Note"); + let predicates = [contentTypePredicate, tag.content.predicate]; + if(!tag.content.isTrashTag) { + let notTrashedPredicate = new SFPredicate("content.trashed", "=", false); + predicates.push(notTrashedPredicate); + } + return this.itemsMatchingPredicates(predicates); } getNotes(options = {}) { @@ -151,7 +148,7 @@ export default class ModelManager extends SFModelManager { if(selectedTagIds && selectedTagIds.length > 0) { selectedSmartTag = selectedTagIds.length == 1 && this.getSmartTagWithId(selectedTagIds[0]); if(selectedSmartTag) { - notes = this.notesMatchingPredicate(selectedSmartTag.content.predicate); + notes = this.notesMatchingSmartTag(selectedSmartTag); } else { tags = ModelManager.get().findItems(options.selectedTagIds); if(tags.length > 0) { @@ -184,14 +181,18 @@ export default class ModelManager extends SFModelManager { return false; } - // If we're not dealing with the system archived tag, then we only want to - // filter for this note if it's not archived. (Hide archived if not archive tag) - let isExplicitlyArchiveTag = selectedSmartTag && selectedSmartTag.content.isArchiveTag; - if(!isExplicitlyArchiveTag) { - return !note.archived; - } else { - return note.archived; + let isTrash = selectedSmartTag && selectedSmartTag.content.isTrashTag; + let canShowArchived = (selectedSmartTag && selectedSmartTag.content.isArchiveTag) || isTrash; + + if(!isTrash && note.content.trashed) { + return false; } + + if(note.archived && !canShowArchived) { + return false; + } + + return true; }) let sortValueFn = (a, b, pinCheck = false) => { diff --git a/src/screens/Notes/NoteCell.js b/src/screens/Notes/NoteCell.js index a9568e6a..8d132302 100644 --- a/src/screens/Notes/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -81,16 +81,22 @@ export default class NoteCell extends ThemedPureComponent { } }); } else { + let options = [ + ActionSheetWrapper.BuildOption({text: pinLabel, key: pinEvent, callback: callbackForOption}), + ActionSheetWrapper.BuildOption({text: archiveLabel, key: archiveEvent, callback: callbackForOption}), + ActionSheetWrapper.BuildOption({text: lockLabel, key: lockEvent, callback: callbackForOption}), + ActionSheetWrapper.BuildOption({text: protectLabel, key: protectEvent, callback: callbackForOption}), + ActionSheetWrapper.BuildOption({text: "Share", key: ItemActionManager.ShareEvent, callback: callbackForOption}), + ] + + if(!this.props.item.content.trashed) { + options.push(ActionSheetWrapper.BuildOption({text: "Move to Trash", key: ItemActionManager.TrashEvent, destructive: true, callback: callbackForOption})); + } + sheet = new ActionSheetWrapper({ title: this.props.item.safeTitle(), - options: [ - ActionSheetWrapper.BuildOption({text: pinLabel, key: pinEvent, callback: callbackForOption}), - ActionSheetWrapper.BuildOption({text: archiveLabel, key: archiveEvent, callback: callbackForOption}), - ActionSheetWrapper.BuildOption({text: lockLabel, key: lockEvent, callback: callbackForOption}), - ActionSheetWrapper.BuildOption({text: protectLabel, key: protectEvent, callback: callbackForOption}), - ActionSheetWrapper.BuildOption({text: "Share", key: ItemActionManager.ShareEvent, callback: callbackForOption}), - ActionSheetWrapper.BuildOption({text: "Delete", key: ItemActionManager.DeleteEvent, destructive: true, callback: callbackForOption}), - ], onCancel: () => { + options: options, + onCancel: () => { this.setState({actionSheet: null}); } }); @@ -131,6 +137,13 @@ export default class NoteCell extends ThemedPureComponent { }) } + if(note.content.trashed) { + flags.push({ + text: "Deleted", + color: StyleKit.variables.stylekitDangerColor + }) + } + return flags; } diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 2b34dd69..6dffdc52 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -116,6 +116,28 @@ export default class NoteSideMenu extends AbstractSideMenu { Render */ + runAction(action) { + let run = () => { + ItemActionManager.handleEvent(action, this.note, () => { + if(action == ItemActionManager.TrashEvent + || action == ItemActionManager.DeleteEvent + || action == ItemActionManager.EmptyTrashEvent) { + this.popToRoot(); + } else { + this.forceUpdate(); + this.handler.onPropertyChange(); + } + }); + } + if((action == ItemActionManager.TrashEvent || action == ItemActionManager.DeleteEvent) && this.note.content.protected) { + this.handlePrivilegedAction(this.note.content.protected, SFPrivilegesManager.ActionDeleteNote, () => { + run(); + }) + } else { + run(); + } + } + buildOptionsForNoteManagement() { var pinOption = this.note.pinned ? "Unpin" : "Pin"; let pinEvent = pinOption == "Pin" ? ItemActionManager.PinEvent : ItemActionManager.UnpinEvent; @@ -135,9 +157,12 @@ export default class NoteSideMenu extends AbstractSideMenu { { text: lockOption, key: lockEvent, icon: "lock" }, { text: protectOption, key: protectEvent, icon: "finger-print" }, { text: "Share", key: ItemActionManager.ShareEvent, icon: "share" }, - { text: "Delete", key: ItemActionManager.DeleteEvent, icon: "trash" }, ]; + if(!this.note.content.trashed) { + rawOptions.push({ text: "Move to Trash", key: ItemActionManager.TrashEvent, icon: "trash" }); + } + let options = []; for(let rawOption of rawOptions) { let option = SideMenuSection.BuildOption({ @@ -145,24 +170,7 @@ export default class NoteSideMenu extends AbstractSideMenu { key: rawOption.key, iconDesc: { type: "icon", side: "right", name: StyleKit.nameForIcon(rawOption.icon) }, onSelect: () => { - let run = () => { - ItemActionManager.handleEvent(rawOption.key, this.note, () => { - if(rawOption.key == ItemActionManager.DeleteEvent) { - this.popToRoot(); - } else { - this.forceUpdate(); - this.handler.onPropertyChange(); - } - }); - } - if(rawOption.key == ItemActionManager.DeleteEvent && this.note.content.protected) { - this.handlePrivilegedAction(this.note.content.protected, SFPrivilegesManager.ActionDeleteNote, () => { - run(); - }) - } else { - run(); - } - + this.runAction(rawOption.key); }, }) options.push(option); @@ -171,6 +179,41 @@ export default class NoteSideMenu extends AbstractSideMenu { return options; } + buildOptionsForTrash() { + if(!this.note.content.trashed) { + return []; + } + + let options = [ + { + text: "Restore Note", + key: "restore-note", + onSelect: () => { + this.note.content.trashed = false; + this.note.setDirty(true); + Sync.get().sync(); + this.forceUpdate(); + } + }, + { + text: "Delete Forever", + key: "delete-forever", + onSelect: () => { + this.runAction(ItemActionManager.DeleteEvent); + } + }, + { + text: "Empty Trash", + key: "empty trash", + onSelect: () => { + this.runAction(ItemActionManager.EmptyTrashEvent); + } + }, + ] + + return options; + } + buildOptionsForEditors() { let editors = ComponentManager.get().getEditors(); let selectedEditor = ComponentManager.get().editorForNote(this.note); @@ -223,8 +266,9 @@ export default class NoteSideMenu extends AbstractSideMenu { return ; } - let editorOptions = this.buildOptionsForEditors(); let noteOptions = this.buildOptionsForNoteManagement(); + let trashOptions = this.buildOptionsForTrash(); + let editorOptions = this.buildOptionsForEditors(); let selectedTags = this.handler.getSelectedTags(); return ( @@ -234,6 +278,10 @@ export default class NoteSideMenu extends AbstractSideMenu { + {trashOptions.length > 0 && + + } + diff --git a/src/screens/SideMenu/SideMenuHero.js b/src/screens/SideMenu/SideMenuHero.js index 150f458a..760a3c96 100644 --- a/src/screens/SideMenu/SideMenuHero.js +++ b/src/screens/SideMenu/SideMenuHero.js @@ -54,6 +54,8 @@ export default class SideMenuHero extends ThemedComponent { borderBottomColor: StyleKit.variables.stylekitContrastBorderColor, borderBottomWidth: 1, padding: 15, + paddingTop: 10, + paddingBottom: 12, paddingRight: 25, }, From ad651e44c310da0759f64ebf0ce3b6873f2303c3 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Fri, 11 Jan 2019 00:09:05 -0600 Subject: [PATCH 074/131] Encryption section display --- src/lib/sfjs/authManager.js | 7 ++ src/screens/Settings/Sections/AuthSection.js | 2 +- .../Settings/Sections/EncryptionSection.js | 64 +++++++++++-------- 3 files changed, 44 insertions(+), 29 deletions(-) diff --git a/src/lib/sfjs/authManager.js b/src/lib/sfjs/authManager.js index 48963dd4..a08e4229 100644 --- a/src/lib/sfjs/authManager.js +++ b/src/lib/sfjs/authManager.js @@ -44,6 +44,13 @@ export default class Auth extends SFAuthManager { } async keys() { + // AuthManager only handles account related keys. If we are requesting keys, + // we are referring to account keys. KeysManager.activeKeys can return local passcode + // keys. + + if(this.offline) { + return null; + } return KeysManager.get().activeKeys(); } diff --git a/src/screens/Settings/Sections/AuthSection.js b/src/screens/Settings/Sections/AuthSection.js index 720433bb..d3b7b8dd 100644 --- a/src/screens/Settings/Sections/AuthSection.js +++ b/src/screens/Settings/Sections/AuthSection.js @@ -48,7 +48,7 @@ export default class AuthSection extends Component { var password = this.state.password; if(!this.validate(email, password)) { - if(callback) {callback(false);} + this.setState({signingIn: false, signInButtonText: DEFAULT_SIGN_IN_TEXT}); return; } diff --git a/src/screens/Settings/Sections/EncryptionSection.js b/src/screens/Settings/Sections/EncryptionSection.js index 70e576a2..0253fa47 100644 --- a/src/screens/Settings/Sections/EncryptionSection.js +++ b/src/screens/Settings/Sections/EncryptionSection.js @@ -14,6 +14,10 @@ export default class PasscodeSection extends Component { constructor(props) { super(props); + + this.state = { + items: ModelManager.get().allItemsMatchingTypes(["Note", "Tag"]) + } } render() { @@ -22,61 +26,65 @@ export default class PasscodeSection extends Component { if(source == "offline") { enabled = KeysManager.get().isStorageEncryptionEnabled(); } + var encryptionType = "AES-256"; var storageEncryptionAvailable = source != null; var encryptionStatus = enabled ? "Enabled" : "Not Enabled"; + if(enabled) { + encryptionStatus += ` | ${encryptionType}` + } else { + encryptionStatus += ". "; // to connect sentence + encryptionStatus += storageEncryptionAvailable + ? "To enable encryption, sign in, register, or enable storage encryption." + : "Sign in, register, or add a local passcode to enable encryption." + } var sourceString = source == "account" ? "Account Keys" : "Passcode"; - var encryptionType = "AES-256"; - var items = ModelManager.get().allItemsMatchingTypes(["Note", "Tag"]); + var items = this.state.items; var itemsStatus = items.length + "/" + items.length + " notes and tags encrypted"; - var textStyles = { + let titleStyles = { color: StyleKit.variable("stylekitForegroundColor"), fontSize: 16, - lineHeight: 22 + fontWeight: "bold" } + let subtitleStyles = { + color: StyleKit.variable("stylekitNeutralColor"), + fontSize: 14, + marginTop: 4, + } + + let containerStyles = {} + return ( - - Encryption: - {encryptionStatus} - {enabled && - | {encryptionType} - } - - {!enabled && - - {storageEncryptionAvailable - ? "To enable encryption, sign in, register, or enable storage encryption." - : "Sign in, register, or add a local passcode to enable encryption." - } - - } + + Encryption + {encryptionStatus} + {enabled && - - Encryption Source: - {sourceString} - + + Encryption Source + {sourceString} + } {enabled && - - Items Encrypted: - {itemsStatus} - + + Items Encrypted + {itemsStatus} + } - ); } From aa69838fd645ff89e777937cc5c33c8e69cf7b14 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Fri, 11 Jan 2019 00:13:48 -0600 Subject: [PATCH 075/131] Sort editors --- src/screens/SideMenu/NoteSideMenu.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 6dffdc52..5d87a363 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -215,7 +215,9 @@ export default class NoteSideMenu extends AbstractSideMenu { } buildOptionsForEditors() { - let editors = ComponentManager.get().getEditors(); + let editors = ComponentManager.get().getEditors().sort((a, b) => { + return a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1; + }); let selectedEditor = ComponentManager.get().editorForNote(this.note); let options = [{ text: "Plain Editor", From df0f266f870cc98685759bc3977edebea11eb308 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Fri, 11 Jan 2019 00:17:29 -0600 Subject: [PATCH 076/131] Compose default title --- src/screens/Compose.js | 2 -- src/screens/Notes/Notes.js | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 05d28b2b..4ee3f0dd 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -34,7 +34,6 @@ export default class Compose extends Abstract { static navigationOptions = ({ navigation, navigationOptions }) => { let templateOptions = { - title: "Compose", rightButton: { title: null, iconName: StyleKit.nameForIcon("menu"), @@ -118,7 +117,6 @@ export default class Compose extends Abstract { configureHeaderBar() { this.props.navigation.setParams({ - title: 'Compose', rightButton: { title: null, iconName: StyleKit.nameForIcon("menu"), diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index a75a2997..486b4cea 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -208,6 +208,7 @@ export default class Notes extends Abstract { async presentComposer(note) { this.handlePrivilegedAction(note && note.content.protected, SFPrivilegesManager.ActionViewProtectedNotes, () => { this.props.navigation.navigate("Compose", { + title: note ? "Editor" : "Compose", noteId: note && note.uuid, selectedTagId: this.options.selectedTagIds.length && this.options.selectedTagIds[0], }); From c3350bd75e55124d42b9908e3025591a07a35511 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Fri, 11 Jan 2019 22:26:45 -0600 Subject: [PATCH 077/131] Fingerprint updates --- android/app/src/main/res/values/strings.xml | 2 +- src/screens/Authentication/Authenticate.js | 55 ++++++++++++------- .../Sources/AuthenticationSource.js | 4 ++ .../Sources/AuthenticationSourceBiometric.js | 16 +++++- src/screens/Settings/Settings.js | 1 - 5 files changed, 54 insertions(+), 24 deletions(-) diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index ae427fd8..0ccd5e4d 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - Standard Notes + S. Notes diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index 084e89f8..b6adfaa3 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -12,10 +12,6 @@ import StyleKit from "@Style/StyleKit" import Icon from 'react-native-vector-icons/Ionicons'; import ApplicationState from "@Lib/ApplicationState" -// Dev mode only. Used to destroy data -// import KeysManager from "@Lib/keysManager"; -// import Auth from "@SFJS/authManager" - export default class Authenticate extends Abstract { static navigationOptions = ({ navigation, navigationOptions }) => { @@ -35,19 +31,15 @@ export default class Authenticate extends Abstract { source.initializeForInterface(); } - this._sessionLength = this.getProp("selectedSessionLength"); + this.stateObserver = ApplicationState.get().addStateObserver((state) => { + if(state == ApplicationState.GainingFocus) { + this.begin(); + } else if(state == ApplicationState.Backgrounding) { + this.cancel(); + } + }) - // if(__DEV__) { - // props.navigation.setParams({ - // leftButton: { - // title: "Destroy Data", - // onPress: () => { - // Auth.get().signout(); - // KeysManager.get().clearOfflineKeysAndData(true); - // } - // } - // }) - // } + this._sessionLength = this.getProp("selectedSessionLength"); if(this.getProp("hasCancelOption")) { props.navigation.setParams({ @@ -66,6 +58,11 @@ export default class Authenticate extends Abstract { this.successfulSources = []; } + componentWillUnmount() { + super.componentWillUnmount(); + ApplicationState.get().removeStateObserver(this.stateObserver); + } + submitPressed() { if(this.pendingSources.length == 1) { this.setState({submitDisabled: true}); @@ -76,7 +73,18 @@ export default class Authenticate extends Abstract { } } - componentDidMount() { + componentWillFocus() { + super.componentWillFocus(); + this.begin(); + } + + cancel() { + if(this.state.activeSource) { + this.state.activeSource.cancel(); + } + } + + begin() { this.beginNextAuthentication(); } @@ -85,8 +93,10 @@ export default class Authenticate extends Abstract { } beginNextAuthentication() { - let firstSource = this.pendingSources[0]; - this.beginAuthenticationForSource(firstSource); + if(this.pendingSources && this.pendingSources.length) { + let firstSource = this.pendingSources[0]; + this.beginAuthenticationForSource(firstSource); + } } async beginAuthenticationForSource(source) { @@ -118,7 +128,9 @@ export default class Authenticate extends Abstract { this.onSuccess(); } else { this.setState({submitDisabled: false}); - this.beginNextAuthentication(); + if(!result.error) { + this.beginNextAuthentication(); + } } } @@ -182,7 +194,8 @@ export default class Authenticate extends Abstract { {this.beginAuthenticationForSource(source)}} > diff --git a/src/screens/Authentication/Sources/AuthenticationSource.js b/src/screens/Authentication/Sources/AuthenticationSource.js index f32661bf..ce76fbba 100644 --- a/src/screens/Authentication/Sources/AuthenticationSource.js +++ b/src/screens/Authentication/Sources/AuthenticationSource.js @@ -49,6 +49,10 @@ export default class AuthenticationSource { } + cancel() { + + } + requiresInterfaceReload() { this.onRequiresInterfaceReload && this.onRequiresInterfaceReload(); } diff --git a/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js b/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js index 6376702f..c74b2424 100644 --- a/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js +++ b/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js @@ -43,11 +43,19 @@ export default class AuthenticationSourceBiometric extends AuthenticationSource return `Waiting for ${this.isFace ? "Face ID" : "Fingerprint"}`; case "did-succeed": return `Success | ${this.isFace ? "Face ID" : "Fingerprint"}` + case "did-fail": + return "Fingerprint failed. Tap to try again."; default: return "Status not accounted for" } } + setWaitingForInput() { + if(this.status != "processing") { + this.authenticate(); + } + } + async authenticate() { this.didBegin(); @@ -58,6 +66,7 @@ export default class AuthenticationSourceBiometric extends AuthenticationSource return this._success(); }) .catch((error) => { + console.log("Fingerprint error", error); return this._fail("Authentication failed. Tap to try again."); }); } else { @@ -79,6 +88,11 @@ export default class AuthenticationSourceBiometric extends AuthenticationSource } } + cancel() { + FingerprintScanner.release(); + this.status = "waiting-turn"; + } + _success() { this.didSucceed(); FingerprintScanner.release(); @@ -87,7 +101,7 @@ export default class AuthenticationSourceBiometric extends AuthenticationSource _fail(message) { this.didFail(); + // FingerprintScanner.release(); return {success: false, error: {message: message}}; - FingerprintScanner.release(); } } diff --git a/src/screens/Settings/Settings.js b/src/screens/Settings/Settings.js index a386442b..17787bcb 100644 --- a/src/screens/Settings/Settings.js +++ b/src/screens/Settings/Settings.js @@ -147,7 +147,6 @@ export default class Settings extends Abstract { requireConfirm: true, showKeyboardChooser: true, onSubmit: async (value) => { - console.log("Setting up local passcode", value); let identifier = await SF.get().crypto.generateUUID(); SF.get().crypto.generateInitialKeysAndAuthParamsForUser(identifier, value).then((results) => { From a7b297f3803f1e6301901fc1d0d9a92ea3bc9223 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Fri, 11 Jan 2019 22:29:01 -0600 Subject: [PATCH 078/131] Fix missing import --- src/lib/sfjs/privilegesManager.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/sfjs/privilegesManager.js b/src/lib/sfjs/privilegesManager.js index 4cc329c7..2a93d6c3 100644 --- a/src/lib/sfjs/privilegesManager.js +++ b/src/lib/sfjs/privilegesManager.js @@ -8,6 +8,7 @@ import KeysManager from "@Lib/keysManager" import Storage from "@SFJS/storageManager" import Auth from "@SFJS/authManager" import ApplicationState from "@Lib/ApplicationState" +import StyleKit from "@Style/StyleKit" export default class PrivilegesManager extends SFPrivilegesManager { From 0c0033d6d620f70a9852300466e9d7a3ccd5a720 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 12 Jan 2019 11:22:29 -0600 Subject: [PATCH 079/131] Fixes --- index.js | 1 + src/lib/sfjs/authManager.js | 4 ++-- src/screens/Authentication/Authenticate.js | 4 +++- .../Sources/AuthenticationSourceAccountPassword.js | 6 ++++-- src/screens/Compose.js | 12 ++++++++++++ src/screens/Notes/Notes.js | 7 +++++++ src/screens/SideMenu/AbstractSideMenu.js | 8 +++++++- 7 files changed, 36 insertions(+), 6 deletions(-) diff --git a/index.js b/index.js index 04557c81..1791aaad 100644 --- a/index.js +++ b/index.js @@ -6,6 +6,7 @@ import {name as appName} from './app.json'; YellowBox.ignoreWarnings([ 'Remote debugger is in', + "Can't call" // Can't call forceUpdate on a component that is not yet mounted. ]); AppRegistry.registerComponent(appName, () => App); diff --git a/src/lib/sfjs/authManager.js b/src/lib/sfjs/authManager.js index a08e4229..108f949b 100644 --- a/src/lib/sfjs/authManager.js +++ b/src/lib/sfjs/authManager.js @@ -47,10 +47,10 @@ export default class Auth extends SFAuthManager { // AuthManager only handles account related keys. If we are requesting keys, // we are referring to account keys. KeysManager.activeKeys can return local passcode // keys. - - if(this.offline) { + if(this.offline()) { return null; } + return KeysManager.get().activeKeys(); } diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index b6adfaa3..38e0b488 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -16,7 +16,9 @@ export default class Authenticate extends Abstract { static navigationOptions = ({ navigation, navigationOptions }) => { let templateOptions = { - title: "Authenticate" + // On Android, not having a left button will make the title appear all the way at the edge + // Below will add some padding + title: ApplicationState.isAndroid ? " Authenticate" : "Authenticate" } return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); }; diff --git a/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js b/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js index 8c45d6dd..97f5273d 100644 --- a/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js +++ b/src/screens/Authentication/Sources/AuthenticationSourceAccountPassword.js @@ -24,8 +24,10 @@ export default class AuthenticationSourceAccountPassword extends AuthenticationS return "Enter your account password" case "processing": return "Verifying keys..."; - case "did-succeed": - return "Success | Account Password" + case "did-succeed": + return "Success | Account Password" + case "did-fail": + return "Invalid account password. Please try again." default: return "Status not accounted for: " + this.status } diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 4ee3f0dd..933c9d85 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -142,6 +142,10 @@ export default class Compose extends Abstract { componentWillFocus() { super.componentWillFocus(); + if(!ApplicationState.get().isTablet) { + this.props.navigation.lockRightDrawer(false); + } + if(this.note.dirty) { // We want the "Saving..." / "All changes saved..." subtitle to be visible to the user, so we delay setTimeout(() => { @@ -165,6 +169,10 @@ export default class Compose extends Abstract { } } + this.setSideMenuHandler(); + } + + setSideMenuHandler() { SideMenuManager.get().setHandlerForRightSideMenu({ getCurrentNote: () => { return this.note; @@ -208,6 +216,10 @@ export default class Compose extends Abstract { componentWillBlur() { super.componentWillBlur(); + if(!ApplicationState.get().isTablet) { + this.props.navigation.lockRightDrawer(true); + } + this.input && this.input.blur(); if(this.note.uuid && this.note.dummy) { diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 486b4cea..2a0dfa56 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -61,6 +61,13 @@ export default class Notes extends Abstract { componentWillFocus() { super.componentWillFocus(); + /* + Note that (tested on Android) if you select a protected note then present Authenticate, + upon Authenticate completion, willBlur/didBlur on Notes will not be called. + + We'll let Compose itself handle whether right drawer should be locked. + */ + if(!ApplicationState.get().isTablet) { this.props.navigation.lockLeftDrawer(false); this.props.navigation.lockRightDrawer(true); diff --git a/src/screens/SideMenu/AbstractSideMenu.js b/src/screens/SideMenu/AbstractSideMenu.js index 62585ce3..ab402073 100644 --- a/src/screens/SideMenu/AbstractSideMenu.js +++ b/src/screens/SideMenu/AbstractSideMenu.js @@ -19,7 +19,13 @@ export default class AbstractSideMenu extends Abstract { if(newNavigationState.drawerMovementDirection == "closing" || currentNavigationState.drawerMovementDirection == "closing") { return false; } - let isSame = Abstract.IsShallowEqual(newNavigationState, currentNavigationState, ["isDrawerIdle", "isDrawerOpen", "isTransitioning"]) + + let isSame = Abstract.IsShallowEqual( + newNavigationState, + currentNavigationState, + ["isDrawerIdle", "isDrawerOpen", "isTransitioning"] + ); + if(!isSame) { this.psuedo_willFocus(); } From d7bb78253443d700edbe24c9dcf46edea59f4d46 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 12 Jan 2019 11:27:00 -0600 Subject: [PATCH 080/131] Fix require cycles --- src/lib/ApplicationState.js | 1 + src/lib/keysManager.js | 9 +-------- .../Sources/AuthenticationSourceBiometric.js | 4 ++-- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/lib/ApplicationState.js b/src/lib/ApplicationState.js index 8ae5c2b2..809255be 100644 --- a/src/lib/ApplicationState.js +++ b/src/lib/ApplicationState.js @@ -239,6 +239,7 @@ export default class ApplicationState { unlockApplication() { this.notifyOfState(ApplicationState.Unlocking); this.setAuthenticationInProgress(false); + KeysManager.get().updateScreenshotPrivacy(); this.locked = false; } diff --git a/src/lib/keysManager.js b/src/lib/keysManager.js index 08dc34ca..681243dc 100644 --- a/src/lib/keysManager.js +++ b/src/lib/keysManager.js @@ -1,6 +1,5 @@ import {Platform} from 'react-native'; import FlagSecure from 'react-native-flag-secure-android'; -import ApplicationState from "@Lib/ApplicationState" import FingerprintScanner from 'react-native-fingerprint-scanner'; import SF from './sfjs/sfjs' @@ -29,12 +28,6 @@ export default class KeysManager { } async loadInitialData() { - this.stateObserver = ApplicationState.get().addStateObserver((state) => { - if(state == ApplicationState.Unlocking) { - this.updateScreenshotPrivacy(); - } - }) - var storageKeys = ["auth_params", OfflineParamsKey, "user", FirstRunKey, StorageEncryptionKey]; return Promise.all([ @@ -184,7 +177,7 @@ export default class KeysManager { } updateScreenshotPrivacy(enabled) { - if(ApplicationState.isIOS) { + if(Platform.OS == "ios") { return; } diff --git a/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js b/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js index c74b2424..d6a78340 100644 --- a/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js +++ b/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js @@ -1,5 +1,5 @@ +import { Platform } from 'react-native'; import FingerprintScanner from 'react-native-fingerprint-scanner' -import ApplicationState from "@Lib/ApplicationState" import AuthenticationSource from "./AuthenticationSource" import KeysManager from "@Lib/keysManager" @@ -59,7 +59,7 @@ export default class AuthenticationSourceBiometric extends AuthenticationSource async authenticate() { this.didBegin(); - if(ApplicationState.isAndroid) { + if(Platform.OS == "android") { return FingerprintScanner.authenticate({ // onAttempt: this.handleInvalidAttempt }).then(() => { From 4408e757c6c81347879a23d93d379031944aaff1 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 12 Jan 2019 11:33:36 -0600 Subject: [PATCH 081/131] Disable long press menu for system smart tags --- package-lock.json | 6 +++--- package.json | 2 +- src/screens/SideMenu/MainSideMenu.js | 1 + src/screens/SideMenu/NoteSideMenu.js | 1 + src/screens/SideMenu/TagSelectionList.js | 8 ++++++++ 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6f1aa2db..9886bea9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11544,9 +11544,9 @@ "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" }, "sn-models": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/sn-models/-/sn-models-0.1.11.tgz", - "integrity": "sha512-biujgC7jtBA5DVo1py7XEaFE4F8SOhJYT0/BX81CDq64DhAGTfScax90myMd5+acZLOTAvHYQE2cCaGb6yrXYA==" + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/sn-models/-/sn-models-0.1.12.tgz", + "integrity": "sha512-fAiejL62ndUcEQ3ac4PURrZG0p3ZS+3jZsc35HvkF5vYKgHKhYR29VRXxUCPvTvNgn2F3U/55Aa5y9kn8XqoQg==" }, "snapdragon": { "version": "0.8.2", diff --git a/package.json b/package.json index effbfd31..2b9cd0e4 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "react-navigation": "^3.0.9", "react-navigation-header-buttons": "^2.1.1", "regenerator": "^0.13.3", - "sn-models": "0.1.11", + "sn-models": "0.1.12", "standard-file-js": "0.3.31" }, "devDependencies": { diff --git a/src/screens/SideMenu/MainSideMenu.js b/src/screens/SideMenu/MainSideMenu.js index 0bd6fdf3..84388e54 100644 --- a/src/screens/SideMenu/MainSideMenu.js +++ b/src/screens/SideMenu/MainSideMenu.js @@ -163,6 +163,7 @@ export default class MainSideMenu extends AbstractSideMenu { { + if(tag.content.isSystemTag) { + return; + } + let sheet = new ActionSheetWrapper({ title: tag.title, options: [ @@ -143,6 +147,7 @@ class TagSelectionList extends ThemedComponent { return ( Date: Sun, 13 Jan 2019 14:40:57 -0600 Subject: [PATCH 082/131] Fix deletion on tablet issue --- ios/StandardNotes/main.m | 7 - package-lock.json | 5100 +++++++++++++++++----------------- src/lib/sfjs/modelManager.js | 7 + src/screens/Compose.js | 49 +- 4 files changed, 2601 insertions(+), 2562 deletions(-) diff --git a/ios/StandardNotes/main.m b/ios/StandardNotes/main.m index c73e0062..b1df44b9 100644 --- a/ios/StandardNotes/main.m +++ b/ios/StandardNotes/main.m @@ -1,10 +1,3 @@ -/** - * Copyright (c) 2015-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - #import #import "AppDelegate.h" diff --git a/package-lock.json b/package-lock.json index 9886bea9..34d3b70c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { @@ -17,20 +17,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helpers": "7.2.0", - "@babel/parser": "7.2.3", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "convert-source-map": "1.5.1", - "debug": "4.1.1", - "json5": "2.1.0", - "lodash": "4.17.11", - "resolve": "1.8.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" }, "dependencies": { "debug": { @@ -38,7 +38,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "json5": { @@ -46,7 +46,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" } }, "ms": { @@ -61,11 +61,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -80,7 +80,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -88,8 +88,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", "requires": { - "@babel/helper-explode-assignable-expression": "7.1.0", - "@babel/types": "7.2.2" + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/types": { @@ -97,9 +97,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -114,8 +114,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz", "integrity": "sha512-ebJ2JM6NAKW0fQEqN8hOLxK84RbRz9OkUhGS/Xd5u56ejMfVbayJ4+LykERZCOUM6faa6Fp3SZNX3fcT16MKHw==", "requires": { - "@babel/types": "7.2.2", - "esutils": "2.0.2" + "@babel/types": "^7.0.0", + "esutils": "^2.0.0" }, "dependencies": { "@babel/types": { @@ -123,9 +123,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -140,9 +140,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", "requires": { - "@babel/helper-hoist-variables": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -150,7 +150,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -158,11 +158,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -170,9 +170,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -180,7 +180,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -188,7 +188,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -196,9 +196,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -211,9 +211,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -221,15 +221,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -237,9 +237,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -247,7 +247,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -255,9 +255,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -265,7 +265,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -288,7 +288,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -303,11 +303,11 @@ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.3.tgz", "integrity": "sha512-xO/3Gn+2C7/eOUeb0VRnSP1+yvWHNxlpAot1eMhtoKDCN7POsyQP5excuT5UsV5daHxMWBeIIOeI5cmB8vMRgQ==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-replace-supers": "7.2.3" + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.2.3" }, "dependencies": { "@babel/code-frame": { @@ -315,7 +315,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -323,11 +323,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -335,9 +335,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -345,7 +345,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -353,7 +353,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -361,7 +361,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -374,10 +374,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -385,7 +385,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -393,9 +393,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -408,9 +408,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -418,15 +418,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -434,9 +434,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -444,7 +444,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -452,9 +452,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -462,7 +462,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -485,7 +485,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -500,9 +500,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/helper-explode-assignable-expression": { @@ -510,8 +510,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", "requires": { - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -519,7 +519,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -527,11 +527,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -539,9 +539,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -549,7 +549,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -557,7 +557,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -565,9 +565,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -580,9 +580,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -590,15 +590,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -606,9 +606,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -616,7 +616,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -624,9 +624,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -634,7 +634,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -657,7 +657,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -672,9 +672,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -682,7 +682,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-hoist-variables": { @@ -690,7 +690,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/types": { @@ -698,9 +698,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -715,7 +715,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-module-imports": { @@ -723,7 +723,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/types": { @@ -731,9 +731,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -748,12 +748,12 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", "requires": { - "@babel/helper-module-imports": "7.0.0", - "@babel/helper-simple-access": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/template": "^7.2.2", + "@babel/types": "^7.2.2", + "lodash": "^4.17.10" }, "dependencies": { "@babel/code-frame": { @@ -761,7 +761,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -769,7 +769,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -777,9 +777,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -792,9 +792,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/types": { @@ -802,9 +802,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -812,7 +812,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -820,9 +820,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -830,7 +830,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -845,7 +845,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -858,7 +858,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", "requires": { - "lodash": "4.17.11" + "lodash": "^4.17.10" } }, "@babel/helper-remap-async-to-generator": { @@ -866,11 +866,11 @@ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-wrap-function": "7.2.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@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" }, "dependencies": { "@babel/code-frame": { @@ -878,7 +878,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -886,11 +886,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -898,7 +898,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-function-name": { @@ -906,9 +906,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -916,7 +916,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -924,7 +924,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-wrap-function": { @@ -932,10 +932,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -943,9 +943,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -958,9 +958,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -968,15 +968,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -984,9 +984,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -994,7 +994,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1002,9 +1002,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -1012,7 +1012,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -1035,7 +1035,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -1050,10 +1050,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-simple-access": { @@ -1061,8 +1061,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", "requires": { - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -1070,7 +1070,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/highlight": { @@ -1078,9 +1078,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -1093,9 +1093,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/types": { @@ -1103,9 +1103,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -1113,7 +1113,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1121,9 +1121,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -1131,7 +1131,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -1146,7 +1146,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-wrap-function": { @@ -1154,10 +1154,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" } }, "@babel/helpers": { @@ -1165,9 +1165,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -1175,9 +1175,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" }, "dependencies": { "ansi-styles": { @@ -1203,7 +1203,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -1218,7 +1218,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.2.0.tgz", "integrity": "sha512-QFmtcCShFkyAsNtdCM3lJPmRe1iB+vPZymlB4LnDIKEBj2yKQLQKtoxXxJ8ePT5fwMl4QGg303p4mB0UsSI2/g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1233,8 +1233,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.3.tgz", "integrity": "sha512-FVuQngLoN2iDrpW7LmhPZ2sO4DJxf35FOcwidwB9Ru9tMvI5URthnkVHuG14IStV+TzkMTyLMoOUlSTtrdVwqw==", "requires": { - "@babel/helper-create-class-features-plugin": "7.2.3", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-create-class-features-plugin": "^7.2.3", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1249,8 +1249,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz", "integrity": "sha512-NVfNe7F6nsasG1FnvcFxh2FN0l04ZNe75qTOAVOILWPam0tw9a63RtT/Dab8dPjedZa4fTQaQ83yMMywF9OSug==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-export-default-from": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1265,9 +1265,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.2.0.tgz", "integrity": "sha512-qQBDKRSCu1wGJi3jbngs18vrujVQA4F+OkSuIQYRhE6y19jcPzeEIGOc683mCQXDUR3BQCz8JyCupIwv+IRFmA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-wrap-function": "7.2.0", - "@babel/plugin-syntax-function-sent": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-wrap-function": "^7.2.0", + "@babel/plugin-syntax-function-sent": "^7.2.0" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { @@ -1275,8 +1275,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.2.0.tgz", "integrity": "sha512-QXj/YjFuFJd68oDvoc1e8aqLr2wz7Kofzvp6Ekd/o7MWZl+nZ0/cpStxND+hlZ7DpRWAp7OmuyT2areZ2V3YUA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1291,8 +1291,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz", "integrity": "sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-object-rest-spread": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1307,8 +1307,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1323,8 +1323,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz", "integrity": "sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-optional-chaining": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1339,7 +1339,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-class-properties": { @@ -1347,7 +1347,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz", "integrity": "sha512-UxYaGXYQ7rrKJS/PxIKRkv3exi05oH7rokBAsmCSsCxz1sVPZ7Fu6FzKoGgUvmY+0YgSkYHgUoCh5R5bCNBQlw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1362,7 +1362,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1377,7 +1377,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz", "integrity": "sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1392,7 +1392,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1407,7 +1407,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz", "integrity": "sha512-2MOVuJ6IMAifp2cf0RFkHQaOvHpbBYyWCvgtF/WVqXhTd7Bgtov8iXVCadLXp2FN1BrI2EFl+JXuwXy0qr3KoQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-jsx": { @@ -1415,7 +1415,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1430,7 +1430,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz", "integrity": "sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1445,7 +1445,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1460,7 +1460,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1475,7 +1475,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz", "integrity": "sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1490,7 +1490,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.2.0.tgz", "integrity": "sha512-WhKr6yu6yGpGcNMVgIBuI9MkredpVc7Y3YR4UzEZmDztHoL6wV56YBHLhWnjO1EvId1B32HrD3DRFc+zSoKI1g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1505,7 +1505,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-async-to-generator": { @@ -1513,9 +1513,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", "requires": { - "@babel/helper-module-imports": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-remap-async-to-generator": "7.1.0" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1530,7 +1530,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1545,8 +1545,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.11" + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { @@ -1554,14 +1554,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.1.0", - "@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.2.3", - "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.9.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@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.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" }, "dependencies": { "globals": { @@ -1576,7 +1576,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1591,7 +1591,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz", "integrity": "sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1606,8 +1606,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "7.1.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1622,8 +1622,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz", "integrity": "sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-flow": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1638,7 +1638,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-function-name": { @@ -1646,8 +1646,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -1655,7 +1655,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/helper-function-name": { @@ -1663,9 +1663,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -1673,7 +1673,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -1686,9 +1686,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -1701,9 +1701,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/types": { @@ -1711,9 +1711,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -1721,7 +1721,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1729,9 +1729,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -1739,7 +1739,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -1754,7 +1754,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1769,7 +1769,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1784,9 +1784,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", "requires": { - "@babel/helper-module-transforms": "7.2.2", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-simple-access": "7.1.0" + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1801,7 +1801,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz", "integrity": "sha512-nmE55cZBPFgUktbF2OuoZgPRadfxosLOpSgzEPYotKSls9J4pEPcembi8r78RU37Rph6UApCpNmsQA4QMWK9Ng==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1816,8 +1816,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-replace-supers": "7.2.3" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0" }, "dependencies": { "@babel/code-frame": { @@ -1825,7 +1825,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -1833,11 +1833,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -1845,9 +1845,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -1855,7 +1855,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -1863,7 +1863,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -1871,7 +1871,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -1884,10 +1884,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -1895,7 +1895,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -1903,9 +1903,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -1918,9 +1918,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -1928,15 +1928,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -1944,9 +1944,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -1954,7 +1954,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1962,9 +1962,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -1972,7 +1972,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -1995,7 +1995,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -2010,9 +2010,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==", "requires": { - "@babel/helper-call-delegate": "7.1.0", - "@babel/helper-get-function-arity": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-call-delegate": "^7.1.0", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-get-function-arity": { @@ -2020,7 +2020,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -2033,9 +2033,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -2050,7 +2050,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2065,7 +2065,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2080,9 +2080,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.2.0.tgz", "integrity": "sha512-h/fZRel5wAfCqcKgq3OhbmYaReo7KkoJBpt8XnvpS7wqaNMqtw5xhxutzcm35iMUWucfAdT/nvGTsWln0JTg2Q==", "requires": { - "@babel/helper-builder-react-jsx": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-jsx": "7.2.0" + "@babel/helper-builder-react-jsx": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2097,8 +2097,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz", "integrity": "sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-jsx": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2113,7 +2113,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", "requires": { - "regenerator-transform": "0.13.3" + "regenerator-transform": "^0.13.3" } }, "@babel/plugin-transform-runtime": { @@ -2121,10 +2121,10 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz", "integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==", "requires": { - "@babel/helper-module-imports": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "resolve": "1.8.1", - "semver": "5.6.0" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2144,7 +2144,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2159,7 +2159,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2174,8 +2174,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2190,8 +2190,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-annotate-as-pure": { @@ -2199,7 +2199,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -2212,9 +2212,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -2229,8 +2229,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.2.0.tgz", "integrity": "sha512-EnI7i2/gJ7ZNr2MuyvN2Hu+BHJENlxWte5XygPvfj/MbvtOkWor9zcnHpMMQL2YYaaCcqtIvJUyJ7QVfoGs7ew==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-typescript": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2245,9 +2245,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.0.0", - "regexpu-core": "4.4.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2262,13 +2262,13 @@ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.0.0.tgz", "integrity": "sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==", "requires": { - "core-js": "2.6.1", - "find-cache-dir": "1.0.0", - "home-or-tmp": "3.0.0", - "lodash": "4.17.11", - "mkdirp": "0.5.1", - "pirates": "4.0.0", - "source-map-support": "0.5.9" + "core-js": "^2.5.7", + "find-cache-dir": "^1.0.0", + "home-or-tmp": "^3.0.0", + "lodash": "^4.17.10", + "mkdirp": "^0.5.1", + "pirates": "^4.0.0", + "source-map-support": "^0.5.9" }, "dependencies": { "core-js": { @@ -2291,8 +2291,8 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } } } @@ -2302,7 +2302,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "requires": { - "regenerator-runtime": "0.12.1" + "regenerator-runtime": "^0.12.0" }, "dependencies": { "regenerator-runtime": { @@ -2317,9 +2317,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -2327,15 +2327,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" }, "dependencies": { "debug": { @@ -2343,7 +2343,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -2363,9 +2363,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" }, "dependencies": { "to-fast-properties": { @@ -2381,11 +2381,11 @@ "integrity": "sha512-E0ETZJUuJRHvjtb0f0U416NcDxt9T5HvRLxXu5K4DNxtmjpOfkT9Sh+Q309/zrCwSkHY85ZpGKvewZTSGI7Q1Q==", "requires": { "create-react-context": "0.2.2", - "hoist-non-react-statics": "3.2.1", - "path-to-regexp": "1.7.0", - "query-string": "6.2.0", - "react-is": "16.7.0", - "react-lifecycles-compat": "3.0.4" + "hoist-non-react-statics": "^3.0.1", + "path-to-regexp": "^1.7.0", + "query-string": "^6.2.0", + "react-is": "^16.5.2", + "react-lifecycles-compat": "^3.0.4" } }, "@react-navigation/native": { @@ -2393,10 +2393,10 @@ "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.0.3.tgz", "integrity": "sha512-1T3OnI6DpHPYvrb6OSMvdpcou0NAZKYBeOs66Uimy6oT5tkkj8jwaksAwuSCTIMxaRl1nROPd22yXYq6gBnUVA==", "requires": { - "hoist-non-react-statics": "3.2.1", - "react-native-gesture-handler": "1.0.12", - "react-native-safe-area-view": "0.11.0", - "react-native-screens": "1.0.0-alpha.19" + "hoist-non-react-statics": "^3.0.1", + "react-native-gesture-handler": "^1.0.0", + "react-native-safe-area-view": "^0.11.0", + "react-native-screens": "^1.0.0 || ^1.0.0-alpha" } }, "abab": { @@ -2421,8 +2421,8 @@ "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", "dev": true, "requires": { - "acorn": "6.0.4", - "acorn-walk": "6.1.1" + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" }, "dependencies": { "acorn": { @@ -2445,10 +2445,10 @@ "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "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": { @@ -2461,7 +2461,7 @@ "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "requires": { - "ansi-wrap": "0.1.0" + "ansi-wrap": "^0.1.0" } }, "ansi-cyan": { @@ -2513,8 +2513,8 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "requires": { - "micromatch": "3.1.10", - "normalize-path": "2.1.1" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" }, "dependencies": { "arr-diff": { @@ -2532,16 +2532,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -2549,7 +2549,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2559,13 +2559,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -2573,7 +2573,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -2581,7 +2581,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -2589,7 +2589,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -2597,7 +2597,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2607,7 +2607,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -2615,7 +2615,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2625,9 +2625,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -2642,14 +2642,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -2657,7 +2657,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -2665,7 +2665,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2675,10 +2675,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -2686,7 +2686,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2696,7 +2696,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -2704,7 +2704,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -2712,9 +2712,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -2722,7 +2722,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -2730,7 +2730,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2750,19 +2750,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -2773,7 +2773,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "are-we-there-yet": { @@ -2781,8 +2781,8 @@ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "argparse": { @@ -2790,7 +2790,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "arr-diff": { @@ -2798,7 +2798,7 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -2864,7 +2864,7 @@ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "~2.1.0" } }, "assert-plus": { @@ -2894,7 +2894,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "4.17.11" + "lodash": "^4.17.10" } }, "async-limiter": { @@ -2931,9 +2931,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "js-tokens": { @@ -2950,25 +2950,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.11", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" } }, "babel-generator": { @@ -2977,14 +2977,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" } }, "babel-helpers": { @@ -2993,8 +2993,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-jest": { @@ -3003,8 +3003,8 @@ "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", "dev": true, "requires": { - "babel-plugin-istanbul": "4.1.6", - "babel-preset-jest": "23.2.0" + "babel-plugin-istanbul": "^4.1.6", + "babel-preset-jest": "^23.2.0" }, "dependencies": { "babel-plugin-jest-hoist": { @@ -3019,8 +3019,8 @@ "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", "dev": true, "requires": { - "babel-plugin-jest-hoist": "23.2.0", - "babel-plugin-syntax-object-rest-spread": "6.13.0" + "babel-plugin-jest-hoist": "^23.2.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" } } } @@ -3031,7 +3031,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-istanbul": { @@ -3040,10 +3040,10 @@ "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", "dev": true, "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "find-up": "2.1.0", - "istanbul-lib-instrument": "1.10.1", - "test-exclude": "4.2.1" + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.10.1", + "test-exclude": "^4.2.1" }, "dependencies": { "find-up": { @@ -3052,7 +3052,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } } } @@ -3069,13 +3069,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.6.1", - "home-or-tmp": "2.0.0", - "lodash": "4.17.11", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" }, "dependencies": { "core-js": { @@ -3092,8 +3092,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" }, "dependencies": { "core-js": { @@ -3116,11 +3116,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.11" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -3129,15 +3129,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.11" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -3146,10 +3146,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -3168,13 +3168,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "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" }, "dependencies": { "define-property": { @@ -3182,7 +3182,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -3190,7 +3190,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3198,7 +3198,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3206,9 +3206,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -3239,7 +3239,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "big-integer": { @@ -3252,7 +3252,7 @@ "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=", "requires": { - "stream-buffers": "2.2.0" + "stream-buffers": "~2.2.0" } }, "bplist-parser": { @@ -3260,7 +3260,7 @@ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", "requires": { - "big-integer": "1.6.34" + "big-integer": "^1.6.7" } }, "brace-expansion": { @@ -3268,7 +3268,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -3277,9 +3277,9 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "browser-process-hrtime": { @@ -3315,9 +3315,9 @@ "resolved": "https://registry.npmjs.org/bugsnag-react-native/-/bugsnag-react-native-2.12.6.tgz", "integrity": "sha512-KJR1Uab6m2WCEP+HudUxl6w1WalsxLwwKf5YRJHkW0m/LZ72mdEv9ipJ/mEAYbyKPv3bL0y855GnlB4lcQ+7XQ==", "requires": { - "iserror": "0.0.2", - "promise": "7.3.1", - "prop-types": "15.6.2" + "iserror": "^0.0.2", + "promise": "^7", + "prop-types": "^15.6.0" } }, "builtin-modules": { @@ -3330,15 +3330,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "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" + "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" }, "dependencies": { "isobject": { @@ -3353,7 +3353,7 @@ "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "requires": { - "callsites": "2.0.0" + "callsites": "^2.0.0" } }, "caller-path": { @@ -3361,7 +3361,7 @@ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "requires": { - "caller-callsite": "2.0.0" + "caller-callsite": "^2.0.0" } }, "callsites": { @@ -3379,7 +3379,7 @@ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", "requires": { - "rsvp": "3.6.2" + "rsvp": "^3.3.3" } }, "caseless": { @@ -3393,11 +3393,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "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" } }, "chardet": { @@ -3416,10 +3416,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -3427,7 +3427,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "isobject": { @@ -3442,7 +3442,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-width": { @@ -3456,9 +3456,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3473,7 +3473,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3494,8 +3494,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-convert": { @@ -3522,7 +3522,7 @@ "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -3540,15 +3540,15 @@ "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", "requires": { - "commander": "2.17.1", - "detective": "4.7.1", - "glob": "5.0.15", - "graceful-fs": "4.1.11", - "iconv-lite": "0.4.23", - "mkdirp": "0.5.1", - "private": "0.1.8", - "q": "1.5.1", - "recast": "0.11.23" + "commander": "^2.5.0", + "detective": "^4.3.1", + "glob": "^5.0.15", + "graceful-fs": "^4.1.2", + "iconv-lite": "^0.4.5", + "mkdirp": "^0.5.0", + "private": "^0.1.6", + "q": "^1.1.2", + "recast": "^0.11.17" }, "dependencies": { "glob": { @@ -3556,11 +3556,11 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "recast": { @@ -3569,9 +3569,9 @@ "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", "requires": { "ast-types": "0.9.6", - "esprima": "3.1.3", - "private": "0.1.8", - "source-map": "0.5.7" + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" } } } @@ -3586,7 +3586,7 @@ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "requires": { - "mime-db": "1.35.0" + "mime-db": ">= 1.34.0 < 2" } }, "concat-map": { @@ -3599,10 +3599,10 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { - "buffer-from": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "convert-source-map": { @@ -3630,10 +3630,10 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", "requires": { - "import-fresh": "2.0.0", - "is-directory": "0.3.1", - "js-yaml": "3.12.0", - "parse-json": "4.0.0" + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.9.0", + "parse-json": "^4.0.0" }, "dependencies": { "parse-json": { @@ -3641,8 +3641,8 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "requires": { - "error-ex": "1.3.2", - "json-parse-better-errors": "1.0.2" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } } } @@ -3652,9 +3652,9 @@ "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", "requires": { - "fbjs": "0.8.17", - "loose-envify": "1.4.0", - "object-assign": "4.1.1" + "fbjs": "^0.8.9", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" } }, "create-react-context": { @@ -3662,8 +3662,8 @@ "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz", "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==", "requires": { - "fbjs": "0.8.17", - "gud": "1.0.0" + "fbjs": "^0.8.0", + "gud": "^1.0.0" } }, "cross-spawn": { @@ -3671,9 +3671,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "cssom": { @@ -3688,7 +3688,7 @@ "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", "dev": true, "requires": { - "cssom": "0.3.4" + "cssom": "0.3.x" } }, "dashdash": { @@ -3697,7 +3697,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "data-urls": { @@ -3706,9 +3706,9 @@ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "requires": { - "abab": "2.0.0", - "whatwg-mimetype": "2.3.0", - "whatwg-url": "7.0.0" + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" }, "dependencies": { "whatwg-url": { @@ -3717,9 +3717,9 @@ "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", "dev": true, "requires": { - "lodash.sortby": "4.7.0", - "tr46": "1.0.1", - "webidl-conversions": "4.0.2" + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } } } @@ -3754,7 +3754,7 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-properties": { @@ -3763,7 +3763,7 @@ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "object-keys": "1.0.12" + "object-keys": "^1.0.12" } }, "define-property": { @@ -3771,8 +3771,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -3780,7 +3780,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3788,7 +3788,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3796,9 +3796,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -3845,7 +3845,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "detect-newline": { @@ -3858,8 +3858,8 @@ "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "requires": { - "acorn": "5.7.3", - "defined": "1.0.0" + "acorn": "^5.2.1", + "defined": "^1.0.0" } }, "diff": { @@ -3879,7 +3879,7 @@ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "requires": { - "webidl-conversions": "4.0.2" + "webidl-conversions": "^4.0.2" } }, "ecc-jsbn": { @@ -3888,8 +3888,8 @@ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { - "jsbn": "0.1.1", - "safer-buffer": "2.1.2" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "ee-first": { @@ -3907,7 +3907,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "0.4.23" + "iconv-lite": "~0.4.13" } }, "error-ex": { @@ -3915,7 +3915,7 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -3924,11 +3924,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "1.2.0", - "function-bind": "1.1.1", - "has": "1.0.3", - "is-callable": "1.1.4", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -3937,9 +3937,9 @@ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "dev": true, "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.2" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, "escape-html": { @@ -3958,11 +3958,11 @@ "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { "source-map": { @@ -4005,7 +4005,7 @@ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", "requires": { - "merge": "1.2.0" + "merge": "^1.2.0" } }, "execa": { @@ -4013,13 +4013,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "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" } }, "exit": { @@ -4033,7 +4033,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -4041,7 +4041,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" } }, "expect": { @@ -4050,12 +4050,12 @@ "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "jest-diff": "23.6.0", - "jest-get-type": "22.4.3", - "jest-matcher-utils": "23.6.0", - "jest-message-util": "23.4.0", - "jest-regex-util": "23.3.0" + "ansi-styles": "^3.2.0", + "jest-diff": "^23.6.0", + "jest-get-type": "^22.1.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0" }, "dependencies": { "ansi-styles": { @@ -4080,8 +4080,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -4089,7 +4089,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -4099,9 +4099,9 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -4109,7 +4109,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "extsprintf": { @@ -4123,9 +4123,9 @@ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", "requires": { - "ansi-gray": "0.1.1", - "color-support": "1.1.3", - "time-stamp": "1.1.0" + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "time-stamp": "^1.0.0" } }, "fast-deep-equal": { @@ -4151,7 +4151,7 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", "requires": { - "bser": "2.0.0" + "bser": "^2.0.0" }, "dependencies": { "bser": { @@ -4159,7 +4159,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "requires": { - "node-int64": "0.4.0" + "node-int64": "^0.4.0" } } } @@ -4169,13 +4169,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "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-css-vars": { @@ -4188,7 +4188,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "filename-regex": { @@ -4202,8 +4202,8 @@ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "requires": { - "glob": "7.1.2", - "minimatch": "3.0.4" + "glob": "^7.0.3", + "minimatch": "^3.0.3" } }, "fill-range": { @@ -4211,11 +4211,11 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.1.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "find-cache-dir": { @@ -4223,9 +4223,9 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-up": { @@ -4234,8 +4234,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "for-in": { @@ -4248,7 +4248,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "forever-agent": { @@ -4263,9 +4263,9 @@ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.7", - "mime-types": "2.1.21" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, "dependencies": { "mime-db": { @@ -4280,7 +4280,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "1.37.0" + "mime-db": "~1.37.0" } } } @@ -4290,7 +4290,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs-extra": { @@ -4298,9 +4298,9 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" } }, "fs.realpath": { @@ -4314,8 +4314,8 @@ "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "optional": true, "requires": { - "nan": "2.10.0", - "node-pre-gyp": "0.10.0" + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" }, "dependencies": { "abbrev": { @@ -4341,8 +4341,8 @@ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { @@ -4355,7 +4355,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -4419,7 +4419,7 @@ "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -4434,14 +4434,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "optional": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "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" } }, "glob": { @@ -4450,12 +4450,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "optional": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "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" } }, "has-unicode": { @@ -4470,7 +4470,7 @@ "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "optional": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "^2.1.0" } }, "ignore-walk": { @@ -4479,7 +4479,7 @@ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "optional": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { @@ -4488,8 +4488,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "optional": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -4508,7 +4508,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -4522,7 +4522,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -4535,8 +4535,8 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" } }, "minizlib": { @@ -4545,7 +4545,7 @@ "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -4568,9 +4568,9 @@ "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "optional": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.21", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { @@ -4579,16 +4579,16 @@ "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "optional": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.0", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.1" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { @@ -4597,8 +4597,8 @@ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "optional": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -4613,8 +4613,8 @@ "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "optional": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { @@ -4623,10 +4623,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -4645,7 +4645,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -4666,8 +4666,8 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -4688,10 +4688,10 @@ "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "optional": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -4708,13 +4708,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "optional": true, "requires": { - "core-util-is": "1.0.2", - "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.2" + "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" } }, "rimraf": { @@ -4723,7 +4723,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "optional": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -4766,9 +4766,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -4777,7 +4777,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "optional": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -4785,7 +4785,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -4800,13 +4800,13 @@ "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "optional": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.4", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -4821,7 +4821,7 @@ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -4847,11 +4847,11 @@ "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", "requires": { - "ansi": "0.3.1", - "has-unicode": "2.0.1", - "lodash.pad": "4.5.1", - "lodash.padend": "4.6.1", - "lodash.padstart": "4.6.1" + "ansi": "^0.3.0", + "has-unicode": "^2.0.0", + "lodash.pad": "^4.1.0", + "lodash.padend": "^4.1.0", + "lodash.padstart": "^4.1.0" } }, "get-caller-file": { @@ -4875,7 +4875,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -4883,12 +4883,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "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" } }, "glob-base": { @@ -4896,8 +4896,8 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -4905,7 +4905,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "global": { @@ -4913,8 +4913,8 @@ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "requires": { - "min-document": "2.19.0", - "process": "0.5.2" + "min-document": "^2.19.0", + "process": "~0.5.1" } }, "globals": { @@ -4944,10 +4944,10 @@ "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", "dev": true, "requires": { - "async": "2.6.1", - "optimist": "0.6.1", - "source-map": "0.6.1", - "uglify-js": "3.4.9" + "async": "^2.5.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" }, "dependencies": { "source-map": { @@ -4963,8 +4963,8 @@ "dev": true, "optional": true, "requires": { - "commander": "2.17.1", - "source-map": "0.6.1" + "commander": "~2.17.1", + "source-map": "~0.6.1" } } } @@ -4981,8 +4981,8 @@ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "6.6.2", - "har-schema": "2.0.0" + "ajv": "^6.5.5", + "har-schema": "^2.0.0" } }, "has": { @@ -4991,7 +4991,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -4999,7 +4999,7 @@ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -5023,9 +5023,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -5040,8 +5040,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -5049,7 +5049,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -5057,7 +5057,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5067,7 +5067,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5077,7 +5077,7 @@ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", "requires": { - "react-is": "16.7.0" + "react-is": "^16.3.2" } }, "home-or-tmp": { @@ -5086,8 +5086,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "hosted-git-info": { @@ -5101,7 +5101,7 @@ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { - "whatwg-encoding": "1.0.5" + "whatwg-encoding": "^1.0.1" } }, "http-signature": { @@ -5110,9 +5110,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.16.0" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "iconv-lite": { @@ -5120,7 +5120,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "image-size": { @@ -5138,8 +5138,8 @@ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", "requires": { - "caller-path": "2.0.0", - "resolve-from": "3.0.0" + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" } }, "import-local": { @@ -5148,8 +5148,8 @@ "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "dev": true, "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -5162,8 +5162,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -5176,20 +5176,20 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.11", + "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.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "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" }, "dependencies": { "ansi-regex": { @@ -5202,7 +5202,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5210,9 +5210,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "strip-ansi": { @@ -5220,7 +5220,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -5228,7 +5228,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5238,7 +5238,7 @@ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { - "loose-envify": "1.4.0" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -5251,7 +5251,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-arrayish": { @@ -5269,7 +5269,7 @@ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -5284,7 +5284,7 @@ "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "dev": true, "requires": { - "ci-info": "1.6.0" + "ci-info": "^1.5.0" } }, "is-data-descriptor": { @@ -5292,7 +5292,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-date-object": { @@ -5306,9 +5306,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -5333,7 +5333,7 @@ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -5352,7 +5352,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -5371,7 +5371,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { @@ -5379,7 +5379,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-plain-object": { @@ -5387,7 +5387,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -5418,7 +5418,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.3" + "has": "^1.0.1" } }, "is-stream": { @@ -5432,7 +5432,7 @@ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", "dev": true, "requires": { - "has-symbols": "1.0.0" + "has-symbols": "^1.0.0" } }, "is-typedarray": { @@ -5480,8 +5480,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.4" + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" } }, "isstream": { @@ -5496,17 +5496,17 @@ "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", "dev": true, "requires": { - "async": "2.6.1", - "fileset": "2.0.3", - "istanbul-lib-coverage": "1.2.1", - "istanbul-lib-hook": "1.2.2", - "istanbul-lib-instrument": "1.10.2", - "istanbul-lib-report": "1.1.5", - "istanbul-lib-source-maps": "1.2.6", - "istanbul-reports": "1.5.1", - "js-yaml": "3.12.0", - "mkdirp": "0.5.1", - "once": "1.4.0" + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.2.1", + "istanbul-lib-hook": "^1.2.2", + "istanbul-lib-instrument": "^1.10.2", + "istanbul-lib-report": "^1.1.5", + "istanbul-lib-source-maps": "^1.2.6", + "istanbul-reports": "^1.5.1", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" }, "dependencies": { "istanbul-lib-coverage": { @@ -5521,13 +5521,13 @@ "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.1", - "semver": "5.5.0" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" } } } @@ -5544,7 +5544,7 @@ "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -5553,13 +5553,13 @@ "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.0", - "semver": "5.5.0" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.0", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -5568,10 +5568,10 @@ "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.6", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { @@ -5603,11 +5603,11 @@ "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", "dev": true, "requires": { - "debug": "3.2.6", - "istanbul-lib-coverage": "1.2.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -5616,7 +5616,7 @@ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "istanbul-lib-coverage": { @@ -5639,7 +5639,7 @@ "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", "dev": true, "requires": { - "handlebars": "4.0.12" + "handlebars": "^4.0.3" } }, "jest": { @@ -5648,8 +5648,8 @@ "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", "dev": true, "requires": { - "import-local": "1.0.0", - "jest-cli": "23.6.0" + "import-local": "^1.0.0", + "jest-cli": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -5684,42 +5684,42 @@ "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "exit": "0.1.2", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "import-local": "1.0.0", - "is-ci": "1.2.1", - "istanbul-api": "1.3.7", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-instrument": "1.10.1", - "istanbul-lib-source-maps": "1.2.6", - "jest-changed-files": "23.4.2", - "jest-config": "23.6.0", - "jest-environment-jsdom": "23.4.0", - "jest-get-type": "22.4.3", - "jest-haste-map": "23.6.0", - "jest-message-util": "23.4.0", - "jest-regex-util": "23.3.0", - "jest-resolve-dependencies": "23.6.0", - "jest-runner": "23.6.0", - "jest-runtime": "23.6.0", - "jest-snapshot": "23.6.0", - "jest-util": "23.4.0", - "jest-validate": "23.6.0", - "jest-watcher": "23.4.0", - "jest-worker": "23.2.0", - "micromatch": "2.3.11", - "node-notifier": "5.2.1", - "prompts": "0.1.14", - "realpath-native": "1.0.2", - "rimraf": "2.6.2", - "slash": "1.0.0", - "string-length": "2.0.0", - "strip-ansi": "4.0.0", - "which": "1.3.1", - "yargs": "11.1.0" + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "import-local": "^1.0.0", + "is-ci": "^1.0.10", + "istanbul-api": "^1.3.1", + "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-instrument": "^1.10.1", + "istanbul-lib-source-maps": "^1.2.4", + "jest-changed-files": "^23.4.2", + "jest-config": "^23.6.0", + "jest-environment-jsdom": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve-dependencies": "^23.6.0", + "jest-runner": "^23.6.0", + "jest-runtime": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "jest-watcher": "^23.4.0", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "node-notifier": "^5.2.1", + "prompts": "^0.1.9", + "realpath-native": "^1.0.0", + "rimraf": "^2.5.4", + "slash": "^1.0.0", + "string-length": "^2.0.0", + "strip-ansi": "^4.0.0", + "which": "^1.2.12", + "yargs": "^11.0.0" } }, "strip-ansi": { @@ -5737,7 +5737,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5748,7 +5748,7 @@ "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", "dev": true, "requires": { - "throat": "4.1.0" + "throat": "^4.0.0" } }, "jest-config": { @@ -5757,20 +5757,20 @@ "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-jest": "23.6.0", - "chalk": "2.4.1", - "glob": "7.1.2", - "jest-environment-jsdom": "23.4.0", - "jest-environment-node": "23.4.0", - "jest-get-type": "22.4.3", - "jest-jasmine2": "23.6.0", - "jest-regex-util": "23.3.0", - "jest-resolve": "23.6.0", - "jest-util": "23.4.0", - "jest-validate": "23.6.0", - "micromatch": "2.3.11", - "pretty-format": "23.6.0" + "babel-core": "^6.0.0", + "babel-jest": "^23.6.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^23.4.0", + "jest-environment-node": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-jasmine2": "^23.6.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -5805,8 +5805,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -5815,7 +5815,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5826,10 +5826,10 @@ "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", "dev": true, "requires": { - "chalk": "2.4.1", - "diff": "3.5.0", - "jest-get-type": "22.4.3", - "pretty-format": "23.6.0" + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -5864,8 +5864,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -5874,7 +5874,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5885,7 +5885,7 @@ "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "dev": true, "requires": { - "detect-newline": "2.1.0" + "detect-newline": "^2.1.0" } }, "jest-each": { @@ -5894,8 +5894,8 @@ "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", "dev": true, "requires": { - "chalk": "2.4.1", - "pretty-format": "23.6.0" + "chalk": "^2.0.1", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -5910,7 +5910,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5919,9 +5919,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -5930,8 +5930,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -5940,7 +5940,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5951,9 +5951,9 @@ "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", "dev": true, "requires": { - "jest-mock": "23.2.0", - "jest-util": "23.4.0", - "jsdom": "11.12.0" + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0", + "jsdom": "^11.5.1" } }, "jest-environment-node": { @@ -5962,8 +5962,8 @@ "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", "dev": true, "requires": { - "jest-mock": "23.2.0", - "jest-util": "23.4.0" + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0" } }, "jest-get-type": { @@ -5978,14 +5978,14 @@ "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", "dev": true, "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "invariant": "2.2.4", - "jest-docblock": "23.2.0", - "jest-serializer": "23.0.1", - "jest-worker": "23.2.0", - "micromatch": "2.3.11", - "sane": "2.5.2" + "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-jasmine2": { @@ -5994,18 +5994,18 @@ "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", "dev": true, "requires": { - "babel-traverse": "6.26.0", - "chalk": "2.4.1", - "co": "4.6.0", - "expect": "23.6.0", - "is-generator-fn": "1.0.0", - "jest-diff": "23.6.0", - "jest-each": "23.6.0", - "jest-matcher-utils": "23.6.0", - "jest-message-util": "23.4.0", - "jest-snapshot": "23.6.0", - "jest-util": "23.4.0", - "pretty-format": "23.6.0" + "babel-traverse": "^6.0.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^23.6.0", + "is-generator-fn": "^1.0.0", + "jest-diff": "^23.6.0", + "jest-each": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -6040,8 +6040,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -6050,7 +6050,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6061,7 +6061,7 @@ "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", "dev": true, "requires": { - "pretty-format": "23.6.0" + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -6076,7 +6076,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "pretty-format": { @@ -6085,8 +6085,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } } } @@ -6097,9 +6097,9 @@ "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", "dev": true, "requires": { - "chalk": "2.4.1", - "jest-get-type": "22.4.3", - "pretty-format": "23.6.0" + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -6134,8 +6134,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -6144,7 +6144,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6155,11 +6155,11 @@ "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", "dev": true, "requires": { - "@babel/code-frame": "7.0.0", - "chalk": "2.4.1", - "micromatch": "2.3.11", - "slash": "1.0.0", - "stack-utils": "1.0.2" + "@babel/code-frame": "^7.0.0-beta.35", + "chalk": "^2.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0", + "stack-utils": "^1.0.1" }, "dependencies": { "ansi-styles": { @@ -6188,7 +6188,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6211,9 +6211,9 @@ "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", "dev": true, "requires": { - "browser-resolve": "1.11.3", - "chalk": "2.4.1", - "realpath-native": "1.0.2" + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "realpath-native": "^1.0.0" }, "dependencies": { "ansi-styles": { @@ -6242,7 +6242,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6253,8 +6253,8 @@ "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", "dev": true, "requires": { - "jest-regex-util": "23.3.0", - "jest-snapshot": "23.6.0" + "jest-regex-util": "^23.3.0", + "jest-snapshot": "^23.6.0" } }, "jest-runner": { @@ -6263,19 +6263,19 @@ "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", "dev": true, "requires": { - "exit": "0.1.2", - "graceful-fs": "4.1.11", - "jest-config": "23.6.0", - "jest-docblock": "23.2.0", - "jest-haste-map": "23.6.0", - "jest-jasmine2": "23.6.0", - "jest-leak-detector": "23.6.0", - "jest-message-util": "23.4.0", - "jest-runtime": "23.6.0", - "jest-util": "23.4.0", - "jest-worker": "23.2.0", - "source-map-support": "0.5.9", - "throat": "4.1.0" + "exit": "^0.1.2", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-docblock": "^23.2.0", + "jest-haste-map": "^23.6.0", + "jest-jasmine2": "^23.6.0", + "jest-leak-detector": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-runtime": "^23.6.0", + "jest-util": "^23.4.0", + "jest-worker": "^23.2.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" }, "dependencies": { "source-map": { @@ -6290,8 +6290,8 @@ "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "dev": true, "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } } } @@ -6302,27 +6302,27 @@ "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-plugin-istanbul": "4.1.6", - "chalk": "2.4.1", - "convert-source-map": "1.5.1", - "exit": "0.1.2", - "fast-json-stable-stringify": "2.0.0", - "graceful-fs": "4.1.11", - "jest-config": "23.6.0", - "jest-haste-map": "23.6.0", - "jest-message-util": "23.4.0", - "jest-regex-util": "23.3.0", - "jest-resolve": "23.6.0", - "jest-snapshot": "23.6.0", - "jest-util": "23.4.0", - "jest-validate": "23.6.0", - "micromatch": "2.3.11", - "realpath-native": "1.0.2", - "slash": "1.0.0", + "babel-core": "^6.0.0", + "babel-plugin-istanbul": "^4.1.6", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "exit": "^0.1.2", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "realpath-native": "^1.0.0", + "slash": "^1.0.0", "strip-bom": "3.0.0", - "write-file-atomic": "2.3.0", - "yargs": "11.1.0" + "write-file-atomic": "^2.1.0", + "yargs": "^11.0.0" }, "dependencies": { "ansi-styles": { @@ -6357,7 +6357,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "write-file-atomic": { @@ -6384,16 +6384,16 @@ "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", "dev": true, "requires": { - "babel-types": "6.26.0", - "chalk": "2.4.1", - "jest-diff": "23.6.0", - "jest-matcher-utils": "23.6.0", - "jest-message-util": "23.4.0", - "jest-resolve": "23.6.0", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "pretty-format": "23.6.0", - "semver": "5.5.0" + "babel-types": "^6.0.0", + "chalk": "^2.0.1", + "jest-diff": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-resolve": "^23.6.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^23.6.0", + "semver": "^5.5.0" }, "dependencies": { "ansi-regex": { @@ -6428,8 +6428,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -6438,7 +6438,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6449,14 +6449,14 @@ "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", "dev": true, "requires": { - "callsites": "2.0.0", - "chalk": "2.4.1", - "graceful-fs": "4.1.11", - "is-ci": "1.2.1", - "jest-message-util": "23.4.0", - "mkdirp": "0.5.1", - "slash": "1.0.0", - "source-map": "0.6.1" + "callsites": "^2.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "jest-message-util": "^23.4.0", + "mkdirp": "^0.5.1", + "slash": "^1.0.0", + "source-map": "^0.6.0" }, "dependencies": { "ansi-styles": { @@ -6491,7 +6491,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6502,10 +6502,10 @@ "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", "dev": true, "requires": { - "chalk": "2.4.1", - "jest-get-type": "22.4.3", - "leven": "2.1.0", - "pretty-format": "23.6.0" + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "leven": "^2.1.0", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -6540,8 +6540,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -6550,7 +6550,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6561,9 +6561,9 @@ "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "string-length": "2.0.0" + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "string-length": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -6572,7 +6572,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6581,9 +6581,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -6592,7 +6592,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6602,7 +6602,7 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", "requires": { - "merge-stream": "1.0.1" + "merge-stream": "^1.0.1" } }, "js-tokens": { @@ -6615,8 +6615,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "requires": { - "argparse": "1.0.10", - "esprima": "4.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "dependencies": { "esprima": { @@ -6638,32 +6638,32 @@ "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", "dev": true, "requires": { - "abab": "2.0.0", - "acorn": "5.7.3", - "acorn-globals": "4.3.0", - "array-equal": "1.0.0", - "cssom": "0.3.4", - "cssstyle": "1.1.1", - "data-urls": "1.1.0", - "domexception": "1.0.1", - "escodegen": "1.11.0", - "html-encoding-sniffer": "1.0.2", - "left-pad": "1.3.0", - "nwsapi": "2.0.9", + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", "parse5": "4.0.0", - "pn": "1.1.0", - "request": "2.88.0", - "request-promise-native": "1.0.5", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.5.0", - "w3c-hr-time": "1.0.1", - "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.5", - "whatwg-mimetype": "2.3.0", - "whatwg-url": "6.5.0", - "ws": "5.2.2", - "xml-name-validator": "3.0.0" + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" }, "dependencies": { "sax": { @@ -6678,7 +6678,7 @@ "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", "dev": true, "requires": { - "async-limiter": "1.0.0" + "async-limiter": "~1.0.0" } } } @@ -6711,7 +6711,7 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stringify-safe": { @@ -6731,7 +6731,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsonify": { @@ -6756,7 +6756,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "klaw": { @@ -6764,7 +6764,7 @@ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "kleur": { @@ -6778,7 +6778,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "left-pad": { @@ -6799,8 +6799,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -6809,11 +6809,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -6821,8 +6821,8 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -6868,7 +6868,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "js-tokens": "4.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "lru-cache": { @@ -6876,8 +6876,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "make-dir": { @@ -6885,7 +6885,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" }, "dependencies": { "pify": { @@ -6900,7 +6900,7 @@ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "requires": { - "tmpl": "1.0.4" + "tmpl": "1.0.x" } }, "map-cache": { @@ -6913,7 +6913,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "math-random": { @@ -6926,7 +6926,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge": { @@ -6939,7 +6939,7 @@ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", "requires": { - "readable-stream": "2.3.6" + "readable-stream": "^2.0.1" } }, "metro": { @@ -6947,32 +6947,32 @@ "resolved": "https://registry.npmjs.org/metro/-/metro-0.48.5.tgz", "integrity": "sha512-aCarzjxdYqh+9I40bF+Hh1ayrwfPrnDwVOvpQg3VZFWU4wfeMiJb+tzeRN9p94cC/MKhBTOjRmUF3plzrHoe0w==", "requires": { - "@babel/core": "7.2.2", - "@babel/generator": "7.2.2", - "@babel/parser": "7.2.3", - "@babel/plugin-external-helpers": "7.2.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "absolute-path": "0.0.0", - "async": "2.6.1", - "babel-preset-fbjs": "3.1.0", - "chalk": "1.1.3", - "concat-stream": "1.6.2", - "connect": "3.6.6", - "debug": "2.6.9", - "denodeify": "1.2.1", - "eventemitter3": "3.1.0", - "fbjs": "1.0.0", - "fs-extra": "1.0.0", - "graceful-fs": "4.1.11", - "image-size": "0.6.3", + "@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", + "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", @@ -6981,21 +6981,21 @@ "metro-resolver": "0.48.5", "metro-source-map": "0.48.5", "mime-types": "2.1.11", - "mkdirp": "0.5.1", - "node-fetch": "2.3.0", - "nullthrows": "1.1.1", - "react-transform-hmr": "1.0.4", - "resolve": "1.8.1", - "rimraf": "2.6.2", - "serialize-error": "2.1.0", - "source-map": "0.5.7", + "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.3.4", - "ws": "1.1.5", - "xpipe": "1.0.5", - "yargs": "9.0.1" + "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" }, "dependencies": { "@babel/code-frame": { @@ -7003,7 +7003,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { @@ -7011,20 +7011,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helpers": "7.2.0", - "@babel/parser": "7.2.3", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "convert-source-map": "1.5.1", - "debug": "4.1.1", - "json5": "2.1.0", - "lodash": "4.17.11", - "resolve": "1.8.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" }, "dependencies": { "debug": { @@ -7032,7 +7032,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } } } @@ -7042,11 +7042,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -7054,7 +7054,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-define-map": { @@ -7062,9 +7062,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/helper-function-name": { @@ -7072,9 +7072,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -7082,7 +7082,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -7090,7 +7090,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -7098,7 +7098,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -7111,10 +7111,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -7122,7 +7122,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helpers": { @@ -7130,9 +7130,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -7140,9 +7140,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" }, "dependencies": { "chalk": { @@ -7150,9 +7150,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } } } @@ -7167,7 +7167,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -7175,8 +7175,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.11" + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { @@ -7184,14 +7184,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.1.0", - "@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.2.3", - "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.9.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@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.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" } }, "@babel/plugin-transform-for-of": { @@ -7199,7 +7199,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/template": { @@ -7207,9 +7207,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -7217,15 +7217,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" }, "dependencies": { "debug": { @@ -7233,7 +7233,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } } } @@ -7243,9 +7243,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -7253,7 +7253,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "arr-diff": { @@ -7276,33 +7276,33 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", "requires": { - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-syntax-class-properties": "7.2.0", - "@babel/plugin-syntax-flow": "7.2.0", - "@babel/plugin-syntax-jsx": "7.2.0", - "@babel/plugin-syntax-object-rest-spread": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoped-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-computed-properties": "7.2.0", - "@babel/plugin-transform-destructuring": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-for-of": "7.2.0", - "@babel/plugin-transform-function-name": "7.2.0", - "@babel/plugin-transform-literals": "7.2.0", - "@babel/plugin-transform-member-expression-literals": "7.2.0", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/plugin-transform-object-super": "7.2.0", - "@babel/plugin-transform-parameters": "7.2.0", - "@babel/plugin-transform-property-literals": "7.2.0", - "@babel/plugin-transform-react-display-name": "7.2.0", - "@babel/plugin-transform-react-jsx": "7.2.0", - "@babel/plugin-transform-shorthand-properties": "7.2.0", - "@babel/plugin-transform-spread": "7.2.2", - "@babel/plugin-transform-template-literals": "7.2.0", - "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" + "@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" } }, "braces": { @@ -7310,16 +7310,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -7327,7 +7327,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -7342,9 +7342,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -7352,9 +7352,9 @@ "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -7366,7 +7366,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "1.3.2", + "parseurl": "~1.3.2", "utils-merge": "1.0.1" } }, @@ -7380,13 +7380,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "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" } }, "expand-brackets": { @@ -7394,13 +7394,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -7408,7 +7408,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -7416,7 +7416,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -7424,7 +7424,7 @@ "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7432,7 +7432,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7442,7 +7442,7 @@ "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7450,7 +7450,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7460,9 +7460,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -7477,14 +7477,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -7492,7 +7492,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -7500,7 +7500,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -7510,14 +7510,14 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "core-js": "2.6.1", - "fbjs-css-vars": "1.0.2", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "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" } }, "fill-range": { @@ -7525,10 +7525,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -7536,7 +7536,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -7547,12 +7547,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" } }, "find-up": { @@ -7560,7 +7560,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "globals": { @@ -7573,7 +7573,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -7581,7 +7581,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -7589,9 +7589,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-fullwidth-code-point": { @@ -7599,7 +7599,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-number": { @@ -7607,7 +7607,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7615,7 +7615,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7630,7 +7630,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "requires": { - "detect-newline": "2.1.0" + "detect-newline": "^2.1.0" } }, "jest-haste-map": { @@ -7638,14 +7638,14 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "invariant": "2.2.4", - "jest-docblock": "23.2.0", - "jest-serializer": "23.0.1", - "jest-worker": "23.2.0", - "micromatch": "2.3.11", - "sane": "2.5.2" + "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" } }, "jsesc": { @@ -7658,7 +7658,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" } }, "kind-of": { @@ -7671,10 +7671,10 @@ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "metro-babel7-plugin-react-transform": { @@ -7682,7 +7682,7 @@ "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.48.5.tgz", "integrity": "sha512-S0cA0msHBGw7PSwB6nAsvtHEpQXVwzKBaE4AibLpaBiIVdWkYpIOok653zs9x+E9QvQgcghAnlVnDV+MDM+rSw==", "requires": { - "@babel/helper-module-imports": "7.0.0" + "@babel/helper-module-imports": "^7.0.0" } }, "metro-react-native-babel-preset": { @@ -7690,41 +7690,41 @@ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.48.5.tgz", "integrity": "sha512-ldG1bsusB5zlS1fhAiSLRjUA7I/Chn/dniaXTlkUpgiqyEAaDDmqhkDJ8gyZw3rhlLMVswlBd3o6I8yYti+57w==", "requires": { - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-export-default-from": "7.2.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-proposal-optional-catch-binding": "7.2.0", - "@babel/plugin-proposal-optional-chaining": "7.2.0", - "@babel/plugin-syntax-dynamic-import": "7.2.0", - "@babel/plugin-syntax-export-default-from": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-computed-properties": "7.2.0", - "@babel/plugin-transform-destructuring": "7.2.0", - "@babel/plugin-transform-exponentiation-operator": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-for-of": "7.2.0", - "@babel/plugin-transform-function-name": "7.2.0", - "@babel/plugin-transform-literals": "7.2.0", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/plugin-transform-object-assign": "7.2.0", - "@babel/plugin-transform-parameters": "7.2.0", - "@babel/plugin-transform-react-display-name": "7.2.0", - "@babel/plugin-transform-react-jsx": "7.2.0", - "@babel/plugin-transform-react-jsx-source": "7.2.0", - "@babel/plugin-transform-regenerator": "7.0.0", - "@babel/plugin-transform-runtime": "7.2.0", - "@babel/plugin-transform-shorthand-properties": "7.2.0", - "@babel/plugin-transform-spread": "7.2.2", - "@babel/plugin-transform-sticky-regex": "7.2.0", - "@babel/plugin-transform-template-literals": "7.2.0", - "@babel/plugin-transform-typescript": "7.2.0", - "@babel/plugin-transform-unicode-regex": "7.2.0", - "@babel/template": "7.2.2", + "@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" + "react-transform-hmr": "^1.0.4" } }, "ms": { @@ -7742,9 +7742,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "path-type": { @@ -7752,7 +7752,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -7760,9 +7760,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -7770,8 +7770,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "sane": { @@ -7779,15 +7779,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.2", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" }, "dependencies": { "micromatch": { @@ -7795,19 +7795,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -7827,7 +7827,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -7850,19 +7850,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.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.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "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" } }, "yargs-parser": { @@ -7870,7 +7870,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -7880,18 +7880,18 @@ "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.48.5.tgz", "integrity": "sha512-bJCessd7THqEfXrKEoj284XVjg9AGYbGqZiyV622l6ex9TvtVi1lToDY0TuAAuDXOm+V4vQXV7/HvR6JPP0dTQ==", "requires": { - "@babel/core": "7.2.2", - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-proposal-optional-catch-binding": "7.2.0", - "@babel/plugin-proposal-optional-chaining": "7.2.0", - "@babel/plugin-transform-async-to-generator": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/register": "7.0.0", - "core-js": "2.6.1", - "escape-string-regexp": "1.0.5" + "@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" }, "dependencies": { "@babel/code-frame": { @@ -7899,7 +7899,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { @@ -7907,20 +7907,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helpers": "7.2.0", - "@babel/parser": "7.2.3", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "convert-source-map": "1.5.1", - "debug": "4.1.1", - "json5": "2.1.0", - "lodash": "4.17.11", - "resolve": "1.8.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" } }, "@babel/generator": { @@ -7928,11 +7928,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -7940,9 +7940,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -7950,7 +7950,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -7958,7 +7958,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helpers": { @@ -7966,9 +7966,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -7976,9 +7976,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -7991,9 +7991,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -8001,15 +8001,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -8017,9 +8017,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -8027,7 +8027,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -8035,9 +8035,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "core-js": { @@ -8050,7 +8050,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -8068,7 +8068,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" } }, "ms": { @@ -8081,7 +8081,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -8097,7 +8097,7 @@ "integrity": "sha512-wzn4X9KgmAMZ7Bi6v9KxA7dw+AHGL0RODPxU5NDJ3A6d0yERvzfZ3qkzWhz8jbFkVBK12cu5DTho3HBazKQDOw==", "dev": true, "requires": { - "@babel/helper-module-imports": "7.0.0" + "@babel/helper-module-imports": "^7.0.0" } }, "metro-cache": { @@ -8107,8 +8107,8 @@ "requires": { "jest-serializer": "23.0.1", "metro-core": "0.48.5", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4" } }, "metro-config": { @@ -8116,11 +8116,11 @@ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.48.5.tgz", "integrity": "sha512-b+EmFgBOAEUM5THjJ2EU6CJxnULLC5V1Q8S8dz4xX4v96eLIsRCLPrXgYKATHJTVi0qw99ATVRsOBZVZ77fwjg==", "requires": { - "cosmiconfig": "5.0.7", + "cosmiconfig": "^5.0.5", "metro": "0.48.5", "metro-cache": "0.48.5", "metro-core": "0.48.5", - "pretty-format": "23.6.0" + "pretty-format": "^23.4.1" }, "dependencies": { "ansi-regex": { @@ -8133,7 +8133,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "pretty-format": { @@ -8141,8 +8141,8 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } } } @@ -8153,9 +8153,9 @@ "integrity": "sha512-Yp0BOAHhxf/qdNkwJhemVdD2Y59iyaTjwxUimCmeD8u5VEL6mLgEC1S0KczyWEiAgX3Fs48rezCAcx3mo67wXg==", "requires": { "jest-haste-map": "23.5.0", - "lodash.throttle": "4.1.1", + "lodash.throttle": "^4.1.1", "metro-resolver": "0.48.5", - "wordwrap": "1.0.0" + "wordwrap": "^1.0.0" }, "dependencies": { "arr-diff": { @@ -8173,16 +8173,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -8190,7 +8190,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8200,13 +8200,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -8214,7 +8214,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -8222,7 +8222,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -8230,7 +8230,7 @@ "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -8238,7 +8238,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -8248,7 +8248,7 @@ "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -8256,7 +8256,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -8266,9 +8266,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -8283,14 +8283,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -8298,7 +8298,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -8306,7 +8306,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8316,10 +8316,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -8327,7 +8327,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8337,7 +8337,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8345,7 +8345,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8353,9 +8353,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -8363,7 +8363,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -8371,7 +8371,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -8386,7 +8386,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "requires": { - "detect-newline": "2.1.0" + "detect-newline": "^2.1.0" } }, "jest-haste-map": { @@ -8394,14 +8394,14 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "invariant": "2.2.4", - "jest-docblock": "23.2.0", - "jest-serializer": "23.0.1", - "jest-worker": "23.2.0", - "micromatch": "2.3.11", - "sane": "2.5.2" + "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" } }, "kind-of": { @@ -8414,15 +8414,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.2", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" }, "dependencies": { "micromatch": { @@ -8430,19 +8430,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -8459,7 +8459,7 @@ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.48.5.tgz", "integrity": "sha512-tiHVYlUMuL91YjQPx9BzzzXy5jAAA5SWLqlvWfmM6m9faWtFeCv8Se27vVNuPDkOPYyL8qPCRhUpZMUhA0yN2g==", "requires": { - "uglify-es": "3.3.9" + "uglify-es": "^3.1.9" } }, "metro-react-native-babel-preset": { @@ -8468,41 +8468,41 @@ "integrity": "sha512-e9tsYDFhU70gar0jQWcZXRPJVCv4k7tEs6Pm74wXO2OO/T1MEumbvniDIGwGG8bG8RUnYdHhjcaiub2Vc5BRWw==", "dev": true, "requires": { - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-export-default-from": "7.2.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-proposal-optional-catch-binding": "7.2.0", - "@babel/plugin-proposal-optional-chaining": "7.2.0", - "@babel/plugin-syntax-dynamic-import": "7.2.0", - "@babel/plugin-syntax-export-default-from": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-computed-properties": "7.2.0", - "@babel/plugin-transform-destructuring": "7.2.0", - "@babel/plugin-transform-exponentiation-operator": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-for-of": "7.2.0", - "@babel/plugin-transform-function-name": "7.2.0", - "@babel/plugin-transform-literals": "7.2.0", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/plugin-transform-object-assign": "7.2.0", - "@babel/plugin-transform-parameters": "7.2.0", - "@babel/plugin-transform-react-display-name": "7.2.0", - "@babel/plugin-transform-react-jsx": "7.2.0", - "@babel/plugin-transform-react-jsx-source": "7.2.0", - "@babel/plugin-transform-regenerator": "7.0.0", - "@babel/plugin-transform-runtime": "7.2.0", - "@babel/plugin-transform-shorthand-properties": "7.2.0", - "@babel/plugin-transform-spread": "7.2.2", - "@babel/plugin-transform-sticky-regex": "7.2.0", - "@babel/plugin-transform-template-literals": "7.2.0", - "@babel/plugin-transform-typescript": "7.2.0", - "@babel/plugin-transform-unicode-regex": "7.2.0", - "@babel/template": "7.2.2", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.0.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", "metro-babel7-plugin-react-transform": "0.51.1", - "react-transform-hmr": "1.0.4" + "react-transform-hmr": "^1.0.4" }, "dependencies": { "@babel/code-frame": { @@ -8511,7 +8511,7 @@ "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "dev": true, "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -8520,11 +8520,11 @@ "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "dev": true, "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -8533,7 +8533,7 @@ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-define-map": { @@ -8542,9 +8542,9 @@ "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "dev": true, "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/helper-function-name": { @@ -8553,9 +8553,9 @@ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -8564,7 +8564,7 @@ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -8573,7 +8573,7 @@ "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -8582,7 +8582,7 @@ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -8597,10 +8597,10 @@ "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -8609,7 +8609,7 @@ "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -8618,9 +8618,9 @@ "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "dev": true, "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -8635,7 +8635,7 @@ "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -8644,8 +8644,8 @@ "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.11" + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { @@ -8654,14 +8654,14 @@ "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.1.0", - "@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.2.3", - "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.9.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@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.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" } }, "@babel/plugin-transform-for-of": { @@ -8670,7 +8670,7 @@ "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/template": { @@ -8679,9 +8679,9 @@ "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -8690,15 +8690,15 @@ "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -8707,9 +8707,9 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "dev": true, "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -8718,7 +8718,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -8727,9 +8727,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -8738,7 +8738,7 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -8765,7 +8765,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -8781,7 +8781,7 @@ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.48.5.tgz", "integrity": "sha512-lScSpLJKZMmNPRwvcY6zj28AwMOcI1M5bCCv+m06VWcISCTq1KlaKVwqLKmFgUtPkoFtFLD+PVKRKCRUxj1opg==", "requires": { - "absolute-path": "0.0.0" + "absolute-path": "^0.0.0" } }, "metro-source-map": { @@ -8789,7 +8789,7 @@ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.48.5.tgz", "integrity": "sha512-+BbcU9vfEl/XhMlVV0RwuHuEkai4lq7RmlQkxgoOoWl1u0yXCAPRZ5sqa326fPlJzElOR3cp0y7+Oc2nbIguyg==", "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "micromatch": { @@ -8797,19 +8797,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "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" } }, "mime": { @@ -8827,7 +8827,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", "requires": { - "mime-db": "1.23.0" + "mime-db": "~1.23.0" }, "dependencies": { "mime-db": { @@ -8847,7 +8847,7 @@ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { - "dom-walk": "0.1.1" + "dom-walk": "^0.1.0" } }, "minimatch": { @@ -8855,7 +8855,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -8868,8 +8868,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -8877,7 +8877,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -8923,17 +8923,17 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "arr-diff": { @@ -8964,8 +8964,8 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" + "encoding": "^0.1.11", + "is-stream": "^1.0.1" } }, "node-int64": { @@ -8983,10 +8983,10 @@ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", "requires": { - "growly": "1.3.0", - "semver": "5.5.0", - "shellwords": "0.1.1", - "which": "1.3.1" + "growly": "^1.3.0", + "semver": "^5.4.1", + "shellwords": "^0.1.1", + "which": "^1.3.0" } }, "normalize-package-data": { @@ -8994,10 +8994,10 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "requires": { - "hosted-git-info": "2.7.1", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.4" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -9005,7 +9005,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { @@ -9013,7 +9013,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "npmlog": { @@ -9021,9 +9021,9 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", "requires": { - "ansi": "0.3.1", - "are-we-there-yet": "1.1.5", - "gauge": "1.2.7" + "ansi": "~0.3.1", + "are-we-there-yet": "~1.1.2", + "gauge": "~1.2.5" } }, "nullthrows": { @@ -9058,9 +9058,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -9068,7 +9068,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -9084,7 +9084,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -9100,8 +9100,8 @@ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "dev": true, "requires": { - "define-properties": "1.1.3", - "es-abstract": "1.12.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" } }, "object.omit": { @@ -9109,8 +9109,8 @@ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.pick": { @@ -9118,7 +9118,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -9146,7 +9146,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -9154,7 +9154,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "opn": { @@ -9162,7 +9162,7 @@ "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=", "requires": { - "object-assign": "4.1.1" + "object-assign": "^4.0.1" } }, "optimist": { @@ -9170,8 +9170,8 @@ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { - "minimist": "0.0.10", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" }, "dependencies": { "minimist": { @@ -9192,12 +9192,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, "options": { @@ -9216,9 +9216,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "os-tmpdir": { @@ -9236,7 +9236,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -9244,7 +9244,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { - "p-limit": "1.3.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -9257,10 +9257,10 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -9268,7 +9268,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { - "error-ex": "1.3.2" + "error-ex": "^1.2.0" } }, "parse5": { @@ -9293,7 +9293,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -9332,9 +9332,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "performance-now": { @@ -9360,7 +9360,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pirates": { @@ -9368,7 +9368,7 @@ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.0.tgz", "integrity": "sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA==", "requires": { - "node-modules-regexp": "1.0.0" + "node-modules-regexp": "^1.0.0" } }, "pkg-dir": { @@ -9376,7 +9376,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" }, "dependencies": { "find-up": { @@ -9384,7 +9384,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } } } @@ -9394,11 +9394,11 @@ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", "requires": { - "ansi-cyan": "0.1.1", - "ansi-red": "0.1.1", - "arr-diff": "1.1.0", - "arr-union": "2.1.0", - "extend-shallow": "1.1.4" + "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" }, "dependencies": { "arr-diff": { @@ -9406,8 +9406,8 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", "requires": { - "arr-flatten": "1.1.0", - "array-slice": "0.2.3" + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" } }, "arr-union": { @@ -9420,7 +9420,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", "requires": { - "kind-of": "1.1.0" + "kind-of": "^1.1.0" } }, "kind-of": { @@ -9477,7 +9477,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "prompts": { @@ -9486,8 +9486,8 @@ "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", "dev": true, "requires": { - "kleur": "2.0.2", - "sisteransi": "0.1.1" + "kleur": "^2.0.1", + "sisteransi": "^0.1.1" } }, "prop-types": { @@ -9495,8 +9495,8 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "requires": { - "loose-envify": "1.4.0", - "object-assign": "4.1.1" + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" } }, "pseudomap": { @@ -9532,8 +9532,8 @@ "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.2.0.tgz", "integrity": "sha512-5wupExkIt8RYL4h/FE+WTg3JHk62e6fFPWtAZA9J5IWK1PfTfKkMS93HBUHcFpeYi9KsY5pFbh+ldvEyaz5MyA==", "requires": { - "decode-uri-component": "0.2.0", - "strict-uri-encode": "2.0.0" + "decode-uri-component": "^0.2.0", + "strict-uri-encode": "^2.0.0" } }, "randomatic": { @@ -9541,9 +9541,9 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -9563,10 +9563,10 @@ "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz", "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==", "requires": { - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "prop-types": "15.6.2", - "scheduler": "0.11.3" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.11.2" } }, "react-clone-referenced-element": { @@ -9594,58 +9594,58 @@ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.57.8.tgz", "integrity": "sha512-K6DAMTPTq+lxVYC73y4Kh/bgLajddBaIKzwsVeV4JOoS1Fdq48/ISXD3vApV+x+/IBVTXnrT9qlA+9U6MMZCqA==", "requires": { - "@babel/runtime": "7.2.0", - "absolute-path": "0.0.0", - "art": "0.10.3", - "base64-js": "1.3.0", - "chalk": "1.1.3", - "commander": "2.17.1", - "compression": "1.7.3", - "connect": "3.6.6", - "create-react-class": "15.6.3", - "debug": "2.6.9", - "denodeify": "1.2.1", - "envinfo": "5.12.1", - "errorhandler": "1.5.0", - "escape-string-regexp": "1.0.5", - "event-target-shim": "1.1.1", - "fbjs": "1.0.0", - "fbjs-scripts": "1.0.1", - "fs-extra": "1.0.0", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "inquirer": "3.3.0", - "lodash": "4.17.11", - "metro": "0.48.5", - "metro-babel-register": "0.48.5", - "metro-core": "0.48.5", - "metro-memory-fs": "0.48.5", - "mime": "1.6.0", - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "morgan": "1.9.1", - "node-fetch": "2.3.0", - "node-notifier": "5.2.1", - "npmlog": "2.0.4", - "opn": "3.0.3", - "optimist": "0.6.1", - "plist": "3.0.1", - "pretty-format": "4.3.1", - "promise": "7.3.1", - "prop-types": "15.6.2", - "react-clone-referenced-element": "1.0.1", - "react-devtools-core": "3.4.3", - "react-timer-mixin": "0.13.4", - "regenerator-runtime": "0.11.1", - "rimraf": "2.6.2", - "semver": "5.5.0", - "serve-static": "1.13.2", + "@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.4", - "ws": "1.1.5", - "xcode": "1.1.0", - "xmldoc": "0.4.0", - "yargs": "9.0.1" + "stacktrace-parser": "^0.1.3", + "ws": "^1.1.5", + "xcode": "^1.0.0", + "xmldoc": "^0.4.0", + "yargs": "^9.0.0" }, "dependencies": { "@babel/code-frame": { @@ -9653,7 +9653,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { @@ -9661,20 +9661,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helpers": "7.2.0", - "@babel/parser": "7.2.3", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "convert-source-map": "1.5.1", - "debug": "4.1.1", - "json5": "2.1.0", - "lodash": "4.17.11", - "resolve": "1.8.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" }, "dependencies": { "debug": { @@ -9682,7 +9682,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } } } @@ -9692,11 +9692,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -9704,7 +9704,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-define-map": { @@ -9712,9 +9712,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/helper-function-name": { @@ -9722,9 +9722,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -9732,7 +9732,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -9740,7 +9740,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -9748,7 +9748,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -9761,10 +9761,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -9772,7 +9772,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helpers": { @@ -9780,9 +9780,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -9790,9 +9790,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" }, "dependencies": { "chalk": { @@ -9800,9 +9800,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } } } @@ -9817,7 +9817,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -9825,8 +9825,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.11" + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { @@ -9834,14 +9834,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.1.0", - "@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.2.3", - "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.9.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@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.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" } }, "@babel/plugin-transform-for-of": { @@ -9849,7 +9849,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/runtime": { @@ -9857,7 +9857,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "requires": { - "regenerator-runtime": "0.12.1" + "regenerator-runtime": "^0.12.0" }, "dependencies": { "regenerator-runtime": { @@ -9872,9 +9872,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -9882,15 +9882,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" }, "dependencies": { "debug": { @@ -9898,7 +9898,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } } } @@ -9908,9 +9908,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "accepts": { @@ -9918,7 +9918,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "2.1.21", + "mime-types": "~2.1.18", "negotiator": "0.6.1" } }, @@ -9927,7 +9927,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "babel-plugin-syntax-trailing-function-commas": { @@ -9940,33 +9940,33 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", "requires": { - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-syntax-class-properties": "7.2.0", - "@babel/plugin-syntax-flow": "7.2.0", - "@babel/plugin-syntax-jsx": "7.2.0", - "@babel/plugin-syntax-object-rest-spread": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoped-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-computed-properties": "7.2.0", - "@babel/plugin-transform-destructuring": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-for-of": "7.2.0", - "@babel/plugin-transform-function-name": "7.2.0", - "@babel/plugin-transform-literals": "7.2.0", - "@babel/plugin-transform-member-expression-literals": "7.2.0", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/plugin-transform-object-super": "7.2.0", - "@babel/plugin-transform-parameters": "7.2.0", - "@babel/plugin-transform-property-literals": "7.2.0", - "@babel/plugin-transform-react-display-name": "7.2.0", - "@babel/plugin-transform-react-jsx": "7.2.0", - "@babel/plugin-transform-shorthand-properties": "7.2.0", - "@babel/plugin-transform-spread": "7.2.2", - "@babel/plugin-transform-template-literals": "7.2.0", - "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" + "@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" } }, "basic-auth": { @@ -9992,9 +9992,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -10002,9 +10002,9 @@ "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -10014,13 +10014,13 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.5", "bytes": "3.0.0", - "compressible": "2.0.14", + "compressible": "~2.0.14", "debug": "2.6.9", - "on-headers": "1.0.1", + "on-headers": "~1.0.1", "safe-buffer": "5.1.2", - "vary": "1.1.2" + "vary": "~1.1.2" } }, "connect": { @@ -10030,7 +10030,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "1.3.2", + "parseurl": "~1.3.2", "utils-merge": "1.0.1" } }, @@ -10054,8 +10054,8 @@ "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.0.tgz", "integrity": "sha1-6rpkyl1UKjEayUX1gt78M2Fl2fQ=", "requires": { - "accepts": "1.3.5", - "escape-html": "1.0.3" + "accepts": "~1.3.3", + "escape-html": "~1.0.3" } }, "etag": { @@ -10068,13 +10068,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "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" } }, "fbjs": { @@ -10082,14 +10082,14 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "core-js": "2.6.1", - "fbjs-css-vars": "1.0.2", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "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" } }, "fbjs-scripts": { @@ -10097,16 +10097,16 @@ "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-1.0.1.tgz", "integrity": "sha512-x8bfX7k0z5B24Ue0YqjZq/2QxxaKZUNbkGdX//zbQDElMJFqBRrvRi8O3qds7UNNzs78jYqIYCS32Sk/wu5UJg==", "requires": { - "@babel/core": "7.2.2", - "ansi-colors": "1.1.0", - "babel-preset-fbjs": "3.1.0", - "core-js": "2.6.1", - "cross-spawn": "5.1.0", - "fancy-log": "1.3.2", - "object-assign": "4.1.1", - "plugin-error": "0.1.2", - "semver": "5.5.0", - "through2": "2.0.3" + "@babel/core": "^7.0.0", + "ansi-colors": "^1.0.1", + "babel-preset-fbjs": "^3.0.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" } }, "finalhandler": { @@ -10115,12 +10115,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" } }, "find-up": { @@ -10128,7 +10128,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "fresh": { @@ -10146,10 +10146,10 @@ "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { - "depd": "1.1.2", + "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": "1.5.0" + "statuses": ">= 1.4.0 < 2" }, "dependencies": { "statuses": { @@ -10164,7 +10164,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "jsesc": { @@ -10177,7 +10177,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" } }, "load-json-file": { @@ -10185,10 +10185,10 @@ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "mime-db": { @@ -10201,7 +10201,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "requires": { - "mime-db": "1.37.0" + "mime-db": "~1.37.0" } }, "morgan": { @@ -10209,11 +10209,11 @@ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", "requires": { - "basic-auth": "2.0.1", + "basic-auth": "~2.0.0", "debug": "2.6.9", - "depd": "1.1.2", - "on-finished": "2.3.0", - "on-headers": "1.0.1" + "depd": "~1.1.2", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" } }, "ms": { @@ -10236,9 +10236,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "path-type": { @@ -10246,7 +10246,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "plist": { @@ -10254,9 +10254,9 @@ "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", "requires": { - "base64-js": "1.3.0", - "xmlbuilder": "9.0.7", - "xmldom": "0.1.27" + "base64-js": "^1.2.3", + "xmlbuilder": "^9.0.7", + "xmldom": "0.1.x" } }, "range-parser": { @@ -10269,8 +10269,8 @@ "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.4.3.tgz", "integrity": "sha512-t3f6cRH5YSKv8qjRl1Z+1e0OwBZwJSdOAhJ9QAJdVKML7SmqAKKv3DxF+Ue03pE1N2UipPsLmaNcPzzMjIdZQg==", "requires": { - "shell-quote": "1.6.1", - "ws": "3.3.3" + "shell-quote": "^1.6.1", + "ws": "^3.3.1" }, "dependencies": { "ws": { @@ -10278,9 +10278,9 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "requires": { - "async-limiter": "1.0.0", - "safe-buffer": "5.1.2", - "ultron": "1.1.1" + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" } } } @@ -10290,9 +10290,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -10300,8 +10300,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "regenerator-runtime": { @@ -10315,18 +10315,18 @@ "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "requires": { "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", + "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.6.3", + "http-errors": "~1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.4.0" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" }, "dependencies": { "mime": { @@ -10351,9 +10351,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", "send": "0.16.2" } }, @@ -10372,7 +10372,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -10400,8 +10400,8 @@ "resolved": "https://registry.npmjs.org/xcode/-/xcode-1.1.0.tgz", "integrity": "sha512-hllHFtfsNu5WbVzj8KbGNdI3NgOYmTLZqyF4a9c9J1aGMhAdxmLLsXlpG0Bz8fEtKh6I3pyargRXN0ZlLpcF5w==", "requires": { - "simple-plist": "0.2.1", - "uuid": "3.3.2" + "simple-plist": "^0.2.1", + "uuid": "^3.3.2" } }, "xmlbuilder": { @@ -10414,19 +10414,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.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.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "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" } }, "yargs-parser": { @@ -10434,7 +10434,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -10449,8 +10449,8 @@ "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.13.3.tgz", "integrity": "sha512-B62LSSAEYQGItg7KVTzTVVCxezOYFBYp4DMVFbdoZUd1mZVFdqR2sy1HY1mye1VI/Lf3IbxSyZEQ0GmrrdwLjg==", "requires": { - "base-64": "0.1.0", - "utf8": "2.1.2" + "base-64": "^0.1.0", + "utf8": "^2.1.1" } }, "react-native-gesture-handler": { @@ -10458,9 +10458,9 @@ "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.12.tgz", "integrity": "sha512-Qp5FjRmqUFeCevSu2IYQG1Xw+YXZ9YOzqze/ZxaIvWzYAoKsRchlgHhNoxvCqElp/befrnVFIjAEQyUxcmBKJw==", "requires": { - "hoist-non-react-statics": "2.5.5", - "invariant": "2.2.4", - "prop-types": "15.6.2" + "hoist-non-react-statics": "^2.3.1", + "invariant": "^2.2.2", + "prop-types": "^15.5.10" }, "dependencies": { "hoist-non-react-statics": { @@ -10485,7 +10485,7 @@ "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.11.0.tgz", "integrity": "sha512-N3nElaahu1Me2ltnfc9acpgt1znm6pi8DSadKy79kvdzKwvVIzw0IXueA/Hjr51eCW1BsfNw7D1SgBT9U6qEkA==", "requires": { - "hoist-non-react-statics": "2.5.5" + "hoist-non-react-statics": "^2.3.1" }, "dependencies": { "hoist-non-react-statics": { @@ -10510,7 +10510,7 @@ "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.3.1.tgz", "integrity": "sha512-QNt6VkEW8SP1UJ7yjD5P4bOTWwHQfoIMD5CqnA06pcubdNwHR1NmjiNZsVnIvp5wAEVbW6yTHjLXOh1fzab4xg==", "requires": { - "prop-types": "15.6.2" + "prop-types": "^15.6.1" } }, "react-native-vector-icons": { @@ -10518,9 +10518,9 @@ "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.1.0.tgz", "integrity": "sha512-1GF5I4VWgwnzBtVfAKNgEiR5ziHi5QaKL381wwApMzuiFgIJMNt5XIChuKwKoaiB86s+P5iMcYWxYCyENL96lA==", "requires": { - "lodash": "4.17.11", - "prop-types": "15.6.2", - "yargs": "8.0.2" + "lodash": "^4.0.0", + "prop-types": "^15.6.2", + "yargs": "^8.0.2" }, "dependencies": { "cliui": { @@ -10651,7 +10651,7 @@ "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-1.0.5.tgz", "integrity": "sha512-WeGrXFn84R75IAt3ndDfkHw9FNvPsi4JPGO1iopqUoA/2tMPA6WJbhuE3dqmmEu3TZRjI+2LatCgpx00tT1kiQ==", "requires": { - "react-native-tab-view": "1.3.1" + "react-native-tab-view": "^1.2.0" } }, "react-navigation-header-buttons": { @@ -10659,7 +10659,7 @@ "resolved": "https://registry.npmjs.org/react-navigation-header-buttons/-/react-navigation-header-buttons-2.1.1.tgz", "integrity": "sha512-ZWqwvdOBDduAGr1WpmHWbCMmSx9ZpuKdnFOByt9iOSZwwQwMP2f98rkePAlYXlTcThgaqbpdt7jcktAcG056fA==", "requires": { - "react-native-platform-touchable": "1.1.1" + "react-native-platform-touchable": "^1.1.1" } }, "react-navigation-stack": { @@ -10672,10 +10672,10 @@ "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.0.2.tgz", "integrity": "sha512-ffWPVdo+L0GLbQlLAzH7ITYqh9V9NdqT/juj8QtESH5/2yUqfvqTxQoSowvFIrtiIHHFH6tLoQy1sZZciTxmeg==", "requires": { - "hoist-non-react-statics": "2.5.5", - "prop-types": "15.6.2", - "react-lifecycles-compat": "3.0.4", - "react-native-tab-view": "1.3.1" + "hoist-non-react-statics": "^2.5.0", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4", + "react-native-tab-view": "^1.0.0" }, "dependencies": { "hoist-non-react-statics": { @@ -10690,8 +10690,8 @@ "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=", "requires": { - "lodash": "4.17.11", - "react-deep-force-update": "1.1.1" + "lodash": "^4.6.1", + "react-deep-force-update": "^1.0.0" } }, "react-test-renderer": { @@ -10700,10 +10700,10 @@ "integrity": "sha512-B5bCer+qymrQz/wN03lT0LppbZUDRq6AMfzMKrovzkGzfO81a9T+PWQW6MzkWknbwODQH/qpJno/yFQLX5IWrQ==", "dev": true, "requires": { - "object-assign": "4.1.1", - "prop-types": "15.6.2", - "react-is": "16.7.0", - "scheduler": "0.11.3" + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "react-is": "^16.6.3", + "scheduler": "^0.11.2" } }, "react-timer-mixin": { @@ -10716,8 +10716,8 @@ "resolved": "https://registry.npmjs.org/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz", "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=", "requires": { - "global": "4.3.2", - "react-proxy": "1.1.8" + "global": "^4.3.0", + "react-proxy": "^1.1.7" } }, "read-pkg": { @@ -10726,9 +10726,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -10737,8 +10737,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "readable-stream": { @@ -10746,13 +10746,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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" } }, "realpath-native": { @@ -10761,7 +10761,7 @@ "integrity": "sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g==", "dev": true, "requires": { - "util.promisify": "1.0.0" + "util.promisify": "^1.0.0" } }, "recast": { @@ -10770,9 +10770,9 @@ "integrity": "sha512-ZUQm94F3AHozRaTo4Vz6yIgkSEZIL7p+BsWeGZ23rx+ZVRoqX+bvBA8br0xmCOU0DSR4qYGtV7Y5HxTsC4V78A==", "requires": { "ast-types": "0.11.6", - "esprima": "4.0.1", - "private": "0.1.8", - "source-map": "0.6.1" + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" }, "dependencies": { "ast-types": { @@ -10802,7 +10802,7 @@ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", "requires": { - "regenerate": "1.4.0" + "regenerate": "^1.4.0" } }, "regenerator": { @@ -10810,16 +10810,16 @@ "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.13.3.tgz", "integrity": "sha512-vePgoVGUgXfLBw4Z1hv8PTfmt7TW5dT/cMdq2GCdr3TYoPTE1WUU/KjiaZCOLD/JSyGWJMWhMRDYBLbpmVzkFw==", "requires": { - "@babel/core": "7.2.2", - "@babel/runtime": "7.2.0", - "@babel/types": "7.2.2", - "commoner": "0.10.8", - "private": "0.1.8", - "recast": "0.16.1", - "regenerator-preset": "0.12.1", - "regenerator-runtime": "0.13.1", - "regenerator-transform": "0.13.3", - "through": "2.3.8" + "@babel/core": "^7.1.6", + "@babel/runtime": "^7.1.5", + "@babel/types": "^7.1.6", + "commoner": "^0.10.8", + "private": "^0.1.8", + "recast": "^0.16.0", + "regenerator-preset": "^0.12.1", + "regenerator-runtime": "^0.13.0", + "regenerator-transform": "^0.13.3", + "through": "^2.3.8" } }, "regenerator-preset": { @@ -10827,13 +10827,13 @@ "resolved": "https://registry.npmjs.org/regenerator-preset/-/regenerator-preset-0.12.1.tgz", "integrity": "sha512-s/4SOEU1TxZ6IV/CQfz4BEjn29HaRhvqYPoufx2hp9LfuD2dnwnmtWEdXxUuG4JHAE7V+y6aqvileT1AflcH9g==", "requires": { - "@babel/plugin-proposal-function-sent": "7.2.0", - "@babel/plugin-syntax-async-generators": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-for-of": "7.2.0", - "regenerator-transform": "0.13.3" + "@babel/plugin-proposal-function-sent": "^7.0.0-beta.51", + "@babel/plugin-syntax-async-generators": "^7.0.0-beta.51", + "@babel/plugin-transform-arrow-functions": "^7.0.0-beta.51", + "@babel/plugin-transform-block-scoping": "^7.0.0-beta.51", + "@babel/plugin-transform-classes": "^7.0.0-beta.51", + "@babel/plugin-transform-for-of": "^7.0.0-beta.51", + "regenerator-transform": "^0.13.0" } }, "regenerator-runtime": { @@ -10846,7 +10846,7 @@ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", "requires": { - "private": "0.1.8" + "private": "^0.1.6" } }, "regex-cache": { @@ -10854,7 +10854,7 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -10862,8 +10862,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexpu-core": { @@ -10871,12 +10871,12 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", "requires": { - "regenerate": "1.4.0", - "regenerate-unicode-properties": "7.0.0", - "regjsgen": "0.5.0", - "regjsparser": "0.6.0", - "unicode-match-property-ecmascript": "1.0.4", - "unicode-match-property-value-ecmascript": "1.0.2" + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" } }, "regjsgen": { @@ -10889,7 +10889,7 @@ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { @@ -10920,7 +10920,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -10929,26 +10929,26 @@ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.7", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.3", - "har-validator": "5.1.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.21", - "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" + "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" }, "dependencies": { "mime-db": { @@ -10963,7 +10963,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "1.37.0" + "mime-db": "~1.37.0" } }, "punycode": { @@ -10978,8 +10978,8 @@ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { - "psl": "1.1.31", - "punycode": "1.4.1" + "psl": "^1.1.24", + "punycode": "^1.4.1" } } } @@ -10990,7 +10990,7 @@ "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", "dev": true, "requires": { - "lodash": "4.17.11" + "lodash": "^4.13.1" } }, "request-promise-native": { @@ -11000,8 +11000,8 @@ "dev": true, "requires": { "request-promise-core": "1.1.1", - "stealthy-require": "1.1.1", - "tough-cookie": "2.5.0" + "stealthy-require": "^1.1.0", + "tough-cookie": ">=2.3.3" } }, "require-directory": { @@ -11019,7 +11019,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "requires": { - "path-parse": "1.0.6" + "path-parse": "^1.0.5" } }, "resolve-cwd": { @@ -11028,7 +11028,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -11046,8 +11046,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -11060,7 +11060,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "rsvp": { @@ -11073,7 +11073,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rx-lite": { @@ -11086,7 +11086,7 @@ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "requires": { - "rx-lite": "4.0.8" + "rx-lite": "*" } }, "safe-buffer": { @@ -11099,7 +11099,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -11113,15 +11113,15 @@ "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "dev": true, "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.2", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" }, "dependencies": { "arr-diff": { @@ -11142,16 +11142,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -11160,7 +11160,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11171,13 +11171,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -11186,7 +11186,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11195,7 +11195,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -11204,7 +11204,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11213,7 +11213,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11224,7 +11224,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11233,7 +11233,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11244,9 +11244,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -11263,14 +11263,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -11279,7 +11279,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -11288,7 +11288,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11299,10 +11299,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -11311,7 +11311,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11322,7 +11322,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -11331,7 +11331,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -11340,9 +11340,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -11351,7 +11351,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11360,7 +11360,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11383,19 +11383,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -11410,8 +11410,8 @@ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.3.tgz", "integrity": "sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==", "requires": { - "loose-envify": "1.4.0", - "object-assign": "4.1.1" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" } }, "semver": { @@ -11434,10 +11434,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -11445,7 +11445,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11465,7 +11465,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -11478,10 +11478,10 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "requires": { - "array-filter": "0.0.1", - "array-map": "0.0.0", - "array-reduce": "0.0.0", - "jsonify": "0.0.0" + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" } }, "shellwords": { @@ -11516,7 +11516,7 @@ "requires": { "base64-js": "1.1.2", "xmlbuilder": "8.2.2", - "xmldom": "0.1.27" + "xmldom": "0.1.x" } }, "xmlbuilder": { @@ -11553,14 +11553,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.1" + "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" }, "dependencies": { "define-property": { @@ -11568,7 +11568,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11576,7 +11576,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11586,9 +11586,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -11596,7 +11596,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -11604,7 +11604,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -11612,7 +11612,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -11620,9 +11620,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -11642,7 +11642,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { @@ -11655,11 +11655,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "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" + "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": { @@ -11668,7 +11668,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "source-map-url": { @@ -11681,8 +11681,8 @@ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -11695,8 +11695,8 @@ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -11709,7 +11709,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -11723,15 +11723,15 @@ "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", "dev": true, "requires": { - "asn1": "0.2.4", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.2", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "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" } }, "stack-utils": { @@ -11755,8 +11755,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -11764,7 +11764,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -11791,8 +11791,8 @@ "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", "dev": true, "requires": { - "astral-regex": "1.0.0", - "strip-ansi": "4.0.0" + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -11807,7 +11807,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -11817,8 +11817,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -11831,7 +11831,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -11841,7 +11841,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -11849,7 +11849,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -11858,7 +11858,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -11882,8 +11882,8 @@ "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", "requires": { - "os-tmpdir": "1.0.2", - "rimraf": "2.2.8" + "os-tmpdir": "^1.0.0", + "rimraf": "~2.2.6" }, "dependencies": { "rimraf": { @@ -11899,11 +11899,11 @@ "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" }, "dependencies": { "arr-diff": { @@ -11924,16 +11924,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -11942,7 +11942,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11953,13 +11953,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -11968,7 +11968,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11977,7 +11977,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -11986,7 +11986,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11995,7 +11995,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12006,7 +12006,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -12015,7 +12015,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12026,9 +12026,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -12045,14 +12045,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -12061,7 +12061,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -12070,7 +12070,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -12081,10 +12081,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -12093,7 +12093,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -12104,7 +12104,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -12113,7 +12113,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -12122,9 +12122,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -12133,7 +12133,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -12142,7 +12142,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12165,19 +12165,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -12197,8 +12197,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "time-stamp": { @@ -12211,7 +12211,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "tmpl": { @@ -12230,7 +12230,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -12238,10 +12238,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -12249,8 +12249,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "dependencies": { "is-number": { @@ -12258,7 +12258,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } } } @@ -12269,8 +12269,8 @@ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "psl": "1.1.31", - "punycode": "2.1.1" + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, "tr46": { @@ -12279,7 +12279,7 @@ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" } }, "trim-right": { @@ -12293,7 +12293,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -12308,7 +12308,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "typedarray": { @@ -12326,8 +12326,8 @@ "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "requires": { - "commander": "2.13.0", - "source-map": "0.6.1" + "commander": "~2.13.0", + "source-map": "~0.6.1" }, "dependencies": { "commander": { @@ -12357,8 +12357,8 @@ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", "requires": { - "unicode-canonical-property-names-ecmascript": "1.0.4", - "unicode-property-aliases-ecmascript": "1.0.4" + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" } }, "unicode-match-property-value-ecmascript": { @@ -12376,10 +12376,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -12387,7 +12387,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -12395,10 +12395,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -12413,8 +12413,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -12422,9 +12422,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -12455,7 +12455,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" } }, "urix": { @@ -12484,8 +12484,8 @@ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", "dev": true, "requires": { - "define-properties": "1.1.3", - "object.getownpropertydescriptors": "2.0.3" + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" } }, "uuid": { @@ -12498,8 +12498,8 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "verror": { @@ -12508,9 +12508,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "w3c-hr-time": { @@ -12519,7 +12519,7 @@ "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", "dev": true, "requires": { - "browser-process-hrtime": "0.1.3" + "browser-process-hrtime": "^0.1.2" } }, "walker": { @@ -12527,7 +12527,7 @@ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "requires": { - "makeerror": "1.0.11" + "makeerror": "1.0.x" } }, "watch": { @@ -12535,8 +12535,8 @@ "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", "requires": { - "exec-sh": "0.2.2", - "minimist": "1.2.0" + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" } }, "webidl-conversions": { @@ -12560,7 +12560,7 @@ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } } } @@ -12582,9 +12582,9 @@ "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "requires": { - "lodash.sortby": "4.7.0", - "tr46": "1.0.1", - "webidl-conversions": "4.0.2" + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, "which": { @@ -12592,7 +12592,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -12610,8 +12610,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -12619,7 +12619,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -12627,9 +12627,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -12644,9 +12644,9 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "ws": { @@ -12654,8 +12654,8 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", "requires": { - "options": "0.0.6", - "ultron": "1.0.2" + "options": ">=0.0.5", + "ultron": "1.0.x" }, "dependencies": { "ultron": { @@ -12676,7 +12676,7 @@ "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-0.4.0.tgz", "integrity": "sha1-0lciS+g5PqrL+DfvIn/Y7CWzaIg=", "requires": { - "sax": "1.1.6" + "sax": "~1.1.1" } }, "xmldom": { @@ -12710,18 +12710,18 @@ "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^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": "^9.0.2" }, "dependencies": { "find-up": { @@ -12730,7 +12730,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } } } @@ -12741,7 +12741,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } diff --git a/src/lib/sfjs/modelManager.js b/src/lib/sfjs/modelManager.js index 1929edf4..392c57d9 100644 --- a/src/lib/sfjs/modelManager.js +++ b/src/lib/sfjs/modelManager.js @@ -88,6 +88,13 @@ export default class ModelManager extends SFModelManager { return tagMatches.concat(smartMatches); } + getTagWithId(id) { + let tags = this.getTagsWithIds([id]); + if(tags.length > 0) { + return tags[0]; + } + } + buildSystemSmartTags() { this.systemSmartTags = SNSmartTag.systemSmartTags(); } diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 933c9d85..f62c41f0 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -49,7 +49,7 @@ export default class Compose extends Abstract { if(noteId) { note = ModelManager.get().findItem(noteId);} this.setNote(note, true); - this.constructState({title: this.note.title, noteLocked: this.note.locked}); + this.constructState({title: this.note.title, noteLocked: this.note.locked /* required to re-render on change */}); this.configureHeaderBar(); @@ -57,8 +57,21 @@ export default class Compose extends Abstract { this.syncObserver = Sync.get().addEventHandler((event, data) => { if(event == "sync:completed") { - if(this.note.deleted) { - this.setNote(null); + if(this.note.deleted || this.note.content.trashed) { + let clearNote = this.note.deleted == true; + // if Trashed, and we're in the Trash view, don't clear note. + if(!this.note.deleted) { + let selectedTag = this.getSelectedTag(); + let isTrashTag = selectedTag != null && selectedTag.content.isTrashTag == true; + if(this.note.content.trashed) { + // clear the note if this is not the trash tag. Otherwise, keep it in view. + clearNote = !isTrashTag; + } + } + + if(clearNote) { + this.setNote(null); + } } else if(data.retrievedItems && this.note.uuid && data.retrievedItems.concat(data.savedItems).map((i) => i.uuid).includes(this.note.uuid)) { /* You have to be careful about when you render inside this component. Rendering with the native SNTextView component @@ -93,8 +106,28 @@ export default class Compose extends Abstract { }); } + /* + In the Compose constructor, setNote is called with an empty value. This will create a new note. + This is fine for non-tablet, but on tablet, we select the first note of the current view options, + which initially is null, so setNote(null) will be called twice. + + On tablet, in the options change observer, we select first note, which is null, will call setNote(null) again. + This is fine throughout normal lifecycle operation, but because the Compose constructor already calls setNote(null), + it will be called twice. + + Two solutions can be: + 1. In Compose constructor, check if tablet if note is null (hacky) + 2. In setNote(null), if the current note is already a dummy, don't do anything. + */ + setNote(note, isConstructor = false) { if(!note) { + if(this.note && this.note.dummy) { + // This method can be called if the + button is pressed. On Tablet, it can be pressed even while we're + // already here. Just focus input if that's the case. + this.input && this.input.focus(); + return; + } note = ModelManager.get().createItem({content_type: "Note", dummy: true, text: ""}); note.dummy = true; // Editors need a valid note with uuid and modelmanager mapped in order to interact with it @@ -231,7 +264,6 @@ export default class Compose extends Abstract { replaceTagsForNote(newTags) { let note = this.note; - var oldTags = note.tags.slice(); // original array will be modified in the for loop so we make a copy for(var oldTag of oldTags) { if(!newTags.includes(oldTag)) { @@ -297,6 +329,13 @@ export default class Compose extends Abstract { return this.getProp("selectedTagId") || this.props.selectedTagId; } + getSelectedTag() { + let id = this.getSelectedTagId(); + if(id) { + return ModelManager.get().getTagWithId(id); + } + } + changesMade() { this.note.hasChanges = true; @@ -308,7 +347,7 @@ export default class Compose extends Abstract { this.saveTimeout = setTimeout(() => { this.showSavingStatus(); if(isDummy && this.getSelectedTagId()) { - var tag = ModelManager.get().findItem(this.getSelectedTagId()); + var tag = this.getSelectedTag(); // Could be system tag, so wouldn't exist if(tag && !tag.isSmartTag()) { tag.addItemAsRelationship(this.note); From d7d7db328de88a16b19597d36d95a99d269a9445 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 13 Jan 2019 15:28:15 -0600 Subject: [PATCH 083/131] Fixes issue with switching editors --- src/screens/Notes/Notes.js | 31 +++++++++++++++---------------- src/screens/Webview.js | 29 +++++++++++++++++++++-------- 2 files changed, 36 insertions(+), 24 deletions(-) diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 2a0dfa56..7b28fa7e 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -122,10 +122,6 @@ export default class Notes extends Abstract { if(shouldReloadSubtitleAfterNotesReload) { this.setSubTitle(null); } - - if(ApplicationState.get().isTablet) { - this.selectFirstNote(); - } }) this.mappingObserver = ModelManager.get().addItemSyncObserver("notes-screen", ["Tag", "Note"], () => { @@ -140,6 +136,9 @@ export default class Notes extends Abstract { this.reloadList(); this.reloadHeaderBar(); this.mergeState({decrypting: false, loading: false}); + if(ApplicationState.get().isTablet) { + this.selectFirstNote(); + } } else if(event == "sync-exception") { Alert.alert("Issue Syncing", `There was an error while trying to save your items. Please contact support and share this message: ${data}`); } @@ -213,13 +212,11 @@ export default class Notes extends Abstract { } async presentComposer(note) { - this.handlePrivilegedAction(note && note.content.protected, SFPrivilegesManager.ActionViewProtectedNotes, () => { - this.props.navigation.navigate("Compose", { - title: note ? "Editor" : "Compose", - noteId: note && note.uuid, - selectedTagId: this.options.selectedTagIds.length && this.options.selectedTagIds[0], - }); - }) + this.props.navigation.navigate("Compose", { + title: note ? "Editor" : "Compose", + noteId: note && note.uuid, + selectedTagId: this.options.selectedTagIds.length && this.options.selectedTagIds[0], + }); } reloadList(force) { @@ -262,11 +259,13 @@ export default class Notes extends Abstract { } handleSelection = (note) => { - if(this.props.onNoteSelect) { - this.props.onNoteSelect(note); - } else { - this.presentComposer(note); - } + this.handlePrivilegedAction(note && note.content.protected, SFPrivilegesManager.ActionViewProtectedNotes, () => { + if(this.props.onNoteSelect) { + this.props.onNoteSelect(note); + } else { + this.presentComposer(note); + } + }); } _onPressItem = (item: hash) => { diff --git a/src/screens/Webview.js b/src/screens/Webview.js index 595b917a..a59b48b8 100644 --- a/src/screens/Webview.js +++ b/src/screens/Webview.js @@ -13,8 +13,15 @@ export default class Webview extends Component { constructor(props) { super(props); - this.editor = ModelManager.get().findItem(props.editorId); - this.note = ModelManager.get().findItem(props.noteId); + this.identifier = `${Math.random()}` + + ComponentManager.get().registerHandler({identifier: this.identifier, areas: ["note-tags", "editor-stack", "editor-editor"], + contextRequestHandler: (component) => { + return this.note; + } + }); + + this.reloadData(); if(!this.note) { console.log("Unable to find note with ID", props.noteId); @@ -27,16 +34,22 @@ export default class Webview extends Component { Alert.alert('Re-install Extension', `This extension is not installed correctly. Please use the web or desktop application to reinstall ${this.editor.name}, then try again.`, [{text: 'OK'}]) return; } + } + + componentDidUpdate(prevProps, prevState) { + if(prevProps.noteId != this.props.noteId || prevProps.editorId != this.props.editorId) { + this.reloadData(); + } + } - this.handler = ComponentManager.get().registerHandler({identifier: "editor", areas: ["note-tags", "editor-stack", "editor-editor"], - contextRequestHandler: (component) => { - return this.note; - } - }); + reloadData() { + this.editor = ModelManager.get().findItem(this.props.editorId); + this.note = ModelManager.get().findItem(this.props.noteId); + ComponentManager.get().contextItemDidChangeInArea("editor-editor"); } componentWillUnmount() { - ComponentManager.get().deregisterHandler(this.handler); + ComponentManager.get().deregisterHandler(this.identifier); ComponentManager.get().deactivateComponent(this.editor); } From 6cf85ca802b754fa7a53285e63a7ae511633b992 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 13 Jan 2019 15:39:32 -0600 Subject: [PATCH 084/131] Highlight selected note on tablet --- src/screens/Notes/NoteCell.js | 27 +++++++++++---------------- src/screens/Notes/NoteList.js | 1 + src/screens/Notes/Notes.js | 5 +++++ 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/screens/Notes/NoteCell.js b/src/screens/Notes/NoteCell.js index 8d132302..cb518de8 100644 --- a/src/screens/Notes/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -32,14 +32,6 @@ export default class NoteCell extends ThemedPureComponent { this.setState({selected: false}); }; - noteCellStyle = () => { - if(this.state.selected) { - return [styles.noteCell, styles.noteCellSelected]; - } else { - return styles.noteCell; - } - } - aggregateStyles(base, addition, condition) { if(condition) { return [base, addition]; @@ -150,7 +142,7 @@ export default class NoteCell extends ThemedPureComponent { flagElement = (flag) => { let bgColor = flag.color; let textColor = StyleKit.variables.stylekitInfoContrastColor; - if(this.state.selected) { + if(this.state.selected || this.props.highlighted) { bgColor = StyleKit.variables.stylekitInfoContrastColor; textColor = flag.color } @@ -180,9 +172,12 @@ export default class NoteCell extends ThemedPureComponent { var note = this.props.item; let showPreview = !this.state.options.hidePreviews && !note.content.protected && !note.content.hidePreview; let flags = this.getFlags(note); + + let highlight = this.state.selected || this.props.highlighted; + return ( - + {note.deleted && Deleting... @@ -205,26 +200,26 @@ export default class NoteCell extends ThemedPureComponent { {"Password Required."} - + {"Please sign in to restore your decryption keys and notes."} } {note.safeTitle().length > 0 && - + {note.title} } {(note.content.preview_plain != null && showPreview) && - + {note.content.preview_plain} } {(!note.content.preview_plain && showPreview && note.safeText().length > 0) && - + {note.text} } @@ -232,14 +227,14 @@ export default class NoteCell extends ThemedPureComponent { {!this.state.options.hideDates && + style={this.aggregateStyles(this.styles.noteDate, this.styles.noteDateSelected, highlight)}> {this.props.sortType == "client_updated_at" ? "Modified " + note.updatedAtString() : note.createdAtString()} } {this.props.renderTags && !this.state.options.hideTags && note.tags.length > 0 && - + {this.props.tagsString} diff --git a/src/screens/Notes/NoteList.js b/src/screens/Notes/NoteList.js index b8dacb39..4be9f0f0 100644 --- a/src/screens/Notes/NoteList.js +++ b/src/screens/Notes/NoteList.js @@ -50,6 +50,7 @@ export default class NoteList extends ThemedComponent { sortType={this.props.sortType} renderTags={renderTags} options={this.props.options} + highlighted={item.uuid == this.props.selectedNoteId} pinned={item.pinned /* extraData */} deleted={item.deleted /* extraData */} diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 7b28fa7e..e81a2469 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -265,6 +265,10 @@ export default class Notes extends Abstract { } else { this.presentComposer(note); } + + if(ApplicationState.get().isTablet) { + this.setState({selectedNoteId: note && note.uuid}); + } }); } @@ -317,6 +321,7 @@ export default class Notes extends Abstract { loading={this.state.loading} selectedTags={this.state.tags} options={this.options.displayOptions} + selectedNoteId={this.state.selectedNoteId} /> } From fb9f2bbe07fb8df8f5d721c60a4b0aa6538c6a08 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 13 Jan 2019 15:42:47 -0600 Subject: [PATCH 085/131] Close right side menu after deletion --- src/screens/Compose.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/screens/Compose.js b/src/screens/Compose.js index f62c41f0..ac1b9db9 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -70,6 +70,7 @@ export default class Compose extends Abstract { } if(clearNote) { + this.props.navigation.closeRightDrawer(); this.setNote(null); } } else if(data.retrievedItems && this.note.uuid && data.retrievedItems.concat(data.savedItems).map((i) => i.uuid).includes(this.note.uuid)) { From 76d31e95e6773b0fb21f8203f58eba13924e3158 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 14 Jan 2019 11:51:53 -0600 Subject: [PATCH 086/131] Misc fixes --- src/screens/Root.js | 2 +- src/screens/SideMenu/MainSideMenu.js | 2 +- src/screens/SideMenu/NoteSideMenu.js | 1 + src/screens/SideMenu/SideMenuCell.js | 1 + src/style/StyleKit.js | 1 + 5 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/screens/Root.js b/src/screens/Root.js index 7f6c7960..30a8b857 100644 --- a/src/screens/Root.js +++ b/src/screens/Root.js @@ -164,7 +164,7 @@ export default class Root extends Abstract { if(!this.dataLoaded) { this.dataLoaded = true; } - this.notesRef.root_onIncrementalSync(); + this.notesRef && this.notesRef.root_onIncrementalSync(); } let loadLocalCompletion = (items) => { diff --git a/src/screens/SideMenu/MainSideMenu.js b/src/screens/SideMenu/MainSideMenu.js index 84388e54..fdafb5c2 100644 --- a/src/screens/SideMenu/MainSideMenu.js +++ b/src/screens/SideMenu/MainSideMenu.js @@ -1,5 +1,5 @@ import React, { Component, Fragment } from 'react'; -import { ScrollView, View, Text, FlatList } from 'react-native'; +import { ScrollView, View, Text, FlatList, Linking } from 'react-native'; import { SafeAreaView } from 'react-navigation'; import Icon from 'react-native-vector-icons/Ionicons'; diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 0a667794..f34adac6 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -216,6 +216,7 @@ export default class NoteSideMenu extends AbstractSideMenu { buildOptionsForEditors() { let editors = ComponentManager.get().getEditors().sort((a, b) => { + if(!a.name || !b.name) { return -1; } return a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1; }); let selectedEditor = ComponentManager.get().editorForNote(this.note); diff --git a/src/screens/SideMenu/SideMenuCell.js b/src/screens/SideMenu/SideMenuCell.js index df79cde5..abaae9d6 100644 --- a/src/screens/SideMenu/SideMenuCell.js +++ b/src/screens/SideMenu/SideMenuCell.js @@ -143,6 +143,7 @@ export default class SideMenuCell extends ThemedComponent { color: StyleKit.variables.stylekitContrastForegroundColor, fontWeight: 'bold', fontSize: 15, + fontFamily: "", // https://github.com/facebook/react-native/issues/15114#issuecomment-364458149 }, iconGraphic: { diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 1e2d51ae..598487b5 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -205,6 +205,7 @@ export default class StyleKit { themes() { let themes = ModelManager.get().themes.sort((a, b) => { + if(!a.name || !b.name) { return -1; } return a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1; }); return this.systemThemes.concat(themes); From eaef0e0d1c2877a6eb72b8cb6b68caaa8078d4a0 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 14 Jan 2019 12:59:20 -0600 Subject: [PATCH 087/131] Split layout fixes --- src/screens/Notes/Notes.js | 10 +++++--- src/screens/Root.js | 31 ++++++++++++++++++++---- src/screens/SideMenu/SideMenuCell.js | 3 ++- src/screens/SideMenu/TagSelectionList.js | 18 +++++++------- 4 files changed, 43 insertions(+), 19 deletions(-) diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index e81a2469..125b59a9 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -191,10 +191,12 @@ export default class Notes extends Abstract { } var tags = ModelManager.get().getTagsWithIds(this.options.selectedTagIds); - // There always has to be a selected tag/view - var tag = tags[0]; - notesTitle = tag.title; - this.setTitle(notesTitle); + // Tags might not be completely loaded yet, as reloadHeaderBar can be called from incrementalSync + if(tags.length > 0) { + var tag = tags[0]; + notesTitle = tag.title; + this.setTitle(notesTitle); + } } setSideMenuHandler() { diff --git a/src/screens/Root.js b/src/screens/Root.js index 30a8b857..9d2ac6ee 100644 --- a/src/screens/Root.js +++ b/src/screens/Root.js @@ -226,13 +226,35 @@ export default class Root extends Abstract { this.setState({selectedTagId: this.notesRef.options.selectedTagIds.length && this.notesRef.options.selectedTagIds[0]}); } + onLayout = (e) => { + let width = e.nativeEvent.layout.width; + let shouldSplitLayout = ApplicationState.get().isTablet; + + /* + If you're in tablet mode, but on an iPad where this app is running side by side by another app, + we only want to show the Compose window and not the list, because there isn't enough space. + */ + const MinWidthToSplit = 450; + if(ApplicationState.get().isTablet && width < MinWidthToSplit) { + shouldSplitLayout = false; + } + + this.setState({ + width: width, + height: e.nativeEvent.layout.height, + x: e.nativeEvent.layout.x, + y: e.nativeEvent.layout.y, + shouldSplitLayout: shouldSplitLayout + }); + } + render() { /* Don't render LockedView here since we need this.notesRef as soon as we can (for componentWillFocus callback) */ let isTablet = ApplicationState.get().isTablet; return ( - + {!isTablet && {this.notesRef = ref}} @@ -242,7 +264,7 @@ export default class Root extends Abstract { {isTablet && - + {this.notesRef = ref}} navigation={this.props.navigation} @@ -250,7 +272,7 @@ export default class Root extends Abstract { /> - + {this.composer = ref}} selectedTagId={this.state.selectedTagId} @@ -271,12 +293,11 @@ export default class Root extends Abstract { flexDirection: "row" }, left: { - width: "34%", borderRightColor: StyleKit.variables.stylekitBorderColor, borderRightWidth: 1 }, right: { - width: "66%" + } } } diff --git a/src/screens/SideMenu/SideMenuCell.js b/src/screens/SideMenu/SideMenuCell.js index abaae9d6..05ac7caa 100644 --- a/src/screens/SideMenu/SideMenuCell.js +++ b/src/screens/SideMenu/SideMenuCell.js @@ -2,6 +2,7 @@ import React, { Component } from 'react'; import { ScrollView, View, Text, TouchableOpacity } from 'react-native'; import Icon from 'react-native-vector-icons/Ionicons'; import ThemedComponent from "@Components/ThemedComponent"; +import ApplicationState from "@Lib/ApplicationState" import StyleKit from "@Style/StyleKit" import Circle from "@Components/Circle" @@ -143,7 +144,7 @@ export default class SideMenuCell extends ThemedComponent { color: StyleKit.variables.stylekitContrastForegroundColor, fontWeight: 'bold', fontSize: 15, - fontFamily: "", // https://github.com/facebook/react-native/issues/15114#issuecomment-364458149 + fontFamily: ApplicationState.isAndroid ? 'Roboto' : null, // https://github.com/facebook/react-native/issues/15114#issuecomment-364458149 }, iconGraphic: { diff --git a/src/screens/SideMenu/TagSelectionList.js b/src/screens/SideMenu/TagSelectionList.js index 196f7dd3..19295f1a 100644 --- a/src/screens/SideMenu/TagSelectionList.js +++ b/src/screens/SideMenu/TagSelectionList.js @@ -45,22 +45,22 @@ class TagSelectionList extends ThemedComponent { } }); + this.syncObserverId = `${Math.random()}`; + + ModelManager.get().addItemSyncObserver(this.syncObserverId, this.props.contentType, () => { + console.log("Reloading tags list", this.props.contentType); + this.reload(); + }) + this.syncEventHandler = Sync.get().addEventHandler((event, data) => { if(event == "local-data-loaded") { handleInitialDataLoad(); } - - else if(event == "sync:completed") { - let inRetrieved = data.retrievedItems && _.find(data.retrievedItems, {content_type: this.props.contentType}); - let inSaved = data.savedItems && _.find(data.savedItems, {content_type: this.props.contentType}); - if(inRetrieved || inSaved) { - this.reload(); - } - } }) } componentWillUnmount() { + ModelManager.get().removeItemSyncObserver(this.syncObserverId); Sync.get().removeEventHandler(this.syncEventHandler); Auth.get().removeEventHandler(this.signoutObserver); } @@ -87,7 +87,7 @@ class TagSelectionList extends ThemedComponent { if(tag.content.isSystemTag) { return; } - + let sheet = new ActionSheetWrapper({ title: tag.title, options: [ From 997b4a2c1cbf11b90423974f2b1fbe20e89a037e Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 14 Jan 2019 13:18:36 -0600 Subject: [PATCH 088/131] Update SFJS 0.3.32 --- package-lock.json | 180 ++++++++++++++++---------------- package.json | 2 +- src/style/ActionSheetWrapper.js | 2 - 3 files changed, 91 insertions(+), 93 deletions(-) diff --git a/package-lock.json b/package-lock.json index 34d3b70c..5809a98d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1185,7 +1185,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1193,9 +1193,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -4064,7 +4064,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } } } @@ -5592,7 +5592,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -5664,7 +5664,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5673,9 +5673,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "jest-cli": { @@ -5728,7 +5728,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -5785,7 +5785,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5794,9 +5794,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -5844,7 +5844,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5853,9 +5853,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -6020,7 +6020,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6029,9 +6029,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -6114,7 +6114,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6123,9 +6123,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -6168,7 +6168,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6177,9 +6177,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -6222,7 +6222,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6231,9 +6231,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -6331,7 +6331,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6340,9 +6340,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "strip-bom": { @@ -6366,9 +6366,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } } } @@ -6408,7 +6408,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6417,9 +6417,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -6465,7 +6465,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6474,9 +6474,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "source-map": { @@ -6520,7 +6520,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6529,9 +6529,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -10528,9 +10528,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -10538,9 +10538,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -10550,7 +10550,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "is-fullwidth-code-point": { @@ -10558,7 +10558,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "load-json-file": { @@ -10566,10 +10566,10 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "path-type": { @@ -10577,7 +10577,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -10585,9 +10585,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -10595,8 +10595,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "strip-bom": { @@ -10609,19 +10609,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.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.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "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" } }, "yargs-parser": { @@ -10629,7 +10629,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -10894,7 +10894,7 @@ "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } @@ -11746,9 +11746,9 @@ "integrity": "sha1-ATl5IuX2Ls8whFUiyVxP4dJefU4=" }, "standard-file-js": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.31.tgz", - "integrity": "sha512-flbgmQWrLJQ2TAv+RZkVG23akePixAqekAvG8yNEyueR5E/Fdtgm2LFEbg2sFf+ko/qR0vqWgq95cgUdTejRQA==" + "version": "0.3.32", + "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.32.tgz", + "integrity": "sha512-1QP7IJ3MJC+5av9bXVy1IIxBnZy2PzcEW+b835XRC2N4bEEIPWMnabozlPLhErBe/Ey1mxvwltsG39mGGST2tA==" }, "static-extend": { "version": "0.1.2", diff --git a/package.json b/package.json index 2b9cd0e4..8d9b7f10 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "react-navigation-header-buttons": "^2.1.1", "regenerator": "^0.13.3", "sn-models": "0.1.12", - "standard-file-js": "0.3.31" + "standard-file-js": "0.3.32" }, "devDependencies": { "babel-jest": "^23.6.0", diff --git a/src/style/ActionSheetWrapper.js b/src/style/ActionSheetWrapper.js index 9bb5d798..d4f95719 100644 --- a/src/style/ActionSheetWrapper.js +++ b/src/style/ActionSheetWrapper.js @@ -31,8 +31,6 @@ export default class ActionSheetWrapper { } handleActionSheetPress = (index) => { - console.log("handleActionSheetPress", index); - let option = this.options[index]; option.callback && option.callback(option); } From 08212e2249aa379473639b4bd497785e8f1fec42 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 14 Jan 2019 18:23:41 -0600 Subject: [PATCH 089/131] Beta 2 --- android/app/build.gradle | 4 +- ios/StandardNotes.xcodeproj/project.pbxproj | 32 +- ios/StandardNotes/Info.plist | 62 +- package-lock.json | 5274 +++++++++---------- 4 files changed, 2694 insertions(+), 2678 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 0b059e29..e7af938d 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -102,8 +102,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 2031000 - versionName "2.3.10" + versionCode 3000002 + versionName "3.0.0-beta2" multiDexEnabled true diff --git a/ios/StandardNotes.xcodeproj/project.pbxproj b/ios/StandardNotes.xcodeproj/project.pbxproj index bcb6d4aa..06ad1217 100644 --- a/ios/StandardNotes.xcodeproj/project.pbxproj +++ b/ios/StandardNotes.xcodeproj/project.pbxproj @@ -5,6 +5,7 @@ }; objectVersion = 46; objects = { + /* Begin PBXBuildFile section */ 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; @@ -35,15 +36,19 @@ 2D02E4C91E0B4AEC006451C7 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; }; 2DCD954D1E0B4F2C00145EB5 /* StandardNotesTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* StandardNotesTests.m */; }; 300BF5D7132F46BCAB353149 /* libRNGestureHandler.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 04047F33889C425483EB8244 /* libRNGestureHandler.a */; }; + 3B66E39D04514331AF08A4D1 /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 074A7613CE8C41BAB3C4193E /* FontAwesome5_Solid.ttf */; }; 40F325481D4F4F04AC15D0A9 /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 48127930FB1344778C168838 /* libRNVectorIcons.a */; }; + 5A8928DC2824482A99763067 /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EF2E9E34ADA441EDB4CE8370 /* FontAwesome5_Regular.ttf */; }; 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; 6C1915C4DE9040A9BB17CFBB /* libRNStoreReview.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADB6F6B9BC7144FCB2C08D40 /* libRNStoreReview.a */; }; 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; + 840E2D03A7CE4291AA2D3383 /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 131C577CAE5F4B7D8CFF1197 /* AntDesign.ttf */; }; 965031D980094619B7DBA0FD /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1F569402A90047A59845394A /* Ionicons.ttf */; }; 9A2C235D0ABA4B0CB9A428CA /* libRNKeychain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDCF33ADCFE845D588CC4E66 /* libRNKeychain.a */; }; 9E1F5D0FE7C441D685DAEEAA /* libRNFileViewer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 37A42F4068AE42DD8D2DF182 /* libRNFileViewer.a */; }; ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; C00E89E3E7F949A4AA0F613E /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F30913DACE34E71895FBF91 /* libz.tbd */; }; + C8B404E3920D47309C9C2715 /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A496722EFEC343B481330DA7 /* FontAwesome5_Brands.ttf */; }; CD17667C1F795DC100165C83 /* libSNTextView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1766781F795AE500165C83 /* libSNTextView.a */; }; CD399CD021E16BD6006106AE /* libReactNativeAlternateIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CD399CC521E16BCC006106AE /* libReactNativeAlternateIcons.a */; }; CD399CE321E181C7006106AE /* Red.png in Resources */ = {isa = PBXBuildFile; fileRef = CD399CE021E181C6006106AE /* Red.png */; }; @@ -53,10 +58,6 @@ CDB58A211F6C51A4009EF868 /* libReactNativeFingerprintScanner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDB58A0F1F6C5174009EF868 /* libReactNativeFingerprintScanner.a */; }; CDB58A221F6C5235009EF868 /* libRCTAes.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDB58A091F6C516B009EF868 /* libRCTAes.a */; }; F0D84FDB75374348BC0017C2 /* libBugsnagReactNative.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EFD3F9197A5F41C0904D7E60 /* libBugsnagReactNative.a */; }; - 840E2D03A7CE4291AA2D3383 /* AntDesign.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 131C577CAE5F4B7D8CFF1197 /* AntDesign.ttf */; }; - C8B404E3920D47309C9C2715 /* FontAwesome5_Brands.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A496722EFEC343B481330DA7 /* FontAwesome5_Brands.ttf */; }; - 5A8928DC2824482A99763067 /* FontAwesome5_Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EF2E9E34ADA441EDB4CE8370 /* FontAwesome5_Regular.ttf */; }; - 3B66E39D04514331AF08A4D1 /* FontAwesome5_Solid.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 074A7613CE8C41BAB3C4193E /* FontAwesome5_Solid.ttf */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -312,6 +313,13 @@ remoteGlobalIDString = 134814201AA4EA6300B7C361; remoteInfo = ReactNativeAlternateIcons; }; + CD47B6BD21EBF1D400BF26EF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 54ED130E749A46A3B15B27F2 /* RNVectorIcons.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = A39873CE1EA65EE60051E01A; + remoteInfo = "RNVectorIcons-tvOS"; + }; CD4D91841F7BE11800080678 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 5C13FDBBDDEE4F1285F88B41 /* RNStoreReview.xcodeproj */; @@ -452,9 +460,11 @@ 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 00E356F21AD99517003FC87E /* StandardNotesTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StandardNotesTests.m; sourceTree = ""; }; 04047F33889C425483EB8244 /* libRNGestureHandler.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNGestureHandler.a; sourceTree = ""; }; + 074A7613CE8C41BAB3C4193E /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Solid.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf"; sourceTree = ""; }; 0752A2CAF82B4C9198CAC803 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = SimpleLineIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = ""; }; 0BA1C89777414706A3F02AC6 /* RNKeychain.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNKeychain.xcodeproj; path = "../node_modules/react-native-keychain/RNKeychain.xcodeproj"; sourceTree = ""; }; 12E89137A7104D91898C2734 /* FontAwesome.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf"; sourceTree = ""; }; + 131C577CAE5F4B7D8CFF1197 /* AntDesign.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = AntDesign.ttf; path = "../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf"; sourceTree = ""; }; 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; }; 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* StandardNotes.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StandardNotes.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -485,6 +495,7 @@ 737AF67874434967865855D8 /* BugsnagReactNative.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = BugsnagReactNative.xcodeproj; path = "../node_modules/bugsnag-react-native/cocoa/BugsnagReactNative.xcodeproj"; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; + A496722EFEC343B481330DA7 /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Brands.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf"; sourceTree = ""; }; ADB6F6B9BC7144FCB2C08D40 /* libRNStoreReview.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNStoreReview.a; sourceTree = ""; }; ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; B5409EE82FED4DA9B57CA746 /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = ""; }; @@ -500,11 +511,8 @@ CDCF33ADCFE845D588CC4E66 /* libRNKeychain.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNKeychain.a; sourceTree = ""; }; CEB6B877AE784055A8E294A8 /* libRNFS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNFS.a; sourceTree = ""; }; D38724A93AC141D6B51D1356 /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = ""; }; + EF2E9E34ADA441EDB4CE8370 /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = FontAwesome5_Regular.ttf; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf"; sourceTree = ""; }; EFD3F9197A5F41C0904D7E60 /* libBugsnagReactNative.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libBugsnagReactNative.a; sourceTree = ""; }; - 131C577CAE5F4B7D8CFF1197 /* AntDesign.ttf */ = {isa = PBXFileReference; name = "AntDesign.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; - A496722EFEC343B481330DA7 /* FontAwesome5_Brands.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Brands.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; - EF2E9E34ADA441EDB4CE8370 /* FontAwesome5_Regular.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Regular.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; - 074A7613CE8C41BAB3C4193E /* FontAwesome5_Solid.ttf */ = {isa = PBXFileReference; name = "FontAwesome5_Solid.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -879,6 +887,7 @@ isa = PBXGroup; children = ( CDB58A681F6C5294009EF868 /* libRNVectorIcons.a */, + CD47B6BE21EBF1D400BF26EF /* libRNVectorIcons-tvOS.a */, ); name = Products; sourceTree = ""; @@ -1400,6 +1409,13 @@ remoteRef = CD399CC421E16BCC006106AE /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + CD47B6BE21EBF1D400BF26EF /* libRNVectorIcons-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRNVectorIcons-tvOS.a"; + remoteRef = CD47B6BD21EBF1D400BF26EF /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; CD4D91851F7BE11800080678 /* libRNStoreReview.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; diff --git a/ios/StandardNotes/Info.plist b/ios/StandardNotes/Info.plist index 549a8c7b..d5a7ebb8 100644 --- a/ios/StandardNotes/Info.plist +++ b/ios/StandardNotes/Info.plist @@ -10,35 +10,8 @@ S. Notes CFBundleExecutable $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 2.3.10 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSRequiresIPhoneOS - - supportsAlternateIcons - CFBundleIcons - CFBundlePrimaryIcon - - CFBundleIconFiles - - Blue - - UIPrerenderedIcon - - CFBundleAlternateIcons Red @@ -51,9 +24,6 @@ - - CFBundleIcons~ipad - CFBundlePrimaryIcon CFBundleIconFiles @@ -63,6 +33,9 @@ UIPrerenderedIcon + + CFBundleIcons~ipad + CFBundleAlternateIcons Red @@ -75,7 +48,32 @@ + CFBundlePrimaryIcon + + CFBundleIconFiles + + Blue + + UIPrerenderedIcon + + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 3.0.0 + CFBundleSignature + ???? + CFBundleVersion + 2 + LSRequiresIPhoneOS + NSAppTransportSecurity NSExceptionDomains @@ -90,7 +88,7 @@ NSFaceIDUsageDescription Face ID is required to unlock your notes. NSLocationWhenInUseUsageDescription - + UIAppFonts Entypo.ttf @@ -130,5 +128,7 @@ UIViewControllerBasedStatusBarAppearance + supportsAlternateIcons + diff --git a/package-lock.json b/package-lock.json index 5809a98d..07b5d982 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/core": { @@ -17,20 +17,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.2.2", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.2.2", - "@babel/types": "^7.2.2", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.11", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -38,7 +38,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "json5": { @@ -46,7 +46,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "^1.2.0" + "minimist": "1.2.0" } }, "ms": { @@ -61,11 +61,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -80,7 +80,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -88,8 +88,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", "requires": { - "@babel/helper-explode-assignable-expression": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-explode-assignable-expression": "7.1.0", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/types": { @@ -97,9 +97,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -114,8 +114,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz", "integrity": "sha512-ebJ2JM6NAKW0fQEqN8hOLxK84RbRz9OkUhGS/Xd5u56ejMfVbayJ4+LykERZCOUM6faa6Fp3SZNX3fcT16MKHw==", "requires": { - "@babel/types": "^7.0.0", - "esutils": "^2.0.0" + "@babel/types": "7.2.2", + "esutils": "2.0.2" }, "dependencies": { "@babel/types": { @@ -123,9 +123,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -140,9 +140,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", "requires": { - "@babel/helper-hoist-variables": "^7.0.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-hoist-variables": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/code-frame": { @@ -150,7 +150,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -158,11 +158,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -170,9 +170,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -180,7 +180,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -188,7 +188,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -196,9 +196,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -211,9 +211,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -221,15 +221,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -237,9 +237,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -247,7 +247,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -255,9 +255,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -265,7 +265,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -288,7 +288,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -303,11 +303,11 @@ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.3.tgz", "integrity": "sha512-xO/3Gn+2C7/eOUeb0VRnSP1+yvWHNxlpAot1eMhtoKDCN7POsyQP5excuT5UsV5daHxMWBeIIOeI5cmB8vMRgQ==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.2.3" + "@babel/helper-function-name": "7.1.0", + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-replace-supers": "7.2.3" }, "dependencies": { "@babel/code-frame": { @@ -315,7 +315,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -323,11 +323,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -335,9 +335,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -345,7 +345,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -353,7 +353,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -361,7 +361,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -374,10 +374,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -385,7 +385,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -393,9 +393,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -408,9 +408,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -418,15 +418,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -434,9 +434,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -444,7 +444,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -452,9 +452,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -462,7 +462,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -485,7 +485,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -500,9 +500,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.11" } }, "@babel/helper-explode-assignable-expression": { @@ -510,8 +510,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", "requires": { - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/code-frame": { @@ -519,7 +519,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -527,11 +527,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -539,9 +539,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -549,7 +549,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -557,7 +557,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -565,9 +565,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -580,9 +580,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -590,15 +590,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -606,9 +606,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -616,7 +616,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -624,9 +624,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -634,7 +634,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -657,7 +657,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -672,9 +672,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -682,7 +682,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-hoist-variables": { @@ -690,7 +690,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" }, "dependencies": { "@babel/types": { @@ -698,9 +698,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -715,7 +715,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-module-imports": { @@ -723,7 +723,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" }, "dependencies": { "@babel/types": { @@ -731,9 +731,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -748,12 +748,12 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/template": "^7.2.2", - "@babel/types": "^7.2.2", - "lodash": "^4.17.10" + "@babel/helper-module-imports": "7.0.0", + "@babel/helper-simple-access": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2", + "lodash": "4.17.11" }, "dependencies": { "@babel/code-frame": { @@ -761,7 +761,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -769,7 +769,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -777,9 +777,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -792,9 +792,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/types": { @@ -802,9 +802,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -812,7 +812,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -820,9 +820,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -830,7 +830,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -845,7 +845,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -858,7 +858,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.11" } }, "@babel/helper-remap-async-to-generator": { @@ -866,11 +866,11 @@ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", "requires": { - "@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-annotate-as-pure": "7.0.0", + "@babel/helper-wrap-function": "7.2.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/code-frame": { @@ -878,7 +878,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -886,11 +886,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -898,7 +898,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-function-name": { @@ -906,9 +906,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -916,7 +916,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -924,7 +924,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-wrap-function": { @@ -932,10 +932,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" + "@babel/helper-function-name": "7.1.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -943,9 +943,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -958,9 +958,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -968,15 +968,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -984,9 +984,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -994,7 +994,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1002,9 +1002,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -1012,7 +1012,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -1035,7 +1035,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -1050,10 +1050,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-simple-access": { @@ -1061,8 +1061,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", "requires": { - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/code-frame": { @@ -1070,7 +1070,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/highlight": { @@ -1078,9 +1078,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -1093,9 +1093,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/types": { @@ -1103,9 +1103,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -1113,7 +1113,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1121,9 +1121,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -1131,7 +1131,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -1146,7 +1146,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-wrap-function": { @@ -1154,10 +1154,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" + "@babel/helper-function-name": "7.1.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helpers": { @@ -1165,9 +1165,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.2.0" + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -1175,9 +1175,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" }, "dependencies": { "ansi-styles": { @@ -1185,7 +1185,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1193,9 +1193,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -1203,7 +1203,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -1218,7 +1218,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.2.0.tgz", "integrity": "sha512-QFmtcCShFkyAsNtdCM3lJPmRe1iB+vPZymlB4LnDIKEBj2yKQLQKtoxXxJ8ePT5fwMl4QGg303p4mB0UsSI2/g==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1233,8 +1233,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.3.tgz", "integrity": "sha512-FVuQngLoN2iDrpW7LmhPZ2sO4DJxf35FOcwidwB9Ru9tMvI5URthnkVHuG14IStV+TzkMTyLMoOUlSTtrdVwqw==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.2.3", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-create-class-features-plugin": "7.2.3", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1249,8 +1249,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz", "integrity": "sha512-NVfNe7F6nsasG1FnvcFxh2FN0l04ZNe75qTOAVOILWPam0tw9a63RtT/Dab8dPjedZa4fTQaQ83yMMywF9OSug==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-export-default-from": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1265,9 +1265,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.2.0.tgz", "integrity": "sha512-qQBDKRSCu1wGJi3jbngs18vrujVQA4F+OkSuIQYRhE6y19jcPzeEIGOc683mCQXDUR3BQCz8JyCupIwv+IRFmA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-wrap-function": "^7.2.0", - "@babel/plugin-syntax-function-sent": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-wrap-function": "7.2.0", + "@babel/plugin-syntax-function-sent": "7.2.0" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { @@ -1275,8 +1275,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.2.0.tgz", "integrity": "sha512-QXj/YjFuFJd68oDvoc1e8aqLr2wz7Kofzvp6Ekd/o7MWZl+nZ0/cpStxND+hlZ7DpRWAp7OmuyT2areZ2V3YUA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1291,8 +1291,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz", "integrity": "sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-object-rest-spread": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1307,8 +1307,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1323,8 +1323,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz", "integrity": "sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-optional-chaining": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1339,7 +1339,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-syntax-class-properties": { @@ -1347,7 +1347,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz", "integrity": "sha512-UxYaGXYQ7rrKJS/PxIKRkv3exi05oH7rokBAsmCSsCxz1sVPZ7Fu6FzKoGgUvmY+0YgSkYHgUoCh5R5bCNBQlw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1362,7 +1362,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1377,7 +1377,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz", "integrity": "sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1392,7 +1392,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1407,7 +1407,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz", "integrity": "sha512-2MOVuJ6IMAifp2cf0RFkHQaOvHpbBYyWCvgtF/WVqXhTd7Bgtov8iXVCadLXp2FN1BrI2EFl+JXuwXy0qr3KoQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-syntax-jsx": { @@ -1415,7 +1415,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1430,7 +1430,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz", "integrity": "sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1445,7 +1445,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1460,7 +1460,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1475,7 +1475,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz", "integrity": "sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1490,7 +1490,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.2.0.tgz", "integrity": "sha512-WhKr6yu6yGpGcNMVgIBuI9MkredpVc7Y3YR4UzEZmDztHoL6wV56YBHLhWnjO1EvId1B32HrD3DRFc+zSoKI1g==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1505,7 +1505,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-async-to-generator": { @@ -1513,9 +1513,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0" + "@babel/helper-module-imports": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-remap-async-to-generator": "7.1.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1530,7 +1530,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1545,8 +1545,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -1554,14 +1554,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@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.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" }, "dependencies": { "globals": { @@ -1576,7 +1576,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1591,7 +1591,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz", "integrity": "sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1606,8 +1606,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "7.1.0", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1622,8 +1622,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz", "integrity": "sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-flow": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1638,7 +1638,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-function-name": { @@ -1646,8 +1646,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-function-name": "7.1.0", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -1655,7 +1655,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/helper-function-name": { @@ -1663,9 +1663,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -1673,7 +1673,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -1686,9 +1686,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -1701,9 +1701,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/types": { @@ -1711,9 +1711,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -1721,7 +1721,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1729,9 +1729,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -1739,7 +1739,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -1754,7 +1754,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1769,7 +1769,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1784,9 +1784,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0" + "@babel/helper-module-transforms": "7.2.2", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-simple-access": "7.1.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1801,7 +1801,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz", "integrity": "sha512-nmE55cZBPFgUktbF2OuoZgPRadfxosLOpSgzEPYotKSls9J4pEPcembi8r78RU37Rph6UApCpNmsQA4QMWK9Ng==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1816,8 +1816,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.1.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-replace-supers": "7.2.3" }, "dependencies": { "@babel/code-frame": { @@ -1825,7 +1825,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -1833,11 +1833,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -1845,9 +1845,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -1855,7 +1855,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -1863,7 +1863,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -1871,7 +1871,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -1884,10 +1884,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -1895,7 +1895,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -1903,9 +1903,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -1918,9 +1918,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -1928,15 +1928,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -1944,9 +1944,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -1954,7 +1954,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1962,9 +1962,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -1972,7 +1972,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -1995,7 +1995,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -2010,9 +2010,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==", "requires": { - "@babel/helper-call-delegate": "^7.1.0", - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-call-delegate": "7.1.0", + "@babel/helper-get-function-arity": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-get-function-arity": { @@ -2020,7 +2020,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -2033,9 +2033,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -2050,7 +2050,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2065,7 +2065,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2080,9 +2080,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.2.0.tgz", "integrity": "sha512-h/fZRel5wAfCqcKgq3OhbmYaReo7KkoJBpt8XnvpS7wqaNMqtw5xhxutzcm35iMUWucfAdT/nvGTsWln0JTg2Q==", "requires": { - "@babel/helper-builder-react-jsx": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" + "@babel/helper-builder-react-jsx": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-jsx": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2097,8 +2097,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz", "integrity": "sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-jsx": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2113,7 +2113,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", "requires": { - "regenerator-transform": "^0.13.3" + "regenerator-transform": "0.13.3" } }, "@babel/plugin-transform-runtime": { @@ -2121,10 +2121,10 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz", "integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==", "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "resolve": "^1.8.1", - "semver": "^5.5.1" + "@babel/helper-module-imports": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "resolve": "1.8.1", + "semver": "5.6.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2144,7 +2144,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2159,7 +2159,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2174,8 +2174,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-regex": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2190,8 +2190,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-annotate-as-pure": { @@ -2199,7 +2199,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -2212,9 +2212,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -2229,8 +2229,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.2.0.tgz", "integrity": "sha512-EnI7i2/gJ7ZNr2MuyvN2Hu+BHJENlxWte5XygPvfj/MbvtOkWor9zcnHpMMQL2YYaaCcqtIvJUyJ7QVfoGs7ew==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-typescript": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-typescript": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2245,9 +2245,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.1.3" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-regex": "7.0.0", + "regexpu-core": "4.4.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2262,13 +2262,13 @@ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.0.0.tgz", "integrity": "sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==", "requires": { - "core-js": "^2.5.7", - "find-cache-dir": "^1.0.0", - "home-or-tmp": "^3.0.0", - "lodash": "^4.17.10", - "mkdirp": "^0.5.1", - "pirates": "^4.0.0", - "source-map-support": "^0.5.9" + "core-js": "2.6.1", + "find-cache-dir": "1.0.0", + "home-or-tmp": "3.0.0", + "lodash": "4.17.11", + "mkdirp": "0.5.1", + "pirates": "4.0.0", + "source-map-support": "0.5.9" }, "dependencies": { "core-js": { @@ -2291,8 +2291,8 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.1", + "source-map": "0.6.1" } } } @@ -2302,7 +2302,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "requires": { - "regenerator-runtime": "^0.12.0" + "regenerator-runtime": "0.12.1" }, "dependencies": { "regenerator-runtime": { @@ -2317,9 +2317,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -2327,15 +2327,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" }, "dependencies": { "debug": { @@ -2343,7 +2343,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -2363,9 +2363,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" }, "dependencies": { "to-fast-properties": { @@ -2381,11 +2381,11 @@ "integrity": "sha512-E0ETZJUuJRHvjtb0f0U416NcDxt9T5HvRLxXu5K4DNxtmjpOfkT9Sh+Q309/zrCwSkHY85ZpGKvewZTSGI7Q1Q==", "requires": { "create-react-context": "0.2.2", - "hoist-non-react-statics": "^3.0.1", - "path-to-regexp": "^1.7.0", - "query-string": "^6.2.0", - "react-is": "^16.5.2", - "react-lifecycles-compat": "^3.0.4" + "hoist-non-react-statics": "3.2.1", + "path-to-regexp": "1.7.0", + "query-string": "6.2.0", + "react-is": "16.7.0", + "react-lifecycles-compat": "3.0.4" } }, "@react-navigation/native": { @@ -2393,10 +2393,10 @@ "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.0.3.tgz", "integrity": "sha512-1T3OnI6DpHPYvrb6OSMvdpcou0NAZKYBeOs66Uimy6oT5tkkj8jwaksAwuSCTIMxaRl1nROPd22yXYq6gBnUVA==", "requires": { - "hoist-non-react-statics": "^3.0.1", - "react-native-gesture-handler": "^1.0.0", - "react-native-safe-area-view": "^0.11.0", - "react-native-screens": "^1.0.0 || ^1.0.0-alpha" + "hoist-non-react-statics": "3.2.1", + "react-native-gesture-handler": "1.0.12", + "react-native-safe-area-view": "0.11.0", + "react-native-screens": "1.0.0-alpha.19" } }, "abab": { @@ -2421,8 +2421,8 @@ "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", "dev": true, "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" + "acorn": "6.0.4", + "acorn-walk": "6.1.1" }, "dependencies": { "acorn": { @@ -2445,10 +2445,10 @@ "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "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": { @@ -2461,7 +2461,7 @@ "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "requires": { - "ansi-wrap": "^0.1.0" + "ansi-wrap": "0.1.0" } }, "ansi-cyan": { @@ -2513,8 +2513,8 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "micromatch": "3.1.10", + "normalize-path": "2.1.1" }, "dependencies": { "arr-diff": { @@ -2532,16 +2532,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -2549,7 +2549,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2559,13 +2559,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -2573,7 +2573,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -2581,7 +2581,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -2589,7 +2589,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -2597,7 +2597,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2607,7 +2607,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -2615,7 +2615,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2625,9 +2625,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -2642,14 +2642,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -2657,7 +2657,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -2665,7 +2665,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2675,10 +2675,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -2686,7 +2686,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2696,7 +2696,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -2704,7 +2704,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -2712,9 +2712,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -2722,7 +2722,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -2730,7 +2730,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2750,19 +2750,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -2773,7 +2773,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "are-we-there-yet": { @@ -2781,8 +2781,8 @@ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "argparse": { @@ -2790,7 +2790,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "arr-diff": { @@ -2798,7 +2798,7 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "arr-flatten": { @@ -2864,7 +2864,7 @@ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "safer-buffer": "~2.1.0" + "safer-buffer": "2.1.2" } }, "assert-plus": { @@ -2894,7 +2894,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.11" } }, "async-limiter": { @@ -2931,9 +2931,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "js-tokens": { @@ -2950,25 +2950,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.11", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" } }, "babel-generator": { @@ -2977,14 +2977,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "babel-helpers": { @@ -2993,8 +2993,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-jest": { @@ -3003,8 +3003,8 @@ "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", "dev": true, "requires": { - "babel-plugin-istanbul": "^4.1.6", - "babel-preset-jest": "^23.2.0" + "babel-plugin-istanbul": "4.1.6", + "babel-preset-jest": "23.2.0" }, "dependencies": { "babel-plugin-jest-hoist": { @@ -3019,8 +3019,8 @@ "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^23.2.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0" + "babel-plugin-jest-hoist": "23.2.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0" } } } @@ -3031,7 +3031,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-istanbul": { @@ -3040,10 +3040,10 @@ "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", "dev": true, "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "find-up": "^2.1.0", - "istanbul-lib-instrument": "^1.10.1", - "test-exclude": "^4.2.1" + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "find-up": "2.1.0", + "istanbul-lib-instrument": "1.10.1", + "test-exclude": "4.2.1" }, "dependencies": { "find-up": { @@ -3052,7 +3052,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } } } @@ -3069,13 +3069,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.6.1", + "home-or-tmp": "2.0.0", + "lodash": "4.17.11", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" }, "dependencies": { "core-js": { @@ -3092,8 +3092,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" }, "dependencies": { "core-js": { @@ -3116,11 +3116,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.11" } }, "babel-traverse": { @@ -3129,15 +3129,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.11" } }, "babel-types": { @@ -3146,10 +3146,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -3168,13 +3168,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "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" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -3182,7 +3182,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -3190,7 +3190,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3198,7 +3198,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3206,9 +3206,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -3239,7 +3239,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "big-integer": { @@ -3252,7 +3252,7 @@ "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=", "requires": { - "stream-buffers": "~2.2.0" + "stream-buffers": "2.2.0" } }, "bplist-parser": { @@ -3260,7 +3260,7 @@ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", "requires": { - "big-integer": "^1.6.7" + "big-integer": "1.6.34" } }, "brace-expansion": { @@ -3268,7 +3268,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -3277,9 +3277,9 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "browser-process-hrtime": { @@ -3315,9 +3315,9 @@ "resolved": "https://registry.npmjs.org/bugsnag-react-native/-/bugsnag-react-native-2.12.6.tgz", "integrity": "sha512-KJR1Uab6m2WCEP+HudUxl6w1WalsxLwwKf5YRJHkW0m/LZ72mdEv9ipJ/mEAYbyKPv3bL0y855GnlB4lcQ+7XQ==", "requires": { - "iserror": "^0.0.2", - "promise": "^7", - "prop-types": "^15.6.0" + "iserror": "0.0.2", + "promise": "7.3.1", + "prop-types": "15.6.2" } }, "builtin-modules": { @@ -3330,15 +3330,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "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" + "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" }, "dependencies": { "isobject": { @@ -3353,7 +3353,7 @@ "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "requires": { - "callsites": "^2.0.0" + "callsites": "2.0.0" } }, "caller-path": { @@ -3361,7 +3361,7 @@ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "requires": { - "caller-callsite": "^2.0.0" + "caller-callsite": "2.0.0" } }, "callsites": { @@ -3379,7 +3379,7 @@ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", "requires": { - "rsvp": "^3.3.3" + "rsvp": "3.6.2" } }, "caseless": { @@ -3393,11 +3393,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "chardet": { @@ -3416,10 +3416,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -3427,7 +3427,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "isobject": { @@ -3442,7 +3442,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-width": { @@ -3456,9 +3456,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" }, "dependencies": { "ansi-regex": { @@ -3473,7 +3473,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3494,8 +3494,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { @@ -3522,7 +3522,7 @@ "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -3540,15 +3540,15 @@ "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", "requires": { - "commander": "^2.5.0", - "detective": "^4.3.1", - "glob": "^5.0.15", - "graceful-fs": "^4.1.2", - "iconv-lite": "^0.4.5", - "mkdirp": "^0.5.0", - "private": "^0.1.6", - "q": "^1.1.2", - "recast": "^0.11.17" + "commander": "2.17.1", + "detective": "4.7.1", + "glob": "5.0.15", + "graceful-fs": "4.1.11", + "iconv-lite": "0.4.23", + "mkdirp": "0.5.1", + "private": "0.1.8", + "q": "1.5.1", + "recast": "0.11.23" }, "dependencies": { "glob": { @@ -3556,11 +3556,11 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "recast": { @@ -3569,9 +3569,9 @@ "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", "requires": { "ast-types": "0.9.6", - "esprima": "~3.1.0", - "private": "~0.1.5", - "source-map": "~0.5.0" + "esprima": "3.1.3", + "private": "0.1.8", + "source-map": "0.5.7" } } } @@ -3586,7 +3586,7 @@ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": "1.35.0" } }, "concat-map": { @@ -3599,10 +3599,10 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "convert-source-map": { @@ -3630,10 +3630,10 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.9.0", - "parse-json": "^4.0.0" + "import-fresh": "2.0.0", + "is-directory": "0.3.1", + "js-yaml": "3.12.0", + "parse-json": "4.0.0" }, "dependencies": { "parse-json": { @@ -3641,8 +3641,8 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" } } } @@ -3652,9 +3652,9 @@ "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", "requires": { - "fbjs": "^0.8.9", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "fbjs": "0.8.17", + "loose-envify": "1.4.0", + "object-assign": "4.1.1" } }, "create-react-context": { @@ -3662,8 +3662,8 @@ "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz", "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==", "requires": { - "fbjs": "^0.8.0", - "gud": "^1.0.0" + "fbjs": "0.8.17", + "gud": "1.0.0" } }, "cross-spawn": { @@ -3671,9 +3671,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "cssom": { @@ -3688,7 +3688,7 @@ "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", "dev": true, "requires": { - "cssom": "0.3.x" + "cssom": "0.3.4" } }, "dashdash": { @@ -3697,7 +3697,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "data-urls": { @@ -3706,9 +3706,9 @@ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" + "abab": "2.0.0", + "whatwg-mimetype": "2.3.0", + "whatwg-url": "7.0.0" }, "dependencies": { "whatwg-url": { @@ -3717,9 +3717,9 @@ "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", "dev": true, "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" } } } @@ -3754,7 +3754,7 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-properties": { @@ -3763,7 +3763,7 @@ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "object-keys": "1.0.12" } }, "define-property": { @@ -3771,8 +3771,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -3780,7 +3780,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3788,7 +3788,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3796,9 +3796,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -3845,7 +3845,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "detect-newline": { @@ -3858,8 +3858,8 @@ "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "requires": { - "acorn": "^5.2.1", - "defined": "^1.0.0" + "acorn": "5.7.3", + "defined": "1.0.0" } }, "diff": { @@ -3879,7 +3879,7 @@ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "requires": { - "webidl-conversions": "^4.0.2" + "webidl-conversions": "4.0.2" } }, "ecc-jsbn": { @@ -3888,8 +3888,8 @@ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, "ee-first": { @@ -3907,7 +3907,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "~0.4.13" + "iconv-lite": "0.4.23" } }, "error-ex": { @@ -3915,7 +3915,7 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { @@ -3924,11 +3924,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.2.0", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.4", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -3937,9 +3937,9 @@ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "dev": true, "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.0.2" } }, "escape-html": { @@ -3958,11 +3958,11 @@ "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -4005,7 +4005,7 @@ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", "requires": { - "merge": "^1.2.0" + "merge": "1.2.0" } }, "execa": { @@ -4013,13 +4013,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "exit": { @@ -4033,7 +4033,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "expand-range": { @@ -4041,7 +4041,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" } }, "expect": { @@ -4050,12 +4050,12 @@ "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "jest-diff": "^23.6.0", - "jest-get-type": "^22.1.0", - "jest-matcher-utils": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-regex-util": "^23.3.0" + "ansi-styles": "3.2.1", + "jest-diff": "23.6.0", + "jest-get-type": "22.4.3", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0" }, "dependencies": { "ansi-styles": { @@ -4064,7 +4064,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } } } @@ -4080,8 +4080,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -4089,7 +4089,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -4099,9 +4099,9 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" } }, "extglob": { @@ -4109,7 +4109,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "extsprintf": { @@ -4123,9 +4123,9 @@ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", "requires": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "time-stamp": "^1.0.0" + "ansi-gray": "0.1.1", + "color-support": "1.1.3", + "time-stamp": "1.1.0" } }, "fast-deep-equal": { @@ -4151,7 +4151,7 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", "requires": { - "bser": "^2.0.0" + "bser": "2.0.0" }, "dependencies": { "bser": { @@ -4159,7 +4159,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "requires": { - "node-int64": "^0.4.0" + "node-int64": "0.4.0" } } } @@ -4169,13 +4169,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" } }, "fbjs-css-vars": { @@ -4188,7 +4188,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "filename-regex": { @@ -4202,8 +4202,8 @@ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" + "glob": "7.1.2", + "minimatch": "3.0.4" } }, "fill-range": { @@ -4211,11 +4211,11 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.1.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "find-cache-dir": { @@ -4223,9 +4223,9 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" } }, "find-up": { @@ -4234,8 +4234,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "for-in": { @@ -4248,7 +4248,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "forever-agent": { @@ -4263,9 +4263,9 @@ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "asynckit": "0.4.0", + "combined-stream": "1.0.7", + "mime-types": "2.1.21" }, "dependencies": { "mime-db": { @@ -4280,7 +4280,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.37.0" } } } @@ -4290,7 +4290,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fs-extra": { @@ -4298,9 +4298,9 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" } }, "fs.realpath": { @@ -4314,8 +4314,8 @@ "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" }, "dependencies": { "abbrev": { @@ -4341,8 +4341,8 @@ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { @@ -4355,7 +4355,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -4419,7 +4419,7 @@ "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "fs.realpath": { @@ -4434,14 +4434,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "optional": true, "requires": { - "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" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "glob": { @@ -4450,12 +4450,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "optional": true, "requires": { - "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" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -4470,7 +4470,7 @@ "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": "2.1.2" } }, "ignore-walk": { @@ -4479,7 +4479,7 @@ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "optional": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { @@ -4488,8 +4488,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -4508,7 +4508,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -4522,7 +4522,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -4535,8 +4535,8 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "minizlib": { @@ -4545,7 +4545,7 @@ "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "mkdirp": { @@ -4568,9 +4568,9 @@ "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "optional": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" } }, "node-pre-gyp": { @@ -4579,16 +4579,16 @@ "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "optional": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { @@ -4597,8 +4597,8 @@ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -4613,8 +4613,8 @@ "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { @@ -4623,10 +4623,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -4645,7 +4645,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -4666,8 +4666,8 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -4688,10 +4688,10 @@ "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "optional": true, "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -4708,13 +4708,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "optional": true, "requires": { - "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" + "core-util-is": "1.0.2", + "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.2" } }, "rimraf": { @@ -4723,7 +4723,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -4766,9 +4766,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -4777,7 +4777,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { @@ -4785,7 +4785,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -4800,13 +4800,13 @@ "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "optional": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -4821,7 +4821,7 @@ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { @@ -4847,11 +4847,11 @@ "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", "requires": { - "ansi": "^0.3.0", - "has-unicode": "^2.0.0", - "lodash.pad": "^4.1.0", - "lodash.padend": "^4.1.0", - "lodash.padstart": "^4.1.0" + "ansi": "0.3.1", + "has-unicode": "2.0.1", + "lodash.pad": "4.5.1", + "lodash.padend": "4.6.1", + "lodash.padstart": "4.6.1" } }, "get-caller-file": { @@ -4875,7 +4875,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -4883,12 +4883,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "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" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -4896,8 +4896,8 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" } }, "glob-parent": { @@ -4905,7 +4905,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "global": { @@ -4913,8 +4913,8 @@ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "requires": { - "min-document": "^2.19.0", - "process": "~0.5.1" + "min-document": "2.19.0", + "process": "0.5.2" } }, "globals": { @@ -4944,10 +4944,10 @@ "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", "dev": true, "requires": { - "async": "^2.5.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" + "async": "2.6.1", + "optimist": "0.6.1", + "source-map": "0.6.1", + "uglify-js": "3.4.9" }, "dependencies": { "source-map": { @@ -4963,8 +4963,8 @@ "dev": true, "optional": true, "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" + "commander": "2.17.1", + "source-map": "0.6.1" } } } @@ -4981,8 +4981,8 @@ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "ajv": "6.6.2", + "har-schema": "2.0.0" } }, "has": { @@ -4991,7 +4991,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "^1.1.1" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -4999,7 +4999,7 @@ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { @@ -5023,9 +5023,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -5040,8 +5040,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { @@ -5049,7 +5049,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -5057,7 +5057,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5067,7 +5067,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5077,7 +5077,7 @@ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", "requires": { - "react-is": "^16.3.2" + "react-is": "16.7.0" } }, "home-or-tmp": { @@ -5086,8 +5086,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "hosted-git-info": { @@ -5101,7 +5101,7 @@ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { - "whatwg-encoding": "^1.0.1" + "whatwg-encoding": "1.0.5" } }, "http-signature": { @@ -5110,9 +5110,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.16.0" } }, "iconv-lite": { @@ -5120,7 +5120,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "image-size": { @@ -5138,8 +5138,8 @@ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "caller-path": "2.0.0", + "resolve-from": "3.0.0" } }, "import-local": { @@ -5148,8 +5148,8 @@ "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "dev": true, "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -5162,8 +5162,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -5176,20 +5176,20 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "requires": { - "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", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.11", "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" + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-regex": { @@ -5202,7 +5202,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5210,9 +5210,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "strip-ansi": { @@ -5220,7 +5220,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -5228,7 +5228,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5238,7 +5238,7 @@ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.4.0" } }, "invert-kv": { @@ -5251,7 +5251,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -5269,7 +5269,7 @@ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { @@ -5284,7 +5284,7 @@ "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "dev": true, "requires": { - "ci-info": "^1.5.0" + "ci-info": "1.6.0" } }, "is-data-descriptor": { @@ -5292,7 +5292,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-date-object": { @@ -5306,9 +5306,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -5333,7 +5333,7 @@ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { @@ -5352,7 +5352,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -5371,7 +5371,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-number": { @@ -5379,7 +5379,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-plain-object": { @@ -5387,7 +5387,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -5418,7 +5418,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "^1.0.1" + "has": "1.0.3" } }, "is-stream": { @@ -5432,7 +5432,7 @@ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", "dev": true, "requires": { - "has-symbols": "^1.0.0" + "has-symbols": "1.0.0" } }, "is-typedarray": { @@ -5480,8 +5480,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.4" } }, "isstream": { @@ -5496,17 +5496,17 @@ "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", "dev": true, "requires": { - "async": "^2.1.4", - "fileset": "^2.0.2", - "istanbul-lib-coverage": "^1.2.1", - "istanbul-lib-hook": "^1.2.2", - "istanbul-lib-instrument": "^1.10.2", - "istanbul-lib-report": "^1.1.5", - "istanbul-lib-source-maps": "^1.2.6", - "istanbul-reports": "^1.5.1", - "js-yaml": "^3.7.0", - "mkdirp": "^0.5.1", - "once": "^1.4.0" + "async": "2.6.1", + "fileset": "2.0.3", + "istanbul-lib-coverage": "1.2.1", + "istanbul-lib-hook": "1.2.2", + "istanbul-lib-instrument": "1.10.2", + "istanbul-lib-report": "1.1.5", + "istanbul-lib-source-maps": "1.2.6", + "istanbul-reports": "1.5.1", + "js-yaml": "3.12.0", + "mkdirp": "0.5.1", + "once": "1.4.0" }, "dependencies": { "istanbul-lib-coverage": { @@ -5521,13 +5521,13 @@ "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.1", - "semver": "^5.3.0" + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.1", + "semver": "5.5.0" } } } @@ -5544,7 +5544,7 @@ "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { @@ -5553,13 +5553,13 @@ "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.0", - "semver": "^5.3.0" + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.0", + "semver": "5.5.0" } }, "istanbul-lib-report": { @@ -5568,10 +5568,10 @@ "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", "dev": true, "requires": { - "istanbul-lib-coverage": "^1.2.1", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.2.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.6", + "supports-color": "3.2.3" }, "dependencies": { "has-flag": { @@ -5592,7 +5592,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -5603,11 +5603,11 @@ "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.2.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.2.6", + "istanbul-lib-coverage": "1.2.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -5616,7 +5616,7 @@ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "istanbul-lib-coverage": { @@ -5639,7 +5639,7 @@ "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.12" } }, "jest": { @@ -5648,8 +5648,8 @@ "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", "dev": true, "requires": { - "import-local": "^1.0.0", - "jest-cli": "^23.6.0" + "import-local": "1.0.0", + "jest-cli": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -5664,7 +5664,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5673,9 +5673,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "jest-cli": { @@ -5684,42 +5684,42 @@ "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "import-local": "^1.0.0", - "is-ci": "^1.0.10", - "istanbul-api": "^1.3.1", - "istanbul-lib-coverage": "^1.2.0", - "istanbul-lib-instrument": "^1.10.1", - "istanbul-lib-source-maps": "^1.2.4", - "jest-changed-files": "^23.4.2", - "jest-config": "^23.6.0", - "jest-environment-jsdom": "^23.4.0", - "jest-get-type": "^22.1.0", - "jest-haste-map": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-regex-util": "^23.3.0", - "jest-resolve-dependencies": "^23.6.0", - "jest-runner": "^23.6.0", - "jest-runtime": "^23.6.0", - "jest-snapshot": "^23.6.0", - "jest-util": "^23.4.0", - "jest-validate": "^23.6.0", - "jest-watcher": "^23.4.0", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "node-notifier": "^5.2.1", - "prompts": "^0.1.9", - "realpath-native": "^1.0.0", - "rimraf": "^2.5.4", - "slash": "^1.0.0", - "string-length": "^2.0.0", - "strip-ansi": "^4.0.0", - "which": "^1.2.12", - "yargs": "^11.0.0" + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "exit": "0.1.2", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "import-local": "1.0.0", + "is-ci": "1.2.1", + "istanbul-api": "1.3.7", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-instrument": "1.10.1", + "istanbul-lib-source-maps": "1.2.6", + "jest-changed-files": "23.4.2", + "jest-config": "23.6.0", + "jest-environment-jsdom": "23.4.0", + "jest-get-type": "22.4.3", + "jest-haste-map": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0", + "jest-resolve-dependencies": "23.6.0", + "jest-runner": "23.6.0", + "jest-runtime": "23.6.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "jest-watcher": "23.4.0", + "jest-worker": "23.2.0", + "micromatch": "2.3.11", + "node-notifier": "5.2.1", + "prompts": "0.1.14", + "realpath-native": "1.0.2", + "rimraf": "2.6.2", + "slash": "1.0.0", + "string-length": "2.0.0", + "strip-ansi": "4.0.0", + "which": "1.3.1", + "yargs": "11.1.0" } }, "strip-ansi": { @@ -5728,7 +5728,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -5737,7 +5737,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5748,7 +5748,7 @@ "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", "dev": true, "requires": { - "throat": "^4.0.0" + "throat": "4.1.0" } }, "jest-config": { @@ -5757,20 +5757,20 @@ "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", "dev": true, "requires": { - "babel-core": "^6.0.0", - "babel-jest": "^23.6.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^23.4.0", - "jest-environment-node": "^23.4.0", - "jest-get-type": "^22.1.0", - "jest-jasmine2": "^23.6.0", - "jest-regex-util": "^23.3.0", - "jest-resolve": "^23.6.0", - "jest-util": "^23.4.0", - "jest-validate": "^23.6.0", - "micromatch": "^2.3.11", - "pretty-format": "^23.6.0" + "babel-core": "6.26.3", + "babel-jest": "23.6.0", + "chalk": "2.4.1", + "glob": "7.1.2", + "jest-environment-jsdom": "23.4.0", + "jest-environment-node": "23.4.0", + "jest-get-type": "22.4.3", + "jest-jasmine2": "23.6.0", + "jest-regex-util": "23.3.0", + "jest-resolve": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "micromatch": "2.3.11", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -5785,7 +5785,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5794,9 +5794,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -5805,8 +5805,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -5815,7 +5815,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5826,10 +5826,10 @@ "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", "dev": true, "requires": { - "chalk": "^2.0.1", - "diff": "^3.2.0", - "jest-get-type": "^22.1.0", - "pretty-format": "^23.6.0" + "chalk": "2.4.1", + "diff": "3.5.0", + "jest-get-type": "22.4.3", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -5844,7 +5844,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5853,9 +5853,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -5864,8 +5864,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -5874,7 +5874,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5885,7 +5885,7 @@ "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "dev": true, "requires": { - "detect-newline": "^2.1.0" + "detect-newline": "2.1.0" } }, "jest-each": { @@ -5894,8 +5894,8 @@ "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", "dev": true, "requires": { - "chalk": "^2.0.1", - "pretty-format": "^23.6.0" + "chalk": "2.4.1", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -5910,7 +5910,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5919,9 +5919,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -5930,8 +5930,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -5940,7 +5940,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5951,9 +5951,9 @@ "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", "dev": true, "requires": { - "jest-mock": "^23.2.0", - "jest-util": "^23.4.0", - "jsdom": "^11.5.1" + "jest-mock": "23.2.0", + "jest-util": "23.4.0", + "jsdom": "11.12.0" } }, "jest-environment-node": { @@ -5962,8 +5962,8 @@ "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", "dev": true, "requires": { - "jest-mock": "^23.2.0", - "jest-util": "^23.4.0" + "jest-mock": "23.2.0", + "jest-util": "23.4.0" } }, "jest-get-type": { @@ -5978,14 +5978,14 @@ "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", "dev": true, "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "invariant": "^2.2.4", - "jest-docblock": "^23.2.0", - "jest-serializer": "^23.0.1", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0" + "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.5.2" } }, "jest-jasmine2": { @@ -5994,18 +5994,18 @@ "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", "dev": true, "requires": { - "babel-traverse": "^6.0.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^23.6.0", - "is-generator-fn": "^1.0.0", - "jest-diff": "^23.6.0", - "jest-each": "^23.6.0", - "jest-matcher-utils": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-snapshot": "^23.6.0", - "jest-util": "^23.4.0", - "pretty-format": "^23.6.0" + "babel-traverse": "6.26.0", + "chalk": "2.4.1", + "co": "4.6.0", + "expect": "23.6.0", + "is-generator-fn": "1.0.0", + "jest-diff": "23.6.0", + "jest-each": "23.6.0", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -6020,7 +6020,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6029,9 +6029,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -6040,8 +6040,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6050,7 +6050,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6061,7 +6061,7 @@ "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", "dev": true, "requires": { - "pretty-format": "^23.6.0" + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -6076,7 +6076,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "pretty-format": { @@ -6085,8 +6085,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } } } @@ -6097,9 +6097,9 @@ "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", "dev": true, "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^22.1.0", - "pretty-format": "^23.6.0" + "chalk": "2.4.1", + "jest-get-type": "22.4.3", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -6114,7 +6114,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6123,9 +6123,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -6134,8 +6134,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6144,7 +6144,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6155,11 +6155,11 @@ "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0-beta.35", - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", - "stack-utils": "^1.0.1" + "@babel/code-frame": "7.0.0", + "chalk": "2.4.1", + "micromatch": "2.3.11", + "slash": "1.0.0", + "stack-utils": "1.0.2" }, "dependencies": { "ansi-styles": { @@ -6168,7 +6168,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6177,9 +6177,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -6188,7 +6188,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6211,9 +6211,9 @@ "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", "dev": true, "requires": { - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "realpath-native": "^1.0.0" + "browser-resolve": "1.11.3", + "chalk": "2.4.1", + "realpath-native": "1.0.2" }, "dependencies": { "ansi-styles": { @@ -6222,7 +6222,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6231,9 +6231,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -6242,7 +6242,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6253,8 +6253,8 @@ "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", "dev": true, "requires": { - "jest-regex-util": "^23.3.0", - "jest-snapshot": "^23.6.0" + "jest-regex-util": "23.3.0", + "jest-snapshot": "23.6.0" } }, "jest-runner": { @@ -6263,19 +6263,19 @@ "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", "dev": true, "requires": { - "exit": "^0.1.2", - "graceful-fs": "^4.1.11", - "jest-config": "^23.6.0", - "jest-docblock": "^23.2.0", - "jest-haste-map": "^23.6.0", - "jest-jasmine2": "^23.6.0", - "jest-leak-detector": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-runtime": "^23.6.0", - "jest-util": "^23.4.0", - "jest-worker": "^23.2.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" + "exit": "0.1.2", + "graceful-fs": "4.1.11", + "jest-config": "23.6.0", + "jest-docblock": "23.2.0", + "jest-haste-map": "23.6.0", + "jest-jasmine2": "23.6.0", + "jest-leak-detector": "23.6.0", + "jest-message-util": "23.4.0", + "jest-runtime": "23.6.0", + "jest-util": "23.4.0", + "jest-worker": "23.2.0", + "source-map-support": "0.5.9", + "throat": "4.1.0" }, "dependencies": { "source-map": { @@ -6290,8 +6290,8 @@ "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.1", + "source-map": "0.6.1" } } } @@ -6302,27 +6302,27 @@ "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", "dev": true, "requires": { - "babel-core": "^6.0.0", - "babel-plugin-istanbul": "^4.1.6", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "exit": "^0.1.2", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.1.11", - "jest-config": "^23.6.0", - "jest-haste-map": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-regex-util": "^23.3.0", - "jest-resolve": "^23.6.0", - "jest-snapshot": "^23.6.0", - "jest-util": "^23.4.0", - "jest-validate": "^23.6.0", - "micromatch": "^2.3.11", - "realpath-native": "^1.0.0", - "slash": "^1.0.0", + "babel-core": "6.26.3", + "babel-plugin-istanbul": "4.1.6", + "chalk": "2.4.1", + "convert-source-map": "1.5.1", + "exit": "0.1.2", + "fast-json-stable-stringify": "2.0.0", + "graceful-fs": "4.1.11", + "jest-config": "23.6.0", + "jest-haste-map": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0", + "jest-resolve": "23.6.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "micromatch": "2.3.11", + "realpath-native": "1.0.2", + "slash": "1.0.0", "strip-bom": "3.0.0", - "write-file-atomic": "^2.1.0", - "yargs": "^11.0.0" + "write-file-atomic": "2.3.0", + "yargs": "11.1.0" }, "dependencies": { "ansi-styles": { @@ -6331,7 +6331,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6340,9 +6340,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "strip-bom": { @@ -6357,7 +6357,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "write-file-atomic": { @@ -6366,9 +6366,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } } } @@ -6384,16 +6384,16 @@ "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", "dev": true, "requires": { - "babel-types": "^6.0.0", - "chalk": "^2.0.1", - "jest-diff": "^23.6.0", - "jest-matcher-utils": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-resolve": "^23.6.0", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^23.6.0", - "semver": "^5.5.0" + "babel-types": "6.26.0", + "chalk": "2.4.1", + "jest-diff": "23.6.0", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-resolve": "23.6.0", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "pretty-format": "23.6.0", + "semver": "5.5.0" }, "dependencies": { "ansi-regex": { @@ -6408,7 +6408,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6417,9 +6417,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -6428,8 +6428,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6438,7 +6438,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6449,14 +6449,14 @@ "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", "dev": true, "requires": { - "callsites": "^2.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "jest-message-util": "^23.4.0", - "mkdirp": "^0.5.1", - "slash": "^1.0.0", - "source-map": "^0.6.0" + "callsites": "2.0.0", + "chalk": "2.4.1", + "graceful-fs": "4.1.11", + "is-ci": "1.2.1", + "jest-message-util": "23.4.0", + "mkdirp": "0.5.1", + "slash": "1.0.0", + "source-map": "0.6.1" }, "dependencies": { "ansi-styles": { @@ -6465,7 +6465,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6474,9 +6474,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "source-map": { @@ -6491,7 +6491,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6502,10 +6502,10 @@ "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", "dev": true, "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^22.1.0", - "leven": "^2.1.0", - "pretty-format": "^23.6.0" + "chalk": "2.4.1", + "jest-get-type": "22.4.3", + "leven": "2.1.0", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -6520,7 +6520,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6529,9 +6529,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -6540,8 +6540,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6550,7 +6550,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6561,9 +6561,9 @@ "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "string-length": "^2.0.0" + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "string-length": "2.0.0" }, "dependencies": { "ansi-styles": { @@ -6572,7 +6572,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6581,9 +6581,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -6592,7 +6592,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6602,7 +6602,7 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", "requires": { - "merge-stream": "^1.0.1" + "merge-stream": "1.0.1" } }, "js-tokens": { @@ -6615,8 +6615,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.1" }, "dependencies": { "esprima": { @@ -6638,32 +6638,32 @@ "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", "dev": true, "requires": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", + "abab": "2.0.0", + "acorn": "5.7.3", + "acorn-globals": "4.3.0", + "array-equal": "1.0.0", + "cssom": "0.3.4", + "cssstyle": "1.1.1", + "data-urls": "1.1.0", + "domexception": "1.0.1", + "escodegen": "1.11.0", + "html-encoding-sniffer": "1.0.2", + "left-pad": "1.3.0", + "nwsapi": "2.0.9", "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" + "pn": "1.1.0", + "request": "2.88.0", + "request-promise-native": "1.0.5", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.5.0", + "w3c-hr-time": "1.0.1", + "webidl-conversions": "4.0.2", + "whatwg-encoding": "1.0.5", + "whatwg-mimetype": "2.3.0", + "whatwg-url": "6.5.0", + "ws": "5.2.2", + "xml-name-validator": "3.0.0" }, "dependencies": { "sax": { @@ -6678,7 +6678,7 @@ "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", "dev": true, "requires": { - "async-limiter": "~1.0.0" + "async-limiter": "1.0.0" } } } @@ -6711,7 +6711,7 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { - "jsonify": "~0.0.0" + "jsonify": "0.0.0" } }, "json-stringify-safe": { @@ -6731,7 +6731,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsonify": { @@ -6756,7 +6756,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "klaw": { @@ -6764,7 +6764,7 @@ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "kleur": { @@ -6778,7 +6778,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "left-pad": { @@ -6799,8 +6799,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { @@ -6809,11 +6809,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -6821,8 +6821,8 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -6868,7 +6868,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "js-tokens": "4.0.0" } }, "lru-cache": { @@ -6876,8 +6876,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "make-dir": { @@ -6885,7 +6885,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" }, "dependencies": { "pify": { @@ -6900,7 +6900,7 @@ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "requires": { - "tmpl": "1.0.x" + "tmpl": "1.0.4" } }, "map-cache": { @@ -6913,7 +6913,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "math-random": { @@ -6926,7 +6926,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "merge": { @@ -6939,7 +6939,7 @@ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", "requires": { - "readable-stream": "^2.0.1" + "readable-stream": "2.3.6" } }, "metro": { @@ -6947,32 +6947,32 @@ "resolved": "https://registry.npmjs.org/metro/-/metro-0.48.5.tgz", "integrity": "sha512-aCarzjxdYqh+9I40bF+Hh1ayrwfPrnDwVOvpQg3VZFWU4wfeMiJb+tzeRN9p94cC/MKhBTOjRmUF3plzrHoe0w==", "requires": { - "@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", + "@babel/core": "7.2.2", + "@babel/generator": "7.2.2", + "@babel/parser": "7.2.3", + "@babel/plugin-external-helpers": "7.2.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "absolute-path": "0.0.0", + "async": "2.6.1", + "babel-preset-fbjs": "3.1.0", + "chalk": "1.1.3", + "concat-stream": "1.6.2", + "connect": "3.6.6", + "debug": "2.6.9", + "denodeify": "1.2.1", + "eventemitter3": "3.1.0", + "fbjs": "1.0.0", + "fs-extra": "1.0.0", + "graceful-fs": "4.1.11", + "image-size": "0.6.3", "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", + "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", @@ -6981,21 +6981,21 @@ "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", + "mkdirp": "0.5.1", + "node-fetch": "2.3.0", + "nullthrows": "1.1.1", + "react-transform-hmr": "1.0.4", + "resolve": "1.8.1", + "rimraf": "2.6.2", + "serialize-error": "2.1.0", + "source-map": "0.5.7", "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" + "throat": "4.1.0", + "wordwrap": "1.0.0", + "write-file-atomic": "1.3.4", + "ws": "1.1.5", + "xpipe": "1.0.5", + "yargs": "9.0.1" }, "dependencies": { "@babel/code-frame": { @@ -7003,7 +7003,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/core": { @@ -7011,20 +7011,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.2.2", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.2.2", - "@babel/types": "^7.2.2", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.11", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -7032,7 +7032,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } } } @@ -7042,11 +7042,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -7054,7 +7054,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-define-map": { @@ -7062,9 +7062,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.11" } }, "@babel/helper-function-name": { @@ -7072,9 +7072,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -7082,7 +7082,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -7090,7 +7090,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -7098,7 +7098,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -7111,10 +7111,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -7122,7 +7122,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helpers": { @@ -7130,9 +7130,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.2.0" + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -7140,9 +7140,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" }, "dependencies": { "chalk": { @@ -7150,9 +7150,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } } } @@ -7167,7 +7167,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -7175,8 +7175,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -7184,14 +7184,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@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.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" } }, "@babel/plugin-transform-for-of": { @@ -7199,7 +7199,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/template": { @@ -7207,9 +7207,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -7217,15 +7217,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" }, "dependencies": { "debug": { @@ -7233,7 +7233,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } } } @@ -7243,9 +7243,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -7253,7 +7253,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "arr-diff": { @@ -7276,33 +7276,33 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", "requires": { - "@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/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-syntax-class-properties": "7.2.0", + "@babel/plugin-syntax-flow": "7.2.0", + "@babel/plugin-syntax-jsx": "7.2.0", + "@babel/plugin-syntax-object-rest-spread": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoped-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-member-expression-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-super": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-property-literals": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-template-literals": "7.2.0", + "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" } }, "braces": { @@ -7310,16 +7310,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -7327,7 +7327,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7342,9 +7342,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -7352,9 +7352,9 @@ "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -7366,7 +7366,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "~1.3.2", + "parseurl": "1.3.2", "utils-merge": "1.0.1" } }, @@ -7380,13 +7380,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -7394,13 +7394,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -7408,7 +7408,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -7416,7 +7416,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -7424,7 +7424,7 @@ "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7432,7 +7432,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7442,7 +7442,7 @@ "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7450,7 +7450,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7460,9 +7460,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -7477,14 +7477,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -7492,7 +7492,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -7500,7 +7500,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7510,14 +7510,14 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "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" + "core-js": "2.6.1", + "fbjs-css-vars": "1.0.2", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" } }, "fill-range": { @@ -7525,10 +7525,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -7536,7 +7536,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7547,12 +7547,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" } }, "find-up": { @@ -7560,7 +7560,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "globals": { @@ -7573,7 +7573,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -7581,7 +7581,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -7589,9 +7589,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-fullwidth-code-point": { @@ -7599,7 +7599,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-number": { @@ -7607,7 +7607,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7615,7 +7615,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7630,7 +7630,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "requires": { - "detect-newline": "^2.1.0" + "detect-newline": "2.1.0" } }, "jest-haste-map": { @@ -7638,14 +7638,14 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "invariant": "^2.2.4", - "jest-docblock": "^23.2.0", - "jest-serializer": "^23.0.1", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0" + "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.5.2" } }, "jsesc": { @@ -7658,7 +7658,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "^1.2.0" + "minimist": "1.2.0" } }, "kind-of": { @@ -7671,10 +7671,10 @@ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "metro-babel7-plugin-react-transform": { @@ -7682,7 +7682,7 @@ "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.48.5.tgz", "integrity": "sha512-S0cA0msHBGw7PSwB6nAsvtHEpQXVwzKBaE4AibLpaBiIVdWkYpIOok653zs9x+E9QvQgcghAnlVnDV+MDM+rSw==", "requires": { - "@babel/helper-module-imports": "^7.0.0" + "@babel/helper-module-imports": "7.0.0" } }, "metro-react-native-babel-preset": { @@ -7690,41 +7690,41 @@ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.48.5.tgz", "integrity": "sha512-ldG1bsusB5zlS1fhAiSLRjUA7I/Chn/dniaXTlkUpgiqyEAaDDmqhkDJ8gyZw3rhlLMVswlBd3o6I8yYti+57w==", "requires": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-export-default-from": "7.2.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-syntax-export-default-from": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-exponentiation-operator": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-assign": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-react-jsx-source": "7.2.0", + "@babel/plugin-transform-regenerator": "7.0.0", + "@babel/plugin-transform-runtime": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-sticky-regex": "7.2.0", + "@babel/plugin-transform-template-literals": "7.2.0", + "@babel/plugin-transform-typescript": "7.2.0", + "@babel/plugin-transform-unicode-regex": "7.2.0", + "@babel/template": "7.2.2", "metro-babel7-plugin-react-transform": "0.48.5", - "react-transform-hmr": "^1.0.4" + "react-transform-hmr": "1.0.4" } }, "ms": { @@ -7742,9 +7742,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "path-type": { @@ -7752,7 +7752,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "read-pkg": { @@ -7760,9 +7760,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -7770,8 +7770,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "sane": { @@ -7779,15 +7779,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "micromatch": { @@ -7795,19 +7795,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -7827,7 +7827,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -7850,19 +7850,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -7870,7 +7870,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -7880,18 +7880,18 @@ "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.48.5.tgz", "integrity": "sha512-bJCessd7THqEfXrKEoj284XVjg9AGYbGqZiyV622l6ex9TvtVi1lToDY0TuAAuDXOm+V4vQXV7/HvR6JPP0dTQ==", "requires": { - "@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" + "@babel/core": "7.2.2", + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-transform-async-to-generator": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/register": "7.0.0", + "core-js": "2.6.1", + "escape-string-regexp": "1.0.5" }, "dependencies": { "@babel/code-frame": { @@ -7899,7 +7899,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/core": { @@ -7907,20 +7907,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.2.2", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.2.2", - "@babel/types": "^7.2.2", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.11", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" } }, "@babel/generator": { @@ -7928,11 +7928,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -7940,9 +7940,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -7950,7 +7950,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -7958,7 +7958,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helpers": { @@ -7966,9 +7966,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.2.0" + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -7976,9 +7976,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -7991,9 +7991,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -8001,15 +8001,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -8017,9 +8017,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -8027,7 +8027,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -8035,9 +8035,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "core-js": { @@ -8050,7 +8050,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -8068,7 +8068,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "^1.2.0" + "minimist": "1.2.0" } }, "ms": { @@ -8081,7 +8081,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -8097,7 +8097,7 @@ "integrity": "sha512-wzn4X9KgmAMZ7Bi6v9KxA7dw+AHGL0RODPxU5NDJ3A6d0yERvzfZ3qkzWhz8jbFkVBK12cu5DTho3HBazKQDOw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0" + "@babel/helper-module-imports": "7.0.0" } }, "metro-cache": { @@ -8107,8 +8107,8 @@ "requires": { "jest-serializer": "23.0.1", "metro-core": "0.48.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4" + "mkdirp": "0.5.1", + "rimraf": "2.6.2" } }, "metro-config": { @@ -8116,11 +8116,11 @@ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.48.5.tgz", "integrity": "sha512-b+EmFgBOAEUM5THjJ2EU6CJxnULLC5V1Q8S8dz4xX4v96eLIsRCLPrXgYKATHJTVi0qw99ATVRsOBZVZ77fwjg==", "requires": { - "cosmiconfig": "^5.0.5", + "cosmiconfig": "5.0.7", "metro": "0.48.5", "metro-cache": "0.48.5", "metro-core": "0.48.5", - "pretty-format": "^23.4.1" + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -8133,7 +8133,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "pretty-format": { @@ -8141,8 +8141,8 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } } } @@ -8153,9 +8153,9 @@ "integrity": "sha512-Yp0BOAHhxf/qdNkwJhemVdD2Y59iyaTjwxUimCmeD8u5VEL6mLgEC1S0KczyWEiAgX3Fs48rezCAcx3mo67wXg==", "requires": { "jest-haste-map": "23.5.0", - "lodash.throttle": "^4.1.1", + "lodash.throttle": "4.1.1", "metro-resolver": "0.48.5", - "wordwrap": "^1.0.0" + "wordwrap": "1.0.0" }, "dependencies": { "arr-diff": { @@ -8173,16 +8173,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -8190,7 +8190,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8200,13 +8200,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -8214,7 +8214,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -8222,7 +8222,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -8230,7 +8230,7 @@ "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -8238,7 +8238,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8248,7 +8248,7 @@ "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -8256,7 +8256,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8266,9 +8266,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -8283,14 +8283,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -8298,7 +8298,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -8306,7 +8306,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8316,10 +8316,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -8327,7 +8327,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8337,7 +8337,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8345,7 +8345,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8353,9 +8353,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -8363,7 +8363,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -8371,7 +8371,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8386,7 +8386,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "requires": { - "detect-newline": "^2.1.0" + "detect-newline": "2.1.0" } }, "jest-haste-map": { @@ -8394,14 +8394,14 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "invariant": "^2.2.4", - "jest-docblock": "^23.2.0", - "jest-serializer": "^23.0.1", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0" + "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.5.2" } }, "kind-of": { @@ -8414,15 +8414,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "micromatch": { @@ -8430,19 +8430,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -8459,7 +8459,7 @@ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.48.5.tgz", "integrity": "sha512-tiHVYlUMuL91YjQPx9BzzzXy5jAAA5SWLqlvWfmM6m9faWtFeCv8Se27vVNuPDkOPYyL8qPCRhUpZMUhA0yN2g==", "requires": { - "uglify-es": "^3.1.9" + "uglify-es": "3.3.9" } }, "metro-react-native-babel-preset": { @@ -8468,41 +8468,41 @@ "integrity": "sha512-e9tsYDFhU70gar0jQWcZXRPJVCv4k7tEs6Pm74wXO2OO/T1MEumbvniDIGwGG8bG8RUnYdHhjcaiub2Vc5BRWw==", "dev": true, "requires": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-export-default-from": "7.2.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-syntax-export-default-from": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-exponentiation-operator": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-assign": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-react-jsx-source": "7.2.0", + "@babel/plugin-transform-regenerator": "7.0.0", + "@babel/plugin-transform-runtime": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-sticky-regex": "7.2.0", + "@babel/plugin-transform-template-literals": "7.2.0", + "@babel/plugin-transform-typescript": "7.2.0", + "@babel/plugin-transform-unicode-regex": "7.2.0", + "@babel/template": "7.2.2", "metro-babel7-plugin-react-transform": "0.51.1", - "react-transform-hmr": "^1.0.4" + "react-transform-hmr": "1.0.4" }, "dependencies": { "@babel/code-frame": { @@ -8511,7 +8511,7 @@ "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "dev": true, "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -8520,11 +8520,11 @@ "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "dev": true, "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -8533,7 +8533,7 @@ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-define-map": { @@ -8542,9 +8542,9 @@ "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.11" } }, "@babel/helper-function-name": { @@ -8553,9 +8553,9 @@ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -8564,7 +8564,7 @@ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -8573,7 +8573,7 @@ "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -8582,7 +8582,7 @@ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -8597,10 +8597,10 @@ "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -8609,7 +8609,7 @@ "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -8618,9 +8618,9 @@ "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -8635,7 +8635,7 @@ "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -8644,8 +8644,8 @@ "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -8654,14 +8654,14 @@ "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@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.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" } }, "@babel/plugin-transform-for-of": { @@ -8670,7 +8670,7 @@ "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/template": { @@ -8679,9 +8679,9 @@ "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -8690,15 +8690,15 @@ "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -8707,9 +8707,9 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -8718,7 +8718,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -8727,9 +8727,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -8738,7 +8738,7 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -8765,7 +8765,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -8781,7 +8781,7 @@ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.48.5.tgz", "integrity": "sha512-lScSpLJKZMmNPRwvcY6zj28AwMOcI1M5bCCv+m06VWcISCTq1KlaKVwqLKmFgUtPkoFtFLD+PVKRKCRUxj1opg==", "requires": { - "absolute-path": "^0.0.0" + "absolute-path": "0.0.0" } }, "metro-source-map": { @@ -8789,7 +8789,7 @@ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.48.5.tgz", "integrity": "sha512-+BbcU9vfEl/XhMlVV0RwuHuEkai4lq7RmlQkxgoOoWl1u0yXCAPRZ5sqa326fPlJzElOR3cp0y7+Oc2nbIguyg==", "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "micromatch": { @@ -8797,19 +8797,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { - "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" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "mime": { @@ -8827,7 +8827,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", "requires": { - "mime-db": "~1.23.0" + "mime-db": "1.23.0" }, "dependencies": { "mime-db": { @@ -8847,7 +8847,7 @@ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { - "dom-walk": "^0.1.0" + "dom-walk": "0.1.1" } }, "minimatch": { @@ -8855,7 +8855,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -8868,8 +8868,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -8877,7 +8877,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -8923,17 +8923,17 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "arr-diff": { @@ -8964,8 +8964,8 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "encoding": "0.1.12", + "is-stream": "1.1.0" } }, "node-int64": { @@ -8983,10 +8983,10 @@ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", "requires": { - "growly": "^1.3.0", - "semver": "^5.4.1", - "shellwords": "^0.1.1", - "which": "^1.3.0" + "growly": "1.3.0", + "semver": "5.5.0", + "shellwords": "0.1.1", + "which": "1.3.1" } }, "normalize-package-data": { @@ -8994,10 +8994,10 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.4" } }, "normalize-path": { @@ -9005,7 +9005,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "npm-run-path": { @@ -9013,7 +9013,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "npmlog": { @@ -9021,9 +9021,9 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", "requires": { - "ansi": "~0.3.1", - "are-we-there-yet": "~1.1.2", - "gauge": "~1.2.5" + "ansi": "0.3.1", + "are-we-there-yet": "1.1.5", + "gauge": "1.2.7" } }, "nullthrows": { @@ -9058,9 +9058,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -9068,7 +9068,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -9084,7 +9084,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -9100,8 +9100,8 @@ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" + "define-properties": "1.1.3", + "es-abstract": "1.12.0" } }, "object.omit": { @@ -9109,8 +9109,8 @@ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.pick": { @@ -9118,7 +9118,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -9146,7 +9146,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -9154,7 +9154,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "opn": { @@ -9162,7 +9162,7 @@ "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=", "requires": { - "object-assign": "^4.0.1" + "object-assign": "4.1.1" } }, "optimist": { @@ -9170,8 +9170,8 @@ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.10", + "wordwrap": "0.0.3" }, "dependencies": { "minimist": { @@ -9192,12 +9192,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" } }, "options": { @@ -9216,9 +9216,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "os-tmpdir": { @@ -9236,7 +9236,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -9244,7 +9244,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-try": { @@ -9257,10 +9257,10 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, "parse-json": { @@ -9268,7 +9268,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.2" } }, "parse5": { @@ -9293,7 +9293,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -9332,9 +9332,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "performance-now": { @@ -9360,7 +9360,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pirates": { @@ -9368,7 +9368,7 @@ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.0.tgz", "integrity": "sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA==", "requires": { - "node-modules-regexp": "^1.0.0" + "node-modules-regexp": "1.0.0" } }, "pkg-dir": { @@ -9376,7 +9376,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" }, "dependencies": { "find-up": { @@ -9384,7 +9384,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } } } @@ -9394,11 +9394,11 @@ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", "requires": { - "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" + "ansi-cyan": "0.1.1", + "ansi-red": "0.1.1", + "arr-diff": "1.1.0", + "arr-union": "2.1.0", + "extend-shallow": "1.1.4" }, "dependencies": { "arr-diff": { @@ -9406,8 +9406,8 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", "requires": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" + "arr-flatten": "1.1.0", + "array-slice": "0.2.3" } }, "arr-union": { @@ -9420,7 +9420,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", "requires": { - "kind-of": "^1.1.0" + "kind-of": "1.1.0" } }, "kind-of": { @@ -9477,7 +9477,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "~2.0.3" + "asap": "2.0.6" } }, "prompts": { @@ -9486,8 +9486,8 @@ "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", "dev": true, "requires": { - "kleur": "^2.0.1", - "sisteransi": "^0.1.1" + "kleur": "2.0.2", + "sisteransi": "0.1.1" } }, "prop-types": { @@ -9495,8 +9495,8 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "loose-envify": "1.4.0", + "object-assign": "4.1.1" } }, "pseudomap": { @@ -9532,8 +9532,8 @@ "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.2.0.tgz", "integrity": "sha512-5wupExkIt8RYL4h/FE+WTg3JHk62e6fFPWtAZA9J5IWK1PfTfKkMS93HBUHcFpeYi9KsY5pFbh+ldvEyaz5MyA==", "requires": { - "decode-uri-component": "^0.2.0", - "strict-uri-encode": "^2.0.0" + "decode-uri-component": "0.2.0", + "strict-uri-encode": "2.0.0" } }, "randomatic": { @@ -9541,9 +9541,9 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { @@ -9563,10 +9563,10 @@ "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz", "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.11.2" + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "prop-types": "15.6.2", + "scheduler": "0.11.3" } }, "react-clone-referenced-element": { @@ -9594,58 +9594,58 @@ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.57.8.tgz", "integrity": "sha512-K6DAMTPTq+lxVYC73y4Kh/bgLajddBaIKzwsVeV4JOoS1Fdq48/ISXD3vApV+x+/IBVTXnrT9qlA+9U6MMZCqA==", "requires": { - "@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", + "@babel/runtime": "7.2.0", + "absolute-path": "0.0.0", + "art": "0.10.3", + "base64-js": "1.3.0", + "chalk": "1.1.3", + "commander": "2.17.1", + "compression": "1.7.3", + "connect": "3.6.6", + "create-react-class": "15.6.3", + "debug": "2.6.9", + "denodeify": "1.2.1", + "envinfo": "5.12.1", + "errorhandler": "1.5.0", + "escape-string-regexp": "1.0.5", + "event-target-shim": "1.1.1", + "fbjs": "1.0.0", + "fbjs-scripts": "1.0.1", + "fs-extra": "1.0.0", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "inquirer": "3.3.0", + "lodash": "4.17.11", + "metro": "0.48.5", + "metro-babel-register": "0.48.5", + "metro-core": "0.48.5", + "metro-memory-fs": "0.48.5", + "mime": "1.6.0", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "morgan": "1.9.1", + "node-fetch": "2.3.0", + "node-notifier": "5.2.1", + "npmlog": "2.0.4", + "opn": "3.0.3", + "optimist": "0.6.1", + "plist": "3.0.1", + "pretty-format": "4.3.1", + "promise": "7.3.1", + "prop-types": "15.6.2", + "react-clone-referenced-element": "1.0.1", + "react-devtools-core": "3.4.3", + "react-timer-mixin": "0.13.4", + "regenerator-runtime": "0.11.1", + "rimraf": "2.6.2", + "semver": "5.5.0", + "serve-static": "1.13.2", "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" + "stacktrace-parser": "0.1.4", + "ws": "1.1.5", + "xcode": "1.1.0", + "xmldoc": "0.4.0", + "yargs": "9.0.1" }, "dependencies": { "@babel/code-frame": { @@ -9653,7 +9653,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/core": { @@ -9661,20 +9661,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.2.2", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.2.2", - "@babel/types": "^7.2.2", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.11", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -9682,7 +9682,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } } } @@ -9692,11 +9692,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -9704,7 +9704,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-define-map": { @@ -9712,9 +9712,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.11" } }, "@babel/helper-function-name": { @@ -9722,9 +9722,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -9732,7 +9732,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -9740,7 +9740,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -9748,7 +9748,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -9761,10 +9761,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -9772,7 +9772,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helpers": { @@ -9780,9 +9780,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.2.0" + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -9790,9 +9790,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" }, "dependencies": { "chalk": { @@ -9800,9 +9800,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } } } @@ -9817,7 +9817,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -9825,8 +9825,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -9834,14 +9834,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@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.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" } }, "@babel/plugin-transform-for-of": { @@ -9849,7 +9849,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/runtime": { @@ -9857,7 +9857,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "requires": { - "regenerator-runtime": "^0.12.0" + "regenerator-runtime": "0.12.1" }, "dependencies": { "regenerator-runtime": { @@ -9872,9 +9872,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -9882,15 +9882,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" }, "dependencies": { "debug": { @@ -9898,7 +9898,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } } } @@ -9908,9 +9908,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "accepts": { @@ -9918,7 +9918,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "~2.1.18", + "mime-types": "2.1.21", "negotiator": "0.6.1" } }, @@ -9927,7 +9927,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "babel-plugin-syntax-trailing-function-commas": { @@ -9940,33 +9940,33 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", "requires": { - "@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/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-syntax-class-properties": "7.2.0", + "@babel/plugin-syntax-flow": "7.2.0", + "@babel/plugin-syntax-jsx": "7.2.0", + "@babel/plugin-syntax-object-rest-spread": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoped-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-member-expression-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-super": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-property-literals": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-template-literals": "7.2.0", + "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" } }, "basic-auth": { @@ -9992,9 +9992,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -10002,9 +10002,9 @@ "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -10014,13 +10014,13 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", "requires": { - "accepts": "~1.3.5", + "accepts": "1.3.5", "bytes": "3.0.0", - "compressible": "~2.0.14", + "compressible": "2.0.14", "debug": "2.6.9", - "on-headers": "~1.0.1", + "on-headers": "1.0.1", "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "vary": "1.1.2" } }, "connect": { @@ -10030,7 +10030,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "~1.3.2", + "parseurl": "1.3.2", "utils-merge": "1.0.1" } }, @@ -10054,8 +10054,8 @@ "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.0.tgz", "integrity": "sha1-6rpkyl1UKjEayUX1gt78M2Fl2fQ=", "requires": { - "accepts": "~1.3.3", - "escape-html": "~1.0.3" + "accepts": "1.3.5", + "escape-html": "1.0.3" } }, "etag": { @@ -10068,13 +10068,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "fbjs": { @@ -10082,14 +10082,14 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "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" + "core-js": "2.6.1", + "fbjs-css-vars": "1.0.2", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" } }, "fbjs-scripts": { @@ -10097,16 +10097,16 @@ "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-1.0.1.tgz", "integrity": "sha512-x8bfX7k0z5B24Ue0YqjZq/2QxxaKZUNbkGdX//zbQDElMJFqBRrvRi8O3qds7UNNzs78jYqIYCS32Sk/wu5UJg==", "requires": { - "@babel/core": "^7.0.0", - "ansi-colors": "^1.0.1", - "babel-preset-fbjs": "^3.0.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" + "@babel/core": "7.2.2", + "ansi-colors": "1.1.0", + "babel-preset-fbjs": "3.1.0", + "core-js": "2.6.1", + "cross-spawn": "5.1.0", + "fancy-log": "1.3.2", + "object-assign": "4.1.1", + "plugin-error": "0.1.2", + "semver": "5.5.0", + "through2": "2.0.3" } }, "finalhandler": { @@ -10115,12 +10115,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" } }, "find-up": { @@ -10128,7 +10128,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "fresh": { @@ -10146,10 +10146,10 @@ "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { - "depd": "~1.1.2", + "depd": "1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "statuses": "1.5.0" }, "dependencies": { "statuses": { @@ -10164,7 +10164,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "jsesc": { @@ -10177,7 +10177,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "^1.2.0" + "minimist": "1.2.0" } }, "load-json-file": { @@ -10185,10 +10185,10 @@ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "mime-db": { @@ -10201,7 +10201,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.37.0" } }, "morgan": { @@ -10209,11 +10209,11 @@ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", "requires": { - "basic-auth": "~2.0.0", + "basic-auth": "2.0.1", "debug": "2.6.9", - "depd": "~1.1.2", - "on-finished": "~2.3.0", - "on-headers": "~1.0.1" + "depd": "1.1.2", + "on-finished": "2.3.0", + "on-headers": "1.0.1" } }, "ms": { @@ -10236,9 +10236,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "path-type": { @@ -10246,7 +10246,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "plist": { @@ -10254,9 +10254,9 @@ "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", "requires": { - "base64-js": "^1.2.3", - "xmlbuilder": "^9.0.7", - "xmldom": "0.1.x" + "base64-js": "1.3.0", + "xmlbuilder": "9.0.7", + "xmldom": "0.1.27" } }, "range-parser": { @@ -10269,8 +10269,8 @@ "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.4.3.tgz", "integrity": "sha512-t3f6cRH5YSKv8qjRl1Z+1e0OwBZwJSdOAhJ9QAJdVKML7SmqAKKv3DxF+Ue03pE1N2UipPsLmaNcPzzMjIdZQg==", "requires": { - "shell-quote": "^1.6.1", - "ws": "^3.3.1" + "shell-quote": "1.6.1", + "ws": "3.3.3" }, "dependencies": { "ws": { @@ -10278,9 +10278,9 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2", + "ultron": "1.1.1" } } } @@ -10290,9 +10290,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -10300,8 +10300,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "regenerator-runtime": { @@ -10315,18 +10315,18 @@ "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "requires": { "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", + "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.6.2", + "http-errors": "1.6.3", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" }, "dependencies": { "mime": { @@ -10351,9 +10351,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", "send": "0.16.2" } }, @@ -10372,7 +10372,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -10400,8 +10400,8 @@ "resolved": "https://registry.npmjs.org/xcode/-/xcode-1.1.0.tgz", "integrity": "sha512-hllHFtfsNu5WbVzj8KbGNdI3NgOYmTLZqyF4a9c9J1aGMhAdxmLLsXlpG0Bz8fEtKh6I3pyargRXN0ZlLpcF5w==", "requires": { - "simple-plist": "^0.2.1", - "uuid": "^3.3.2" + "simple-plist": "0.2.1", + "uuid": "3.3.2" } }, "xmlbuilder": { @@ -10414,19 +10414,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -10434,7 +10434,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -10449,8 +10449,8 @@ "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.13.3.tgz", "integrity": "sha512-B62LSSAEYQGItg7KVTzTVVCxezOYFBYp4DMVFbdoZUd1mZVFdqR2sy1HY1mye1VI/Lf3IbxSyZEQ0GmrrdwLjg==", "requires": { - "base-64": "^0.1.0", - "utf8": "^2.1.1" + "base-64": "0.1.0", + "utf8": "2.1.2" } }, "react-native-gesture-handler": { @@ -10458,9 +10458,9 @@ "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.12.tgz", "integrity": "sha512-Qp5FjRmqUFeCevSu2IYQG1Xw+YXZ9YOzqze/ZxaIvWzYAoKsRchlgHhNoxvCqElp/befrnVFIjAEQyUxcmBKJw==", "requires": { - "hoist-non-react-statics": "^2.3.1", - "invariant": "^2.2.2", - "prop-types": "^15.5.10" + "hoist-non-react-statics": "2.5.5", + "invariant": "2.2.4", + "prop-types": "15.6.2" }, "dependencies": { "hoist-non-react-statics": { @@ -10485,7 +10485,7 @@ "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.11.0.tgz", "integrity": "sha512-N3nElaahu1Me2ltnfc9acpgt1znm6pi8DSadKy79kvdzKwvVIzw0IXueA/Hjr51eCW1BsfNw7D1SgBT9U6qEkA==", "requires": { - "hoist-non-react-statics": "^2.3.1" + "hoist-non-react-statics": "2.5.5" }, "dependencies": { "hoist-non-react-statics": { @@ -10510,7 +10510,7 @@ "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.3.1.tgz", "integrity": "sha512-QNt6VkEW8SP1UJ7yjD5P4bOTWwHQfoIMD5CqnA06pcubdNwHR1NmjiNZsVnIvp5wAEVbW6yTHjLXOh1fzab4xg==", "requires": { - "prop-types": "^15.6.1" + "prop-types": "15.6.2" } }, "react-native-vector-icons": { @@ -10518,9 +10518,9 @@ "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.1.0.tgz", "integrity": "sha512-1GF5I4VWgwnzBtVfAKNgEiR5ziHi5QaKL381wwApMzuiFgIJMNt5XIChuKwKoaiB86s+P5iMcYWxYCyENL96lA==", "requires": { - "lodash": "^4.0.0", - "prop-types": "^15.6.2", - "yargs": "^8.0.2" + "lodash": "4.17.11", + "prop-types": "15.6.2", + "yargs": "8.0.2" }, "dependencies": { "cliui": { @@ -10528,9 +10528,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -10538,9 +10538,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -10550,7 +10550,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "is-fullwidth-code-point": { @@ -10558,7 +10558,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "load-json-file": { @@ -10566,10 +10566,10 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "path-type": { @@ -10577,7 +10577,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "read-pkg": { @@ -10585,9 +10585,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -10595,8 +10595,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "strip-bom": { @@ -10609,19 +10609,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -10629,7 +10629,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -10651,7 +10651,7 @@ "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-1.0.5.tgz", "integrity": "sha512-WeGrXFn84R75IAt3ndDfkHw9FNvPsi4JPGO1iopqUoA/2tMPA6WJbhuE3dqmmEu3TZRjI+2LatCgpx00tT1kiQ==", "requires": { - "react-native-tab-view": "^1.2.0" + "react-native-tab-view": "1.3.1" } }, "react-navigation-header-buttons": { @@ -10659,7 +10659,7 @@ "resolved": "https://registry.npmjs.org/react-navigation-header-buttons/-/react-navigation-header-buttons-2.1.1.tgz", "integrity": "sha512-ZWqwvdOBDduAGr1WpmHWbCMmSx9ZpuKdnFOByt9iOSZwwQwMP2f98rkePAlYXlTcThgaqbpdt7jcktAcG056fA==", "requires": { - "react-native-platform-touchable": "^1.1.1" + "react-native-platform-touchable": "1.1.1" } }, "react-navigation-stack": { @@ -10672,10 +10672,10 @@ "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.0.2.tgz", "integrity": "sha512-ffWPVdo+L0GLbQlLAzH7ITYqh9V9NdqT/juj8QtESH5/2yUqfvqTxQoSowvFIrtiIHHFH6tLoQy1sZZciTxmeg==", "requires": { - "hoist-non-react-statics": "^2.5.0", - "prop-types": "^15.6.1", - "react-lifecycles-compat": "^3.0.4", - "react-native-tab-view": "^1.0.0" + "hoist-non-react-statics": "2.5.5", + "prop-types": "15.6.2", + "react-lifecycles-compat": "3.0.4", + "react-native-tab-view": "1.3.1" }, "dependencies": { "hoist-non-react-statics": { @@ -10690,8 +10690,8 @@ "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=", "requires": { - "lodash": "^4.6.1", - "react-deep-force-update": "^1.0.0" + "lodash": "4.17.11", + "react-deep-force-update": "1.1.1" } }, "react-test-renderer": { @@ -10700,10 +10700,10 @@ "integrity": "sha512-B5bCer+qymrQz/wN03lT0LppbZUDRq6AMfzMKrovzkGzfO81a9T+PWQW6MzkWknbwODQH/qpJno/yFQLX5IWrQ==", "dev": true, "requires": { - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "react-is": "^16.6.3", - "scheduler": "^0.11.2" + "object-assign": "4.1.1", + "prop-types": "15.6.2", + "react-is": "16.7.0", + "scheduler": "0.11.3" } }, "react-timer-mixin": { @@ -10716,8 +10716,8 @@ "resolved": "https://registry.npmjs.org/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz", "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=", "requires": { - "global": "^4.3.0", - "react-proxy": "^1.1.7" + "global": "4.3.2", + "react-proxy": "1.1.8" } }, "read-pkg": { @@ -10726,9 +10726,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -10737,8 +10737,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, "readable-stream": { @@ -10746,13 +10746,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "realpath-native": { @@ -10761,7 +10761,7 @@ "integrity": "sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g==", "dev": true, "requires": { - "util.promisify": "^1.0.0" + "util.promisify": "1.0.0" } }, "recast": { @@ -10770,9 +10770,9 @@ "integrity": "sha512-ZUQm94F3AHozRaTo4Vz6yIgkSEZIL7p+BsWeGZ23rx+ZVRoqX+bvBA8br0xmCOU0DSR4qYGtV7Y5HxTsC4V78A==", "requires": { "ast-types": "0.11.6", - "esprima": "~4.0.0", - "private": "~0.1.5", - "source-map": "~0.6.1" + "esprima": "4.0.1", + "private": "0.1.8", + "source-map": "0.6.1" }, "dependencies": { "ast-types": { @@ -10802,7 +10802,7 @@ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", "requires": { - "regenerate": "^1.4.0" + "regenerate": "1.4.0" } }, "regenerator": { @@ -10810,16 +10810,16 @@ "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.13.3.tgz", "integrity": "sha512-vePgoVGUgXfLBw4Z1hv8PTfmt7TW5dT/cMdq2GCdr3TYoPTE1WUU/KjiaZCOLD/JSyGWJMWhMRDYBLbpmVzkFw==", "requires": { - "@babel/core": "^7.1.6", - "@babel/runtime": "^7.1.5", - "@babel/types": "^7.1.6", - "commoner": "^0.10.8", - "private": "^0.1.8", - "recast": "^0.16.0", - "regenerator-preset": "^0.12.1", - "regenerator-runtime": "^0.13.0", - "regenerator-transform": "^0.13.3", - "through": "^2.3.8" + "@babel/core": "7.2.2", + "@babel/runtime": "7.2.0", + "@babel/types": "7.2.2", + "commoner": "0.10.8", + "private": "0.1.8", + "recast": "0.16.1", + "regenerator-preset": "0.12.1", + "regenerator-runtime": "0.13.1", + "regenerator-transform": "0.13.3", + "through": "2.3.8" } }, "regenerator-preset": { @@ -10827,13 +10827,13 @@ "resolved": "https://registry.npmjs.org/regenerator-preset/-/regenerator-preset-0.12.1.tgz", "integrity": "sha512-s/4SOEU1TxZ6IV/CQfz4BEjn29HaRhvqYPoufx2hp9LfuD2dnwnmtWEdXxUuG4JHAE7V+y6aqvileT1AflcH9g==", "requires": { - "@babel/plugin-proposal-function-sent": "^7.0.0-beta.51", - "@babel/plugin-syntax-async-generators": "^7.0.0-beta.51", - "@babel/plugin-transform-arrow-functions": "^7.0.0-beta.51", - "@babel/plugin-transform-block-scoping": "^7.0.0-beta.51", - "@babel/plugin-transform-classes": "^7.0.0-beta.51", - "@babel/plugin-transform-for-of": "^7.0.0-beta.51", - "regenerator-transform": "^0.13.0" + "@babel/plugin-proposal-function-sent": "7.2.0", + "@babel/plugin-syntax-async-generators": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-for-of": "7.2.0", + "regenerator-transform": "0.13.3" } }, "regenerator-runtime": { @@ -10846,7 +10846,7 @@ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", "requires": { - "private": "^0.1.6" + "private": "0.1.8" } }, "regex-cache": { @@ -10854,7 +10854,7 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -10862,8 +10862,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexpu-core": { @@ -10871,12 +10871,12 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^7.0.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.0.2" + "regenerate": "1.4.0", + "regenerate-unicode-properties": "7.0.0", + "regjsgen": "0.5.0", + "regjsparser": "0.6.0", + "unicode-match-property-ecmascript": "1.0.4", + "unicode-match-property-value-ecmascript": "1.0.2" } }, "regjsgen": { @@ -10889,12 +10889,12 @@ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" }, "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } @@ -10920,7 +10920,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -10929,26 +10929,26 @@ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { - "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" + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.7", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.3", + "har-validator": "5.1.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.21", + "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" }, "dependencies": { "mime-db": { @@ -10963,7 +10963,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.37.0" } }, "punycode": { @@ -10978,8 +10978,8 @@ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" + "psl": "1.1.31", + "punycode": "1.4.1" } } } @@ -10990,7 +10990,7 @@ "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", "dev": true, "requires": { - "lodash": "^4.13.1" + "lodash": "4.17.11" } }, "request-promise-native": { @@ -11000,8 +11000,8 @@ "dev": true, "requires": { "request-promise-core": "1.1.1", - "stealthy-require": "^1.1.0", - "tough-cookie": ">=2.3.3" + "stealthy-require": "1.1.1", + "tough-cookie": "2.5.0" } }, "require-directory": { @@ -11019,7 +11019,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.6" } }, "resolve-cwd": { @@ -11028,7 +11028,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-from": { @@ -11046,8 +11046,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -11060,7 +11060,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "rsvp": { @@ -11073,7 +11073,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rx-lite": { @@ -11086,7 +11086,7 @@ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "requires": { - "rx-lite": "*" + "rx-lite": "4.0.8" } }, "safe-buffer": { @@ -11099,7 +11099,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -11113,15 +11113,15 @@ "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "dev": true, "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "arr-diff": { @@ -11142,16 +11142,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -11160,7 +11160,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11171,13 +11171,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -11186,7 +11186,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -11195,7 +11195,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -11204,7 +11204,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11213,7 +11213,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11224,7 +11224,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11233,7 +11233,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11244,9 +11244,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -11263,14 +11263,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -11279,7 +11279,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -11288,7 +11288,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11299,10 +11299,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -11311,7 +11311,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11322,7 +11322,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -11331,7 +11331,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -11340,9 +11340,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -11351,7 +11351,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11360,7 +11360,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11383,19 +11383,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -11410,8 +11410,8 @@ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.3.tgz", "integrity": "sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "1.4.0", + "object-assign": "4.1.1" } }, "semver": { @@ -11434,10 +11434,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -11445,7 +11445,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11465,7 +11465,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -11478,10 +11478,10 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "requires": { - "array-filter": "~0.0.0", - "array-map": "~0.0.0", - "array-reduce": "~0.0.0", - "jsonify": "~0.0.0" + "array-filter": "0.0.1", + "array-map": "0.0.0", + "array-reduce": "0.0.0", + "jsonify": "0.0.0" } }, "shellwords": { @@ -11516,7 +11516,7 @@ "requires": { "base64-js": "1.1.2", "xmlbuilder": "8.2.2", - "xmldom": "0.1.x" + "xmldom": "0.1.27" } }, "xmlbuilder": { @@ -11553,14 +11553,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "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" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.1" }, "dependencies": { "define-property": { @@ -11568,7 +11568,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -11576,7 +11576,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11586,9 +11586,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -11596,7 +11596,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -11604,7 +11604,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -11612,7 +11612,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -11620,9 +11620,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -11642,7 +11642,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-map": { @@ -11655,11 +11655,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "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" + "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": { @@ -11668,7 +11668,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "source-map-url": { @@ -11681,8 +11681,8 @@ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -11695,8 +11695,8 @@ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -11709,7 +11709,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -11723,15 +11723,15 @@ "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", "dev": true, "requires": { - "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" + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "stack-utils": { @@ -11755,8 +11755,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -11764,7 +11764,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -11791,8 +11791,8 @@ "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", "dev": true, "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" + "astral-regex": "1.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -11807,7 +11807,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -11817,8 +11817,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -11831,7 +11831,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -11841,7 +11841,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "strip-ansi": { @@ -11849,7 +11849,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -11858,7 +11858,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -11882,8 +11882,8 @@ "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", "requires": { - "os-tmpdir": "^1.0.0", - "rimraf": "~2.2.6" + "os-tmpdir": "1.0.2", + "rimraf": "2.2.8" }, "dependencies": { "rimraf": { @@ -11899,11 +11899,11 @@ "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" }, "dependencies": { "arr-diff": { @@ -11924,16 +11924,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -11942,7 +11942,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11953,13 +11953,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -11968,7 +11968,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -11977,7 +11977,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -11986,7 +11986,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11995,7 +11995,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12006,7 +12006,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12015,7 +12015,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12026,9 +12026,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -12045,14 +12045,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -12061,7 +12061,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -12070,7 +12070,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -12081,10 +12081,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -12093,7 +12093,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -12104,7 +12104,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -12113,7 +12113,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -12122,9 +12122,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -12133,7 +12133,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12142,7 +12142,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12165,19 +12165,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -12197,8 +12197,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "time-stamp": { @@ -12211,7 +12211,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "tmpl": { @@ -12230,7 +12230,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -12238,10 +12238,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -12249,8 +12249,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" }, "dependencies": { "is-number": { @@ -12258,7 +12258,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } } } @@ -12269,8 +12269,8 @@ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "psl": "1.1.31", + "punycode": "2.1.1" } }, "tr46": { @@ -12279,7 +12279,7 @@ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } }, "trim-right": { @@ -12293,7 +12293,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -12308,7 +12308,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "typedarray": { @@ -12326,8 +12326,8 @@ "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" + "commander": "2.13.0", + "source-map": "0.6.1" }, "dependencies": { "commander": { @@ -12357,8 +12357,8 @@ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "1.0.4", + "unicode-property-aliases-ecmascript": "1.0.4" } }, "unicode-match-property-value-ecmascript": { @@ -12376,10 +12376,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -12387,7 +12387,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -12395,10 +12395,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -12413,8 +12413,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -12422,9 +12422,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -12455,7 +12455,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } }, "urix": { @@ -12484,8 +12484,8 @@ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" + "define-properties": "1.1.3", + "object.getownpropertydescriptors": "2.0.3" } }, "uuid": { @@ -12498,8 +12498,8 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "verror": { @@ -12508,9 +12508,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "w3c-hr-time": { @@ -12519,7 +12519,7 @@ "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", "dev": true, "requires": { - "browser-process-hrtime": "^0.1.2" + "browser-process-hrtime": "0.1.3" } }, "walker": { @@ -12527,7 +12527,7 @@ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "requires": { - "makeerror": "1.0.x" + "makeerror": "1.0.11" } }, "watch": { @@ -12535,8 +12535,8 @@ "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", "requires": { - "exec-sh": "^0.2.0", - "minimist": "^1.2.0" + "exec-sh": "0.2.2", + "minimist": "1.2.0" } }, "webidl-conversions": { @@ -12560,7 +12560,7 @@ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } } } @@ -12582,9 +12582,9 @@ "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" } }, "which": { @@ -12592,7 +12592,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -12610,8 +12610,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -12619,7 +12619,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -12627,9 +12627,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -12644,9 +12644,9 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "ws": { @@ -12654,8 +12654,8 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", "requires": { - "options": ">=0.0.5", - "ultron": "1.0.x" + "options": "0.0.6", + "ultron": "1.0.2" }, "dependencies": { "ultron": { @@ -12676,7 +12676,7 @@ "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-0.4.0.tgz", "integrity": "sha1-0lciS+g5PqrL+DfvIn/Y7CWzaIg=", "requires": { - "sax": "~1.1.1" + "sax": "1.1.6" } }, "xmldom": { @@ -12710,18 +12710,18 @@ "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^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": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "find-up": { @@ -12730,7 +12730,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } } } @@ -12741,7 +12741,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } From 3e6eb172a3d56eba73f856276b21846092a14537 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 14 Jan 2019 20:09:20 -0600 Subject: [PATCH 090/131] Beta 3 --- android/app/build.gradle | 4 ++-- package-lock.json | 8 ++++---- package.json | 8 ++++---- src/screens/SideMenu/TagSelectionList.js | 1 - 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index e7af938d..5a97330b 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -102,8 +102,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 3000002 - versionName "3.0.0-beta2" + versionCode 3000003 + versionName "3.0.0-beta3" multiDexEnabled true diff --git a/package-lock.json b/package-lock.json index 07b5d982..15df998f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "StandardNotes", - "version": "3.0.0-beta1", + "version": "3.0.0-beta3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -11746,9 +11746,9 @@ "integrity": "sha1-ATl5IuX2Ls8whFUiyVxP4dJefU4=" }, "standard-file-js": { - "version": "0.3.32", - "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.32.tgz", - "integrity": "sha512-1QP7IJ3MJC+5av9bXVy1IIxBnZy2PzcEW+b835XRC2N4bEEIPWMnabozlPLhErBe/Ey1mxvwltsG39mGGST2tA==" + "version": "0.3.35", + "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.35.tgz", + "integrity": "sha512-7Iqk0Coq8buYJ+lQWLPLxFv9SS5kcmxcK7J215jYyc11cJFayUH+p3fiC8bpev9RJ5dDvS5pVp81YItIvMCIeQ==" }, "static-extend": { "version": "0.1.2", diff --git a/package.json b/package.json index 8d9b7f10..9713d8b8 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "StandardNotes", - "version": "3.0.0-beta1", - "versionIOS": "3.0.0-beta1", - "versionAndroid": "3.0.0-beta1", + "version": "3.0.0-beta3", + "versionIOS": "3.0.0-beta3", + "versionAndroid": "3.0.0-beta3", "license": "AGPL-3.0-or-later", "private": true, "scripts": { @@ -29,7 +29,7 @@ "react-navigation-header-buttons": "^2.1.1", "regenerator": "^0.13.3", "sn-models": "0.1.12", - "standard-file-js": "0.3.32" + "standard-file-js": "0.3.35" }, "devDependencies": { "babel-jest": "^23.6.0", diff --git a/src/screens/SideMenu/TagSelectionList.js b/src/screens/SideMenu/TagSelectionList.js index 19295f1a..58d73baa 100644 --- a/src/screens/SideMenu/TagSelectionList.js +++ b/src/screens/SideMenu/TagSelectionList.js @@ -48,7 +48,6 @@ class TagSelectionList extends ThemedComponent { this.syncObserverId = `${Math.random()}`; ModelManager.get().addItemSyncObserver(this.syncObserverId, this.props.contentType, () => { - console.log("Reloading tags list", this.props.contentType); this.reload(); }) From ae67ffb3dc9af2180730665c790e75f9d282b5f3 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 15 Jan 2019 12:05:33 -0600 Subject: [PATCH 091/131] Reload notes list on loadInitialState --- package-lock.json | 5274 ++++++++++++++++++------------------ src/screens/Compose.js | 2 +- src/screens/Notes/Notes.js | 12 +- 3 files changed, 2648 insertions(+), 2640 deletions(-) diff --git a/package-lock.json b/package-lock.json index 15df998f..eff8ae6c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { @@ -17,20 +17,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helpers": "7.2.0", - "@babel/parser": "7.2.3", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "convert-source-map": "1.5.1", - "debug": "4.1.1", - "json5": "2.1.0", - "lodash": "4.17.11", - "resolve": "1.8.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" }, "dependencies": { "debug": { @@ -38,7 +38,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "json5": { @@ -46,7 +46,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" } }, "ms": { @@ -61,11 +61,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -80,7 +80,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -88,8 +88,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", "requires": { - "@babel/helper-explode-assignable-expression": "7.1.0", - "@babel/types": "7.2.2" + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/types": { @@ -97,9 +97,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -114,8 +114,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz", "integrity": "sha512-ebJ2JM6NAKW0fQEqN8hOLxK84RbRz9OkUhGS/Xd5u56ejMfVbayJ4+LykERZCOUM6faa6Fp3SZNX3fcT16MKHw==", "requires": { - "@babel/types": "7.2.2", - "esutils": "2.0.2" + "@babel/types": "^7.0.0", + "esutils": "^2.0.0" }, "dependencies": { "@babel/types": { @@ -123,9 +123,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -140,9 +140,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", "requires": { - "@babel/helper-hoist-variables": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -150,7 +150,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -158,11 +158,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -170,9 +170,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -180,7 +180,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -188,7 +188,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -196,9 +196,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -211,9 +211,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -221,15 +221,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -237,9 +237,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -247,7 +247,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -255,9 +255,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -265,7 +265,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -288,7 +288,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -303,11 +303,11 @@ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.3.tgz", "integrity": "sha512-xO/3Gn+2C7/eOUeb0VRnSP1+yvWHNxlpAot1eMhtoKDCN7POsyQP5excuT5UsV5daHxMWBeIIOeI5cmB8vMRgQ==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-replace-supers": "7.2.3" + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.2.3" }, "dependencies": { "@babel/code-frame": { @@ -315,7 +315,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -323,11 +323,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -335,9 +335,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -345,7 +345,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -353,7 +353,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -361,7 +361,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -374,10 +374,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -385,7 +385,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -393,9 +393,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -408,9 +408,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -418,15 +418,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -434,9 +434,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -444,7 +444,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -452,9 +452,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -462,7 +462,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -485,7 +485,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -500,9 +500,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/helper-explode-assignable-expression": { @@ -510,8 +510,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", "requires": { - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -519,7 +519,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -527,11 +527,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -539,9 +539,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -549,7 +549,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -557,7 +557,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -565,9 +565,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -580,9 +580,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -590,15 +590,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -606,9 +606,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -616,7 +616,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -624,9 +624,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -634,7 +634,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -657,7 +657,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -672,9 +672,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -682,7 +682,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-hoist-variables": { @@ -690,7 +690,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/types": { @@ -698,9 +698,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -715,7 +715,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-module-imports": { @@ -723,7 +723,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/types": { @@ -731,9 +731,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -748,12 +748,12 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", "requires": { - "@babel/helper-module-imports": "7.0.0", - "@babel/helper-simple-access": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/template": "^7.2.2", + "@babel/types": "^7.2.2", + "lodash": "^4.17.10" }, "dependencies": { "@babel/code-frame": { @@ -761,7 +761,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -769,7 +769,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -777,9 +777,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -792,9 +792,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/types": { @@ -802,9 +802,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -812,7 +812,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -820,9 +820,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -830,7 +830,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -845,7 +845,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -858,7 +858,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", "requires": { - "lodash": "4.17.11" + "lodash": "^4.17.10" } }, "@babel/helper-remap-async-to-generator": { @@ -866,11 +866,11 @@ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-wrap-function": "7.2.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@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" }, "dependencies": { "@babel/code-frame": { @@ -878,7 +878,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -886,11 +886,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -898,7 +898,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-function-name": { @@ -906,9 +906,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -916,7 +916,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -924,7 +924,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-wrap-function": { @@ -932,10 +932,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -943,9 +943,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -958,9 +958,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -968,15 +968,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -984,9 +984,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -994,7 +994,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1002,9 +1002,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -1012,7 +1012,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -1035,7 +1035,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -1050,10 +1050,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-simple-access": { @@ -1061,8 +1061,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", "requires": { - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -1070,7 +1070,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/highlight": { @@ -1078,9 +1078,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -1093,9 +1093,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/types": { @@ -1103,9 +1103,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -1113,7 +1113,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1121,9 +1121,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -1131,7 +1131,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -1146,7 +1146,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-wrap-function": { @@ -1154,10 +1154,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" } }, "@babel/helpers": { @@ -1165,9 +1165,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -1175,9 +1175,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" }, "dependencies": { "ansi-styles": { @@ -1185,7 +1185,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1193,9 +1193,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -1203,7 +1203,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -1218,7 +1218,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.2.0.tgz", "integrity": "sha512-QFmtcCShFkyAsNtdCM3lJPmRe1iB+vPZymlB4LnDIKEBj2yKQLQKtoxXxJ8ePT5fwMl4QGg303p4mB0UsSI2/g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1233,8 +1233,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.3.tgz", "integrity": "sha512-FVuQngLoN2iDrpW7LmhPZ2sO4DJxf35FOcwidwB9Ru9tMvI5URthnkVHuG14IStV+TzkMTyLMoOUlSTtrdVwqw==", "requires": { - "@babel/helper-create-class-features-plugin": "7.2.3", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-create-class-features-plugin": "^7.2.3", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1249,8 +1249,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz", "integrity": "sha512-NVfNe7F6nsasG1FnvcFxh2FN0l04ZNe75qTOAVOILWPam0tw9a63RtT/Dab8dPjedZa4fTQaQ83yMMywF9OSug==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-export-default-from": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1265,9 +1265,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.2.0.tgz", "integrity": "sha512-qQBDKRSCu1wGJi3jbngs18vrujVQA4F+OkSuIQYRhE6y19jcPzeEIGOc683mCQXDUR3BQCz8JyCupIwv+IRFmA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-wrap-function": "7.2.0", - "@babel/plugin-syntax-function-sent": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-wrap-function": "^7.2.0", + "@babel/plugin-syntax-function-sent": "^7.2.0" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { @@ -1275,8 +1275,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.2.0.tgz", "integrity": "sha512-QXj/YjFuFJd68oDvoc1e8aqLr2wz7Kofzvp6Ekd/o7MWZl+nZ0/cpStxND+hlZ7DpRWAp7OmuyT2areZ2V3YUA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1291,8 +1291,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz", "integrity": "sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-object-rest-spread": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1307,8 +1307,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1323,8 +1323,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz", "integrity": "sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-optional-chaining": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1339,7 +1339,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-class-properties": { @@ -1347,7 +1347,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz", "integrity": "sha512-UxYaGXYQ7rrKJS/PxIKRkv3exi05oH7rokBAsmCSsCxz1sVPZ7Fu6FzKoGgUvmY+0YgSkYHgUoCh5R5bCNBQlw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1362,7 +1362,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1377,7 +1377,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz", "integrity": "sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1392,7 +1392,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1407,7 +1407,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz", "integrity": "sha512-2MOVuJ6IMAifp2cf0RFkHQaOvHpbBYyWCvgtF/WVqXhTd7Bgtov8iXVCadLXp2FN1BrI2EFl+JXuwXy0qr3KoQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-jsx": { @@ -1415,7 +1415,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1430,7 +1430,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz", "integrity": "sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1445,7 +1445,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1460,7 +1460,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1475,7 +1475,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz", "integrity": "sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1490,7 +1490,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.2.0.tgz", "integrity": "sha512-WhKr6yu6yGpGcNMVgIBuI9MkredpVc7Y3YR4UzEZmDztHoL6wV56YBHLhWnjO1EvId1B32HrD3DRFc+zSoKI1g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1505,7 +1505,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-async-to-generator": { @@ -1513,9 +1513,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", "requires": { - "@babel/helper-module-imports": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-remap-async-to-generator": "7.1.0" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1530,7 +1530,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1545,8 +1545,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.11" + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { @@ -1554,14 +1554,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.1.0", - "@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.2.3", - "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.9.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@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.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" }, "dependencies": { "globals": { @@ -1576,7 +1576,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1591,7 +1591,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz", "integrity": "sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1606,8 +1606,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "7.1.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1622,8 +1622,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz", "integrity": "sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-flow": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1638,7 +1638,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-function-name": { @@ -1646,8 +1646,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -1655,7 +1655,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/helper-function-name": { @@ -1663,9 +1663,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -1673,7 +1673,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -1686,9 +1686,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -1701,9 +1701,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/types": { @@ -1711,9 +1711,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -1721,7 +1721,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1729,9 +1729,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -1739,7 +1739,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -1754,7 +1754,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1769,7 +1769,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1784,9 +1784,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", "requires": { - "@babel/helper-module-transforms": "7.2.2", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-simple-access": "7.1.0" + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1801,7 +1801,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz", "integrity": "sha512-nmE55cZBPFgUktbF2OuoZgPRadfxosLOpSgzEPYotKSls9J4pEPcembi8r78RU37Rph6UApCpNmsQA4QMWK9Ng==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1816,8 +1816,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-replace-supers": "7.2.3" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0" }, "dependencies": { "@babel/code-frame": { @@ -1825,7 +1825,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -1833,11 +1833,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -1845,9 +1845,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -1855,7 +1855,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -1863,7 +1863,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -1871,7 +1871,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -1884,10 +1884,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -1895,7 +1895,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -1903,9 +1903,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -1918,9 +1918,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -1928,15 +1928,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -1944,9 +1944,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -1954,7 +1954,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1962,9 +1962,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -1972,7 +1972,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -1995,7 +1995,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -2010,9 +2010,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==", "requires": { - "@babel/helper-call-delegate": "7.1.0", - "@babel/helper-get-function-arity": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-call-delegate": "^7.1.0", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-get-function-arity": { @@ -2020,7 +2020,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -2033,9 +2033,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -2050,7 +2050,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2065,7 +2065,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2080,9 +2080,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.2.0.tgz", "integrity": "sha512-h/fZRel5wAfCqcKgq3OhbmYaReo7KkoJBpt8XnvpS7wqaNMqtw5xhxutzcm35iMUWucfAdT/nvGTsWln0JTg2Q==", "requires": { - "@babel/helper-builder-react-jsx": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-jsx": "7.2.0" + "@babel/helper-builder-react-jsx": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2097,8 +2097,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz", "integrity": "sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-jsx": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2113,7 +2113,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", "requires": { - "regenerator-transform": "0.13.3" + "regenerator-transform": "^0.13.3" } }, "@babel/plugin-transform-runtime": { @@ -2121,10 +2121,10 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz", "integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==", "requires": { - "@babel/helper-module-imports": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "resolve": "1.8.1", - "semver": "5.6.0" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2144,7 +2144,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2159,7 +2159,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2174,8 +2174,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2190,8 +2190,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-annotate-as-pure": { @@ -2199,7 +2199,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -2212,9 +2212,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -2229,8 +2229,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.2.0.tgz", "integrity": "sha512-EnI7i2/gJ7ZNr2MuyvN2Hu+BHJENlxWte5XygPvfj/MbvtOkWor9zcnHpMMQL2YYaaCcqtIvJUyJ7QVfoGs7ew==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-typescript": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2245,9 +2245,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.0.0", - "regexpu-core": "4.4.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2262,13 +2262,13 @@ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.0.0.tgz", "integrity": "sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==", "requires": { - "core-js": "2.6.1", - "find-cache-dir": "1.0.0", - "home-or-tmp": "3.0.0", - "lodash": "4.17.11", - "mkdirp": "0.5.1", - "pirates": "4.0.0", - "source-map-support": "0.5.9" + "core-js": "^2.5.7", + "find-cache-dir": "^1.0.0", + "home-or-tmp": "^3.0.0", + "lodash": "^4.17.10", + "mkdirp": "^0.5.1", + "pirates": "^4.0.0", + "source-map-support": "^0.5.9" }, "dependencies": { "core-js": { @@ -2291,8 +2291,8 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } } } @@ -2302,7 +2302,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "requires": { - "regenerator-runtime": "0.12.1" + "regenerator-runtime": "^0.12.0" }, "dependencies": { "regenerator-runtime": { @@ -2317,9 +2317,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -2327,15 +2327,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" }, "dependencies": { "debug": { @@ -2343,7 +2343,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -2363,9 +2363,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" }, "dependencies": { "to-fast-properties": { @@ -2381,11 +2381,11 @@ "integrity": "sha512-E0ETZJUuJRHvjtb0f0U416NcDxt9T5HvRLxXu5K4DNxtmjpOfkT9Sh+Q309/zrCwSkHY85ZpGKvewZTSGI7Q1Q==", "requires": { "create-react-context": "0.2.2", - "hoist-non-react-statics": "3.2.1", - "path-to-regexp": "1.7.0", - "query-string": "6.2.0", - "react-is": "16.7.0", - "react-lifecycles-compat": "3.0.4" + "hoist-non-react-statics": "^3.0.1", + "path-to-regexp": "^1.7.0", + "query-string": "^6.2.0", + "react-is": "^16.5.2", + "react-lifecycles-compat": "^3.0.4" } }, "@react-navigation/native": { @@ -2393,10 +2393,10 @@ "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.0.3.tgz", "integrity": "sha512-1T3OnI6DpHPYvrb6OSMvdpcou0NAZKYBeOs66Uimy6oT5tkkj8jwaksAwuSCTIMxaRl1nROPd22yXYq6gBnUVA==", "requires": { - "hoist-non-react-statics": "3.2.1", - "react-native-gesture-handler": "1.0.12", - "react-native-safe-area-view": "0.11.0", - "react-native-screens": "1.0.0-alpha.19" + "hoist-non-react-statics": "^3.0.1", + "react-native-gesture-handler": "^1.0.0", + "react-native-safe-area-view": "^0.11.0", + "react-native-screens": "^1.0.0 || ^1.0.0-alpha" } }, "abab": { @@ -2421,8 +2421,8 @@ "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", "dev": true, "requires": { - "acorn": "6.0.4", - "acorn-walk": "6.1.1" + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" }, "dependencies": { "acorn": { @@ -2445,10 +2445,10 @@ "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "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": { @@ -2461,7 +2461,7 @@ "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "requires": { - "ansi-wrap": "0.1.0" + "ansi-wrap": "^0.1.0" } }, "ansi-cyan": { @@ -2513,8 +2513,8 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "requires": { - "micromatch": "3.1.10", - "normalize-path": "2.1.1" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" }, "dependencies": { "arr-diff": { @@ -2532,16 +2532,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -2549,7 +2549,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2559,13 +2559,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -2573,7 +2573,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -2581,7 +2581,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -2589,7 +2589,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -2597,7 +2597,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2607,7 +2607,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -2615,7 +2615,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2625,9 +2625,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -2642,14 +2642,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -2657,7 +2657,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -2665,7 +2665,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2675,10 +2675,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -2686,7 +2686,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2696,7 +2696,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -2704,7 +2704,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -2712,9 +2712,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -2722,7 +2722,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -2730,7 +2730,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2750,19 +2750,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -2773,7 +2773,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "are-we-there-yet": { @@ -2781,8 +2781,8 @@ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "argparse": { @@ -2790,7 +2790,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "arr-diff": { @@ -2798,7 +2798,7 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -2864,7 +2864,7 @@ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "~2.1.0" } }, "assert-plus": { @@ -2894,7 +2894,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "4.17.11" + "lodash": "^4.17.10" } }, "async-limiter": { @@ -2931,9 +2931,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "js-tokens": { @@ -2950,25 +2950,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.11", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" } }, "babel-generator": { @@ -2977,14 +2977,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" } }, "babel-helpers": { @@ -2993,8 +2993,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-jest": { @@ -3003,8 +3003,8 @@ "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", "dev": true, "requires": { - "babel-plugin-istanbul": "4.1.6", - "babel-preset-jest": "23.2.0" + "babel-plugin-istanbul": "^4.1.6", + "babel-preset-jest": "^23.2.0" }, "dependencies": { "babel-plugin-jest-hoist": { @@ -3019,8 +3019,8 @@ "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", "dev": true, "requires": { - "babel-plugin-jest-hoist": "23.2.0", - "babel-plugin-syntax-object-rest-spread": "6.13.0" + "babel-plugin-jest-hoist": "^23.2.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" } } } @@ -3031,7 +3031,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-istanbul": { @@ -3040,10 +3040,10 @@ "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", "dev": true, "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "find-up": "2.1.0", - "istanbul-lib-instrument": "1.10.1", - "test-exclude": "4.2.1" + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.10.1", + "test-exclude": "^4.2.1" }, "dependencies": { "find-up": { @@ -3052,7 +3052,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } } } @@ -3069,13 +3069,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.6.1", - "home-or-tmp": "2.0.0", - "lodash": "4.17.11", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" }, "dependencies": { "core-js": { @@ -3092,8 +3092,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" }, "dependencies": { "core-js": { @@ -3116,11 +3116,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.11" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -3129,15 +3129,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.11" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -3146,10 +3146,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -3168,13 +3168,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "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" }, "dependencies": { "define-property": { @@ -3182,7 +3182,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -3190,7 +3190,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3198,7 +3198,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3206,9 +3206,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -3239,7 +3239,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "big-integer": { @@ -3252,7 +3252,7 @@ "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=", "requires": { - "stream-buffers": "2.2.0" + "stream-buffers": "~2.2.0" } }, "bplist-parser": { @@ -3260,7 +3260,7 @@ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", "requires": { - "big-integer": "1.6.34" + "big-integer": "^1.6.7" } }, "brace-expansion": { @@ -3268,7 +3268,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -3277,9 +3277,9 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "browser-process-hrtime": { @@ -3315,9 +3315,9 @@ "resolved": "https://registry.npmjs.org/bugsnag-react-native/-/bugsnag-react-native-2.12.6.tgz", "integrity": "sha512-KJR1Uab6m2WCEP+HudUxl6w1WalsxLwwKf5YRJHkW0m/LZ72mdEv9ipJ/mEAYbyKPv3bL0y855GnlB4lcQ+7XQ==", "requires": { - "iserror": "0.0.2", - "promise": "7.3.1", - "prop-types": "15.6.2" + "iserror": "^0.0.2", + "promise": "^7", + "prop-types": "^15.6.0" } }, "builtin-modules": { @@ -3330,15 +3330,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "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" + "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" }, "dependencies": { "isobject": { @@ -3353,7 +3353,7 @@ "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "requires": { - "callsites": "2.0.0" + "callsites": "^2.0.0" } }, "caller-path": { @@ -3361,7 +3361,7 @@ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "requires": { - "caller-callsite": "2.0.0" + "caller-callsite": "^2.0.0" } }, "callsites": { @@ -3379,7 +3379,7 @@ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", "requires": { - "rsvp": "3.6.2" + "rsvp": "^3.3.3" } }, "caseless": { @@ -3393,11 +3393,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "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" } }, "chardet": { @@ -3416,10 +3416,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -3427,7 +3427,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "isobject": { @@ -3442,7 +3442,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-width": { @@ -3456,9 +3456,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3473,7 +3473,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3494,8 +3494,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-convert": { @@ -3522,7 +3522,7 @@ "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -3540,15 +3540,15 @@ "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", "requires": { - "commander": "2.17.1", - "detective": "4.7.1", - "glob": "5.0.15", - "graceful-fs": "4.1.11", - "iconv-lite": "0.4.23", - "mkdirp": "0.5.1", - "private": "0.1.8", - "q": "1.5.1", - "recast": "0.11.23" + "commander": "^2.5.0", + "detective": "^4.3.1", + "glob": "^5.0.15", + "graceful-fs": "^4.1.2", + "iconv-lite": "^0.4.5", + "mkdirp": "^0.5.0", + "private": "^0.1.6", + "q": "^1.1.2", + "recast": "^0.11.17" }, "dependencies": { "glob": { @@ -3556,11 +3556,11 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "recast": { @@ -3569,9 +3569,9 @@ "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", "requires": { "ast-types": "0.9.6", - "esprima": "3.1.3", - "private": "0.1.8", - "source-map": "0.5.7" + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" } } } @@ -3586,7 +3586,7 @@ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "requires": { - "mime-db": "1.35.0" + "mime-db": ">= 1.34.0 < 2" } }, "concat-map": { @@ -3599,10 +3599,10 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { - "buffer-from": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "convert-source-map": { @@ -3630,10 +3630,10 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", "requires": { - "import-fresh": "2.0.0", - "is-directory": "0.3.1", - "js-yaml": "3.12.0", - "parse-json": "4.0.0" + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.9.0", + "parse-json": "^4.0.0" }, "dependencies": { "parse-json": { @@ -3641,8 +3641,8 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "requires": { - "error-ex": "1.3.2", - "json-parse-better-errors": "1.0.2" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } } } @@ -3652,9 +3652,9 @@ "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", "requires": { - "fbjs": "0.8.17", - "loose-envify": "1.4.0", - "object-assign": "4.1.1" + "fbjs": "^0.8.9", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" } }, "create-react-context": { @@ -3662,8 +3662,8 @@ "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz", "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==", "requires": { - "fbjs": "0.8.17", - "gud": "1.0.0" + "fbjs": "^0.8.0", + "gud": "^1.0.0" } }, "cross-spawn": { @@ -3671,9 +3671,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "cssom": { @@ -3688,7 +3688,7 @@ "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", "dev": true, "requires": { - "cssom": "0.3.4" + "cssom": "0.3.x" } }, "dashdash": { @@ -3697,7 +3697,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "data-urls": { @@ -3706,9 +3706,9 @@ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "requires": { - "abab": "2.0.0", - "whatwg-mimetype": "2.3.0", - "whatwg-url": "7.0.0" + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" }, "dependencies": { "whatwg-url": { @@ -3717,9 +3717,9 @@ "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", "dev": true, "requires": { - "lodash.sortby": "4.7.0", - "tr46": "1.0.1", - "webidl-conversions": "4.0.2" + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } } } @@ -3754,7 +3754,7 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-properties": { @@ -3763,7 +3763,7 @@ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "object-keys": "1.0.12" + "object-keys": "^1.0.12" } }, "define-property": { @@ -3771,8 +3771,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -3780,7 +3780,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3788,7 +3788,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3796,9 +3796,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -3845,7 +3845,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "detect-newline": { @@ -3858,8 +3858,8 @@ "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "requires": { - "acorn": "5.7.3", - "defined": "1.0.0" + "acorn": "^5.2.1", + "defined": "^1.0.0" } }, "diff": { @@ -3879,7 +3879,7 @@ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "requires": { - "webidl-conversions": "4.0.2" + "webidl-conversions": "^4.0.2" } }, "ecc-jsbn": { @@ -3888,8 +3888,8 @@ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { - "jsbn": "0.1.1", - "safer-buffer": "2.1.2" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "ee-first": { @@ -3907,7 +3907,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "0.4.23" + "iconv-lite": "~0.4.13" } }, "error-ex": { @@ -3915,7 +3915,7 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -3924,11 +3924,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "1.2.0", - "function-bind": "1.1.1", - "has": "1.0.3", - "is-callable": "1.1.4", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -3937,9 +3937,9 @@ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "dev": true, "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.2" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, "escape-html": { @@ -3958,11 +3958,11 @@ "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { "source-map": { @@ -4005,7 +4005,7 @@ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", "requires": { - "merge": "1.2.0" + "merge": "^1.2.0" } }, "execa": { @@ -4013,13 +4013,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "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" } }, "exit": { @@ -4033,7 +4033,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -4041,7 +4041,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" } }, "expect": { @@ -4050,12 +4050,12 @@ "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "jest-diff": "23.6.0", - "jest-get-type": "22.4.3", - "jest-matcher-utils": "23.6.0", - "jest-message-util": "23.4.0", - "jest-regex-util": "23.3.0" + "ansi-styles": "^3.2.0", + "jest-diff": "^23.6.0", + "jest-get-type": "^22.1.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0" }, "dependencies": { "ansi-styles": { @@ -4064,7 +4064,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } } } @@ -4080,8 +4080,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -4089,7 +4089,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -4099,9 +4099,9 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -4109,7 +4109,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "extsprintf": { @@ -4123,9 +4123,9 @@ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", "requires": { - "ansi-gray": "0.1.1", - "color-support": "1.1.3", - "time-stamp": "1.1.0" + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "time-stamp": "^1.0.0" } }, "fast-deep-equal": { @@ -4151,7 +4151,7 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", "requires": { - "bser": "2.0.0" + "bser": "^2.0.0" }, "dependencies": { "bser": { @@ -4159,7 +4159,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "requires": { - "node-int64": "0.4.0" + "node-int64": "^0.4.0" } } } @@ -4169,13 +4169,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "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-css-vars": { @@ -4188,7 +4188,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "filename-regex": { @@ -4202,8 +4202,8 @@ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "requires": { - "glob": "7.1.2", - "minimatch": "3.0.4" + "glob": "^7.0.3", + "minimatch": "^3.0.3" } }, "fill-range": { @@ -4211,11 +4211,11 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.1.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "find-cache-dir": { @@ -4223,9 +4223,9 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-up": { @@ -4234,8 +4234,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "for-in": { @@ -4248,7 +4248,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "forever-agent": { @@ -4263,9 +4263,9 @@ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.7", - "mime-types": "2.1.21" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, "dependencies": { "mime-db": { @@ -4280,7 +4280,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "1.37.0" + "mime-db": "~1.37.0" } } } @@ -4290,7 +4290,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs-extra": { @@ -4298,9 +4298,9 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" } }, "fs.realpath": { @@ -4314,8 +4314,8 @@ "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "optional": true, "requires": { - "nan": "2.10.0", - "node-pre-gyp": "0.10.0" + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" }, "dependencies": { "abbrev": { @@ -4341,8 +4341,8 @@ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { @@ -4355,7 +4355,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -4419,7 +4419,7 @@ "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -4434,14 +4434,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "optional": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "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" } }, "glob": { @@ -4450,12 +4450,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "optional": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "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" } }, "has-unicode": { @@ -4470,7 +4470,7 @@ "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "optional": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "^2.1.0" } }, "ignore-walk": { @@ -4479,7 +4479,7 @@ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "optional": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { @@ -4488,8 +4488,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "optional": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -4508,7 +4508,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -4522,7 +4522,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -4535,8 +4535,8 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" } }, "minizlib": { @@ -4545,7 +4545,7 @@ "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -4568,9 +4568,9 @@ "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "optional": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.21", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { @@ -4579,16 +4579,16 @@ "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "optional": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.0", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.1" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { @@ -4597,8 +4597,8 @@ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "optional": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -4613,8 +4613,8 @@ "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "optional": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { @@ -4623,10 +4623,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -4645,7 +4645,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -4666,8 +4666,8 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -4688,10 +4688,10 @@ "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "optional": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -4708,13 +4708,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "optional": true, "requires": { - "core-util-is": "1.0.2", - "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.2" + "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" } }, "rimraf": { @@ -4723,7 +4723,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "optional": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -4766,9 +4766,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -4777,7 +4777,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "optional": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -4785,7 +4785,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -4800,13 +4800,13 @@ "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "optional": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.4", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -4821,7 +4821,7 @@ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -4847,11 +4847,11 @@ "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", "requires": { - "ansi": "0.3.1", - "has-unicode": "2.0.1", - "lodash.pad": "4.5.1", - "lodash.padend": "4.6.1", - "lodash.padstart": "4.6.1" + "ansi": "^0.3.0", + "has-unicode": "^2.0.0", + "lodash.pad": "^4.1.0", + "lodash.padend": "^4.1.0", + "lodash.padstart": "^4.1.0" } }, "get-caller-file": { @@ -4875,7 +4875,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -4883,12 +4883,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "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" } }, "glob-base": { @@ -4896,8 +4896,8 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -4905,7 +4905,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "global": { @@ -4913,8 +4913,8 @@ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "requires": { - "min-document": "2.19.0", - "process": "0.5.2" + "min-document": "^2.19.0", + "process": "~0.5.1" } }, "globals": { @@ -4944,10 +4944,10 @@ "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", "dev": true, "requires": { - "async": "2.6.1", - "optimist": "0.6.1", - "source-map": "0.6.1", - "uglify-js": "3.4.9" + "async": "^2.5.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" }, "dependencies": { "source-map": { @@ -4963,8 +4963,8 @@ "dev": true, "optional": true, "requires": { - "commander": "2.17.1", - "source-map": "0.6.1" + "commander": "~2.17.1", + "source-map": "~0.6.1" } } } @@ -4981,8 +4981,8 @@ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "6.6.2", - "har-schema": "2.0.0" + "ajv": "^6.5.5", + "har-schema": "^2.0.0" } }, "has": { @@ -4991,7 +4991,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -4999,7 +4999,7 @@ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -5023,9 +5023,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -5040,8 +5040,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -5049,7 +5049,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -5057,7 +5057,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5067,7 +5067,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5077,7 +5077,7 @@ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", "requires": { - "react-is": "16.7.0" + "react-is": "^16.3.2" } }, "home-or-tmp": { @@ -5086,8 +5086,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "hosted-git-info": { @@ -5101,7 +5101,7 @@ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { - "whatwg-encoding": "1.0.5" + "whatwg-encoding": "^1.0.1" } }, "http-signature": { @@ -5110,9 +5110,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.16.0" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "iconv-lite": { @@ -5120,7 +5120,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "image-size": { @@ -5138,8 +5138,8 @@ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", "requires": { - "caller-path": "2.0.0", - "resolve-from": "3.0.0" + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" } }, "import-local": { @@ -5148,8 +5148,8 @@ "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "dev": true, "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -5162,8 +5162,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -5176,20 +5176,20 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.11", + "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.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "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" }, "dependencies": { "ansi-regex": { @@ -5202,7 +5202,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5210,9 +5210,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "strip-ansi": { @@ -5220,7 +5220,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -5228,7 +5228,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5238,7 +5238,7 @@ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { - "loose-envify": "1.4.0" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -5251,7 +5251,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-arrayish": { @@ -5269,7 +5269,7 @@ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -5284,7 +5284,7 @@ "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "dev": true, "requires": { - "ci-info": "1.6.0" + "ci-info": "^1.5.0" } }, "is-data-descriptor": { @@ -5292,7 +5292,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-date-object": { @@ -5306,9 +5306,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -5333,7 +5333,7 @@ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -5352,7 +5352,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -5371,7 +5371,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { @@ -5379,7 +5379,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-plain-object": { @@ -5387,7 +5387,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -5418,7 +5418,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.3" + "has": "^1.0.1" } }, "is-stream": { @@ -5432,7 +5432,7 @@ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", "dev": true, "requires": { - "has-symbols": "1.0.0" + "has-symbols": "^1.0.0" } }, "is-typedarray": { @@ -5480,8 +5480,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.4" + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" } }, "isstream": { @@ -5496,17 +5496,17 @@ "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", "dev": true, "requires": { - "async": "2.6.1", - "fileset": "2.0.3", - "istanbul-lib-coverage": "1.2.1", - "istanbul-lib-hook": "1.2.2", - "istanbul-lib-instrument": "1.10.2", - "istanbul-lib-report": "1.1.5", - "istanbul-lib-source-maps": "1.2.6", - "istanbul-reports": "1.5.1", - "js-yaml": "3.12.0", - "mkdirp": "0.5.1", - "once": "1.4.0" + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.2.1", + "istanbul-lib-hook": "^1.2.2", + "istanbul-lib-instrument": "^1.10.2", + "istanbul-lib-report": "^1.1.5", + "istanbul-lib-source-maps": "^1.2.6", + "istanbul-reports": "^1.5.1", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" }, "dependencies": { "istanbul-lib-coverage": { @@ -5521,13 +5521,13 @@ "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.1", - "semver": "5.5.0" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" } } } @@ -5544,7 +5544,7 @@ "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -5553,13 +5553,13 @@ "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.0", - "semver": "5.5.0" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.0", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -5568,10 +5568,10 @@ "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.6", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { @@ -5592,7 +5592,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -5603,11 +5603,11 @@ "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", "dev": true, "requires": { - "debug": "3.2.6", - "istanbul-lib-coverage": "1.2.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -5616,7 +5616,7 @@ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "istanbul-lib-coverage": { @@ -5639,7 +5639,7 @@ "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", "dev": true, "requires": { - "handlebars": "4.0.12" + "handlebars": "^4.0.3" } }, "jest": { @@ -5648,8 +5648,8 @@ "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", "dev": true, "requires": { - "import-local": "1.0.0", - "jest-cli": "23.6.0" + "import-local": "^1.0.0", + "jest-cli": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -5664,7 +5664,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5673,9 +5673,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "jest-cli": { @@ -5684,42 +5684,42 @@ "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "exit": "0.1.2", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "import-local": "1.0.0", - "is-ci": "1.2.1", - "istanbul-api": "1.3.7", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-instrument": "1.10.1", - "istanbul-lib-source-maps": "1.2.6", - "jest-changed-files": "23.4.2", - "jest-config": "23.6.0", - "jest-environment-jsdom": "23.4.0", - "jest-get-type": "22.4.3", - "jest-haste-map": "23.6.0", - "jest-message-util": "23.4.0", - "jest-regex-util": "23.3.0", - "jest-resolve-dependencies": "23.6.0", - "jest-runner": "23.6.0", - "jest-runtime": "23.6.0", - "jest-snapshot": "23.6.0", - "jest-util": "23.4.0", - "jest-validate": "23.6.0", - "jest-watcher": "23.4.0", - "jest-worker": "23.2.0", - "micromatch": "2.3.11", - "node-notifier": "5.2.1", - "prompts": "0.1.14", - "realpath-native": "1.0.2", - "rimraf": "2.6.2", - "slash": "1.0.0", - "string-length": "2.0.0", - "strip-ansi": "4.0.0", - "which": "1.3.1", - "yargs": "11.1.0" + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "import-local": "^1.0.0", + "is-ci": "^1.0.10", + "istanbul-api": "^1.3.1", + "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-instrument": "^1.10.1", + "istanbul-lib-source-maps": "^1.2.4", + "jest-changed-files": "^23.4.2", + "jest-config": "^23.6.0", + "jest-environment-jsdom": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve-dependencies": "^23.6.0", + "jest-runner": "^23.6.0", + "jest-runtime": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "jest-watcher": "^23.4.0", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "node-notifier": "^5.2.1", + "prompts": "^0.1.9", + "realpath-native": "^1.0.0", + "rimraf": "^2.5.4", + "slash": "^1.0.0", + "string-length": "^2.0.0", + "strip-ansi": "^4.0.0", + "which": "^1.2.12", + "yargs": "^11.0.0" } }, "strip-ansi": { @@ -5728,7 +5728,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -5737,7 +5737,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5748,7 +5748,7 @@ "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", "dev": true, "requires": { - "throat": "4.1.0" + "throat": "^4.0.0" } }, "jest-config": { @@ -5757,20 +5757,20 @@ "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-jest": "23.6.0", - "chalk": "2.4.1", - "glob": "7.1.2", - "jest-environment-jsdom": "23.4.0", - "jest-environment-node": "23.4.0", - "jest-get-type": "22.4.3", - "jest-jasmine2": "23.6.0", - "jest-regex-util": "23.3.0", - "jest-resolve": "23.6.0", - "jest-util": "23.4.0", - "jest-validate": "23.6.0", - "micromatch": "2.3.11", - "pretty-format": "23.6.0" + "babel-core": "^6.0.0", + "babel-jest": "^23.6.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^23.4.0", + "jest-environment-node": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-jasmine2": "^23.6.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -5785,7 +5785,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5794,9 +5794,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -5805,8 +5805,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -5815,7 +5815,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5826,10 +5826,10 @@ "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", "dev": true, "requires": { - "chalk": "2.4.1", - "diff": "3.5.0", - "jest-get-type": "22.4.3", - "pretty-format": "23.6.0" + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -5844,7 +5844,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5853,9 +5853,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -5864,8 +5864,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -5874,7 +5874,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5885,7 +5885,7 @@ "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "dev": true, "requires": { - "detect-newline": "2.1.0" + "detect-newline": "^2.1.0" } }, "jest-each": { @@ -5894,8 +5894,8 @@ "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", "dev": true, "requires": { - "chalk": "2.4.1", - "pretty-format": "23.6.0" + "chalk": "^2.0.1", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -5910,7 +5910,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5919,9 +5919,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -5930,8 +5930,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -5940,7 +5940,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5951,9 +5951,9 @@ "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", "dev": true, "requires": { - "jest-mock": "23.2.0", - "jest-util": "23.4.0", - "jsdom": "11.12.0" + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0", + "jsdom": "^11.5.1" } }, "jest-environment-node": { @@ -5962,8 +5962,8 @@ "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", "dev": true, "requires": { - "jest-mock": "23.2.0", - "jest-util": "23.4.0" + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0" } }, "jest-get-type": { @@ -5978,14 +5978,14 @@ "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", "dev": true, "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "invariant": "2.2.4", - "jest-docblock": "23.2.0", - "jest-serializer": "23.0.1", - "jest-worker": "23.2.0", - "micromatch": "2.3.11", - "sane": "2.5.2" + "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-jasmine2": { @@ -5994,18 +5994,18 @@ "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", "dev": true, "requires": { - "babel-traverse": "6.26.0", - "chalk": "2.4.1", - "co": "4.6.0", - "expect": "23.6.0", - "is-generator-fn": "1.0.0", - "jest-diff": "23.6.0", - "jest-each": "23.6.0", - "jest-matcher-utils": "23.6.0", - "jest-message-util": "23.4.0", - "jest-snapshot": "23.6.0", - "jest-util": "23.4.0", - "pretty-format": "23.6.0" + "babel-traverse": "^6.0.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^23.6.0", + "is-generator-fn": "^1.0.0", + "jest-diff": "^23.6.0", + "jest-each": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -6020,7 +6020,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6029,9 +6029,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -6040,8 +6040,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -6050,7 +6050,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6061,7 +6061,7 @@ "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", "dev": true, "requires": { - "pretty-format": "23.6.0" + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -6076,7 +6076,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "pretty-format": { @@ -6085,8 +6085,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } } } @@ -6097,9 +6097,9 @@ "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", "dev": true, "requires": { - "chalk": "2.4.1", - "jest-get-type": "22.4.3", - "pretty-format": "23.6.0" + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -6114,7 +6114,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6123,9 +6123,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -6134,8 +6134,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -6144,7 +6144,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6155,11 +6155,11 @@ "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", "dev": true, "requires": { - "@babel/code-frame": "7.0.0", - "chalk": "2.4.1", - "micromatch": "2.3.11", - "slash": "1.0.0", - "stack-utils": "1.0.2" + "@babel/code-frame": "^7.0.0-beta.35", + "chalk": "^2.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0", + "stack-utils": "^1.0.1" }, "dependencies": { "ansi-styles": { @@ -6168,7 +6168,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6177,9 +6177,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -6188,7 +6188,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6211,9 +6211,9 @@ "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", "dev": true, "requires": { - "browser-resolve": "1.11.3", - "chalk": "2.4.1", - "realpath-native": "1.0.2" + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "realpath-native": "^1.0.0" }, "dependencies": { "ansi-styles": { @@ -6222,7 +6222,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6231,9 +6231,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -6242,7 +6242,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6253,8 +6253,8 @@ "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", "dev": true, "requires": { - "jest-regex-util": "23.3.0", - "jest-snapshot": "23.6.0" + "jest-regex-util": "^23.3.0", + "jest-snapshot": "^23.6.0" } }, "jest-runner": { @@ -6263,19 +6263,19 @@ "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", "dev": true, "requires": { - "exit": "0.1.2", - "graceful-fs": "4.1.11", - "jest-config": "23.6.0", - "jest-docblock": "23.2.0", - "jest-haste-map": "23.6.0", - "jest-jasmine2": "23.6.0", - "jest-leak-detector": "23.6.0", - "jest-message-util": "23.4.0", - "jest-runtime": "23.6.0", - "jest-util": "23.4.0", - "jest-worker": "23.2.0", - "source-map-support": "0.5.9", - "throat": "4.1.0" + "exit": "^0.1.2", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-docblock": "^23.2.0", + "jest-haste-map": "^23.6.0", + "jest-jasmine2": "^23.6.0", + "jest-leak-detector": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-runtime": "^23.6.0", + "jest-util": "^23.4.0", + "jest-worker": "^23.2.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" }, "dependencies": { "source-map": { @@ -6290,8 +6290,8 @@ "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "dev": true, "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } } } @@ -6302,27 +6302,27 @@ "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-plugin-istanbul": "4.1.6", - "chalk": "2.4.1", - "convert-source-map": "1.5.1", - "exit": "0.1.2", - "fast-json-stable-stringify": "2.0.0", - "graceful-fs": "4.1.11", - "jest-config": "23.6.0", - "jest-haste-map": "23.6.0", - "jest-message-util": "23.4.0", - "jest-regex-util": "23.3.0", - "jest-resolve": "23.6.0", - "jest-snapshot": "23.6.0", - "jest-util": "23.4.0", - "jest-validate": "23.6.0", - "micromatch": "2.3.11", - "realpath-native": "1.0.2", - "slash": "1.0.0", + "babel-core": "^6.0.0", + "babel-plugin-istanbul": "^4.1.6", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "exit": "^0.1.2", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "realpath-native": "^1.0.0", + "slash": "^1.0.0", "strip-bom": "3.0.0", - "write-file-atomic": "2.3.0", - "yargs": "11.1.0" + "write-file-atomic": "^2.1.0", + "yargs": "^11.0.0" }, "dependencies": { "ansi-styles": { @@ -6331,7 +6331,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6340,9 +6340,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "strip-bom": { @@ -6357,7 +6357,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "write-file-atomic": { @@ -6366,9 +6366,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } } } @@ -6384,16 +6384,16 @@ "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", "dev": true, "requires": { - "babel-types": "6.26.0", - "chalk": "2.4.1", - "jest-diff": "23.6.0", - "jest-matcher-utils": "23.6.0", - "jest-message-util": "23.4.0", - "jest-resolve": "23.6.0", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "pretty-format": "23.6.0", - "semver": "5.5.0" + "babel-types": "^6.0.0", + "chalk": "^2.0.1", + "jest-diff": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-resolve": "^23.6.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^23.6.0", + "semver": "^5.5.0" }, "dependencies": { "ansi-regex": { @@ -6408,7 +6408,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6417,9 +6417,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -6428,8 +6428,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -6438,7 +6438,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6449,14 +6449,14 @@ "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", "dev": true, "requires": { - "callsites": "2.0.0", - "chalk": "2.4.1", - "graceful-fs": "4.1.11", - "is-ci": "1.2.1", - "jest-message-util": "23.4.0", - "mkdirp": "0.5.1", - "slash": "1.0.0", - "source-map": "0.6.1" + "callsites": "^2.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "jest-message-util": "^23.4.0", + "mkdirp": "^0.5.1", + "slash": "^1.0.0", + "source-map": "^0.6.0" }, "dependencies": { "ansi-styles": { @@ -6465,7 +6465,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6474,9 +6474,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "source-map": { @@ -6491,7 +6491,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6502,10 +6502,10 @@ "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", "dev": true, "requires": { - "chalk": "2.4.1", - "jest-get-type": "22.4.3", - "leven": "2.1.0", - "pretty-format": "23.6.0" + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "leven": "^2.1.0", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -6520,7 +6520,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6529,9 +6529,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -6540,8 +6540,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -6550,7 +6550,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6561,9 +6561,9 @@ "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "string-length": "2.0.0" + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "string-length": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -6572,7 +6572,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6581,9 +6581,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -6592,7 +6592,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6602,7 +6602,7 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", "requires": { - "merge-stream": "1.0.1" + "merge-stream": "^1.0.1" } }, "js-tokens": { @@ -6615,8 +6615,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "requires": { - "argparse": "1.0.10", - "esprima": "4.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "dependencies": { "esprima": { @@ -6638,32 +6638,32 @@ "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", "dev": true, "requires": { - "abab": "2.0.0", - "acorn": "5.7.3", - "acorn-globals": "4.3.0", - "array-equal": "1.0.0", - "cssom": "0.3.4", - "cssstyle": "1.1.1", - "data-urls": "1.1.0", - "domexception": "1.0.1", - "escodegen": "1.11.0", - "html-encoding-sniffer": "1.0.2", - "left-pad": "1.3.0", - "nwsapi": "2.0.9", + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", "parse5": "4.0.0", - "pn": "1.1.0", - "request": "2.88.0", - "request-promise-native": "1.0.5", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.5.0", - "w3c-hr-time": "1.0.1", - "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.5", - "whatwg-mimetype": "2.3.0", - "whatwg-url": "6.5.0", - "ws": "5.2.2", - "xml-name-validator": "3.0.0" + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" }, "dependencies": { "sax": { @@ -6678,7 +6678,7 @@ "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", "dev": true, "requires": { - "async-limiter": "1.0.0" + "async-limiter": "~1.0.0" } } } @@ -6711,7 +6711,7 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stringify-safe": { @@ -6731,7 +6731,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsonify": { @@ -6756,7 +6756,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "klaw": { @@ -6764,7 +6764,7 @@ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "kleur": { @@ -6778,7 +6778,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "left-pad": { @@ -6799,8 +6799,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -6809,11 +6809,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -6821,8 +6821,8 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -6868,7 +6868,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "js-tokens": "4.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "lru-cache": { @@ -6876,8 +6876,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "make-dir": { @@ -6885,7 +6885,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" }, "dependencies": { "pify": { @@ -6900,7 +6900,7 @@ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "requires": { - "tmpl": "1.0.4" + "tmpl": "1.0.x" } }, "map-cache": { @@ -6913,7 +6913,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "math-random": { @@ -6926,7 +6926,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge": { @@ -6939,7 +6939,7 @@ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", "requires": { - "readable-stream": "2.3.6" + "readable-stream": "^2.0.1" } }, "metro": { @@ -6947,32 +6947,32 @@ "resolved": "https://registry.npmjs.org/metro/-/metro-0.48.5.tgz", "integrity": "sha512-aCarzjxdYqh+9I40bF+Hh1ayrwfPrnDwVOvpQg3VZFWU4wfeMiJb+tzeRN9p94cC/MKhBTOjRmUF3plzrHoe0w==", "requires": { - "@babel/core": "7.2.2", - "@babel/generator": "7.2.2", - "@babel/parser": "7.2.3", - "@babel/plugin-external-helpers": "7.2.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "absolute-path": "0.0.0", - "async": "2.6.1", - "babel-preset-fbjs": "3.1.0", - "chalk": "1.1.3", - "concat-stream": "1.6.2", - "connect": "3.6.6", - "debug": "2.6.9", - "denodeify": "1.2.1", - "eventemitter3": "3.1.0", - "fbjs": "1.0.0", - "fs-extra": "1.0.0", - "graceful-fs": "4.1.11", - "image-size": "0.6.3", + "@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", + "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", @@ -6981,21 +6981,21 @@ "metro-resolver": "0.48.5", "metro-source-map": "0.48.5", "mime-types": "2.1.11", - "mkdirp": "0.5.1", - "node-fetch": "2.3.0", - "nullthrows": "1.1.1", - "react-transform-hmr": "1.0.4", - "resolve": "1.8.1", - "rimraf": "2.6.2", - "serialize-error": "2.1.0", - "source-map": "0.5.7", + "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.3.4", - "ws": "1.1.5", - "xpipe": "1.0.5", - "yargs": "9.0.1" + "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" }, "dependencies": { "@babel/code-frame": { @@ -7003,7 +7003,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { @@ -7011,20 +7011,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helpers": "7.2.0", - "@babel/parser": "7.2.3", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "convert-source-map": "1.5.1", - "debug": "4.1.1", - "json5": "2.1.0", - "lodash": "4.17.11", - "resolve": "1.8.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" }, "dependencies": { "debug": { @@ -7032,7 +7032,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } } } @@ -7042,11 +7042,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -7054,7 +7054,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-define-map": { @@ -7062,9 +7062,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/helper-function-name": { @@ -7072,9 +7072,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -7082,7 +7082,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -7090,7 +7090,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -7098,7 +7098,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -7111,10 +7111,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -7122,7 +7122,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helpers": { @@ -7130,9 +7130,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -7140,9 +7140,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" }, "dependencies": { "chalk": { @@ -7150,9 +7150,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } } } @@ -7167,7 +7167,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -7175,8 +7175,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.11" + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { @@ -7184,14 +7184,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.1.0", - "@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.2.3", - "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.9.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@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.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" } }, "@babel/plugin-transform-for-of": { @@ -7199,7 +7199,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/template": { @@ -7207,9 +7207,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -7217,15 +7217,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" }, "dependencies": { "debug": { @@ -7233,7 +7233,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } } } @@ -7243,9 +7243,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -7253,7 +7253,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "arr-diff": { @@ -7276,33 +7276,33 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", "requires": { - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-syntax-class-properties": "7.2.0", - "@babel/plugin-syntax-flow": "7.2.0", - "@babel/plugin-syntax-jsx": "7.2.0", - "@babel/plugin-syntax-object-rest-spread": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoped-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-computed-properties": "7.2.0", - "@babel/plugin-transform-destructuring": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-for-of": "7.2.0", - "@babel/plugin-transform-function-name": "7.2.0", - "@babel/plugin-transform-literals": "7.2.0", - "@babel/plugin-transform-member-expression-literals": "7.2.0", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/plugin-transform-object-super": "7.2.0", - "@babel/plugin-transform-parameters": "7.2.0", - "@babel/plugin-transform-property-literals": "7.2.0", - "@babel/plugin-transform-react-display-name": "7.2.0", - "@babel/plugin-transform-react-jsx": "7.2.0", - "@babel/plugin-transform-shorthand-properties": "7.2.0", - "@babel/plugin-transform-spread": "7.2.2", - "@babel/plugin-transform-template-literals": "7.2.0", - "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" + "@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" } }, "braces": { @@ -7310,16 +7310,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -7327,7 +7327,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -7342,9 +7342,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -7352,9 +7352,9 @@ "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -7366,7 +7366,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "1.3.2", + "parseurl": "~1.3.2", "utils-merge": "1.0.1" } }, @@ -7380,13 +7380,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "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" } }, "expand-brackets": { @@ -7394,13 +7394,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -7408,7 +7408,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -7416,7 +7416,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -7424,7 +7424,7 @@ "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7432,7 +7432,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7442,7 +7442,7 @@ "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7450,7 +7450,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7460,9 +7460,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -7477,14 +7477,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -7492,7 +7492,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -7500,7 +7500,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -7510,14 +7510,14 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "core-js": "2.6.1", - "fbjs-css-vars": "1.0.2", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "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" } }, "fill-range": { @@ -7525,10 +7525,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -7536,7 +7536,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -7547,12 +7547,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" } }, "find-up": { @@ -7560,7 +7560,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "globals": { @@ -7573,7 +7573,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -7581,7 +7581,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -7589,9 +7589,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-fullwidth-code-point": { @@ -7599,7 +7599,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-number": { @@ -7607,7 +7607,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7615,7 +7615,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7630,7 +7630,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "requires": { - "detect-newline": "2.1.0" + "detect-newline": "^2.1.0" } }, "jest-haste-map": { @@ -7638,14 +7638,14 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "invariant": "2.2.4", - "jest-docblock": "23.2.0", - "jest-serializer": "23.0.1", - "jest-worker": "23.2.0", - "micromatch": "2.3.11", - "sane": "2.5.2" + "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" } }, "jsesc": { @@ -7658,7 +7658,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" } }, "kind-of": { @@ -7671,10 +7671,10 @@ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "metro-babel7-plugin-react-transform": { @@ -7682,7 +7682,7 @@ "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.48.5.tgz", "integrity": "sha512-S0cA0msHBGw7PSwB6nAsvtHEpQXVwzKBaE4AibLpaBiIVdWkYpIOok653zs9x+E9QvQgcghAnlVnDV+MDM+rSw==", "requires": { - "@babel/helper-module-imports": "7.0.0" + "@babel/helper-module-imports": "^7.0.0" } }, "metro-react-native-babel-preset": { @@ -7690,41 +7690,41 @@ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.48.5.tgz", "integrity": "sha512-ldG1bsusB5zlS1fhAiSLRjUA7I/Chn/dniaXTlkUpgiqyEAaDDmqhkDJ8gyZw3rhlLMVswlBd3o6I8yYti+57w==", "requires": { - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-export-default-from": "7.2.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-proposal-optional-catch-binding": "7.2.0", - "@babel/plugin-proposal-optional-chaining": "7.2.0", - "@babel/plugin-syntax-dynamic-import": "7.2.0", - "@babel/plugin-syntax-export-default-from": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-computed-properties": "7.2.0", - "@babel/plugin-transform-destructuring": "7.2.0", - "@babel/plugin-transform-exponentiation-operator": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-for-of": "7.2.0", - "@babel/plugin-transform-function-name": "7.2.0", - "@babel/plugin-transform-literals": "7.2.0", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/plugin-transform-object-assign": "7.2.0", - "@babel/plugin-transform-parameters": "7.2.0", - "@babel/plugin-transform-react-display-name": "7.2.0", - "@babel/plugin-transform-react-jsx": "7.2.0", - "@babel/plugin-transform-react-jsx-source": "7.2.0", - "@babel/plugin-transform-regenerator": "7.0.0", - "@babel/plugin-transform-runtime": "7.2.0", - "@babel/plugin-transform-shorthand-properties": "7.2.0", - "@babel/plugin-transform-spread": "7.2.2", - "@babel/plugin-transform-sticky-regex": "7.2.0", - "@babel/plugin-transform-template-literals": "7.2.0", - "@babel/plugin-transform-typescript": "7.2.0", - "@babel/plugin-transform-unicode-regex": "7.2.0", - "@babel/template": "7.2.2", + "@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" + "react-transform-hmr": "^1.0.4" } }, "ms": { @@ -7742,9 +7742,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "path-type": { @@ -7752,7 +7752,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -7760,9 +7760,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -7770,8 +7770,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "sane": { @@ -7779,15 +7779,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.2", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" }, "dependencies": { "micromatch": { @@ -7795,19 +7795,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -7827,7 +7827,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -7850,19 +7850,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.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.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "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" } }, "yargs-parser": { @@ -7870,7 +7870,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -7880,18 +7880,18 @@ "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.48.5.tgz", "integrity": "sha512-bJCessd7THqEfXrKEoj284XVjg9AGYbGqZiyV622l6ex9TvtVi1lToDY0TuAAuDXOm+V4vQXV7/HvR6JPP0dTQ==", "requires": { - "@babel/core": "7.2.2", - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-proposal-optional-catch-binding": "7.2.0", - "@babel/plugin-proposal-optional-chaining": "7.2.0", - "@babel/plugin-transform-async-to-generator": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/register": "7.0.0", - "core-js": "2.6.1", - "escape-string-regexp": "1.0.5" + "@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" }, "dependencies": { "@babel/code-frame": { @@ -7899,7 +7899,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { @@ -7907,20 +7907,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helpers": "7.2.0", - "@babel/parser": "7.2.3", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "convert-source-map": "1.5.1", - "debug": "4.1.1", - "json5": "2.1.0", - "lodash": "4.17.11", - "resolve": "1.8.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" } }, "@babel/generator": { @@ -7928,11 +7928,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -7940,9 +7940,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -7950,7 +7950,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -7958,7 +7958,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helpers": { @@ -7966,9 +7966,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -7976,9 +7976,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -7991,9 +7991,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -8001,15 +8001,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -8017,9 +8017,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -8027,7 +8027,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -8035,9 +8035,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "core-js": { @@ -8050,7 +8050,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -8068,7 +8068,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" } }, "ms": { @@ -8081,7 +8081,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -8097,7 +8097,7 @@ "integrity": "sha512-wzn4X9KgmAMZ7Bi6v9KxA7dw+AHGL0RODPxU5NDJ3A6d0yERvzfZ3qkzWhz8jbFkVBK12cu5DTho3HBazKQDOw==", "dev": true, "requires": { - "@babel/helper-module-imports": "7.0.0" + "@babel/helper-module-imports": "^7.0.0" } }, "metro-cache": { @@ -8107,8 +8107,8 @@ "requires": { "jest-serializer": "23.0.1", "metro-core": "0.48.5", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4" } }, "metro-config": { @@ -8116,11 +8116,11 @@ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.48.5.tgz", "integrity": "sha512-b+EmFgBOAEUM5THjJ2EU6CJxnULLC5V1Q8S8dz4xX4v96eLIsRCLPrXgYKATHJTVi0qw99ATVRsOBZVZ77fwjg==", "requires": { - "cosmiconfig": "5.0.7", + "cosmiconfig": "^5.0.5", "metro": "0.48.5", "metro-cache": "0.48.5", "metro-core": "0.48.5", - "pretty-format": "23.6.0" + "pretty-format": "^23.4.1" }, "dependencies": { "ansi-regex": { @@ -8133,7 +8133,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "pretty-format": { @@ -8141,8 +8141,8 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } } } @@ -8153,9 +8153,9 @@ "integrity": "sha512-Yp0BOAHhxf/qdNkwJhemVdD2Y59iyaTjwxUimCmeD8u5VEL6mLgEC1S0KczyWEiAgX3Fs48rezCAcx3mo67wXg==", "requires": { "jest-haste-map": "23.5.0", - "lodash.throttle": "4.1.1", + "lodash.throttle": "^4.1.1", "metro-resolver": "0.48.5", - "wordwrap": "1.0.0" + "wordwrap": "^1.0.0" }, "dependencies": { "arr-diff": { @@ -8173,16 +8173,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -8190,7 +8190,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8200,13 +8200,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -8214,7 +8214,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -8222,7 +8222,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -8230,7 +8230,7 @@ "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -8238,7 +8238,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -8248,7 +8248,7 @@ "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -8256,7 +8256,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -8266,9 +8266,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -8283,14 +8283,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -8298,7 +8298,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -8306,7 +8306,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8316,10 +8316,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -8327,7 +8327,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8337,7 +8337,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8345,7 +8345,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8353,9 +8353,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -8363,7 +8363,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -8371,7 +8371,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -8386,7 +8386,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "requires": { - "detect-newline": "2.1.0" + "detect-newline": "^2.1.0" } }, "jest-haste-map": { @@ -8394,14 +8394,14 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "invariant": "2.2.4", - "jest-docblock": "23.2.0", - "jest-serializer": "23.0.1", - "jest-worker": "23.2.0", - "micromatch": "2.3.11", - "sane": "2.5.2" + "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" } }, "kind-of": { @@ -8414,15 +8414,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.2", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" }, "dependencies": { "micromatch": { @@ -8430,19 +8430,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -8459,7 +8459,7 @@ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.48.5.tgz", "integrity": "sha512-tiHVYlUMuL91YjQPx9BzzzXy5jAAA5SWLqlvWfmM6m9faWtFeCv8Se27vVNuPDkOPYyL8qPCRhUpZMUhA0yN2g==", "requires": { - "uglify-es": "3.3.9" + "uglify-es": "^3.1.9" } }, "metro-react-native-babel-preset": { @@ -8468,41 +8468,41 @@ "integrity": "sha512-e9tsYDFhU70gar0jQWcZXRPJVCv4k7tEs6Pm74wXO2OO/T1MEumbvniDIGwGG8bG8RUnYdHhjcaiub2Vc5BRWw==", "dev": true, "requires": { - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-export-default-from": "7.2.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-proposal-optional-catch-binding": "7.2.0", - "@babel/plugin-proposal-optional-chaining": "7.2.0", - "@babel/plugin-syntax-dynamic-import": "7.2.0", - "@babel/plugin-syntax-export-default-from": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-computed-properties": "7.2.0", - "@babel/plugin-transform-destructuring": "7.2.0", - "@babel/plugin-transform-exponentiation-operator": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-for-of": "7.2.0", - "@babel/plugin-transform-function-name": "7.2.0", - "@babel/plugin-transform-literals": "7.2.0", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/plugin-transform-object-assign": "7.2.0", - "@babel/plugin-transform-parameters": "7.2.0", - "@babel/plugin-transform-react-display-name": "7.2.0", - "@babel/plugin-transform-react-jsx": "7.2.0", - "@babel/plugin-transform-react-jsx-source": "7.2.0", - "@babel/plugin-transform-regenerator": "7.0.0", - "@babel/plugin-transform-runtime": "7.2.0", - "@babel/plugin-transform-shorthand-properties": "7.2.0", - "@babel/plugin-transform-spread": "7.2.2", - "@babel/plugin-transform-sticky-regex": "7.2.0", - "@babel/plugin-transform-template-literals": "7.2.0", - "@babel/plugin-transform-typescript": "7.2.0", - "@babel/plugin-transform-unicode-regex": "7.2.0", - "@babel/template": "7.2.2", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.0.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", "metro-babel7-plugin-react-transform": "0.51.1", - "react-transform-hmr": "1.0.4" + "react-transform-hmr": "^1.0.4" }, "dependencies": { "@babel/code-frame": { @@ -8511,7 +8511,7 @@ "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "dev": true, "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -8520,11 +8520,11 @@ "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "dev": true, "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -8533,7 +8533,7 @@ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-define-map": { @@ -8542,9 +8542,9 @@ "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "dev": true, "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/helper-function-name": { @@ -8553,9 +8553,9 @@ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -8564,7 +8564,7 @@ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -8573,7 +8573,7 @@ "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -8582,7 +8582,7 @@ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -8597,10 +8597,10 @@ "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -8609,7 +8609,7 @@ "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -8618,9 +8618,9 @@ "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "dev": true, "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -8635,7 +8635,7 @@ "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -8644,8 +8644,8 @@ "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.11" + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { @@ -8654,14 +8654,14 @@ "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.1.0", - "@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.2.3", - "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.9.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@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.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" } }, "@babel/plugin-transform-for-of": { @@ -8670,7 +8670,7 @@ "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/template": { @@ -8679,9 +8679,9 @@ "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -8690,15 +8690,15 @@ "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -8707,9 +8707,9 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "dev": true, "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -8718,7 +8718,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -8727,9 +8727,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -8738,7 +8738,7 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -8765,7 +8765,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -8781,7 +8781,7 @@ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.48.5.tgz", "integrity": "sha512-lScSpLJKZMmNPRwvcY6zj28AwMOcI1M5bCCv+m06VWcISCTq1KlaKVwqLKmFgUtPkoFtFLD+PVKRKCRUxj1opg==", "requires": { - "absolute-path": "0.0.0" + "absolute-path": "^0.0.0" } }, "metro-source-map": { @@ -8789,7 +8789,7 @@ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.48.5.tgz", "integrity": "sha512-+BbcU9vfEl/XhMlVV0RwuHuEkai4lq7RmlQkxgoOoWl1u0yXCAPRZ5sqa326fPlJzElOR3cp0y7+Oc2nbIguyg==", "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "micromatch": { @@ -8797,19 +8797,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "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" } }, "mime": { @@ -8827,7 +8827,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", "requires": { - "mime-db": "1.23.0" + "mime-db": "~1.23.0" }, "dependencies": { "mime-db": { @@ -8847,7 +8847,7 @@ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { - "dom-walk": "0.1.1" + "dom-walk": "^0.1.0" } }, "minimatch": { @@ -8855,7 +8855,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -8868,8 +8868,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -8877,7 +8877,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -8923,17 +8923,17 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "arr-diff": { @@ -8964,8 +8964,8 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" + "encoding": "^0.1.11", + "is-stream": "^1.0.1" } }, "node-int64": { @@ -8983,10 +8983,10 @@ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", "requires": { - "growly": "1.3.0", - "semver": "5.5.0", - "shellwords": "0.1.1", - "which": "1.3.1" + "growly": "^1.3.0", + "semver": "^5.4.1", + "shellwords": "^0.1.1", + "which": "^1.3.0" } }, "normalize-package-data": { @@ -8994,10 +8994,10 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "requires": { - "hosted-git-info": "2.7.1", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.4" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -9005,7 +9005,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { @@ -9013,7 +9013,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "npmlog": { @@ -9021,9 +9021,9 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", "requires": { - "ansi": "0.3.1", - "are-we-there-yet": "1.1.5", - "gauge": "1.2.7" + "ansi": "~0.3.1", + "are-we-there-yet": "~1.1.2", + "gauge": "~1.2.5" } }, "nullthrows": { @@ -9058,9 +9058,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -9068,7 +9068,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -9084,7 +9084,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -9100,8 +9100,8 @@ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "dev": true, "requires": { - "define-properties": "1.1.3", - "es-abstract": "1.12.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" } }, "object.omit": { @@ -9109,8 +9109,8 @@ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.pick": { @@ -9118,7 +9118,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -9146,7 +9146,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -9154,7 +9154,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "opn": { @@ -9162,7 +9162,7 @@ "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=", "requires": { - "object-assign": "4.1.1" + "object-assign": "^4.0.1" } }, "optimist": { @@ -9170,8 +9170,8 @@ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { - "minimist": "0.0.10", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" }, "dependencies": { "minimist": { @@ -9192,12 +9192,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, "options": { @@ -9216,9 +9216,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "os-tmpdir": { @@ -9236,7 +9236,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -9244,7 +9244,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { - "p-limit": "1.3.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -9257,10 +9257,10 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -9268,7 +9268,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { - "error-ex": "1.3.2" + "error-ex": "^1.2.0" } }, "parse5": { @@ -9293,7 +9293,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -9332,9 +9332,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "performance-now": { @@ -9360,7 +9360,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pirates": { @@ -9368,7 +9368,7 @@ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.0.tgz", "integrity": "sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA==", "requires": { - "node-modules-regexp": "1.0.0" + "node-modules-regexp": "^1.0.0" } }, "pkg-dir": { @@ -9376,7 +9376,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" }, "dependencies": { "find-up": { @@ -9384,7 +9384,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } } } @@ -9394,11 +9394,11 @@ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", "requires": { - "ansi-cyan": "0.1.1", - "ansi-red": "0.1.1", - "arr-diff": "1.1.0", - "arr-union": "2.1.0", - "extend-shallow": "1.1.4" + "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" }, "dependencies": { "arr-diff": { @@ -9406,8 +9406,8 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", "requires": { - "arr-flatten": "1.1.0", - "array-slice": "0.2.3" + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" } }, "arr-union": { @@ -9420,7 +9420,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", "requires": { - "kind-of": "1.1.0" + "kind-of": "^1.1.0" } }, "kind-of": { @@ -9477,7 +9477,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "prompts": { @@ -9486,8 +9486,8 @@ "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", "dev": true, "requires": { - "kleur": "2.0.2", - "sisteransi": "0.1.1" + "kleur": "^2.0.1", + "sisteransi": "^0.1.1" } }, "prop-types": { @@ -9495,8 +9495,8 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "requires": { - "loose-envify": "1.4.0", - "object-assign": "4.1.1" + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" } }, "pseudomap": { @@ -9532,8 +9532,8 @@ "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.2.0.tgz", "integrity": "sha512-5wupExkIt8RYL4h/FE+WTg3JHk62e6fFPWtAZA9J5IWK1PfTfKkMS93HBUHcFpeYi9KsY5pFbh+ldvEyaz5MyA==", "requires": { - "decode-uri-component": "0.2.0", - "strict-uri-encode": "2.0.0" + "decode-uri-component": "^0.2.0", + "strict-uri-encode": "^2.0.0" } }, "randomatic": { @@ -9541,9 +9541,9 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -9563,10 +9563,10 @@ "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz", "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==", "requires": { - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "prop-types": "15.6.2", - "scheduler": "0.11.3" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.11.2" } }, "react-clone-referenced-element": { @@ -9594,58 +9594,58 @@ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.57.8.tgz", "integrity": "sha512-K6DAMTPTq+lxVYC73y4Kh/bgLajddBaIKzwsVeV4JOoS1Fdq48/ISXD3vApV+x+/IBVTXnrT9qlA+9U6MMZCqA==", "requires": { - "@babel/runtime": "7.2.0", - "absolute-path": "0.0.0", - "art": "0.10.3", - "base64-js": "1.3.0", - "chalk": "1.1.3", - "commander": "2.17.1", - "compression": "1.7.3", - "connect": "3.6.6", - "create-react-class": "15.6.3", - "debug": "2.6.9", - "denodeify": "1.2.1", - "envinfo": "5.12.1", - "errorhandler": "1.5.0", - "escape-string-regexp": "1.0.5", - "event-target-shim": "1.1.1", - "fbjs": "1.0.0", - "fbjs-scripts": "1.0.1", - "fs-extra": "1.0.0", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "inquirer": "3.3.0", - "lodash": "4.17.11", - "metro": "0.48.5", - "metro-babel-register": "0.48.5", - "metro-core": "0.48.5", - "metro-memory-fs": "0.48.5", - "mime": "1.6.0", - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "morgan": "1.9.1", - "node-fetch": "2.3.0", - "node-notifier": "5.2.1", - "npmlog": "2.0.4", - "opn": "3.0.3", - "optimist": "0.6.1", - "plist": "3.0.1", - "pretty-format": "4.3.1", - "promise": "7.3.1", - "prop-types": "15.6.2", - "react-clone-referenced-element": "1.0.1", - "react-devtools-core": "3.4.3", - "react-timer-mixin": "0.13.4", - "regenerator-runtime": "0.11.1", - "rimraf": "2.6.2", - "semver": "5.5.0", - "serve-static": "1.13.2", + "@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.4", - "ws": "1.1.5", - "xcode": "1.1.0", - "xmldoc": "0.4.0", - "yargs": "9.0.1" + "stacktrace-parser": "^0.1.3", + "ws": "^1.1.5", + "xcode": "^1.0.0", + "xmldoc": "^0.4.0", + "yargs": "^9.0.0" }, "dependencies": { "@babel/code-frame": { @@ -9653,7 +9653,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { @@ -9661,20 +9661,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helpers": "7.2.0", - "@babel/parser": "7.2.3", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "convert-source-map": "1.5.1", - "debug": "4.1.1", - "json5": "2.1.0", - "lodash": "4.17.11", - "resolve": "1.8.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" }, "dependencies": { "debug": { @@ -9682,7 +9682,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } } } @@ -9692,11 +9692,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -9704,7 +9704,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-define-map": { @@ -9712,9 +9712,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/helper-function-name": { @@ -9722,9 +9722,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -9732,7 +9732,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -9740,7 +9740,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -9748,7 +9748,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -9761,10 +9761,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -9772,7 +9772,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helpers": { @@ -9780,9 +9780,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -9790,9 +9790,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" }, "dependencies": { "chalk": { @@ -9800,9 +9800,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } } } @@ -9817,7 +9817,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -9825,8 +9825,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.11" + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { @@ -9834,14 +9834,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.1.0", - "@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.2.3", - "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.9.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@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.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" } }, "@babel/plugin-transform-for-of": { @@ -9849,7 +9849,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/runtime": { @@ -9857,7 +9857,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "requires": { - "regenerator-runtime": "0.12.1" + "regenerator-runtime": "^0.12.0" }, "dependencies": { "regenerator-runtime": { @@ -9872,9 +9872,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -9882,15 +9882,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" }, "dependencies": { "debug": { @@ -9898,7 +9898,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } } } @@ -9908,9 +9908,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "accepts": { @@ -9918,7 +9918,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "2.1.21", + "mime-types": "~2.1.18", "negotiator": "0.6.1" } }, @@ -9927,7 +9927,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "babel-plugin-syntax-trailing-function-commas": { @@ -9940,33 +9940,33 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", "requires": { - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-syntax-class-properties": "7.2.0", - "@babel/plugin-syntax-flow": "7.2.0", - "@babel/plugin-syntax-jsx": "7.2.0", - "@babel/plugin-syntax-object-rest-spread": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoped-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-computed-properties": "7.2.0", - "@babel/plugin-transform-destructuring": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-for-of": "7.2.0", - "@babel/plugin-transform-function-name": "7.2.0", - "@babel/plugin-transform-literals": "7.2.0", - "@babel/plugin-transform-member-expression-literals": "7.2.0", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/plugin-transform-object-super": "7.2.0", - "@babel/plugin-transform-parameters": "7.2.0", - "@babel/plugin-transform-property-literals": "7.2.0", - "@babel/plugin-transform-react-display-name": "7.2.0", - "@babel/plugin-transform-react-jsx": "7.2.0", - "@babel/plugin-transform-shorthand-properties": "7.2.0", - "@babel/plugin-transform-spread": "7.2.2", - "@babel/plugin-transform-template-literals": "7.2.0", - "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" + "@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" } }, "basic-auth": { @@ -9992,9 +9992,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -10002,9 +10002,9 @@ "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -10014,13 +10014,13 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.5", "bytes": "3.0.0", - "compressible": "2.0.14", + "compressible": "~2.0.14", "debug": "2.6.9", - "on-headers": "1.0.1", + "on-headers": "~1.0.1", "safe-buffer": "5.1.2", - "vary": "1.1.2" + "vary": "~1.1.2" } }, "connect": { @@ -10030,7 +10030,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "1.3.2", + "parseurl": "~1.3.2", "utils-merge": "1.0.1" } }, @@ -10054,8 +10054,8 @@ "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.0.tgz", "integrity": "sha1-6rpkyl1UKjEayUX1gt78M2Fl2fQ=", "requires": { - "accepts": "1.3.5", - "escape-html": "1.0.3" + "accepts": "~1.3.3", + "escape-html": "~1.0.3" } }, "etag": { @@ -10068,13 +10068,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "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" } }, "fbjs": { @@ -10082,14 +10082,14 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "core-js": "2.6.1", - "fbjs-css-vars": "1.0.2", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "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" } }, "fbjs-scripts": { @@ -10097,16 +10097,16 @@ "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-1.0.1.tgz", "integrity": "sha512-x8bfX7k0z5B24Ue0YqjZq/2QxxaKZUNbkGdX//zbQDElMJFqBRrvRi8O3qds7UNNzs78jYqIYCS32Sk/wu5UJg==", "requires": { - "@babel/core": "7.2.2", - "ansi-colors": "1.1.0", - "babel-preset-fbjs": "3.1.0", - "core-js": "2.6.1", - "cross-spawn": "5.1.0", - "fancy-log": "1.3.2", - "object-assign": "4.1.1", - "plugin-error": "0.1.2", - "semver": "5.5.0", - "through2": "2.0.3" + "@babel/core": "^7.0.0", + "ansi-colors": "^1.0.1", + "babel-preset-fbjs": "^3.0.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" } }, "finalhandler": { @@ -10115,12 +10115,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" } }, "find-up": { @@ -10128,7 +10128,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "fresh": { @@ -10146,10 +10146,10 @@ "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { - "depd": "1.1.2", + "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": "1.5.0" + "statuses": ">= 1.4.0 < 2" }, "dependencies": { "statuses": { @@ -10164,7 +10164,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "jsesc": { @@ -10177,7 +10177,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" } }, "load-json-file": { @@ -10185,10 +10185,10 @@ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "mime-db": { @@ -10201,7 +10201,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "requires": { - "mime-db": "1.37.0" + "mime-db": "~1.37.0" } }, "morgan": { @@ -10209,11 +10209,11 @@ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", "requires": { - "basic-auth": "2.0.1", + "basic-auth": "~2.0.0", "debug": "2.6.9", - "depd": "1.1.2", - "on-finished": "2.3.0", - "on-headers": "1.0.1" + "depd": "~1.1.2", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" } }, "ms": { @@ -10236,9 +10236,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "path-type": { @@ -10246,7 +10246,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "plist": { @@ -10254,9 +10254,9 @@ "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", "requires": { - "base64-js": "1.3.0", - "xmlbuilder": "9.0.7", - "xmldom": "0.1.27" + "base64-js": "^1.2.3", + "xmlbuilder": "^9.0.7", + "xmldom": "0.1.x" } }, "range-parser": { @@ -10269,8 +10269,8 @@ "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.4.3.tgz", "integrity": "sha512-t3f6cRH5YSKv8qjRl1Z+1e0OwBZwJSdOAhJ9QAJdVKML7SmqAKKv3DxF+Ue03pE1N2UipPsLmaNcPzzMjIdZQg==", "requires": { - "shell-quote": "1.6.1", - "ws": "3.3.3" + "shell-quote": "^1.6.1", + "ws": "^3.3.1" }, "dependencies": { "ws": { @@ -10278,9 +10278,9 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "requires": { - "async-limiter": "1.0.0", - "safe-buffer": "5.1.2", - "ultron": "1.1.1" + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" } } } @@ -10290,9 +10290,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -10300,8 +10300,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "regenerator-runtime": { @@ -10315,18 +10315,18 @@ "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "requires": { "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", + "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.6.3", + "http-errors": "~1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.4.0" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" }, "dependencies": { "mime": { @@ -10351,9 +10351,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", "send": "0.16.2" } }, @@ -10372,7 +10372,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -10400,8 +10400,8 @@ "resolved": "https://registry.npmjs.org/xcode/-/xcode-1.1.0.tgz", "integrity": "sha512-hllHFtfsNu5WbVzj8KbGNdI3NgOYmTLZqyF4a9c9J1aGMhAdxmLLsXlpG0Bz8fEtKh6I3pyargRXN0ZlLpcF5w==", "requires": { - "simple-plist": "0.2.1", - "uuid": "3.3.2" + "simple-plist": "^0.2.1", + "uuid": "^3.3.2" } }, "xmlbuilder": { @@ -10414,19 +10414,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.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.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "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" } }, "yargs-parser": { @@ -10434,7 +10434,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -10449,8 +10449,8 @@ "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.13.3.tgz", "integrity": "sha512-B62LSSAEYQGItg7KVTzTVVCxezOYFBYp4DMVFbdoZUd1mZVFdqR2sy1HY1mye1VI/Lf3IbxSyZEQ0GmrrdwLjg==", "requires": { - "base-64": "0.1.0", - "utf8": "2.1.2" + "base-64": "^0.1.0", + "utf8": "^2.1.1" } }, "react-native-gesture-handler": { @@ -10458,9 +10458,9 @@ "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.12.tgz", "integrity": "sha512-Qp5FjRmqUFeCevSu2IYQG1Xw+YXZ9YOzqze/ZxaIvWzYAoKsRchlgHhNoxvCqElp/befrnVFIjAEQyUxcmBKJw==", "requires": { - "hoist-non-react-statics": "2.5.5", - "invariant": "2.2.4", - "prop-types": "15.6.2" + "hoist-non-react-statics": "^2.3.1", + "invariant": "^2.2.2", + "prop-types": "^15.5.10" }, "dependencies": { "hoist-non-react-statics": { @@ -10485,7 +10485,7 @@ "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.11.0.tgz", "integrity": "sha512-N3nElaahu1Me2ltnfc9acpgt1znm6pi8DSadKy79kvdzKwvVIzw0IXueA/Hjr51eCW1BsfNw7D1SgBT9U6qEkA==", "requires": { - "hoist-non-react-statics": "2.5.5" + "hoist-non-react-statics": "^2.3.1" }, "dependencies": { "hoist-non-react-statics": { @@ -10510,7 +10510,7 @@ "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.3.1.tgz", "integrity": "sha512-QNt6VkEW8SP1UJ7yjD5P4bOTWwHQfoIMD5CqnA06pcubdNwHR1NmjiNZsVnIvp5wAEVbW6yTHjLXOh1fzab4xg==", "requires": { - "prop-types": "15.6.2" + "prop-types": "^15.6.1" } }, "react-native-vector-icons": { @@ -10518,9 +10518,9 @@ "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.1.0.tgz", "integrity": "sha512-1GF5I4VWgwnzBtVfAKNgEiR5ziHi5QaKL381wwApMzuiFgIJMNt5XIChuKwKoaiB86s+P5iMcYWxYCyENL96lA==", "requires": { - "lodash": "4.17.11", - "prop-types": "15.6.2", - "yargs": "8.0.2" + "lodash": "^4.0.0", + "prop-types": "^15.6.2", + "yargs": "^8.0.2" }, "dependencies": { "cliui": { @@ -10528,9 +10528,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -10538,9 +10538,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -10550,7 +10550,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "is-fullwidth-code-point": { @@ -10558,7 +10558,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "load-json-file": { @@ -10566,10 +10566,10 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "path-type": { @@ -10577,7 +10577,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -10585,9 +10585,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -10595,8 +10595,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "strip-bom": { @@ -10609,19 +10609,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.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.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "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" } }, "yargs-parser": { @@ -10629,7 +10629,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -10651,7 +10651,7 @@ "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-1.0.5.tgz", "integrity": "sha512-WeGrXFn84R75IAt3ndDfkHw9FNvPsi4JPGO1iopqUoA/2tMPA6WJbhuE3dqmmEu3TZRjI+2LatCgpx00tT1kiQ==", "requires": { - "react-native-tab-view": "1.3.1" + "react-native-tab-view": "^1.2.0" } }, "react-navigation-header-buttons": { @@ -10659,7 +10659,7 @@ "resolved": "https://registry.npmjs.org/react-navigation-header-buttons/-/react-navigation-header-buttons-2.1.1.tgz", "integrity": "sha512-ZWqwvdOBDduAGr1WpmHWbCMmSx9ZpuKdnFOByt9iOSZwwQwMP2f98rkePAlYXlTcThgaqbpdt7jcktAcG056fA==", "requires": { - "react-native-platform-touchable": "1.1.1" + "react-native-platform-touchable": "^1.1.1" } }, "react-navigation-stack": { @@ -10672,10 +10672,10 @@ "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.0.2.tgz", "integrity": "sha512-ffWPVdo+L0GLbQlLAzH7ITYqh9V9NdqT/juj8QtESH5/2yUqfvqTxQoSowvFIrtiIHHFH6tLoQy1sZZciTxmeg==", "requires": { - "hoist-non-react-statics": "2.5.5", - "prop-types": "15.6.2", - "react-lifecycles-compat": "3.0.4", - "react-native-tab-view": "1.3.1" + "hoist-non-react-statics": "^2.5.0", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4", + "react-native-tab-view": "^1.0.0" }, "dependencies": { "hoist-non-react-statics": { @@ -10690,8 +10690,8 @@ "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=", "requires": { - "lodash": "4.17.11", - "react-deep-force-update": "1.1.1" + "lodash": "^4.6.1", + "react-deep-force-update": "^1.0.0" } }, "react-test-renderer": { @@ -10700,10 +10700,10 @@ "integrity": "sha512-B5bCer+qymrQz/wN03lT0LppbZUDRq6AMfzMKrovzkGzfO81a9T+PWQW6MzkWknbwODQH/qpJno/yFQLX5IWrQ==", "dev": true, "requires": { - "object-assign": "4.1.1", - "prop-types": "15.6.2", - "react-is": "16.7.0", - "scheduler": "0.11.3" + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "react-is": "^16.6.3", + "scheduler": "^0.11.2" } }, "react-timer-mixin": { @@ -10716,8 +10716,8 @@ "resolved": "https://registry.npmjs.org/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz", "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=", "requires": { - "global": "4.3.2", - "react-proxy": "1.1.8" + "global": "^4.3.0", + "react-proxy": "^1.1.7" } }, "read-pkg": { @@ -10726,9 +10726,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -10737,8 +10737,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "readable-stream": { @@ -10746,13 +10746,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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" } }, "realpath-native": { @@ -10761,7 +10761,7 @@ "integrity": "sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g==", "dev": true, "requires": { - "util.promisify": "1.0.0" + "util.promisify": "^1.0.0" } }, "recast": { @@ -10770,9 +10770,9 @@ "integrity": "sha512-ZUQm94F3AHozRaTo4Vz6yIgkSEZIL7p+BsWeGZ23rx+ZVRoqX+bvBA8br0xmCOU0DSR4qYGtV7Y5HxTsC4V78A==", "requires": { "ast-types": "0.11.6", - "esprima": "4.0.1", - "private": "0.1.8", - "source-map": "0.6.1" + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" }, "dependencies": { "ast-types": { @@ -10802,7 +10802,7 @@ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", "requires": { - "regenerate": "1.4.0" + "regenerate": "^1.4.0" } }, "regenerator": { @@ -10810,16 +10810,16 @@ "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.13.3.tgz", "integrity": "sha512-vePgoVGUgXfLBw4Z1hv8PTfmt7TW5dT/cMdq2GCdr3TYoPTE1WUU/KjiaZCOLD/JSyGWJMWhMRDYBLbpmVzkFw==", "requires": { - "@babel/core": "7.2.2", - "@babel/runtime": "7.2.0", - "@babel/types": "7.2.2", - "commoner": "0.10.8", - "private": "0.1.8", - "recast": "0.16.1", - "regenerator-preset": "0.12.1", - "regenerator-runtime": "0.13.1", - "regenerator-transform": "0.13.3", - "through": "2.3.8" + "@babel/core": "^7.1.6", + "@babel/runtime": "^7.1.5", + "@babel/types": "^7.1.6", + "commoner": "^0.10.8", + "private": "^0.1.8", + "recast": "^0.16.0", + "regenerator-preset": "^0.12.1", + "regenerator-runtime": "^0.13.0", + "regenerator-transform": "^0.13.3", + "through": "^2.3.8" } }, "regenerator-preset": { @@ -10827,13 +10827,13 @@ "resolved": "https://registry.npmjs.org/regenerator-preset/-/regenerator-preset-0.12.1.tgz", "integrity": "sha512-s/4SOEU1TxZ6IV/CQfz4BEjn29HaRhvqYPoufx2hp9LfuD2dnwnmtWEdXxUuG4JHAE7V+y6aqvileT1AflcH9g==", "requires": { - "@babel/plugin-proposal-function-sent": "7.2.0", - "@babel/plugin-syntax-async-generators": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-for-of": "7.2.0", - "regenerator-transform": "0.13.3" + "@babel/plugin-proposal-function-sent": "^7.0.0-beta.51", + "@babel/plugin-syntax-async-generators": "^7.0.0-beta.51", + "@babel/plugin-transform-arrow-functions": "^7.0.0-beta.51", + "@babel/plugin-transform-block-scoping": "^7.0.0-beta.51", + "@babel/plugin-transform-classes": "^7.0.0-beta.51", + "@babel/plugin-transform-for-of": "^7.0.0-beta.51", + "regenerator-transform": "^0.13.0" } }, "regenerator-runtime": { @@ -10846,7 +10846,7 @@ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", "requires": { - "private": "0.1.8" + "private": "^0.1.6" } }, "regex-cache": { @@ -10854,7 +10854,7 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -10862,8 +10862,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexpu-core": { @@ -10871,12 +10871,12 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", "requires": { - "regenerate": "1.4.0", - "regenerate-unicode-properties": "7.0.0", - "regjsgen": "0.5.0", - "regjsparser": "0.6.0", - "unicode-match-property-ecmascript": "1.0.4", - "unicode-match-property-value-ecmascript": "1.0.2" + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" } }, "regjsgen": { @@ -10889,12 +10889,12 @@ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } @@ -10920,7 +10920,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -10929,26 +10929,26 @@ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.7", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.3", - "har-validator": "5.1.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.21", - "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" + "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" }, "dependencies": { "mime-db": { @@ -10963,7 +10963,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "1.37.0" + "mime-db": "~1.37.0" } }, "punycode": { @@ -10978,8 +10978,8 @@ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { - "psl": "1.1.31", - "punycode": "1.4.1" + "psl": "^1.1.24", + "punycode": "^1.4.1" } } } @@ -10990,7 +10990,7 @@ "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", "dev": true, "requires": { - "lodash": "4.17.11" + "lodash": "^4.13.1" } }, "request-promise-native": { @@ -11000,8 +11000,8 @@ "dev": true, "requires": { "request-promise-core": "1.1.1", - "stealthy-require": "1.1.1", - "tough-cookie": "2.5.0" + "stealthy-require": "^1.1.0", + "tough-cookie": ">=2.3.3" } }, "require-directory": { @@ -11019,7 +11019,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "requires": { - "path-parse": "1.0.6" + "path-parse": "^1.0.5" } }, "resolve-cwd": { @@ -11028,7 +11028,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -11046,8 +11046,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -11060,7 +11060,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "rsvp": { @@ -11073,7 +11073,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rx-lite": { @@ -11086,7 +11086,7 @@ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "requires": { - "rx-lite": "4.0.8" + "rx-lite": "*" } }, "safe-buffer": { @@ -11099,7 +11099,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -11113,15 +11113,15 @@ "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "dev": true, "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.2", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" }, "dependencies": { "arr-diff": { @@ -11142,16 +11142,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -11160,7 +11160,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11171,13 +11171,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -11186,7 +11186,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11195,7 +11195,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -11204,7 +11204,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11213,7 +11213,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11224,7 +11224,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11233,7 +11233,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11244,9 +11244,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -11263,14 +11263,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -11279,7 +11279,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -11288,7 +11288,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11299,10 +11299,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -11311,7 +11311,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11322,7 +11322,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -11331,7 +11331,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -11340,9 +11340,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -11351,7 +11351,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11360,7 +11360,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11383,19 +11383,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -11410,8 +11410,8 @@ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.3.tgz", "integrity": "sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==", "requires": { - "loose-envify": "1.4.0", - "object-assign": "4.1.1" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" } }, "semver": { @@ -11434,10 +11434,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -11445,7 +11445,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11465,7 +11465,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -11478,10 +11478,10 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "requires": { - "array-filter": "0.0.1", - "array-map": "0.0.0", - "array-reduce": "0.0.0", - "jsonify": "0.0.0" + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" } }, "shellwords": { @@ -11516,7 +11516,7 @@ "requires": { "base64-js": "1.1.2", "xmlbuilder": "8.2.2", - "xmldom": "0.1.27" + "xmldom": "0.1.x" } }, "xmlbuilder": { @@ -11553,14 +11553,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.1" + "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" }, "dependencies": { "define-property": { @@ -11568,7 +11568,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11576,7 +11576,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11586,9 +11586,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -11596,7 +11596,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -11604,7 +11604,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -11612,7 +11612,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -11620,9 +11620,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -11642,7 +11642,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { @@ -11655,11 +11655,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "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" + "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": { @@ -11668,7 +11668,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "source-map-url": { @@ -11681,8 +11681,8 @@ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -11695,8 +11695,8 @@ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -11709,7 +11709,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -11723,15 +11723,15 @@ "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", "dev": true, "requires": { - "asn1": "0.2.4", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.2", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "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" } }, "stack-utils": { @@ -11755,8 +11755,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -11764,7 +11764,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -11791,8 +11791,8 @@ "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", "dev": true, "requires": { - "astral-regex": "1.0.0", - "strip-ansi": "4.0.0" + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -11807,7 +11807,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -11817,8 +11817,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -11831,7 +11831,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -11841,7 +11841,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -11849,7 +11849,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -11858,7 +11858,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -11882,8 +11882,8 @@ "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", "requires": { - "os-tmpdir": "1.0.2", - "rimraf": "2.2.8" + "os-tmpdir": "^1.0.0", + "rimraf": "~2.2.6" }, "dependencies": { "rimraf": { @@ -11899,11 +11899,11 @@ "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" }, "dependencies": { "arr-diff": { @@ -11924,16 +11924,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -11942,7 +11942,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11953,13 +11953,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -11968,7 +11968,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11977,7 +11977,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -11986,7 +11986,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11995,7 +11995,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12006,7 +12006,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -12015,7 +12015,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12026,9 +12026,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -12045,14 +12045,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -12061,7 +12061,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -12070,7 +12070,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -12081,10 +12081,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -12093,7 +12093,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -12104,7 +12104,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -12113,7 +12113,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -12122,9 +12122,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -12133,7 +12133,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -12142,7 +12142,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12165,19 +12165,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -12197,8 +12197,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "time-stamp": { @@ -12211,7 +12211,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "tmpl": { @@ -12230,7 +12230,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -12238,10 +12238,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -12249,8 +12249,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "dependencies": { "is-number": { @@ -12258,7 +12258,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } } } @@ -12269,8 +12269,8 @@ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "psl": "1.1.31", - "punycode": "2.1.1" + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, "tr46": { @@ -12279,7 +12279,7 @@ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" } }, "trim-right": { @@ -12293,7 +12293,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -12308,7 +12308,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "typedarray": { @@ -12326,8 +12326,8 @@ "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "requires": { - "commander": "2.13.0", - "source-map": "0.6.1" + "commander": "~2.13.0", + "source-map": "~0.6.1" }, "dependencies": { "commander": { @@ -12357,8 +12357,8 @@ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", "requires": { - "unicode-canonical-property-names-ecmascript": "1.0.4", - "unicode-property-aliases-ecmascript": "1.0.4" + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" } }, "unicode-match-property-value-ecmascript": { @@ -12376,10 +12376,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -12387,7 +12387,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -12395,10 +12395,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -12413,8 +12413,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -12422,9 +12422,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -12455,7 +12455,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" } }, "urix": { @@ -12484,8 +12484,8 @@ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", "dev": true, "requires": { - "define-properties": "1.1.3", - "object.getownpropertydescriptors": "2.0.3" + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" } }, "uuid": { @@ -12498,8 +12498,8 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "verror": { @@ -12508,9 +12508,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "w3c-hr-time": { @@ -12519,7 +12519,7 @@ "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", "dev": true, "requires": { - "browser-process-hrtime": "0.1.3" + "browser-process-hrtime": "^0.1.2" } }, "walker": { @@ -12527,7 +12527,7 @@ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "requires": { - "makeerror": "1.0.11" + "makeerror": "1.0.x" } }, "watch": { @@ -12535,8 +12535,8 @@ "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", "requires": { - "exec-sh": "0.2.2", - "minimist": "1.2.0" + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" } }, "webidl-conversions": { @@ -12560,7 +12560,7 @@ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } } } @@ -12582,9 +12582,9 @@ "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "requires": { - "lodash.sortby": "4.7.0", - "tr46": "1.0.1", - "webidl-conversions": "4.0.2" + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, "which": { @@ -12592,7 +12592,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -12610,8 +12610,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -12619,7 +12619,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -12627,9 +12627,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -12644,9 +12644,9 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "ws": { @@ -12654,8 +12654,8 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", "requires": { - "options": "0.0.6", - "ultron": "1.0.2" + "options": ">=0.0.5", + "ultron": "1.0.x" }, "dependencies": { "ultron": { @@ -12676,7 +12676,7 @@ "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-0.4.0.tgz", "integrity": "sha1-0lciS+g5PqrL+DfvIn/Y7CWzaIg=", "requires": { - "sax": "1.1.6" + "sax": "~1.1.1" } }, "xmldom": { @@ -12710,18 +12710,18 @@ "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^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": "^9.0.2" }, "dependencies": { "find-up": { @@ -12730,7 +12730,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } } } @@ -12741,7 +12741,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } diff --git a/src/screens/Compose.js b/src/screens/Compose.js index ac1b9db9..e447e46c 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -244,7 +244,7 @@ export default class Compose extends Abstract { // Keyboard.dismiss() does not work for native views, which our tet input is this.input && this.input.blur(); } - }) + }); } componentWillBlur() { diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 125b59a9..b8046219 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -42,15 +42,23 @@ export default class Notes extends Abstract { } loadInitialState() { + // We may be here on non-launch state, where local data will already have been loaded. + let initialDataLoaded = Sync.get().initialDataLoaded(); let encryptionEnabled = KeysManager.get().isOfflineEncryptionEnabled(); this.mergeState({ refreshing: false, - decrypting: encryptionEnabled, - loading: !encryptionEnabled, + decrypting: !initialDataLoaded && encryptionEnabled, + loading: !initialDataLoaded && !encryptionEnabled, notes: [] }); super.loadInitialState(); + + // On Android, if you press physical back button, all components will be unmounted. + // When you reopen, they will be mounted again, but local-data-loaded event will rightfully + // not be sent again. So we want to make sure that we're able to reload state when component mounts, + // and loadInitialState is called on componentDidMount + this.reloadList(); } unlockContent() { From 8b8f5c20ad7fc27b77d537fde23e554cbbdd4a13 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 15 Jan 2019 12:57:05 -0600 Subject: [PATCH 092/131] Privileges for trash --- src/screens/ManagePrivileges.js | 2 +- src/screens/Notes/NoteCell.js | 22 ++++++++++------------ src/screens/Notes/NoteList.js | 1 + src/screens/Notes/Notes.js | 24 ++++++++++++++++++++++++ src/screens/Settings/Settings.js | 8 +++++++- src/screens/SideMenu/NoteSideMenu.js | 4 ++-- 6 files changed, 45 insertions(+), 16 deletions(-) diff --git a/src/screens/ManagePrivileges.js b/src/screens/ManagePrivileges.js index 2d20e129..012a79de 100644 --- a/src/screens/ManagePrivileges.js +++ b/src/screens/ManagePrivileges.js @@ -103,7 +103,7 @@ export default class ManagePrivileges extends Abstract { } return ( - + {this.state.sessionExpirey && !this.state.sessionExpired && diff --git a/src/screens/Notes/NoteCell.js b/src/screens/Notes/NoteCell.js index cb518de8..7fd5b257 100644 --- a/src/screens/Notes/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -41,12 +41,8 @@ export default class NoteCell extends ThemedPureComponent { } showActionSheet = () => { - let callbackForOption = (option) => { - ItemActionManager.handleEvent(option.key, this.props.item, () => { - this.forceUpdate(); - }, () => { - // afterConfirmCallback - // We want to show "Deleting.." on top of note cell after the user confirms the dialogue + let callbackForAction = (action) => { + this.props.handleAction(this.props.item, action.key, () => { this.forceUpdate(); }); } @@ -74,15 +70,17 @@ export default class NoteCell extends ThemedPureComponent { }); } else { let options = [ - ActionSheetWrapper.BuildOption({text: pinLabel, key: pinEvent, callback: callbackForOption}), - ActionSheetWrapper.BuildOption({text: archiveLabel, key: archiveEvent, callback: callbackForOption}), - ActionSheetWrapper.BuildOption({text: lockLabel, key: lockEvent, callback: callbackForOption}), - ActionSheetWrapper.BuildOption({text: protectLabel, key: protectEvent, callback: callbackForOption}), - ActionSheetWrapper.BuildOption({text: "Share", key: ItemActionManager.ShareEvent, callback: callbackForOption}), + ActionSheetWrapper.BuildOption({text: pinLabel, key: pinEvent, callback: callbackForAction}), + ActionSheetWrapper.BuildOption({text: archiveLabel, key: archiveEvent, callback: callbackForAction}), + ActionSheetWrapper.BuildOption({text: lockLabel, key: lockEvent, callback: callbackForAction}), + ActionSheetWrapper.BuildOption({text: protectLabel, key: protectEvent, callback: callbackForAction}), + ActionSheetWrapper.BuildOption({text: "Share", key: ItemActionManager.ShareEvent, callback: callbackForAction}), ] if(!this.props.item.content.trashed) { - options.push(ActionSheetWrapper.BuildOption({text: "Move to Trash", key: ItemActionManager.TrashEvent, destructive: true, callback: callbackForOption})); + options.push(ActionSheetWrapper.BuildOption({text: "Move to Trash", key: ItemActionManager.TrashEvent, destructive: true, callback: callbackForAction})); + } else { + options.push(ActionSheetWrapper.BuildOption({text: "Delete Forever", key: ItemActionManager.DeleteEvent, destructive: true, callback: callbackForAction})); } sheet = new ActionSheetWrapper({ diff --git a/src/screens/Notes/NoteList.js b/src/screens/Notes/NoteList.js index 4be9f0f0..605f0be6 100644 --- a/src/screens/Notes/NoteList.js +++ b/src/screens/Notes/NoteList.js @@ -51,6 +51,7 @@ export default class NoteList extends ThemedComponent { renderTags={renderTags} options={this.props.options} highlighted={item.uuid == this.props.selectedNoteId} + handleAction={this.props.handleAction} pinned={item.pinned /* extraData */} deleted={item.deleted /* extraData */} diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index b8046219..f663f3ed 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -9,6 +9,7 @@ import AlertManager from '@SFJS/alertManager' import Auth from '@SFJS/authManager' import KeysManager from '@Lib/keysManager' import Keychain from "@Lib/keychain" +import ItemActionManager from '@Lib/itemActionManager' import SideMenuManager from "@SideMenu/SideMenuManager" @@ -310,6 +311,28 @@ export default class Notes extends Abstract { this.skipUpdatingNavBar = false; } + handleActionsheetAction = (item, action, callback) => { + console.log("handleActionsheetAction", item, action); + let run = () => { + ItemActionManager.handleEvent(action, item, () => { + callback(); + }, () => { + // afterConfirmCallback + // We want to show "Deleting.." on top of note cell after the user confirms the dialogue + callback(); + }); + } + + if(action == ItemActionManager.TrashEvent || action == ItemActionManager.DeleteEvent) { + this.handlePrivilegedAction(true, SFPrivilegesManager.ActionDeleteNote, () => { + run(); + }) + } else { + run(); + } + } + + render() { if(this.state.lockContent) { return ; @@ -332,6 +355,7 @@ export default class Notes extends Abstract { selectedTags={this.state.tags} options={this.options.displayOptions} selectedNoteId={this.state.selectedNoteId} + handleAction={this.handleActionsheetAction} /> } diff --git a/src/screens/Settings/Settings.js b/src/screens/Settings/Settings.js index 17787bcb..5e229108 100644 --- a/src/screens/Settings/Settings.js +++ b/src/screens/Settings/Settings.js @@ -228,6 +228,12 @@ export default class Settings extends Abstract { this.forceUpdate(); } + openManagePrivs = () => { + this.handlePrivilegedAction(true, SFPrivilegesManager.ActionManagePrivileges, () => { + this.props.navigation.navigate("ManagePrivileges") + }) + } + render() { if(this.state.lockContent) { return (); @@ -249,7 +255,7 @@ export default class Settings extends Abstract { {this.props.navigation.navigate("ManagePrivileges")}} + onManagePrivileges={this.openManagePrivs} /> diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index f34adac6..5b8b4114 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -129,8 +129,8 @@ export default class NoteSideMenu extends AbstractSideMenu { } }); } - if((action == ItemActionManager.TrashEvent || action == ItemActionManager.DeleteEvent) && this.note.content.protected) { - this.handlePrivilegedAction(this.note.content.protected, SFPrivilegesManager.ActionDeleteNote, () => { + if(action == ItemActionManager.TrashEvent || action == ItemActionManager.DeleteEvent) { + this.handlePrivilegedAction(true, SFPrivilegesManager.ActionDeleteNote, () => { run(); }) } else { From f0773bde02f8c84947acc288ef4fac22a8404b93 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 15 Jan 2019 13:09:25 -0600 Subject: [PATCH 093/131] On cancel option for privs modal --- src/screens/Abstract.js | 4 ++-- src/screens/Settings/Sections/OptionsSection.js | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 772c0cfd..5413686f 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -233,13 +233,13 @@ export default class Abstract extends ThemedComponent { this.props.navigation.goBack(null); } - async handlePrivilegedAction(isProtected, action, run) { + async handlePrivilegedAction(isProtected, action, run, onCancel) { if(isProtected) { let actionRequiresPrivs = await PrivilegesManager.get().actionRequiresPrivilege(action); if(actionRequiresPrivs) { PrivilegesManager.get().presentPrivilegesModal(action, this.props.navigation, () => { run(); - }); + }, onCancel); } else { run(); } diff --git a/src/screens/Settings/Sections/OptionsSection.js b/src/screens/Settings/Sections/OptionsSection.js index f204cde3..9047c1de 100644 --- a/src/screens/Settings/Sections/OptionsSection.js +++ b/src/screens/Settings/Sections/OptionsSection.js @@ -55,6 +55,8 @@ class OptionsSection extends Abstract { } this.setState({loadingExport: false}); }) + }, () => { + this.setState({loadingExport: false}); }); } From 7866931fdf104925e4533578fad359fa7f875694 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 15 Jan 2019 13:13:23 -0600 Subject: [PATCH 094/131] Debounced note cell selection --- src/screens/Notes/NoteCell.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/screens/Notes/NoteCell.js b/src/screens/Notes/NoteCell.js index 7fd5b257..a8fbec6c 100644 --- a/src/screens/Notes/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -25,10 +25,16 @@ export default class NoteCell extends ThemedPureComponent { }; _onPressIn = () => { - this.setState({selected: true}); + // Debounce + this.selectionTimeout = setTimeout(() => { + this.setState({selected: true}); + }, 25); }; _onPressOut = () => { + if(this.selectionTimeout) { + clearTimeout(this.selectionTimeout); + } this.setState({selected: false}); }; From 81edf81ab77d48a1795665740f36566ee872d2bd Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 15 Jan 2019 20:29:45 -0600 Subject: [PATCH 095/131] Dont auth on losing focus --- ios/StandardNotes/Info.plist | 2 +- package-lock.json | 5274 ++++++++--------- src/lib/ApplicationState.js | 9 +- src/screens/Authentication/Authenticate.js | 6 + .../Sources/AuthenticationSourceBiometric.js | 2 +- 5 files changed, 2650 insertions(+), 2643 deletions(-) diff --git a/ios/StandardNotes/Info.plist b/ios/StandardNotes/Info.plist index d5a7ebb8..f531af89 100644 --- a/ios/StandardNotes/Info.plist +++ b/ios/StandardNotes/Info.plist @@ -71,7 +71,7 @@ CFBundleSignature ???? CFBundleVersion - 2 + 3 LSRequiresIPhoneOS NSAppTransportSecurity diff --git a/package-lock.json b/package-lock.json index eff8ae6c..15df998f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/core": { @@ -17,20 +17,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.2.2", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.2.2", - "@babel/types": "^7.2.2", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.11", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -38,7 +38,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "json5": { @@ -46,7 +46,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "^1.2.0" + "minimist": "1.2.0" } }, "ms": { @@ -61,11 +61,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -80,7 +80,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -88,8 +88,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", "requires": { - "@babel/helper-explode-assignable-expression": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-explode-assignable-expression": "7.1.0", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/types": { @@ -97,9 +97,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -114,8 +114,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz", "integrity": "sha512-ebJ2JM6NAKW0fQEqN8hOLxK84RbRz9OkUhGS/Xd5u56ejMfVbayJ4+LykERZCOUM6faa6Fp3SZNX3fcT16MKHw==", "requires": { - "@babel/types": "^7.0.0", - "esutils": "^2.0.0" + "@babel/types": "7.2.2", + "esutils": "2.0.2" }, "dependencies": { "@babel/types": { @@ -123,9 +123,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -140,9 +140,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", "requires": { - "@babel/helper-hoist-variables": "^7.0.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-hoist-variables": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/code-frame": { @@ -150,7 +150,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -158,11 +158,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -170,9 +170,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -180,7 +180,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -188,7 +188,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -196,9 +196,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -211,9 +211,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -221,15 +221,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -237,9 +237,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -247,7 +247,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -255,9 +255,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -265,7 +265,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -288,7 +288,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -303,11 +303,11 @@ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.3.tgz", "integrity": "sha512-xO/3Gn+2C7/eOUeb0VRnSP1+yvWHNxlpAot1eMhtoKDCN7POsyQP5excuT5UsV5daHxMWBeIIOeI5cmB8vMRgQ==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.2.3" + "@babel/helper-function-name": "7.1.0", + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-replace-supers": "7.2.3" }, "dependencies": { "@babel/code-frame": { @@ -315,7 +315,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -323,11 +323,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -335,9 +335,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -345,7 +345,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -353,7 +353,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -361,7 +361,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -374,10 +374,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -385,7 +385,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -393,9 +393,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -408,9 +408,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -418,15 +418,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -434,9 +434,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -444,7 +444,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -452,9 +452,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -462,7 +462,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -485,7 +485,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -500,9 +500,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.11" } }, "@babel/helper-explode-assignable-expression": { @@ -510,8 +510,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", "requires": { - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/code-frame": { @@ -519,7 +519,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -527,11 +527,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -539,9 +539,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -549,7 +549,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -557,7 +557,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -565,9 +565,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -580,9 +580,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -590,15 +590,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -606,9 +606,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -616,7 +616,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -624,9 +624,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -634,7 +634,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -657,7 +657,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -672,9 +672,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -682,7 +682,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-hoist-variables": { @@ -690,7 +690,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" }, "dependencies": { "@babel/types": { @@ -698,9 +698,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -715,7 +715,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-module-imports": { @@ -723,7 +723,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" }, "dependencies": { "@babel/types": { @@ -731,9 +731,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -748,12 +748,12 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/template": "^7.2.2", - "@babel/types": "^7.2.2", - "lodash": "^4.17.10" + "@babel/helper-module-imports": "7.0.0", + "@babel/helper-simple-access": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2", + "lodash": "4.17.11" }, "dependencies": { "@babel/code-frame": { @@ -761,7 +761,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -769,7 +769,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -777,9 +777,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -792,9 +792,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/types": { @@ -802,9 +802,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -812,7 +812,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -820,9 +820,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -830,7 +830,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -845,7 +845,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -858,7 +858,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.11" } }, "@babel/helper-remap-async-to-generator": { @@ -866,11 +866,11 @@ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", "requires": { - "@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-annotate-as-pure": "7.0.0", + "@babel/helper-wrap-function": "7.2.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/code-frame": { @@ -878,7 +878,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -886,11 +886,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -898,7 +898,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-function-name": { @@ -906,9 +906,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -916,7 +916,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -924,7 +924,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-wrap-function": { @@ -932,10 +932,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" + "@babel/helper-function-name": "7.1.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -943,9 +943,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -958,9 +958,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -968,15 +968,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -984,9 +984,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -994,7 +994,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1002,9 +1002,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -1012,7 +1012,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -1035,7 +1035,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -1050,10 +1050,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-simple-access": { @@ -1061,8 +1061,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", "requires": { - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/code-frame": { @@ -1070,7 +1070,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/highlight": { @@ -1078,9 +1078,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -1093,9 +1093,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/types": { @@ -1103,9 +1103,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -1113,7 +1113,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1121,9 +1121,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -1131,7 +1131,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -1146,7 +1146,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-wrap-function": { @@ -1154,10 +1154,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" + "@babel/helper-function-name": "7.1.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helpers": { @@ -1165,9 +1165,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.2.0" + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -1175,9 +1175,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" }, "dependencies": { "ansi-styles": { @@ -1185,7 +1185,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1193,9 +1193,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -1203,7 +1203,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -1218,7 +1218,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.2.0.tgz", "integrity": "sha512-QFmtcCShFkyAsNtdCM3lJPmRe1iB+vPZymlB4LnDIKEBj2yKQLQKtoxXxJ8ePT5fwMl4QGg303p4mB0UsSI2/g==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1233,8 +1233,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.3.tgz", "integrity": "sha512-FVuQngLoN2iDrpW7LmhPZ2sO4DJxf35FOcwidwB9Ru9tMvI5URthnkVHuG14IStV+TzkMTyLMoOUlSTtrdVwqw==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.2.3", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-create-class-features-plugin": "7.2.3", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1249,8 +1249,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz", "integrity": "sha512-NVfNe7F6nsasG1FnvcFxh2FN0l04ZNe75qTOAVOILWPam0tw9a63RtT/Dab8dPjedZa4fTQaQ83yMMywF9OSug==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-export-default-from": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1265,9 +1265,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.2.0.tgz", "integrity": "sha512-qQBDKRSCu1wGJi3jbngs18vrujVQA4F+OkSuIQYRhE6y19jcPzeEIGOc683mCQXDUR3BQCz8JyCupIwv+IRFmA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-wrap-function": "^7.2.0", - "@babel/plugin-syntax-function-sent": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-wrap-function": "7.2.0", + "@babel/plugin-syntax-function-sent": "7.2.0" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { @@ -1275,8 +1275,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.2.0.tgz", "integrity": "sha512-QXj/YjFuFJd68oDvoc1e8aqLr2wz7Kofzvp6Ekd/o7MWZl+nZ0/cpStxND+hlZ7DpRWAp7OmuyT2areZ2V3YUA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1291,8 +1291,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz", "integrity": "sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-object-rest-spread": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1307,8 +1307,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1323,8 +1323,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz", "integrity": "sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-optional-chaining": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1339,7 +1339,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-syntax-class-properties": { @@ -1347,7 +1347,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz", "integrity": "sha512-UxYaGXYQ7rrKJS/PxIKRkv3exi05oH7rokBAsmCSsCxz1sVPZ7Fu6FzKoGgUvmY+0YgSkYHgUoCh5R5bCNBQlw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1362,7 +1362,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1377,7 +1377,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz", "integrity": "sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1392,7 +1392,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1407,7 +1407,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz", "integrity": "sha512-2MOVuJ6IMAifp2cf0RFkHQaOvHpbBYyWCvgtF/WVqXhTd7Bgtov8iXVCadLXp2FN1BrI2EFl+JXuwXy0qr3KoQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-syntax-jsx": { @@ -1415,7 +1415,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1430,7 +1430,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz", "integrity": "sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1445,7 +1445,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1460,7 +1460,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1475,7 +1475,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz", "integrity": "sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1490,7 +1490,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.2.0.tgz", "integrity": "sha512-WhKr6yu6yGpGcNMVgIBuI9MkredpVc7Y3YR4UzEZmDztHoL6wV56YBHLhWnjO1EvId1B32HrD3DRFc+zSoKI1g==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1505,7 +1505,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-async-to-generator": { @@ -1513,9 +1513,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0" + "@babel/helper-module-imports": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-remap-async-to-generator": "7.1.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1530,7 +1530,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1545,8 +1545,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -1554,14 +1554,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@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.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" }, "dependencies": { "globals": { @@ -1576,7 +1576,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1591,7 +1591,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz", "integrity": "sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1606,8 +1606,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "7.1.0", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1622,8 +1622,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz", "integrity": "sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-flow": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1638,7 +1638,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-function-name": { @@ -1646,8 +1646,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-function-name": "7.1.0", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -1655,7 +1655,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/helper-function-name": { @@ -1663,9 +1663,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -1673,7 +1673,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -1686,9 +1686,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -1701,9 +1701,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/types": { @@ -1711,9 +1711,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -1721,7 +1721,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1729,9 +1729,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -1739,7 +1739,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -1754,7 +1754,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1769,7 +1769,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1784,9 +1784,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0" + "@babel/helper-module-transforms": "7.2.2", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-simple-access": "7.1.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1801,7 +1801,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz", "integrity": "sha512-nmE55cZBPFgUktbF2OuoZgPRadfxosLOpSgzEPYotKSls9J4pEPcembi8r78RU37Rph6UApCpNmsQA4QMWK9Ng==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1816,8 +1816,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.1.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-replace-supers": "7.2.3" }, "dependencies": { "@babel/code-frame": { @@ -1825,7 +1825,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -1833,11 +1833,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -1845,9 +1845,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -1855,7 +1855,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -1863,7 +1863,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -1871,7 +1871,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -1884,10 +1884,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -1895,7 +1895,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -1903,9 +1903,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -1918,9 +1918,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -1928,15 +1928,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -1944,9 +1944,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -1954,7 +1954,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1962,9 +1962,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -1972,7 +1972,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -1995,7 +1995,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -2010,9 +2010,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==", "requires": { - "@babel/helper-call-delegate": "^7.1.0", - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-call-delegate": "7.1.0", + "@babel/helper-get-function-arity": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-get-function-arity": { @@ -2020,7 +2020,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -2033,9 +2033,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -2050,7 +2050,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2065,7 +2065,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2080,9 +2080,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.2.0.tgz", "integrity": "sha512-h/fZRel5wAfCqcKgq3OhbmYaReo7KkoJBpt8XnvpS7wqaNMqtw5xhxutzcm35iMUWucfAdT/nvGTsWln0JTg2Q==", "requires": { - "@babel/helper-builder-react-jsx": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" + "@babel/helper-builder-react-jsx": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-jsx": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2097,8 +2097,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz", "integrity": "sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-jsx": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2113,7 +2113,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", "requires": { - "regenerator-transform": "^0.13.3" + "regenerator-transform": "0.13.3" } }, "@babel/plugin-transform-runtime": { @@ -2121,10 +2121,10 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz", "integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==", "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "resolve": "^1.8.1", - "semver": "^5.5.1" + "@babel/helper-module-imports": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "resolve": "1.8.1", + "semver": "5.6.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2144,7 +2144,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2159,7 +2159,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2174,8 +2174,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-regex": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2190,8 +2190,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-annotate-as-pure": { @@ -2199,7 +2199,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -2212,9 +2212,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -2229,8 +2229,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.2.0.tgz", "integrity": "sha512-EnI7i2/gJ7ZNr2MuyvN2Hu+BHJENlxWte5XygPvfj/MbvtOkWor9zcnHpMMQL2YYaaCcqtIvJUyJ7QVfoGs7ew==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-typescript": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-typescript": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2245,9 +2245,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.1.3" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-regex": "7.0.0", + "regexpu-core": "4.4.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2262,13 +2262,13 @@ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.0.0.tgz", "integrity": "sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==", "requires": { - "core-js": "^2.5.7", - "find-cache-dir": "^1.0.0", - "home-or-tmp": "^3.0.0", - "lodash": "^4.17.10", - "mkdirp": "^0.5.1", - "pirates": "^4.0.0", - "source-map-support": "^0.5.9" + "core-js": "2.6.1", + "find-cache-dir": "1.0.0", + "home-or-tmp": "3.0.0", + "lodash": "4.17.11", + "mkdirp": "0.5.1", + "pirates": "4.0.0", + "source-map-support": "0.5.9" }, "dependencies": { "core-js": { @@ -2291,8 +2291,8 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.1", + "source-map": "0.6.1" } } } @@ -2302,7 +2302,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "requires": { - "regenerator-runtime": "^0.12.0" + "regenerator-runtime": "0.12.1" }, "dependencies": { "regenerator-runtime": { @@ -2317,9 +2317,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -2327,15 +2327,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" }, "dependencies": { "debug": { @@ -2343,7 +2343,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -2363,9 +2363,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" }, "dependencies": { "to-fast-properties": { @@ -2381,11 +2381,11 @@ "integrity": "sha512-E0ETZJUuJRHvjtb0f0U416NcDxt9T5HvRLxXu5K4DNxtmjpOfkT9Sh+Q309/zrCwSkHY85ZpGKvewZTSGI7Q1Q==", "requires": { "create-react-context": "0.2.2", - "hoist-non-react-statics": "^3.0.1", - "path-to-regexp": "^1.7.0", - "query-string": "^6.2.0", - "react-is": "^16.5.2", - "react-lifecycles-compat": "^3.0.4" + "hoist-non-react-statics": "3.2.1", + "path-to-regexp": "1.7.0", + "query-string": "6.2.0", + "react-is": "16.7.0", + "react-lifecycles-compat": "3.0.4" } }, "@react-navigation/native": { @@ -2393,10 +2393,10 @@ "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.0.3.tgz", "integrity": "sha512-1T3OnI6DpHPYvrb6OSMvdpcou0NAZKYBeOs66Uimy6oT5tkkj8jwaksAwuSCTIMxaRl1nROPd22yXYq6gBnUVA==", "requires": { - "hoist-non-react-statics": "^3.0.1", - "react-native-gesture-handler": "^1.0.0", - "react-native-safe-area-view": "^0.11.0", - "react-native-screens": "^1.0.0 || ^1.0.0-alpha" + "hoist-non-react-statics": "3.2.1", + "react-native-gesture-handler": "1.0.12", + "react-native-safe-area-view": "0.11.0", + "react-native-screens": "1.0.0-alpha.19" } }, "abab": { @@ -2421,8 +2421,8 @@ "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", "dev": true, "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" + "acorn": "6.0.4", + "acorn-walk": "6.1.1" }, "dependencies": { "acorn": { @@ -2445,10 +2445,10 @@ "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "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": { @@ -2461,7 +2461,7 @@ "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "requires": { - "ansi-wrap": "^0.1.0" + "ansi-wrap": "0.1.0" } }, "ansi-cyan": { @@ -2513,8 +2513,8 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "micromatch": "3.1.10", + "normalize-path": "2.1.1" }, "dependencies": { "arr-diff": { @@ -2532,16 +2532,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -2549,7 +2549,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2559,13 +2559,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -2573,7 +2573,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -2581,7 +2581,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -2589,7 +2589,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -2597,7 +2597,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2607,7 +2607,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -2615,7 +2615,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2625,9 +2625,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -2642,14 +2642,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -2657,7 +2657,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -2665,7 +2665,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2675,10 +2675,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -2686,7 +2686,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2696,7 +2696,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -2704,7 +2704,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -2712,9 +2712,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -2722,7 +2722,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -2730,7 +2730,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2750,19 +2750,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -2773,7 +2773,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "are-we-there-yet": { @@ -2781,8 +2781,8 @@ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "argparse": { @@ -2790,7 +2790,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "arr-diff": { @@ -2798,7 +2798,7 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "arr-flatten": { @@ -2864,7 +2864,7 @@ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "safer-buffer": "~2.1.0" + "safer-buffer": "2.1.2" } }, "assert-plus": { @@ -2894,7 +2894,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.11" } }, "async-limiter": { @@ -2931,9 +2931,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "js-tokens": { @@ -2950,25 +2950,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.11", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" } }, "babel-generator": { @@ -2977,14 +2977,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "babel-helpers": { @@ -2993,8 +2993,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-jest": { @@ -3003,8 +3003,8 @@ "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", "dev": true, "requires": { - "babel-plugin-istanbul": "^4.1.6", - "babel-preset-jest": "^23.2.0" + "babel-plugin-istanbul": "4.1.6", + "babel-preset-jest": "23.2.0" }, "dependencies": { "babel-plugin-jest-hoist": { @@ -3019,8 +3019,8 @@ "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^23.2.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0" + "babel-plugin-jest-hoist": "23.2.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0" } } } @@ -3031,7 +3031,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-istanbul": { @@ -3040,10 +3040,10 @@ "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", "dev": true, "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "find-up": "^2.1.0", - "istanbul-lib-instrument": "^1.10.1", - "test-exclude": "^4.2.1" + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "find-up": "2.1.0", + "istanbul-lib-instrument": "1.10.1", + "test-exclude": "4.2.1" }, "dependencies": { "find-up": { @@ -3052,7 +3052,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } } } @@ -3069,13 +3069,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.6.1", + "home-or-tmp": "2.0.0", + "lodash": "4.17.11", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" }, "dependencies": { "core-js": { @@ -3092,8 +3092,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" }, "dependencies": { "core-js": { @@ -3116,11 +3116,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.11" } }, "babel-traverse": { @@ -3129,15 +3129,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.11" } }, "babel-types": { @@ -3146,10 +3146,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -3168,13 +3168,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "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" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -3182,7 +3182,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -3190,7 +3190,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3198,7 +3198,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3206,9 +3206,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -3239,7 +3239,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "big-integer": { @@ -3252,7 +3252,7 @@ "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=", "requires": { - "stream-buffers": "~2.2.0" + "stream-buffers": "2.2.0" } }, "bplist-parser": { @@ -3260,7 +3260,7 @@ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", "requires": { - "big-integer": "^1.6.7" + "big-integer": "1.6.34" } }, "brace-expansion": { @@ -3268,7 +3268,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -3277,9 +3277,9 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "browser-process-hrtime": { @@ -3315,9 +3315,9 @@ "resolved": "https://registry.npmjs.org/bugsnag-react-native/-/bugsnag-react-native-2.12.6.tgz", "integrity": "sha512-KJR1Uab6m2WCEP+HudUxl6w1WalsxLwwKf5YRJHkW0m/LZ72mdEv9ipJ/mEAYbyKPv3bL0y855GnlB4lcQ+7XQ==", "requires": { - "iserror": "^0.0.2", - "promise": "^7", - "prop-types": "^15.6.0" + "iserror": "0.0.2", + "promise": "7.3.1", + "prop-types": "15.6.2" } }, "builtin-modules": { @@ -3330,15 +3330,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "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" + "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" }, "dependencies": { "isobject": { @@ -3353,7 +3353,7 @@ "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "requires": { - "callsites": "^2.0.0" + "callsites": "2.0.0" } }, "caller-path": { @@ -3361,7 +3361,7 @@ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "requires": { - "caller-callsite": "^2.0.0" + "caller-callsite": "2.0.0" } }, "callsites": { @@ -3379,7 +3379,7 @@ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", "requires": { - "rsvp": "^3.3.3" + "rsvp": "3.6.2" } }, "caseless": { @@ -3393,11 +3393,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "chardet": { @@ -3416,10 +3416,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -3427,7 +3427,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "isobject": { @@ -3442,7 +3442,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-width": { @@ -3456,9 +3456,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" }, "dependencies": { "ansi-regex": { @@ -3473,7 +3473,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3494,8 +3494,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { @@ -3522,7 +3522,7 @@ "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -3540,15 +3540,15 @@ "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", "requires": { - "commander": "^2.5.0", - "detective": "^4.3.1", - "glob": "^5.0.15", - "graceful-fs": "^4.1.2", - "iconv-lite": "^0.4.5", - "mkdirp": "^0.5.0", - "private": "^0.1.6", - "q": "^1.1.2", - "recast": "^0.11.17" + "commander": "2.17.1", + "detective": "4.7.1", + "glob": "5.0.15", + "graceful-fs": "4.1.11", + "iconv-lite": "0.4.23", + "mkdirp": "0.5.1", + "private": "0.1.8", + "q": "1.5.1", + "recast": "0.11.23" }, "dependencies": { "glob": { @@ -3556,11 +3556,11 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "recast": { @@ -3569,9 +3569,9 @@ "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", "requires": { "ast-types": "0.9.6", - "esprima": "~3.1.0", - "private": "~0.1.5", - "source-map": "~0.5.0" + "esprima": "3.1.3", + "private": "0.1.8", + "source-map": "0.5.7" } } } @@ -3586,7 +3586,7 @@ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": "1.35.0" } }, "concat-map": { @@ -3599,10 +3599,10 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "convert-source-map": { @@ -3630,10 +3630,10 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.9.0", - "parse-json": "^4.0.0" + "import-fresh": "2.0.0", + "is-directory": "0.3.1", + "js-yaml": "3.12.0", + "parse-json": "4.0.0" }, "dependencies": { "parse-json": { @@ -3641,8 +3641,8 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" } } } @@ -3652,9 +3652,9 @@ "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", "requires": { - "fbjs": "^0.8.9", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "fbjs": "0.8.17", + "loose-envify": "1.4.0", + "object-assign": "4.1.1" } }, "create-react-context": { @@ -3662,8 +3662,8 @@ "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz", "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==", "requires": { - "fbjs": "^0.8.0", - "gud": "^1.0.0" + "fbjs": "0.8.17", + "gud": "1.0.0" } }, "cross-spawn": { @@ -3671,9 +3671,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "cssom": { @@ -3688,7 +3688,7 @@ "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", "dev": true, "requires": { - "cssom": "0.3.x" + "cssom": "0.3.4" } }, "dashdash": { @@ -3697,7 +3697,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "data-urls": { @@ -3706,9 +3706,9 @@ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" + "abab": "2.0.0", + "whatwg-mimetype": "2.3.0", + "whatwg-url": "7.0.0" }, "dependencies": { "whatwg-url": { @@ -3717,9 +3717,9 @@ "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", "dev": true, "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" } } } @@ -3754,7 +3754,7 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-properties": { @@ -3763,7 +3763,7 @@ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "object-keys": "1.0.12" } }, "define-property": { @@ -3771,8 +3771,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -3780,7 +3780,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3788,7 +3788,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3796,9 +3796,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -3845,7 +3845,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "detect-newline": { @@ -3858,8 +3858,8 @@ "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "requires": { - "acorn": "^5.2.1", - "defined": "^1.0.0" + "acorn": "5.7.3", + "defined": "1.0.0" } }, "diff": { @@ -3879,7 +3879,7 @@ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "requires": { - "webidl-conversions": "^4.0.2" + "webidl-conversions": "4.0.2" } }, "ecc-jsbn": { @@ -3888,8 +3888,8 @@ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, "ee-first": { @@ -3907,7 +3907,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "~0.4.13" + "iconv-lite": "0.4.23" } }, "error-ex": { @@ -3915,7 +3915,7 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { @@ -3924,11 +3924,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.2.0", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.4", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -3937,9 +3937,9 @@ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "dev": true, "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.0.2" } }, "escape-html": { @@ -3958,11 +3958,11 @@ "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -4005,7 +4005,7 @@ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", "requires": { - "merge": "^1.2.0" + "merge": "1.2.0" } }, "execa": { @@ -4013,13 +4013,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "exit": { @@ -4033,7 +4033,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "expand-range": { @@ -4041,7 +4041,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" } }, "expect": { @@ -4050,12 +4050,12 @@ "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "jest-diff": "^23.6.0", - "jest-get-type": "^22.1.0", - "jest-matcher-utils": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-regex-util": "^23.3.0" + "ansi-styles": "3.2.1", + "jest-diff": "23.6.0", + "jest-get-type": "22.4.3", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0" }, "dependencies": { "ansi-styles": { @@ -4064,7 +4064,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } } } @@ -4080,8 +4080,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -4089,7 +4089,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -4099,9 +4099,9 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" } }, "extglob": { @@ -4109,7 +4109,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "extsprintf": { @@ -4123,9 +4123,9 @@ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", "requires": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "time-stamp": "^1.0.0" + "ansi-gray": "0.1.1", + "color-support": "1.1.3", + "time-stamp": "1.1.0" } }, "fast-deep-equal": { @@ -4151,7 +4151,7 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", "requires": { - "bser": "^2.0.0" + "bser": "2.0.0" }, "dependencies": { "bser": { @@ -4159,7 +4159,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "requires": { - "node-int64": "^0.4.0" + "node-int64": "0.4.0" } } } @@ -4169,13 +4169,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" } }, "fbjs-css-vars": { @@ -4188,7 +4188,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "filename-regex": { @@ -4202,8 +4202,8 @@ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" + "glob": "7.1.2", + "minimatch": "3.0.4" } }, "fill-range": { @@ -4211,11 +4211,11 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.1.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "find-cache-dir": { @@ -4223,9 +4223,9 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" } }, "find-up": { @@ -4234,8 +4234,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "for-in": { @@ -4248,7 +4248,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "forever-agent": { @@ -4263,9 +4263,9 @@ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "asynckit": "0.4.0", + "combined-stream": "1.0.7", + "mime-types": "2.1.21" }, "dependencies": { "mime-db": { @@ -4280,7 +4280,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.37.0" } } } @@ -4290,7 +4290,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fs-extra": { @@ -4298,9 +4298,9 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" } }, "fs.realpath": { @@ -4314,8 +4314,8 @@ "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" }, "dependencies": { "abbrev": { @@ -4341,8 +4341,8 @@ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { @@ -4355,7 +4355,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -4419,7 +4419,7 @@ "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "fs.realpath": { @@ -4434,14 +4434,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "optional": true, "requires": { - "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" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "glob": { @@ -4450,12 +4450,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "optional": true, "requires": { - "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" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -4470,7 +4470,7 @@ "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": "2.1.2" } }, "ignore-walk": { @@ -4479,7 +4479,7 @@ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "optional": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { @@ -4488,8 +4488,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -4508,7 +4508,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -4522,7 +4522,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -4535,8 +4535,8 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "minizlib": { @@ -4545,7 +4545,7 @@ "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "mkdirp": { @@ -4568,9 +4568,9 @@ "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "optional": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" } }, "node-pre-gyp": { @@ -4579,16 +4579,16 @@ "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "optional": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { @@ -4597,8 +4597,8 @@ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -4613,8 +4613,8 @@ "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { @@ -4623,10 +4623,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -4645,7 +4645,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -4666,8 +4666,8 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -4688,10 +4688,10 @@ "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "optional": true, "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -4708,13 +4708,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "optional": true, "requires": { - "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" + "core-util-is": "1.0.2", + "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.2" } }, "rimraf": { @@ -4723,7 +4723,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -4766,9 +4766,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -4777,7 +4777,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { @@ -4785,7 +4785,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -4800,13 +4800,13 @@ "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "optional": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -4821,7 +4821,7 @@ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { @@ -4847,11 +4847,11 @@ "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", "requires": { - "ansi": "^0.3.0", - "has-unicode": "^2.0.0", - "lodash.pad": "^4.1.0", - "lodash.padend": "^4.1.0", - "lodash.padstart": "^4.1.0" + "ansi": "0.3.1", + "has-unicode": "2.0.1", + "lodash.pad": "4.5.1", + "lodash.padend": "4.6.1", + "lodash.padstart": "4.6.1" } }, "get-caller-file": { @@ -4875,7 +4875,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -4883,12 +4883,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "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" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -4896,8 +4896,8 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" } }, "glob-parent": { @@ -4905,7 +4905,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "global": { @@ -4913,8 +4913,8 @@ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "requires": { - "min-document": "^2.19.0", - "process": "~0.5.1" + "min-document": "2.19.0", + "process": "0.5.2" } }, "globals": { @@ -4944,10 +4944,10 @@ "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", "dev": true, "requires": { - "async": "^2.5.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" + "async": "2.6.1", + "optimist": "0.6.1", + "source-map": "0.6.1", + "uglify-js": "3.4.9" }, "dependencies": { "source-map": { @@ -4963,8 +4963,8 @@ "dev": true, "optional": true, "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" + "commander": "2.17.1", + "source-map": "0.6.1" } } } @@ -4981,8 +4981,8 @@ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "ajv": "6.6.2", + "har-schema": "2.0.0" } }, "has": { @@ -4991,7 +4991,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "^1.1.1" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -4999,7 +4999,7 @@ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { @@ -5023,9 +5023,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -5040,8 +5040,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { @@ -5049,7 +5049,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -5057,7 +5057,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5067,7 +5067,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5077,7 +5077,7 @@ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", "requires": { - "react-is": "^16.3.2" + "react-is": "16.7.0" } }, "home-or-tmp": { @@ -5086,8 +5086,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "hosted-git-info": { @@ -5101,7 +5101,7 @@ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { - "whatwg-encoding": "^1.0.1" + "whatwg-encoding": "1.0.5" } }, "http-signature": { @@ -5110,9 +5110,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.16.0" } }, "iconv-lite": { @@ -5120,7 +5120,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "image-size": { @@ -5138,8 +5138,8 @@ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "caller-path": "2.0.0", + "resolve-from": "3.0.0" } }, "import-local": { @@ -5148,8 +5148,8 @@ "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "dev": true, "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -5162,8 +5162,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -5176,20 +5176,20 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "requires": { - "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", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.11", "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" + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-regex": { @@ -5202,7 +5202,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5210,9 +5210,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "strip-ansi": { @@ -5220,7 +5220,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -5228,7 +5228,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5238,7 +5238,7 @@ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.4.0" } }, "invert-kv": { @@ -5251,7 +5251,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -5269,7 +5269,7 @@ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { @@ -5284,7 +5284,7 @@ "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "dev": true, "requires": { - "ci-info": "^1.5.0" + "ci-info": "1.6.0" } }, "is-data-descriptor": { @@ -5292,7 +5292,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-date-object": { @@ -5306,9 +5306,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -5333,7 +5333,7 @@ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { @@ -5352,7 +5352,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -5371,7 +5371,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-number": { @@ -5379,7 +5379,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-plain-object": { @@ -5387,7 +5387,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -5418,7 +5418,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "^1.0.1" + "has": "1.0.3" } }, "is-stream": { @@ -5432,7 +5432,7 @@ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", "dev": true, "requires": { - "has-symbols": "^1.0.0" + "has-symbols": "1.0.0" } }, "is-typedarray": { @@ -5480,8 +5480,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.4" } }, "isstream": { @@ -5496,17 +5496,17 @@ "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", "dev": true, "requires": { - "async": "^2.1.4", - "fileset": "^2.0.2", - "istanbul-lib-coverage": "^1.2.1", - "istanbul-lib-hook": "^1.2.2", - "istanbul-lib-instrument": "^1.10.2", - "istanbul-lib-report": "^1.1.5", - "istanbul-lib-source-maps": "^1.2.6", - "istanbul-reports": "^1.5.1", - "js-yaml": "^3.7.0", - "mkdirp": "^0.5.1", - "once": "^1.4.0" + "async": "2.6.1", + "fileset": "2.0.3", + "istanbul-lib-coverage": "1.2.1", + "istanbul-lib-hook": "1.2.2", + "istanbul-lib-instrument": "1.10.2", + "istanbul-lib-report": "1.1.5", + "istanbul-lib-source-maps": "1.2.6", + "istanbul-reports": "1.5.1", + "js-yaml": "3.12.0", + "mkdirp": "0.5.1", + "once": "1.4.0" }, "dependencies": { "istanbul-lib-coverage": { @@ -5521,13 +5521,13 @@ "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.1", - "semver": "^5.3.0" + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.1", + "semver": "5.5.0" } } } @@ -5544,7 +5544,7 @@ "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { @@ -5553,13 +5553,13 @@ "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.0", - "semver": "^5.3.0" + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.0", + "semver": "5.5.0" } }, "istanbul-lib-report": { @@ -5568,10 +5568,10 @@ "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", "dev": true, "requires": { - "istanbul-lib-coverage": "^1.2.1", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.2.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.6", + "supports-color": "3.2.3" }, "dependencies": { "has-flag": { @@ -5592,7 +5592,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -5603,11 +5603,11 @@ "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.2.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.2.6", + "istanbul-lib-coverage": "1.2.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -5616,7 +5616,7 @@ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "istanbul-lib-coverage": { @@ -5639,7 +5639,7 @@ "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.12" } }, "jest": { @@ -5648,8 +5648,8 @@ "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", "dev": true, "requires": { - "import-local": "^1.0.0", - "jest-cli": "^23.6.0" + "import-local": "1.0.0", + "jest-cli": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -5664,7 +5664,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5673,9 +5673,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "jest-cli": { @@ -5684,42 +5684,42 @@ "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "import-local": "^1.0.0", - "is-ci": "^1.0.10", - "istanbul-api": "^1.3.1", - "istanbul-lib-coverage": "^1.2.0", - "istanbul-lib-instrument": "^1.10.1", - "istanbul-lib-source-maps": "^1.2.4", - "jest-changed-files": "^23.4.2", - "jest-config": "^23.6.0", - "jest-environment-jsdom": "^23.4.0", - "jest-get-type": "^22.1.0", - "jest-haste-map": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-regex-util": "^23.3.0", - "jest-resolve-dependencies": "^23.6.0", - "jest-runner": "^23.6.0", - "jest-runtime": "^23.6.0", - "jest-snapshot": "^23.6.0", - "jest-util": "^23.4.0", - "jest-validate": "^23.6.0", - "jest-watcher": "^23.4.0", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "node-notifier": "^5.2.1", - "prompts": "^0.1.9", - "realpath-native": "^1.0.0", - "rimraf": "^2.5.4", - "slash": "^1.0.0", - "string-length": "^2.0.0", - "strip-ansi": "^4.0.0", - "which": "^1.2.12", - "yargs": "^11.0.0" + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "exit": "0.1.2", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "import-local": "1.0.0", + "is-ci": "1.2.1", + "istanbul-api": "1.3.7", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-instrument": "1.10.1", + "istanbul-lib-source-maps": "1.2.6", + "jest-changed-files": "23.4.2", + "jest-config": "23.6.0", + "jest-environment-jsdom": "23.4.0", + "jest-get-type": "22.4.3", + "jest-haste-map": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0", + "jest-resolve-dependencies": "23.6.0", + "jest-runner": "23.6.0", + "jest-runtime": "23.6.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "jest-watcher": "23.4.0", + "jest-worker": "23.2.0", + "micromatch": "2.3.11", + "node-notifier": "5.2.1", + "prompts": "0.1.14", + "realpath-native": "1.0.2", + "rimraf": "2.6.2", + "slash": "1.0.0", + "string-length": "2.0.0", + "strip-ansi": "4.0.0", + "which": "1.3.1", + "yargs": "11.1.0" } }, "strip-ansi": { @@ -5728,7 +5728,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -5737,7 +5737,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5748,7 +5748,7 @@ "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", "dev": true, "requires": { - "throat": "^4.0.0" + "throat": "4.1.0" } }, "jest-config": { @@ -5757,20 +5757,20 @@ "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", "dev": true, "requires": { - "babel-core": "^6.0.0", - "babel-jest": "^23.6.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^23.4.0", - "jest-environment-node": "^23.4.0", - "jest-get-type": "^22.1.0", - "jest-jasmine2": "^23.6.0", - "jest-regex-util": "^23.3.0", - "jest-resolve": "^23.6.0", - "jest-util": "^23.4.0", - "jest-validate": "^23.6.0", - "micromatch": "^2.3.11", - "pretty-format": "^23.6.0" + "babel-core": "6.26.3", + "babel-jest": "23.6.0", + "chalk": "2.4.1", + "glob": "7.1.2", + "jest-environment-jsdom": "23.4.0", + "jest-environment-node": "23.4.0", + "jest-get-type": "22.4.3", + "jest-jasmine2": "23.6.0", + "jest-regex-util": "23.3.0", + "jest-resolve": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "micromatch": "2.3.11", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -5785,7 +5785,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5794,9 +5794,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -5805,8 +5805,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -5815,7 +5815,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5826,10 +5826,10 @@ "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", "dev": true, "requires": { - "chalk": "^2.0.1", - "diff": "^3.2.0", - "jest-get-type": "^22.1.0", - "pretty-format": "^23.6.0" + "chalk": "2.4.1", + "diff": "3.5.0", + "jest-get-type": "22.4.3", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -5844,7 +5844,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5853,9 +5853,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -5864,8 +5864,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -5874,7 +5874,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5885,7 +5885,7 @@ "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "dev": true, "requires": { - "detect-newline": "^2.1.0" + "detect-newline": "2.1.0" } }, "jest-each": { @@ -5894,8 +5894,8 @@ "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", "dev": true, "requires": { - "chalk": "^2.0.1", - "pretty-format": "^23.6.0" + "chalk": "2.4.1", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -5910,7 +5910,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5919,9 +5919,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -5930,8 +5930,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -5940,7 +5940,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5951,9 +5951,9 @@ "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", "dev": true, "requires": { - "jest-mock": "^23.2.0", - "jest-util": "^23.4.0", - "jsdom": "^11.5.1" + "jest-mock": "23.2.0", + "jest-util": "23.4.0", + "jsdom": "11.12.0" } }, "jest-environment-node": { @@ -5962,8 +5962,8 @@ "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", "dev": true, "requires": { - "jest-mock": "^23.2.0", - "jest-util": "^23.4.0" + "jest-mock": "23.2.0", + "jest-util": "23.4.0" } }, "jest-get-type": { @@ -5978,14 +5978,14 @@ "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", "dev": true, "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "invariant": "^2.2.4", - "jest-docblock": "^23.2.0", - "jest-serializer": "^23.0.1", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0" + "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.5.2" } }, "jest-jasmine2": { @@ -5994,18 +5994,18 @@ "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", "dev": true, "requires": { - "babel-traverse": "^6.0.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^23.6.0", - "is-generator-fn": "^1.0.0", - "jest-diff": "^23.6.0", - "jest-each": "^23.6.0", - "jest-matcher-utils": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-snapshot": "^23.6.0", - "jest-util": "^23.4.0", - "pretty-format": "^23.6.0" + "babel-traverse": "6.26.0", + "chalk": "2.4.1", + "co": "4.6.0", + "expect": "23.6.0", + "is-generator-fn": "1.0.0", + "jest-diff": "23.6.0", + "jest-each": "23.6.0", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -6020,7 +6020,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6029,9 +6029,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -6040,8 +6040,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6050,7 +6050,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6061,7 +6061,7 @@ "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", "dev": true, "requires": { - "pretty-format": "^23.6.0" + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -6076,7 +6076,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "pretty-format": { @@ -6085,8 +6085,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } } } @@ -6097,9 +6097,9 @@ "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", "dev": true, "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^22.1.0", - "pretty-format": "^23.6.0" + "chalk": "2.4.1", + "jest-get-type": "22.4.3", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -6114,7 +6114,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6123,9 +6123,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -6134,8 +6134,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6144,7 +6144,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6155,11 +6155,11 @@ "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0-beta.35", - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", - "stack-utils": "^1.0.1" + "@babel/code-frame": "7.0.0", + "chalk": "2.4.1", + "micromatch": "2.3.11", + "slash": "1.0.0", + "stack-utils": "1.0.2" }, "dependencies": { "ansi-styles": { @@ -6168,7 +6168,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6177,9 +6177,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -6188,7 +6188,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6211,9 +6211,9 @@ "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", "dev": true, "requires": { - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "realpath-native": "^1.0.0" + "browser-resolve": "1.11.3", + "chalk": "2.4.1", + "realpath-native": "1.0.2" }, "dependencies": { "ansi-styles": { @@ -6222,7 +6222,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6231,9 +6231,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -6242,7 +6242,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6253,8 +6253,8 @@ "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", "dev": true, "requires": { - "jest-regex-util": "^23.3.0", - "jest-snapshot": "^23.6.0" + "jest-regex-util": "23.3.0", + "jest-snapshot": "23.6.0" } }, "jest-runner": { @@ -6263,19 +6263,19 @@ "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", "dev": true, "requires": { - "exit": "^0.1.2", - "graceful-fs": "^4.1.11", - "jest-config": "^23.6.0", - "jest-docblock": "^23.2.0", - "jest-haste-map": "^23.6.0", - "jest-jasmine2": "^23.6.0", - "jest-leak-detector": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-runtime": "^23.6.0", - "jest-util": "^23.4.0", - "jest-worker": "^23.2.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" + "exit": "0.1.2", + "graceful-fs": "4.1.11", + "jest-config": "23.6.0", + "jest-docblock": "23.2.0", + "jest-haste-map": "23.6.0", + "jest-jasmine2": "23.6.0", + "jest-leak-detector": "23.6.0", + "jest-message-util": "23.4.0", + "jest-runtime": "23.6.0", + "jest-util": "23.4.0", + "jest-worker": "23.2.0", + "source-map-support": "0.5.9", + "throat": "4.1.0" }, "dependencies": { "source-map": { @@ -6290,8 +6290,8 @@ "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.1", + "source-map": "0.6.1" } } } @@ -6302,27 +6302,27 @@ "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", "dev": true, "requires": { - "babel-core": "^6.0.0", - "babel-plugin-istanbul": "^4.1.6", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "exit": "^0.1.2", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.1.11", - "jest-config": "^23.6.0", - "jest-haste-map": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-regex-util": "^23.3.0", - "jest-resolve": "^23.6.0", - "jest-snapshot": "^23.6.0", - "jest-util": "^23.4.0", - "jest-validate": "^23.6.0", - "micromatch": "^2.3.11", - "realpath-native": "^1.0.0", - "slash": "^1.0.0", + "babel-core": "6.26.3", + "babel-plugin-istanbul": "4.1.6", + "chalk": "2.4.1", + "convert-source-map": "1.5.1", + "exit": "0.1.2", + "fast-json-stable-stringify": "2.0.0", + "graceful-fs": "4.1.11", + "jest-config": "23.6.0", + "jest-haste-map": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0", + "jest-resolve": "23.6.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "micromatch": "2.3.11", + "realpath-native": "1.0.2", + "slash": "1.0.0", "strip-bom": "3.0.0", - "write-file-atomic": "^2.1.0", - "yargs": "^11.0.0" + "write-file-atomic": "2.3.0", + "yargs": "11.1.0" }, "dependencies": { "ansi-styles": { @@ -6331,7 +6331,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6340,9 +6340,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "strip-bom": { @@ -6357,7 +6357,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "write-file-atomic": { @@ -6366,9 +6366,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } } } @@ -6384,16 +6384,16 @@ "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", "dev": true, "requires": { - "babel-types": "^6.0.0", - "chalk": "^2.0.1", - "jest-diff": "^23.6.0", - "jest-matcher-utils": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-resolve": "^23.6.0", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^23.6.0", - "semver": "^5.5.0" + "babel-types": "6.26.0", + "chalk": "2.4.1", + "jest-diff": "23.6.0", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-resolve": "23.6.0", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "pretty-format": "23.6.0", + "semver": "5.5.0" }, "dependencies": { "ansi-regex": { @@ -6408,7 +6408,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6417,9 +6417,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -6428,8 +6428,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6438,7 +6438,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6449,14 +6449,14 @@ "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", "dev": true, "requires": { - "callsites": "^2.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "jest-message-util": "^23.4.0", - "mkdirp": "^0.5.1", - "slash": "^1.0.0", - "source-map": "^0.6.0" + "callsites": "2.0.0", + "chalk": "2.4.1", + "graceful-fs": "4.1.11", + "is-ci": "1.2.1", + "jest-message-util": "23.4.0", + "mkdirp": "0.5.1", + "slash": "1.0.0", + "source-map": "0.6.1" }, "dependencies": { "ansi-styles": { @@ -6465,7 +6465,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6474,9 +6474,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "source-map": { @@ -6491,7 +6491,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6502,10 +6502,10 @@ "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", "dev": true, "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^22.1.0", - "leven": "^2.1.0", - "pretty-format": "^23.6.0" + "chalk": "2.4.1", + "jest-get-type": "22.4.3", + "leven": "2.1.0", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -6520,7 +6520,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6529,9 +6529,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -6540,8 +6540,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6550,7 +6550,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6561,9 +6561,9 @@ "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "string-length": "^2.0.0" + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "string-length": "2.0.0" }, "dependencies": { "ansi-styles": { @@ -6572,7 +6572,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6581,9 +6581,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -6592,7 +6592,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6602,7 +6602,7 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", "requires": { - "merge-stream": "^1.0.1" + "merge-stream": "1.0.1" } }, "js-tokens": { @@ -6615,8 +6615,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.1" }, "dependencies": { "esprima": { @@ -6638,32 +6638,32 @@ "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", "dev": true, "requires": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", + "abab": "2.0.0", + "acorn": "5.7.3", + "acorn-globals": "4.3.0", + "array-equal": "1.0.0", + "cssom": "0.3.4", + "cssstyle": "1.1.1", + "data-urls": "1.1.0", + "domexception": "1.0.1", + "escodegen": "1.11.0", + "html-encoding-sniffer": "1.0.2", + "left-pad": "1.3.0", + "nwsapi": "2.0.9", "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" + "pn": "1.1.0", + "request": "2.88.0", + "request-promise-native": "1.0.5", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.5.0", + "w3c-hr-time": "1.0.1", + "webidl-conversions": "4.0.2", + "whatwg-encoding": "1.0.5", + "whatwg-mimetype": "2.3.0", + "whatwg-url": "6.5.0", + "ws": "5.2.2", + "xml-name-validator": "3.0.0" }, "dependencies": { "sax": { @@ -6678,7 +6678,7 @@ "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", "dev": true, "requires": { - "async-limiter": "~1.0.0" + "async-limiter": "1.0.0" } } } @@ -6711,7 +6711,7 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { - "jsonify": "~0.0.0" + "jsonify": "0.0.0" } }, "json-stringify-safe": { @@ -6731,7 +6731,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsonify": { @@ -6756,7 +6756,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "klaw": { @@ -6764,7 +6764,7 @@ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "kleur": { @@ -6778,7 +6778,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "left-pad": { @@ -6799,8 +6799,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { @@ -6809,11 +6809,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -6821,8 +6821,8 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -6868,7 +6868,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "js-tokens": "4.0.0" } }, "lru-cache": { @@ -6876,8 +6876,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "make-dir": { @@ -6885,7 +6885,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" }, "dependencies": { "pify": { @@ -6900,7 +6900,7 @@ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "requires": { - "tmpl": "1.0.x" + "tmpl": "1.0.4" } }, "map-cache": { @@ -6913,7 +6913,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "math-random": { @@ -6926,7 +6926,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "merge": { @@ -6939,7 +6939,7 @@ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", "requires": { - "readable-stream": "^2.0.1" + "readable-stream": "2.3.6" } }, "metro": { @@ -6947,32 +6947,32 @@ "resolved": "https://registry.npmjs.org/metro/-/metro-0.48.5.tgz", "integrity": "sha512-aCarzjxdYqh+9I40bF+Hh1ayrwfPrnDwVOvpQg3VZFWU4wfeMiJb+tzeRN9p94cC/MKhBTOjRmUF3plzrHoe0w==", "requires": { - "@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", + "@babel/core": "7.2.2", + "@babel/generator": "7.2.2", + "@babel/parser": "7.2.3", + "@babel/plugin-external-helpers": "7.2.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "absolute-path": "0.0.0", + "async": "2.6.1", + "babel-preset-fbjs": "3.1.0", + "chalk": "1.1.3", + "concat-stream": "1.6.2", + "connect": "3.6.6", + "debug": "2.6.9", + "denodeify": "1.2.1", + "eventemitter3": "3.1.0", + "fbjs": "1.0.0", + "fs-extra": "1.0.0", + "graceful-fs": "4.1.11", + "image-size": "0.6.3", "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", + "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", @@ -6981,21 +6981,21 @@ "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", + "mkdirp": "0.5.1", + "node-fetch": "2.3.0", + "nullthrows": "1.1.1", + "react-transform-hmr": "1.0.4", + "resolve": "1.8.1", + "rimraf": "2.6.2", + "serialize-error": "2.1.0", + "source-map": "0.5.7", "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" + "throat": "4.1.0", + "wordwrap": "1.0.0", + "write-file-atomic": "1.3.4", + "ws": "1.1.5", + "xpipe": "1.0.5", + "yargs": "9.0.1" }, "dependencies": { "@babel/code-frame": { @@ -7003,7 +7003,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/core": { @@ -7011,20 +7011,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.2.2", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.2.2", - "@babel/types": "^7.2.2", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.11", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -7032,7 +7032,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } } } @@ -7042,11 +7042,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -7054,7 +7054,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-define-map": { @@ -7062,9 +7062,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.11" } }, "@babel/helper-function-name": { @@ -7072,9 +7072,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -7082,7 +7082,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -7090,7 +7090,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -7098,7 +7098,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -7111,10 +7111,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -7122,7 +7122,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helpers": { @@ -7130,9 +7130,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.2.0" + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -7140,9 +7140,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" }, "dependencies": { "chalk": { @@ -7150,9 +7150,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } } } @@ -7167,7 +7167,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -7175,8 +7175,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -7184,14 +7184,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@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.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" } }, "@babel/plugin-transform-for-of": { @@ -7199,7 +7199,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/template": { @@ -7207,9 +7207,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -7217,15 +7217,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" }, "dependencies": { "debug": { @@ -7233,7 +7233,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } } } @@ -7243,9 +7243,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -7253,7 +7253,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "arr-diff": { @@ -7276,33 +7276,33 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", "requires": { - "@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/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-syntax-class-properties": "7.2.0", + "@babel/plugin-syntax-flow": "7.2.0", + "@babel/plugin-syntax-jsx": "7.2.0", + "@babel/plugin-syntax-object-rest-spread": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoped-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-member-expression-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-super": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-property-literals": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-template-literals": "7.2.0", + "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" } }, "braces": { @@ -7310,16 +7310,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -7327,7 +7327,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7342,9 +7342,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -7352,9 +7352,9 @@ "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -7366,7 +7366,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "~1.3.2", + "parseurl": "1.3.2", "utils-merge": "1.0.1" } }, @@ -7380,13 +7380,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -7394,13 +7394,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -7408,7 +7408,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -7416,7 +7416,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -7424,7 +7424,7 @@ "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7432,7 +7432,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7442,7 +7442,7 @@ "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7450,7 +7450,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7460,9 +7460,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -7477,14 +7477,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -7492,7 +7492,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -7500,7 +7500,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7510,14 +7510,14 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "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" + "core-js": "2.6.1", + "fbjs-css-vars": "1.0.2", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" } }, "fill-range": { @@ -7525,10 +7525,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -7536,7 +7536,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7547,12 +7547,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" } }, "find-up": { @@ -7560,7 +7560,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "globals": { @@ -7573,7 +7573,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -7581,7 +7581,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -7589,9 +7589,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-fullwidth-code-point": { @@ -7599,7 +7599,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-number": { @@ -7607,7 +7607,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7615,7 +7615,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7630,7 +7630,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "requires": { - "detect-newline": "^2.1.0" + "detect-newline": "2.1.0" } }, "jest-haste-map": { @@ -7638,14 +7638,14 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "invariant": "^2.2.4", - "jest-docblock": "^23.2.0", - "jest-serializer": "^23.0.1", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0" + "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.5.2" } }, "jsesc": { @@ -7658,7 +7658,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "^1.2.0" + "minimist": "1.2.0" } }, "kind-of": { @@ -7671,10 +7671,10 @@ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "metro-babel7-plugin-react-transform": { @@ -7682,7 +7682,7 @@ "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.48.5.tgz", "integrity": "sha512-S0cA0msHBGw7PSwB6nAsvtHEpQXVwzKBaE4AibLpaBiIVdWkYpIOok653zs9x+E9QvQgcghAnlVnDV+MDM+rSw==", "requires": { - "@babel/helper-module-imports": "^7.0.0" + "@babel/helper-module-imports": "7.0.0" } }, "metro-react-native-babel-preset": { @@ -7690,41 +7690,41 @@ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.48.5.tgz", "integrity": "sha512-ldG1bsusB5zlS1fhAiSLRjUA7I/Chn/dniaXTlkUpgiqyEAaDDmqhkDJ8gyZw3rhlLMVswlBd3o6I8yYti+57w==", "requires": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-export-default-from": "7.2.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-syntax-export-default-from": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-exponentiation-operator": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-assign": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-react-jsx-source": "7.2.0", + "@babel/plugin-transform-regenerator": "7.0.0", + "@babel/plugin-transform-runtime": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-sticky-regex": "7.2.0", + "@babel/plugin-transform-template-literals": "7.2.0", + "@babel/plugin-transform-typescript": "7.2.0", + "@babel/plugin-transform-unicode-regex": "7.2.0", + "@babel/template": "7.2.2", "metro-babel7-plugin-react-transform": "0.48.5", - "react-transform-hmr": "^1.0.4" + "react-transform-hmr": "1.0.4" } }, "ms": { @@ -7742,9 +7742,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "path-type": { @@ -7752,7 +7752,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "read-pkg": { @@ -7760,9 +7760,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -7770,8 +7770,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "sane": { @@ -7779,15 +7779,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "micromatch": { @@ -7795,19 +7795,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -7827,7 +7827,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -7850,19 +7850,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -7870,7 +7870,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -7880,18 +7880,18 @@ "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.48.5.tgz", "integrity": "sha512-bJCessd7THqEfXrKEoj284XVjg9AGYbGqZiyV622l6ex9TvtVi1lToDY0TuAAuDXOm+V4vQXV7/HvR6JPP0dTQ==", "requires": { - "@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" + "@babel/core": "7.2.2", + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-transform-async-to-generator": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/register": "7.0.0", + "core-js": "2.6.1", + "escape-string-regexp": "1.0.5" }, "dependencies": { "@babel/code-frame": { @@ -7899,7 +7899,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/core": { @@ -7907,20 +7907,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.2.2", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.2.2", - "@babel/types": "^7.2.2", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.11", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" } }, "@babel/generator": { @@ -7928,11 +7928,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -7940,9 +7940,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -7950,7 +7950,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -7958,7 +7958,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helpers": { @@ -7966,9 +7966,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.2.0" + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -7976,9 +7976,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -7991,9 +7991,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -8001,15 +8001,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -8017,9 +8017,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -8027,7 +8027,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -8035,9 +8035,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "core-js": { @@ -8050,7 +8050,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -8068,7 +8068,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "^1.2.0" + "minimist": "1.2.0" } }, "ms": { @@ -8081,7 +8081,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -8097,7 +8097,7 @@ "integrity": "sha512-wzn4X9KgmAMZ7Bi6v9KxA7dw+AHGL0RODPxU5NDJ3A6d0yERvzfZ3qkzWhz8jbFkVBK12cu5DTho3HBazKQDOw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0" + "@babel/helper-module-imports": "7.0.0" } }, "metro-cache": { @@ -8107,8 +8107,8 @@ "requires": { "jest-serializer": "23.0.1", "metro-core": "0.48.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4" + "mkdirp": "0.5.1", + "rimraf": "2.6.2" } }, "metro-config": { @@ -8116,11 +8116,11 @@ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.48.5.tgz", "integrity": "sha512-b+EmFgBOAEUM5THjJ2EU6CJxnULLC5V1Q8S8dz4xX4v96eLIsRCLPrXgYKATHJTVi0qw99ATVRsOBZVZ77fwjg==", "requires": { - "cosmiconfig": "^5.0.5", + "cosmiconfig": "5.0.7", "metro": "0.48.5", "metro-cache": "0.48.5", "metro-core": "0.48.5", - "pretty-format": "^23.4.1" + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -8133,7 +8133,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "pretty-format": { @@ -8141,8 +8141,8 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } } } @@ -8153,9 +8153,9 @@ "integrity": "sha512-Yp0BOAHhxf/qdNkwJhemVdD2Y59iyaTjwxUimCmeD8u5VEL6mLgEC1S0KczyWEiAgX3Fs48rezCAcx3mo67wXg==", "requires": { "jest-haste-map": "23.5.0", - "lodash.throttle": "^4.1.1", + "lodash.throttle": "4.1.1", "metro-resolver": "0.48.5", - "wordwrap": "^1.0.0" + "wordwrap": "1.0.0" }, "dependencies": { "arr-diff": { @@ -8173,16 +8173,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -8190,7 +8190,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8200,13 +8200,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -8214,7 +8214,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -8222,7 +8222,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -8230,7 +8230,7 @@ "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -8238,7 +8238,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8248,7 +8248,7 @@ "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -8256,7 +8256,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8266,9 +8266,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -8283,14 +8283,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -8298,7 +8298,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -8306,7 +8306,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8316,10 +8316,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -8327,7 +8327,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8337,7 +8337,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8345,7 +8345,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8353,9 +8353,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -8363,7 +8363,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -8371,7 +8371,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8386,7 +8386,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "requires": { - "detect-newline": "^2.1.0" + "detect-newline": "2.1.0" } }, "jest-haste-map": { @@ -8394,14 +8394,14 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "invariant": "^2.2.4", - "jest-docblock": "^23.2.0", - "jest-serializer": "^23.0.1", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0" + "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.5.2" } }, "kind-of": { @@ -8414,15 +8414,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "micromatch": { @@ -8430,19 +8430,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -8459,7 +8459,7 @@ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.48.5.tgz", "integrity": "sha512-tiHVYlUMuL91YjQPx9BzzzXy5jAAA5SWLqlvWfmM6m9faWtFeCv8Se27vVNuPDkOPYyL8qPCRhUpZMUhA0yN2g==", "requires": { - "uglify-es": "^3.1.9" + "uglify-es": "3.3.9" } }, "metro-react-native-babel-preset": { @@ -8468,41 +8468,41 @@ "integrity": "sha512-e9tsYDFhU70gar0jQWcZXRPJVCv4k7tEs6Pm74wXO2OO/T1MEumbvniDIGwGG8bG8RUnYdHhjcaiub2Vc5BRWw==", "dev": true, "requires": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-export-default-from": "7.2.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-syntax-export-default-from": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-exponentiation-operator": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-assign": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-react-jsx-source": "7.2.0", + "@babel/plugin-transform-regenerator": "7.0.0", + "@babel/plugin-transform-runtime": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-sticky-regex": "7.2.0", + "@babel/plugin-transform-template-literals": "7.2.0", + "@babel/plugin-transform-typescript": "7.2.0", + "@babel/plugin-transform-unicode-regex": "7.2.0", + "@babel/template": "7.2.2", "metro-babel7-plugin-react-transform": "0.51.1", - "react-transform-hmr": "^1.0.4" + "react-transform-hmr": "1.0.4" }, "dependencies": { "@babel/code-frame": { @@ -8511,7 +8511,7 @@ "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "dev": true, "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -8520,11 +8520,11 @@ "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "dev": true, "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -8533,7 +8533,7 @@ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-define-map": { @@ -8542,9 +8542,9 @@ "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.11" } }, "@babel/helper-function-name": { @@ -8553,9 +8553,9 @@ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -8564,7 +8564,7 @@ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -8573,7 +8573,7 @@ "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -8582,7 +8582,7 @@ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -8597,10 +8597,10 @@ "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -8609,7 +8609,7 @@ "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -8618,9 +8618,9 @@ "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -8635,7 +8635,7 @@ "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -8644,8 +8644,8 @@ "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -8654,14 +8654,14 @@ "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@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.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" } }, "@babel/plugin-transform-for-of": { @@ -8670,7 +8670,7 @@ "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/template": { @@ -8679,9 +8679,9 @@ "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -8690,15 +8690,15 @@ "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -8707,9 +8707,9 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -8718,7 +8718,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -8727,9 +8727,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -8738,7 +8738,7 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -8765,7 +8765,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -8781,7 +8781,7 @@ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.48.5.tgz", "integrity": "sha512-lScSpLJKZMmNPRwvcY6zj28AwMOcI1M5bCCv+m06VWcISCTq1KlaKVwqLKmFgUtPkoFtFLD+PVKRKCRUxj1opg==", "requires": { - "absolute-path": "^0.0.0" + "absolute-path": "0.0.0" } }, "metro-source-map": { @@ -8789,7 +8789,7 @@ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.48.5.tgz", "integrity": "sha512-+BbcU9vfEl/XhMlVV0RwuHuEkai4lq7RmlQkxgoOoWl1u0yXCAPRZ5sqa326fPlJzElOR3cp0y7+Oc2nbIguyg==", "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "micromatch": { @@ -8797,19 +8797,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { - "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" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "mime": { @@ -8827,7 +8827,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", "requires": { - "mime-db": "~1.23.0" + "mime-db": "1.23.0" }, "dependencies": { "mime-db": { @@ -8847,7 +8847,7 @@ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { - "dom-walk": "^0.1.0" + "dom-walk": "0.1.1" } }, "minimatch": { @@ -8855,7 +8855,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -8868,8 +8868,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -8877,7 +8877,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -8923,17 +8923,17 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "arr-diff": { @@ -8964,8 +8964,8 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "encoding": "0.1.12", + "is-stream": "1.1.0" } }, "node-int64": { @@ -8983,10 +8983,10 @@ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", "requires": { - "growly": "^1.3.0", - "semver": "^5.4.1", - "shellwords": "^0.1.1", - "which": "^1.3.0" + "growly": "1.3.0", + "semver": "5.5.0", + "shellwords": "0.1.1", + "which": "1.3.1" } }, "normalize-package-data": { @@ -8994,10 +8994,10 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.4" } }, "normalize-path": { @@ -9005,7 +9005,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "npm-run-path": { @@ -9013,7 +9013,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "npmlog": { @@ -9021,9 +9021,9 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", "requires": { - "ansi": "~0.3.1", - "are-we-there-yet": "~1.1.2", - "gauge": "~1.2.5" + "ansi": "0.3.1", + "are-we-there-yet": "1.1.5", + "gauge": "1.2.7" } }, "nullthrows": { @@ -9058,9 +9058,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -9068,7 +9068,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -9084,7 +9084,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -9100,8 +9100,8 @@ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" + "define-properties": "1.1.3", + "es-abstract": "1.12.0" } }, "object.omit": { @@ -9109,8 +9109,8 @@ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.pick": { @@ -9118,7 +9118,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -9146,7 +9146,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -9154,7 +9154,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "opn": { @@ -9162,7 +9162,7 @@ "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=", "requires": { - "object-assign": "^4.0.1" + "object-assign": "4.1.1" } }, "optimist": { @@ -9170,8 +9170,8 @@ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.10", + "wordwrap": "0.0.3" }, "dependencies": { "minimist": { @@ -9192,12 +9192,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" } }, "options": { @@ -9216,9 +9216,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "os-tmpdir": { @@ -9236,7 +9236,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -9244,7 +9244,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-try": { @@ -9257,10 +9257,10 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, "parse-json": { @@ -9268,7 +9268,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.2" } }, "parse5": { @@ -9293,7 +9293,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -9332,9 +9332,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "performance-now": { @@ -9360,7 +9360,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pirates": { @@ -9368,7 +9368,7 @@ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.0.tgz", "integrity": "sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA==", "requires": { - "node-modules-regexp": "^1.0.0" + "node-modules-regexp": "1.0.0" } }, "pkg-dir": { @@ -9376,7 +9376,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" }, "dependencies": { "find-up": { @@ -9384,7 +9384,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } } } @@ -9394,11 +9394,11 @@ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", "requires": { - "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" + "ansi-cyan": "0.1.1", + "ansi-red": "0.1.1", + "arr-diff": "1.1.0", + "arr-union": "2.1.0", + "extend-shallow": "1.1.4" }, "dependencies": { "arr-diff": { @@ -9406,8 +9406,8 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", "requires": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" + "arr-flatten": "1.1.0", + "array-slice": "0.2.3" } }, "arr-union": { @@ -9420,7 +9420,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", "requires": { - "kind-of": "^1.1.0" + "kind-of": "1.1.0" } }, "kind-of": { @@ -9477,7 +9477,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "~2.0.3" + "asap": "2.0.6" } }, "prompts": { @@ -9486,8 +9486,8 @@ "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", "dev": true, "requires": { - "kleur": "^2.0.1", - "sisteransi": "^0.1.1" + "kleur": "2.0.2", + "sisteransi": "0.1.1" } }, "prop-types": { @@ -9495,8 +9495,8 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "loose-envify": "1.4.0", + "object-assign": "4.1.1" } }, "pseudomap": { @@ -9532,8 +9532,8 @@ "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.2.0.tgz", "integrity": "sha512-5wupExkIt8RYL4h/FE+WTg3JHk62e6fFPWtAZA9J5IWK1PfTfKkMS93HBUHcFpeYi9KsY5pFbh+ldvEyaz5MyA==", "requires": { - "decode-uri-component": "^0.2.0", - "strict-uri-encode": "^2.0.0" + "decode-uri-component": "0.2.0", + "strict-uri-encode": "2.0.0" } }, "randomatic": { @@ -9541,9 +9541,9 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { @@ -9563,10 +9563,10 @@ "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz", "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.11.2" + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "prop-types": "15.6.2", + "scheduler": "0.11.3" } }, "react-clone-referenced-element": { @@ -9594,58 +9594,58 @@ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.57.8.tgz", "integrity": "sha512-K6DAMTPTq+lxVYC73y4Kh/bgLajddBaIKzwsVeV4JOoS1Fdq48/ISXD3vApV+x+/IBVTXnrT9qlA+9U6MMZCqA==", "requires": { - "@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", + "@babel/runtime": "7.2.0", + "absolute-path": "0.0.0", + "art": "0.10.3", + "base64-js": "1.3.0", + "chalk": "1.1.3", + "commander": "2.17.1", + "compression": "1.7.3", + "connect": "3.6.6", + "create-react-class": "15.6.3", + "debug": "2.6.9", + "denodeify": "1.2.1", + "envinfo": "5.12.1", + "errorhandler": "1.5.0", + "escape-string-regexp": "1.0.5", + "event-target-shim": "1.1.1", + "fbjs": "1.0.0", + "fbjs-scripts": "1.0.1", + "fs-extra": "1.0.0", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "inquirer": "3.3.0", + "lodash": "4.17.11", + "metro": "0.48.5", + "metro-babel-register": "0.48.5", + "metro-core": "0.48.5", + "metro-memory-fs": "0.48.5", + "mime": "1.6.0", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "morgan": "1.9.1", + "node-fetch": "2.3.0", + "node-notifier": "5.2.1", + "npmlog": "2.0.4", + "opn": "3.0.3", + "optimist": "0.6.1", + "plist": "3.0.1", + "pretty-format": "4.3.1", + "promise": "7.3.1", + "prop-types": "15.6.2", + "react-clone-referenced-element": "1.0.1", + "react-devtools-core": "3.4.3", + "react-timer-mixin": "0.13.4", + "regenerator-runtime": "0.11.1", + "rimraf": "2.6.2", + "semver": "5.5.0", + "serve-static": "1.13.2", "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" + "stacktrace-parser": "0.1.4", + "ws": "1.1.5", + "xcode": "1.1.0", + "xmldoc": "0.4.0", + "yargs": "9.0.1" }, "dependencies": { "@babel/code-frame": { @@ -9653,7 +9653,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/core": { @@ -9661,20 +9661,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.2.2", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.2.2", - "@babel/types": "^7.2.2", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.11", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -9682,7 +9682,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } } } @@ -9692,11 +9692,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -9704,7 +9704,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-define-map": { @@ -9712,9 +9712,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.11" } }, "@babel/helper-function-name": { @@ -9722,9 +9722,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -9732,7 +9732,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -9740,7 +9740,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -9748,7 +9748,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -9761,10 +9761,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -9772,7 +9772,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helpers": { @@ -9780,9 +9780,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.2.0" + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -9790,9 +9790,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" }, "dependencies": { "chalk": { @@ -9800,9 +9800,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } } } @@ -9817,7 +9817,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -9825,8 +9825,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -9834,14 +9834,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@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.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" } }, "@babel/plugin-transform-for-of": { @@ -9849,7 +9849,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/runtime": { @@ -9857,7 +9857,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "requires": { - "regenerator-runtime": "^0.12.0" + "regenerator-runtime": "0.12.1" }, "dependencies": { "regenerator-runtime": { @@ -9872,9 +9872,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -9882,15 +9882,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" }, "dependencies": { "debug": { @@ -9898,7 +9898,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } } } @@ -9908,9 +9908,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "accepts": { @@ -9918,7 +9918,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "~2.1.18", + "mime-types": "2.1.21", "negotiator": "0.6.1" } }, @@ -9927,7 +9927,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "babel-plugin-syntax-trailing-function-commas": { @@ -9940,33 +9940,33 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", "requires": { - "@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/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-syntax-class-properties": "7.2.0", + "@babel/plugin-syntax-flow": "7.2.0", + "@babel/plugin-syntax-jsx": "7.2.0", + "@babel/plugin-syntax-object-rest-spread": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoped-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-member-expression-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-super": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-property-literals": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-template-literals": "7.2.0", + "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" } }, "basic-auth": { @@ -9992,9 +9992,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -10002,9 +10002,9 @@ "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -10014,13 +10014,13 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", "requires": { - "accepts": "~1.3.5", + "accepts": "1.3.5", "bytes": "3.0.0", - "compressible": "~2.0.14", + "compressible": "2.0.14", "debug": "2.6.9", - "on-headers": "~1.0.1", + "on-headers": "1.0.1", "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "vary": "1.1.2" } }, "connect": { @@ -10030,7 +10030,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "~1.3.2", + "parseurl": "1.3.2", "utils-merge": "1.0.1" } }, @@ -10054,8 +10054,8 @@ "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.0.tgz", "integrity": "sha1-6rpkyl1UKjEayUX1gt78M2Fl2fQ=", "requires": { - "accepts": "~1.3.3", - "escape-html": "~1.0.3" + "accepts": "1.3.5", + "escape-html": "1.0.3" } }, "etag": { @@ -10068,13 +10068,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "fbjs": { @@ -10082,14 +10082,14 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "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" + "core-js": "2.6.1", + "fbjs-css-vars": "1.0.2", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" } }, "fbjs-scripts": { @@ -10097,16 +10097,16 @@ "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-1.0.1.tgz", "integrity": "sha512-x8bfX7k0z5B24Ue0YqjZq/2QxxaKZUNbkGdX//zbQDElMJFqBRrvRi8O3qds7UNNzs78jYqIYCS32Sk/wu5UJg==", "requires": { - "@babel/core": "^7.0.0", - "ansi-colors": "^1.0.1", - "babel-preset-fbjs": "^3.0.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" + "@babel/core": "7.2.2", + "ansi-colors": "1.1.0", + "babel-preset-fbjs": "3.1.0", + "core-js": "2.6.1", + "cross-spawn": "5.1.0", + "fancy-log": "1.3.2", + "object-assign": "4.1.1", + "plugin-error": "0.1.2", + "semver": "5.5.0", + "through2": "2.0.3" } }, "finalhandler": { @@ -10115,12 +10115,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" } }, "find-up": { @@ -10128,7 +10128,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "fresh": { @@ -10146,10 +10146,10 @@ "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { - "depd": "~1.1.2", + "depd": "1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "statuses": "1.5.0" }, "dependencies": { "statuses": { @@ -10164,7 +10164,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "jsesc": { @@ -10177,7 +10177,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "^1.2.0" + "minimist": "1.2.0" } }, "load-json-file": { @@ -10185,10 +10185,10 @@ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "mime-db": { @@ -10201,7 +10201,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.37.0" } }, "morgan": { @@ -10209,11 +10209,11 @@ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", "requires": { - "basic-auth": "~2.0.0", + "basic-auth": "2.0.1", "debug": "2.6.9", - "depd": "~1.1.2", - "on-finished": "~2.3.0", - "on-headers": "~1.0.1" + "depd": "1.1.2", + "on-finished": "2.3.0", + "on-headers": "1.0.1" } }, "ms": { @@ -10236,9 +10236,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "path-type": { @@ -10246,7 +10246,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "plist": { @@ -10254,9 +10254,9 @@ "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", "requires": { - "base64-js": "^1.2.3", - "xmlbuilder": "^9.0.7", - "xmldom": "0.1.x" + "base64-js": "1.3.0", + "xmlbuilder": "9.0.7", + "xmldom": "0.1.27" } }, "range-parser": { @@ -10269,8 +10269,8 @@ "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.4.3.tgz", "integrity": "sha512-t3f6cRH5YSKv8qjRl1Z+1e0OwBZwJSdOAhJ9QAJdVKML7SmqAKKv3DxF+Ue03pE1N2UipPsLmaNcPzzMjIdZQg==", "requires": { - "shell-quote": "^1.6.1", - "ws": "^3.3.1" + "shell-quote": "1.6.1", + "ws": "3.3.3" }, "dependencies": { "ws": { @@ -10278,9 +10278,9 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2", + "ultron": "1.1.1" } } } @@ -10290,9 +10290,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -10300,8 +10300,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "regenerator-runtime": { @@ -10315,18 +10315,18 @@ "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "requires": { "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", + "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.6.2", + "http-errors": "1.6.3", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" }, "dependencies": { "mime": { @@ -10351,9 +10351,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", "send": "0.16.2" } }, @@ -10372,7 +10372,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -10400,8 +10400,8 @@ "resolved": "https://registry.npmjs.org/xcode/-/xcode-1.1.0.tgz", "integrity": "sha512-hllHFtfsNu5WbVzj8KbGNdI3NgOYmTLZqyF4a9c9J1aGMhAdxmLLsXlpG0Bz8fEtKh6I3pyargRXN0ZlLpcF5w==", "requires": { - "simple-plist": "^0.2.1", - "uuid": "^3.3.2" + "simple-plist": "0.2.1", + "uuid": "3.3.2" } }, "xmlbuilder": { @@ -10414,19 +10414,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -10434,7 +10434,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -10449,8 +10449,8 @@ "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.13.3.tgz", "integrity": "sha512-B62LSSAEYQGItg7KVTzTVVCxezOYFBYp4DMVFbdoZUd1mZVFdqR2sy1HY1mye1VI/Lf3IbxSyZEQ0GmrrdwLjg==", "requires": { - "base-64": "^0.1.0", - "utf8": "^2.1.1" + "base-64": "0.1.0", + "utf8": "2.1.2" } }, "react-native-gesture-handler": { @@ -10458,9 +10458,9 @@ "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.12.tgz", "integrity": "sha512-Qp5FjRmqUFeCevSu2IYQG1Xw+YXZ9YOzqze/ZxaIvWzYAoKsRchlgHhNoxvCqElp/befrnVFIjAEQyUxcmBKJw==", "requires": { - "hoist-non-react-statics": "^2.3.1", - "invariant": "^2.2.2", - "prop-types": "^15.5.10" + "hoist-non-react-statics": "2.5.5", + "invariant": "2.2.4", + "prop-types": "15.6.2" }, "dependencies": { "hoist-non-react-statics": { @@ -10485,7 +10485,7 @@ "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.11.0.tgz", "integrity": "sha512-N3nElaahu1Me2ltnfc9acpgt1znm6pi8DSadKy79kvdzKwvVIzw0IXueA/Hjr51eCW1BsfNw7D1SgBT9U6qEkA==", "requires": { - "hoist-non-react-statics": "^2.3.1" + "hoist-non-react-statics": "2.5.5" }, "dependencies": { "hoist-non-react-statics": { @@ -10510,7 +10510,7 @@ "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.3.1.tgz", "integrity": "sha512-QNt6VkEW8SP1UJ7yjD5P4bOTWwHQfoIMD5CqnA06pcubdNwHR1NmjiNZsVnIvp5wAEVbW6yTHjLXOh1fzab4xg==", "requires": { - "prop-types": "^15.6.1" + "prop-types": "15.6.2" } }, "react-native-vector-icons": { @@ -10518,9 +10518,9 @@ "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.1.0.tgz", "integrity": "sha512-1GF5I4VWgwnzBtVfAKNgEiR5ziHi5QaKL381wwApMzuiFgIJMNt5XIChuKwKoaiB86s+P5iMcYWxYCyENL96lA==", "requires": { - "lodash": "^4.0.0", - "prop-types": "^15.6.2", - "yargs": "^8.0.2" + "lodash": "4.17.11", + "prop-types": "15.6.2", + "yargs": "8.0.2" }, "dependencies": { "cliui": { @@ -10528,9 +10528,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -10538,9 +10538,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -10550,7 +10550,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "is-fullwidth-code-point": { @@ -10558,7 +10558,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "load-json-file": { @@ -10566,10 +10566,10 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "path-type": { @@ -10577,7 +10577,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "read-pkg": { @@ -10585,9 +10585,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -10595,8 +10595,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "strip-bom": { @@ -10609,19 +10609,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -10629,7 +10629,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -10651,7 +10651,7 @@ "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-1.0.5.tgz", "integrity": "sha512-WeGrXFn84R75IAt3ndDfkHw9FNvPsi4JPGO1iopqUoA/2tMPA6WJbhuE3dqmmEu3TZRjI+2LatCgpx00tT1kiQ==", "requires": { - "react-native-tab-view": "^1.2.0" + "react-native-tab-view": "1.3.1" } }, "react-navigation-header-buttons": { @@ -10659,7 +10659,7 @@ "resolved": "https://registry.npmjs.org/react-navigation-header-buttons/-/react-navigation-header-buttons-2.1.1.tgz", "integrity": "sha512-ZWqwvdOBDduAGr1WpmHWbCMmSx9ZpuKdnFOByt9iOSZwwQwMP2f98rkePAlYXlTcThgaqbpdt7jcktAcG056fA==", "requires": { - "react-native-platform-touchable": "^1.1.1" + "react-native-platform-touchable": "1.1.1" } }, "react-navigation-stack": { @@ -10672,10 +10672,10 @@ "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.0.2.tgz", "integrity": "sha512-ffWPVdo+L0GLbQlLAzH7ITYqh9V9NdqT/juj8QtESH5/2yUqfvqTxQoSowvFIrtiIHHFH6tLoQy1sZZciTxmeg==", "requires": { - "hoist-non-react-statics": "^2.5.0", - "prop-types": "^15.6.1", - "react-lifecycles-compat": "^3.0.4", - "react-native-tab-view": "^1.0.0" + "hoist-non-react-statics": "2.5.5", + "prop-types": "15.6.2", + "react-lifecycles-compat": "3.0.4", + "react-native-tab-view": "1.3.1" }, "dependencies": { "hoist-non-react-statics": { @@ -10690,8 +10690,8 @@ "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=", "requires": { - "lodash": "^4.6.1", - "react-deep-force-update": "^1.0.0" + "lodash": "4.17.11", + "react-deep-force-update": "1.1.1" } }, "react-test-renderer": { @@ -10700,10 +10700,10 @@ "integrity": "sha512-B5bCer+qymrQz/wN03lT0LppbZUDRq6AMfzMKrovzkGzfO81a9T+PWQW6MzkWknbwODQH/qpJno/yFQLX5IWrQ==", "dev": true, "requires": { - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "react-is": "^16.6.3", - "scheduler": "^0.11.2" + "object-assign": "4.1.1", + "prop-types": "15.6.2", + "react-is": "16.7.0", + "scheduler": "0.11.3" } }, "react-timer-mixin": { @@ -10716,8 +10716,8 @@ "resolved": "https://registry.npmjs.org/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz", "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=", "requires": { - "global": "^4.3.0", - "react-proxy": "^1.1.7" + "global": "4.3.2", + "react-proxy": "1.1.8" } }, "read-pkg": { @@ -10726,9 +10726,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -10737,8 +10737,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, "readable-stream": { @@ -10746,13 +10746,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "realpath-native": { @@ -10761,7 +10761,7 @@ "integrity": "sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g==", "dev": true, "requires": { - "util.promisify": "^1.0.0" + "util.promisify": "1.0.0" } }, "recast": { @@ -10770,9 +10770,9 @@ "integrity": "sha512-ZUQm94F3AHozRaTo4Vz6yIgkSEZIL7p+BsWeGZ23rx+ZVRoqX+bvBA8br0xmCOU0DSR4qYGtV7Y5HxTsC4V78A==", "requires": { "ast-types": "0.11.6", - "esprima": "~4.0.0", - "private": "~0.1.5", - "source-map": "~0.6.1" + "esprima": "4.0.1", + "private": "0.1.8", + "source-map": "0.6.1" }, "dependencies": { "ast-types": { @@ -10802,7 +10802,7 @@ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", "requires": { - "regenerate": "^1.4.0" + "regenerate": "1.4.0" } }, "regenerator": { @@ -10810,16 +10810,16 @@ "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.13.3.tgz", "integrity": "sha512-vePgoVGUgXfLBw4Z1hv8PTfmt7TW5dT/cMdq2GCdr3TYoPTE1WUU/KjiaZCOLD/JSyGWJMWhMRDYBLbpmVzkFw==", "requires": { - "@babel/core": "^7.1.6", - "@babel/runtime": "^7.1.5", - "@babel/types": "^7.1.6", - "commoner": "^0.10.8", - "private": "^0.1.8", - "recast": "^0.16.0", - "regenerator-preset": "^0.12.1", - "regenerator-runtime": "^0.13.0", - "regenerator-transform": "^0.13.3", - "through": "^2.3.8" + "@babel/core": "7.2.2", + "@babel/runtime": "7.2.0", + "@babel/types": "7.2.2", + "commoner": "0.10.8", + "private": "0.1.8", + "recast": "0.16.1", + "regenerator-preset": "0.12.1", + "regenerator-runtime": "0.13.1", + "regenerator-transform": "0.13.3", + "through": "2.3.8" } }, "regenerator-preset": { @@ -10827,13 +10827,13 @@ "resolved": "https://registry.npmjs.org/regenerator-preset/-/regenerator-preset-0.12.1.tgz", "integrity": "sha512-s/4SOEU1TxZ6IV/CQfz4BEjn29HaRhvqYPoufx2hp9LfuD2dnwnmtWEdXxUuG4JHAE7V+y6aqvileT1AflcH9g==", "requires": { - "@babel/plugin-proposal-function-sent": "^7.0.0-beta.51", - "@babel/plugin-syntax-async-generators": "^7.0.0-beta.51", - "@babel/plugin-transform-arrow-functions": "^7.0.0-beta.51", - "@babel/plugin-transform-block-scoping": "^7.0.0-beta.51", - "@babel/plugin-transform-classes": "^7.0.0-beta.51", - "@babel/plugin-transform-for-of": "^7.0.0-beta.51", - "regenerator-transform": "^0.13.0" + "@babel/plugin-proposal-function-sent": "7.2.0", + "@babel/plugin-syntax-async-generators": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-for-of": "7.2.0", + "regenerator-transform": "0.13.3" } }, "regenerator-runtime": { @@ -10846,7 +10846,7 @@ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", "requires": { - "private": "^0.1.6" + "private": "0.1.8" } }, "regex-cache": { @@ -10854,7 +10854,7 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -10862,8 +10862,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexpu-core": { @@ -10871,12 +10871,12 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^7.0.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.0.2" + "regenerate": "1.4.0", + "regenerate-unicode-properties": "7.0.0", + "regjsgen": "0.5.0", + "regjsparser": "0.6.0", + "unicode-match-property-ecmascript": "1.0.4", + "unicode-match-property-value-ecmascript": "1.0.2" } }, "regjsgen": { @@ -10889,12 +10889,12 @@ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" }, "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } @@ -10920,7 +10920,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -10929,26 +10929,26 @@ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { - "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" + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.7", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.3", + "har-validator": "5.1.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.21", + "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" }, "dependencies": { "mime-db": { @@ -10963,7 +10963,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.37.0" } }, "punycode": { @@ -10978,8 +10978,8 @@ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" + "psl": "1.1.31", + "punycode": "1.4.1" } } } @@ -10990,7 +10990,7 @@ "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", "dev": true, "requires": { - "lodash": "^4.13.1" + "lodash": "4.17.11" } }, "request-promise-native": { @@ -11000,8 +11000,8 @@ "dev": true, "requires": { "request-promise-core": "1.1.1", - "stealthy-require": "^1.1.0", - "tough-cookie": ">=2.3.3" + "stealthy-require": "1.1.1", + "tough-cookie": "2.5.0" } }, "require-directory": { @@ -11019,7 +11019,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.6" } }, "resolve-cwd": { @@ -11028,7 +11028,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-from": { @@ -11046,8 +11046,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -11060,7 +11060,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "rsvp": { @@ -11073,7 +11073,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rx-lite": { @@ -11086,7 +11086,7 @@ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "requires": { - "rx-lite": "*" + "rx-lite": "4.0.8" } }, "safe-buffer": { @@ -11099,7 +11099,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -11113,15 +11113,15 @@ "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "dev": true, "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "arr-diff": { @@ -11142,16 +11142,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -11160,7 +11160,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11171,13 +11171,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -11186,7 +11186,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -11195,7 +11195,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -11204,7 +11204,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11213,7 +11213,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11224,7 +11224,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11233,7 +11233,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11244,9 +11244,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -11263,14 +11263,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -11279,7 +11279,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -11288,7 +11288,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11299,10 +11299,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -11311,7 +11311,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11322,7 +11322,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -11331,7 +11331,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -11340,9 +11340,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -11351,7 +11351,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11360,7 +11360,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11383,19 +11383,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -11410,8 +11410,8 @@ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.3.tgz", "integrity": "sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "1.4.0", + "object-assign": "4.1.1" } }, "semver": { @@ -11434,10 +11434,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -11445,7 +11445,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11465,7 +11465,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -11478,10 +11478,10 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "requires": { - "array-filter": "~0.0.0", - "array-map": "~0.0.0", - "array-reduce": "~0.0.0", - "jsonify": "~0.0.0" + "array-filter": "0.0.1", + "array-map": "0.0.0", + "array-reduce": "0.0.0", + "jsonify": "0.0.0" } }, "shellwords": { @@ -11516,7 +11516,7 @@ "requires": { "base64-js": "1.1.2", "xmlbuilder": "8.2.2", - "xmldom": "0.1.x" + "xmldom": "0.1.27" } }, "xmlbuilder": { @@ -11553,14 +11553,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "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" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.1" }, "dependencies": { "define-property": { @@ -11568,7 +11568,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -11576,7 +11576,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11586,9 +11586,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -11596,7 +11596,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -11604,7 +11604,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -11612,7 +11612,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -11620,9 +11620,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -11642,7 +11642,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-map": { @@ -11655,11 +11655,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "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" + "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": { @@ -11668,7 +11668,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "source-map-url": { @@ -11681,8 +11681,8 @@ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -11695,8 +11695,8 @@ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -11709,7 +11709,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -11723,15 +11723,15 @@ "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", "dev": true, "requires": { - "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" + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "stack-utils": { @@ -11755,8 +11755,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -11764,7 +11764,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -11791,8 +11791,8 @@ "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", "dev": true, "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" + "astral-regex": "1.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -11807,7 +11807,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -11817,8 +11817,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -11831,7 +11831,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -11841,7 +11841,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "strip-ansi": { @@ -11849,7 +11849,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -11858,7 +11858,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -11882,8 +11882,8 @@ "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", "requires": { - "os-tmpdir": "^1.0.0", - "rimraf": "~2.2.6" + "os-tmpdir": "1.0.2", + "rimraf": "2.2.8" }, "dependencies": { "rimraf": { @@ -11899,11 +11899,11 @@ "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" }, "dependencies": { "arr-diff": { @@ -11924,16 +11924,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -11942,7 +11942,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11953,13 +11953,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -11968,7 +11968,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -11977,7 +11977,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -11986,7 +11986,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11995,7 +11995,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12006,7 +12006,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12015,7 +12015,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12026,9 +12026,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -12045,14 +12045,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -12061,7 +12061,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -12070,7 +12070,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -12081,10 +12081,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -12093,7 +12093,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -12104,7 +12104,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -12113,7 +12113,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -12122,9 +12122,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -12133,7 +12133,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12142,7 +12142,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12165,19 +12165,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -12197,8 +12197,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "time-stamp": { @@ -12211,7 +12211,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "tmpl": { @@ -12230,7 +12230,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -12238,10 +12238,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -12249,8 +12249,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" }, "dependencies": { "is-number": { @@ -12258,7 +12258,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } } } @@ -12269,8 +12269,8 @@ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "psl": "1.1.31", + "punycode": "2.1.1" } }, "tr46": { @@ -12279,7 +12279,7 @@ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } }, "trim-right": { @@ -12293,7 +12293,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -12308,7 +12308,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "typedarray": { @@ -12326,8 +12326,8 @@ "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" + "commander": "2.13.0", + "source-map": "0.6.1" }, "dependencies": { "commander": { @@ -12357,8 +12357,8 @@ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "1.0.4", + "unicode-property-aliases-ecmascript": "1.0.4" } }, "unicode-match-property-value-ecmascript": { @@ -12376,10 +12376,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -12387,7 +12387,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -12395,10 +12395,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -12413,8 +12413,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -12422,9 +12422,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -12455,7 +12455,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } }, "urix": { @@ -12484,8 +12484,8 @@ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" + "define-properties": "1.1.3", + "object.getownpropertydescriptors": "2.0.3" } }, "uuid": { @@ -12498,8 +12498,8 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "verror": { @@ -12508,9 +12508,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "w3c-hr-time": { @@ -12519,7 +12519,7 @@ "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", "dev": true, "requires": { - "browser-process-hrtime": "^0.1.2" + "browser-process-hrtime": "0.1.3" } }, "walker": { @@ -12527,7 +12527,7 @@ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "requires": { - "makeerror": "1.0.x" + "makeerror": "1.0.11" } }, "watch": { @@ -12535,8 +12535,8 @@ "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", "requires": { - "exec-sh": "^0.2.0", - "minimist": "^1.2.0" + "exec-sh": "0.2.2", + "minimist": "1.2.0" } }, "webidl-conversions": { @@ -12560,7 +12560,7 @@ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } } } @@ -12582,9 +12582,9 @@ "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" } }, "which": { @@ -12592,7 +12592,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -12610,8 +12610,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -12619,7 +12619,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -12627,9 +12627,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -12644,9 +12644,9 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "ws": { @@ -12654,8 +12654,8 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", "requires": { - "options": ">=0.0.5", - "ultron": "1.0.x" + "options": "0.0.6", + "ultron": "1.0.2" }, "dependencies": { "ultron": { @@ -12676,7 +12676,7 @@ "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-0.4.0.tgz", "integrity": "sha1-0lciS+g5PqrL+DfvIn/Y7CWzaIg=", "requires": { - "sax": "~1.1.1" + "sax": "1.1.6" } }, "xmldom": { @@ -12710,18 +12710,18 @@ "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^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": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "find-up": { @@ -12730,7 +12730,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } } } @@ -12741,7 +12741,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } diff --git a/src/lib/ApplicationState.js b/src/lib/ApplicationState.js index 809255be..4fe38a25 100644 --- a/src/lib/ApplicationState.js +++ b/src/lib/ApplicationState.js @@ -110,8 +110,9 @@ export default class ApplicationState { var isLosingFocus = nextAppState == 'inactive'; if(isEnteringBackground) { - this.notifyOfState(ApplicationState.Backgrounding); + // Set most recent state before notifying observers, in case they need to query this value. this.mostRecentState = ApplicationState.Backgrounding; + this.notifyOfState(ApplicationState.Backgrounding); if(this.shouldLockApplication()) { this.lockApplication(); @@ -120,18 +121,18 @@ export default class ApplicationState { if(isResumingFromBackground || isResuming) { if(isResumingFromBackground) { - this.notifyOfState(ApplicationState.ResumingFromBackground); this.mostRecentState = ApplicationState.ResumingFromBackground; + this.notifyOfState(ApplicationState.ResumingFromBackground); } // Notify of GainingFocus even if resuming from background - this.notifyOfState(ApplicationState.GainingFocus); this.mostRecentState = ApplicationState.GainingFocus; + this.notifyOfState(ApplicationState.GainingFocus); } if(isLosingFocus) { - this.notifyOfState(ApplicationState.LosingFocus); this.mostRecentState = ApplicationState.LosingFocus; + this.notifyOfState(ApplicationState.LosingFocus); if(this.shouldLockApplication()) { this.lockApplication(); diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index 38e0b488..d91da530 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -102,6 +102,12 @@ export default class Authenticate extends Abstract { } async beginAuthenticationForSource(source) { + if(ApplicationState.get().getMostRecentState() == ApplicationState.LosingFocus) { + // Authentication modal may be displayed on lose focus just before the app is closing. + // In this state however, we don't want to begin auth. We'll wait until the app gains focus. + return; + } + if(source.type == "biometric") { // Begin authentication right away, we're not waiting for any input this.validateAuthentication(source); diff --git a/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js b/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js index d6a78340..bfad9aaf 100644 --- a/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js +++ b/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js @@ -44,7 +44,7 @@ export default class AuthenticationSourceBiometric extends AuthenticationSource case "did-succeed": return `Success | ${this.isFace ? "Face ID" : "Fingerprint"}` case "did-fail": - return "Fingerprint failed. Tap to try again."; + return `${this.isFace ? "Face ID" : "Fingerprint"} failed. Tap to try again.`; default: return "Status not accounted for" } From 1158d914cf6b1f314f793828b9fdba0eb7de8955 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 15 Jan 2019 20:32:05 -0600 Subject: [PATCH 096/131] Fix webview padding --- src/screens/Webview.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/screens/Webview.js b/src/screens/Webview.js index a59b48b8..f2737cb8 100644 --- a/src/screens/Webview.js +++ b/src/screens/Webview.js @@ -102,8 +102,6 @@ export default class Webview extends Component { var editor = this.editor; var url = ComponentManager.get().urlForComponent(editor); - let bottomPadding = -34; // For some reason iOS inserts padding on bottom - return ( Date: Tue, 15 Jan 2019 20:47:11 -0600 Subject: [PATCH 097/131] Android Text fix --- index.js | 1 + src/screens/Notes/Notes.js | 2 +- src/style/AndroidTextFix.js | 23 +++++++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/style/AndroidTextFix.js diff --git a/index.js b/index.js index 1791aaad..6a6f0591 100644 --- a/index.js +++ b/index.js @@ -3,6 +3,7 @@ import './src/global.js' import {AppRegistry, YellowBox} from 'react-native'; import App from './src/App'; import {name as appName} from './app.json'; +import "@Style/AndroidTextFix"; YellowBox.ignoreWarnings([ 'Remote debugger is in', diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index f663f3ed..ca85a159 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -224,7 +224,7 @@ export default class Notes extends Abstract { async presentComposer(note) { this.props.navigation.navigate("Compose", { - title: note ? "Editor" : "Compose", + title: note ? "Note" : "Compose", noteId: note && note.uuid, selectedTagId: this.options.selectedTagIds.length && this.options.selectedTagIds[0], }); diff --git a/src/style/AndroidTextFix.js b/src/style/AndroidTextFix.js new file mode 100644 index 00000000..14e751a4 --- /dev/null +++ b/src/style/AndroidTextFix.js @@ -0,0 +1,23 @@ +/* + There's an issue with OnePlus devices cutting off Text due to font configuration. + The fix seems to be to set Roboto explicitely as the font. + To use this fix, just import this file. + https://github.com/facebook/react-native/issues/15114 +*/ + +const React = require('react'); +const { Platform, Text } = require('react-native'); + +const defaultFontFamily = { + ...Platform.select({ + android: { fontFamily: 'Roboto' } + }) +}; + +const oldRender = Text.render; +Text.render = function(...args) { + const origin = oldRender.call(this, ...args); + return React.cloneElement(origin, { + style: [defaultFontFamily, origin.props.style] + }); +}; From d97ffaffdb6eb63c2cbb51ca5c2861603384073c Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 15 Jan 2019 20:49:48 -0600 Subject: [PATCH 098/131] Beta 4 --- android/app/build.gradle | 4 ++-- ios/StandardNotes/Info.plist | 2 +- package.json | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 5a97330b..50b4356a 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -102,8 +102,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 3000003 - versionName "3.0.0-beta3" + versionCode 3000004 + versionName "3.0.0-beta4" multiDexEnabled true diff --git a/ios/StandardNotes/Info.plist b/ios/StandardNotes/Info.plist index f531af89..e6d781e8 100644 --- a/ios/StandardNotes/Info.plist +++ b/ios/StandardNotes/Info.plist @@ -71,7 +71,7 @@ CFBundleSignature ???? CFBundleVersion - 3 + 4 LSRequiresIPhoneOS NSAppTransportSecurity diff --git a/package.json b/package.json index 9713d8b8..e58fc68b 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "StandardNotes", - "version": "3.0.0-beta3", - "versionIOS": "3.0.0-beta3", - "versionAndroid": "3.0.0-beta3", + "version": "3.0.0-beta4", + "versionIOS": "3.0.0-beta4", + "versionAndroid": "3.0.0-beta4", "license": "AGPL-3.0-or-later", "private": true, "scripts": { From 1b060e581287486ca91c16d82ae404cee7d8e57f Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 15 Jan 2019 21:07:37 -0600 Subject: [PATCH 099/131] Arrow function --- src/lib/keysManager.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/keysManager.js b/src/lib/keysManager.js index 681243dc..d0bc6ec1 100644 --- a/src/lib/keysManager.js +++ b/src/lib/keysManager.js @@ -38,7 +38,7 @@ export default class KeysManager { } }), - Storage.get().getMultiItems(storageKeys).then(function(items){ + Storage.get().getMultiItems(storageKeys).then((items) => { // first run this.firstRun = items[FirstRunKey] === null || items[FirstRunKey] === undefined; @@ -74,7 +74,7 @@ export default class KeysManager { } else { this.user = {}; } - }.bind(this)) + }) ]) } From d798b7c1f427456c29fe6c20e3a86c23cd8c643d Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 16 Jan 2019 13:13:36 -0600 Subject: [PATCH 100/131] Hide tags string if note is protected --- src/screens/Notes/NoteCell.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/screens/Notes/NoteCell.js b/src/screens/Notes/NoteCell.js index a8fbec6c..70cde2e5 100644 --- a/src/screens/Notes/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -176,6 +176,7 @@ export default class NoteCell extends ThemedPureComponent { var note = this.props.item; let showPreview = !this.state.options.hidePreviews && !note.content.protected && !note.content.hidePreview; let flags = this.getFlags(note); + let showTagsString = this.props.renderTags && !this.state.options.hideTags && note.tags.length > 0 && !note.content.protected; let highlight = this.state.selected || this.props.highlighted; @@ -236,7 +237,7 @@ export default class NoteCell extends ThemedPureComponent { } - {this.props.renderTags && !this.state.options.hideTags && note.tags.length > 0 && + {showTagsString && {this.props.tagsString} From 5d149279485302e39e975e03813ae9230f557e79 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 16 Jan 2019 13:14:56 -0600 Subject: [PATCH 101/131] Archive note pops to root --- src/screens/SideMenu/NoteSideMenu.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 5b8b4114..331584a4 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -119,7 +119,8 @@ export default class NoteSideMenu extends AbstractSideMenu { runAction(action) { let run = () => { ItemActionManager.handleEvent(action, this.note, () => { - if(action == ItemActionManager.TrashEvent + if(action == ItemActionManager.ArchiveEvent + || action == ItemActionManager.TrashEvent || action == ItemActionManager.DeleteEvent || action == ItemActionManager.EmptyTrashEvent) { this.popToRoot(); From 868fa9f914899b0a24b0cba192593d9c3bf3d8aa Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 16 Jan 2019 13:54:46 -0600 Subject: [PATCH 102/131] Update sfjs --- package-lock.json | 5282 +++++++++--------- package.json | 2 +- src/screens/Settings/Sections/AuthSection.js | 21 +- 3 files changed, 2661 insertions(+), 2644 deletions(-) diff --git a/package-lock.json b/package-lock.json index 15df998f..e58667f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "StandardNotes", - "version": "3.0.0-beta3", + "version": "3.0.0-beta4", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -9,7 +9,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { @@ -17,20 +17,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helpers": "7.2.0", - "@babel/parser": "7.2.3", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "convert-source-map": "1.5.1", - "debug": "4.1.1", - "json5": "2.1.0", - "lodash": "4.17.11", - "resolve": "1.8.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" }, "dependencies": { "debug": { @@ -38,7 +38,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "json5": { @@ -46,7 +46,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" } }, "ms": { @@ -61,11 +61,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -80,7 +80,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -88,8 +88,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", "requires": { - "@babel/helper-explode-assignable-expression": "7.1.0", - "@babel/types": "7.2.2" + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/types": { @@ -97,9 +97,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -114,8 +114,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz", "integrity": "sha512-ebJ2JM6NAKW0fQEqN8hOLxK84RbRz9OkUhGS/Xd5u56ejMfVbayJ4+LykERZCOUM6faa6Fp3SZNX3fcT16MKHw==", "requires": { - "@babel/types": "7.2.2", - "esutils": "2.0.2" + "@babel/types": "^7.0.0", + "esutils": "^2.0.0" }, "dependencies": { "@babel/types": { @@ -123,9 +123,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -140,9 +140,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", "requires": { - "@babel/helper-hoist-variables": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -150,7 +150,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -158,11 +158,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -170,9 +170,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -180,7 +180,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -188,7 +188,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -196,9 +196,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -211,9 +211,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -221,15 +221,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -237,9 +237,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -247,7 +247,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -255,9 +255,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -265,7 +265,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -288,7 +288,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -303,11 +303,11 @@ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.3.tgz", "integrity": "sha512-xO/3Gn+2C7/eOUeb0VRnSP1+yvWHNxlpAot1eMhtoKDCN7POsyQP5excuT5UsV5daHxMWBeIIOeI5cmB8vMRgQ==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-replace-supers": "7.2.3" + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.2.3" }, "dependencies": { "@babel/code-frame": { @@ -315,7 +315,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -323,11 +323,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -335,9 +335,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -345,7 +345,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -353,7 +353,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -361,7 +361,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -374,10 +374,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -385,7 +385,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -393,9 +393,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -408,9 +408,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -418,15 +418,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -434,9 +434,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -444,7 +444,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -452,9 +452,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -462,7 +462,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -485,7 +485,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -500,9 +500,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/helper-explode-assignable-expression": { @@ -510,8 +510,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", "requires": { - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -519,7 +519,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -527,11 +527,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -539,9 +539,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -549,7 +549,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -557,7 +557,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -565,9 +565,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -580,9 +580,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -590,15 +590,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -606,9 +606,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -616,7 +616,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -624,9 +624,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -634,7 +634,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -657,7 +657,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -672,9 +672,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -682,7 +682,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-hoist-variables": { @@ -690,7 +690,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/types": { @@ -698,9 +698,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -715,7 +715,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-module-imports": { @@ -723,7 +723,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/types": { @@ -731,9 +731,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -748,12 +748,12 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", "requires": { - "@babel/helper-module-imports": "7.0.0", - "@babel/helper-simple-access": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/template": "^7.2.2", + "@babel/types": "^7.2.2", + "lodash": "^4.17.10" }, "dependencies": { "@babel/code-frame": { @@ -761,7 +761,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -769,7 +769,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -777,9 +777,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -792,9 +792,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/types": { @@ -802,9 +802,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -812,7 +812,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -820,9 +820,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -830,7 +830,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -845,7 +845,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -858,7 +858,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", "requires": { - "lodash": "4.17.11" + "lodash": "^4.17.10" } }, "@babel/helper-remap-async-to-generator": { @@ -866,11 +866,11 @@ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-wrap-function": "7.2.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@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" }, "dependencies": { "@babel/code-frame": { @@ -878,7 +878,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -886,11 +886,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -898,7 +898,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-function-name": { @@ -906,9 +906,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -916,7 +916,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -924,7 +924,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-wrap-function": { @@ -932,10 +932,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -943,9 +943,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -958,9 +958,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -968,15 +968,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -984,9 +984,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -994,7 +994,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1002,9 +1002,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -1012,7 +1012,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -1035,7 +1035,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -1050,10 +1050,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-simple-access": { @@ -1061,8 +1061,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", "requires": { - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -1070,7 +1070,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/highlight": { @@ -1078,9 +1078,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -1093,9 +1093,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/types": { @@ -1103,9 +1103,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -1113,7 +1113,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1121,9 +1121,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -1131,7 +1131,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -1146,7 +1146,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-wrap-function": { @@ -1154,10 +1154,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" } }, "@babel/helpers": { @@ -1165,9 +1165,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -1175,9 +1175,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" }, "dependencies": { "ansi-styles": { @@ -1185,7 +1185,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1193,9 +1193,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -1203,7 +1203,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -1218,7 +1218,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.2.0.tgz", "integrity": "sha512-QFmtcCShFkyAsNtdCM3lJPmRe1iB+vPZymlB4LnDIKEBj2yKQLQKtoxXxJ8ePT5fwMl4QGg303p4mB0UsSI2/g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1233,8 +1233,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.3.tgz", "integrity": "sha512-FVuQngLoN2iDrpW7LmhPZ2sO4DJxf35FOcwidwB9Ru9tMvI5URthnkVHuG14IStV+TzkMTyLMoOUlSTtrdVwqw==", "requires": { - "@babel/helper-create-class-features-plugin": "7.2.3", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-create-class-features-plugin": "^7.2.3", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1249,8 +1249,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz", "integrity": "sha512-NVfNe7F6nsasG1FnvcFxh2FN0l04ZNe75qTOAVOILWPam0tw9a63RtT/Dab8dPjedZa4fTQaQ83yMMywF9OSug==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-export-default-from": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1265,9 +1265,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.2.0.tgz", "integrity": "sha512-qQBDKRSCu1wGJi3jbngs18vrujVQA4F+OkSuIQYRhE6y19jcPzeEIGOc683mCQXDUR3BQCz8JyCupIwv+IRFmA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-wrap-function": "7.2.0", - "@babel/plugin-syntax-function-sent": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-wrap-function": "^7.2.0", + "@babel/plugin-syntax-function-sent": "^7.2.0" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { @@ -1275,8 +1275,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.2.0.tgz", "integrity": "sha512-QXj/YjFuFJd68oDvoc1e8aqLr2wz7Kofzvp6Ekd/o7MWZl+nZ0/cpStxND+hlZ7DpRWAp7OmuyT2areZ2V3YUA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1291,8 +1291,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz", "integrity": "sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-object-rest-spread": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1307,8 +1307,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1323,8 +1323,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz", "integrity": "sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-optional-chaining": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1339,7 +1339,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-class-properties": { @@ -1347,7 +1347,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz", "integrity": "sha512-UxYaGXYQ7rrKJS/PxIKRkv3exi05oH7rokBAsmCSsCxz1sVPZ7Fu6FzKoGgUvmY+0YgSkYHgUoCh5R5bCNBQlw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1362,7 +1362,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1377,7 +1377,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz", "integrity": "sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1392,7 +1392,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1407,7 +1407,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz", "integrity": "sha512-2MOVuJ6IMAifp2cf0RFkHQaOvHpbBYyWCvgtF/WVqXhTd7Bgtov8iXVCadLXp2FN1BrI2EFl+JXuwXy0qr3KoQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-jsx": { @@ -1415,7 +1415,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1430,7 +1430,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz", "integrity": "sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1445,7 +1445,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1460,7 +1460,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1475,7 +1475,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz", "integrity": "sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1490,7 +1490,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.2.0.tgz", "integrity": "sha512-WhKr6yu6yGpGcNMVgIBuI9MkredpVc7Y3YR4UzEZmDztHoL6wV56YBHLhWnjO1EvId1B32HrD3DRFc+zSoKI1g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1505,7 +1505,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-async-to-generator": { @@ -1513,9 +1513,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", "requires": { - "@babel/helper-module-imports": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-remap-async-to-generator": "7.1.0" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1530,7 +1530,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1545,8 +1545,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.11" + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { @@ -1554,14 +1554,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.1.0", - "@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.2.3", - "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.9.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@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.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" }, "dependencies": { "globals": { @@ -1576,7 +1576,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1591,7 +1591,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz", "integrity": "sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1606,8 +1606,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "7.1.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1622,8 +1622,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz", "integrity": "sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-flow": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1638,7 +1638,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-function-name": { @@ -1646,8 +1646,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -1655,7 +1655,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/helper-function-name": { @@ -1663,9 +1663,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -1673,7 +1673,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -1686,9 +1686,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -1701,9 +1701,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/types": { @@ -1711,9 +1711,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -1721,7 +1721,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1729,9 +1729,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -1739,7 +1739,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -1754,7 +1754,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1769,7 +1769,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1784,9 +1784,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", "requires": { - "@babel/helper-module-transforms": "7.2.2", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-simple-access": "7.1.0" + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1801,7 +1801,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz", "integrity": "sha512-nmE55cZBPFgUktbF2OuoZgPRadfxosLOpSgzEPYotKSls9J4pEPcembi8r78RU37Rph6UApCpNmsQA4QMWK9Ng==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1816,8 +1816,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-replace-supers": "7.2.3" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0" }, "dependencies": { "@babel/code-frame": { @@ -1825,7 +1825,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -1833,11 +1833,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -1845,9 +1845,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -1855,7 +1855,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -1863,7 +1863,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -1871,7 +1871,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -1884,10 +1884,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -1895,7 +1895,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -1903,9 +1903,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -1918,9 +1918,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -1928,15 +1928,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -1944,9 +1944,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -1954,7 +1954,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1962,9 +1962,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -1972,7 +1972,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -1995,7 +1995,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -2010,9 +2010,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==", "requires": { - "@babel/helper-call-delegate": "7.1.0", - "@babel/helper-get-function-arity": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-call-delegate": "^7.1.0", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-get-function-arity": { @@ -2020,7 +2020,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -2033,9 +2033,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -2050,7 +2050,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2065,7 +2065,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2080,9 +2080,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.2.0.tgz", "integrity": "sha512-h/fZRel5wAfCqcKgq3OhbmYaReo7KkoJBpt8XnvpS7wqaNMqtw5xhxutzcm35iMUWucfAdT/nvGTsWln0JTg2Q==", "requires": { - "@babel/helper-builder-react-jsx": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-jsx": "7.2.0" + "@babel/helper-builder-react-jsx": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2097,8 +2097,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz", "integrity": "sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-jsx": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2113,7 +2113,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", "requires": { - "regenerator-transform": "0.13.3" + "regenerator-transform": "^0.13.3" } }, "@babel/plugin-transform-runtime": { @@ -2121,10 +2121,10 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz", "integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==", "requires": { - "@babel/helper-module-imports": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "resolve": "1.8.1", - "semver": "5.6.0" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2144,7 +2144,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2159,7 +2159,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2174,8 +2174,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2190,8 +2190,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" }, "dependencies": { "@babel/helper-annotate-as-pure": { @@ -2199,7 +2199,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -2212,9 +2212,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "to-fast-properties": { @@ -2229,8 +2229,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.2.0.tgz", "integrity": "sha512-EnI7i2/gJ7ZNr2MuyvN2Hu+BHJENlxWte5XygPvfj/MbvtOkWor9zcnHpMMQL2YYaaCcqtIvJUyJ7QVfoGs7ew==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-typescript": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2245,9 +2245,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.0.0", - "regexpu-core": "4.4.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2262,13 +2262,13 @@ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.0.0.tgz", "integrity": "sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==", "requires": { - "core-js": "2.6.1", - "find-cache-dir": "1.0.0", - "home-or-tmp": "3.0.0", - "lodash": "4.17.11", - "mkdirp": "0.5.1", - "pirates": "4.0.0", - "source-map-support": "0.5.9" + "core-js": "^2.5.7", + "find-cache-dir": "^1.0.0", + "home-or-tmp": "^3.0.0", + "lodash": "^4.17.10", + "mkdirp": "^0.5.1", + "pirates": "^4.0.0", + "source-map-support": "^0.5.9" }, "dependencies": { "core-js": { @@ -2291,8 +2291,8 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } } } @@ -2302,7 +2302,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "requires": { - "regenerator-runtime": "0.12.1" + "regenerator-runtime": "^0.12.0" }, "dependencies": { "regenerator-runtime": { @@ -2317,9 +2317,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -2327,15 +2327,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" }, "dependencies": { "debug": { @@ -2343,7 +2343,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -2363,9 +2363,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" }, "dependencies": { "to-fast-properties": { @@ -2381,11 +2381,11 @@ "integrity": "sha512-E0ETZJUuJRHvjtb0f0U416NcDxt9T5HvRLxXu5K4DNxtmjpOfkT9Sh+Q309/zrCwSkHY85ZpGKvewZTSGI7Q1Q==", "requires": { "create-react-context": "0.2.2", - "hoist-non-react-statics": "3.2.1", - "path-to-regexp": "1.7.0", - "query-string": "6.2.0", - "react-is": "16.7.0", - "react-lifecycles-compat": "3.0.4" + "hoist-non-react-statics": "^3.0.1", + "path-to-regexp": "^1.7.0", + "query-string": "^6.2.0", + "react-is": "^16.5.2", + "react-lifecycles-compat": "^3.0.4" } }, "@react-navigation/native": { @@ -2393,10 +2393,10 @@ "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.0.3.tgz", "integrity": "sha512-1T3OnI6DpHPYvrb6OSMvdpcou0NAZKYBeOs66Uimy6oT5tkkj8jwaksAwuSCTIMxaRl1nROPd22yXYq6gBnUVA==", "requires": { - "hoist-non-react-statics": "3.2.1", - "react-native-gesture-handler": "1.0.12", - "react-native-safe-area-view": "0.11.0", - "react-native-screens": "1.0.0-alpha.19" + "hoist-non-react-statics": "^3.0.1", + "react-native-gesture-handler": "^1.0.0", + "react-native-safe-area-view": "^0.11.0", + "react-native-screens": "^1.0.0 || ^1.0.0-alpha" } }, "abab": { @@ -2421,8 +2421,8 @@ "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", "dev": true, "requires": { - "acorn": "6.0.4", - "acorn-walk": "6.1.1" + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" }, "dependencies": { "acorn": { @@ -2445,10 +2445,10 @@ "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "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": { @@ -2461,7 +2461,7 @@ "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "requires": { - "ansi-wrap": "0.1.0" + "ansi-wrap": "^0.1.0" } }, "ansi-cyan": { @@ -2513,8 +2513,8 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "requires": { - "micromatch": "3.1.10", - "normalize-path": "2.1.1" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" }, "dependencies": { "arr-diff": { @@ -2532,16 +2532,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -2549,7 +2549,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2559,13 +2559,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -2573,7 +2573,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -2581,7 +2581,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -2589,7 +2589,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -2597,7 +2597,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2607,7 +2607,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -2615,7 +2615,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2625,9 +2625,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -2642,14 +2642,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -2657,7 +2657,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -2665,7 +2665,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2675,10 +2675,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -2686,7 +2686,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -2696,7 +2696,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -2704,7 +2704,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -2712,9 +2712,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -2722,7 +2722,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -2730,7 +2730,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2750,19 +2750,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -2773,7 +2773,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "are-we-there-yet": { @@ -2781,8 +2781,8 @@ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "argparse": { @@ -2790,7 +2790,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "arr-diff": { @@ -2798,7 +2798,7 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -2864,7 +2864,7 @@ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "~2.1.0" } }, "assert-plus": { @@ -2894,7 +2894,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "4.17.11" + "lodash": "^4.17.10" } }, "async-limiter": { @@ -2931,9 +2931,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "js-tokens": { @@ -2950,25 +2950,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.11", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" } }, "babel-generator": { @@ -2977,14 +2977,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" } }, "babel-helpers": { @@ -2993,8 +2993,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-jest": { @@ -3003,8 +3003,8 @@ "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", "dev": true, "requires": { - "babel-plugin-istanbul": "4.1.6", - "babel-preset-jest": "23.2.0" + "babel-plugin-istanbul": "^4.1.6", + "babel-preset-jest": "^23.2.0" }, "dependencies": { "babel-plugin-jest-hoist": { @@ -3019,8 +3019,8 @@ "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", "dev": true, "requires": { - "babel-plugin-jest-hoist": "23.2.0", - "babel-plugin-syntax-object-rest-spread": "6.13.0" + "babel-plugin-jest-hoist": "^23.2.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" } } } @@ -3031,7 +3031,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-istanbul": { @@ -3040,10 +3040,10 @@ "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", "dev": true, "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "find-up": "2.1.0", - "istanbul-lib-instrument": "1.10.1", - "test-exclude": "4.2.1" + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.10.1", + "test-exclude": "^4.2.1" }, "dependencies": { "find-up": { @@ -3052,7 +3052,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } } } @@ -3069,13 +3069,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.6.1", - "home-or-tmp": "2.0.0", - "lodash": "4.17.11", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" }, "dependencies": { "core-js": { @@ -3092,8 +3092,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" }, "dependencies": { "core-js": { @@ -3116,11 +3116,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.11" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -3129,15 +3129,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.11" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -3146,10 +3146,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -3168,13 +3168,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "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" }, "dependencies": { "define-property": { @@ -3182,7 +3182,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -3190,7 +3190,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3198,7 +3198,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3206,9 +3206,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -3239,7 +3239,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "big-integer": { @@ -3252,7 +3252,7 @@ "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=", "requires": { - "stream-buffers": "2.2.0" + "stream-buffers": "~2.2.0" } }, "bplist-parser": { @@ -3260,7 +3260,7 @@ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", "requires": { - "big-integer": "1.6.34" + "big-integer": "^1.6.7" } }, "brace-expansion": { @@ -3268,7 +3268,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -3277,9 +3277,9 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "browser-process-hrtime": { @@ -3315,9 +3315,9 @@ "resolved": "https://registry.npmjs.org/bugsnag-react-native/-/bugsnag-react-native-2.12.6.tgz", "integrity": "sha512-KJR1Uab6m2WCEP+HudUxl6w1WalsxLwwKf5YRJHkW0m/LZ72mdEv9ipJ/mEAYbyKPv3bL0y855GnlB4lcQ+7XQ==", "requires": { - "iserror": "0.0.2", - "promise": "7.3.1", - "prop-types": "15.6.2" + "iserror": "^0.0.2", + "promise": "^7", + "prop-types": "^15.6.0" } }, "builtin-modules": { @@ -3330,15 +3330,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "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" + "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" }, "dependencies": { "isobject": { @@ -3353,7 +3353,7 @@ "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "requires": { - "callsites": "2.0.0" + "callsites": "^2.0.0" } }, "caller-path": { @@ -3361,7 +3361,7 @@ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "requires": { - "caller-callsite": "2.0.0" + "caller-callsite": "^2.0.0" } }, "callsites": { @@ -3379,7 +3379,7 @@ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", "requires": { - "rsvp": "3.6.2" + "rsvp": "^3.3.3" } }, "caseless": { @@ -3393,11 +3393,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "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" } }, "chardet": { @@ -3416,10 +3416,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -3427,7 +3427,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "isobject": { @@ -3442,7 +3442,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-width": { @@ -3456,9 +3456,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -3473,7 +3473,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -3494,8 +3494,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-convert": { @@ -3522,7 +3522,7 @@ "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -3540,15 +3540,15 @@ "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", "requires": { - "commander": "2.17.1", - "detective": "4.7.1", - "glob": "5.0.15", - "graceful-fs": "4.1.11", - "iconv-lite": "0.4.23", - "mkdirp": "0.5.1", - "private": "0.1.8", - "q": "1.5.1", - "recast": "0.11.23" + "commander": "^2.5.0", + "detective": "^4.3.1", + "glob": "^5.0.15", + "graceful-fs": "^4.1.2", + "iconv-lite": "^0.4.5", + "mkdirp": "^0.5.0", + "private": "^0.1.6", + "q": "^1.1.2", + "recast": "^0.11.17" }, "dependencies": { "glob": { @@ -3556,11 +3556,11 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "recast": { @@ -3569,9 +3569,9 @@ "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", "requires": { "ast-types": "0.9.6", - "esprima": "3.1.3", - "private": "0.1.8", - "source-map": "0.5.7" + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" } } } @@ -3586,7 +3586,7 @@ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "requires": { - "mime-db": "1.35.0" + "mime-db": ">= 1.34.0 < 2" } }, "concat-map": { @@ -3599,10 +3599,10 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { - "buffer-from": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "convert-source-map": { @@ -3630,10 +3630,10 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", "requires": { - "import-fresh": "2.0.0", - "is-directory": "0.3.1", - "js-yaml": "3.12.0", - "parse-json": "4.0.0" + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.9.0", + "parse-json": "^4.0.0" }, "dependencies": { "parse-json": { @@ -3641,8 +3641,8 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "requires": { - "error-ex": "1.3.2", - "json-parse-better-errors": "1.0.2" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } } } @@ -3652,9 +3652,9 @@ "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", "requires": { - "fbjs": "0.8.17", - "loose-envify": "1.4.0", - "object-assign": "4.1.1" + "fbjs": "^0.8.9", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" } }, "create-react-context": { @@ -3662,8 +3662,8 @@ "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz", "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==", "requires": { - "fbjs": "0.8.17", - "gud": "1.0.0" + "fbjs": "^0.8.0", + "gud": "^1.0.0" } }, "cross-spawn": { @@ -3671,9 +3671,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "cssom": { @@ -3688,7 +3688,7 @@ "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", "dev": true, "requires": { - "cssom": "0.3.4" + "cssom": "0.3.x" } }, "dashdash": { @@ -3697,7 +3697,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "data-urls": { @@ -3706,9 +3706,9 @@ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "requires": { - "abab": "2.0.0", - "whatwg-mimetype": "2.3.0", - "whatwg-url": "7.0.0" + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" }, "dependencies": { "whatwg-url": { @@ -3717,9 +3717,9 @@ "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", "dev": true, "requires": { - "lodash.sortby": "4.7.0", - "tr46": "1.0.1", - "webidl-conversions": "4.0.2" + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } } } @@ -3754,7 +3754,7 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-properties": { @@ -3763,7 +3763,7 @@ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "object-keys": "1.0.12" + "object-keys": "^1.0.12" } }, "define-property": { @@ -3771,8 +3771,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -3780,7 +3780,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3788,7 +3788,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3796,9 +3796,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -3845,7 +3845,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "detect-newline": { @@ -3858,8 +3858,8 @@ "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "requires": { - "acorn": "5.7.3", - "defined": "1.0.0" + "acorn": "^5.2.1", + "defined": "^1.0.0" } }, "diff": { @@ -3879,7 +3879,7 @@ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "requires": { - "webidl-conversions": "4.0.2" + "webidl-conversions": "^4.0.2" } }, "ecc-jsbn": { @@ -3888,8 +3888,8 @@ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { - "jsbn": "0.1.1", - "safer-buffer": "2.1.2" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "ee-first": { @@ -3907,7 +3907,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "0.4.23" + "iconv-lite": "~0.4.13" } }, "error-ex": { @@ -3915,7 +3915,7 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -3924,11 +3924,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "1.2.0", - "function-bind": "1.1.1", - "has": "1.0.3", - "is-callable": "1.1.4", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -3937,9 +3937,9 @@ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "dev": true, "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.2" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, "escape-html": { @@ -3958,11 +3958,11 @@ "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { "source-map": { @@ -4005,7 +4005,7 @@ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", "requires": { - "merge": "1.2.0" + "merge": "^1.2.0" } }, "execa": { @@ -4013,13 +4013,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "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" } }, "exit": { @@ -4033,7 +4033,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -4041,7 +4041,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "2.2.4" + "fill-range": "^2.1.0" } }, "expect": { @@ -4050,12 +4050,12 @@ "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "jest-diff": "23.6.0", - "jest-get-type": "22.4.3", - "jest-matcher-utils": "23.6.0", - "jest-message-util": "23.4.0", - "jest-regex-util": "23.3.0" + "ansi-styles": "^3.2.0", + "jest-diff": "^23.6.0", + "jest-get-type": "^22.1.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0" }, "dependencies": { "ansi-styles": { @@ -4064,7 +4064,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } } } @@ -4080,8 +4080,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -4089,7 +4089,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -4099,9 +4099,9 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -4109,7 +4109,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "extsprintf": { @@ -4123,9 +4123,9 @@ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", "requires": { - "ansi-gray": "0.1.1", - "color-support": "1.1.3", - "time-stamp": "1.1.0" + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "time-stamp": "^1.0.0" } }, "fast-deep-equal": { @@ -4151,7 +4151,7 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", "requires": { - "bser": "2.0.0" + "bser": "^2.0.0" }, "dependencies": { "bser": { @@ -4159,7 +4159,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "requires": { - "node-int64": "0.4.0" + "node-int64": "^0.4.0" } } } @@ -4169,13 +4169,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "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-css-vars": { @@ -4188,7 +4188,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "filename-regex": { @@ -4202,8 +4202,8 @@ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "requires": { - "glob": "7.1.2", - "minimatch": "3.0.4" + "glob": "^7.0.3", + "minimatch": "^3.0.3" } }, "fill-range": { @@ -4211,11 +4211,11 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.1.0", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "find-cache-dir": { @@ -4223,9 +4223,9 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "requires": { - "commondir": "1.0.1", - "make-dir": "1.3.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-up": { @@ -4234,8 +4234,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "for-in": { @@ -4248,7 +4248,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "forever-agent": { @@ -4263,9 +4263,9 @@ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.7", - "mime-types": "2.1.21" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, "dependencies": { "mime-db": { @@ -4280,7 +4280,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "1.37.0" + "mime-db": "~1.37.0" } } } @@ -4290,7 +4290,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fs-extra": { @@ -4298,9 +4298,9 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" } }, "fs.realpath": { @@ -4314,8 +4314,8 @@ "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "optional": true, "requires": { - "nan": "2.10.0", - "node-pre-gyp": "0.10.0" + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" }, "dependencies": { "abbrev": { @@ -4341,8 +4341,8 @@ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { @@ -4355,7 +4355,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -4419,7 +4419,7 @@ "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -4434,14 +4434,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "optional": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "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" } }, "glob": { @@ -4450,12 +4450,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "optional": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "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" } }, "has-unicode": { @@ -4470,7 +4470,7 @@ "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "optional": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "^2.1.0" } }, "ignore-walk": { @@ -4479,7 +4479,7 @@ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "optional": true, "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.4" } }, "inflight": { @@ -4488,8 +4488,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "optional": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -4508,7 +4508,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "isarray": { @@ -4522,7 +4522,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -4535,8 +4535,8 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" } }, "minizlib": { @@ -4545,7 +4545,7 @@ "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -4568,9 +4568,9 @@ "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "optional": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.21", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { @@ -4579,16 +4579,16 @@ "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "optional": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.0", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.1" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { @@ -4597,8 +4597,8 @@ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "optional": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npm-bundled": { @@ -4613,8 +4613,8 @@ "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "optional": true, "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { @@ -4623,10 +4623,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -4645,7 +4645,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -4666,8 +4666,8 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -4688,10 +4688,10 @@ "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "optional": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -4708,13 +4708,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "optional": true, "requires": { - "core-util-is": "1.0.2", - "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.2" + "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" } }, "rimraf": { @@ -4723,7 +4723,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "optional": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -4766,9 +4766,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -4777,7 +4777,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "optional": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -4785,7 +4785,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -4800,13 +4800,13 @@ "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "optional": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.4", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -4821,7 +4821,7 @@ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -4847,11 +4847,11 @@ "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", "requires": { - "ansi": "0.3.1", - "has-unicode": "2.0.1", - "lodash.pad": "4.5.1", - "lodash.padend": "4.6.1", - "lodash.padstart": "4.6.1" + "ansi": "^0.3.0", + "has-unicode": "^2.0.0", + "lodash.pad": "^4.1.0", + "lodash.padend": "^4.1.0", + "lodash.padstart": "^4.1.0" } }, "get-caller-file": { @@ -4875,7 +4875,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -4883,12 +4883,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "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" } }, "glob-base": { @@ -4896,8 +4896,8 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -4905,7 +4905,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "global": { @@ -4913,8 +4913,8 @@ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "requires": { - "min-document": "2.19.0", - "process": "0.5.2" + "min-document": "^2.19.0", + "process": "~0.5.1" } }, "globals": { @@ -4944,10 +4944,10 @@ "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", "dev": true, "requires": { - "async": "2.6.1", - "optimist": "0.6.1", - "source-map": "0.6.1", - "uglify-js": "3.4.9" + "async": "^2.5.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" }, "dependencies": { "source-map": { @@ -4963,8 +4963,8 @@ "dev": true, "optional": true, "requires": { - "commander": "2.17.1", - "source-map": "0.6.1" + "commander": "~2.17.1", + "source-map": "~0.6.1" } } } @@ -4981,8 +4981,8 @@ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "6.6.2", - "har-schema": "2.0.0" + "ajv": "^6.5.5", + "har-schema": "^2.0.0" } }, "has": { @@ -4991,7 +4991,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -4999,7 +4999,7 @@ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -5023,9 +5023,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -5040,8 +5040,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -5049,7 +5049,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -5057,7 +5057,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5067,7 +5067,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5077,7 +5077,7 @@ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", "requires": { - "react-is": "16.7.0" + "react-is": "^16.3.2" } }, "home-or-tmp": { @@ -5086,8 +5086,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "hosted-git-info": { @@ -5101,7 +5101,7 @@ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { - "whatwg-encoding": "1.0.5" + "whatwg-encoding": "^1.0.1" } }, "http-signature": { @@ -5110,9 +5110,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.16.0" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "iconv-lite": { @@ -5120,7 +5120,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "image-size": { @@ -5138,8 +5138,8 @@ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", "requires": { - "caller-path": "2.0.0", - "resolve-from": "3.0.0" + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" } }, "import-local": { @@ -5148,8 +5148,8 @@ "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "dev": true, "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -5162,8 +5162,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -5176,20 +5176,20 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.11", + "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.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "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" }, "dependencies": { "ansi-regex": { @@ -5202,7 +5202,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5210,9 +5210,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "strip-ansi": { @@ -5220,7 +5220,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -5228,7 +5228,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5238,7 +5238,7 @@ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { - "loose-envify": "1.4.0" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -5251,7 +5251,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-arrayish": { @@ -5269,7 +5269,7 @@ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -5284,7 +5284,7 @@ "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "dev": true, "requires": { - "ci-info": "1.6.0" + "ci-info": "^1.5.0" } }, "is-data-descriptor": { @@ -5292,7 +5292,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-date-object": { @@ -5306,9 +5306,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -5333,7 +5333,7 @@ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -5352,7 +5352,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -5371,7 +5371,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-number": { @@ -5379,7 +5379,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-plain-object": { @@ -5387,7 +5387,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -5418,7 +5418,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.3" + "has": "^1.0.1" } }, "is-stream": { @@ -5432,7 +5432,7 @@ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", "dev": true, "requires": { - "has-symbols": "1.0.0" + "has-symbols": "^1.0.0" } }, "is-typedarray": { @@ -5480,8 +5480,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.4" + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" } }, "isstream": { @@ -5496,17 +5496,17 @@ "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", "dev": true, "requires": { - "async": "2.6.1", - "fileset": "2.0.3", - "istanbul-lib-coverage": "1.2.1", - "istanbul-lib-hook": "1.2.2", - "istanbul-lib-instrument": "1.10.2", - "istanbul-lib-report": "1.1.5", - "istanbul-lib-source-maps": "1.2.6", - "istanbul-reports": "1.5.1", - "js-yaml": "3.12.0", - "mkdirp": "0.5.1", - "once": "1.4.0" + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.2.1", + "istanbul-lib-hook": "^1.2.2", + "istanbul-lib-instrument": "^1.10.2", + "istanbul-lib-report": "^1.1.5", + "istanbul-lib-source-maps": "^1.2.6", + "istanbul-reports": "^1.5.1", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" }, "dependencies": { "istanbul-lib-coverage": { @@ -5521,13 +5521,13 @@ "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.1", - "semver": "5.5.0" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" } } } @@ -5544,7 +5544,7 @@ "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -5553,13 +5553,13 @@ "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.2.0", - "semver": "5.5.0" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.0", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -5568,10 +5568,10 @@ "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", "dev": true, "requires": { - "istanbul-lib-coverage": "1.2.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.6", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { @@ -5592,7 +5592,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -5603,11 +5603,11 @@ "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", "dev": true, "requires": { - "debug": "3.2.6", - "istanbul-lib-coverage": "1.2.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.2.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -5616,7 +5616,7 @@ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "istanbul-lib-coverage": { @@ -5639,7 +5639,7 @@ "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", "dev": true, "requires": { - "handlebars": "4.0.12" + "handlebars": "^4.0.3" } }, "jest": { @@ -5648,8 +5648,8 @@ "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", "dev": true, "requires": { - "import-local": "1.0.0", - "jest-cli": "23.6.0" + "import-local": "^1.0.0", + "jest-cli": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -5664,7 +5664,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5673,9 +5673,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "jest-cli": { @@ -5684,42 +5684,42 @@ "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "exit": "0.1.2", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "import-local": "1.0.0", - "is-ci": "1.2.1", - "istanbul-api": "1.3.7", - "istanbul-lib-coverage": "1.2.0", - "istanbul-lib-instrument": "1.10.1", - "istanbul-lib-source-maps": "1.2.6", - "jest-changed-files": "23.4.2", - "jest-config": "23.6.0", - "jest-environment-jsdom": "23.4.0", - "jest-get-type": "22.4.3", - "jest-haste-map": "23.6.0", - "jest-message-util": "23.4.0", - "jest-regex-util": "23.3.0", - "jest-resolve-dependencies": "23.6.0", - "jest-runner": "23.6.0", - "jest-runtime": "23.6.0", - "jest-snapshot": "23.6.0", - "jest-util": "23.4.0", - "jest-validate": "23.6.0", - "jest-watcher": "23.4.0", - "jest-worker": "23.2.0", - "micromatch": "2.3.11", - "node-notifier": "5.2.1", - "prompts": "0.1.14", - "realpath-native": "1.0.2", - "rimraf": "2.6.2", - "slash": "1.0.0", - "string-length": "2.0.0", - "strip-ansi": "4.0.0", - "which": "1.3.1", - "yargs": "11.1.0" + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "import-local": "^1.0.0", + "is-ci": "^1.0.10", + "istanbul-api": "^1.3.1", + "istanbul-lib-coverage": "^1.2.0", + "istanbul-lib-instrument": "^1.10.1", + "istanbul-lib-source-maps": "^1.2.4", + "jest-changed-files": "^23.4.2", + "jest-config": "^23.6.0", + "jest-environment-jsdom": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve-dependencies": "^23.6.0", + "jest-runner": "^23.6.0", + "jest-runtime": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "jest-watcher": "^23.4.0", + "jest-worker": "^23.2.0", + "micromatch": "^2.3.11", + "node-notifier": "^5.2.1", + "prompts": "^0.1.9", + "realpath-native": "^1.0.0", + "rimraf": "^2.5.4", + "slash": "^1.0.0", + "string-length": "^2.0.0", + "strip-ansi": "^4.0.0", + "which": "^1.2.12", + "yargs": "^11.0.0" } }, "strip-ansi": { @@ -5728,7 +5728,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -5737,7 +5737,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5748,7 +5748,7 @@ "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", "dev": true, "requires": { - "throat": "4.1.0" + "throat": "^4.0.0" } }, "jest-config": { @@ -5757,20 +5757,20 @@ "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-jest": "23.6.0", - "chalk": "2.4.1", - "glob": "7.1.2", - "jest-environment-jsdom": "23.4.0", - "jest-environment-node": "23.4.0", - "jest-get-type": "22.4.3", - "jest-jasmine2": "23.6.0", - "jest-regex-util": "23.3.0", - "jest-resolve": "23.6.0", - "jest-util": "23.4.0", - "jest-validate": "23.6.0", - "micromatch": "2.3.11", - "pretty-format": "23.6.0" + "babel-core": "^6.0.0", + "babel-jest": "^23.6.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^23.4.0", + "jest-environment-node": "^23.4.0", + "jest-get-type": "^22.1.0", + "jest-jasmine2": "^23.6.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -5785,7 +5785,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5794,9 +5794,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -5805,8 +5805,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -5815,7 +5815,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5826,10 +5826,10 @@ "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", "dev": true, "requires": { - "chalk": "2.4.1", - "diff": "3.5.0", - "jest-get-type": "22.4.3", - "pretty-format": "23.6.0" + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -5844,7 +5844,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5853,9 +5853,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -5864,8 +5864,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -5874,7 +5874,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5885,7 +5885,7 @@ "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "dev": true, "requires": { - "detect-newline": "2.1.0" + "detect-newline": "^2.1.0" } }, "jest-each": { @@ -5894,8 +5894,8 @@ "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", "dev": true, "requires": { - "chalk": "2.4.1", - "pretty-format": "23.6.0" + "chalk": "^2.0.1", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -5910,7 +5910,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5919,9 +5919,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -5930,8 +5930,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -5940,7 +5940,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5951,9 +5951,9 @@ "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", "dev": true, "requires": { - "jest-mock": "23.2.0", - "jest-util": "23.4.0", - "jsdom": "11.12.0" + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0", + "jsdom": "^11.5.1" } }, "jest-environment-node": { @@ -5962,8 +5962,8 @@ "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", "dev": true, "requires": { - "jest-mock": "23.2.0", - "jest-util": "23.4.0" + "jest-mock": "^23.2.0", + "jest-util": "^23.4.0" } }, "jest-get-type": { @@ -5978,14 +5978,14 @@ "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", "dev": true, "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "invariant": "2.2.4", - "jest-docblock": "23.2.0", - "jest-serializer": "23.0.1", - "jest-worker": "23.2.0", - "micromatch": "2.3.11", - "sane": "2.5.2" + "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-jasmine2": { @@ -5994,18 +5994,18 @@ "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", "dev": true, "requires": { - "babel-traverse": "6.26.0", - "chalk": "2.4.1", - "co": "4.6.0", - "expect": "23.6.0", - "is-generator-fn": "1.0.0", - "jest-diff": "23.6.0", - "jest-each": "23.6.0", - "jest-matcher-utils": "23.6.0", - "jest-message-util": "23.4.0", - "jest-snapshot": "23.6.0", - "jest-util": "23.4.0", - "pretty-format": "23.6.0" + "babel-traverse": "^6.0.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^23.6.0", + "is-generator-fn": "^1.0.0", + "jest-diff": "^23.6.0", + "jest-each": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -6020,7 +6020,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6029,9 +6029,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -6040,8 +6040,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -6050,7 +6050,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6061,7 +6061,7 @@ "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", "dev": true, "requires": { - "pretty-format": "23.6.0" + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -6076,7 +6076,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "pretty-format": { @@ -6085,8 +6085,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } } } @@ -6097,9 +6097,9 @@ "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", "dev": true, "requires": { - "chalk": "2.4.1", - "jest-get-type": "22.4.3", - "pretty-format": "23.6.0" + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -6114,7 +6114,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6123,9 +6123,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -6134,8 +6134,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -6144,7 +6144,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6155,11 +6155,11 @@ "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", "dev": true, "requires": { - "@babel/code-frame": "7.0.0", - "chalk": "2.4.1", - "micromatch": "2.3.11", - "slash": "1.0.0", - "stack-utils": "1.0.2" + "@babel/code-frame": "^7.0.0-beta.35", + "chalk": "^2.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0", + "stack-utils": "^1.0.1" }, "dependencies": { "ansi-styles": { @@ -6168,7 +6168,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6177,9 +6177,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -6188,7 +6188,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6211,9 +6211,9 @@ "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", "dev": true, "requires": { - "browser-resolve": "1.11.3", - "chalk": "2.4.1", - "realpath-native": "1.0.2" + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "realpath-native": "^1.0.0" }, "dependencies": { "ansi-styles": { @@ -6222,7 +6222,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6231,9 +6231,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -6242,7 +6242,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6253,8 +6253,8 @@ "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", "dev": true, "requires": { - "jest-regex-util": "23.3.0", - "jest-snapshot": "23.6.0" + "jest-regex-util": "^23.3.0", + "jest-snapshot": "^23.6.0" } }, "jest-runner": { @@ -6263,19 +6263,19 @@ "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", "dev": true, "requires": { - "exit": "0.1.2", - "graceful-fs": "4.1.11", - "jest-config": "23.6.0", - "jest-docblock": "23.2.0", - "jest-haste-map": "23.6.0", - "jest-jasmine2": "23.6.0", - "jest-leak-detector": "23.6.0", - "jest-message-util": "23.4.0", - "jest-runtime": "23.6.0", - "jest-util": "23.4.0", - "jest-worker": "23.2.0", - "source-map-support": "0.5.9", - "throat": "4.1.0" + "exit": "^0.1.2", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-docblock": "^23.2.0", + "jest-haste-map": "^23.6.0", + "jest-jasmine2": "^23.6.0", + "jest-leak-detector": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-runtime": "^23.6.0", + "jest-util": "^23.4.0", + "jest-worker": "^23.2.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" }, "dependencies": { "source-map": { @@ -6290,8 +6290,8 @@ "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "dev": true, "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } } } @@ -6302,27 +6302,27 @@ "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-plugin-istanbul": "4.1.6", - "chalk": "2.4.1", - "convert-source-map": "1.5.1", - "exit": "0.1.2", - "fast-json-stable-stringify": "2.0.0", - "graceful-fs": "4.1.11", - "jest-config": "23.6.0", - "jest-haste-map": "23.6.0", - "jest-message-util": "23.4.0", - "jest-regex-util": "23.3.0", - "jest-resolve": "23.6.0", - "jest-snapshot": "23.6.0", - "jest-util": "23.4.0", - "jest-validate": "23.6.0", - "micromatch": "2.3.11", - "realpath-native": "1.0.2", - "slash": "1.0.0", + "babel-core": "^6.0.0", + "babel-plugin-istanbul": "^4.1.6", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "exit": "^0.1.2", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-config": "^23.6.0", + "jest-haste-map": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-regex-util": "^23.3.0", + "jest-resolve": "^23.6.0", + "jest-snapshot": "^23.6.0", + "jest-util": "^23.4.0", + "jest-validate": "^23.6.0", + "micromatch": "^2.3.11", + "realpath-native": "^1.0.0", + "slash": "^1.0.0", "strip-bom": "3.0.0", - "write-file-atomic": "2.3.0", - "yargs": "11.1.0" + "write-file-atomic": "^2.1.0", + "yargs": "^11.0.0" }, "dependencies": { "ansi-styles": { @@ -6331,7 +6331,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6340,9 +6340,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "strip-bom": { @@ -6357,7 +6357,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "write-file-atomic": { @@ -6366,9 +6366,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } } } @@ -6384,16 +6384,16 @@ "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", "dev": true, "requires": { - "babel-types": "6.26.0", - "chalk": "2.4.1", - "jest-diff": "23.6.0", - "jest-matcher-utils": "23.6.0", - "jest-message-util": "23.4.0", - "jest-resolve": "23.6.0", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "pretty-format": "23.6.0", - "semver": "5.5.0" + "babel-types": "^6.0.0", + "chalk": "^2.0.1", + "jest-diff": "^23.6.0", + "jest-matcher-utils": "^23.6.0", + "jest-message-util": "^23.4.0", + "jest-resolve": "^23.6.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^23.6.0", + "semver": "^5.5.0" }, "dependencies": { "ansi-regex": { @@ -6408,7 +6408,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6417,9 +6417,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -6428,8 +6428,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -6438,7 +6438,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6449,14 +6449,14 @@ "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", "dev": true, "requires": { - "callsites": "2.0.0", - "chalk": "2.4.1", - "graceful-fs": "4.1.11", - "is-ci": "1.2.1", - "jest-message-util": "23.4.0", - "mkdirp": "0.5.1", - "slash": "1.0.0", - "source-map": "0.6.1" + "callsites": "^2.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "jest-message-util": "^23.4.0", + "mkdirp": "^0.5.1", + "slash": "^1.0.0", + "source-map": "^0.6.0" }, "dependencies": { "ansi-styles": { @@ -6465,7 +6465,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6474,9 +6474,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "source-map": { @@ -6491,7 +6491,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6502,10 +6502,10 @@ "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", "dev": true, "requires": { - "chalk": "2.4.1", - "jest-get-type": "22.4.3", - "leven": "2.1.0", - "pretty-format": "23.6.0" + "chalk": "^2.0.1", + "jest-get-type": "^22.1.0", + "leven": "^2.1.0", + "pretty-format": "^23.6.0" }, "dependencies": { "ansi-regex": { @@ -6520,7 +6520,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6529,9 +6529,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "pretty-format": { @@ -6540,8 +6540,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } }, "supports-color": { @@ -6550,7 +6550,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6561,9 +6561,9 @@ "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "string-length": "2.0.0" + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "string-length": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -6572,7 +6572,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6581,9 +6581,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -6592,7 +6592,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6602,7 +6602,7 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", "requires": { - "merge-stream": "1.0.1" + "merge-stream": "^1.0.1" } }, "js-tokens": { @@ -6615,8 +6615,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "requires": { - "argparse": "1.0.10", - "esprima": "4.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "dependencies": { "esprima": { @@ -6638,32 +6638,32 @@ "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", "dev": true, "requires": { - "abab": "2.0.0", - "acorn": "5.7.3", - "acorn-globals": "4.3.0", - "array-equal": "1.0.0", - "cssom": "0.3.4", - "cssstyle": "1.1.1", - "data-urls": "1.1.0", - "domexception": "1.0.1", - "escodegen": "1.11.0", - "html-encoding-sniffer": "1.0.2", - "left-pad": "1.3.0", - "nwsapi": "2.0.9", + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", "parse5": "4.0.0", - "pn": "1.1.0", - "request": "2.88.0", - "request-promise-native": "1.0.5", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.5.0", - "w3c-hr-time": "1.0.1", - "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.5", - "whatwg-mimetype": "2.3.0", - "whatwg-url": "6.5.0", - "ws": "5.2.2", - "xml-name-validator": "3.0.0" + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" }, "dependencies": { "sax": { @@ -6678,7 +6678,7 @@ "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", "dev": true, "requires": { - "async-limiter": "1.0.0" + "async-limiter": "~1.0.0" } } } @@ -6711,7 +6711,7 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stringify-safe": { @@ -6731,7 +6731,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsonify": { @@ -6756,7 +6756,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "klaw": { @@ -6764,7 +6764,7 @@ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "kleur": { @@ -6778,7 +6778,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "left-pad": { @@ -6799,8 +6799,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -6809,11 +6809,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -6821,8 +6821,8 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -6868,7 +6868,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "js-tokens": "4.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "lru-cache": { @@ -6876,8 +6876,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "make-dir": { @@ -6885,7 +6885,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" }, "dependencies": { "pify": { @@ -6900,7 +6900,7 @@ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "requires": { - "tmpl": "1.0.4" + "tmpl": "1.0.x" } }, "map-cache": { @@ -6913,7 +6913,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "math-random": { @@ -6926,7 +6926,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "merge": { @@ -6939,7 +6939,7 @@ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", "requires": { - "readable-stream": "2.3.6" + "readable-stream": "^2.0.1" } }, "metro": { @@ -6947,32 +6947,32 @@ "resolved": "https://registry.npmjs.org/metro/-/metro-0.48.5.tgz", "integrity": "sha512-aCarzjxdYqh+9I40bF+Hh1ayrwfPrnDwVOvpQg3VZFWU4wfeMiJb+tzeRN9p94cC/MKhBTOjRmUF3plzrHoe0w==", "requires": { - "@babel/core": "7.2.2", - "@babel/generator": "7.2.2", - "@babel/parser": "7.2.3", - "@babel/plugin-external-helpers": "7.2.0", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "absolute-path": "0.0.0", - "async": "2.6.1", - "babel-preset-fbjs": "3.1.0", - "chalk": "1.1.3", - "concat-stream": "1.6.2", - "connect": "3.6.6", - "debug": "2.6.9", - "denodeify": "1.2.1", - "eventemitter3": "3.1.0", - "fbjs": "1.0.0", - "fs-extra": "1.0.0", - "graceful-fs": "4.1.11", - "image-size": "0.6.3", + "@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", + "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", @@ -6981,21 +6981,21 @@ "metro-resolver": "0.48.5", "metro-source-map": "0.48.5", "mime-types": "2.1.11", - "mkdirp": "0.5.1", - "node-fetch": "2.3.0", - "nullthrows": "1.1.1", - "react-transform-hmr": "1.0.4", - "resolve": "1.8.1", - "rimraf": "2.6.2", - "serialize-error": "2.1.0", - "source-map": "0.5.7", + "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.3.4", - "ws": "1.1.5", - "xpipe": "1.0.5", - "yargs": "9.0.1" + "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" }, "dependencies": { "@babel/code-frame": { @@ -7003,7 +7003,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { @@ -7011,20 +7011,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helpers": "7.2.0", - "@babel/parser": "7.2.3", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "convert-source-map": "1.5.1", - "debug": "4.1.1", - "json5": "2.1.0", - "lodash": "4.17.11", - "resolve": "1.8.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" }, "dependencies": { "debug": { @@ -7032,7 +7032,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } } } @@ -7042,11 +7042,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -7054,7 +7054,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-define-map": { @@ -7062,9 +7062,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/helper-function-name": { @@ -7072,9 +7072,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -7082,7 +7082,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -7090,7 +7090,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -7098,7 +7098,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -7111,10 +7111,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -7122,7 +7122,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helpers": { @@ -7130,9 +7130,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -7140,9 +7140,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" }, "dependencies": { "chalk": { @@ -7150,9 +7150,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } } } @@ -7167,7 +7167,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -7175,8 +7175,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.11" + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { @@ -7184,14 +7184,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.1.0", - "@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.2.3", - "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.9.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@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.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" } }, "@babel/plugin-transform-for-of": { @@ -7199,7 +7199,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/template": { @@ -7207,9 +7207,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -7217,15 +7217,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" }, "dependencies": { "debug": { @@ -7233,7 +7233,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } } } @@ -7243,9 +7243,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -7253,7 +7253,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "arr-diff": { @@ -7276,33 +7276,33 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", "requires": { - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-syntax-class-properties": "7.2.0", - "@babel/plugin-syntax-flow": "7.2.0", - "@babel/plugin-syntax-jsx": "7.2.0", - "@babel/plugin-syntax-object-rest-spread": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoped-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-computed-properties": "7.2.0", - "@babel/plugin-transform-destructuring": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-for-of": "7.2.0", - "@babel/plugin-transform-function-name": "7.2.0", - "@babel/plugin-transform-literals": "7.2.0", - "@babel/plugin-transform-member-expression-literals": "7.2.0", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/plugin-transform-object-super": "7.2.0", - "@babel/plugin-transform-parameters": "7.2.0", - "@babel/plugin-transform-property-literals": "7.2.0", - "@babel/plugin-transform-react-display-name": "7.2.0", - "@babel/plugin-transform-react-jsx": "7.2.0", - "@babel/plugin-transform-shorthand-properties": "7.2.0", - "@babel/plugin-transform-spread": "7.2.2", - "@babel/plugin-transform-template-literals": "7.2.0", - "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" + "@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" } }, "braces": { @@ -7310,16 +7310,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -7327,7 +7327,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -7342,9 +7342,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -7352,9 +7352,9 @@ "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -7366,7 +7366,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "1.3.2", + "parseurl": "~1.3.2", "utils-merge": "1.0.1" } }, @@ -7380,13 +7380,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "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" } }, "expand-brackets": { @@ -7394,13 +7394,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -7408,7 +7408,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -7416,7 +7416,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -7424,7 +7424,7 @@ "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7432,7 +7432,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7442,7 +7442,7 @@ "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7450,7 +7450,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7460,9 +7460,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -7477,14 +7477,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -7492,7 +7492,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -7500,7 +7500,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -7510,14 +7510,14 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "core-js": "2.6.1", - "fbjs-css-vars": "1.0.2", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "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" } }, "fill-range": { @@ -7525,10 +7525,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -7536,7 +7536,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -7547,12 +7547,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" } }, "find-up": { @@ -7560,7 +7560,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "globals": { @@ -7573,7 +7573,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -7581,7 +7581,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -7589,9 +7589,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-fullwidth-code-point": { @@ -7599,7 +7599,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-number": { @@ -7607,7 +7607,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7615,7 +7615,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7630,7 +7630,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "requires": { - "detect-newline": "2.1.0" + "detect-newline": "^2.1.0" } }, "jest-haste-map": { @@ -7638,14 +7638,14 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "invariant": "2.2.4", - "jest-docblock": "23.2.0", - "jest-serializer": "23.0.1", - "jest-worker": "23.2.0", - "micromatch": "2.3.11", - "sane": "2.5.2" + "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" } }, "jsesc": { @@ -7658,7 +7658,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" } }, "kind-of": { @@ -7671,10 +7671,10 @@ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "metro-babel7-plugin-react-transform": { @@ -7682,7 +7682,7 @@ "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.48.5.tgz", "integrity": "sha512-S0cA0msHBGw7PSwB6nAsvtHEpQXVwzKBaE4AibLpaBiIVdWkYpIOok653zs9x+E9QvQgcghAnlVnDV+MDM+rSw==", "requires": { - "@babel/helper-module-imports": "7.0.0" + "@babel/helper-module-imports": "^7.0.0" } }, "metro-react-native-babel-preset": { @@ -7690,41 +7690,41 @@ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.48.5.tgz", "integrity": "sha512-ldG1bsusB5zlS1fhAiSLRjUA7I/Chn/dniaXTlkUpgiqyEAaDDmqhkDJ8gyZw3rhlLMVswlBd3o6I8yYti+57w==", "requires": { - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-export-default-from": "7.2.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-proposal-optional-catch-binding": "7.2.0", - "@babel/plugin-proposal-optional-chaining": "7.2.0", - "@babel/plugin-syntax-dynamic-import": "7.2.0", - "@babel/plugin-syntax-export-default-from": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-computed-properties": "7.2.0", - "@babel/plugin-transform-destructuring": "7.2.0", - "@babel/plugin-transform-exponentiation-operator": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-for-of": "7.2.0", - "@babel/plugin-transform-function-name": "7.2.0", - "@babel/plugin-transform-literals": "7.2.0", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/plugin-transform-object-assign": "7.2.0", - "@babel/plugin-transform-parameters": "7.2.0", - "@babel/plugin-transform-react-display-name": "7.2.0", - "@babel/plugin-transform-react-jsx": "7.2.0", - "@babel/plugin-transform-react-jsx-source": "7.2.0", - "@babel/plugin-transform-regenerator": "7.0.0", - "@babel/plugin-transform-runtime": "7.2.0", - "@babel/plugin-transform-shorthand-properties": "7.2.0", - "@babel/plugin-transform-spread": "7.2.2", - "@babel/plugin-transform-sticky-regex": "7.2.0", - "@babel/plugin-transform-template-literals": "7.2.0", - "@babel/plugin-transform-typescript": "7.2.0", - "@babel/plugin-transform-unicode-regex": "7.2.0", - "@babel/template": "7.2.2", + "@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" + "react-transform-hmr": "^1.0.4" } }, "ms": { @@ -7742,9 +7742,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "path-type": { @@ -7752,7 +7752,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -7760,9 +7760,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -7770,8 +7770,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "sane": { @@ -7779,15 +7779,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.2", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" }, "dependencies": { "micromatch": { @@ -7795,19 +7795,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -7827,7 +7827,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -7850,19 +7850,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.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.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "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" } }, "yargs-parser": { @@ -7870,7 +7870,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -7880,18 +7880,18 @@ "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.48.5.tgz", "integrity": "sha512-bJCessd7THqEfXrKEoj284XVjg9AGYbGqZiyV622l6ex9TvtVi1lToDY0TuAAuDXOm+V4vQXV7/HvR6JPP0dTQ==", "requires": { - "@babel/core": "7.2.2", - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-proposal-optional-catch-binding": "7.2.0", - "@babel/plugin-proposal-optional-chaining": "7.2.0", - "@babel/plugin-transform-async-to-generator": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/register": "7.0.0", - "core-js": "2.6.1", - "escape-string-regexp": "1.0.5" + "@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" }, "dependencies": { "@babel/code-frame": { @@ -7899,7 +7899,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { @@ -7907,20 +7907,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helpers": "7.2.0", - "@babel/parser": "7.2.3", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "convert-source-map": "1.5.1", - "debug": "4.1.1", - "json5": "2.1.0", - "lodash": "4.17.11", - "resolve": "1.8.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" } }, "@babel/generator": { @@ -7928,11 +7928,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-function-name": { @@ -7940,9 +7940,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -7950,7 +7950,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -7958,7 +7958,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helpers": { @@ -7966,9 +7966,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -7976,9 +7976,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -7991,9 +7991,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -8001,15 +8001,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -8017,9 +8017,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -8027,7 +8027,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -8035,9 +8035,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "core-js": { @@ -8050,7 +8050,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -8068,7 +8068,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" } }, "ms": { @@ -8081,7 +8081,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -8097,7 +8097,7 @@ "integrity": "sha512-wzn4X9KgmAMZ7Bi6v9KxA7dw+AHGL0RODPxU5NDJ3A6d0yERvzfZ3qkzWhz8jbFkVBK12cu5DTho3HBazKQDOw==", "dev": true, "requires": { - "@babel/helper-module-imports": "7.0.0" + "@babel/helper-module-imports": "^7.0.0" } }, "metro-cache": { @@ -8107,8 +8107,8 @@ "requires": { "jest-serializer": "23.0.1", "metro-core": "0.48.5", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4" } }, "metro-config": { @@ -8116,11 +8116,11 @@ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.48.5.tgz", "integrity": "sha512-b+EmFgBOAEUM5THjJ2EU6CJxnULLC5V1Q8S8dz4xX4v96eLIsRCLPrXgYKATHJTVi0qw99ATVRsOBZVZ77fwjg==", "requires": { - "cosmiconfig": "5.0.7", + "cosmiconfig": "^5.0.5", "metro": "0.48.5", "metro-cache": "0.48.5", "metro-core": "0.48.5", - "pretty-format": "23.6.0" + "pretty-format": "^23.4.1" }, "dependencies": { "ansi-regex": { @@ -8133,7 +8133,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "pretty-format": { @@ -8141,8 +8141,8 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.1" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" } } } @@ -8153,9 +8153,9 @@ "integrity": "sha512-Yp0BOAHhxf/qdNkwJhemVdD2Y59iyaTjwxUimCmeD8u5VEL6mLgEC1S0KczyWEiAgX3Fs48rezCAcx3mo67wXg==", "requires": { "jest-haste-map": "23.5.0", - "lodash.throttle": "4.1.1", + "lodash.throttle": "^4.1.1", "metro-resolver": "0.48.5", - "wordwrap": "1.0.0" + "wordwrap": "^1.0.0" }, "dependencies": { "arr-diff": { @@ -8173,16 +8173,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -8190,7 +8190,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8200,13 +8200,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -8214,7 +8214,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -8222,7 +8222,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -8230,7 +8230,7 @@ "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -8238,7 +8238,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -8248,7 +8248,7 @@ "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -8256,7 +8256,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -8266,9 +8266,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -8283,14 +8283,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -8298,7 +8298,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -8306,7 +8306,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8316,10 +8316,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -8327,7 +8327,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -8337,7 +8337,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -8345,7 +8345,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -8353,9 +8353,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -8363,7 +8363,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -8371,7 +8371,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -8386,7 +8386,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "requires": { - "detect-newline": "2.1.0" + "detect-newline": "^2.1.0" } }, "jest-haste-map": { @@ -8394,14 +8394,14 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "invariant": "2.2.4", - "jest-docblock": "23.2.0", - "jest-serializer": "23.0.1", - "jest-worker": "23.2.0", - "micromatch": "2.3.11", - "sane": "2.5.2" + "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" } }, "kind-of": { @@ -8414,15 +8414,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.2", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" }, "dependencies": { "micromatch": { @@ -8430,19 +8430,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -8459,7 +8459,7 @@ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.48.5.tgz", "integrity": "sha512-tiHVYlUMuL91YjQPx9BzzzXy5jAAA5SWLqlvWfmM6m9faWtFeCv8Se27vVNuPDkOPYyL8qPCRhUpZMUhA0yN2g==", "requires": { - "uglify-es": "3.3.9" + "uglify-es": "^3.1.9" } }, "metro-react-native-babel-preset": { @@ -8468,41 +8468,41 @@ "integrity": "sha512-e9tsYDFhU70gar0jQWcZXRPJVCv4k7tEs6Pm74wXO2OO/T1MEumbvniDIGwGG8bG8RUnYdHhjcaiub2Vc5BRWw==", "dev": true, "requires": { - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-export-default-from": "7.2.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-proposal-optional-catch-binding": "7.2.0", - "@babel/plugin-proposal-optional-chaining": "7.2.0", - "@babel/plugin-syntax-dynamic-import": "7.2.0", - "@babel/plugin-syntax-export-default-from": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-computed-properties": "7.2.0", - "@babel/plugin-transform-destructuring": "7.2.0", - "@babel/plugin-transform-exponentiation-operator": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-for-of": "7.2.0", - "@babel/plugin-transform-function-name": "7.2.0", - "@babel/plugin-transform-literals": "7.2.0", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/plugin-transform-object-assign": "7.2.0", - "@babel/plugin-transform-parameters": "7.2.0", - "@babel/plugin-transform-react-display-name": "7.2.0", - "@babel/plugin-transform-react-jsx": "7.2.0", - "@babel/plugin-transform-react-jsx-source": "7.2.0", - "@babel/plugin-transform-regenerator": "7.0.0", - "@babel/plugin-transform-runtime": "7.2.0", - "@babel/plugin-transform-shorthand-properties": "7.2.0", - "@babel/plugin-transform-spread": "7.2.2", - "@babel/plugin-transform-sticky-regex": "7.2.0", - "@babel/plugin-transform-template-literals": "7.2.0", - "@babel/plugin-transform-typescript": "7.2.0", - "@babel/plugin-transform-unicode-regex": "7.2.0", - "@babel/template": "7.2.2", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.0.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", "metro-babel7-plugin-react-transform": "0.51.1", - "react-transform-hmr": "1.0.4" + "react-transform-hmr": "^1.0.4" }, "dependencies": { "@babel/code-frame": { @@ -8511,7 +8511,7 @@ "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "dev": true, "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/generator": { @@ -8520,11 +8520,11 @@ "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "dev": true, "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -8533,7 +8533,7 @@ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-define-map": { @@ -8542,9 +8542,9 @@ "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "dev": true, "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/helper-function-name": { @@ -8553,9 +8553,9 @@ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -8564,7 +8564,7 @@ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -8573,7 +8573,7 @@ "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -8582,7 +8582,7 @@ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -8597,10 +8597,10 @@ "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -8609,7 +8609,7 @@ "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "dev": true, "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/highlight": { @@ -8618,9 +8618,9 @@ "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "dev": true, "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { @@ -8635,7 +8635,7 @@ "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -8644,8 +8644,8 @@ "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.11" + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { @@ -8654,14 +8654,14 @@ "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.1.0", - "@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.2.3", - "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.9.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@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.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" } }, "@babel/plugin-transform-for-of": { @@ -8670,7 +8670,7 @@ "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/template": { @@ -8679,9 +8679,9 @@ "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -8690,15 +8690,15 @@ "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "@babel/types": { @@ -8707,9 +8707,9 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "dev": true, "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "ansi-styles": { @@ -8718,7 +8718,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -8727,9 +8727,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -8738,7 +8738,7 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, "globals": { @@ -8765,7 +8765,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -8781,7 +8781,7 @@ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.48.5.tgz", "integrity": "sha512-lScSpLJKZMmNPRwvcY6zj28AwMOcI1M5bCCv+m06VWcISCTq1KlaKVwqLKmFgUtPkoFtFLD+PVKRKCRUxj1opg==", "requires": { - "absolute-path": "0.0.0" + "absolute-path": "^0.0.0" } }, "metro-source-map": { @@ -8789,7 +8789,7 @@ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.48.5.tgz", "integrity": "sha512-+BbcU9vfEl/XhMlVV0RwuHuEkai4lq7RmlQkxgoOoWl1u0yXCAPRZ5sqa326fPlJzElOR3cp0y7+Oc2nbIguyg==", "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "micromatch": { @@ -8797,19 +8797,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "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" } }, "mime": { @@ -8827,7 +8827,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", "requires": { - "mime-db": "1.23.0" + "mime-db": "~1.23.0" }, "dependencies": { "mime-db": { @@ -8847,7 +8847,7 @@ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { - "dom-walk": "0.1.1" + "dom-walk": "^0.1.0" } }, "minimatch": { @@ -8855,7 +8855,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -8868,8 +8868,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -8877,7 +8877,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -8923,17 +8923,17 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "arr-diff": { @@ -8964,8 +8964,8 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" + "encoding": "^0.1.11", + "is-stream": "^1.0.1" } }, "node-int64": { @@ -8983,10 +8983,10 @@ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", "requires": { - "growly": "1.3.0", - "semver": "5.5.0", - "shellwords": "0.1.1", - "which": "1.3.1" + "growly": "^1.3.0", + "semver": "^5.4.1", + "shellwords": "^0.1.1", + "which": "^1.3.0" } }, "normalize-package-data": { @@ -8994,10 +8994,10 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "requires": { - "hosted-git-info": "2.7.1", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.4" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -9005,7 +9005,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-path": { @@ -9013,7 +9013,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "npmlog": { @@ -9021,9 +9021,9 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", "requires": { - "ansi": "0.3.1", - "are-we-there-yet": "1.1.5", - "gauge": "1.2.7" + "ansi": "~0.3.1", + "are-we-there-yet": "~1.1.2", + "gauge": "~1.2.5" } }, "nullthrows": { @@ -9058,9 +9058,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -9068,7 +9068,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -9084,7 +9084,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -9100,8 +9100,8 @@ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "dev": true, "requires": { - "define-properties": "1.1.3", - "es-abstract": "1.12.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" } }, "object.omit": { @@ -9109,8 +9109,8 @@ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.pick": { @@ -9118,7 +9118,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -9146,7 +9146,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -9154,7 +9154,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "opn": { @@ -9162,7 +9162,7 @@ "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=", "requires": { - "object-assign": "4.1.1" + "object-assign": "^4.0.1" } }, "optimist": { @@ -9170,8 +9170,8 @@ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { - "minimist": "0.0.10", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" }, "dependencies": { "minimist": { @@ -9192,12 +9192,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, "options": { @@ -9216,9 +9216,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "os-tmpdir": { @@ -9236,7 +9236,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -9244,7 +9244,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { - "p-limit": "1.3.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -9257,10 +9257,10 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -9268,7 +9268,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { - "error-ex": "1.3.2" + "error-ex": "^1.2.0" } }, "parse5": { @@ -9293,7 +9293,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -9332,9 +9332,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "performance-now": { @@ -9360,7 +9360,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pirates": { @@ -9368,7 +9368,7 @@ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.0.tgz", "integrity": "sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA==", "requires": { - "node-modules-regexp": "1.0.0" + "node-modules-regexp": "^1.0.0" } }, "pkg-dir": { @@ -9376,7 +9376,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" }, "dependencies": { "find-up": { @@ -9384,7 +9384,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } } } @@ -9394,11 +9394,11 @@ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", "requires": { - "ansi-cyan": "0.1.1", - "ansi-red": "0.1.1", - "arr-diff": "1.1.0", - "arr-union": "2.1.0", - "extend-shallow": "1.1.4" + "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" }, "dependencies": { "arr-diff": { @@ -9406,8 +9406,8 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", "requires": { - "arr-flatten": "1.1.0", - "array-slice": "0.2.3" + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" } }, "arr-union": { @@ -9420,7 +9420,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", "requires": { - "kind-of": "1.1.0" + "kind-of": "^1.1.0" } }, "kind-of": { @@ -9477,7 +9477,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "prompts": { @@ -9486,8 +9486,8 @@ "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", "dev": true, "requires": { - "kleur": "2.0.2", - "sisteransi": "0.1.1" + "kleur": "^2.0.1", + "sisteransi": "^0.1.1" } }, "prop-types": { @@ -9495,8 +9495,8 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "requires": { - "loose-envify": "1.4.0", - "object-assign": "4.1.1" + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" } }, "pseudomap": { @@ -9532,8 +9532,8 @@ "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.2.0.tgz", "integrity": "sha512-5wupExkIt8RYL4h/FE+WTg3JHk62e6fFPWtAZA9J5IWK1PfTfKkMS93HBUHcFpeYi9KsY5pFbh+ldvEyaz5MyA==", "requires": { - "decode-uri-component": "0.2.0", - "strict-uri-encode": "2.0.0" + "decode-uri-component": "^0.2.0", + "strict-uri-encode": "^2.0.0" } }, "randomatic": { @@ -9541,9 +9541,9 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.1" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { @@ -9563,10 +9563,10 @@ "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz", "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==", "requires": { - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "prop-types": "15.6.2", - "scheduler": "0.11.3" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.11.2" } }, "react-clone-referenced-element": { @@ -9594,58 +9594,58 @@ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.57.8.tgz", "integrity": "sha512-K6DAMTPTq+lxVYC73y4Kh/bgLajddBaIKzwsVeV4JOoS1Fdq48/ISXD3vApV+x+/IBVTXnrT9qlA+9U6MMZCqA==", "requires": { - "@babel/runtime": "7.2.0", - "absolute-path": "0.0.0", - "art": "0.10.3", - "base64-js": "1.3.0", - "chalk": "1.1.3", - "commander": "2.17.1", - "compression": "1.7.3", - "connect": "3.6.6", - "create-react-class": "15.6.3", - "debug": "2.6.9", - "denodeify": "1.2.1", - "envinfo": "5.12.1", - "errorhandler": "1.5.0", - "escape-string-regexp": "1.0.5", - "event-target-shim": "1.1.1", - "fbjs": "1.0.0", - "fbjs-scripts": "1.0.1", - "fs-extra": "1.0.0", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "inquirer": "3.3.0", - "lodash": "4.17.11", - "metro": "0.48.5", - "metro-babel-register": "0.48.5", - "metro-core": "0.48.5", - "metro-memory-fs": "0.48.5", - "mime": "1.6.0", - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "morgan": "1.9.1", - "node-fetch": "2.3.0", - "node-notifier": "5.2.1", - "npmlog": "2.0.4", - "opn": "3.0.3", - "optimist": "0.6.1", - "plist": "3.0.1", - "pretty-format": "4.3.1", - "promise": "7.3.1", - "prop-types": "15.6.2", - "react-clone-referenced-element": "1.0.1", - "react-devtools-core": "3.4.3", - "react-timer-mixin": "0.13.4", - "regenerator-runtime": "0.11.1", - "rimraf": "2.6.2", - "semver": "5.5.0", - "serve-static": "1.13.2", + "@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.4", - "ws": "1.1.5", - "xcode": "1.1.0", - "xmldoc": "0.4.0", - "yargs": "9.0.1" + "stacktrace-parser": "^0.1.3", + "ws": "^1.1.5", + "xcode": "^1.0.0", + "xmldoc": "^0.4.0", + "yargs": "^9.0.0" }, "dependencies": { "@babel/code-frame": { @@ -9653,7 +9653,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { @@ -9661,20 +9661,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helpers": "7.2.0", - "@babel/parser": "7.2.3", - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2", - "convert-source-map": "1.5.1", - "debug": "4.1.1", - "json5": "2.1.0", - "lodash": "4.17.11", - "resolve": "1.8.1", - "semver": "5.5.0", - "source-map": "0.5.7" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.2.2", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.2.2", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" }, "dependencies": { "debug": { @@ -9682,7 +9682,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } } } @@ -9692,11 +9692,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "7.2.2", - "jsesc": "2.5.2", - "lodash": "4.17.11", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.2.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -9704,7 +9704,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-define-map": { @@ -9712,9 +9712,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.2.2", - "lodash": "4.17.11" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/helper-function-name": { @@ -9722,9 +9722,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.2.2", - "@babel/types": "7.2.2" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -9732,7 +9732,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-member-expression-to-functions": { @@ -9740,7 +9740,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-optimise-call-expression": { @@ -9748,7 +9748,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -9761,10 +9761,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -9772,7 +9772,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "7.2.2" + "@babel/types": "^7.0.0" } }, "@babel/helpers": { @@ -9780,9 +9780,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "7.2.2", - "@babel/traverse": "7.2.3", - "@babel/types": "7.2.2" + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.2.0" } }, "@babel/highlight": { @@ -9790,9 +9790,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "2.4.1", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" }, "dependencies": { "chalk": { @@ -9800,9 +9800,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } } } @@ -9817,7 +9817,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -9825,8 +9825,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.11" + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" } }, "@babel/plugin-transform-classes": { @@ -9834,14 +9834,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.1.0", - "@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.2.3", - "@babel/helper-split-export-declaration": "7.0.0", - "globals": "11.9.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@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.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" } }, "@babel/plugin-transform-for-of": { @@ -9849,7 +9849,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/runtime": { @@ -9857,7 +9857,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "requires": { - "regenerator-runtime": "0.12.1" + "regenerator-runtime": "^0.12.0" }, "dependencies": { "regenerator-runtime": { @@ -9872,9 +9872,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" } }, "@babel/traverse": { @@ -9882,15 +9882,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.2.2", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.0.0", - "@babel/parser": "7.2.3", - "@babel/types": "7.2.2", - "debug": "4.1.1", - "globals": "11.9.0", - "lodash": "4.17.11" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" }, "dependencies": { "debug": { @@ -9898,7 +9898,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } } } @@ -9908,9 +9908,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "2.0.2", - "lodash": "4.17.11", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" } }, "accepts": { @@ -9918,7 +9918,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "2.1.21", + "mime-types": "~2.1.18", "negotiator": "0.6.1" } }, @@ -9927,7 +9927,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "babel-plugin-syntax-trailing-function-commas": { @@ -9940,33 +9940,33 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", "requires": { - "@babel/plugin-proposal-class-properties": "7.2.3", - "@babel/plugin-proposal-object-rest-spread": "7.2.0", - "@babel/plugin-syntax-class-properties": "7.2.0", - "@babel/plugin-syntax-flow": "7.2.0", - "@babel/plugin-syntax-jsx": "7.2.0", - "@babel/plugin-syntax-object-rest-spread": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoped-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-computed-properties": "7.2.0", - "@babel/plugin-transform-destructuring": "7.2.0", - "@babel/plugin-transform-flow-strip-types": "7.2.3", - "@babel/plugin-transform-for-of": "7.2.0", - "@babel/plugin-transform-function-name": "7.2.0", - "@babel/plugin-transform-literals": "7.2.0", - "@babel/plugin-transform-member-expression-literals": "7.2.0", - "@babel/plugin-transform-modules-commonjs": "7.2.0", - "@babel/plugin-transform-object-super": "7.2.0", - "@babel/plugin-transform-parameters": "7.2.0", - "@babel/plugin-transform-property-literals": "7.2.0", - "@babel/plugin-transform-react-display-name": "7.2.0", - "@babel/plugin-transform-react-jsx": "7.2.0", - "@babel/plugin-transform-shorthand-properties": "7.2.0", - "@babel/plugin-transform-spread": "7.2.2", - "@babel/plugin-transform-template-literals": "7.2.0", - "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" + "@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" } }, "basic-auth": { @@ -9992,9 +9992,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -10002,9 +10002,9 @@ "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -10014,13 +10014,13 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.5", "bytes": "3.0.0", - "compressible": "2.0.14", + "compressible": "~2.0.14", "debug": "2.6.9", - "on-headers": "1.0.1", + "on-headers": "~1.0.1", "safe-buffer": "5.1.2", - "vary": "1.1.2" + "vary": "~1.1.2" } }, "connect": { @@ -10030,7 +10030,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "1.3.2", + "parseurl": "~1.3.2", "utils-merge": "1.0.1" } }, @@ -10054,8 +10054,8 @@ "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.0.tgz", "integrity": "sha1-6rpkyl1UKjEayUX1gt78M2Fl2fQ=", "requires": { - "accepts": "1.3.5", - "escape-html": "1.0.3" + "accepts": "~1.3.3", + "escape-html": "~1.0.3" } }, "etag": { @@ -10068,13 +10068,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "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" } }, "fbjs": { @@ -10082,14 +10082,14 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "core-js": "2.6.1", - "fbjs-css-vars": "1.0.2", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.4.0", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "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" } }, "fbjs-scripts": { @@ -10097,16 +10097,16 @@ "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-1.0.1.tgz", "integrity": "sha512-x8bfX7k0z5B24Ue0YqjZq/2QxxaKZUNbkGdX//zbQDElMJFqBRrvRi8O3qds7UNNzs78jYqIYCS32Sk/wu5UJg==", "requires": { - "@babel/core": "7.2.2", - "ansi-colors": "1.1.0", - "babel-preset-fbjs": "3.1.0", - "core-js": "2.6.1", - "cross-spawn": "5.1.0", - "fancy-log": "1.3.2", - "object-assign": "4.1.1", - "plugin-error": "0.1.2", - "semver": "5.5.0", - "through2": "2.0.3" + "@babel/core": "^7.0.0", + "ansi-colors": "^1.0.1", + "babel-preset-fbjs": "^3.0.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" } }, "finalhandler": { @@ -10115,12 +10115,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" } }, "find-up": { @@ -10128,7 +10128,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "fresh": { @@ -10146,10 +10146,10 @@ "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { - "depd": "1.1.2", + "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": "1.5.0" + "statuses": ">= 1.4.0 < 2" }, "dependencies": { "statuses": { @@ -10164,7 +10164,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "jsesc": { @@ -10177,7 +10177,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" } }, "load-json-file": { @@ -10185,10 +10185,10 @@ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "mime-db": { @@ -10201,7 +10201,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "requires": { - "mime-db": "1.37.0" + "mime-db": "~1.37.0" } }, "morgan": { @@ -10209,11 +10209,11 @@ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", "requires": { - "basic-auth": "2.0.1", + "basic-auth": "~2.0.0", "debug": "2.6.9", - "depd": "1.1.2", - "on-finished": "2.3.0", - "on-headers": "1.0.1" + "depd": "~1.1.2", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" } }, "ms": { @@ -10236,9 +10236,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "path-type": { @@ -10246,7 +10246,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "plist": { @@ -10254,9 +10254,9 @@ "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", "requires": { - "base64-js": "1.3.0", - "xmlbuilder": "9.0.7", - "xmldom": "0.1.27" + "base64-js": "^1.2.3", + "xmlbuilder": "^9.0.7", + "xmldom": "0.1.x" } }, "range-parser": { @@ -10269,8 +10269,8 @@ "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.4.3.tgz", "integrity": "sha512-t3f6cRH5YSKv8qjRl1Z+1e0OwBZwJSdOAhJ9QAJdVKML7SmqAKKv3DxF+Ue03pE1N2UipPsLmaNcPzzMjIdZQg==", "requires": { - "shell-quote": "1.6.1", - "ws": "3.3.3" + "shell-quote": "^1.6.1", + "ws": "^3.3.1" }, "dependencies": { "ws": { @@ -10278,9 +10278,9 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "requires": { - "async-limiter": "1.0.0", - "safe-buffer": "5.1.2", - "ultron": "1.1.1" + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" } } } @@ -10290,9 +10290,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -10300,8 +10300,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "regenerator-runtime": { @@ -10315,18 +10315,18 @@ "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "requires": { "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", + "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.6.3", + "http-errors": "~1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.4.0" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" }, "dependencies": { "mime": { @@ -10351,9 +10351,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", "send": "0.16.2" } }, @@ -10372,7 +10372,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "to-fast-properties": { @@ -10400,8 +10400,8 @@ "resolved": "https://registry.npmjs.org/xcode/-/xcode-1.1.0.tgz", "integrity": "sha512-hllHFtfsNu5WbVzj8KbGNdI3NgOYmTLZqyF4a9c9J1aGMhAdxmLLsXlpG0Bz8fEtKh6I3pyargRXN0ZlLpcF5w==", "requires": { - "simple-plist": "0.2.1", - "uuid": "3.3.2" + "simple-plist": "^0.2.1", + "uuid": "^3.3.2" } }, "xmlbuilder": { @@ -10414,19 +10414,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.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.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "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" } }, "yargs-parser": { @@ -10434,7 +10434,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -10449,8 +10449,8 @@ "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.13.3.tgz", "integrity": "sha512-B62LSSAEYQGItg7KVTzTVVCxezOYFBYp4DMVFbdoZUd1mZVFdqR2sy1HY1mye1VI/Lf3IbxSyZEQ0GmrrdwLjg==", "requires": { - "base-64": "0.1.0", - "utf8": "2.1.2" + "base-64": "^0.1.0", + "utf8": "^2.1.1" } }, "react-native-gesture-handler": { @@ -10458,9 +10458,9 @@ "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.12.tgz", "integrity": "sha512-Qp5FjRmqUFeCevSu2IYQG1Xw+YXZ9YOzqze/ZxaIvWzYAoKsRchlgHhNoxvCqElp/befrnVFIjAEQyUxcmBKJw==", "requires": { - "hoist-non-react-statics": "2.5.5", - "invariant": "2.2.4", - "prop-types": "15.6.2" + "hoist-non-react-statics": "^2.3.1", + "invariant": "^2.2.2", + "prop-types": "^15.5.10" }, "dependencies": { "hoist-non-react-statics": { @@ -10485,7 +10485,7 @@ "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.11.0.tgz", "integrity": "sha512-N3nElaahu1Me2ltnfc9acpgt1znm6pi8DSadKy79kvdzKwvVIzw0IXueA/Hjr51eCW1BsfNw7D1SgBT9U6qEkA==", "requires": { - "hoist-non-react-statics": "2.5.5" + "hoist-non-react-statics": "^2.3.1" }, "dependencies": { "hoist-non-react-statics": { @@ -10510,7 +10510,7 @@ "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.3.1.tgz", "integrity": "sha512-QNt6VkEW8SP1UJ7yjD5P4bOTWwHQfoIMD5CqnA06pcubdNwHR1NmjiNZsVnIvp5wAEVbW6yTHjLXOh1fzab4xg==", "requires": { - "prop-types": "15.6.2" + "prop-types": "^15.6.1" } }, "react-native-vector-icons": { @@ -10518,9 +10518,9 @@ "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.1.0.tgz", "integrity": "sha512-1GF5I4VWgwnzBtVfAKNgEiR5ziHi5QaKL381wwApMzuiFgIJMNt5XIChuKwKoaiB86s+P5iMcYWxYCyENL96lA==", "requires": { - "lodash": "4.17.11", - "prop-types": "15.6.2", - "yargs": "8.0.2" + "lodash": "^4.0.0", + "prop-types": "^15.6.2", + "yargs": "^8.0.2" }, "dependencies": { "cliui": { @@ -10528,9 +10528,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -10538,9 +10538,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -10550,7 +10550,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "is-fullwidth-code-point": { @@ -10558,7 +10558,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "load-json-file": { @@ -10566,10 +10566,10 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "path-type": { @@ -10577,7 +10577,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -10585,9 +10585,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -10595,8 +10595,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "strip-bom": { @@ -10609,19 +10609,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.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.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "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" } }, "yargs-parser": { @@ -10629,7 +10629,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -10651,7 +10651,7 @@ "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-1.0.5.tgz", "integrity": "sha512-WeGrXFn84R75IAt3ndDfkHw9FNvPsi4JPGO1iopqUoA/2tMPA6WJbhuE3dqmmEu3TZRjI+2LatCgpx00tT1kiQ==", "requires": { - "react-native-tab-view": "1.3.1" + "react-native-tab-view": "^1.2.0" } }, "react-navigation-header-buttons": { @@ -10659,7 +10659,7 @@ "resolved": "https://registry.npmjs.org/react-navigation-header-buttons/-/react-navigation-header-buttons-2.1.1.tgz", "integrity": "sha512-ZWqwvdOBDduAGr1WpmHWbCMmSx9ZpuKdnFOByt9iOSZwwQwMP2f98rkePAlYXlTcThgaqbpdt7jcktAcG056fA==", "requires": { - "react-native-platform-touchable": "1.1.1" + "react-native-platform-touchable": "^1.1.1" } }, "react-navigation-stack": { @@ -10672,10 +10672,10 @@ "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.0.2.tgz", "integrity": "sha512-ffWPVdo+L0GLbQlLAzH7ITYqh9V9NdqT/juj8QtESH5/2yUqfvqTxQoSowvFIrtiIHHFH6tLoQy1sZZciTxmeg==", "requires": { - "hoist-non-react-statics": "2.5.5", - "prop-types": "15.6.2", - "react-lifecycles-compat": "3.0.4", - "react-native-tab-view": "1.3.1" + "hoist-non-react-statics": "^2.5.0", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4", + "react-native-tab-view": "^1.0.0" }, "dependencies": { "hoist-non-react-statics": { @@ -10690,8 +10690,8 @@ "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=", "requires": { - "lodash": "4.17.11", - "react-deep-force-update": "1.1.1" + "lodash": "^4.6.1", + "react-deep-force-update": "^1.0.0" } }, "react-test-renderer": { @@ -10700,10 +10700,10 @@ "integrity": "sha512-B5bCer+qymrQz/wN03lT0LppbZUDRq6AMfzMKrovzkGzfO81a9T+PWQW6MzkWknbwODQH/qpJno/yFQLX5IWrQ==", "dev": true, "requires": { - "object-assign": "4.1.1", - "prop-types": "15.6.2", - "react-is": "16.7.0", - "scheduler": "0.11.3" + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "react-is": "^16.6.3", + "scheduler": "^0.11.2" } }, "react-timer-mixin": { @@ -10716,8 +10716,8 @@ "resolved": "https://registry.npmjs.org/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz", "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=", "requires": { - "global": "4.3.2", - "react-proxy": "1.1.8" + "global": "^4.3.0", + "react-proxy": "^1.1.7" } }, "read-pkg": { @@ -10726,9 +10726,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -10737,8 +10737,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "readable-stream": { @@ -10746,13 +10746,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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" } }, "realpath-native": { @@ -10761,7 +10761,7 @@ "integrity": "sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g==", "dev": true, "requires": { - "util.promisify": "1.0.0" + "util.promisify": "^1.0.0" } }, "recast": { @@ -10770,9 +10770,9 @@ "integrity": "sha512-ZUQm94F3AHozRaTo4Vz6yIgkSEZIL7p+BsWeGZ23rx+ZVRoqX+bvBA8br0xmCOU0DSR4qYGtV7Y5HxTsC4V78A==", "requires": { "ast-types": "0.11.6", - "esprima": "4.0.1", - "private": "0.1.8", - "source-map": "0.6.1" + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" }, "dependencies": { "ast-types": { @@ -10802,7 +10802,7 @@ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", "requires": { - "regenerate": "1.4.0" + "regenerate": "^1.4.0" } }, "regenerator": { @@ -10810,16 +10810,16 @@ "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.13.3.tgz", "integrity": "sha512-vePgoVGUgXfLBw4Z1hv8PTfmt7TW5dT/cMdq2GCdr3TYoPTE1WUU/KjiaZCOLD/JSyGWJMWhMRDYBLbpmVzkFw==", "requires": { - "@babel/core": "7.2.2", - "@babel/runtime": "7.2.0", - "@babel/types": "7.2.2", - "commoner": "0.10.8", - "private": "0.1.8", - "recast": "0.16.1", - "regenerator-preset": "0.12.1", - "regenerator-runtime": "0.13.1", - "regenerator-transform": "0.13.3", - "through": "2.3.8" + "@babel/core": "^7.1.6", + "@babel/runtime": "^7.1.5", + "@babel/types": "^7.1.6", + "commoner": "^0.10.8", + "private": "^0.1.8", + "recast": "^0.16.0", + "regenerator-preset": "^0.12.1", + "regenerator-runtime": "^0.13.0", + "regenerator-transform": "^0.13.3", + "through": "^2.3.8" } }, "regenerator-preset": { @@ -10827,13 +10827,13 @@ "resolved": "https://registry.npmjs.org/regenerator-preset/-/regenerator-preset-0.12.1.tgz", "integrity": "sha512-s/4SOEU1TxZ6IV/CQfz4BEjn29HaRhvqYPoufx2hp9LfuD2dnwnmtWEdXxUuG4JHAE7V+y6aqvileT1AflcH9g==", "requires": { - "@babel/plugin-proposal-function-sent": "7.2.0", - "@babel/plugin-syntax-async-generators": "7.2.0", - "@babel/plugin-transform-arrow-functions": "7.2.0", - "@babel/plugin-transform-block-scoping": "7.2.0", - "@babel/plugin-transform-classes": "7.2.2", - "@babel/plugin-transform-for-of": "7.2.0", - "regenerator-transform": "0.13.3" + "@babel/plugin-proposal-function-sent": "^7.0.0-beta.51", + "@babel/plugin-syntax-async-generators": "^7.0.0-beta.51", + "@babel/plugin-transform-arrow-functions": "^7.0.0-beta.51", + "@babel/plugin-transform-block-scoping": "^7.0.0-beta.51", + "@babel/plugin-transform-classes": "^7.0.0-beta.51", + "@babel/plugin-transform-for-of": "^7.0.0-beta.51", + "regenerator-transform": "^0.13.0" } }, "regenerator-runtime": { @@ -10846,7 +10846,7 @@ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", "requires": { - "private": "0.1.8" + "private": "^0.1.6" } }, "regex-cache": { @@ -10854,7 +10854,7 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -10862,8 +10862,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexpu-core": { @@ -10871,12 +10871,12 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", "requires": { - "regenerate": "1.4.0", - "regenerate-unicode-properties": "7.0.0", - "regjsgen": "0.5.0", - "regjsparser": "0.6.0", - "unicode-match-property-ecmascript": "1.0.4", - "unicode-match-property-value-ecmascript": "1.0.2" + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" } }, "regjsgen": { @@ -10889,12 +10889,12 @@ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } @@ -10920,7 +10920,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -10929,26 +10929,26 @@ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.7", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.3", - "har-validator": "5.1.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.21", - "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" + "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" }, "dependencies": { "mime-db": { @@ -10963,7 +10963,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "1.37.0" + "mime-db": "~1.37.0" } }, "punycode": { @@ -10978,8 +10978,8 @@ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { - "psl": "1.1.31", - "punycode": "1.4.1" + "psl": "^1.1.24", + "punycode": "^1.4.1" } } } @@ -10990,7 +10990,7 @@ "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", "dev": true, "requires": { - "lodash": "4.17.11" + "lodash": "^4.13.1" } }, "request-promise-native": { @@ -11000,8 +11000,8 @@ "dev": true, "requires": { "request-promise-core": "1.1.1", - "stealthy-require": "1.1.1", - "tough-cookie": "2.5.0" + "stealthy-require": "^1.1.0", + "tough-cookie": ">=2.3.3" } }, "require-directory": { @@ -11019,7 +11019,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "requires": { - "path-parse": "1.0.6" + "path-parse": "^1.0.5" } }, "resolve-cwd": { @@ -11028,7 +11028,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -11046,8 +11046,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -11060,7 +11060,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "rsvp": { @@ -11073,7 +11073,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rx-lite": { @@ -11086,7 +11086,7 @@ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "requires": { - "rx-lite": "4.0.8" + "rx-lite": "*" } }, "safe-buffer": { @@ -11099,7 +11099,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -11113,15 +11113,15 @@ "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "dev": true, "requires": { - "anymatch": "2.0.0", - "capture-exit": "1.2.0", - "exec-sh": "0.2.2", - "fb-watchman": "2.0.0", - "fsevents": "1.2.4", - "micromatch": "3.1.10", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" + "anymatch": "^2.0.0", + "capture-exit": "^1.2.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.3", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" }, "dependencies": { "arr-diff": { @@ -11142,16 +11142,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -11160,7 +11160,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11171,13 +11171,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -11186,7 +11186,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11195,7 +11195,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -11204,7 +11204,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11213,7 +11213,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11224,7 +11224,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11233,7 +11233,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11244,9 +11244,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -11263,14 +11263,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -11279,7 +11279,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -11288,7 +11288,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11299,10 +11299,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -11311,7 +11311,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11322,7 +11322,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -11331,7 +11331,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -11340,9 +11340,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -11351,7 +11351,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11360,7 +11360,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11383,19 +11383,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -11410,8 +11410,8 @@ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.3.tgz", "integrity": "sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==", "requires": { - "loose-envify": "1.4.0", - "object-assign": "4.1.1" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" } }, "semver": { @@ -11434,10 +11434,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -11445,7 +11445,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11465,7 +11465,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -11478,10 +11478,10 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "requires": { - "array-filter": "0.0.1", - "array-map": "0.0.0", - "array-reduce": "0.0.0", - "jsonify": "0.0.0" + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" } }, "shellwords": { @@ -11516,7 +11516,7 @@ "requires": { "base64-js": "1.1.2", "xmlbuilder": "8.2.2", - "xmldom": "0.1.27" + "xmldom": "0.1.x" } }, "xmlbuilder": { @@ -11553,14 +11553,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.1" + "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" }, "dependencies": { "define-property": { @@ -11568,7 +11568,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11576,7 +11576,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11586,9 +11586,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -11596,7 +11596,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -11604,7 +11604,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -11612,7 +11612,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -11620,9 +11620,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "isobject": { @@ -11642,7 +11642,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "source-map": { @@ -11655,11 +11655,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "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" + "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": { @@ -11668,7 +11668,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "source-map-url": { @@ -11681,8 +11681,8 @@ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -11695,8 +11695,8 @@ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -11709,7 +11709,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -11723,15 +11723,15 @@ "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", "dev": true, "requires": { - "asn1": "0.2.4", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.2", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "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" } }, "stack-utils": { @@ -11746,17 +11746,17 @@ "integrity": "sha1-ATl5IuX2Ls8whFUiyVxP4dJefU4=" }, "standard-file-js": { - "version": "0.3.35", - "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.35.tgz", - "integrity": "sha512-7Iqk0Coq8buYJ+lQWLPLxFv9SS5kcmxcK7J215jYyc11cJFayUH+p3fiC8bpev9RJ5dDvS5pVp81YItIvMCIeQ==" + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.36.tgz", + "integrity": "sha512-YNfPNNa2rojsjMcZj2eH6H7RcCmK2oUZwl6US/Lv0eC5wGw15po2FU0lPPgc3dl8r5RmKf38RNgb/wBJJuCtHw==" }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -11764,7 +11764,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -11791,8 +11791,8 @@ "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", "dev": true, "requires": { - "astral-regex": "1.0.0", - "strip-ansi": "4.0.0" + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -11807,7 +11807,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -11817,8 +11817,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -11831,7 +11831,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -11841,7 +11841,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -11849,7 +11849,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -11858,7 +11858,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -11882,8 +11882,8 @@ "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", "requires": { - "os-tmpdir": "1.0.2", - "rimraf": "2.2.8" + "os-tmpdir": "^1.0.0", + "rimraf": "~2.2.6" }, "dependencies": { "rimraf": { @@ -11899,11 +11899,11 @@ "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "3.1.10", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^3.1.8", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" }, "dependencies": { "arr-diff": { @@ -11924,16 +11924,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "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" }, "dependencies": { "extend-shallow": { @@ -11942,7 +11942,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -11953,13 +11953,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -11968,7 +11968,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -11977,7 +11977,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -11986,7 +11986,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11995,7 +11995,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12006,7 +12006,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -12015,7 +12015,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12026,9 +12026,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -12045,14 +12045,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" }, "dependencies": { "define-property": { @@ -12061,7 +12061,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -12070,7 +12070,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -12081,10 +12081,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -12093,7 +12093,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -12104,7 +12104,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -12113,7 +12113,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -12122,9 +12122,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-number": { @@ -12133,7 +12133,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -12142,7 +12142,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12165,19 +12165,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } } } @@ -12197,8 +12197,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "time-stamp": { @@ -12211,7 +12211,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "tmpl": { @@ -12230,7 +12230,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -12238,10 +12238,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -12249,8 +12249,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "dependencies": { "is-number": { @@ -12258,7 +12258,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } } } @@ -12269,8 +12269,8 @@ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "psl": "1.1.31", - "punycode": "2.1.1" + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, "tr46": { @@ -12279,7 +12279,7 @@ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" } }, "trim-right": { @@ -12293,7 +12293,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -12308,7 +12308,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "typedarray": { @@ -12326,8 +12326,8 @@ "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "requires": { - "commander": "2.13.0", - "source-map": "0.6.1" + "commander": "~2.13.0", + "source-map": "~0.6.1" }, "dependencies": { "commander": { @@ -12357,8 +12357,8 @@ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", "requires": { - "unicode-canonical-property-names-ecmascript": "1.0.4", - "unicode-property-aliases-ecmascript": "1.0.4" + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" } }, "unicode-match-property-value-ecmascript": { @@ -12376,10 +12376,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -12387,7 +12387,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -12395,10 +12395,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -12413,8 +12413,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -12422,9 +12422,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -12455,7 +12455,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" } }, "urix": { @@ -12484,8 +12484,8 @@ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", "dev": true, "requires": { - "define-properties": "1.1.3", - "object.getownpropertydescriptors": "2.0.3" + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" } }, "uuid": { @@ -12498,8 +12498,8 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "verror": { @@ -12508,9 +12508,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "w3c-hr-time": { @@ -12519,7 +12519,7 @@ "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", "dev": true, "requires": { - "browser-process-hrtime": "0.1.3" + "browser-process-hrtime": "^0.1.2" } }, "walker": { @@ -12527,7 +12527,7 @@ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "requires": { - "makeerror": "1.0.11" + "makeerror": "1.0.x" } }, "watch": { @@ -12535,8 +12535,8 @@ "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", "requires": { - "exec-sh": "0.2.2", - "minimist": "1.2.0" + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" } }, "webidl-conversions": { @@ -12560,7 +12560,7 @@ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } } } @@ -12582,9 +12582,9 @@ "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "requires": { - "lodash.sortby": "4.7.0", - "tr46": "1.0.1", - "webidl-conversions": "4.0.2" + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, "which": { @@ -12592,7 +12592,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -12610,8 +12610,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -12619,7 +12619,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -12627,9 +12627,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -12644,9 +12644,9 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "slide": "^1.1.5" } }, "ws": { @@ -12654,8 +12654,8 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", "requires": { - "options": "0.0.6", - "ultron": "1.0.2" + "options": ">=0.0.5", + "ultron": "1.0.x" }, "dependencies": { "ultron": { @@ -12676,7 +12676,7 @@ "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-0.4.0.tgz", "integrity": "sha1-0lciS+g5PqrL+DfvIn/Y7CWzaIg=", "requires": { - "sax": "1.1.6" + "sax": "~1.1.1" } }, "xmldom": { @@ -12710,18 +12710,18 @@ "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.3", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^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": "^9.0.2" }, "dependencies": { "find-up": { @@ -12730,7 +12730,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } } } @@ -12741,7 +12741,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } diff --git a/package.json b/package.json index e58fc68b..adaab39b 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "react-navigation-header-buttons": "^2.1.1", "regenerator": "^0.13.3", "sn-models": "0.1.12", - "standard-file-js": "0.3.35" + "standard-file-js": "0.3.36" }, "devDependencies": { "babel-jest": "^23.6.0", diff --git a/src/screens/Settings/Sections/AuthSection.js b/src/screens/Settings/Sections/AuthSection.js index d3b7b8dd..e9a6eecc 100644 --- a/src/screens/Settings/Sections/AuthSection.js +++ b/src/screens/Settings/Sections/AuthSection.js @@ -18,6 +18,8 @@ export default class AuthSection extends Component { constructor(props) { super(props); this.state = { + email: AuthSection.emailInProgress, + password: AuthSection.passwordInProgress, signingIn: false, registering: false, strictSignIn: false, @@ -120,6 +122,8 @@ export default class AuthSection extends Component { } onAuthSuccess = () => { + AuthSection.emailInProgress = null; + AuthSection.passwordInProgress = null; Sync.get().markAllItemsDirtyAndSaveOffline(false).then(() => { Sync.get().unlockSyncing(); Sync.get().sync(); @@ -157,6 +161,19 @@ export default class AuthSection extends Component { this.setState({mfa: null}); } + emailInputChanged = (text) => { + this.setState({email: text}); + // If you have a local passcode with immediate timing, and you're trying to sign in, and 2FA is prompted + // then by the time you come back from Auth, AuthSection will have unmounted and remounted (because Settings returns LockedView), + // clearing any values. So we'll hang on to them here. + AuthSection.emailInProgress = text; + } + + passwordInputChanged = (text) => { + this.setState({password: text}); + AuthSection.passwordInProgress = text; + } + _renderRegistrationConfirm() { var padding = 14; return ( @@ -229,7 +246,7 @@ export default class AuthSection extends Component { this.setState({email: text})} + onChangeText={(text) => this.emailInputChanged(text)} value={this.state.email} autoCorrect={false} autoCapitalize={'none'} @@ -244,7 +261,7 @@ export default class AuthSection extends Component { this.setState({password: text})} + onChangeText={(text) => this.passwordInputChanged(text)} value={this.state.password} secureTextEntry={true} keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} From 22505fe04f774b7791388151ebd83f4217caaab4 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 17 Jan 2019 11:14:05 -0600 Subject: [PATCH 103/131] Fix for recursive invalid auth alert --- package-lock.json | 5274 ++++++++++---------- src/screens/Authentication/Authenticate.js | 3 + 2 files changed, 2640 insertions(+), 2637 deletions(-) diff --git a/package-lock.json b/package-lock.json index e58667f6..47c4692b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/core": { @@ -17,20 +17,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.2.2", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.2.2", - "@babel/types": "^7.2.2", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.11", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -38,7 +38,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "json5": { @@ -46,7 +46,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "^1.2.0" + "minimist": "1.2.0" } }, "ms": { @@ -61,11 +61,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -80,7 +80,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -88,8 +88,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", "requires": { - "@babel/helper-explode-assignable-expression": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-explode-assignable-expression": "7.1.0", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/types": { @@ -97,9 +97,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -114,8 +114,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz", "integrity": "sha512-ebJ2JM6NAKW0fQEqN8hOLxK84RbRz9OkUhGS/Xd5u56ejMfVbayJ4+LykERZCOUM6faa6Fp3SZNX3fcT16MKHw==", "requires": { - "@babel/types": "^7.0.0", - "esutils": "^2.0.0" + "@babel/types": "7.2.2", + "esutils": "2.0.2" }, "dependencies": { "@babel/types": { @@ -123,9 +123,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -140,9 +140,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", "requires": { - "@babel/helper-hoist-variables": "^7.0.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-hoist-variables": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/code-frame": { @@ -150,7 +150,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -158,11 +158,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -170,9 +170,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -180,7 +180,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -188,7 +188,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -196,9 +196,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -211,9 +211,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -221,15 +221,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -237,9 +237,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -247,7 +247,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -255,9 +255,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -265,7 +265,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -288,7 +288,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -303,11 +303,11 @@ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.3.tgz", "integrity": "sha512-xO/3Gn+2C7/eOUeb0VRnSP1+yvWHNxlpAot1eMhtoKDCN7POsyQP5excuT5UsV5daHxMWBeIIOeI5cmB8vMRgQ==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.2.3" + "@babel/helper-function-name": "7.1.0", + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-replace-supers": "7.2.3" }, "dependencies": { "@babel/code-frame": { @@ -315,7 +315,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -323,11 +323,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -335,9 +335,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -345,7 +345,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -353,7 +353,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -361,7 +361,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -374,10 +374,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -385,7 +385,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -393,9 +393,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -408,9 +408,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -418,15 +418,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -434,9 +434,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -444,7 +444,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -452,9 +452,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -462,7 +462,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -485,7 +485,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -500,9 +500,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.11" } }, "@babel/helper-explode-assignable-expression": { @@ -510,8 +510,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", "requires": { - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/code-frame": { @@ -519,7 +519,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -527,11 +527,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -539,9 +539,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -549,7 +549,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -557,7 +557,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -565,9 +565,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -580,9 +580,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -590,15 +590,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -606,9 +606,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -616,7 +616,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -624,9 +624,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -634,7 +634,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -657,7 +657,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -672,9 +672,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -682,7 +682,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-hoist-variables": { @@ -690,7 +690,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" }, "dependencies": { "@babel/types": { @@ -698,9 +698,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -715,7 +715,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-module-imports": { @@ -723,7 +723,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" }, "dependencies": { "@babel/types": { @@ -731,9 +731,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -748,12 +748,12 @@ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/template": "^7.2.2", - "@babel/types": "^7.2.2", - "lodash": "^4.17.10" + "@babel/helper-module-imports": "7.0.0", + "@babel/helper-simple-access": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2", + "lodash": "4.17.11" }, "dependencies": { "@babel/code-frame": { @@ -761,7 +761,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -769,7 +769,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -777,9 +777,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -792,9 +792,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/types": { @@ -802,9 +802,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -812,7 +812,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -820,9 +820,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -830,7 +830,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -845,7 +845,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -858,7 +858,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.11" } }, "@babel/helper-remap-async-to-generator": { @@ -866,11 +866,11 @@ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", "requires": { - "@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-annotate-as-pure": "7.0.0", + "@babel/helper-wrap-function": "7.2.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/code-frame": { @@ -878,7 +878,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -886,11 +886,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -898,7 +898,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-function-name": { @@ -906,9 +906,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -916,7 +916,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -924,7 +924,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-wrap-function": { @@ -932,10 +932,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" + "@babel/helper-function-name": "7.1.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -943,9 +943,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -958,9 +958,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -968,15 +968,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -984,9 +984,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -994,7 +994,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1002,9 +1002,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -1012,7 +1012,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -1035,7 +1035,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -1050,10 +1050,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-simple-access": { @@ -1061,8 +1061,8 @@ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", "requires": { - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" }, "dependencies": { "@babel/code-frame": { @@ -1070,7 +1070,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/highlight": { @@ -1078,9 +1078,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -1093,9 +1093,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/types": { @@ -1103,9 +1103,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -1113,7 +1113,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1121,9 +1121,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -1131,7 +1131,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -1146,7 +1146,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-wrap-function": { @@ -1154,10 +1154,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" + "@babel/helper-function-name": "7.1.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helpers": { @@ -1165,9 +1165,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.2.0" + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -1175,9 +1175,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" }, "dependencies": { "ansi-styles": { @@ -1185,7 +1185,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1193,9 +1193,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -1203,7 +1203,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -1218,7 +1218,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.2.0.tgz", "integrity": "sha512-QFmtcCShFkyAsNtdCM3lJPmRe1iB+vPZymlB4LnDIKEBj2yKQLQKtoxXxJ8ePT5fwMl4QGg303p4mB0UsSI2/g==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1233,8 +1233,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.3.tgz", "integrity": "sha512-FVuQngLoN2iDrpW7LmhPZ2sO4DJxf35FOcwidwB9Ru9tMvI5URthnkVHuG14IStV+TzkMTyLMoOUlSTtrdVwqw==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.2.3", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-create-class-features-plugin": "7.2.3", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1249,8 +1249,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz", "integrity": "sha512-NVfNe7F6nsasG1FnvcFxh2FN0l04ZNe75qTOAVOILWPam0tw9a63RtT/Dab8dPjedZa4fTQaQ83yMMywF9OSug==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-export-default-from": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1265,9 +1265,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.2.0.tgz", "integrity": "sha512-qQBDKRSCu1wGJi3jbngs18vrujVQA4F+OkSuIQYRhE6y19jcPzeEIGOc683mCQXDUR3BQCz8JyCupIwv+IRFmA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-wrap-function": "^7.2.0", - "@babel/plugin-syntax-function-sent": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-wrap-function": "7.2.0", + "@babel/plugin-syntax-function-sent": "7.2.0" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { @@ -1275,8 +1275,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.2.0.tgz", "integrity": "sha512-QXj/YjFuFJd68oDvoc1e8aqLr2wz7Kofzvp6Ekd/o7MWZl+nZ0/cpStxND+hlZ7DpRWAp7OmuyT2areZ2V3YUA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1291,8 +1291,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.2.0.tgz", "integrity": "sha512-1L5mWLSvR76XYUQJXkd/EEQgjq8HHRP6lQuZTTg0VA4tTGPpGemmCdAfQIz1rzEuWAm+ecP8PyyEm30jC1eQCg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-object-rest-spread": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1307,8 +1307,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1323,8 +1323,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz", "integrity": "sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-optional-chaining": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1339,7 +1339,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-syntax-class-properties": { @@ -1347,7 +1347,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.2.0.tgz", "integrity": "sha512-UxYaGXYQ7rrKJS/PxIKRkv3exi05oH7rokBAsmCSsCxz1sVPZ7Fu6FzKoGgUvmY+0YgSkYHgUoCh5R5bCNBQlw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1362,7 +1362,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1377,7 +1377,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz", "integrity": "sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1392,7 +1392,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz", "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1407,7 +1407,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz", "integrity": "sha512-2MOVuJ6IMAifp2cf0RFkHQaOvHpbBYyWCvgtF/WVqXhTd7Bgtov8iXVCadLXp2FN1BrI2EFl+JXuwXy0qr3KoQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-syntax-jsx": { @@ -1415,7 +1415,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1430,7 +1430,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz", "integrity": "sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1445,7 +1445,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1460,7 +1460,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1475,7 +1475,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz", "integrity": "sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1490,7 +1490,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.2.0.tgz", "integrity": "sha512-WhKr6yu6yGpGcNMVgIBuI9MkredpVc7Y3YR4UzEZmDztHoL6wV56YBHLhWnjO1EvId1B32HrD3DRFc+zSoKI1g==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1505,7 +1505,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-async-to-generator": { @@ -1513,9 +1513,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0" + "@babel/helper-module-imports": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-remap-async-to-generator": "7.1.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1530,7 +1530,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1545,8 +1545,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -1554,14 +1554,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@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.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" }, "dependencies": { "globals": { @@ -1576,7 +1576,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1591,7 +1591,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz", "integrity": "sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1606,8 +1606,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "7.1.0", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1622,8 +1622,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz", "integrity": "sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-flow": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1638,7 +1638,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-function-name": { @@ -1646,8 +1646,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-function-name": "7.1.0", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/code-frame": { @@ -1655,7 +1655,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/helper-function-name": { @@ -1663,9 +1663,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -1673,7 +1673,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -1686,9 +1686,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -1701,9 +1701,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/types": { @@ -1711,9 +1711,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -1721,7 +1721,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1729,9 +1729,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -1739,7 +1739,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -1754,7 +1754,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1769,7 +1769,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1784,9 +1784,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0" + "@babel/helper-module-transforms": "7.2.2", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-simple-access": "7.1.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1801,7 +1801,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz", "integrity": "sha512-nmE55cZBPFgUktbF2OuoZgPRadfxosLOpSgzEPYotKSls9J4pEPcembi8r78RU37Rph6UApCpNmsQA4QMWK9Ng==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -1816,8 +1816,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.1.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-replace-supers": "7.2.3" }, "dependencies": { "@babel/code-frame": { @@ -1825,7 +1825,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -1833,11 +1833,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -1845,9 +1845,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -1855,7 +1855,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -1863,7 +1863,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -1871,7 +1871,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -1884,10 +1884,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -1895,7 +1895,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -1903,9 +1903,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -1918,9 +1918,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -1928,15 +1928,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -1944,9 +1944,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -1954,7 +1954,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -1962,9 +1962,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -1972,7 +1972,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -1995,7 +1995,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -2010,9 +2010,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz", "integrity": "sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA==", "requires": { - "@babel/helper-call-delegate": "^7.1.0", - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-call-delegate": "7.1.0", + "@babel/helper-get-function-arity": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-get-function-arity": { @@ -2020,7 +2020,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -2033,9 +2033,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -2050,7 +2050,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2065,7 +2065,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2080,9 +2080,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.2.0.tgz", "integrity": "sha512-h/fZRel5wAfCqcKgq3OhbmYaReo7KkoJBpt8XnvpS7wqaNMqtw5xhxutzcm35iMUWucfAdT/nvGTsWln0JTg2Q==", "requires": { - "@babel/helper-builder-react-jsx": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" + "@babel/helper-builder-react-jsx": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-jsx": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2097,8 +2097,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz", "integrity": "sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-jsx": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2113,7 +2113,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", "requires": { - "regenerator-transform": "^0.13.3" + "regenerator-transform": "0.13.3" } }, "@babel/plugin-transform-runtime": { @@ -2121,10 +2121,10 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz", "integrity": "sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==", "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "resolve": "^1.8.1", - "semver": "^5.5.1" + "@babel/helper-module-imports": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0", + "resolve": "1.8.1", + "semver": "5.6.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2144,7 +2144,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2159,7 +2159,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2174,8 +2174,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-regex": "7.0.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2190,8 +2190,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-plugin-utils": "7.0.0" }, "dependencies": { "@babel/helper-annotate-as-pure": { @@ -2199,7 +2199,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -2212,9 +2212,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "to-fast-properties": { @@ -2229,8 +2229,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.2.0.tgz", "integrity": "sha512-EnI7i2/gJ7ZNr2MuyvN2Hu+BHJENlxWte5XygPvfj/MbvtOkWor9zcnHpMMQL2YYaaCcqtIvJUyJ7QVfoGs7ew==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-typescript": "^7.2.0" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/plugin-syntax-typescript": "7.2.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2245,9 +2245,9 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.1.3" + "@babel/helper-plugin-utils": "7.0.0", + "@babel/helper-regex": "7.0.0", + "regexpu-core": "4.4.0" }, "dependencies": { "@babel/helper-plugin-utils": { @@ -2262,13 +2262,13 @@ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.0.0.tgz", "integrity": "sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==", "requires": { - "core-js": "^2.5.7", - "find-cache-dir": "^1.0.0", - "home-or-tmp": "^3.0.0", - "lodash": "^4.17.10", - "mkdirp": "^0.5.1", - "pirates": "^4.0.0", - "source-map-support": "^0.5.9" + "core-js": "2.6.1", + "find-cache-dir": "1.0.0", + "home-or-tmp": "3.0.0", + "lodash": "4.17.11", + "mkdirp": "0.5.1", + "pirates": "4.0.0", + "source-map-support": "0.5.9" }, "dependencies": { "core-js": { @@ -2291,8 +2291,8 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.1", + "source-map": "0.6.1" } } } @@ -2302,7 +2302,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "requires": { - "regenerator-runtime": "^0.12.0" + "regenerator-runtime": "0.12.1" }, "dependencies": { "regenerator-runtime": { @@ -2317,9 +2317,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -2327,15 +2327,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" }, "dependencies": { "debug": { @@ -2343,7 +2343,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -2363,9 +2363,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" }, "dependencies": { "to-fast-properties": { @@ -2381,11 +2381,11 @@ "integrity": "sha512-E0ETZJUuJRHvjtb0f0U416NcDxt9T5HvRLxXu5K4DNxtmjpOfkT9Sh+Q309/zrCwSkHY85ZpGKvewZTSGI7Q1Q==", "requires": { "create-react-context": "0.2.2", - "hoist-non-react-statics": "^3.0.1", - "path-to-regexp": "^1.7.0", - "query-string": "^6.2.0", - "react-is": "^16.5.2", - "react-lifecycles-compat": "^3.0.4" + "hoist-non-react-statics": "3.2.1", + "path-to-regexp": "1.7.0", + "query-string": "6.2.0", + "react-is": "16.7.0", + "react-lifecycles-compat": "3.0.4" } }, "@react-navigation/native": { @@ -2393,10 +2393,10 @@ "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.0.3.tgz", "integrity": "sha512-1T3OnI6DpHPYvrb6OSMvdpcou0NAZKYBeOs66Uimy6oT5tkkj8jwaksAwuSCTIMxaRl1nROPd22yXYq6gBnUVA==", "requires": { - "hoist-non-react-statics": "^3.0.1", - "react-native-gesture-handler": "^1.0.0", - "react-native-safe-area-view": "^0.11.0", - "react-native-screens": "^1.0.0 || ^1.0.0-alpha" + "hoist-non-react-statics": "3.2.1", + "react-native-gesture-handler": "1.0.12", + "react-native-safe-area-view": "0.11.0", + "react-native-screens": "1.0.0-alpha.19" } }, "abab": { @@ -2421,8 +2421,8 @@ "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", "dev": true, "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" + "acorn": "6.0.4", + "acorn-walk": "6.1.1" }, "dependencies": { "acorn": { @@ -2445,10 +2445,10 @@ "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "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": { @@ -2461,7 +2461,7 @@ "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "requires": { - "ansi-wrap": "^0.1.0" + "ansi-wrap": "0.1.0" } }, "ansi-cyan": { @@ -2513,8 +2513,8 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "micromatch": "3.1.10", + "normalize-path": "2.1.1" }, "dependencies": { "arr-diff": { @@ -2532,16 +2532,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -2549,7 +2549,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2559,13 +2559,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -2573,7 +2573,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -2581,7 +2581,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -2589,7 +2589,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -2597,7 +2597,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2607,7 +2607,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -2615,7 +2615,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2625,9 +2625,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -2642,14 +2642,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -2657,7 +2657,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -2665,7 +2665,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2675,10 +2675,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -2686,7 +2686,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -2696,7 +2696,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -2704,7 +2704,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -2712,9 +2712,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -2722,7 +2722,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -2730,7 +2730,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -2750,19 +2750,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -2773,7 +2773,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "are-we-there-yet": { @@ -2781,8 +2781,8 @@ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "argparse": { @@ -2790,7 +2790,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "arr-diff": { @@ -2798,7 +2798,7 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "arr-flatten": { @@ -2864,7 +2864,7 @@ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "safer-buffer": "~2.1.0" + "safer-buffer": "2.1.2" } }, "assert-plus": { @@ -2894,7 +2894,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.11" } }, "async-limiter": { @@ -2931,9 +2931,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "js-tokens": { @@ -2950,25 +2950,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.11", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" } }, "babel-generator": { @@ -2977,14 +2977,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "babel-helpers": { @@ -2993,8 +2993,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-jest": { @@ -3003,8 +3003,8 @@ "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", "dev": true, "requires": { - "babel-plugin-istanbul": "^4.1.6", - "babel-preset-jest": "^23.2.0" + "babel-plugin-istanbul": "4.1.6", + "babel-preset-jest": "23.2.0" }, "dependencies": { "babel-plugin-jest-hoist": { @@ -3019,8 +3019,8 @@ "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^23.2.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0" + "babel-plugin-jest-hoist": "23.2.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0" } } } @@ -3031,7 +3031,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-istanbul": { @@ -3040,10 +3040,10 @@ "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", "dev": true, "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "find-up": "^2.1.0", - "istanbul-lib-instrument": "^1.10.1", - "test-exclude": "^4.2.1" + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "find-up": "2.1.0", + "istanbul-lib-instrument": "1.10.1", + "test-exclude": "4.2.1" }, "dependencies": { "find-up": { @@ -3052,7 +3052,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } } } @@ -3069,13 +3069,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.6.1", + "home-or-tmp": "2.0.0", + "lodash": "4.17.11", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" }, "dependencies": { "core-js": { @@ -3092,8 +3092,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" }, "dependencies": { "core-js": { @@ -3116,11 +3116,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.11" } }, "babel-traverse": { @@ -3129,15 +3129,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.11" } }, "babel-types": { @@ -3146,10 +3146,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -3168,13 +3168,13 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { - "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" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -3182,7 +3182,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -3190,7 +3190,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3198,7 +3198,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3206,9 +3206,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -3239,7 +3239,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "big-integer": { @@ -3252,7 +3252,7 @@ "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=", "requires": { - "stream-buffers": "~2.2.0" + "stream-buffers": "2.2.0" } }, "bplist-parser": { @@ -3260,7 +3260,7 @@ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", "requires": { - "big-integer": "^1.6.7" + "big-integer": "1.6.34" } }, "brace-expansion": { @@ -3268,7 +3268,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -3277,9 +3277,9 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "browser-process-hrtime": { @@ -3315,9 +3315,9 @@ "resolved": "https://registry.npmjs.org/bugsnag-react-native/-/bugsnag-react-native-2.12.6.tgz", "integrity": "sha512-KJR1Uab6m2WCEP+HudUxl6w1WalsxLwwKf5YRJHkW0m/LZ72mdEv9ipJ/mEAYbyKPv3bL0y855GnlB4lcQ+7XQ==", "requires": { - "iserror": "^0.0.2", - "promise": "^7", - "prop-types": "^15.6.0" + "iserror": "0.0.2", + "promise": "7.3.1", + "prop-types": "15.6.2" } }, "builtin-modules": { @@ -3330,15 +3330,15 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { - "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" + "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" }, "dependencies": { "isobject": { @@ -3353,7 +3353,7 @@ "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "requires": { - "callsites": "^2.0.0" + "callsites": "2.0.0" } }, "caller-path": { @@ -3361,7 +3361,7 @@ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "requires": { - "caller-callsite": "^2.0.0" + "caller-callsite": "2.0.0" } }, "callsites": { @@ -3379,7 +3379,7 @@ "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", "requires": { - "rsvp": "^3.3.3" + "rsvp": "3.6.2" } }, "caseless": { @@ -3393,11 +3393,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "chardet": { @@ -3416,10 +3416,10 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -3427,7 +3427,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "isobject": { @@ -3442,7 +3442,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-width": { @@ -3456,9 +3456,9 @@ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" }, "dependencies": { "ansi-regex": { @@ -3473,7 +3473,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -3494,8 +3494,8 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color-convert": { @@ -3522,7 +3522,7 @@ "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -3540,15 +3540,15 @@ "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", "requires": { - "commander": "^2.5.0", - "detective": "^4.3.1", - "glob": "^5.0.15", - "graceful-fs": "^4.1.2", - "iconv-lite": "^0.4.5", - "mkdirp": "^0.5.0", - "private": "^0.1.6", - "q": "^1.1.2", - "recast": "^0.11.17" + "commander": "2.17.1", + "detective": "4.7.1", + "glob": "5.0.15", + "graceful-fs": "4.1.11", + "iconv-lite": "0.4.23", + "mkdirp": "0.5.1", + "private": "0.1.8", + "q": "1.5.1", + "recast": "0.11.23" }, "dependencies": { "glob": { @@ -3556,11 +3556,11 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "recast": { @@ -3569,9 +3569,9 @@ "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", "requires": { "ast-types": "0.9.6", - "esprima": "~3.1.0", - "private": "~0.1.5", - "source-map": "~0.5.0" + "esprima": "3.1.3", + "private": "0.1.8", + "source-map": "0.5.7" } } } @@ -3586,7 +3586,7 @@ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": "1.35.0" } }, "concat-map": { @@ -3599,10 +3599,10 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "convert-source-map": { @@ -3630,10 +3630,10 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.9.0", - "parse-json": "^4.0.0" + "import-fresh": "2.0.0", + "is-directory": "0.3.1", + "js-yaml": "3.12.0", + "parse-json": "4.0.0" }, "dependencies": { "parse-json": { @@ -3641,8 +3641,8 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" } } } @@ -3652,9 +3652,9 @@ "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", "requires": { - "fbjs": "^0.8.9", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "fbjs": "0.8.17", + "loose-envify": "1.4.0", + "object-assign": "4.1.1" } }, "create-react-context": { @@ -3662,8 +3662,8 @@ "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz", "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==", "requires": { - "fbjs": "^0.8.0", - "gud": "^1.0.0" + "fbjs": "0.8.17", + "gud": "1.0.0" } }, "cross-spawn": { @@ -3671,9 +3671,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" } }, "cssom": { @@ -3688,7 +3688,7 @@ "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", "dev": true, "requires": { - "cssom": "0.3.x" + "cssom": "0.3.4" } }, "dashdash": { @@ -3697,7 +3697,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "data-urls": { @@ -3706,9 +3706,9 @@ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" + "abab": "2.0.0", + "whatwg-mimetype": "2.3.0", + "whatwg-url": "7.0.0" }, "dependencies": { "whatwg-url": { @@ -3717,9 +3717,9 @@ "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", "dev": true, "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" } } } @@ -3754,7 +3754,7 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-properties": { @@ -3763,7 +3763,7 @@ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "object-keys": "1.0.12" } }, "define-property": { @@ -3771,8 +3771,8 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -3780,7 +3780,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3788,7 +3788,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3796,9 +3796,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -3845,7 +3845,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "detect-newline": { @@ -3858,8 +3858,8 @@ "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "requires": { - "acorn": "^5.2.1", - "defined": "^1.0.0" + "acorn": "5.7.3", + "defined": "1.0.0" } }, "diff": { @@ -3879,7 +3879,7 @@ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "requires": { - "webidl-conversions": "^4.0.2" + "webidl-conversions": "4.0.2" } }, "ecc-jsbn": { @@ -3888,8 +3888,8 @@ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, "ee-first": { @@ -3907,7 +3907,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "~0.4.13" + "iconv-lite": "0.4.23" } }, "error-ex": { @@ -3915,7 +3915,7 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { @@ -3924,11 +3924,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.2.0", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.4", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -3937,9 +3937,9 @@ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "dev": true, "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.0.2" } }, "escape-html": { @@ -3958,11 +3958,11 @@ "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" }, "dependencies": { "source-map": { @@ -4005,7 +4005,7 @@ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", "requires": { - "merge": "^1.2.0" + "merge": "1.2.0" } }, "execa": { @@ -4013,13 +4013,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "exit": { @@ -4033,7 +4033,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "expand-range": { @@ -4041,7 +4041,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.4" } }, "expect": { @@ -4050,12 +4050,12 @@ "integrity": "sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "jest-diff": "^23.6.0", - "jest-get-type": "^22.1.0", - "jest-matcher-utils": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-regex-util": "^23.3.0" + "ansi-styles": "3.2.1", + "jest-diff": "23.6.0", + "jest-get-type": "22.4.3", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0" }, "dependencies": { "ansi-styles": { @@ -4064,7 +4064,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } } } @@ -4080,8 +4080,8 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -4089,7 +4089,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -4099,9 +4099,9 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" } }, "extglob": { @@ -4109,7 +4109,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "extsprintf": { @@ -4123,9 +4123,9 @@ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=", "requires": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "time-stamp": "^1.0.0" + "ansi-gray": "0.1.1", + "color-support": "1.1.3", + "time-stamp": "1.1.0" } }, "fast-deep-equal": { @@ -4151,7 +4151,7 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", "requires": { - "bser": "^2.0.0" + "bser": "2.0.0" }, "dependencies": { "bser": { @@ -4159,7 +4159,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "requires": { - "node-int64": "^0.4.0" + "node-int64": "0.4.0" } } } @@ -4169,13 +4169,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" } }, "fbjs-css-vars": { @@ -4188,7 +4188,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "filename-regex": { @@ -4202,8 +4202,8 @@ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" + "glob": "7.1.2", + "minimatch": "3.0.4" } }, "fill-range": { @@ -4211,11 +4211,11 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.1.0", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "find-cache-dir": { @@ -4223,9 +4223,9 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" } }, "find-up": { @@ -4234,8 +4234,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "for-in": { @@ -4248,7 +4248,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "forever-agent": { @@ -4263,9 +4263,9 @@ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "asynckit": "0.4.0", + "combined-stream": "1.0.7", + "mime-types": "2.1.21" }, "dependencies": { "mime-db": { @@ -4280,7 +4280,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.37.0" } } } @@ -4290,7 +4290,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fs-extra": { @@ -4298,9 +4298,9 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" } }, "fs.realpath": { @@ -4314,8 +4314,8 @@ "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" }, "dependencies": { "abbrev": { @@ -4341,8 +4341,8 @@ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { @@ -4355,7 +4355,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -4419,7 +4419,7 @@ "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "fs.realpath": { @@ -4434,14 +4434,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "optional": true, "requires": { - "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" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "glob": { @@ -4450,12 +4450,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "optional": true, "requires": { - "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" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "has-unicode": { @@ -4470,7 +4470,7 @@ "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": "2.1.2" } }, "ignore-walk": { @@ -4479,7 +4479,7 @@ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "optional": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { @@ -4488,8 +4488,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -4508,7 +4508,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { @@ -4522,7 +4522,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -4535,8 +4535,8 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "minizlib": { @@ -4545,7 +4545,7 @@ "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "mkdirp": { @@ -4568,9 +4568,9 @@ "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "optional": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" } }, "node-pre-gyp": { @@ -4579,16 +4579,16 @@ "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "optional": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { @@ -4597,8 +4597,8 @@ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { @@ -4613,8 +4613,8 @@ "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { @@ -4623,10 +4623,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -4645,7 +4645,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -4666,8 +4666,8 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -4688,10 +4688,10 @@ "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "optional": true, "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -4708,13 +4708,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "optional": true, "requires": { - "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" + "core-util-is": "1.0.2", + "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.2" } }, "rimraf": { @@ -4723,7 +4723,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -4766,9 +4766,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -4777,7 +4777,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { @@ -4785,7 +4785,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -4800,13 +4800,13 @@ "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "optional": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "util-deprecate": { @@ -4821,7 +4821,7 @@ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { @@ -4847,11 +4847,11 @@ "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", "requires": { - "ansi": "^0.3.0", - "has-unicode": "^2.0.0", - "lodash.pad": "^4.1.0", - "lodash.padend": "^4.1.0", - "lodash.padstart": "^4.1.0" + "ansi": "0.3.1", + "has-unicode": "2.0.1", + "lodash.pad": "4.5.1", + "lodash.padend": "4.6.1", + "lodash.padstart": "4.6.1" } }, "get-caller-file": { @@ -4875,7 +4875,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -4883,12 +4883,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "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" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -4896,8 +4896,8 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" } }, "glob-parent": { @@ -4905,7 +4905,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "global": { @@ -4913,8 +4913,8 @@ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "requires": { - "min-document": "^2.19.0", - "process": "~0.5.1" + "min-document": "2.19.0", + "process": "0.5.2" } }, "globals": { @@ -4944,10 +4944,10 @@ "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", "dev": true, "requires": { - "async": "^2.5.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" + "async": "2.6.1", + "optimist": "0.6.1", + "source-map": "0.6.1", + "uglify-js": "3.4.9" }, "dependencies": { "source-map": { @@ -4963,8 +4963,8 @@ "dev": true, "optional": true, "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" + "commander": "2.17.1", + "source-map": "0.6.1" } } } @@ -4981,8 +4981,8 @@ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "ajv": "6.6.2", + "har-schema": "2.0.0" } }, "has": { @@ -4991,7 +4991,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "^1.1.1" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -4999,7 +4999,7 @@ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { @@ -5023,9 +5023,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -5040,8 +5040,8 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { @@ -5049,7 +5049,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -5057,7 +5057,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5067,7 +5067,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5077,7 +5077,7 @@ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.2.1.tgz", "integrity": "sha512-TFsu3TV3YLY+zFTZDrN8L2DTFanObwmBLpWvJs1qfUuEQ5bTAdFcwfx2T/bsCXfM9QHSLvjfP+nihEl0yvozxw==", "requires": { - "react-is": "^16.3.2" + "react-is": "16.7.0" } }, "home-or-tmp": { @@ -5086,8 +5086,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "hosted-git-info": { @@ -5101,7 +5101,7 @@ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { - "whatwg-encoding": "^1.0.1" + "whatwg-encoding": "1.0.5" } }, "http-signature": { @@ -5110,9 +5110,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.16.0" } }, "iconv-lite": { @@ -5120,7 +5120,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "image-size": { @@ -5138,8 +5138,8 @@ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "caller-path": "2.0.0", + "resolve-from": "3.0.0" } }, "import-local": { @@ -5148,8 +5148,8 @@ "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "dev": true, "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -5162,8 +5162,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -5176,20 +5176,20 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "requires": { - "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", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.11", "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" + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-regex": { @@ -5202,7 +5202,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5210,9 +5210,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "strip-ansi": { @@ -5220,7 +5220,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -5228,7 +5228,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5238,7 +5238,7 @@ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.4.0" } }, "invert-kv": { @@ -5251,7 +5251,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { @@ -5269,7 +5269,7 @@ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { @@ -5284,7 +5284,7 @@ "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "dev": true, "requires": { - "ci-info": "^1.5.0" + "ci-info": "1.6.0" } }, "is-data-descriptor": { @@ -5292,7 +5292,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-date-object": { @@ -5306,9 +5306,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -5333,7 +5333,7 @@ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { @@ -5352,7 +5352,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -5371,7 +5371,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-number": { @@ -5379,7 +5379,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-plain-object": { @@ -5387,7 +5387,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -5418,7 +5418,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "^1.0.1" + "has": "1.0.3" } }, "is-stream": { @@ -5432,7 +5432,7 @@ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", "dev": true, "requires": { - "has-symbols": "^1.0.0" + "has-symbols": "1.0.0" } }, "is-typedarray": { @@ -5480,8 +5480,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.4" } }, "isstream": { @@ -5496,17 +5496,17 @@ "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==", "dev": true, "requires": { - "async": "^2.1.4", - "fileset": "^2.0.2", - "istanbul-lib-coverage": "^1.2.1", - "istanbul-lib-hook": "^1.2.2", - "istanbul-lib-instrument": "^1.10.2", - "istanbul-lib-report": "^1.1.5", - "istanbul-lib-source-maps": "^1.2.6", - "istanbul-reports": "^1.5.1", - "js-yaml": "^3.7.0", - "mkdirp": "^0.5.1", - "once": "^1.4.0" + "async": "2.6.1", + "fileset": "2.0.3", + "istanbul-lib-coverage": "1.2.1", + "istanbul-lib-hook": "1.2.2", + "istanbul-lib-instrument": "1.10.2", + "istanbul-lib-report": "1.1.5", + "istanbul-lib-source-maps": "1.2.6", + "istanbul-reports": "1.5.1", + "js-yaml": "3.12.0", + "mkdirp": "0.5.1", + "once": "1.4.0" }, "dependencies": { "istanbul-lib-coverage": { @@ -5521,13 +5521,13 @@ "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.1", - "semver": "^5.3.0" + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.1", + "semver": "5.5.0" } } } @@ -5544,7 +5544,7 @@ "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { @@ -5553,13 +5553,13 @@ "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.0", - "semver": "^5.3.0" + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.2.0", + "semver": "5.5.0" } }, "istanbul-lib-report": { @@ -5568,10 +5568,10 @@ "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", "dev": true, "requires": { - "istanbul-lib-coverage": "^1.2.1", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.2.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.6", + "supports-color": "3.2.3" }, "dependencies": { "has-flag": { @@ -5592,7 +5592,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -5603,11 +5603,11 @@ "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.2.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.2.6", + "istanbul-lib-coverage": "1.2.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -5616,7 +5616,7 @@ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "istanbul-lib-coverage": { @@ -5639,7 +5639,7 @@ "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.12" } }, "jest": { @@ -5648,8 +5648,8 @@ "integrity": "sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==", "dev": true, "requires": { - "import-local": "^1.0.0", - "jest-cli": "^23.6.0" + "import-local": "1.0.0", + "jest-cli": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -5664,7 +5664,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5673,9 +5673,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "jest-cli": { @@ -5684,42 +5684,42 @@ "integrity": "sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "import-local": "^1.0.0", - "is-ci": "^1.0.10", - "istanbul-api": "^1.3.1", - "istanbul-lib-coverage": "^1.2.0", - "istanbul-lib-instrument": "^1.10.1", - "istanbul-lib-source-maps": "^1.2.4", - "jest-changed-files": "^23.4.2", - "jest-config": "^23.6.0", - "jest-environment-jsdom": "^23.4.0", - "jest-get-type": "^22.1.0", - "jest-haste-map": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-regex-util": "^23.3.0", - "jest-resolve-dependencies": "^23.6.0", - "jest-runner": "^23.6.0", - "jest-runtime": "^23.6.0", - "jest-snapshot": "^23.6.0", - "jest-util": "^23.4.0", - "jest-validate": "^23.6.0", - "jest-watcher": "^23.4.0", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "node-notifier": "^5.2.1", - "prompts": "^0.1.9", - "realpath-native": "^1.0.0", - "rimraf": "^2.5.4", - "slash": "^1.0.0", - "string-length": "^2.0.0", - "strip-ansi": "^4.0.0", - "which": "^1.2.12", - "yargs": "^11.0.0" + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "exit": "0.1.2", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "import-local": "1.0.0", + "is-ci": "1.2.1", + "istanbul-api": "1.3.7", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-instrument": "1.10.1", + "istanbul-lib-source-maps": "1.2.6", + "jest-changed-files": "23.4.2", + "jest-config": "23.6.0", + "jest-environment-jsdom": "23.4.0", + "jest-get-type": "22.4.3", + "jest-haste-map": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0", + "jest-resolve-dependencies": "23.6.0", + "jest-runner": "23.6.0", + "jest-runtime": "23.6.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "jest-watcher": "23.4.0", + "jest-worker": "23.2.0", + "micromatch": "2.3.11", + "node-notifier": "5.2.1", + "prompts": "0.1.14", + "realpath-native": "1.0.2", + "rimraf": "2.6.2", + "slash": "1.0.0", + "string-length": "2.0.0", + "strip-ansi": "4.0.0", + "which": "1.3.1", + "yargs": "11.1.0" } }, "strip-ansi": { @@ -5728,7 +5728,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -5737,7 +5737,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5748,7 +5748,7 @@ "integrity": "sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==", "dev": true, "requires": { - "throat": "^4.0.0" + "throat": "4.1.0" } }, "jest-config": { @@ -5757,20 +5757,20 @@ "integrity": "sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==", "dev": true, "requires": { - "babel-core": "^6.0.0", - "babel-jest": "^23.6.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^23.4.0", - "jest-environment-node": "^23.4.0", - "jest-get-type": "^22.1.0", - "jest-jasmine2": "^23.6.0", - "jest-regex-util": "^23.3.0", - "jest-resolve": "^23.6.0", - "jest-util": "^23.4.0", - "jest-validate": "^23.6.0", - "micromatch": "^2.3.11", - "pretty-format": "^23.6.0" + "babel-core": "6.26.3", + "babel-jest": "23.6.0", + "chalk": "2.4.1", + "glob": "7.1.2", + "jest-environment-jsdom": "23.4.0", + "jest-environment-node": "23.4.0", + "jest-get-type": "22.4.3", + "jest-jasmine2": "23.6.0", + "jest-regex-util": "23.3.0", + "jest-resolve": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "micromatch": "2.3.11", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -5785,7 +5785,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5794,9 +5794,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -5805,8 +5805,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -5815,7 +5815,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5826,10 +5826,10 @@ "integrity": "sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==", "dev": true, "requires": { - "chalk": "^2.0.1", - "diff": "^3.2.0", - "jest-get-type": "^22.1.0", - "pretty-format": "^23.6.0" + "chalk": "2.4.1", + "diff": "3.5.0", + "jest-get-type": "22.4.3", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -5844,7 +5844,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5853,9 +5853,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -5864,8 +5864,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -5874,7 +5874,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5885,7 +5885,7 @@ "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "dev": true, "requires": { - "detect-newline": "^2.1.0" + "detect-newline": "2.1.0" } }, "jest-each": { @@ -5894,8 +5894,8 @@ "integrity": "sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==", "dev": true, "requires": { - "chalk": "^2.0.1", - "pretty-format": "^23.6.0" + "chalk": "2.4.1", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -5910,7 +5910,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -5919,9 +5919,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -5930,8 +5930,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -5940,7 +5940,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5951,9 +5951,9 @@ "integrity": "sha1-BWp5UrP+pROsYqFAosNox52eYCM=", "dev": true, "requires": { - "jest-mock": "^23.2.0", - "jest-util": "^23.4.0", - "jsdom": "^11.5.1" + "jest-mock": "23.2.0", + "jest-util": "23.4.0", + "jsdom": "11.12.0" } }, "jest-environment-node": { @@ -5962,8 +5962,8 @@ "integrity": "sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA=", "dev": true, "requires": { - "jest-mock": "^23.2.0", - "jest-util": "^23.4.0" + "jest-mock": "23.2.0", + "jest-util": "23.4.0" } }, "jest-get-type": { @@ -5978,14 +5978,14 @@ "integrity": "sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==", "dev": true, "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "invariant": "^2.2.4", - "jest-docblock": "^23.2.0", - "jest-serializer": "^23.0.1", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0" + "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.5.2" } }, "jest-jasmine2": { @@ -5994,18 +5994,18 @@ "integrity": "sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==", "dev": true, "requires": { - "babel-traverse": "^6.0.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^23.6.0", - "is-generator-fn": "^1.0.0", - "jest-diff": "^23.6.0", - "jest-each": "^23.6.0", - "jest-matcher-utils": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-snapshot": "^23.6.0", - "jest-util": "^23.4.0", - "pretty-format": "^23.6.0" + "babel-traverse": "6.26.0", + "chalk": "2.4.1", + "co": "4.6.0", + "expect": "23.6.0", + "is-generator-fn": "1.0.0", + "jest-diff": "23.6.0", + "jest-each": "23.6.0", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -6020,7 +6020,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6029,9 +6029,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -6040,8 +6040,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6050,7 +6050,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6061,7 +6061,7 @@ "integrity": "sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==", "dev": true, "requires": { - "pretty-format": "^23.6.0" + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -6076,7 +6076,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "pretty-format": { @@ -6085,8 +6085,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } } } @@ -6097,9 +6097,9 @@ "integrity": "sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==", "dev": true, "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^22.1.0", - "pretty-format": "^23.6.0" + "chalk": "2.4.1", + "jest-get-type": "22.4.3", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -6114,7 +6114,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6123,9 +6123,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -6134,8 +6134,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6144,7 +6144,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6155,11 +6155,11 @@ "integrity": "sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8=", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0-beta.35", - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", - "stack-utils": "^1.0.1" + "@babel/code-frame": "7.0.0", + "chalk": "2.4.1", + "micromatch": "2.3.11", + "slash": "1.0.0", + "stack-utils": "1.0.2" }, "dependencies": { "ansi-styles": { @@ -6168,7 +6168,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6177,9 +6177,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -6188,7 +6188,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6211,9 +6211,9 @@ "integrity": "sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==", "dev": true, "requires": { - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "realpath-native": "^1.0.0" + "browser-resolve": "1.11.3", + "chalk": "2.4.1", + "realpath-native": "1.0.2" }, "dependencies": { "ansi-styles": { @@ -6222,7 +6222,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6231,9 +6231,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -6242,7 +6242,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6253,8 +6253,8 @@ "integrity": "sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==", "dev": true, "requires": { - "jest-regex-util": "^23.3.0", - "jest-snapshot": "^23.6.0" + "jest-regex-util": "23.3.0", + "jest-snapshot": "23.6.0" } }, "jest-runner": { @@ -6263,19 +6263,19 @@ "integrity": "sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==", "dev": true, "requires": { - "exit": "^0.1.2", - "graceful-fs": "^4.1.11", - "jest-config": "^23.6.0", - "jest-docblock": "^23.2.0", - "jest-haste-map": "^23.6.0", - "jest-jasmine2": "^23.6.0", - "jest-leak-detector": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-runtime": "^23.6.0", - "jest-util": "^23.4.0", - "jest-worker": "^23.2.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" + "exit": "0.1.2", + "graceful-fs": "4.1.11", + "jest-config": "23.6.0", + "jest-docblock": "23.2.0", + "jest-haste-map": "23.6.0", + "jest-jasmine2": "23.6.0", + "jest-leak-detector": "23.6.0", + "jest-message-util": "23.4.0", + "jest-runtime": "23.6.0", + "jest-util": "23.4.0", + "jest-worker": "23.2.0", + "source-map-support": "0.5.9", + "throat": "4.1.0" }, "dependencies": { "source-map": { @@ -6290,8 +6290,8 @@ "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.1.1", + "source-map": "0.6.1" } } } @@ -6302,27 +6302,27 @@ "integrity": "sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==", "dev": true, "requires": { - "babel-core": "^6.0.0", - "babel-plugin-istanbul": "^4.1.6", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "exit": "^0.1.2", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.1.11", - "jest-config": "^23.6.0", - "jest-haste-map": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-regex-util": "^23.3.0", - "jest-resolve": "^23.6.0", - "jest-snapshot": "^23.6.0", - "jest-util": "^23.4.0", - "jest-validate": "^23.6.0", - "micromatch": "^2.3.11", - "realpath-native": "^1.0.0", - "slash": "^1.0.0", + "babel-core": "6.26.3", + "babel-plugin-istanbul": "4.1.6", + "chalk": "2.4.1", + "convert-source-map": "1.5.1", + "exit": "0.1.2", + "fast-json-stable-stringify": "2.0.0", + "graceful-fs": "4.1.11", + "jest-config": "23.6.0", + "jest-haste-map": "23.6.0", + "jest-message-util": "23.4.0", + "jest-regex-util": "23.3.0", + "jest-resolve": "23.6.0", + "jest-snapshot": "23.6.0", + "jest-util": "23.4.0", + "jest-validate": "23.6.0", + "micromatch": "2.3.11", + "realpath-native": "1.0.2", + "slash": "1.0.0", "strip-bom": "3.0.0", - "write-file-atomic": "^2.1.0", - "yargs": "^11.0.0" + "write-file-atomic": "2.3.0", + "yargs": "11.1.0" }, "dependencies": { "ansi-styles": { @@ -6331,7 +6331,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6340,9 +6340,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "strip-bom": { @@ -6357,7 +6357,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "write-file-atomic": { @@ -6366,9 +6366,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } } } @@ -6384,16 +6384,16 @@ "integrity": "sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==", "dev": true, "requires": { - "babel-types": "^6.0.0", - "chalk": "^2.0.1", - "jest-diff": "^23.6.0", - "jest-matcher-utils": "^23.6.0", - "jest-message-util": "^23.4.0", - "jest-resolve": "^23.6.0", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^23.6.0", - "semver": "^5.5.0" + "babel-types": "6.26.0", + "chalk": "2.4.1", + "jest-diff": "23.6.0", + "jest-matcher-utils": "23.6.0", + "jest-message-util": "23.4.0", + "jest-resolve": "23.6.0", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "pretty-format": "23.6.0", + "semver": "5.5.0" }, "dependencies": { "ansi-regex": { @@ -6408,7 +6408,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6417,9 +6417,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -6428,8 +6428,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6438,7 +6438,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6449,14 +6449,14 @@ "integrity": "sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE=", "dev": true, "requires": { - "callsites": "^2.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "jest-message-util": "^23.4.0", - "mkdirp": "^0.5.1", - "slash": "^1.0.0", - "source-map": "^0.6.0" + "callsites": "2.0.0", + "chalk": "2.4.1", + "graceful-fs": "4.1.11", + "is-ci": "1.2.1", + "jest-message-util": "23.4.0", + "mkdirp": "0.5.1", + "slash": "1.0.0", + "source-map": "0.6.1" }, "dependencies": { "ansi-styles": { @@ -6465,7 +6465,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6474,9 +6474,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "source-map": { @@ -6491,7 +6491,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6502,10 +6502,10 @@ "integrity": "sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==", "dev": true, "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^22.1.0", - "leven": "^2.1.0", - "pretty-format": "^23.6.0" + "chalk": "2.4.1", + "jest-get-type": "22.4.3", + "leven": "2.1.0", + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -6520,7 +6520,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6529,9 +6529,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "pretty-format": { @@ -6540,8 +6540,8 @@ "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } }, "supports-color": { @@ -6550,7 +6550,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6561,9 +6561,9 @@ "integrity": "sha1-0uKM50+NrWxq/JIrksq+9u0FyRw=", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "string-length": "^2.0.0" + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "string-length": "2.0.0" }, "dependencies": { "ansi-styles": { @@ -6572,7 +6572,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -6581,9 +6581,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "supports-color": { @@ -6592,7 +6592,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6602,7 +6602,7 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-23.2.0.tgz", "integrity": "sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk=", "requires": { - "merge-stream": "^1.0.1" + "merge-stream": "1.0.1" } }, "js-tokens": { @@ -6615,8 +6615,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.1" }, "dependencies": { "esprima": { @@ -6638,32 +6638,32 @@ "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", "dev": true, "requires": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", + "abab": "2.0.0", + "acorn": "5.7.3", + "acorn-globals": "4.3.0", + "array-equal": "1.0.0", + "cssom": "0.3.4", + "cssstyle": "1.1.1", + "data-urls": "1.1.0", + "domexception": "1.0.1", + "escodegen": "1.11.0", + "html-encoding-sniffer": "1.0.2", + "left-pad": "1.3.0", + "nwsapi": "2.0.9", "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" + "pn": "1.1.0", + "request": "2.88.0", + "request-promise-native": "1.0.5", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.5.0", + "w3c-hr-time": "1.0.1", + "webidl-conversions": "4.0.2", + "whatwg-encoding": "1.0.5", + "whatwg-mimetype": "2.3.0", + "whatwg-url": "6.5.0", + "ws": "5.2.2", + "xml-name-validator": "3.0.0" }, "dependencies": { "sax": { @@ -6678,7 +6678,7 @@ "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", "dev": true, "requires": { - "async-limiter": "~1.0.0" + "async-limiter": "1.0.0" } } } @@ -6711,7 +6711,7 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { - "jsonify": "~0.0.0" + "jsonify": "0.0.0" } }, "json-stringify-safe": { @@ -6731,7 +6731,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsonify": { @@ -6756,7 +6756,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "klaw": { @@ -6764,7 +6764,7 @@ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "kleur": { @@ -6778,7 +6778,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "left-pad": { @@ -6799,8 +6799,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { @@ -6809,11 +6809,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -6821,8 +6821,8 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { @@ -6868,7 +6868,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "js-tokens": "4.0.0" } }, "lru-cache": { @@ -6876,8 +6876,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "make-dir": { @@ -6885,7 +6885,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" }, "dependencies": { "pify": { @@ -6900,7 +6900,7 @@ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "requires": { - "tmpl": "1.0.x" + "tmpl": "1.0.4" } }, "map-cache": { @@ -6913,7 +6913,7 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "math-random": { @@ -6926,7 +6926,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "merge": { @@ -6939,7 +6939,7 @@ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", "requires": { - "readable-stream": "^2.0.1" + "readable-stream": "2.3.6" } }, "metro": { @@ -6947,32 +6947,32 @@ "resolved": "https://registry.npmjs.org/metro/-/metro-0.48.5.tgz", "integrity": "sha512-aCarzjxdYqh+9I40bF+Hh1ayrwfPrnDwVOvpQg3VZFWU4wfeMiJb+tzeRN9p94cC/MKhBTOjRmUF3plzrHoe0w==", "requires": { - "@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", + "@babel/core": "7.2.2", + "@babel/generator": "7.2.2", + "@babel/parser": "7.2.3", + "@babel/plugin-external-helpers": "7.2.0", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "absolute-path": "0.0.0", + "async": "2.6.1", + "babel-preset-fbjs": "3.1.0", + "chalk": "1.1.3", + "concat-stream": "1.6.2", + "connect": "3.6.6", + "debug": "2.6.9", + "denodeify": "1.2.1", + "eventemitter3": "3.1.0", + "fbjs": "1.0.0", + "fs-extra": "1.0.0", + "graceful-fs": "4.1.11", + "image-size": "0.6.3", "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", + "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", @@ -6981,21 +6981,21 @@ "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", + "mkdirp": "0.5.1", + "node-fetch": "2.3.0", + "nullthrows": "1.1.1", + "react-transform-hmr": "1.0.4", + "resolve": "1.8.1", + "rimraf": "2.6.2", + "serialize-error": "2.1.0", + "source-map": "0.5.7", "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" + "throat": "4.1.0", + "wordwrap": "1.0.0", + "write-file-atomic": "1.3.4", + "ws": "1.1.5", + "xpipe": "1.0.5", + "yargs": "9.0.1" }, "dependencies": { "@babel/code-frame": { @@ -7003,7 +7003,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/core": { @@ -7011,20 +7011,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.2.2", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.2.2", - "@babel/types": "^7.2.2", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.11", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -7032,7 +7032,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } } } @@ -7042,11 +7042,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -7054,7 +7054,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-define-map": { @@ -7062,9 +7062,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.11" } }, "@babel/helper-function-name": { @@ -7072,9 +7072,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -7082,7 +7082,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -7090,7 +7090,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -7098,7 +7098,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -7111,10 +7111,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -7122,7 +7122,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helpers": { @@ -7130,9 +7130,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.2.0" + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -7140,9 +7140,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" }, "dependencies": { "chalk": { @@ -7150,9 +7150,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } } } @@ -7167,7 +7167,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -7175,8 +7175,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -7184,14 +7184,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@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.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" } }, "@babel/plugin-transform-for-of": { @@ -7199,7 +7199,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/template": { @@ -7207,9 +7207,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -7217,15 +7217,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" }, "dependencies": { "debug": { @@ -7233,7 +7233,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } } } @@ -7243,9 +7243,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -7253,7 +7253,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "arr-diff": { @@ -7276,33 +7276,33 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", "requires": { - "@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/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-syntax-class-properties": "7.2.0", + "@babel/plugin-syntax-flow": "7.2.0", + "@babel/plugin-syntax-jsx": "7.2.0", + "@babel/plugin-syntax-object-rest-spread": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoped-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-member-expression-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-super": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-property-literals": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-template-literals": "7.2.0", + "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" } }, "braces": { @@ -7310,16 +7310,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -7327,7 +7327,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7342,9 +7342,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -7352,9 +7352,9 @@ "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -7366,7 +7366,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "~1.3.2", + "parseurl": "1.3.2", "utils-merge": "1.0.1" } }, @@ -7380,13 +7380,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -7394,13 +7394,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -7408,7 +7408,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -7416,7 +7416,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -7424,7 +7424,7 @@ "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7432,7 +7432,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7442,7 +7442,7 @@ "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7450,7 +7450,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7460,9 +7460,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -7477,14 +7477,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -7492,7 +7492,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -7500,7 +7500,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7510,14 +7510,14 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "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" + "core-js": "2.6.1", + "fbjs-css-vars": "1.0.2", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" } }, "fill-range": { @@ -7525,10 +7525,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -7536,7 +7536,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7547,12 +7547,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" } }, "find-up": { @@ -7560,7 +7560,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "globals": { @@ -7573,7 +7573,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -7581,7 +7581,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -7589,9 +7589,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-fullwidth-code-point": { @@ -7599,7 +7599,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-number": { @@ -7607,7 +7607,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7615,7 +7615,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7630,7 +7630,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "requires": { - "detect-newline": "^2.1.0" + "detect-newline": "2.1.0" } }, "jest-haste-map": { @@ -7638,14 +7638,14 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "invariant": "^2.2.4", - "jest-docblock": "^23.2.0", - "jest-serializer": "^23.0.1", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0" + "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.5.2" } }, "jsesc": { @@ -7658,7 +7658,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "^1.2.0" + "minimist": "1.2.0" } }, "kind-of": { @@ -7671,10 +7671,10 @@ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "metro-babel7-plugin-react-transform": { @@ -7682,7 +7682,7 @@ "resolved": "https://registry.npmjs.org/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.48.5.tgz", "integrity": "sha512-S0cA0msHBGw7PSwB6nAsvtHEpQXVwzKBaE4AibLpaBiIVdWkYpIOok653zs9x+E9QvQgcghAnlVnDV+MDM+rSw==", "requires": { - "@babel/helper-module-imports": "^7.0.0" + "@babel/helper-module-imports": "7.0.0" } }, "metro-react-native-babel-preset": { @@ -7690,41 +7690,41 @@ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.48.5.tgz", "integrity": "sha512-ldG1bsusB5zlS1fhAiSLRjUA7I/Chn/dniaXTlkUpgiqyEAaDDmqhkDJ8gyZw3rhlLMVswlBd3o6I8yYti+57w==", "requires": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-export-default-from": "7.2.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-syntax-export-default-from": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-exponentiation-operator": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-assign": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-react-jsx-source": "7.2.0", + "@babel/plugin-transform-regenerator": "7.0.0", + "@babel/plugin-transform-runtime": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-sticky-regex": "7.2.0", + "@babel/plugin-transform-template-literals": "7.2.0", + "@babel/plugin-transform-typescript": "7.2.0", + "@babel/plugin-transform-unicode-regex": "7.2.0", + "@babel/template": "7.2.2", "metro-babel7-plugin-react-transform": "0.48.5", - "react-transform-hmr": "^1.0.4" + "react-transform-hmr": "1.0.4" } }, "ms": { @@ -7742,9 +7742,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "path-type": { @@ -7752,7 +7752,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "read-pkg": { @@ -7760,9 +7760,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -7770,8 +7770,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "sane": { @@ -7779,15 +7779,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "micromatch": { @@ -7795,19 +7795,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -7827,7 +7827,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -7850,19 +7850,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -7870,7 +7870,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -7880,18 +7880,18 @@ "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.48.5.tgz", "integrity": "sha512-bJCessd7THqEfXrKEoj284XVjg9AGYbGqZiyV622l6ex9TvtVi1lToDY0TuAAuDXOm+V4vQXV7/HvR6JPP0dTQ==", "requires": { - "@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" + "@babel/core": "7.2.2", + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-transform-async-to-generator": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/register": "7.0.0", + "core-js": "2.6.1", + "escape-string-regexp": "1.0.5" }, "dependencies": { "@babel/code-frame": { @@ -7899,7 +7899,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/core": { @@ -7907,20 +7907,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.2.2", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.2.2", - "@babel/types": "^7.2.2", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.11", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" } }, "@babel/generator": { @@ -7928,11 +7928,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-function-name": { @@ -7940,9 +7940,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -7950,7 +7950,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -7958,7 +7958,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helpers": { @@ -7966,9 +7966,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.2.0" + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -7976,9 +7976,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -7991,9 +7991,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -8001,15 +8001,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -8017,9 +8017,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -8027,7 +8027,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -8035,9 +8035,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "core-js": { @@ -8050,7 +8050,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -8068,7 +8068,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "^1.2.0" + "minimist": "1.2.0" } }, "ms": { @@ -8081,7 +8081,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -8097,7 +8097,7 @@ "integrity": "sha512-wzn4X9KgmAMZ7Bi6v9KxA7dw+AHGL0RODPxU5NDJ3A6d0yERvzfZ3qkzWhz8jbFkVBK12cu5DTho3HBazKQDOw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0" + "@babel/helper-module-imports": "7.0.0" } }, "metro-cache": { @@ -8107,8 +8107,8 @@ "requires": { "jest-serializer": "23.0.1", "metro-core": "0.48.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4" + "mkdirp": "0.5.1", + "rimraf": "2.6.2" } }, "metro-config": { @@ -8116,11 +8116,11 @@ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.48.5.tgz", "integrity": "sha512-b+EmFgBOAEUM5THjJ2EU6CJxnULLC5V1Q8S8dz4xX4v96eLIsRCLPrXgYKATHJTVi0qw99ATVRsOBZVZ77fwjg==", "requires": { - "cosmiconfig": "^5.0.5", + "cosmiconfig": "5.0.7", "metro": "0.48.5", "metro-cache": "0.48.5", "metro-core": "0.48.5", - "pretty-format": "^23.4.1" + "pretty-format": "23.6.0" }, "dependencies": { "ansi-regex": { @@ -8133,7 +8133,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "pretty-format": { @@ -8141,8 +8141,8 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" } } } @@ -8153,9 +8153,9 @@ "integrity": "sha512-Yp0BOAHhxf/qdNkwJhemVdD2Y59iyaTjwxUimCmeD8u5VEL6mLgEC1S0KczyWEiAgX3Fs48rezCAcx3mo67wXg==", "requires": { "jest-haste-map": "23.5.0", - "lodash.throttle": "^4.1.1", + "lodash.throttle": "4.1.1", "metro-resolver": "0.48.5", - "wordwrap": "^1.0.0" + "wordwrap": "1.0.0" }, "dependencies": { "arr-diff": { @@ -8173,16 +8173,16 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -8190,7 +8190,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8200,13 +8200,13 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -8214,7 +8214,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -8222,7 +8222,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -8230,7 +8230,7 @@ "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -8238,7 +8238,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8248,7 +8248,7 @@ "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -8256,7 +8256,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8266,9 +8266,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -8283,14 +8283,14 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -8298,7 +8298,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -8306,7 +8306,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8316,10 +8316,10 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -8327,7 +8327,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -8337,7 +8337,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -8345,7 +8345,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -8353,9 +8353,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -8363,7 +8363,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -8371,7 +8371,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8386,7 +8386,7 @@ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-23.2.0.tgz", "integrity": "sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c=", "requires": { - "detect-newline": "^2.1.0" + "detect-newline": "2.1.0" } }, "jest-haste-map": { @@ -8394,14 +8394,14 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-23.5.0.tgz", "integrity": "sha512-bt9Swigb6KZ6ZQq/fQDUwdUeHenVvZ6G/lKwJjwRGp+Fap8D4B3bND3FaeJg7vXVsLX8hXshRArbVxLop/5wLw==", "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "invariant": "^2.2.4", - "jest-docblock": "^23.2.0", - "jest-serializer": "^23.0.1", - "jest-worker": "^23.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0" + "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.5.2" } }, "kind-of": { @@ -8414,15 +8414,15 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.2.tgz", "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "micromatch": { @@ -8430,19 +8430,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -8459,7 +8459,7 @@ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.48.5.tgz", "integrity": "sha512-tiHVYlUMuL91YjQPx9BzzzXy5jAAA5SWLqlvWfmM6m9faWtFeCv8Se27vVNuPDkOPYyL8qPCRhUpZMUhA0yN2g==", "requires": { - "uglify-es": "^3.1.9" + "uglify-es": "3.3.9" } }, "metro-react-native-babel-preset": { @@ -8468,41 +8468,41 @@ "integrity": "sha512-e9tsYDFhU70gar0jQWcZXRPJVCv4k7tEs6Pm74wXO2OO/T1MEumbvniDIGwGG8bG8RUnYdHhjcaiub2Vc5BRWw==", "dev": true, "requires": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-export-default-from": "7.2.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "7.2.0", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-proposal-optional-catch-binding": "7.2.0", + "@babel/plugin-proposal-optional-chaining": "7.2.0", + "@babel/plugin-syntax-dynamic-import": "7.2.0", + "@babel/plugin-syntax-export-default-from": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-exponentiation-operator": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-assign": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-react-jsx-source": "7.2.0", + "@babel/plugin-transform-regenerator": "7.0.0", + "@babel/plugin-transform-runtime": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-sticky-regex": "7.2.0", + "@babel/plugin-transform-template-literals": "7.2.0", + "@babel/plugin-transform-typescript": "7.2.0", + "@babel/plugin-transform-unicode-regex": "7.2.0", + "@babel/template": "7.2.2", "metro-babel7-plugin-react-transform": "0.51.1", - "react-transform-hmr": "^1.0.4" + "react-transform-hmr": "1.0.4" }, "dependencies": { "@babel/code-frame": { @@ -8511,7 +8511,7 @@ "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "dev": true, "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/generator": { @@ -8520,11 +8520,11 @@ "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "dev": true, "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -8533,7 +8533,7 @@ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-define-map": { @@ -8542,9 +8542,9 @@ "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.11" } }, "@babel/helper-function-name": { @@ -8553,9 +8553,9 @@ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -8564,7 +8564,7 @@ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -8573,7 +8573,7 @@ "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -8582,7 +8582,7 @@ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -8597,10 +8597,10 @@ "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -8609,7 +8609,7 @@ "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -8618,9 +8618,9 @@ "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" } }, "@babel/parser": { @@ -8635,7 +8635,7 @@ "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -8644,8 +8644,8 @@ "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -8654,14 +8654,14 @@ "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@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.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" } }, "@babel/plugin-transform-for-of": { @@ -8670,7 +8670,7 @@ "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/template": { @@ -8679,9 +8679,9 @@ "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -8690,15 +8690,15 @@ "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" } }, "@babel/types": { @@ -8707,9 +8707,9 @@ "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "ansi-styles": { @@ -8718,7 +8718,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "chalk": { @@ -8727,9 +8727,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } }, "debug": { @@ -8738,7 +8738,7 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } }, "globals": { @@ -8765,7 +8765,7 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -8781,7 +8781,7 @@ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.48.5.tgz", "integrity": "sha512-lScSpLJKZMmNPRwvcY6zj28AwMOcI1M5bCCv+m06VWcISCTq1KlaKVwqLKmFgUtPkoFtFLD+PVKRKCRUxj1opg==", "requires": { - "absolute-path": "^0.0.0" + "absolute-path": "0.0.0" } }, "metro-source-map": { @@ -8789,7 +8789,7 @@ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.48.5.tgz", "integrity": "sha512-+BbcU9vfEl/XhMlVV0RwuHuEkai4lq7RmlQkxgoOoWl1u0yXCAPRZ5sqa326fPlJzElOR3cp0y7+Oc2nbIguyg==", "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "micromatch": { @@ -8797,19 +8797,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { - "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" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "mime": { @@ -8827,7 +8827,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "integrity": "sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=", "requires": { - "mime-db": "~1.23.0" + "mime-db": "1.23.0" }, "dependencies": { "mime-db": { @@ -8847,7 +8847,7 @@ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { - "dom-walk": "^0.1.0" + "dom-walk": "0.1.1" } }, "minimatch": { @@ -8855,7 +8855,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -8868,8 +8868,8 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -8877,7 +8877,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -8923,17 +8923,17 @@ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "arr-diff": { @@ -8964,8 +8964,8 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "encoding": "0.1.12", + "is-stream": "1.1.0" } }, "node-int64": { @@ -8983,10 +8983,10 @@ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", "requires": { - "growly": "^1.3.0", - "semver": "^5.4.1", - "shellwords": "^0.1.1", - "which": "^1.3.0" + "growly": "1.3.0", + "semver": "5.5.0", + "shellwords": "0.1.1", + "which": "1.3.1" } }, "normalize-package-data": { @@ -8994,10 +8994,10 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.4" } }, "normalize-path": { @@ -9005,7 +9005,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "npm-run-path": { @@ -9013,7 +9013,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "npmlog": { @@ -9021,9 +9021,9 @@ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", "requires": { - "ansi": "~0.3.1", - "are-we-there-yet": "~1.1.2", - "gauge": "~1.2.5" + "ansi": "0.3.1", + "are-we-there-yet": "1.1.5", + "gauge": "1.2.7" } }, "nullthrows": { @@ -9058,9 +9058,9 @@ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -9068,7 +9068,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -9084,7 +9084,7 @@ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -9100,8 +9100,8 @@ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" + "define-properties": "1.1.3", + "es-abstract": "1.12.0" } }, "object.omit": { @@ -9109,8 +9109,8 @@ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.pick": { @@ -9118,7 +9118,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -9146,7 +9146,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -9154,7 +9154,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "opn": { @@ -9162,7 +9162,7 @@ "resolved": "https://registry.npmjs.org/opn/-/opn-3.0.3.tgz", "integrity": "sha1-ttmec5n3jWXDuq/+8fsojpuFJDo=", "requires": { - "object-assign": "^4.0.1" + "object-assign": "4.1.1" } }, "optimist": { @@ -9170,8 +9170,8 @@ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.10", + "wordwrap": "0.0.3" }, "dependencies": { "minimist": { @@ -9192,12 +9192,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" } }, "options": { @@ -9216,9 +9216,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "os-tmpdir": { @@ -9236,7 +9236,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -9244,7 +9244,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.3.0" } }, "p-try": { @@ -9257,10 +9257,10 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, "parse-json": { @@ -9268,7 +9268,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.2" } }, "parse5": { @@ -9293,7 +9293,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -9332,9 +9332,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "performance-now": { @@ -9360,7 +9360,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pirates": { @@ -9368,7 +9368,7 @@ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.0.tgz", "integrity": "sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA==", "requires": { - "node-modules-regexp": "^1.0.0" + "node-modules-regexp": "1.0.0" } }, "pkg-dir": { @@ -9376,7 +9376,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" }, "dependencies": { "find-up": { @@ -9384,7 +9384,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } } } @@ -9394,11 +9394,11 @@ "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", "requires": { - "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" + "ansi-cyan": "0.1.1", + "ansi-red": "0.1.1", + "arr-diff": "1.1.0", + "arr-union": "2.1.0", + "extend-shallow": "1.1.4" }, "dependencies": { "arr-diff": { @@ -9406,8 +9406,8 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", "requires": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" + "arr-flatten": "1.1.0", + "array-slice": "0.2.3" } }, "arr-union": { @@ -9420,7 +9420,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", "requires": { - "kind-of": "^1.1.0" + "kind-of": "1.1.0" } }, "kind-of": { @@ -9477,7 +9477,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "~2.0.3" + "asap": "2.0.6" } }, "prompts": { @@ -9486,8 +9486,8 @@ "integrity": "sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==", "dev": true, "requires": { - "kleur": "^2.0.1", - "sisteransi": "^0.1.1" + "kleur": "2.0.2", + "sisteransi": "0.1.1" } }, "prop-types": { @@ -9495,8 +9495,8 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "loose-envify": "1.4.0", + "object-assign": "4.1.1" } }, "pseudomap": { @@ -9532,8 +9532,8 @@ "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.2.0.tgz", "integrity": "sha512-5wupExkIt8RYL4h/FE+WTg3JHk62e6fFPWtAZA9J5IWK1PfTfKkMS93HBUHcFpeYi9KsY5pFbh+ldvEyaz5MyA==", "requires": { - "decode-uri-component": "^0.2.0", - "strict-uri-encode": "^2.0.0" + "decode-uri-component": "0.2.0", + "strict-uri-encode": "2.0.0" } }, "randomatic": { @@ -9541,9 +9541,9 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" }, "dependencies": { "is-number": { @@ -9563,10 +9563,10 @@ "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz", "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.11.2" + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "prop-types": "15.6.2", + "scheduler": "0.11.3" } }, "react-clone-referenced-element": { @@ -9594,58 +9594,58 @@ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.57.8.tgz", "integrity": "sha512-K6DAMTPTq+lxVYC73y4Kh/bgLajddBaIKzwsVeV4JOoS1Fdq48/ISXD3vApV+x+/IBVTXnrT9qlA+9U6MMZCqA==", "requires": { - "@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", + "@babel/runtime": "7.2.0", + "absolute-path": "0.0.0", + "art": "0.10.3", + "base64-js": "1.3.0", + "chalk": "1.1.3", + "commander": "2.17.1", + "compression": "1.7.3", + "connect": "3.6.6", + "create-react-class": "15.6.3", + "debug": "2.6.9", + "denodeify": "1.2.1", + "envinfo": "5.12.1", + "errorhandler": "1.5.0", + "escape-string-regexp": "1.0.5", + "event-target-shim": "1.1.1", + "fbjs": "1.0.0", + "fbjs-scripts": "1.0.1", + "fs-extra": "1.0.0", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "inquirer": "3.3.0", + "lodash": "4.17.11", + "metro": "0.48.5", + "metro-babel-register": "0.48.5", + "metro-core": "0.48.5", + "metro-memory-fs": "0.48.5", + "mime": "1.6.0", + "minimist": "1.2.0", + "mkdirp": "0.5.1", + "morgan": "1.9.1", + "node-fetch": "2.3.0", + "node-notifier": "5.2.1", + "npmlog": "2.0.4", + "opn": "3.0.3", + "optimist": "0.6.1", + "plist": "3.0.1", + "pretty-format": "4.3.1", + "promise": "7.3.1", + "prop-types": "15.6.2", + "react-clone-referenced-element": "1.0.1", + "react-devtools-core": "3.4.3", + "react-timer-mixin": "0.13.4", + "regenerator-runtime": "0.11.1", + "rimraf": "2.6.2", + "semver": "5.5.0", + "serve-static": "1.13.2", "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" + "stacktrace-parser": "0.1.4", + "ws": "1.1.5", + "xcode": "1.1.0", + "xmldoc": "0.4.0", + "yargs": "9.0.1" }, "dependencies": { "@babel/code-frame": { @@ -9653,7 +9653,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "7.0.0" } }, "@babel/core": { @@ -9661,20 +9661,20 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz", "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.2.2", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.2.2", - "@babel/types": "^7.2.2", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helpers": "7.2.0", + "@babel/parser": "7.2.3", + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2", + "convert-source-map": "1.5.1", + "debug": "4.1.1", + "json5": "2.1.0", + "lodash": "4.17.11", + "resolve": "1.8.1", + "semver": "5.5.0", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -9682,7 +9682,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } } } @@ -9692,11 +9692,11 @@ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz", "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==", "requires": { - "@babel/types": "^7.2.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.2.2", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "@babel/helper-annotate-as-pure": { @@ -9704,7 +9704,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-define-map": { @@ -9712,9 +9712,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-function-name": "7.1.0", + "@babel/types": "7.2.2", + "lodash": "4.17.11" } }, "@babel/helper-function-name": { @@ -9722,9 +9722,9 @@ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "7.0.0", + "@babel/template": "7.2.2", + "@babel/types": "7.2.2" } }, "@babel/helper-get-function-arity": { @@ -9732,7 +9732,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-member-expression-to-functions": { @@ -9740,7 +9740,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-optimise-call-expression": { @@ -9748,7 +9748,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helper-plugin-utils": { @@ -9761,10 +9761,10 @@ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.0.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.2.3", - "@babel/types": "^7.0.0" + "@babel/helper-member-expression-to-functions": "7.0.0", + "@babel/helper-optimise-call-expression": "7.0.0", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/helper-split-export-declaration": { @@ -9772,7 +9772,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "7.2.2" } }, "@babel/helpers": { @@ -9780,9 +9780,9 @@ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz", "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==", "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.2.0" + "@babel/template": "7.2.2", + "@babel/traverse": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/highlight": { @@ -9790,9 +9790,9 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "4.0.0" }, "dependencies": { "chalk": { @@ -9800,9 +9800,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" } } } @@ -9817,7 +9817,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/plugin-transform-block-scoping": { @@ -9825,8 +9825,8 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.10" + "@babel/helper-plugin-utils": "7.0.0", + "lodash": "4.17.11" } }, "@babel/plugin-transform-classes": { @@ -9834,14 +9834,14 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz", "integrity": "sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.1.0", - "@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.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "7.0.0", + "@babel/helper-define-map": "7.1.0", + "@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.2.3", + "@babel/helper-split-export-declaration": "7.0.0", + "globals": "11.9.0" } }, "@babel/plugin-transform-for-of": { @@ -9849,7 +9849,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "7.0.0" } }, "@babel/runtime": { @@ -9857,7 +9857,7 @@ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", "requires": { - "regenerator-runtime": "^0.12.0" + "regenerator-runtime": "0.12.1" }, "dependencies": { "regenerator-runtime": { @@ -9872,9 +9872,9 @@ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/code-frame": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2" } }, "@babel/traverse": { @@ -9882,15 +9882,15 @@ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.2.2", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.2.3", - "@babel/types": "^7.2.2", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.10" + "@babel/code-frame": "7.0.0", + "@babel/generator": "7.2.2", + "@babel/helper-function-name": "7.1.0", + "@babel/helper-split-export-declaration": "7.0.0", + "@babel/parser": "7.2.3", + "@babel/types": "7.2.2", + "debug": "4.1.1", + "globals": "11.9.0", + "lodash": "4.17.11" }, "dependencies": { "debug": { @@ -9898,7 +9898,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.1" } } } @@ -9908,9 +9908,9 @@ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.2.2.tgz", "integrity": "sha512-fKCuD6UFUMkR541eDWL+2ih/xFZBXPOg/7EQFeTluMDebfqR4jrpaCjLhkWlQS4hT6nRa2PMEgXKbRB5/H2fpg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" } }, "accepts": { @@ -9918,7 +9918,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "~2.1.18", + "mime-types": "2.1.21", "negotiator": "0.6.1" } }, @@ -9927,7 +9927,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.2" } }, "babel-plugin-syntax-trailing-function-commas": { @@ -9940,33 +9940,33 @@ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.1.0.tgz", "integrity": "sha512-j+B9xZsnqWFxHaqt3B8aFYftSgrcgbO5NF3mTtHYd6R442NJW2aBk3k+XvxXwIia98UuZxCg8psZY79bXbhwew==", "requires": { - "@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/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-object-rest-spread": "7.2.0", + "@babel/plugin-syntax-class-properties": "7.2.0", + "@babel/plugin-syntax-flow": "7.2.0", + "@babel/plugin-syntax-jsx": "7.2.0", + "@babel/plugin-syntax-object-rest-spread": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoped-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-computed-properties": "7.2.0", + "@babel/plugin-transform-destructuring": "7.2.0", + "@babel/plugin-transform-flow-strip-types": "7.2.3", + "@babel/plugin-transform-for-of": "7.2.0", + "@babel/plugin-transform-function-name": "7.2.0", + "@babel/plugin-transform-literals": "7.2.0", + "@babel/plugin-transform-member-expression-literals": "7.2.0", + "@babel/plugin-transform-modules-commonjs": "7.2.0", + "@babel/plugin-transform-object-super": "7.2.0", + "@babel/plugin-transform-parameters": "7.2.0", + "@babel/plugin-transform-property-literals": "7.2.0", + "@babel/plugin-transform-react-display-name": "7.2.0", + "@babel/plugin-transform-react-jsx": "7.2.0", + "@babel/plugin-transform-shorthand-properties": "7.2.0", + "@babel/plugin-transform-spread": "7.2.2", + "@babel/plugin-transform-template-literals": "7.2.0", + "babel-plugin-syntax-trailing-function-commas": "7.0.0-beta.0" } }, "basic-auth": { @@ -9992,9 +9992,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -10002,9 +10002,9 @@ "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -10014,13 +10014,13 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", "requires": { - "accepts": "~1.3.5", + "accepts": "1.3.5", "bytes": "3.0.0", - "compressible": "~2.0.14", + "compressible": "2.0.14", "debug": "2.6.9", - "on-headers": "~1.0.1", + "on-headers": "1.0.1", "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "vary": "1.1.2" } }, "connect": { @@ -10030,7 +10030,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "~1.3.2", + "parseurl": "1.3.2", "utils-merge": "1.0.1" } }, @@ -10054,8 +10054,8 @@ "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.0.tgz", "integrity": "sha1-6rpkyl1UKjEayUX1gt78M2Fl2fQ=", "requires": { - "accepts": "~1.3.3", - "escape-html": "~1.0.3" + "accepts": "1.3.5", + "escape-html": "1.0.3" } }, "etag": { @@ -10068,13 +10068,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "fbjs": { @@ -10082,14 +10082,14 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", "requires": { - "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" + "core-js": "2.6.1", + "fbjs-css-vars": "1.0.2", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.4.0", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" } }, "fbjs-scripts": { @@ -10097,16 +10097,16 @@ "resolved": "https://registry.npmjs.org/fbjs-scripts/-/fbjs-scripts-1.0.1.tgz", "integrity": "sha512-x8bfX7k0z5B24Ue0YqjZq/2QxxaKZUNbkGdX//zbQDElMJFqBRrvRi8O3qds7UNNzs78jYqIYCS32Sk/wu5UJg==", "requires": { - "@babel/core": "^7.0.0", - "ansi-colors": "^1.0.1", - "babel-preset-fbjs": "^3.0.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" + "@babel/core": "7.2.2", + "ansi-colors": "1.1.0", + "babel-preset-fbjs": "3.1.0", + "core-js": "2.6.1", + "cross-spawn": "5.1.0", + "fancy-log": "1.3.2", + "object-assign": "4.1.1", + "plugin-error": "0.1.2", + "semver": "5.5.0", + "through2": "2.0.3" } }, "finalhandler": { @@ -10115,12 +10115,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" } }, "find-up": { @@ -10128,7 +10128,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "fresh": { @@ -10146,10 +10146,10 @@ "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { - "depd": "~1.1.2", + "depd": "1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "statuses": "1.5.0" }, "dependencies": { "statuses": { @@ -10164,7 +10164,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "jsesc": { @@ -10177,7 +10177,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { - "minimist": "^1.2.0" + "minimist": "1.2.0" } }, "load-json-file": { @@ -10185,10 +10185,10 @@ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "mime-db": { @@ -10201,7 +10201,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.37.0" } }, "morgan": { @@ -10209,11 +10209,11 @@ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", "requires": { - "basic-auth": "~2.0.0", + "basic-auth": "2.0.1", "debug": "2.6.9", - "depd": "~1.1.2", - "on-finished": "~2.3.0", - "on-headers": "~1.0.1" + "depd": "1.1.2", + "on-finished": "2.3.0", + "on-headers": "1.0.1" } }, "ms": { @@ -10236,9 +10236,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "path-type": { @@ -10246,7 +10246,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "plist": { @@ -10254,9 +10254,9 @@ "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", "requires": { - "base64-js": "^1.2.3", - "xmlbuilder": "^9.0.7", - "xmldom": "0.1.x" + "base64-js": "1.3.0", + "xmlbuilder": "9.0.7", + "xmldom": "0.1.27" } }, "range-parser": { @@ -10269,8 +10269,8 @@ "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-3.4.3.tgz", "integrity": "sha512-t3f6cRH5YSKv8qjRl1Z+1e0OwBZwJSdOAhJ9QAJdVKML7SmqAKKv3DxF+Ue03pE1N2UipPsLmaNcPzzMjIdZQg==", "requires": { - "shell-quote": "^1.6.1", - "ws": "^3.3.1" + "shell-quote": "1.6.1", + "ws": "3.3.3" }, "dependencies": { "ws": { @@ -10278,9 +10278,9 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2", + "ultron": "1.1.1" } } } @@ -10290,9 +10290,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -10300,8 +10300,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "regenerator-runtime": { @@ -10315,18 +10315,18 @@ "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "requires": { "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", + "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.6.2", + "http-errors": "1.6.3", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" }, "dependencies": { "mime": { @@ -10351,9 +10351,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", "send": "0.16.2" } }, @@ -10372,7 +10372,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "to-fast-properties": { @@ -10400,8 +10400,8 @@ "resolved": "https://registry.npmjs.org/xcode/-/xcode-1.1.0.tgz", "integrity": "sha512-hllHFtfsNu5WbVzj8KbGNdI3NgOYmTLZqyF4a9c9J1aGMhAdxmLLsXlpG0Bz8fEtKh6I3pyargRXN0ZlLpcF5w==", "requires": { - "simple-plist": "^0.2.1", - "uuid": "^3.3.2" + "simple-plist": "0.2.1", + "uuid": "3.3.2" } }, "xmlbuilder": { @@ -10414,19 +10414,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -10434,7 +10434,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -10449,8 +10449,8 @@ "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.13.3.tgz", "integrity": "sha512-B62LSSAEYQGItg7KVTzTVVCxezOYFBYp4DMVFbdoZUd1mZVFdqR2sy1HY1mye1VI/Lf3IbxSyZEQ0GmrrdwLjg==", "requires": { - "base-64": "^0.1.0", - "utf8": "^2.1.1" + "base-64": "0.1.0", + "utf8": "2.1.2" } }, "react-native-gesture-handler": { @@ -10458,9 +10458,9 @@ "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.12.tgz", "integrity": "sha512-Qp5FjRmqUFeCevSu2IYQG1Xw+YXZ9YOzqze/ZxaIvWzYAoKsRchlgHhNoxvCqElp/befrnVFIjAEQyUxcmBKJw==", "requires": { - "hoist-non-react-statics": "^2.3.1", - "invariant": "^2.2.2", - "prop-types": "^15.5.10" + "hoist-non-react-statics": "2.5.5", + "invariant": "2.2.4", + "prop-types": "15.6.2" }, "dependencies": { "hoist-non-react-statics": { @@ -10485,7 +10485,7 @@ "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.11.0.tgz", "integrity": "sha512-N3nElaahu1Me2ltnfc9acpgt1znm6pi8DSadKy79kvdzKwvVIzw0IXueA/Hjr51eCW1BsfNw7D1SgBT9U6qEkA==", "requires": { - "hoist-non-react-statics": "^2.3.1" + "hoist-non-react-statics": "2.5.5" }, "dependencies": { "hoist-non-react-statics": { @@ -10510,7 +10510,7 @@ "resolved": "https://registry.npmjs.org/react-native-tab-view/-/react-native-tab-view-1.3.1.tgz", "integrity": "sha512-QNt6VkEW8SP1UJ7yjD5P4bOTWwHQfoIMD5CqnA06pcubdNwHR1NmjiNZsVnIvp5wAEVbW6yTHjLXOh1fzab4xg==", "requires": { - "prop-types": "^15.6.1" + "prop-types": "15.6.2" } }, "react-native-vector-icons": { @@ -10518,9 +10518,9 @@ "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-6.1.0.tgz", "integrity": "sha512-1GF5I4VWgwnzBtVfAKNgEiR5ziHi5QaKL381wwApMzuiFgIJMNt5XIChuKwKoaiB86s+P5iMcYWxYCyENL96lA==", "requires": { - "lodash": "^4.0.0", - "prop-types": "^15.6.2", - "yargs": "^8.0.2" + "lodash": "4.17.11", + "prop-types": "15.6.2", + "yargs": "8.0.2" }, "dependencies": { "cliui": { @@ -10528,9 +10528,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -10538,9 +10538,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -10550,7 +10550,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "is-fullwidth-code-point": { @@ -10558,7 +10558,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "load-json-file": { @@ -10566,10 +10566,10 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "path-type": { @@ -10577,7 +10577,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "read-pkg": { @@ -10585,9 +10585,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -10595,8 +10595,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "strip-bom": { @@ -10609,19 +10609,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.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.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -10629,7 +10629,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -10651,7 +10651,7 @@ "resolved": "https://registry.npmjs.org/react-navigation-drawer/-/react-navigation-drawer-1.0.5.tgz", "integrity": "sha512-WeGrXFn84R75IAt3ndDfkHw9FNvPsi4JPGO1iopqUoA/2tMPA6WJbhuE3dqmmEu3TZRjI+2LatCgpx00tT1kiQ==", "requires": { - "react-native-tab-view": "^1.2.0" + "react-native-tab-view": "1.3.1" } }, "react-navigation-header-buttons": { @@ -10659,7 +10659,7 @@ "resolved": "https://registry.npmjs.org/react-navigation-header-buttons/-/react-navigation-header-buttons-2.1.1.tgz", "integrity": "sha512-ZWqwvdOBDduAGr1WpmHWbCMmSx9ZpuKdnFOByt9iOSZwwQwMP2f98rkePAlYXlTcThgaqbpdt7jcktAcG056fA==", "requires": { - "react-native-platform-touchable": "^1.1.1" + "react-native-platform-touchable": "1.1.1" } }, "react-navigation-stack": { @@ -10672,10 +10672,10 @@ "resolved": "https://registry.npmjs.org/react-navigation-tabs/-/react-navigation-tabs-1.0.2.tgz", "integrity": "sha512-ffWPVdo+L0GLbQlLAzH7ITYqh9V9NdqT/juj8QtESH5/2yUqfvqTxQoSowvFIrtiIHHFH6tLoQy1sZZciTxmeg==", "requires": { - "hoist-non-react-statics": "^2.5.0", - "prop-types": "^15.6.1", - "react-lifecycles-compat": "^3.0.4", - "react-native-tab-view": "^1.0.0" + "hoist-non-react-statics": "2.5.5", + "prop-types": "15.6.2", + "react-lifecycles-compat": "3.0.4", + "react-native-tab-view": "1.3.1" }, "dependencies": { "hoist-non-react-statics": { @@ -10690,8 +10690,8 @@ "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-1.1.8.tgz", "integrity": "sha1-nb/Z2SdSjDqp9ETkVYw3gwq4wmo=", "requires": { - "lodash": "^4.6.1", - "react-deep-force-update": "^1.0.0" + "lodash": "4.17.11", + "react-deep-force-update": "1.1.1" } }, "react-test-renderer": { @@ -10700,10 +10700,10 @@ "integrity": "sha512-B5bCer+qymrQz/wN03lT0LppbZUDRq6AMfzMKrovzkGzfO81a9T+PWQW6MzkWknbwODQH/qpJno/yFQLX5IWrQ==", "dev": true, "requires": { - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "react-is": "^16.6.3", - "scheduler": "^0.11.2" + "object-assign": "4.1.1", + "prop-types": "15.6.2", + "react-is": "16.7.0", + "scheduler": "0.11.3" } }, "react-timer-mixin": { @@ -10716,8 +10716,8 @@ "resolved": "https://registry.npmjs.org/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz", "integrity": "sha1-4aQL0Krvxy6N/Xp82gmvhQZjl7s=", "requires": { - "global": "^4.3.0", - "react-proxy": "^1.1.7" + "global": "4.3.2", + "react-proxy": "1.1.8" } }, "read-pkg": { @@ -10726,9 +10726,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -10737,8 +10737,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" } }, "readable-stream": { @@ -10746,13 +10746,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "realpath-native": { @@ -10761,7 +10761,7 @@ "integrity": "sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g==", "dev": true, "requires": { - "util.promisify": "^1.0.0" + "util.promisify": "1.0.0" } }, "recast": { @@ -10770,9 +10770,9 @@ "integrity": "sha512-ZUQm94F3AHozRaTo4Vz6yIgkSEZIL7p+BsWeGZ23rx+ZVRoqX+bvBA8br0xmCOU0DSR4qYGtV7Y5HxTsC4V78A==", "requires": { "ast-types": "0.11.6", - "esprima": "~4.0.0", - "private": "~0.1.5", - "source-map": "~0.6.1" + "esprima": "4.0.1", + "private": "0.1.8", + "source-map": "0.6.1" }, "dependencies": { "ast-types": { @@ -10802,7 +10802,7 @@ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", "requires": { - "regenerate": "^1.4.0" + "regenerate": "1.4.0" } }, "regenerator": { @@ -10810,16 +10810,16 @@ "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.13.3.tgz", "integrity": "sha512-vePgoVGUgXfLBw4Z1hv8PTfmt7TW5dT/cMdq2GCdr3TYoPTE1WUU/KjiaZCOLD/JSyGWJMWhMRDYBLbpmVzkFw==", "requires": { - "@babel/core": "^7.1.6", - "@babel/runtime": "^7.1.5", - "@babel/types": "^7.1.6", - "commoner": "^0.10.8", - "private": "^0.1.8", - "recast": "^0.16.0", - "regenerator-preset": "^0.12.1", - "regenerator-runtime": "^0.13.0", - "regenerator-transform": "^0.13.3", - "through": "^2.3.8" + "@babel/core": "7.2.2", + "@babel/runtime": "7.2.0", + "@babel/types": "7.2.2", + "commoner": "0.10.8", + "private": "0.1.8", + "recast": "0.16.1", + "regenerator-preset": "0.12.1", + "regenerator-runtime": "0.13.1", + "regenerator-transform": "0.13.3", + "through": "2.3.8" } }, "regenerator-preset": { @@ -10827,13 +10827,13 @@ "resolved": "https://registry.npmjs.org/regenerator-preset/-/regenerator-preset-0.12.1.tgz", "integrity": "sha512-s/4SOEU1TxZ6IV/CQfz4BEjn29HaRhvqYPoufx2hp9LfuD2dnwnmtWEdXxUuG4JHAE7V+y6aqvileT1AflcH9g==", "requires": { - "@babel/plugin-proposal-function-sent": "^7.0.0-beta.51", - "@babel/plugin-syntax-async-generators": "^7.0.0-beta.51", - "@babel/plugin-transform-arrow-functions": "^7.0.0-beta.51", - "@babel/plugin-transform-block-scoping": "^7.0.0-beta.51", - "@babel/plugin-transform-classes": "^7.0.0-beta.51", - "@babel/plugin-transform-for-of": "^7.0.0-beta.51", - "regenerator-transform": "^0.13.0" + "@babel/plugin-proposal-function-sent": "7.2.0", + "@babel/plugin-syntax-async-generators": "7.2.0", + "@babel/plugin-transform-arrow-functions": "7.2.0", + "@babel/plugin-transform-block-scoping": "7.2.0", + "@babel/plugin-transform-classes": "7.2.2", + "@babel/plugin-transform-for-of": "7.2.0", + "regenerator-transform": "0.13.3" } }, "regenerator-runtime": { @@ -10846,7 +10846,7 @@ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", "requires": { - "private": "^0.1.6" + "private": "0.1.8" } }, "regex-cache": { @@ -10854,7 +10854,7 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regex-not": { @@ -10862,8 +10862,8 @@ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexpu-core": { @@ -10871,12 +10871,12 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^7.0.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.0.2" + "regenerate": "1.4.0", + "regenerate-unicode-properties": "7.0.0", + "regjsgen": "0.5.0", + "regjsparser": "0.6.0", + "unicode-match-property-ecmascript": "1.0.4", + "unicode-match-property-value-ecmascript": "1.0.2" } }, "regjsgen": { @@ -10889,12 +10889,12 @@ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" }, "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } @@ -10920,7 +10920,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -10929,26 +10929,26 @@ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { - "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" + "aws-sign2": "0.7.0", + "aws4": "1.8.0", + "caseless": "0.12.0", + "combined-stream": "1.0.7", + "extend": "3.0.2", + "forever-agent": "0.6.1", + "form-data": "2.3.3", + "har-validator": "5.1.3", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.21", + "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" }, "dependencies": { "mime-db": { @@ -10963,7 +10963,7 @@ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", "dev": true, "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.37.0" } }, "punycode": { @@ -10978,8 +10978,8 @@ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" + "psl": "1.1.31", + "punycode": "1.4.1" } } } @@ -10990,7 +10990,7 @@ "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", "dev": true, "requires": { - "lodash": "^4.13.1" + "lodash": "4.17.11" } }, "request-promise-native": { @@ -11000,8 +11000,8 @@ "dev": true, "requires": { "request-promise-core": "1.1.1", - "stealthy-require": "^1.1.0", - "tough-cookie": ">=2.3.3" + "stealthy-require": "1.1.1", + "tough-cookie": "2.5.0" } }, "require-directory": { @@ -11019,7 +11019,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.6" } }, "resolve-cwd": { @@ -11028,7 +11028,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-from": { @@ -11046,8 +11046,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -11060,7 +11060,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "rsvp": { @@ -11073,7 +11073,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rx-lite": { @@ -11086,7 +11086,7 @@ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "requires": { - "rx-lite": "*" + "rx-lite": "4.0.8" } }, "safe-buffer": { @@ -11099,7 +11099,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -11113,15 +11113,15 @@ "integrity": "sha1-tNwYYcIbQn6SlQej51HiosuKs/o=", "dev": true, "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "2.0.0", + "capture-exit": "1.2.0", + "exec-sh": "0.2.2", + "fb-watchman": "2.0.0", + "fsevents": "1.2.4", + "micromatch": "3.1.10", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "arr-diff": { @@ -11142,16 +11142,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -11160,7 +11160,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11171,13 +11171,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -11186,7 +11186,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -11195,7 +11195,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -11204,7 +11204,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11213,7 +11213,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11224,7 +11224,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11233,7 +11233,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11244,9 +11244,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -11263,14 +11263,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -11279,7 +11279,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -11288,7 +11288,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11299,10 +11299,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -11311,7 +11311,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11322,7 +11322,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -11331,7 +11331,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -11340,9 +11340,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -11351,7 +11351,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11360,7 +11360,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11383,19 +11383,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -11410,8 +11410,8 @@ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.3.tgz", "integrity": "sha512-i9X9VRRVZDd3xZw10NY5Z2cVMbdYg6gqFecfj79USv1CFN+YrJ3gIPRKf1qlY+Sxly4djoKdfx1T+m9dnRB8kQ==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "1.4.0", + "object-assign": "4.1.1" } }, "semver": { @@ -11434,10 +11434,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -11445,7 +11445,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11465,7 +11465,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -11478,10 +11478,10 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "requires": { - "array-filter": "~0.0.0", - "array-map": "~0.0.0", - "array-reduce": "~0.0.0", - "jsonify": "~0.0.0" + "array-filter": "0.0.1", + "array-map": "0.0.0", + "array-reduce": "0.0.0", + "jsonify": "0.0.0" } }, "shellwords": { @@ -11516,7 +11516,7 @@ "requires": { "base64-js": "1.1.2", "xmlbuilder": "8.2.2", - "xmldom": "0.1.x" + "xmldom": "0.1.27" } }, "xmlbuilder": { @@ -11553,14 +11553,14 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "requires": { - "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" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.1" }, "dependencies": { "define-property": { @@ -11568,7 +11568,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -11576,7 +11576,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11586,9 +11586,9 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -11596,7 +11596,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -11604,7 +11604,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -11612,7 +11612,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -11620,9 +11620,9 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { @@ -11642,7 +11642,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" } }, "source-map": { @@ -11655,11 +11655,11 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "requires": { - "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" + "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": { @@ -11668,7 +11668,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "source-map-url": { @@ -11681,8 +11681,8 @@ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -11695,8 +11695,8 @@ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -11709,7 +11709,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -11723,15 +11723,15 @@ "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", "dev": true, "requires": { - "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" + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "stack-utils": { @@ -11755,8 +11755,8 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -11764,7 +11764,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -11791,8 +11791,8 @@ "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", "dev": true, "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" + "astral-regex": "1.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -11807,7 +11807,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -11817,8 +11817,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -11831,7 +11831,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -11841,7 +11841,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "strip-ansi": { @@ -11849,7 +11849,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -11858,7 +11858,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -11882,8 +11882,8 @@ "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", "requires": { - "os-tmpdir": "^1.0.0", - "rimraf": "~2.2.6" + "os-tmpdir": "1.0.2", + "rimraf": "2.2.8" }, "dependencies": { "rimraf": { @@ -11899,11 +11899,11 @@ "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^3.1.8", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "3.1.10", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" }, "dependencies": { "arr-diff": { @@ -11924,16 +11924,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -11942,7 +11942,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -11953,13 +11953,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "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" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -11968,7 +11968,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -11977,7 +11977,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -11986,7 +11986,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11995,7 +11995,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12006,7 +12006,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12015,7 +12015,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12026,9 +12026,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" } }, "kind-of": { @@ -12045,14 +12045,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "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" + "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.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -12061,7 +12061,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -12070,7 +12070,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -12081,10 +12081,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -12093,7 +12093,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -12104,7 +12104,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -12113,7 +12113,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -12122,9 +12122,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "is-number": { @@ -12133,7 +12133,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -12142,7 +12142,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -12165,19 +12165,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "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" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "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.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } } } @@ -12197,8 +12197,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "time-stamp": { @@ -12211,7 +12211,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "tmpl": { @@ -12230,7 +12230,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { @@ -12238,10 +12238,10 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -12249,8 +12249,8 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" }, "dependencies": { "is-number": { @@ -12258,7 +12258,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } } } @@ -12269,8 +12269,8 @@ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "psl": "1.1.31", + "punycode": "2.1.1" } }, "tr46": { @@ -12279,7 +12279,7 @@ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } }, "trim-right": { @@ -12293,7 +12293,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -12308,7 +12308,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "typedarray": { @@ -12326,8 +12326,8 @@ "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" + "commander": "2.13.0", + "source-map": "0.6.1" }, "dependencies": { "commander": { @@ -12357,8 +12357,8 @@ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "1.0.4", + "unicode-property-aliases-ecmascript": "1.0.4" } }, "unicode-match-property-value-ecmascript": { @@ -12376,10 +12376,10 @@ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -12387,7 +12387,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -12395,10 +12395,10 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -12413,8 +12413,8 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -12422,9 +12422,9 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -12455,7 +12455,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } }, "urix": { @@ -12484,8 +12484,8 @@ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" + "define-properties": "1.1.3", + "object.getownpropertydescriptors": "2.0.3" } }, "uuid": { @@ -12498,8 +12498,8 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "verror": { @@ -12508,9 +12508,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "w3c-hr-time": { @@ -12519,7 +12519,7 @@ "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", "dev": true, "requires": { - "browser-process-hrtime": "^0.1.2" + "browser-process-hrtime": "0.1.3" } }, "walker": { @@ -12527,7 +12527,7 @@ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "requires": { - "makeerror": "1.0.x" + "makeerror": "1.0.11" } }, "watch": { @@ -12535,8 +12535,8 @@ "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", "requires": { - "exec-sh": "^0.2.0", - "minimist": "^1.2.0" + "exec-sh": "0.2.2", + "minimist": "1.2.0" } }, "webidl-conversions": { @@ -12560,7 +12560,7 @@ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } } } @@ -12582,9 +12582,9 @@ "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", "dev": true, "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "lodash.sortby": "4.7.0", + "tr46": "1.0.1", + "webidl-conversions": "4.0.2" } }, "which": { @@ -12592,7 +12592,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -12610,8 +12610,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -12619,7 +12619,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -12627,9 +12627,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -12644,9 +12644,9 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "slide": "1.1.6" } }, "ws": { @@ -12654,8 +12654,8 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", "requires": { - "options": ">=0.0.5", - "ultron": "1.0.x" + "options": "0.0.6", + "ultron": "1.0.2" }, "dependencies": { "ultron": { @@ -12676,7 +12676,7 @@ "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-0.4.0.tgz", "integrity": "sha1-0lciS+g5PqrL+DfvIn/Y7CWzaIg=", "requires": { - "sax": "~1.1.1" + "sax": "1.1.6" } }, "xmldom": { @@ -12710,18 +12710,18 @@ "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^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": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "find-up": { @@ -12730,7 +12730,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } } } @@ -12741,7 +12741,7 @@ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index d91da530..c8952925 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -35,7 +35,9 @@ export default class Authenticate extends Abstract { this.stateObserver = ApplicationState.get().addStateObserver((state) => { if(state == ApplicationState.GainingFocus) { + if(!this.state.activeSource) { this.begin(); + } } else if(state == ApplicationState.Backgrounding) { this.cancel(); } @@ -83,6 +85,7 @@ export default class Authenticate extends Abstract { cancel() { if(this.state.activeSource) { this.state.activeSource.cancel(); + this.setState({activeSource: null}); } } From 3514dfcc063141f085d732a3d02f5fe63a9312f2 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 17 Jan 2019 11:25:19 -0600 Subject: [PATCH 104/131] Show privileges management on protect if not set up --- src/screens/ManagePrivileges.js | 23 ++++++++++++----------- src/screens/SideMenu/NoteSideMenu.js | 11 ++++++++++- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/screens/ManagePrivileges.js b/src/screens/ManagePrivileges.js index 012a79de..134082dd 100644 --- a/src/screens/ManagePrivileges.js +++ b/src/screens/ManagePrivileges.js @@ -106,6 +106,18 @@ export default class ManagePrivileges extends Abstract { + + + + + Privileges represent interface level authentication for accessing certain items and features. Privileges are meant to protect against unwanted access in the event of an unlocked application, but do not affect data encryption state. + + + Privileges sync across your other devices—however, note that if you require a "Local Passcode" privilege, and another device does not have a local passcode set up, the local passcode requirement will be ignored on that device. + + + + {this.state.sessionExpirey && !this.state.sessionExpired && @@ -134,17 +146,6 @@ export default class ManagePrivileges extends Abstract { )} - - - - - Privileges represent interface level authentication for accessing certain items and features. Privileges are meant to protect against unwanted access in the event of an unlocked application, but do not affect data encryption state. - - - Privileges sync across your other devices—however, note that if you require a "Local Passcode" privilege, and another device does not have a local passcode set up, the local passcode requirement will be ignored on that device. - - - ); diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 331584a4..27deb314 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -17,6 +17,7 @@ import StyleKit from "@Style/StyleKit" import ActionSheetWrapper from "@Style/ActionSheetWrapper" import ModelManager from '@SFJS/modelManager' import Sync from '@SFJS/syncManager' +import PrivilegesManager from "@SFJS/privilegesManager" import SideMenuManager from "@SideMenu/SideMenuManager" import SideMenuCell from "@SideMenu/SideMenuCell" @@ -118,7 +119,7 @@ export default class NoteSideMenu extends AbstractSideMenu { runAction(action) { let run = () => { - ItemActionManager.handleEvent(action, this.note, () => { + ItemActionManager.handleEvent(action, this.note, async () => { if(action == ItemActionManager.ArchiveEvent || action == ItemActionManager.TrashEvent || action == ItemActionManager.DeleteEvent @@ -127,6 +128,14 @@ export default class NoteSideMenu extends AbstractSideMenu { } else { this.forceUpdate(); this.handler.onPropertyChange(); + + if(action == ItemActionManager.ProtectEvent) { + // Show Privileges management screen if protected notes privs are not set up yet + let actionRequiresPrivs = await PrivilegesManager.get().actionRequiresPrivilege(action); + if(!actionRequiresPrivs) { + this.props.navigation.navigate("ManagePrivileges"); + } + } } }); } From 377cb7a45b52749583a074e46e6ef2379d7df8e6 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 17 Jan 2019 11:41:28 -0600 Subject: [PATCH 105/131] Lock editors if expired --- src/lib/componentManager.js | 30 ++++++++++++++++++++++-------- src/screens/Webview.js | 37 +++++++++++++++++++++++++++++++++++-- 2 files changed, 57 insertions(+), 10 deletions(-) diff --git a/src/lib/componentManager.js b/src/lib/componentManager.js index b48051bd..79165a23 100644 --- a/src/lib/componentManager.js +++ b/src/lib/componentManager.js @@ -1,7 +1,7 @@ /* This domain will be used to save context item client data */ let ClientDataDomain = "org.standardnotes.sn.components"; -import { Platform } from 'react-native'; +import { Platform, Alert } from 'react-native'; import StyleKit from '@Style/StyleKit' import ModelManager from './sfjs/modelManager' @@ -182,14 +182,28 @@ export default class ComponentManager { return; } - /** - Mobile only handles a subset of possible messages. - Possible Messages: - set-component-data - stream-context-item - save-items - + // Actions that won't succeeed with readonly mode + let readwriteActions = [ + "save-items", + "associate-item", + "deassociate-item", + "create-item", + "create-items", + "delete-items", + "set-component-data" + ]; + + if(component.readonly && readwriteActions.includes(message.action)) { + Alert.alert('Extended Expired', `The extension ${component.name} is trying to save, but it is in a locked state and cannot accept changes.`); + return; + } + /* + Mobile only handles a subset of possible messages. + Possible Messages: + set-component-data + stream-context-item + save-items */ if(message.action === "stream-context-item") { diff --git a/src/screens/Webview.js b/src/screens/Webview.js index f2737cb8..0679fc64 100644 --- a/src/screens/Webview.js +++ b/src/screens/Webview.js @@ -1,18 +1,20 @@ import React, { Component } from 'react'; -import { Alert, View, WebView, Linking, Platform } from 'react-native'; +import { Alert, View, WebView, Linking, Platform, Text } from 'react-native'; import ComponentManager from '@Lib/componentManager' import ModelManager from '@Lib/sfjs/modelManager' import StyleKit from "@Style/StyleKit" import ApplicationState from "@Lib/ApplicationState" - +import Icon from 'react-native-vector-icons/Ionicons'; export default class Webview extends Component { constructor(props) { super(props); + this.loadStyles(); + this.identifier = `${Math.random()}` ComponentManager.get().registerHandler({identifier: this.identifier, areas: ["note-tags", "editor-stack", "editor-editor"], @@ -46,6 +48,9 @@ export default class Webview extends Component { this.editor = ModelManager.get().findItem(this.props.editorId); this.note = ModelManager.get().findItem(this.props.noteId); ComponentManager.get().contextItemDidChangeInArea("editor-editor"); + + let expired = this.editor.valid_until && this.editor.valid_until <= new Date(); + this.editor.readonly = expired; } componentWillUnmount() { @@ -104,6 +109,12 @@ export default class Webview extends Component { return ( + {this.editor.readonly && + + + Extended expired. Editors are in a read-only state. To edit immediately, please switch to the Plain Editor. + + } Date: Thu, 17 Jan 2019 11:50:51 -0600 Subject: [PATCH 106/131] SafeAreView top only --- src/screens/Compose.js | 4 ++-- src/screens/Notes/Notes.js | 7 ++++--- src/screens/Settings/Settings.js | 5 +++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/screens/Compose.js b/src/screens/Compose.js index e447e46c..cde4ee95 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -409,7 +409,7 @@ export default class Compose extends Abstract { var shouldDisplayEditor = noteEditor != null && this.note.uuid; return ( - + {this.note.locked && @@ -479,7 +479,7 @@ export default class Compose extends Abstract { editable={!this.note.locked} /> } - + ); } diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index ca85a159..fd719435 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -1,5 +1,6 @@ import React, { Component } from 'react'; -import { View, Text, Alert, SafeAreaView } from 'react-native'; +import { View, Text, Alert } from 'react-native'; +import { SafeAreaView } from 'react-navigation'; import ModelManager from '@SFJS/modelManager' import Storage from '@SFJS/storageManager' @@ -339,7 +340,7 @@ export default class Notes extends Abstract { } return ( - + {this.state.notes && } /> - + ); } diff --git a/src/screens/Settings/Settings.js b/src/screens/Settings/Settings.js index 5e229108..c6ab8bef 100644 --- a/src/screens/Settings/Settings.js +++ b/src/screens/Settings/Settings.js @@ -1,5 +1,6 @@ import React, { Component } from 'react'; import {ScrollView, View, Alert, Keyboard, Platform} from 'react-native'; +import { SafeAreaView } from 'react-navigation'; import Sync from '@SFJS/syncManager' import ModelManager from '@SFJS/modelManager' @@ -242,7 +243,7 @@ export default class Settings extends Abstract { let signedIn = !Auth.get().offline(); return ( - + {!signedIn && !this.state.confirmRegistration && @@ -318,7 +319,7 @@ export default class Settings extends Abstract { - + ); } } From d8ce7bd81f497238bc28e46aa97c230cb4c93015 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 17 Jan 2019 12:04:19 -0600 Subject: [PATCH 107/131] Post theme change to editors --- src/lib/componentManager.js | 18 ++++++++++++++++++ src/screens/Notes/NoteCell.js | 4 ++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/lib/componentManager.js b/src/lib/componentManager.js index 79165a23..8b641517 100644 --- a/src/lib/componentManager.js +++ b/src/lib/componentManager.js @@ -30,6 +30,10 @@ export default class ComponentManager { this.handlers = []; + StyleKit.get().addThemeChangeObserver(() => { + this.postActiveThemesToAllComponents(); + }); + ModelManager.get().addItemSyncObserver("component-manager", "*", (allItems, validItems, deletedItems, source) => { /* If the source of these new or updated items is from a Component itself saving items, we don't need to notify @@ -390,6 +394,20 @@ export default class ComponentManager { this.sendMessageToComponent(component, {action: "themes", data: data}) } + postActiveThemesToAllComponents() { + for(var component of this.components) { + // Skip over components that are themes themselves, + // or components that are not active, or components that don't have a window + // On desktop/web, we check if component.active is true as well below, but on mobile, + // .active isn't set + if(component.isTheme() || !component.window) { + continue; + } + + this.postActiveThemeToComponent(component); + } + } + getEditors() { return this.componentsForArea("editor-editor"); } diff --git a/src/screens/Notes/NoteCell.js b/src/screens/Notes/NoteCell.js index 70cde2e5..915cd1bf 100644 --- a/src/screens/Notes/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -28,7 +28,7 @@ export default class NoteCell extends ThemedPureComponent { // Debounce this.selectionTimeout = setTimeout(() => { this.setState({selected: true}); - }, 25); + }, 30); }; _onPressOut = () => { @@ -148,7 +148,7 @@ export default class NoteCell extends ThemedPureComponent { let textColor = StyleKit.variables.stylekitInfoContrastColor; if(this.state.selected || this.props.highlighted) { bgColor = StyleKit.variables.stylekitInfoContrastColor; - textColor = flag.color + textColor = StyleKit.variables.stylekitInfoColor; } const styles = { background: { From aca45d760296c31adee7dee9fb5e0dc7fa8f7604 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Thu, 17 Jan 2019 12:05:27 -0600 Subject: [PATCH 108/131] Beta 5 --- android/app/build.gradle | 4 ++-- ios/StandardNotes/Info.plist | 2 +- package.json | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 50b4356a..5c64efa3 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -102,8 +102,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 3000004 - versionName "3.0.0-beta4" + versionCode 3000005 + versionName "3.0.0-beta5" multiDexEnabled true diff --git a/ios/StandardNotes/Info.plist b/ios/StandardNotes/Info.plist index e6d781e8..a1843735 100644 --- a/ios/StandardNotes/Info.plist +++ b/ios/StandardNotes/Info.plist @@ -71,7 +71,7 @@ CFBundleSignature ???? CFBundleVersion - 4 + 5 LSRequiresIPhoneOS NSAppTransportSecurity diff --git a/package.json b/package.json index adaab39b..37a6495e 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "StandardNotes", - "version": "3.0.0-beta4", - "versionIOS": "3.0.0-beta4", - "versionAndroid": "3.0.0-beta4", + "version": "3.0.0-beta5", + "versionIOS": "3.0.0-beta5", + "versionAndroid": "3.0.0-beta5", "license": "AGPL-3.0-or-later", "private": true, "scripts": { From 9692d871c1fc7ca7709fc6f386ef65193949427e Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 19 Jan 2019 20:24:04 -0600 Subject: [PATCH 109/131] Disable non available credentials --- src/components/SectionedAccessoryTableCell.js | 8 ++++++++ src/lib/sfjs/privilegesManager.js | 6 ++++++ src/screens/ManagePrivileges.js | 20 ++++++++++++++++++- src/screens/SideMenu/NoteSideMenu.js | 6 +++--- 4 files changed, 36 insertions(+), 4 deletions(-) diff --git a/src/components/SectionedAccessoryTableCell.js b/src/components/SectionedAccessoryTableCell.js index b548deb4..fdeb1f6b 100644 --- a/src/components/SectionedAccessoryTableCell.js +++ b/src/components/SectionedAccessoryTableCell.js @@ -18,11 +18,19 @@ export default class SectionedAccessoryTableCell extends SectionedTableCell { } onPress = () => { + if(this.props.disabled) { + return; + } + this.props.onPress(); this.forceUpdate(); } onLongPress = () => { + if(this.props.disabled) { + return; + } + if(this.props.onLongPress) { this.props.onLongPress(); } diff --git a/src/lib/sfjs/privilegesManager.js b/src/lib/sfjs/privilegesManager.js index 2a93d6c3..5b1525f3 100644 --- a/src/lib/sfjs/privilegesManager.js +++ b/src/lib/sfjs/privilegesManager.js @@ -111,4 +111,10 @@ export default class PrivilegesManager extends SFPrivilegesManager { return sources; } + async grossCredentialsForAction(action) { + let privs = await this.getPrivileges(); + let creds = privs.getCredentialsForAction(action); + return creds; + } + } diff --git a/src/screens/ManagePrivileges.js b/src/screens/ManagePrivileges.js index 134082dd..42b6811c 100644 --- a/src/screens/ManagePrivileges.js +++ b/src/screens/ManagePrivileges.js @@ -77,6 +77,17 @@ export default class ManagePrivileges extends Abstract { let availableCredentials = PrivilegesManager.get().getAvailableCredentials(); let availableActions = PrivilegesManager.get().getAvailableActions(); + let notConfiguredCredentials = []; + let hasLocalAuth = KeysManager.get().hasOfflinePasscode() || KeysManager.get().hasFingerprint(); + let offline = Auth.get().offline(); + for(let credential of availableCredentials) { + if(credential == PrivilegesManager.CredentialLocalPasscode && !hasLocalAuth) { + notConfiguredCredentials.push(credential); + } else if(credential == PrivilegesManager.CredentialAccountPassword && offline) { + notConfiguredCredentials.push(credential); + } + } + this.credentialDisplayInfo = {}; for(let cred of availableCredentials) { this.credentialDisplayInfo[cred] = this.displayInfoForCredential(cred); @@ -86,6 +97,7 @@ export default class ManagePrivileges extends Abstract { this.setState({ availableActions: availableActions, availableCredentials: availableCredentials, + notConfiguredCredentials: notConfiguredCredentials, sessionExpirey: sessionEndDate.toLocaleString(), sessionExpired: new Date() >= sessionEndDate }); @@ -97,6 +109,10 @@ export default class ManagePrivileges extends Abstract { this.forceUpdate(); } + credentialUnavailable = (credential) => { + return this.state.notConfiguredCredentials.includes(credential); + } + render() { if(this.state.lockContent) { return (); @@ -135,9 +151,11 @@ export default class ManagePrivileges extends Abstract { {this.state.availableCredentials.map((credential, credIndex) => {return this.isCredentialRequiredForAction(action, credential)}} onPress={() => {this.valueChanged(action, credential)}} diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 27deb314..49ce3280 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -128,11 +128,11 @@ export default class NoteSideMenu extends AbstractSideMenu { } else { this.forceUpdate(); this.handler.onPropertyChange(); - + if(action == ItemActionManager.ProtectEvent) { // Show Privileges management screen if protected notes privs are not set up yet - let actionRequiresPrivs = await PrivilegesManager.get().actionRequiresPrivilege(action); - if(!actionRequiresPrivs) { + let configuredPrivs = await PrivilegesManager.get().grossCredentialsForAction(SFPrivilegesManager.ActionViewProtectedNotes); + if(configuredPrivs.length == 0) { this.props.navigation.navigate("ManagePrivileges"); } } From 4a3b2475090f4350c4c645b444479f2f2d1066a5 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 19 Jan 2019 20:29:48 -0600 Subject: [PATCH 110/131] Editor actionsheet --- src/screens/Notes/NoteList.js | 2 +- src/screens/SideMenu/NoteSideMenu.js | 3 ++- src/screens/SideMenu/TagSelectionList.js | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/screens/Notes/NoteList.js b/src/screens/Notes/NoteList.js index 605f0be6..c69bad78 100644 --- a/src/screens/Notes/NoteList.js +++ b/src/screens/Notes/NoteList.js @@ -58,7 +58,7 @@ export default class NoteList extends ThemedComponent { archived={item.archived /* extraData */} locked={item.locked /* extraData */} protected={item.content.protected /* extraData */} - protected={item.content.hidePreview /* extraData */} + hidePreview={item.content.hidePreview /* extraData */} /> ) } diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 49ce3280..420cb36b 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -83,6 +83,7 @@ export default class NoteSideMenu extends AbstractSideMenu { }); this.setState({actionSheet: sheet.actionSheetElement()}); + this.forceUpdate(); // required to get actionSheet ref sheet.show(); } @@ -128,7 +129,7 @@ export default class NoteSideMenu extends AbstractSideMenu { } else { this.forceUpdate(); this.handler.onPropertyChange(); - + if(action == ItemActionManager.ProtectEvent) { // Show Privileges management screen if protected notes privs are not set up yet let configuredPrivs = await PrivilegesManager.get().grossCredentialsForAction(SFPrivilegesManager.ActionViewProtectedNotes); diff --git a/src/screens/SideMenu/TagSelectionList.js b/src/screens/SideMenu/TagSelectionList.js index 58d73baa..6c5cd86f 100644 --- a/src/screens/SideMenu/TagSelectionList.js +++ b/src/screens/SideMenu/TagSelectionList.js @@ -116,6 +116,7 @@ class TagSelectionList extends ThemedComponent { }); this.setState({actionSheet: sheet.actionSheetElement()}); + this.forceUpdate(); // required to get actionSheet ref sheet.show(); } From da3a3be90808a904b6e87d4fe8d212f3a1b75a9c Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 19 Jan 2019 20:38:45 -0600 Subject: [PATCH 111/131] Refresh header on tag deletion/rename --- src/screens/Notes/Notes.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index fd719435..9637953b 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -134,7 +134,15 @@ export default class Notes extends Abstract { } }) - this.mappingObserver = ModelManager.get().addItemSyncObserver("notes-screen", ["Tag", "Note"], () => { + this.mappingObserver = ModelManager.get().addItemSyncObserver("notes-screen", ["Tag", "Note"], (allRelevantItems, validItems, deletedItems) => { + if(deletedItems.find((item) => item.content_type == "Tag")) { + // If a tag was deleted, let's check to see if we should reload our selected tags list + var tags = ModelManager.get().getTagsWithIds(this.options.selectedTagIds); + if(tags.length == 0) { + this.options.setSelectedTagIds(ModelManager.get().defaultSmartTag().uuid); + } + } + this.reloadHeaderBar(); // reload header bar in case a tag was renamed this.reloadList(); }) From dbd471d3fa250a359ec366909f4d4612bf269900 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 19 Jan 2019 20:55:12 -0600 Subject: [PATCH 112/131] Fix side menu will focus --- src/screens/SideMenu/AbstractSideMenu.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/screens/SideMenu/AbstractSideMenu.js b/src/screens/SideMenu/AbstractSideMenu.js index ab402073..d6e97f9d 100644 --- a/src/screens/SideMenu/AbstractSideMenu.js +++ b/src/screens/SideMenu/AbstractSideMenu.js @@ -25,8 +25,11 @@ export default class AbstractSideMenu extends Abstract { currentNavigationState, ["isDrawerIdle", "isDrawerOpen", "isTransitioning"] ); - - if(!isSame) { + + let isSameIdleState = newNavigationState.isDrawerIdle == currentNavigationState.isDrawerIdle + + // These are just the sort of chance configuration of variables that indicate that a drawer will focus, and have it called only once + if(!isSame && !newNavigationState.isDrawerIdle && !isSameIdleState) { this.psuedo_willFocus(); } return !isSame; From b92c983a782d461a7c6a2c7a3cdefba56b61224d Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 19 Jan 2019 21:27:28 -0600 Subject: [PATCH 113/131] Call super in themed components componentWillUnmount --- src/screens/Abstract.js | 1 + src/screens/Compose.js | 7 +++++-- src/screens/SideMenu/SideMenuManager.js | 2 ++ src/screens/SideMenu/TagSelectionList.js | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 5413686f..01469fa1 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -106,6 +106,7 @@ export default class Abstract extends ThemedComponent { } componentWillUnmount() { + super.componentWillUnmount(); this.willUnmount = true; this.mounted = false; for(var listener of this.listeners) { diff --git a/src/screens/Compose.js b/src/screens/Compose.js index cde4ee95..7699fa05 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -186,6 +186,11 @@ export default class Compose extends Abstract { this.changesMade(); }, 300); } + + // This was originally in didFocus, but the problem was if the handler isn't set, + // the side menu won't render. If we present Tag compose and dismiss, the side menu + // won't render until didFocus, so there would be a delay. + this.setSideMenuHandler(); } componentDidFocus() { @@ -202,8 +207,6 @@ export default class Compose extends Abstract { this.input.focus(); } } - - this.setSideMenuHandler(); } setSideMenuHandler() { diff --git a/src/screens/SideMenu/SideMenuManager.js b/src/screens/SideMenu/SideMenuManager.js index 1c6cd027..45ac544f 100644 --- a/src/screens/SideMenu/SideMenuManager.js +++ b/src/screens/SideMenu/SideMenuManager.js @@ -53,6 +53,8 @@ export default class SideMenuManager { */ setHandlerForRightSideMenu(handler) { this.rightSideMenuHandler = handler; + + this.rightSideMenu && this.rightSideMenu.forceUpdate(); } getHandlerForLeftSideMenu() { diff --git a/src/screens/SideMenu/TagSelectionList.js b/src/screens/SideMenu/TagSelectionList.js index 6c5cd86f..369820ed 100644 --- a/src/screens/SideMenu/TagSelectionList.js +++ b/src/screens/SideMenu/TagSelectionList.js @@ -59,6 +59,7 @@ class TagSelectionList extends ThemedComponent { } componentWillUnmount() { + super.componentWillUnmount(); ModelManager.get().removeItemSyncObserver(this.syncObserverId); Sync.get().removeEventHandler(this.syncEventHandler); Auth.get().removeEventHandler(this.signoutObserver); From f48ac6cd3515356b462f05935e0c2e780172d8b2 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 19 Jan 2019 21:30:15 -0600 Subject: [PATCH 114/131] SafeAreaView bg color --- src/screens/Compose.js | 2 +- src/screens/Notes/Notes.js | 2 +- src/screens/Settings/Settings.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 7699fa05..c94383b6 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -412,7 +412,7 @@ export default class Compose extends Abstract { var shouldDisplayEditor = noteEditor != null && this.note.uuid; return ( - + {this.note.locked && diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 9637953b..d87774c2 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -348,7 +348,7 @@ export default class Notes extends Abstract { } return ( - + {this.state.notes && + {!signedIn && !this.state.confirmRegistration && From d2fb0224909969d26cadc50ba111d4d4ca6aa21d Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 19 Jan 2019 21:44:53 -0600 Subject: [PATCH 115/131] Download smart tags migration --- src/lib/sfjs/migrationManager.js | 39 +++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/src/lib/sfjs/migrationManager.js b/src/lib/sfjs/migrationManager.js index e23a72f6..7975bf5c 100644 --- a/src/lib/sfjs/migrationManager.js +++ b/src/lib/sfjs/migrationManager.js @@ -28,7 +28,8 @@ export default class MigrationManager extends SFMigrationManager { registeredMigrations() { return [ - this.downloadAllItemsToGetPrivileges() + this.downloadPrivileges(), + this.downloadSmartTags() ]; } @@ -38,20 +39,17 @@ export default class MigrationManager extends SFMigrationManager { of a user to get at the privileges. */ - downloadAllItemsToGetPrivileges() { + downloadPrivileges() { let contentType = "SN|Privileges"; return { name: "dl-all-to-get-privs", runOnlyOnce: true, - contentType: contentType, /* Not used currently, but server might be updated in the future */ customHandler: async () => { if(Auth.get().offline()) { return; } - let options = { - contentType: contentType - } + let options = { contentType: contentType }; // The user is signed in Sync.get().stateless_downloadAllItems(options).then((items) => { @@ -73,6 +71,35 @@ export default class MigrationManager extends SFMigrationManager { } } + downloadSmartTags() { + let contentType = "SN|SmartTag"; + return { + name: "dl-smart-tags", + runOnlyOnce: true, + customHandler: async () => { + if(Auth.get().offline()) { + return; + } + + let options = { contentType: contentType }; + + // The user is signed in + Sync.get().stateless_downloadAllItems(options).then((items) => { + let matchingTags = items.filter((candidate) => { + return candidate.content_type == contentType; + }); + + if(matchingTags.length == 0) { + return; + } + + ModelManager.get().mapResponseItemsToLocalModelsOmittingFields( + matchingTags, null, SFModelManager.MappingSourceRemoteRetrieved); + }) + } + } + } + /* Overrides */ async encode(text) { From bb8fc3a230f2ef336d6fe37b001e4f58c1b2b61d Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 19 Jan 2019 21:46:18 -0600 Subject: [PATCH 116/131] Beta 6 --- android/app/build.gradle | 4 ++-- ios/StandardNotes/Info.plist | 2 +- package.json | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 5c64efa3..b14e7223 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -102,8 +102,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 3000005 - versionName "3.0.0-beta5" + versionCode 3000006 + versionName "3.0.0-beta6" multiDexEnabled true diff --git a/ios/StandardNotes/Info.plist b/ios/StandardNotes/Info.plist index a1843735..495af231 100644 --- a/ios/StandardNotes/Info.plist +++ b/ios/StandardNotes/Info.plist @@ -71,7 +71,7 @@ CFBundleSignature ???? CFBundleVersion - 5 + 6 LSRequiresIPhoneOS NSAppTransportSecurity diff --git a/package.json b/package.json index 37a6495e..7c4df5e6 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "StandardNotes", - "version": "3.0.0-beta5", - "versionIOS": "3.0.0-beta5", - "versionAndroid": "3.0.0-beta5", + "version": "3.0.0-beta6", + "versionIOS": "3.0.0-beta6", + "versionAndroid": "3.0.0-beta6", "license": "AGPL-3.0-or-later", "private": true, "scripts": { From 1df2a8726ba79f0e767c673cd4d564d639bf9b8a Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 21 Jan 2019 09:55:04 -0600 Subject: [PATCH 117/131] Update search box --- src/screens/Notes/NoteList.js | 3 ++- vendor/react-native-search-box | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/screens/Notes/NoteList.js b/src/screens/Notes/NoteList.js index c69bad78..3907c3b1 100644 --- a/src/screens/Notes/NoteList.js +++ b/src/screens/Notes/NoteList.js @@ -20,11 +20,12 @@ export default class NoteList extends ThemedComponent { titleCancelColor={StyleKit.variable("stylekitInfoColor")} keyboardDismissMode={'interactive'} keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} + inputBorderRadius={4} inputStyle={ { backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor, color: StyleKit.variables.stylekitForegroundColor, - height: 31 + height: 30 } } /> diff --git a/vendor/react-native-search-box b/vendor/react-native-search-box index c2ba5be0..30a02b32 160000 --- a/vendor/react-native-search-box +++ b/vendor/react-native-search-box @@ -1 +1 @@ -Subproject commit c2ba5be0a8639f33b7ad4a206c4b2af4b099674c +Subproject commit 30a02b321b4552ea54e45111d882031718f5a82d From ece07159712b1d82043bb1841340cd08adced825 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 21 Jan 2019 13:17:51 -0600 Subject: [PATCH 118/131] Key recovery wizard --- package-lock.json | 8 +- package.json | 2 +- src/App.js | 8 +- src/lib/keysManager.js | 35 ++++- src/screens/KeyRecovery.js | 164 +++++++++++++++++++++++ src/screens/Notes/NoteCell.js | 14 +- src/screens/Notes/Notes.js | 8 +- src/screens/Settings/Settings.js | 12 ++ src/screens/SideMenu/TagSelectionList.js | 6 +- src/style/StyleKit.js | 1 - 10 files changed, 244 insertions(+), 14 deletions(-) create mode 100644 src/screens/KeyRecovery.js diff --git a/package-lock.json b/package-lock.json index 47c4692b..60bfada0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "StandardNotes", - "version": "3.0.0-beta4", + "version": "3.0.0-beta6", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -11746,9 +11746,9 @@ "integrity": "sha1-ATl5IuX2Ls8whFUiyVxP4dJefU4=" }, "standard-file-js": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.36.tgz", - "integrity": "sha512-YNfPNNa2rojsjMcZj2eH6H7RcCmK2oUZwl6US/Lv0eC5wGw15po2FU0lPPgc3dl8r5RmKf38RNgb/wBJJuCtHw==" + "version": "0.3.37", + "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.37.tgz", + "integrity": "sha512-Je/vBxfWWHBrlDeLLW9Q4QLC+R9SxlYLhB8IpJVp6GZMHD+ET/LBPN+qlGJtUUI0Jr8HHJ1AUfEam9SNZYo1YQ==" }, "static-extend": { "version": "0.1.2", diff --git a/package.json b/package.json index 7c4df5e6..f541649d 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "react-navigation-header-buttons": "^2.1.1", "regenerator": "^0.13.3", "sn-models": "0.1.12", - "standard-file-js": "0.3.36" + "standard-file-js": "0.3.37" }, "devDependencies": { "babel-jest": "^23.6.0", diff --git a/src/App.js b/src/App.js index d88e84d8..07c7fa7e 100644 --- a/src/App.js +++ b/src/App.js @@ -22,6 +22,7 @@ import Settings from "@Screens/Settings/Settings" import InputModal from "@Screens/InputModal" import ManagePrivileges from "@Screens/ManagePrivileges" import Authenticate from "@Screens/Authentication/Authenticate" +import KeyRecovery from "@Screens/KeyRecovery" import SideMenuManager from "@SideMenu/SideMenuManager" @@ -82,12 +83,17 @@ const ManagePrivilegesStack = createStackNavigator({ Screen1: ManagePrivileges }) +const KeyRecoveryStack = createStackNavigator({ + Screen1: KeyRecovery +}) + const AppDrawer = createStackNavigator({ Home: AppDrawerStack, Settings: SettingsStack, InputModal: InputModalStack, Authenticate: AuthenticateModalStack, - ManagePrivileges: ManagePrivilegesStack + ManagePrivileges: ManagePrivilegesStack, + KeyRecovery: KeyRecoveryStack }, { mode: "modal", headerMode: 'none', diff --git a/src/lib/keysManager.js b/src/lib/keysManager.js index d0bc6ec1..21b19533 100644 --- a/src/lib/keysManager.js +++ b/src/lib/keysManager.js @@ -102,6 +102,23 @@ export default class KeysManager { }.bind(this)); } + /* + If a user was using the app offline without an account, and had a local passcode, then did + an iCloud restore, then they will have saved auth params (saved to storage), + but no keychain values (not saved to storage). + + In this case, we want to present a recovery wizard where they can attempt values of their local passcode, + and see if it yeilds successful decryption. We can't verify whether the passcode they enter is correct, + since the valid hash value is stored in the keychain as well. + */ + shouldPresentKeyRecoveryWizard() { + if(!this.accountAuthParams && this.offlineAuthParams && !this.offlineKeys) { + return true; + } else { + return false; + } + } + /* We need to register local storage keys, so that when we want to sign out, we don't accidentally clear internal keys, like first_run. (If you accidentally delete the first_run key when you sign out, @@ -271,7 +288,21 @@ export default class KeysManager { async setAccountAuthParams(authParams) { this.accountAuthParams = authParams; - return Storage.get().setItem("auth_params", JSON.stringify(authParams)); + await Storage.get().setItem("auth_params", JSON.stringify(authParams)); + + if(this.offlineAuthParams && !this.offlineKeys) { + /* + This can happen if: + 1. You are signed into an account and have a local passcode + 2. You do an iCloud restore + 3. Your Keychain is wiped, but storage isn't, so offlineAuthParams still exists. + 4. You restore your account by signing in. At this point, no local passcode will actually be set. + The value of offlineAuthParams is stale. We want to delete it. + */ + + console.log("offlineAuthParams is stale, deleting"); + await Storage.get().removeItem(OfflineParamsKey); + } } async setOfflineAuthParams(authParams) { @@ -318,7 +349,7 @@ export default class KeysManager { async clearOfflineKeysAndData(force = false) { // make sure user is authenticated before performing this step - if(!this.offlineKeys.mk && !force) { + if(this.offlineKeys && !this.offlineKeys.mk && !force) { alert("Unable to remove passcode. Make sure you are properly authenticated and try again."); return false; } diff --git a/src/screens/KeyRecovery.js b/src/screens/KeyRecovery.js new file mode 100644 index 00000000..6e657826 --- /dev/null +++ b/src/screens/KeyRecovery.js @@ -0,0 +1,164 @@ +import React, { Component } from 'react'; +import { TextInput, View, Text, Platform, Alert, SafeAreaView } from 'react-native'; +import StyleKit from "@Style/StyleKit" +import SF from '@SFJS/sfjs' +import KeysManager from "@Lib/keysManager" +import ModelManager from "@SFJS/modelManager" +import Sync from "@SFJS/syncManager" +import TableSection from "@Components/TableSection"; +import SectionedTableCell from "@Components/SectionedTableCell"; +import SectionHeader from "@Components/SectionHeader"; +import ButtonCell from "@Components/ButtonCell"; +import Abstract from "@Screens/Abstract" +import ApplicationState from "@Lib/ApplicationState" +import AlertManager from "@SFJS/alertManager" + +export default class KeyRecovery extends Abstract { + + static navigationOptions = ({ navigation, navigationOptions }) => { + let templateOptions = { + title: "Key Recovery", + leftButton: { + title: ApplicationState.isIOS ? "Cancel" : null, + iconName: ApplicationState.isIOS ? null : StyleKit.nameForIcon("close"), + } + } + return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); + }; + + constructor(props) { + super(props); + + props.navigation.setParams({ + leftButton: { + title: ApplicationState.isIOS ? "Cancel" : null, + iconName: ApplicationState.isIOS ? null : StyleKit.nameForIcon("close"), + onPress: () => { + this.dismiss(); + } + } + }) + + this.state = {text: ""} + + this.reloadData(); + } + + reloadData() { + this.items = ModelManager.get().allItems; + this.encryptedCount = 0; + for(var item of this.items) { + if(item.errorDecrypting) { + this.encryptedCount++; + } + } + } + + dismiss() { + this.props.navigation.goBack(null); + } + + submit = async () => { + let authParams = KeysManager.get().offlineAuthParams; + let keys = await SF.get().crypto.computeEncryptionKeysForUser(this.state.text, authParams); + await SFJS.itemTransformer.decryptMultipleItems(this.items, keys); + + this.encryptedCount = 0; + for(var item of this.items) { + if(item.errorDecrypting) { + this.encryptedCount++; + } + } + + let useKeys = async (confirm) => { + let run = async () => { + await KeysManager.get().persistOfflineKeys(keys); + ModelManager.get().mapResponseItemsToLocalModelsOmittingFields(this.items, null, SFModelManager.MappingSourceLocalRetrieved); + await Sync.get().writeItemsToLocalStorage(this.items); + this.dismiss(); + } + + if(confirm) { + AlertManager.get().confirm({ + title: "Use Keys?", + text: `Are you sure you want to use these keys? Not all items are decrypted, but if some have been, it may be an optimal solution.`, + cancelButtonText: "Cancel", + confirmButtonText: "Use", + onConfirm: () => { + run(); + } + }) + } else { + run(); + } + } + + if(this.encryptedCount == 0) { + // This is the correct passcode, automatically use it. + useKeys(); + } else { + AlertManager.get().confirm({ + title: "Unable to Decrypt", + text: `The passcode you attempted still yields ${this.encryptedCount} un-decryptable items. It's most likely incorrect.`, + cancelButtonText: "Use Anyway", + confirmButtonText: "Try Again", + onConfirm: () => { + // Try again + this.setState({text: ""}); + }, + onCancel: () => { + // Use anyway + useKeys(true); + } + }) + } + } + + onTextChange = (text) => { + this.setState({text: text}) + } + + render() { + + return ( + + + + + {this.encryptedCount} items are encrypted and missing keys. + This can occur as a result of a device cloud restore. + Please enter the value of your local passcode as it was before the restore. + We'll be able to determine if it is correct based on its ability to decrypt your items. + + + + {this.inputRef = ref}} + style={[StyleKit.styles.sectionedTableCellTextInput]} + placeholder={"Enter Local Passcode"} + onChangeText={this.onTextChange} + value={this.state.text} + secureTextEntry={true} + autoCorrect={false} + autoCapitalize={'none'} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} + autoFocus={true} + placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} + underlineColorAndroid={'transparent'} + onSubmitEditing={this.submit.bind(this)} + /> + + + this.submit()} + /> + + + ); + } + +} diff --git a/src/screens/Notes/NoteCell.js b/src/screens/Notes/NoteCell.js index 915cd1bf..00dd711d 100644 --- a/src/screens/Notes/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -47,6 +47,10 @@ export default class NoteCell extends ThemedPureComponent { } showActionSheet = () => { + if(this.props.item.errorDecrypting) { + return; + } + let callbackForAction = (action) => { this.props.handleAction(this.props.item, action.key, () => { this.forceUpdate(); @@ -140,6 +144,13 @@ export default class NoteCell extends ThemedPureComponent { }) } + if(note.errorDecrypting) { + flags.push({ + text: "Missing Keys", + color: StyleKit.variables.stylekitDangerColor + }) + } + return flags; } @@ -202,9 +213,6 @@ export default class NoteCell extends ThemedPureComponent { {note.errorDecrypting && - - {"Password Required."} - {"Please sign in to restore your decryption keys and notes."} diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index d87774c2..b6ba8bd3 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -186,6 +186,12 @@ export default class Notes extends Abstract { display an alert instructing the user to log in. This happens when restoring from iCloud and data is restored but keys are not. */ displayNeedSignInAlertForLocalItemsIfApplicable(items) { + + if(KeysManager.get().shouldPresentKeyRecoveryWizard()) { + this.props.navigation.navigate("KeyRecovery"); + return; + } + if(!items || KeysManager.get().hasAccountKeys()) { return; } @@ -302,7 +308,7 @@ export default class Notes extends Abstract { } if(item.errorDecrypting) { - Alert.alert("Unable to Decrypt", "This note could not be decrypted. Perhaps it was encrypted with another key? Please try signing out then signing back in, or visit standardnotes.org/help to learn more."); + this.props.navigation.navigate("Settings"); } else { run(); } diff --git a/src/screens/Settings/Settings.js b/src/screens/Settings/Settings.js index 15aa0773..1940017b 100644 --- a/src/screens/Settings/Settings.js +++ b/src/screens/Settings/Settings.js @@ -52,6 +52,18 @@ export default class Settings extends Abstract { } }) + if(__DEV__) { + props.navigation.setParams({ + rightButton: { + title: "Destroy Data", + onPress: () => { + Auth.get().signout(); + KeysManager.get().clearOfflineKeysAndData(true); + } + } + }) + } + this.sortOptions = [ {key: "created_at", label: "Date Added"}, {key: "client_updated_at", label: "Date Modified"}, diff --git a/src/screens/SideMenu/TagSelectionList.js b/src/screens/SideMenu/TagSelectionList.js index 369820ed..44769057 100644 --- a/src/screens/SideMenu/TagSelectionList.js +++ b/src/screens/SideMenu/TagSelectionList.js @@ -130,12 +130,16 @@ class TagSelectionList extends ThemedComponent { // must pass title, text, and tags as props so that it re-renders when either of those change renderTagCell = ({item}) => { + let title = item.deleted ? "Deleting..." : item.title; + if(item.errorDecrypting) { + title = "Unable to Decrypt"; + } return ( {this.onTagSelect(item)}} onLongPress={() => this.showActionSheet(item)} - text={item.deleted ? "Deleting..." : item.title} + text={title} iconDesc={this.iconDescriptorForTag(item)} key={item.uuid} selected={this.props.selectedTags.includes(item)} diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 598487b5..9fcac786 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -388,7 +388,6 @@ export default class StyleKit { paddingTop: 13, paddingBottom: 12, backgroundColor: variables.stylekitBackgroundColor, - flex: 1, }, textInputCell: { From a2b05e463b41d0703edcf672efda25e91fffc7bc Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 21 Jan 2019 13:30:29 -0600 Subject: [PATCH 119/131] Colored subtitles for warning text --- src/components/HeaderTitleView.js | 14 +++++++++----- src/screens/Abstract.js | 9 +++++++-- src/screens/Compose.js | 2 +- src/screens/Root.js | 24 ++++++++++-------------- 4 files changed, 27 insertions(+), 22 deletions(-) diff --git a/src/components/HeaderTitleView.js b/src/components/HeaderTitleView.js index a7b15e1a..05d47292 100644 --- a/src/components/HeaderTitleView.js +++ b/src/components/HeaderTitleView.js @@ -12,15 +12,19 @@ export default class HeaderTitleView extends Component { render() { let styles = this.getStyles(); + let subtitleStyles = styles.get('headerSubtitle'); + if(this.props.subtitleColor) { + subtitleStyles[0].color = this.props.subtitleColor; + subtitleStyles[0].opacity = 1.0; + } + return ( + {this.props.title} + {this.props.subtitle && - + {this.props.subtitle} } diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 01469fa1..1443e3a6 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -22,7 +22,11 @@ export default class Abstract extends ThemedComponent { // this way, things like title and the Done button in the top left are visible during transition if(!templateOptions) { templateOptions = {}; } let options = { - headerTitle:, + headerTitle:, headerStyle: { backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor, borderBottomColor: StyleKit.variables.stylekitContrastBorderColor, @@ -170,9 +174,10 @@ export default class Abstract extends ThemedComponent { this.props.navigation.setParams(options); } - setSubTitle(subtitle) { + setSubTitle(subtitle, color) { let options = {}; options.subtitle = subtitle; + options.subtitleColor = color; this.props.navigation.setParams(options); } diff --git a/src/screens/Compose.js b/src/screens/Compose.js index c94383b6..d697ab56 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -323,7 +323,7 @@ export default class Compose extends Abstract { this.statusTimeout = setTimeout(function(){ this.saveError = true; this.syncTakingTooLong = false; - this.setSubTitle("Error syncing (changes saved offline)"); + this.setSubTitle("Sync Unavailable (changes saved offline)", StyleKit.variables.stylekitWarningColor); }.bind(this), 200) } } diff --git a/src/screens/Root.js b/src/screens/Root.js index 9d2ac6ee..06b32184 100644 --- a/src/screens/Root.js +++ b/src/screens/Root.js @@ -62,27 +62,27 @@ export default class Root extends Abstract { this.showingErrorStatus = true; setTimeout( () => { // need timeout for syncing on app launch - this.setStatusBarText(text); + this.setSubTitle(text, StyleKit.variables.stylekitWarningColor); }, 250); } else if(status.retrievedCount > 20) { var text = `Downloading ${status.retrievedCount} items. Keep app open.` - this.setStatusBarText(text); + this.setSubTitle(text); this.showingDownloadStatus = true; } else if(this.showingDownloadStatus) { this.showingDownloadStatus = false; var text = "Download Complete."; - this.setStatusBarText(text); + this.setSubTitle(text); setTimeout(() => { - this.setStatusBarText(null); + this.setSubTitle(null); }, 2000); } else if(this.showingErrorStatus) { - this.setStatusBarText(null); + this.setSubTitle(null); } }) this.signoutObserver = Auth.get().addEventHandler((event) => { if(event == SFAuthManager.DidSignOutEvent) { - this.setStatusBarText(null); + this.setSubTitle(null); let notifyObservers = false; ApplicationState.getOptions().reset(notifyObservers); this.reloadOptionsToDefault(); @@ -156,10 +156,10 @@ export default class Root extends Abstract { initializeData() { let encryptionEnabled = KeysManager.get().isOfflineEncryptionEnabled(); - this.setStatusBarText(encryptionEnabled ? "Decrypting items..." : "Loading items..."); + this.setSubTitle(encryptionEnabled ? "Decrypting items..." : "Loading items..."); let incrementalCallback = (current, total) => { let notesString = `${current}/${total} items...` - this.setStatusBarText(encryptionEnabled ? `Decrypting ${notesString}` : `Loading ${notesString}`); + this.setSubTitle(encryptionEnabled ? `Decrypting ${notesString}` : `Loading ${notesString}`); // Incremental Callback if(!this.dataLoaded) { this.dataLoaded = true; @@ -168,11 +168,11 @@ export default class Root extends Abstract { } let loadLocalCompletion = (items) => { - this.setStatusBarText("Syncing..."); + this.setSubTitle("Syncing..."); this.dataLoaded = true; // perform initial sync Sync.get().sync().then(() => { - this.setStatusBarText(null); + this.setSubTitle(null); }); } @@ -217,10 +217,6 @@ export default class Root extends Abstract { }); } - setStatusBarText(text) { - this.setSubTitle(text); - } - onNoteSelect = (note) => { this.composer.setNote(note); this.setState({selectedTagId: this.notesRef.options.selectedTagIds.length && this.notesRef.options.selectedTagIds[0]}); From d468c8916499cf2977d2fbd6da18da507ae03463 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 21 Jan 2019 13:34:03 -0600 Subject: [PATCH 120/131] Restore note in action sheet menu --- src/lib/itemActionManager.js | 10 ++++++++-- src/screens/Notes/NoteCell.js | 1 + src/screens/SideMenu/NoteSideMenu.js | 5 +---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/lib/itemActionManager.js b/src/lib/itemActionManager.js index 83483cd6..381d36bf 100644 --- a/src/lib/itemActionManager.js +++ b/src/lib/itemActionManager.js @@ -7,9 +7,8 @@ import Sync from './sfjs/syncManager' export default class ItemActionManager { static DeleteEvent = "DeleteEvent"; - static TrashEvent = "TrashEvent"; - + static RestoreEvent = "RestoreEvent"; static EmptyTrashEvent = "EmptyTrashEvent"; static PinEvent = "PinEvent"; @@ -81,6 +80,13 @@ export default class ItemActionManager { }) } + else if(event == this.RestoreEvent) { + item.content.trashed = false; + item.setDirty(true); + Sync.get().sync(); + callback && callback(); + } + else if(event == this.PinEvent || event == this.UnpinEvent) { item.setAppDataItem("pinned", event == this.PinEvent); item.setDirty(true); diff --git a/src/screens/Notes/NoteCell.js b/src/screens/Notes/NoteCell.js index 00dd711d..a43ed42d 100644 --- a/src/screens/Notes/NoteCell.js +++ b/src/screens/Notes/NoteCell.js @@ -90,6 +90,7 @@ export default class NoteCell extends ThemedPureComponent { if(!this.props.item.content.trashed) { options.push(ActionSheetWrapper.BuildOption({text: "Move to Trash", key: ItemActionManager.TrashEvent, destructive: true, callback: callbackForAction})); } else { + options.push(ActionSheetWrapper.BuildOption({text: "Restore Note", key: ItemActionManager.RestoreEvent, destructive: false, callback: callbackForAction})); options.push(ActionSheetWrapper.BuildOption({text: "Delete Forever", key: ItemActionManager.DeleteEvent, destructive: true, callback: callbackForAction})); } diff --git a/src/screens/SideMenu/NoteSideMenu.js b/src/screens/SideMenu/NoteSideMenu.js index 420cb36b..aeed4db2 100644 --- a/src/screens/SideMenu/NoteSideMenu.js +++ b/src/screens/SideMenu/NoteSideMenu.js @@ -200,10 +200,7 @@ export default class NoteSideMenu extends AbstractSideMenu { text: "Restore Note", key: "restore-note", onSelect: () => { - this.note.content.trashed = false; - this.note.setDirty(true); - Sync.get().sync(); - this.forceUpdate(); + this.runAction(ItemActionManager.RestoreEvent); } }, { From 44e7a7d7c164c3be3a2bac34e1f9ccb8afbf55c7 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 21 Jan 2019 14:02:14 -0600 Subject: [PATCH 121/131] Fixes issue where app may lock while privs authing --- src/lib/ApplicationState.js | 17 +++++++++++++++-- src/lib/sfjs/privilegesManager.js | 10 ++++++---- src/screens/Notes/Notes.js | 1 - 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/lib/ApplicationState.js b/src/lib/ApplicationState.js index 4fe38a25..76f664f8 100644 --- a/src/lib/ApplicationState.js +++ b/src/lib/ApplicationState.js @@ -5,6 +5,7 @@ import OptionsState from "@Lib/OptionsState" import AuthenticationSourceLocalPasscode from "@Screens/Authentication/Sources/AuthenticationSourceLocalPasscode"; import AuthenticationSourceBiometric from "@Screens/Authentication/Sources/AuthenticationSourceBiometric"; var pjson = require('../../package.json') +import PrivilegesManager from "@SFJS/privilegesManager"; export default class ApplicationState { @@ -134,7 +135,11 @@ export default class ApplicationState { this.mostRecentState = ApplicationState.LosingFocus; this.notifyOfState(ApplicationState.LosingFocus); - if(this.shouldLockApplication()) { + // If a privileges authentication session is in progress, we don't want to lock the application + // or return any sources. That's because while authenticating, Face ID prompts may trigger losing focus + // notifications, causing the app to lock. If the user backgrouds the app during privilege authentication, + // it will still be locked via the Backgrounding event. + if(this.shouldLockApplication() && !PrivilegesManager.get().authenticationInProgress()) { this.lockApplication(); } } @@ -256,7 +261,15 @@ export default class ApplicationState { // We don't want to do anything on gaining focus, since that may be called extraenously, // when you come back from notification center, etc. Any immediate locking should be handled // LosingFocus anyway. - if(!this.isAppVisibilityChange(state) || state == ApplicationState.GainingFocus) { + if(!this.isAppVisibilityChange(state) + || state == ApplicationState.GainingFocus) { + return {sources: []}; + } + + // If a privileges authentication session is in progress, we don't want to lock the application + // or return any sources. That's because while authenticating, Face ID prompts may trigger losing focus + // notifications, causing the app to lock. + if(PrivilegesManager.get().authenticationInProgress()) { return {sources: []}; } diff --git a/src/lib/sfjs/privilegesManager.js b/src/lib/sfjs/privilegesManager.js index 5b1525f3..d545d561 100644 --- a/src/lib/sfjs/privilegesManager.js +++ b/src/lib/sfjs/privilegesManager.js @@ -1,3 +1,4 @@ +import {Platform} from 'react-native' import ModelManager from "./modelManager"; import Sync from "./syncManager"; import { SFPrivilegesManager, SFSingletonManager } from "standard-file-js"; @@ -7,7 +8,6 @@ import AuthenticationSourceBiometric from "@Screens/Authentication/Sources/Authe import KeysManager from "@Lib/keysManager" import Storage from "@SFJS/storageManager" import Auth from "@SFJS/authManager" -import ApplicationState from "@Lib/ApplicationState" import StyleKit from "@Style/StyleKit" export default class PrivilegesManager extends SFPrivilegesManager { @@ -31,7 +31,9 @@ export default class PrivilegesManager extends SFPrivilegesManager { return Auth.get().offline(); }, hasLocalPasscode: async () => { - return KeysManager.get().hasOfflinePasscode(); + let hasPasscode = KeysManager.get().hasOfflinePasscode(); + let hasFingerprint = KeysManager.get().hasFingerprint(); + return hasPasscode || hasFingerprint; }, saveToStorage: async (key, value) => { return Storage.get().setItem(key, value); @@ -65,8 +67,8 @@ export default class PrivilegesManager extends SFPrivilegesManager { navigation.navigate("Authenticate", { leftButton: { - title: ApplicationState.isIOS ? "Cancel" : null, - iconName: ApplicationState.isIOS ? null : StyleKit.nameForIcon("close"), + title: Platform.OS == "ios" ? "Cancel" : null, + iconName: Platform.OS == "ios" ? null : StyleKit.nameForIcon("close"), }, authenticationSources: sources, hasCancelOption: true, diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index b6ba8bd3..0e26c5eb 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -327,7 +327,6 @@ export default class Notes extends Abstract { } handleActionsheetAction = (item, action, callback) => { - console.log("handleActionsheetAction", item, action); let run = () => { ItemActionManager.handleEvent(action, item, () => { callback(); From 8da782d3571e85c06fcb427b3d700359e4667ed9 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 21 Jan 2019 14:03:55 -0600 Subject: [PATCH 122/131] Beta 7 --- android/app/build.gradle | 4 ++-- ios/StandardNotes/Info.plist | 2 +- package.json | 6 +++--- src/lib/sfjs/privilegesManager.js | 1 - 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index b14e7223..68a4dd0b 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -102,8 +102,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 3000006 - versionName "3.0.0-beta6" + versionCode 3000007 + versionName "3.0.0-beta7" multiDexEnabled true diff --git a/ios/StandardNotes/Info.plist b/ios/StandardNotes/Info.plist index 495af231..055694ef 100644 --- a/ios/StandardNotes/Info.plist +++ b/ios/StandardNotes/Info.plist @@ -71,7 +71,7 @@ CFBundleSignature ???? CFBundleVersion - 6 + 7 LSRequiresIPhoneOS NSAppTransportSecurity diff --git a/package.json b/package.json index f541649d..0350d98d 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "StandardNotes", - "version": "3.0.0-beta6", - "versionIOS": "3.0.0-beta6", - "versionAndroid": "3.0.0-beta6", + "version": "3.0.0-beta7", + "versionIOS": "3.0.0-beta7", + "versionAndroid": "3.0.0-beta7", "license": "AGPL-3.0-or-later", "private": true, "scripts": { diff --git a/src/lib/sfjs/privilegesManager.js b/src/lib/sfjs/privilegesManager.js index d545d561..794fc8e6 100644 --- a/src/lib/sfjs/privilegesManager.js +++ b/src/lib/sfjs/privilegesManager.js @@ -118,5 +118,4 @@ export default class PrivilegesManager extends SFPrivilegesManager { let creds = privs.getCredentialsForAction(action); return creds; } - } From 157b859c5cb27d1098ae3964445452f69b85bc7a Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 22 Jan 2019 11:06:35 -0600 Subject: [PATCH 123/131] Handle direct press of biometric source --- src/screens/Authentication/Authenticate.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index c8952925..cb1ad4fd 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -145,6 +145,15 @@ export default class Authenticate extends Abstract { } } + async onBiometricDirectPress(source) { + // Validate current auth if set. Validating will also handle going to next + if(this.state.activeSource && this.state.activeSource != source) { + this.validateAuthentication(this.state.activeSource); + } else { + this.beginAuthenticationForSource(source); + } + } + onSuccess() { // Wait for componentWillBlur to call onSuccess callback. // This way, if the callback has another route change, the dismissal @@ -208,7 +217,7 @@ export default class Authenticate extends Abstract { dimmed={source != this.state.activeSource} tinted={source == this.state.activeSource} text={source.label} - onPress={() => {this.beginAuthenticationForSource(source)}} + onPress={() => {this.onBiometricDirectPress(source)}} > From 173915786397ff0cee10828efb1391c8f7435fc3 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 23 Jan 2019 11:51:38 -0600 Subject: [PATCH 124/131] Reset search state after unlocking app --- src/lib/keysManager.js | 6 +++++- src/screens/Abstract.js | 8 +++++--- src/screens/Notes/Notes.js | 35 +++++++++++++++++++++++++---------- 3 files changed, 35 insertions(+), 14 deletions(-) diff --git a/src/lib/keysManager.js b/src/lib/keysManager.js index 21b19533..edfd269c 100644 --- a/src/lib/keysManager.js +++ b/src/lib/keysManager.js @@ -438,7 +438,11 @@ export default class KeysManager { static getDeviceBiometricsAvailability(callback) { let isAndroid = Platform.OS == "android"; if(__DEV__) { - callback(true, "touch", "Fingerprint (Dev)"); + if(isAndroid) { + callback(true, "touch", "Fingerprint (Dev)"); + } else { + callback(true, "face", "Face ID"); + } return; } FingerprintScanner.isSensorAvailable().then((type) => { diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 1443e3a6..e1cdc91b 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -23,7 +23,7 @@ export default class Abstract extends ThemedComponent { if(!templateOptions) { templateOptions = {}; } let options = { headerTitle:, @@ -186,11 +186,13 @@ export default class Abstract extends ThemedComponent { this.configureNavBar(); } - unlockContent() { + unlockContent(callback) { if(!this.loadedInitialState) { this.loadInitialState(); } - this.mergeState({lockContent: false}); + this.setState({lockContent: false}, () => { + callback && callback(); + }); } constructState(state) { diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 0e26c5eb..5ecaf879 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -27,6 +27,7 @@ export default class Notes extends Abstract { constructor(props) { super(props); + this.stateNotes = []; this.options = ApplicationState.getOptions(); this.registerObservers(); @@ -61,11 +62,20 @@ export default class Notes extends Abstract { // not be sent again. So we want to make sure that we're able to reload state when component mounts, // and loadInitialState is called on componentDidMount this.reloadList(); + } - unlockContent() { - super.unlockContent(); - this.reloadHeaderBar(); + unlockContent(callback) { + super.unlockContent(() => { + // wait for the state.unlocked setState call to finish + if(this.searching) { + this.searching = false; + this.options.setSearchTerm(null); + } + + this.reloadHeaderBar(); + callback && callback(); + }); } componentWillFocus() { @@ -119,15 +129,19 @@ export default class Notes extends Abstract { registerObservers() { this.optionsObserver = this.options.addChangeObserver((options, eventType) => { + + this.reloadList(true); + // should only show for non-search term change let shouldReloadSubtitleAfterNotesReload = false; if(eventType !== OptionsState.OptionsStateChangeEventSearch) { shouldReloadSubtitleAfterNotesReload = true; this.setSubTitle("Loading..."); this.reloadHeaderBar(); + } else { + this.reloadHeaderBar(); } - this.reloadList(true); if(shouldReloadSubtitleAfterNotesReload) { this.setSubTitle(null); @@ -215,8 +229,11 @@ export default class Notes extends Abstract { } var tags = ModelManager.get().getTagsWithIds(this.options.selectedTagIds); - // Tags might not be completely loaded yet, as reloadHeaderBar can be called from incrementalSync - if(tags.length > 0) { + + if(this.searching) { + this.setTitle(`${this.stateNotes.length} search results`); + } else if(tags.length > 0) { + // Tags might not be completely loaded yet, as reloadHeaderBar can be called from incrementalSync var tag = tags[0]; notesTitle = tag.title; this.setTitle(notesTitle); @@ -315,15 +332,13 @@ export default class Notes extends Abstract { } onSearchTextChange = (text) => { - this.skipUpdatingNavBar = true; + this.searching = true; this.options.setSearchTerm(text); - this.skipUpdatingNavBar = false; } onSearchCancel = () => { - this.skipUpdatingNavBar = true; + this.searching = false; this.options.setSearchTerm(null); - this.skipUpdatingNavBar = false; } handleActionsheetAction = (item, action, callback) => { From 583d8f59d7e7820e592b755777b3a2b7e0d117ab Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 23 Jan 2019 12:08:59 -0600 Subject: [PATCH 125/131] Manual unlock button in LockedView in case modal doesn't auto-appear --- src/containers/LockedView.js | 35 +++++++++++++++++++++++++++++++++-- src/screens/Notes/Notes.js | 5 ++++- src/screens/Root.js | 10 ++++++++++ 3 files changed, 47 insertions(+), 3 deletions(-) diff --git a/src/containers/LockedView.js b/src/containers/LockedView.js index 4d448e48..c6e0e92b 100644 --- a/src/containers/LockedView.js +++ b/src/containers/LockedView.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import { StyleSheet, View, Text } from 'react-native'; +import { StyleSheet, View, Text, TouchableOpacity } from 'react-native'; import StyleKit from "@Style/StyleKit" import Icon from 'react-native-vector-icons/Ionicons'; @@ -7,6 +7,7 @@ export default class LockedView extends Component { constructor(props) { super(props); + this.loadStyles(); } render() { @@ -18,9 +19,39 @@ export default class LockedView extends Component { return ( Application Locked. - Return to Notes to unlock. + + {!this.props.onUnlockPress && + Return to Notes to unlock. + } + + {this.props.onUnlockPress && + + + Unlock + + + } ) } + loadStyles = () => { + this.styles = { + unlockButton: { + marginTop: 15, + padding: 8, + paddingLeft: 20, + paddingRight: 20, + borderRadius: 3, + backgroundColor: StyleKit.variables.stylekitInfoColor, + }, + + unlockButtonText: { + color: StyleKit.variables.stylekitInfoContrastColor, + textAlign: "center", + fontWeight: "bold" + } + } + } + } diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 5ecaf879..334c191e 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -361,10 +361,13 @@ export default class Notes extends Abstract { } } + onUnlockPress = () => { + this.props.onUnlockPress(); + } render() { if(this.state.lockContent) { - return ; + return ; } return ( diff --git a/src/screens/Root.js b/src/screens/Root.js index 06b32184..e9a54d07 100644 --- a/src/screens/Root.js +++ b/src/screens/Root.js @@ -101,6 +101,14 @@ export default class Root extends Abstract { } } + onUnlockPress = () => { + let mostRecentState = ApplicationState.get().getMostRecentState(); + let authProps = ApplicationState.get().getAuthenticationPropsForAppState(mostRecentState); + if(authProps.sources.length > 0) { + this.presentAuthenticationModal(authProps); + } + } + componentDidMount() { super.componentDidMount(); if(this.authOnMount) { @@ -254,6 +262,7 @@ export default class Root extends Abstract { {!isTablet && {this.notesRef = ref}} + onUnlockPress={this.onUnlockPress} navigation={this.props.navigation} /> } @@ -263,6 +272,7 @@ export default class Root extends Abstract { {this.notesRef = ref}} + onUnlockPress={this.onUnlockPress} navigation={this.props.navigation} onNoteSelect={this.onNoteSelect} /> From b6cd74727ac5af8077a872654c9035e33de974d0 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 23 Jan 2019 12:15:42 -0600 Subject: [PATCH 126/131] Deselect active note on sign out (for tablet) --- src/lib/reviewManager.js | 2 +- src/screens/Compose.js | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/lib/reviewManager.js b/src/lib/reviewManager.js index d298cc8d..cd0e8f81 100644 --- a/src/lib/reviewManager.js +++ b/src/lib/reviewManager.js @@ -2,7 +2,7 @@ import {Platform} from 'react-native'; import * as StoreReview from 'react-native-store-review'; import Storage from "./sfjs/storageManager"; -let NumRunsBeforeAskingForReview = [20, 65, 120] +let NumRunsBeforeAskingForReview = [18, 65, 120] export default class ReviewManager { diff --git a/src/screens/Compose.js b/src/screens/Compose.js index d697ab56..4b093732 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -55,6 +55,10 @@ export default class Compose extends Abstract { this.loadStyles(); + this.registerObservers(); + } + + registerObservers() { this.syncObserver = Sync.get().addEventHandler((event, data) => { if(event == "sync:completed") { if(this.note.deleted || this.note.content.trashed) { @@ -105,6 +109,12 @@ export default class Compose extends Abstract { } } }); + + this.signoutObserver = Auth.get().addEventHandler((event) => { + if(event == SFAuthManager.DidSignOutEvent) { + this.setNote(null); + } + }); } /* @@ -168,6 +178,7 @@ export default class Compose extends Abstract { // the component will blur, and this will be called. Then, because the right drawer is now locked, // we ignore render events. This will cause the screen to be white when you save the new tag. SideMenuManager.get().removeHandlerForRightSideMenu(); + Auth.get().removeEventHandler(this.signoutObserver); Sync.get().removeEventHandler(this.syncObserver); ComponentManager.get().deregisterHandler(this.componentHandler); From a7a9fc7659248bf1bb55fd544f7d6fe21125f4b0 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 23 Jan 2019 13:02:13 -0600 Subject: [PATCH 127/131] Allow selection on Android while note is locked --- src/screens/Compose.js | 8 +++++++- .../standardnotes/sntextview/SNTextView.java | 20 +++++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 4b093732..fe4036dc 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -25,7 +25,8 @@ import { Keyboard, Text, ScrollView, - Dimensions + Dimensions, + Alert } from 'react-native'; import StyleKit from "@Style/StyleKit" @@ -304,6 +305,11 @@ export default class Compose extends Abstract { } onTextChange = (text) => { + if(this.note.locked) { + Alert.alert('Note Locked', "This note is locked. Please unlock this note to make changes.", [{text: 'OK'}]) + return; + } + this.note.text = text; // Clear dynamic previews if using plain editor diff --git a/vendor/sn-textview/android/src/main/java/com/standardnotes/sntextview/SNTextView.java b/vendor/sn-textview/android/src/main/java/com/standardnotes/sntextview/SNTextView.java index 10c8a4c6..5fb25999 100644 --- a/vendor/sn-textview/android/src/main/java/com/standardnotes/sntextview/SNTextView.java +++ b/vendor/sn-textview/android/src/main/java/com/standardnotes/sntextview/SNTextView.java @@ -50,7 +50,7 @@ public SNTextView(Context context) { editText.setLayoutParams(new ScrollView.LayoutParams(MATCH_PARENT, WRAP_CONTENT)); editText.setGravity(Gravity.TOP); editText.setInputType(editText.getInputType() | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT | InputType.TYPE_TEXT_FLAG_MULTI_LINE); - + editText.setTextIsSelectable(true); scrollView.addView(editText); this.addView(scrollView); @@ -122,7 +122,23 @@ public void setAutoFocus(boolean autoFocus) { } public void setEditable(boolean editable) { - editText.setEnabled(editable); + /* + setRawInputType is the only solution that works for keeping the text selectable while disabled + previously we used setEnabled(false), but this would make text unselectable when the note is locked. + setInputType(null) also doesn't work because it removes the multiline functionality. + With setRawInputType, the keyboard doesn't come up, but if you're using a hardware keyboard, + changes will still be received. So we combine the below with javascript side lock checking to decline + any physical changes. + + editText.setTextIsSelectable is also required for this to work, which is set at setup + + */ + if(!editable) { + editText.setRawInputType(InputType.TYPE_NULL); + } else { + editText.setRawInputType(editText.getInputType() | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT | InputType.TYPE_TEXT_FLAG_MULTI_LINE); + } + } public void blur() { From dd26cfe19b7ac80cfe702396c2d931078bb68a47 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 23 Jan 2019 13:25:58 -0600 Subject: [PATCH 128/131] Fix issue where render may be called due to unnecessary state change --- src/screens/Compose.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/screens/Compose.js b/src/screens/Compose.js index fe4036dc..93ccd50e 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -50,7 +50,9 @@ export default class Compose extends Abstract { if(noteId) { note = ModelManager.get().findItem(noteId);} this.setNote(note, true); - this.constructState({title: this.note.title, noteLocked: this.note.locked /* required to re-render on change */}); + // Use true/false for note.locked as we don't want values of null or undefined, which may cause + // unnecessary renders. + this.constructState({title: this.note.title, noteLocked: this.note.locked ? true : false /* required to re-render on change */}); this.configureHeaderBar(); @@ -91,7 +93,10 @@ export default class Compose extends Abstract { Do not make text part of the state, otherwise that would cause a re-render on every keystroke. */ - this.setState({title: this.note.title, noteLocked: this.note.locked}); + + // Use true/false for note.locked as we don't want values of null or undefined, which may cause + // unnecessary renders. (on constructor it was undefined, and here, it was null, causing a re-render to occur on android, causing textview to reset cursor) + this.setState({title: this.note.title, noteLocked: this.note.locked ? true : false}); } } }); From ea8b03b1b95f6128e38b2181612da42f52ccb348 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 23 Jan 2019 13:52:27 -0600 Subject: [PATCH 129/131] Display alert for Android <= 6 about web editors not being supported --- src/screens/Webview.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/screens/Webview.js b/src/screens/Webview.js index 0679fc64..4b1389d5 100644 --- a/src/screens/Webview.js +++ b/src/screens/Webview.js @@ -38,6 +38,13 @@ export default class Webview extends Component { } } + componentDidMount() { + if(Platform.OS == "android" && Platform.Version <= 23) { + // postMessage doesn't work on Android <= 6 (API version 23) https://github.com/facebook/react-native/issues/11594 + Alert.alert('Editors Not Supported', `Your version of Android does not support web editors. Changes you make may not be properly saved. Please switch to the Plain Editor for the best experience.`, [{text: 'OK'}]) + } + } + componentDidUpdate(prevProps, prevState) { if(prevProps.noteId != this.props.noteId || prevProps.editorId != this.props.editorId) { this.reloadData(); From 75ec50668420eb8914ae98bace8a2a29f63e26e7 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Wed, 23 Jan 2019 15:22:50 -0600 Subject: [PATCH 130/131] Beta 8 --- android/app/build.gradle | 4 ++-- ios/StandardNotes/Info.plist | 2 +- package.json | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 68a4dd0b..e7d6face 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -102,8 +102,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 3000007 - versionName "3.0.0-beta7" + versionCode 3000008 + versionName "3.0.0-beta8" multiDexEnabled true diff --git a/ios/StandardNotes/Info.plist b/ios/StandardNotes/Info.plist index 055694ef..07256d75 100644 --- a/ios/StandardNotes/Info.plist +++ b/ios/StandardNotes/Info.plist @@ -71,7 +71,7 @@ CFBundleSignature ???? CFBundleVersion - 7 + 8 LSRequiresIPhoneOS NSAppTransportSecurity diff --git a/package.json b/package.json index 0350d98d..476560e2 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "StandardNotes", - "version": "3.0.0-beta7", - "versionIOS": "3.0.0-beta7", - "versionAndroid": "3.0.0-beta7", + "version": "3.0.0-beta8", + "versionIOS": "3.0.0-beta8", + "versionAndroid": "3.0.0-beta8", "license": "AGPL-3.0-or-later", "private": true, "scripts": { From e753efc6f0ccc5d14d2564aad1e6e5fa0c8a57a0 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Fri, 25 Jan 2019 10:39:23 -0600 Subject: [PATCH 131/131] 3.0.0 --- android/app/build.gradle | 4 ++-- android/app/src/main/AndroidManifest.xml | 2 +- android/build.gradle | 9 --------- ios/StandardNotes/Info.plist | 2 +- package.json | 6 +++--- 5 files changed, 7 insertions(+), 16 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index e7d6face..0c4400cc 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -102,8 +102,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 3000008 - versionName "3.0.0-beta8" + versionCode 3000009 + versionName "3.0.0" multiDexEnabled true diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 6b4c69af..05381fcd 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -20,7 +20,7 @@ android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" - android:allowBackup="false" + android:allowBackup="true" android:theme="@style/AppTheme"> CFBundleSignature ???? CFBundleVersion - 8 + 9 LSRequiresIPhoneOS NSAppTransportSecurity diff --git a/package.json b/package.json index 476560e2..44e0147f 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "StandardNotes", - "version": "3.0.0-beta8", - "versionIOS": "3.0.0-beta8", - "versionAndroid": "3.0.0-beta8", + "version": "3.0.0", + "versionIOS": "3.0.0", + "versionAndroid": "3.0.0", "license": "AGPL-3.0-or-later", "private": true, "scripts": {

2 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 C4>a=t delta 14905 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 W$n{;z4?=3$(9xe;uD6V@@cs|bD}N{e diff --git a/android/app/src/main/assets/fonts/Octicons.ttf b/android/app/src/main/assets/fonts/Octicons.ttf index 09e2b2d79c370d9370a772b3542acdfca66ed634..09f5a96c05af2c82a0002f0d8b0fca6ba3f08fc7 100644 GIT binary patch delta 5595 zcmaht4R9mnb>FxDE3MZ0mu<=RT9PH7eX@13EtxycC&R@YaBwaVLpiv3C9N%;C9T+% z?reuf2EsL=8N#qFop$o$kn{>^OVS$Ba5F8Y9S9}#<_gK>CSk%s()5M`r38|L0lRNk zzB|ZtT1or9_uluupZEKHtMjMv%1>|;VT6zatsoLjPfgu)-93-Ke+@zl1>lAb+&G*% z@Y~x@B7|=NdNyB?Yp;FNw}}wB9eCH|kJKgP!g~>-7NMV-m-X7_Cd`BuZUdT|FE7oN z_I>+$gy?e!9sE{NkqhD*#52(MGCb*GQEAHLTNoJF3yf&7QeUM16TblT_uWA z_x0Cc?mK}#T#*-RSiqkFd>rJZs$5Z)pJQ%BNd6M=o~)^Q{n7kWUqL9p57zfu%7KEa zf9kr=v|aulvJ)^2q0|5IYP8jMzZ%{AaPuhw=Bz#>GlFZ4hPYag--{KnE$w4DY1qCpS`H>LX+%S5n9^*YC zWo#pdj7idOyiHJsN{S9kWb>oegvNbjgamoxF>)AxXYJ=?0yk&S96ExIp@-0M^gZ+} zI*r|UKVHTs34*ws_&)Itc|G|KMNzjX7kr(*ao;1pQ@->5 zA^&{k^ljABMf*L*Zv5L}V^G$* z*EiF5EGEVZu|JPJANwG##eWsw=`XA{(zin#U;9JANSw1FCPEO(nHda`k`&Egg3#!5CjyRw4Nnv*4QNZMS- zzrgFrg#svudQb$#Aw&G;_|{?+SzoTKfX`&m;{P{-H4~TsNT1*$=u!Yna1xt6iC$RqVHV98P=h&a1MX z?9^qwtiX!ygZ8<#9|*^AhZC>hETR$OaXb^q;FV3ZlAJz;oyMHFmYl{}ESbF-voo-| znyl55)2qqF#U#R3w7-pK&3;dS4Y2X`wX55XF=P^r8!!3>FkyV;yBYS<8H;shJC{A3 z9#7|5&i@i`{Dt&g;U!pk9Sy_SNWhSL`#}5;dk52PgF`|JujBSz=^>}sYqN(sZ(!Po zgQMMjSMBDV1Kkn3Fg`5JTW?&ijgsnMx*$B zfW*Zw|!1=}ZmV~{hM^XVR_QL_+2&BLuHnkgzq%-Nv2&fWo z=`c1rM4H-%W24XWJns-WfSn1+W)mdA#$yTdEv)C-g@uO}x{`bEK5@@IC+@)@i!EV? z$n#Qm*1_9soH%Qafg#@p*~9z$_9nXqK=_^$YmW>+Mr==8>!eeA`$M7r(C00<3RtMW z1x;=UGT&^CyHnBae%MwTwrBA_-ivRugg!pS+KZ_-NH~r*&*Hnlxowc4!)O<}5$VQ@ z>ECMxylmPui0S8yeH!x?k9;1#$8qnG(m8EHChU4BPNSj;aJr0OH-oQ9E9q8x?@OSQ* z`%Ao^bdviq-Z8{`IF99S5XBqJ*29mx2^VqQJjGEg4?hl>N9yJ#{%?%$H9nZ!gNtiB zulO;>(}r_zKby`>V8{bw_udZU=Dkri5CW}e!nkYim7Gr`D2BFE#`Al7tb>t8(&kwL z;k%6A?46EpYiBbUXV~`t>R>YjkzqSV&y1WopYe@vymQ8NJ$%pLPS?0m`P2*an|KYf zdSWVxuQSxC`{>j7O}uJsOzjpQV0rqBoX7dVG9Zd^^;Lh?>G6&DBEHC2WNc&%N~|Ly>Ts<-sEoK1i2td@=E95&sV7nf@J} zH1CVFCn7_sZ(!>3%*Uutb&g&+fL+n{SYqmm@7}&EJ~MHNLgxJhZN3f`c-mSo2_@%7 z9?hUz(P3EJ`1h*^ysgzU<`!5c93LW}>=>bIwl^6U6AS`in6@_NpuqI@GJ=aqB$!_e z_VoC~cJb@(V1jY6aF2kG+3WsSuUkn5SAt2!?S;f#k+Lf=#GFN7oK6O_3=`^)hhRz< z<4iai*P6id3>?s`%fSv!P7X1TcKdzZj&{+1@3r2^ATSt$rWu+h!o$fh<8r)Y+jv)! zuwZM`vl8AdFrfn>b6e(YP<^2!JMk$v8SJ25H|c|d>5FGhtBbyZ1VjXO;3byD# zU8ol!*JygA7c$TV$=S<}nYGvB8u4X%T{O6K3?7dIuRA;*2b^qKhew*7#?DQYg%4ga z*&Amao|P34k~YpxPh)94dv*oPZiTS9);j8k+K4cey$26$#~EYjK+2F0q~OMj*8cdw z&uF_@HO|AH_M>TI`O{Yj6L<(Rj!BJ%@s-98K0QG(1VtI_%pN+tE0XjW*UbD$umcUj z(Gl>PXM>32Y&^hr6C)|e4Z=7-(>wCTK0erG4_xN5yX~*L0(hL+0VY@;k?T#{NS?X>f^om0pMQa38uCl=6GqFw=%bY&A@H7{`XeB32U{ z-GkG6Fev%AhkTA0oGVNhl%-ubl{WtEkRR_besw60e`CnAUfI=7K;;bE?O`4e!EMht z?1PT5V^DBp+ByiRv}-&oF*X|`v3v>>3}Y9ZZm-+r6zm+IB{5Bt3?(ouOWRn6CP@OP zF(yco!#0*;*`FJ$vp%CZ>uB0N0=~2q(e8wmp1d$K|4mwS3IfN`aK+|X(PhIlNzfF= z3?o3PW@(mznn%M`kcKZyFdW5gmB0&znfO1=Vh7V)w9DXZM@#>K|6l)&k4`05v&oB! zg#I^0{^eu}WFS`8XIZ?>e0Njf&IZ|)fg2keZ{6&Ey9jr>Ve6NC(!`U-+w!ianFZKP z27nyIQVS;#3(?!cNw~>=ZVRVC=J73@hC9V8TR4L_Ou!o=rg&>Ec$Ktp3^L>vPQZ1m zdkZJg6iS(90uqgwr~dcZ^Oksm0xH}!EJ05o)k)=9dP-4EZ@bY5~GP! za>uywqkP547JBjHMy_y}K!0VtP`F=2BD_C+7T<~g0DlgJje>Gp6CK2VL(64FtJ`Ev zQ;#MJ>e1>JT2|)j_7+zw%@^y=7Oq$1a@msm1jCeeeO$sCBYvFIsBtZ_QDbt7yr5`J zDyNjoR8B1y0H_O`2`aL-z~{7*GMATi1u#`E09I!KJE|)hnQP2*dDwKdAZv8KsN@%T z3zkcIT>$KerdF*DUL?%TIWF{A8?#wd69gMIAz#w+WhJ4PWxePyiAJfO$f>ecVDjZs zt+qtx;RSs`1lTB8GnZjcLW^wFOoGa*1%=J4m5NfWySLgzp`_;|XQYt8_xW(HVd0{|B z&6UauRVdBP*-Vg-3k9VhSZHa!s={U*Ks4tP6&2djg+5KGs7Edl=HCtlQdv@{Ihf9F zf<&%Vm9-__!cC<`3oDc~C0|#yC7VUUu#(JKXss~U644tuSgcW2{1#tds+60h>H-*P zYpClY-(;IaYlh`gjh-vRR;W2MQ05g`qvlIdDCy2T+J6P)O171 zlmNS{m71(6yorM?=M|@kHERusWlg!Gq3CsbzO3dHc3zWnIYpzPtrcnbCr7KZMOXuL zql#)pX)CH)X<4n-Wf%$C(8Weht<$AyPF3RcvR#tVeWQ$O1N>wR{EkaXT zBvWd_B&9raSkZK4$+@89=rr7SRC5TO?=x-&8ND%_?OEHeXif)r4iuEvyboQ5CsV z=1l+=k_&b-FG0xc;!NBu6?{dR2Q#Tvg*5{o0-djb-@sZ`g{hRFq-a7#)#|d=$|tJQ zs4KRrny4yAVYf|%s;YH`Qz3Nb!BbYfL$v(PzJgG{V7^rHO&y`U6$3pc~)0;U%klc&`g z4NR-lNln)&t&v-@>ky+#H8BUmjuzfbfJdO7GCG7=z6gy5-sW_rUN2SWbw)3ilyZU9 zA!QS#DrdE7qt582k(W5o3QVk&DIE+9K&?^wQZ-N3<$10y>kFpS`MLuB$V0?&5Em6l z-ZHQjA!SO-O4C*^!k!X2SgtEzeqx{Z$MU*3(#2JZ&X1?tLAWfE@FU~Wm2b)%JqDaT$XF*`3rA&@KV(} SQGfi?jCJ~6`b+cG=>Gt%=X(DD delta 5679 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 K&A&-sIrrZneyZC5 diff --git a/android/app/src/main/java/com/standardnotes/MainApplication.java b/android/app/src/main/java/com/standardnotes/MainApplication.java index 4d3959fd..85cff87a 100644 --- a/android/app/src/main/java/com/standardnotes/MainApplication.java +++ b/android/app/src/main/java/com/standardnotes/MainApplication.java @@ -9,6 +9,8 @@ import android.view.WindowManager; import com.facebook.react.ReactApplication; +import com.vinzscam.reactnativefileviewer.RNFileViewerPackage; +import com.rnfs.RNFSPackage; import com.swmansion.gesturehandler.react.RNGestureHandlerPackage; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; @@ -44,6 +46,8 @@ public boolean getUseDeveloperSupport() { protected List getPackages() { return Arrays.asList( new MainReactPackage(), + new RNFileViewerPackage(), + new RNFSPackage(), new RNGestureHandlerPackage(), BugsnagReactNative.getPackage(), new KeychainPackage(), diff --git a/android/settings.gradle b/android/settings.gradle index 82525a90..7a2e98dd 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,4 +1,8 @@ rootProject.name = 'StandardNotes' +include ':react-native-file-viewer' +project(':react-native-file-viewer').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-file-viewer/android') +include ':react-native-fs' +project(':react-native-fs').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fs/android') include ':app' include ':react-native-gesture-handler' diff --git a/ios/StandardNotes.xcodeproj/project.pbxproj b/ios/StandardNotes.xcodeproj/project.pbxproj index 0aef7106..65a06b36 100644 --- a/ios/StandardNotes.xcodeproj/project.pbxproj +++ b/ios/StandardNotes.xcodeproj/project.pbxproj @@ -5,7 +5,6 @@ }; objectVersion = 46; objects = { - /* Begin PBXBuildFile section */ 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; @@ -13,6 +12,7 @@ 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; 00E356F31AD99517003FC87E /* StandardNotesTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* StandardNotesTests.m */; }; + 0A7C7EB08AA3465C8E686821 /* libRNFS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CEB6B877AE784055A8E294A8 /* libRNFS.a */; }; 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; @@ -41,6 +41,7 @@ 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; 965031D980094619B7DBA0FD /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1F569402A90047A59845394A /* Ionicons.ttf */; }; 9A2C235D0ABA4B0CB9A428CA /* libRNKeychain.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDCF33ADCFE845D588CC4E66 /* libRNKeychain.a */; }; + 9E1F5D0FE7C441D685DAEEAA /* libRNFileViewer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 37A42F4068AE42DD8D2DF182 /* libRNFileViewer.a */; }; ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; C00E89E3E7F949A4AA0F613E /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F30913DACE34E71895FBF91 /* libz.tbd */; }; CD17667C1F795DC100165C83 /* libSNTextView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1766781F795AE500165C83 /* libSNTextView.a */; }; @@ -394,6 +395,27 @@ remoteGlobalIDString = 134814201AA4EA6300B7C361; remoteInfo = RNGestureHandler; }; + CDEBDD9B21E044B500333D77 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 2FAF1266E8404686B7F36870 /* RNFS.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F12AFB9B1ADAF8F800E0535D; + remoteInfo = RNFS; + }; + CDEBDD9D21E044B500333D77 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 2FAF1266E8404686B7F36870 /* RNFS.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 6456441F1EB8DA9100672408; + remoteInfo = "RNFS-tvOS"; + }; + CDEBDDE221E044BD00333D77 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 645E3D9167344C3E81B7223C /* RNFileViewer.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RNFileViewer; + }; CDFC05B41F79A868007EFC71 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = CD17664C1F795AE500165C83 /* SNTextView.xcodeproj */; @@ -435,12 +457,15 @@ 2416263A135F439AA3C5F9D2 /* Feather.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Feather.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Feather.ttf"; sourceTree = ""; }; 2D02E47B1E0B4A5D006451C7 /* StandardNotes-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "StandardNotes-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D02E4901E0B4A5D006451C7 /* StandardNotes-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "StandardNotes-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2FAF1266E8404686B7F36870 /* RNFS.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNFS.xcodeproj; path = "../node_modules/react-native-fs/RNFS.xcodeproj"; sourceTree = ""; }; + 37A42F4068AE42DD8D2DF182 /* libRNFileViewer.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNFileViewer.a; sourceTree = ""; }; 48127930FB1344778C168838 /* libRNVectorIcons.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNVectorIcons.a; sourceTree = ""; }; 54ED130E749A46A3B15B27F2 /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = ""; }; 59DCF8530F2945FFAA0300FD /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = ""; }; 5C13FDBBDDEE4F1285F88B41 /* RNStoreReview.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNStoreReview.xcodeproj; path = "../node_modules/react-native-store-review/ios/RNStoreReview.xcodeproj"; sourceTree = ""; }; 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; 6314B32C63AC4827A9329AA6 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialCommunityIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = ""; }; + 645E3D9167344C3E81B7223C /* RNFileViewer.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNFileViewer.xcodeproj; path = "../node_modules/react-native-file-viewer/ios/RNFileViewer.xcodeproj"; sourceTree = ""; }; 6F30913DACE34E71895FBF91 /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; 737AF67874434967865855D8 /* BugsnagReactNative.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = BugsnagReactNative.xcodeproj; path = "../node_modules/bugsnag-react-native/cocoa/BugsnagReactNative.xcodeproj"; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; @@ -454,6 +479,7 @@ CDB58A101F6C5178009EF868 /* RNMail.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNMail.xcodeproj; path = "../vendor/react-native-mail/RNMail.xcodeproj"; sourceTree = ""; }; CDC17F4A1F6E24720037D7F9 /* StandardNotes.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = StandardNotes.entitlements; path = StandardNotes/StandardNotes.entitlements; sourceTree = ""; }; CDCF33ADCFE845D588CC4E66 /* libRNKeychain.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNKeychain.a; sourceTree = ""; }; + CEB6B877AE784055A8E294A8 /* libRNFS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNFS.a; sourceTree = ""; }; D38724A93AC141D6B51D1356 /* Foundation.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Foundation.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Foundation.ttf"; sourceTree = ""; }; EFD3F9197A5F41C0904D7E60 /* libBugsnagReactNative.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libBugsnagReactNative.a; sourceTree = ""; }; /* End PBXFileReference section */ @@ -494,6 +520,8 @@ C00E89E3E7F949A4AA0F613E /* libz.tbd in Frameworks */, 6C1915C4DE9040A9BB17CFBB /* libRNStoreReview.a in Frameworks */, 300BF5D7132F46BCAB353149 /* libRNGestureHandler.a in Frameworks */, + 0A7C7EB08AA3465C8E686821 /* libRNFS.a in Frameworks */, + 9E1F5D0FE7C441D685DAEEAA /* libRNFileViewer.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -699,6 +727,8 @@ 737AF67874434967865855D8 /* BugsnagReactNative.xcodeproj */, 5C13FDBBDDEE4F1285F88B41 /* RNStoreReview.xcodeproj */, 19A39FBB53A3465B81022E02 /* RNGestureHandler.xcodeproj */, + 2FAF1266E8404686B7F36870 /* RNFS.xcodeproj */, + 645E3D9167344C3E81B7223C /* RNFileViewer.xcodeproj */, ); name = Libraries; sourceTree = ""; @@ -821,6 +851,8 @@ EFD3F9197A5F41C0904D7E60 /* libBugsnagReactNative.a */, ADB6F6B9BC7144FCB2C08D40 /* libRNStoreReview.a */, 04047F33889C425483EB8244 /* libRNGestureHandler.a */, + CEB6B877AE784055A8E294A8 /* libRNFS.a */, + 37A42F4068AE42DD8D2DF182 /* libRNFileViewer.a */, ); name = "Recovered References"; sourceTree = ""; @@ -833,6 +865,23 @@ name = Products; sourceTree = ""; }; + CDEBDD9721E044B500333D77 /* Products */ = { + isa = PBXGroup; + children = ( + CDEBDD9C21E044B500333D77 /* libRNFS.a */, + CDEBDD9E21E044B500333D77 /* libRNFS.a */, + ); + name = Products; + sourceTree = ""; + }; + CDEBDDB721E044BD00333D77 /* Products */ = { + isa = PBXGroup; + children = ( + CDEBDDE321E044BD00333D77 /* libRNFileViewer.a */, + ); + name = Products; + sourceTree = ""; + }; D0C5C4528C8147238D73A75F /* Frameworks */ = { isa = PBXGroup; children = ( @@ -1025,6 +1074,14 @@ ProductGroup = CDB58A0B1F6C5174009EF868 /* Products */; ProjectRef = CDB58A0A1F6C5174009EF868 /* ReactNativeFingerprintScanner.xcodeproj */; }, + { + ProductGroup = CDEBDDB721E044BD00333D77 /* Products */; + ProjectRef = 645E3D9167344C3E81B7223C /* RNFileViewer.xcodeproj */; + }, + { + ProductGroup = CDEBDD9721E044B500333D77 /* Products */; + ProjectRef = 2FAF1266E8404686B7F36870 /* RNFS.xcodeproj */; + }, { ProductGroup = CDE0D5F521D4012300E093B5 /* Products */; ProjectRef = 19A39FBB53A3465B81022E02 /* RNGestureHandler.xcodeproj */; @@ -1390,6 +1447,27 @@ remoteRef = CDE0D5F821D4012300E093B5 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + CDEBDD9C21E044B500333D77 /* libRNFS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRNFS.a; + remoteRef = CDEBDD9B21E044B500333D77 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + CDEBDD9E21E044B500333D77 /* libRNFS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRNFS.a; + remoteRef = CDEBDD9D21E044B500333D77 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + CDEBDDE321E044BD00333D77 /* libRNFileViewer.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRNFileViewer.a; + remoteRef = CDEBDDE221E044BD00333D77 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -1542,6 +1620,8 @@ "$(SRCROOT)/../node_modules/bugsnag-react-native/cocoa/**", "$(SRCROOT)/../node_modules/react-native-store-review/ios", "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", + "$(SRCROOT)/../node_modules/react-native-fs/**", + "$(SRCROOT)/../node_modules/react-native-file-viewer/ios", ); INFOPLIST_FILE = StandardNotesTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1553,6 +1633,8 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1576,6 +1658,8 @@ "$(SRCROOT)/../node_modules/bugsnag-react-native/cocoa/**", "$(SRCROOT)/../node_modules/react-native-store-review/ios", "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", + "$(SRCROOT)/../node_modules/react-native-fs/**", + "$(SRCROOT)/../node_modules/react-native-file-viewer/ios", ); INFOPLIST_FILE = StandardNotesTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1587,6 +1671,8 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1614,6 +1700,8 @@ "$(SRCROOT)/../node_modules/react-native/Libraries/Text", "$(SRCROOT)/../node_modules/react-native-store-review/ios", "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", + "$(SRCROOT)/../node_modules/react-native-fs/**", + "$(SRCROOT)/../node_modules/react-native-file-viewer/ios", ); INFOPLIST_FILE = StandardNotes/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1647,6 +1735,8 @@ "$(SRCROOT)/../node_modules/react-native/Libraries/Text", "$(SRCROOT)/../node_modules/react-native-store-review/ios", "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", + "$(SRCROOT)/../node_modules/react-native-fs/**", + "$(SRCROOT)/../node_modules/react-native-file-viewer/ios", ); INFOPLIST_FILE = StandardNotes/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; @@ -1683,6 +1773,8 @@ "$(SRCROOT)/../node_modules/bugsnag-react-native/cocoa/**", "$(SRCROOT)/../node_modules/react-native-store-review/ios", "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", + "$(SRCROOT)/../node_modules/react-native-fs/**", + "$(SRCROOT)/../node_modules/react-native-file-viewer/ios", ); INFOPLIST_FILE = "StandardNotes-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1693,6 +1785,8 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1725,6 +1819,8 @@ "$(SRCROOT)/../node_modules/bugsnag-react-native/cocoa/**", "$(SRCROOT)/../node_modules/react-native-store-review/ios", "$(SRCROOT)/../node_modules/react-native-gesture-handler/ios/**", + "$(SRCROOT)/../node_modules/react-native-fs/**", + "$(SRCROOT)/../node_modules/react-native-file-viewer/ios", ); INFOPLIST_FILE = "StandardNotes-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -1735,6 +1831,8 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); OTHER_LDFLAGS = ( "-ObjC", @@ -1768,6 +1866,8 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.StandardNotes-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1797,6 +1897,8 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.StandardNotes-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/ios/StandardNotes/Info.plist b/ios/StandardNotes/Info.plist index b0c46ede..84866757 100644 --- a/ios/StandardNotes/Info.plist +++ b/ios/StandardNotes/Info.plist @@ -40,7 +40,7 @@ NSFaceIDUsageDescription Face ID is required to unlock your notes. NSLocationWhenInUseUsageDescription - + UIAppFonts Entypo.ttf diff --git a/package-lock.json b/package-lock.json index 0fb1fcdf..13fc4aa5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10442,6 +10442,20 @@ } } }, + "react-native-file-viewer": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/react-native-file-viewer/-/react-native-file-viewer-1.0.10.tgz", + "integrity": "sha512-M+v/nUM1wiFSn0PkXT5dnrIxGi+UGHcNz8vydWSEbtDiyxXyUWbcpDJL+cKOarpW7lNzZlEPQHjzossyfjOEng==" + }, + "react-native-fs": { + "version": "2.13.3", + "resolved": "https://registry.npmjs.org/react-native-fs/-/react-native-fs-2.13.3.tgz", + "integrity": "sha512-B62LSSAEYQGItg7KVTzTVVCxezOYFBYp4DMVFbdoZUd1mZVFdqR2sy1HY1mye1VI/Lf3IbxSyZEQ0GmrrdwLjg==", + "requires": { + "base-64": "0.1.0", + "utf8": "2.1.2" + } + }, "react-native-gesture-handler": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.0.12.tgz", @@ -12491,6 +12505,11 @@ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" }, + "utf8": { + "version": "2.1.2", + "resolved": "http://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz", + "integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY=" + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/package.json b/package.json index df89d72a..3647ff34 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,8 @@ "moment": "^2.23.0", "react": "16.6.3", "react-native": "0.57.8", + "react-native-file-viewer": "^1.0.10", + "react-native-fs": "^2.13.3", "react-native-gesture-handler": "^1.0.12", "react-native-keychain": "^1.2.1", "react-native-store-review": "^0.1.3", diff --git a/src/containers/account/OptionsSection.js b/src/containers/account/OptionsSection.js index ba73cf50..a7c7d7a0 100644 --- a/src/containers/account/OptionsSection.js +++ b/src/containers/account/OptionsSection.js @@ -75,7 +75,7 @@ export default class OptionsSection extends Component { disabled={this.state.loadingExport} leftAligned={true} options={this.exportOptions()} - title={this.state.loadingExport ? "Preparing Data..." : "Export Data"} + title={this.state.loadingExport ? "Processing..." : "Export Data"} onPress={this.onExportPress} /> diff --git a/src/lib/BackupsManager.js b/src/lib/BackupsManager.js new file mode 100644 index 00000000..35fb0b4e --- /dev/null +++ b/src/lib/BackupsManager.js @@ -0,0 +1,123 @@ +import { Share } from 'react-native'; +import Storage from '@SFJS/storageManager' +import Auth from '@SFJS/authManager' +import KeysManager from '@Lib/keysManager' +import AlertManager from "@SFJS/alertManager"; +import UserPrefsManager from '@Lib/userPrefsManager' +import ModelManager from '@SFJS/modelManager' +import ApplicationState from "@Lib/ApplicationState" +import RNFS from 'react-native-fs'; +import FileViewer from 'react-native-file-viewer'; +const base64 = require('base-64'); + +export default class BackupsManager { + + static instance = null; + static get() { + if(this.instance == null) { + this.instance = new BackupsManager(); + } + return this.instance; + } + + /* + On iOS, we can use Share to share a file of arbitrary length. + This doesn't work on Android however. Seems to have a very low limit. + For Android, we'll use RNFS to save the file to disk, then FileViewer to + ask the user what application they would like to open the file with. + For .txt files, not many applications handle it. So, we'll want to notify the user + the path the file was saved to. + */ + + async export(encrypted) { + var auth_params = await Auth.get().getAuthParams(); + var keys = encrypted ? KeysManager.get().activeKeys() : null; + + var items = []; + + for(var item of ModelManager.get().allItems) { + var itemParams = new SFItemParams(item, keys, auth_params); + var params = await itemParams.paramsForExportFile(); + items.push(params); + } + + if(items.length == 0) { + Alert.alert('No Data', "You don't have any notes yet."); + return false; + } + + var data = {items: items} + + if(keys) { + var authParams = KeysManager.get().activeAuthParams(); + // auth params are only needed when encrypted with a standard file key + data["auth_params"] = authParams; + } + + var jsonString = JSON.stringify(data, null, 2 /* pretty print */); + let modifier = encrypted ? "Encrypted" : "Decrypted"; + let filename = `Standard Notes ${modifier} Backup - ${this._formattedDate()}.txt`; + + if(ApplicationState.isIOS) { + return this._exportIOS(filename, jsonString); + } else { + let filepath = await this._exportAndroid(filename, jsonString); + return this._showFileSavePromptAndroid(filepath); + } + } + + async _exportIOS(filename, data) { + return new Promise((resolve, reject) => { + ApplicationState.get().performActionWithoutStateChangeImpact(async () => { + Share.share({ + title: filename, + message: data, + }).then((result) => { + resolve(result != Share.dismissedAction); + }).catch((error) => { + resolve(false); + }) + }) + }) + } + + async _exportAndroid(filename, data) { + let filepath = `${RNFS.DocumentDirectoryPath}/${filename}`; + return RNFS.writeFile(filepath, data).then(() => { + return filepath; + }) + } + + async _openFileAndroid(filepath) { + return FileViewer.open(filepath).then(() => { + // success + return true; + }).catch(error => { + console.log("Error opening file", error); + return false; + }); + } + + async _showFileSavePromptAndroid(filepath) { + return AlertManager.get().confirm({ + title: "Backup Saved", + text: `Your backup file has been saved to your local disk at this location:\n\n${filepath}`, + cancelButtonText: "Done", + confirmButtonText: "Open File", + onConfirm: () => { + this._openFileAndroid(filepath); + } + }).then(() => { + return true; + }).catch(() => { + // Did Cancel, still success + return true; + }) + } + + /* Utils */ + + _formattedDate() { + return new Date().getTime(); + } +} diff --git a/src/lib/sfjs/alertManager.js b/src/lib/sfjs/alertManager.js index e63989f7..2146de4e 100644 --- a/src/lib/sfjs/alertManager.js +++ b/src/lib/sfjs/alertManager.js @@ -12,11 +12,11 @@ export default class AlertManager extends SFAlertManager { return this.instance; } - async confirm({title, text, confirmButtonText = "OK", onConfirm, onCancel} = {}) { + async confirm({title, text, confirmButtonText = "OK", cancelButtonText = "Cancel", onConfirm, onCancel} = {}) { return new Promise((resolve, reject) => { // On iOS, confirm should go first. On Android, cancel should go first. let buttons = [ - {text: 'Cancel', onPress: () => { + {text: cancelButtonText, onPress: () => { reject(); onCancel && onCancel(); }}, @@ -28,5 +28,4 @@ export default class AlertManager extends SFAlertManager { Alert.alert(title, text, buttons, { cancelable: true }) }) } - } diff --git a/src/screens/Settings.js b/src/screens/Settings.js index 2257d2a0..3c8f1fb2 100644 --- a/src/screens/Settings.js +++ b/src/screens/Settings.js @@ -2,7 +2,7 @@ import React, { Component } from 'react'; import {ScrollView, View, Alert, Keyboard, Linking, Platform, Share, NativeModules} from 'react-native'; import Sync from '../lib/sfjs/syncManager' -import ModelManager from '../lib/sfjs/modelManager' +import ModelManager from '@SFJS/modelManager' import AlertManager from '../lib/sfjs/alertManager' import SF from '@SFJS/sfjs' @@ -10,6 +10,9 @@ import Auth from '../lib/sfjs/authManager' import KeysManager from '@Lib/keysManager' import UserPrefsManager from '../lib/userPrefsManager' import OptionsState from "@Lib/OptionsState" +import ApplicationState from "@Lib/ApplicationState" +import StyleKit from "@Style/StyleKit" +import BackupsManager from "@Lib/BackupsManager" import SectionHeader from "../components/SectionHeader"; import ButtonCell from "../components/ButtonCell"; @@ -25,10 +28,6 @@ import PasscodeSection from "../containers/account/PasscodeSection" import EncryptionSection from "../containers/account/EncryptionSection" import CompanySection from "../containers/account/CompanySection" import LockedView from "../containers/LockedView"; -import ApplicationState from "@Lib/ApplicationState" -import StyleKit from "../style/StyleKit" - -var base64 = require('base-64'); export default class Settings extends Abstract { @@ -269,51 +268,13 @@ export default class Settings extends Abstract { onExportPress = async (encrypted, callback) => { this.handlePrivilegedAction(true, SFPrivilegesManager.ActionManageBackups, async () => { - let customCallback = (success) => { + BackupsManager.get().export(encrypted, callback).then((success) => { if(success) { var date = new Date(); this.setState({lastExportDate: date}); UserPrefsManager.get().setLastExportDate(date); } callback(); - } - var auth_params = await Auth.get().getAuthParams(); - var keys = encrypted ? KeysManager.get().activeKeys() : null; - - var items = []; - - for(var item of ModelManager.get().allItems) { - var itemParams = new SFItemParams(item, keys, auth_params); - var params = await itemParams.paramsForExportFile(); - items.push(params); - } - - if(items.length == 0) { - Alert.alert('No Data', "You don't have any notes yet."); - customCallback(); - return; - } - - var data = {items: items} - - if(keys) { - var authParams = KeysManager.get().activeAuthParams(); - // auth params are only needed when encrypted with a standard file key - data["auth_params"] = authParams; - } - - var jsonString = JSON.stringify(data, null, 2 /* pretty print */); - - var calledCallback = false; - - ApplicationState.get().performActionWithoutStateChangeImpact(() => { - Share.share({ - title: encrypted ? "SN-Encrypted-Backup" : 'SN-Decrypted-Backup', - message: jsonString, - }).then((event) => { - console.log("Result", event); - customCallback(event != Share.dismissedAction); - }) }) }); } From cb2d5d93f897a1e753f536c2e5b9b29ff0a0aae3 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 5 Jan 2019 12:56:04 -0600 Subject: [PATCH 037/131] StatusBar background color for Android only --- src/style/StyleKit.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index a39e48b3..c5b88737 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -220,7 +220,16 @@ export default class StyleKit { setTimeout(() => { let statusBarColor = this.statusBarColorForTheme(theme); StatusBar.setBarStyle(statusBarColor, true); - StatusBar.setBackgroundColor(StyleKit.darken(theme.content.variables.stylekitContrastBackgroundColor)); + // setBackgroundColor is only for Android + if(Platform.OS == "android") { + // Android <= v22 does not support changing status bar text color. It will always be white + // So we have to make sure background color has proper contrast + if(Platform.Version <= 22) { + StatusBar.setBackgroundColor("#000000"); + } else { + StatusBar.setBackgroundColor(theme.content.variables.stylekitContrastBackgroundColor); + } + } }, Platform.OS == "android" ? 100 : 0); this.reloadStyles(); From 239db0c0e3d6b2a723a39ee4d06eda07250e194c Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 5 Jan 2019 13:47:40 -0600 Subject: [PATCH 038/131] Sync status move to subtitle instead of bottom banner --- package-lock.json | 6 +++--- package.json | 2 +- src/screens/Abstract.js | 6 ++++++ src/screens/Notes/Notes.js | 3 ++- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 13fc4aa5..79c08784 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11783,9 +11783,9 @@ "integrity": "sha1-ATl5IuX2Ls8whFUiyVxP4dJefU4=" }, "standard-file-js": { - "version": "0.3.27", - "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.27.tgz", - "integrity": "sha512-zqMBVWiquS/40cEchNXSvuXovuzoXgNR9/UsJtXJ748zN2Ezpy7WIA3kmXp67aROBvP6vopRJjPkBe+6JkvTzA==" + "version": "0.3.28", + "resolved": "https://registry.npmjs.org/standard-file-js/-/standard-file-js-0.3.28.tgz", + "integrity": "sha512-7VNxr6Yb6G4Fcmj5P6LObaNOM4sTouFlYqvx56fTnhTnqTfRXty2qgndSaXWmjKrvp6wlmqvud5WnnaP2fHfaQ==" }, "static-extend": { "version": "0.1.2", diff --git a/package.json b/package.json index 3647ff34..f099aefe 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "react-navigation-header-buttons": "^2.1.1", "regenerator": "^0.13.3", "sn-models": "0.1.8", - "standard-file-js": "0.3.27" + "standard-file-js": "0.3.28" }, "devDependencies": { "babel-jest": "^23.6.0", diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 8601c4ec..a628b5a2 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -164,6 +164,12 @@ export default class Abstract extends ThemedComponent { this.props.navigation.setParams(options); } + setSubTitle(subtitle) { + let options = {}; + options.subtitle = subtitle; + this.props.navigation.setParams(options); + } + lockContent() { this.mergeState({lockContent: true}); this.configureNavBar(); diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 1d536ce8..008d5b88 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -202,7 +202,8 @@ export default class Notes extends Abstract { } setStatusBarText(text) { - this.mergeState({showSyncBar: text != null, syncBarText: text}); + // this.mergeState({showSyncBar: text != null, syncBarText: text}); + this.setSubTitle(text); } initializeNotes() { From 4e4552238522075dfb806297399baef08a237174 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sat, 5 Jan 2019 18:33:44 -0600 Subject: [PATCH 039/131] Alternate icons for iOS and adaptive icon for Android --- .gitmodules | 3 + android/app/src/main/ic_launcher-web.png | Bin 0 -> 7211 bytes .../drawable-hdpi/ic_android_background.png | Bin 0 -> 5036 bytes .../drawable-hdpi/ic_android_foreground.png | Bin 0 -> 1895 bytes .../drawable-mdpi/ic_android_background.png | Bin 0 -> 2760 bytes .../drawable-mdpi/ic_android_foreground.png | Bin 0 -> 1169 bytes .../drawable-xhdpi/ic_android_background.png | Bin 0 -> 7662 bytes .../drawable-xhdpi/ic_android_foreground.png | Bin 0 -> 3118 bytes .../drawable-xxhdpi/ic_android_background.png | Bin 0 -> 13641 bytes .../drawable-xxhdpi/ic_android_foreground.png | Bin 0 -> 5826 bytes .../ic_android_background.png | Bin 0 -> 20700 bytes .../ic_android_foreground.png | Bin 0 -> 9586 bytes .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 ++ .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 ++ .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 1013 -> 789 bytes .../mipmap-hdpi/ic_launcher_background.png | Bin 0 -> 1196 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 338 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 5024 -> 2527 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 751 -> 629 bytes .../mipmap-mdpi/ic_launcher_background.png | Bin 0 -> 697 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 254 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2858 -> 1591 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 1422 -> 1118 bytes .../mipmap-xhdpi/ic_launcher_background.png | Bin 0 -> 1691 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 444 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 7098 -> 3701 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 2276 -> 1652 bytes .../mipmap-xxhdpi/ic_launcher_background.png | Bin 0 -> 3038 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 714 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10676 -> 5816 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9250 -> 2374 bytes .../mipmap-xxxhdpi/ic_launcher_background.png | Bin 0 -> 4474 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 1084 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15523 -> 8570 bytes android/app/src/main/res/values/strings.xml | 2 +- .../Icon-App-20x20@3x.png => Red.png} | Bin .../Icon-App-40x40@3x.png => Red@2x.png} | Bin .../Icon-App-60x60@3x.png => Red@3x.png} | Bin ios/StandardNotes.xcodeproj/project.pbxproj | 49 +++++++++++++- .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 266 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 350 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 288 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 400 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 555 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 350 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 519 -> 0 bytes .../AppIcon.appiconset/Icon-App-57x57@1x.png | Bin 416 -> 0 bytes .../AppIcon.appiconset/Icon-App-57x57@2x.png | Bin 598 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@1x.png | Bin 388 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 651 -> 0 bytes .../AppIcon.appiconset/Icon-App-72x72@1x.png | Bin 500 -> 0 bytes .../AppIcon.appiconset/Icon-App-72x72@2x.png | Bin 712 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 456 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 738 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@3x.png | Bin 1028 -> 0 bytes .../Icon-App-83.5x83.5@2x.png | Bin 830 -> 0 bytes .../Icon-Small-50x50@1x.png | Bin 388 -> 0 bytes .../Icon-Small-50x50@2x.png | Bin 592 -> 0 bytes .../AppIcon.appiconset/iTunesArtwork@2x.png | Bin 5619 -> 0 bytes .../Contents.json | 62 +----------------- .../Blue.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 254 bytes .../Blue.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 338 bytes .../Blue.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 383 bytes .../Blue.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 279 bytes .../Blue.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 404 bytes .../Blue.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 507 bytes .../Blue.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 338 bytes .../Blue.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 468 bytes .../Blue.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 616 bytes .../Blue.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 616 bytes .../Blue.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 821 bytes .../Blue.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 471 bytes .../Blue.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 706 bytes .../Blue.appiconset/Icon-App-83.5x83.5@2x.png | Bin 0 -> 800 bytes .../Blue.appiconset/ItunesArtwork@2x.png | Bin 0 -> 5587 bytes .../Images.xcassets/Contents.json | 2 +- ios/StandardNotes/Info.plist | 52 ++++++++++++++- src/style/StyleKit.js | 29 ++++++-- vendor/react-native-alternate-icons | 1 + 79 files changed, 139 insertions(+), 71 deletions(-) create mode 100644 android/app/src/main/ic_launcher-web.png create mode 100755 android/app/src/main/res/drawable-hdpi/ic_android_background.png create mode 100755 android/app/src/main/res/drawable-hdpi/ic_android_foreground.png create mode 100755 android/app/src/main/res/drawable-mdpi/ic_android_background.png create mode 100755 android/app/src/main/res/drawable-mdpi/ic_android_foreground.png create mode 100755 android/app/src/main/res/drawable-xhdpi/ic_android_background.png create mode 100755 android/app/src/main/res/drawable-xhdpi/ic_android_foreground.png create mode 100755 android/app/src/main/res/drawable-xxhdpi/ic_android_background.png create mode 100755 android/app/src/main/res/drawable-xxhdpi/ic_android_foreground.png create mode 100755 android/app/src/main/res/drawable-xxxhdpi/ic_android_background.png create mode 100755 android/app/src/main/res/drawable-xxxhdpi/ic_android_foreground.png create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png rename ios/{StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png => Red.png} (100%) rename ios/{StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png => Red@2x.png} (100%) rename ios/{StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png => Red@3x.png} (100%) delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@1x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@3x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-Small-50x50@1x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-Small-50x50@2x.png delete mode 100644 ios/StandardNotes/Images.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png rename ios/StandardNotes/Images.xcassets/{AppIcon.appiconset => Blue.appiconset}/Contents.json (65%) create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-20x20@1x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-20x20@2x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-20x20@3x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-29x29@1x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-29x29@2x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-29x29@3x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-40x40@1x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-40x40@2x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-40x40@3x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-60x60@2x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-60x60@3x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-76x76@1x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-76x76@2x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 ios/StandardNotes/Images.xcassets/Blue.appiconset/ItunesArtwork@2x.png create mode 160000 vendor/react-native-alternate-icons diff --git a/.gitmodules b/.gitmodules index ee87ffff..6673ab85 100644 --- a/.gitmodules +++ b/.gitmodules @@ -22,3 +22,6 @@ [submodule "vendor/react-native-search-box"] path = vendor/react-native-search-box url = git@github.com:mobitar/react-native-search-box.git +[submodule "vendor/react-native-alternate-icons"] + path = vendor/react-native-alternate-icons + url = git@github.com:mobitar/react-native-alternate-icons.git diff --git a/android/app/src/main/ic_launcher-web.png b/android/app/src/main/ic_launcher-web.png new file mode 100644 index 0000000000000000000000000000000000000000..be9edb1ccd84603927d666f864bd16e7214638dc GIT binary patch literal 7211 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-hdpi/ic_android_background.png b/android/app/src/main/res/drawable-hdpi/ic_android_background.png new file mode 100755 index 0000000000000000000000000000000000000000..9bd62d1fc5dde3271d8eb58497bf86c2fefae76b GIT binary patch literal 5036 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 BK^6c2 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-hdpi/ic_android_foreground.png b/android/app/src/main/res/drawable-hdpi/ic_android_foreground.png new file mode 100755 index 0000000000000000000000000000000000000000..739d7ca98de68ed008486adbe63785e931a7890d GIT binary patch literal 1895 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/ic_android_foreground.png b/android/app/src/main/res/drawable-mdpi/ic_android_foreground.png new file mode 100755 index 0000000000000000000000000000000000000000..543cc8118d0d048f2fcfbd63eac9ac3409710211 GIT binary patch literal 1169 zcmeAS@N?(olHy`uVBq!ia0vp^vp|@G4M+z54-{u$V2SW_aSW-5dpp}POTP^FRoqiI!3`du;A%A zu*kK4zV`YInb$8=T)XA$!{aVmT)XJmC1zWEdGWFMsc3Jq?A#?87au=AHQ(j;xuY|ucs)?L_4&%DZ_hY>JW@VxW#xHs z(ed+B!%g~1OD5s5s>WKb-+!mYEG%l*lp@}I99}6Fc`M$2e91-*p2Hu~Hs9Pc|Lkq)+i$OZzj$nx zUB$VpSFiS8yCv77_1WOi%c#n!$P)bIesq}4A`RQqqj;ZfGRu* z*Dc47ALqZ?y`%mni=MuIe5mxVN68?I1LJCV9;6&KRtTtD_?E}2qE%8LV2dPACTDoa z7FC}@Hd&EeHs`2AqN2H+!E+qhU1uMhFsn=Pov+PGzef|HZ@7}#TKl2{{ z?rSfLcjre$MFeEO{e1ZF;oGxk&;B(1Ua|Z0^0}A&K3vY)T4i}G{@U`r&%P|zzO|)C z^sRinYw(s#P7SF;*VSh&(v$*c2D^(Qz83|Uy4n)HbuP>3Y7+=BVcG0&;u>ty(y&Nz zM(rZaS&I}w`R9%B+x;0FdCreGf3)T9Vd7zMO}03`Tq9}-F#oXb-?qkl@f4#FVdQ&MBb@08owhjQ{`u literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xhdpi/ic_android_background.png b/android/app/src/main/res/drawable-xhdpi/ic_android_background.png new file mode 100755 index 0000000000000000000000000000000000000000..c09e1f33211e27ba8991720c43dbbdab76023c71 GIT binary patch literal 7662 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 TXXpiR$0d5Kp{ri4Y8&=Hz-^c( literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xhdpi/ic_android_foreground.png b/android/app/src/main/res/drawable-xhdpi/ic_android_foreground.png new file mode 100755 index 0000000000000000000000000000000000000000..5981e2737f30194127f2ca97e879118861b4c775 GIT binary patch literal 3118 zcmeHKe=t>99KZLtbl-ccy|IrLn`^SM3i0A~BnsOUi`tHc2jN)Um+ z8ml@o42)7D$h#yd&k|}K!*F&;<-@}N3DoT1)YO!Q5+Xwlk#R?(3GrTwnAZE>Fg*^& zCbGgla%AcrgT|MV_{}$%ehyN#f2e^a5_Kz&l#h5~7^{P`XRo_uP+37x=8*(2asbIO zcX#%&x)}h%->74d-UelZqmT57LQP84iu?z*AU*HTG|;oCW?;?|fl&{TS+-PJao7=M zqHD$wV_+Hs8#@bJNq2KvQMeVyh)9HU^F|NHkXW3xUgTi(Ddecgm@u_>w!&5=dG~ea zMz}kMbc2eDilkk^!OJtx?wvRho;2c6+g$rb-ctSg`6BmrO=aclXQQK|6^m)*J?5IC z?w(Zh#!o1bG>$Kl-V&%w(iv!C$76ku7h9qA=2VC-e{l~fxxnv519yeljAmDdHYM6y z9lgF!>MKzKrIcS72omiTLs{x|~MPtu$^1_&g z!(AJSF85@=4(QFz%S-%OTJ}oJ{dNzphOMhn4$@tn;(5~|8Ft^%h*x40kOvYbTH4j= zNnMn^I`4hk^X1&{*U$>n@Zt;MG5P4uCtsOj11;g;I` zJ-(ZIJ^RL`F>$rJv)+WY;pCJ4L-Pltf(MUwA<=19-#0;$<5L*|QhqVK+2#by5fAI; z`pdQ)w@0+wi_7}Dl~=S`PY_)e&l9ZFL<=1mW%0GBCx1GDy85cC`_Vy%$N2G8&;$x2 zvlyuDQl0Js!gb@O&MZ9`Q5n~x731u{HfxhU>CMh3Gx1p~K8XGdeU`S@osVt+4~ z5qV!(Tu#vttqyHLdD_x#G9Rw>N3`zbA DFsNy~ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_android_background.png b/android/app/src/main/res/drawable-xxhdpi/ic_android_background.png new file mode 100755 index 0000000000000000000000000000000000000000..a48a75adfb831d9ba653413d57305728e00b757f GIT binary patch literal 13641 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�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 M7#mg{n)< literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxxhdpi/ic_android_background.png b/android/app/src/main/res/drawable-xxxhdpi/ic_android_background.png new file mode 100755 index 0000000000000000000000000000000000000000..5636a3ed2e5850f0ef2f56bf809107f36a72b3b6 GIT binary patch literal 20700 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 E19KM|kN^Mx literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..4ae7d123 --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..4ae7d123 --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index a78a6b7543eb942306e8f6eb5eb0ecac26b011df..6dfe4731000d7be0dd4cd750a6fe56a6eba49c07 100644 GIT binary patch delta 766 zcmVmAKMo;bW0i)e6Dv@<45fq$$p1($-ZLrI3(C9^^equJUO|Hd)fq{X6fq^mXA>G}clik~o>3{f4a;H|Po|;T6aP5YN zxdUg!IuMw#`#&aV(y;7Kk*@A&=2y>0cPm7zMsl^fYY32HU z=>U#Kgpxa@%S&6tHt)a8%Eu}#CZ323NYiDPN~HNu&%rATpb_czw->#H0s;b0t|YNt z^S@%9W~0*0uYWIv1=Ot|3h3(kYw*ejXklYjctBUy->?I^@x?1Xpbu{m5CTF#2nYco zAOwVf5Ky0hrtZbOGt0YVdU;2OQ6x=2+|_3u?2yR?KRcieZO@z9uM%y)qQfYdbZxIp zK8E7#fU?=Fx7}`&R;#7MD428_L{St3gn$qb0zyCt2!8?n|77%iQm@y!Qlrt}2N0a7 zP$+Pva=DCv5RfQ<;2zX$Hn|d*$1a9#ULZhlGM)s}o~xU5sZ`=hl}ZJ>7`Azl+B{qk zPpZ{w*u}8TBcLH#?xXB9Tz2$1{f4{`ag>jXRyr3#zIr`Fy_n zj|mdz?Up%os#Brtid}rz^_-yruuTDuyWzFN)Pb-bR-jhVmi45}6EBGdT;3Ob#HTHT>9>0EC z8FwN;5S#W|Z zI6)SiAPY{Ag^3l#*BE=~g<@+^hlr9*lMef=ECF z>e(}3mzf=qz?Ct^I-XHC!BWV3|pkBYC5$1$2wc>h8P`{t7CzdyY(C?=no<56} zO%8D8HGjK4$bu7OVKT+efFwvl3XpzTu3>ILQ4~RIT?j$T%gaz|zT|N!X2A)v-~?Hi zy9SBK+<99h<`(4pK5DhvWsW76lrJPQ;sja9)CV0M9p$DE5)o9Z)k}Y$Or5kbCO3i> zHDS0Ev)}|-aDptjKFC6*PC73IdXZ$F#qz|g8-GR;N~v?-)WWU@kwh4V2*dDPuj7ie z1t-YD+$jbO!uGmwQDe`=Gq^T$%fzMRL^z8gPA(6<32SI6)Rtf=HJ9SLBlphJpwH zy?vsu+zzaq&vj!#$;hS#dKe${L?t0X5&4@o5==ytmg zqbNE^o@+=(1>X!wMp1Oo?RFoE2&M{3BzXYP>2x-=)-Q}P=eaT00%Hud)-O7p&gQs- zA*sejMB;Y4?Qd*sJg?X5Tie^)->s~yd|9cKsu*JmRhN`fG{&6l?(Y7vwYBwfe}Dg< zcDwD1h<&0W>9ty|qW`zjh*qoRosOI#v;X96kc)+ioGDO5^7Vz^b>crZMkC76J8 O0000+KEuj610e?H{*n zQ~e*XI_!^d)`5uD3wn&~odqJj85|r%3$A*&*lb+Zp?B~t+rrtin=W{6Xy)MJ^$Kj! z5p~yS=Qg*YRlL+T|9NrG5dT}`n=Ea z-!FW**tL1};xmVzI=ZjEDr?#BI{n_x><2q1>wmTV|8@4>&E4<6pVyPy{!Q=sywCmZ zKO+7cW&G+~zOKiRKXm1l?YyC@Yj^YQDRsa9X653&?farL*Conso?6j4zoKjXx~`3) ziR&7&=ly)K@1C>wa?kfqbm#Uh|M6;;MD+DSyTt3ZruF`x6{mOVDII(Iqig%R9m_sH znqA&Ekv;z2Rr}v>g$_Q|+4o5I-=mE$1U_e;;{I@8^Zfk|d6nJUe{>&TwEpQIl?~;8 z4xHO}^QeA@ZvIEH`i~KBzRp?y`Hx-c<-_gmv-!7ret?Hcoy#IUF&8^(- zl(DlLC}MWx+V6)~jpc1zK>S7bh5z$?eEHMUiJNcZ%k@75+_kSdDo&G6vf;YeqTwRE zh%>N54M++20x88=K+4GkNVR4FDWHlBClQbeEaaOf0?+$&eD>8n$~k;0=1-|>$NV{e z(l#|Fb=oUBbvU&MD7pY?fki-?Bd|k231}IIpp%GF3x^_?AW*s$NCOQ9GBiL6fi{42 z0EK{BfI>h$AjLpAplYBTLOBP1Hml6{A++V>uc>A8hFE@Vh+yDP{>gLnp_j7j_e7t;LKPF}aEIV{e{{hSl z-5*Y6TfLX5WIR`&{4?{xw(9viD$oB@&zD_kW0&$a_MGi=dH#=r`X4WwUjMlN=nV1u zHW_t7C*B9|WGZ5K-5y|Rk?}V2^_k*-ujOXhJyNaPWp${&YtvSlrmf}D=j(%yvSa3U ch6BqU>U(}Nnj+7C>M}^$)78&qol`;+0DgWoNdN!< literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..6a8d00d896710dfd03b07d4549d08b21b8e4a0db GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^i$Iuz4M-mPBqq(kz$oeI;uunK>+S80xlE1%ZGl+^ zE^Ny=xC*3O{5Vz|;bi>#t|u>ObBlKO7mLpCOZGQj74O}$S`?_C6!1Z8RhGD*x%Bjz z?xkl|Z2fju{@?k3Z8l?D5|v&YQjaxY9=!sQv(xjU8v|v-Lm?dvR&F|0OmjCbV`X eGk)hcT;IuDV^O?ME={Z%q|(#X&t;ucLK6U3vSTO! literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png index 1b523998081149a985cef0cdf89045b9ed29964a..b1db99d1f6af43492535ef451a1f938f2875f6d2 100644 GIT binary patch delta 2518 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 literal 5024 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 JPDHLkV1iCwSn>b> diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..9fe21db1c6097d98a1dab38271fedc58703a9d36 GIT binary patch literal 697 zcmeAS@N?(olHy`uVBq!ia0vp^IUvlz1|<8_!p|}=Fg19(IEGZ*dV6=j_mx71V}-vx zvu?LO3%RHy;^<+)%HA05e2AB?OV?}Jg$F`))>kTWzg9_0+neox67D z=j8Zn&)f4oXM*k~&)}q|M`c%sd@JL<`{tcYz1bDRk4ei4SLs%zZF1apLha_Vl^Z@? zFG)(+wfXa*&!^u8=Zk;$J$rrb&nl3lnzZRz_0{j+M7SS6@;Z8gnH^9>^q=SH@5OeX z=05g!JCIYiDR7(Cmzm$5?+jh{CVzg-XQ5MK@%_EMn?e`P-&CXjohQ!zN`<3#z&0E0 zo2xFQN7n6|=JtMW)5g7%*KUeTO!zr}u}RH#`D11WrJ_@f6Am;m7B?_5vz=jN36 zmoP{;AOjL?{`kM4bbkGX`h=>5?{aE4g+5H!+&}-@^{s0+i2~I$aDr5_0JS7Afiwb5 z0I`7@aWYU9&w#1?za(aD$?t!QA8Tw22l~ruRZQHq>bxae_WXIR+;{f08_*Bj_runQ z{Q2_pbg0Vg>AhV0gEs#Ae(BOl?dyG4>i*R9r#{}~Yo_(*(xt2Zk?Z#CEqwm)HG3KV*3eckY)_fFyCAAt(WHc1>4{2-7xXJ zUO6xONcR0YaUX+&EW&Hs7hB zh-ptnKNg)+pDf7G6mk7)gjc2eo^3+BM4vlFWI|BkXR Wi*9Mj?J-XQNqD;YxvXJ7>-t##J0LYrCmQ*x4DnbKRR$S`z&lZZ+YbZDcg-{0om zyZ5=Co1DZXHJV)GftOrv&Uw%CykFRqHl&!y%#GA2l7C_~S#?MJerGTz95)P~ z&|m341Hm=!`JD?L(4{KyqSiS6mNswbb)C_6NoN|mqchpsba~cM5{K4gn}gt5zK8EH zhvs69w_eg2aUuqDy!$%Wc1(BGeo<$#-X}my1WwW!tsw~3&|1==`D);(-#x+_-&xWT zV(u{x~g69VB8 zk?CfnEO+)!f~y8(nd)uuHYI+g2#etMM()5pf)EoT34c%WkVSrFmKXLG=X({-SYP!0 z<|eVL#AY>KYaG1hvAmk#IT9x1+MuM(>B;A@J+sd1P5tk964rVE;JI*u5p(-p`p^IQ zAow}K$9nn#y;%wA)Cef_>52$IX?+QMfviGs=Da6EA50zamwr(dHKN1Q7`rdKt){kf01R5I~Pt$_gU<4@1RTVO5KmwGnbET!FFS!X+ zRex2T4MqTov%I{lss!@@2ox0+z2YWt`}W;abci{ECe0(2Tb&dkg_;q`86Zf>qCSP0<&QB(YRLBTdYKHf{1z25Z2QEk0@7?K#o z1_uYL2(#CNO^n52F|vuGZ#xks1kg!{lz*#Ib93{Tz9+G!va&Lr7A^Q|=D?Z`I#tCt zgkXI%a}?@}B_$>ADTe1c9HWl3CEDBR;o;$S!kXm$JSNEx2XP%89VW(HjHa%XFo}dw zgl8HW8W28l46~bn?23$xjC16o5w^(1hY&S;stSLQ0Sn3}RiDwcw6ya)W}XDPJAYkE zOUn%`M#3mwIN&7at^X}BGOQY30?K3Bi<6U+W0}$Ohb|gc2;GrZB^~Pg(%EfXQ#@_#qIJm6Zh-o$l%Bsei_?PD485r=d}th3iMVz`KKz-3)dr*plww)O|?xi9d1IDe(4rap%_ zEG#VibZBVE3~!)9aYTd=Pi~QQmNIbYf=;{LZZ0S&_zZht&yd3=SYnehka&UQLQPH0 zcVlB?BXBkIh&;f80ShPsw*Z&W0bSMA)i+7^Ti648?K)vY8LS2)q)sI#C#P3bRNNRC z7-*lFnVE+LmBWX5$7`^+et+^DoT?Nm^VGt(LkDz0=dS8}IK06&(UY7cc_TYJ`(tXy zzoBNZmcpPHJqtbdP0<15gy4E&Vq%oSuNQML7i(zkn@oouI_W`Oz5h&r2v=?s84x7i zg`}jUw^LG5-cL_Y{}6&}+{1Tl&Plc=9y%ftE+LK>CJG^V2mgOK&LHF{yBE*B8V?KT Z{{fd%>O5$JSV;f?002ovPDHLkV1i*G^&0>H delta 2852 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 H0g3+t=~fl6 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..846ac451cb9a46898ee4fa5012c750ca9e4e9c9c GIT binary patch literal 444 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 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index 7aa2c0cd08c6f479d1fff647f6966d49845dc1db..49b2222d22fe2cf147ab2c6dbe1fdbda117d7469 100644 GIT binary patch literal 1652 zcma)7dpHwn7@swoWrc}CvZ<`xYPuY^jMS_$w-s`4F;R)RG?A86P8Y<6F*$M>9hV}p zF*=^Zq-`#9izP{`mF1F4O*(XL^*rZ~^Zb6_`@P@qec$K%zJJ~~$q9#nLNp-&004@$ zw{uzAQhcsR7!pYqa@fU-bSfC>!l{ba=3lu@V(w z!jeFuf5sMim^SZgA3M$qSL&sQbW_|;lc}PJ&Li$2xU(d4PlUtb)ZUnUj?&ld?WVEAQa+aJtAJb}o2Njqugf3;QF6uC z2Ym3D5xK!w*?X<^@YDyN$}LA8GfjWup2)|!eV83+soCgz@QhU#LBKZwqDF7%Ca>Il zyLj^G2WG|Y^z(wfy}zHxV#}fn3_aCGHy^uVNDzAr1})55^%T;ThSa&CQk{99iW2ZE zGs>%E&L@q*pwHzP*3-#EPFSQ#`k3dVJ-#5#?sm5vm-;IaTZ&CbXEtt$HL$(TzpDrW5Oj>bkNNRJhsidx7I` z?%UoWRE3nW`hO&wfYqVl?E<&rSG6B2uqGqAYbB z!Mo30bvL9{Zic~NM?F2W^_;B!=basTYTO5gvfeV!2|#`)68MFI-g9QCQeR)+e>EZ% zy!`kd*m1WmyOJ0f_(G03cNyKZAMsas`G?Msvpe4b5ZR|>ZzTKi>sE*XSH(Ht#_om|)!I9{~!oqfZ2FukA#5%9)8bY+Oc?_HS zRr=;lKS?4ixfgC&U0hU@Zoj)NhY6kT@6U`|n4b)h&5p~QB9D4`d6k$8y#r-lH+)*O zNf}S?SjST>`<`43X0ur4$r~)97C*l2?pvv#5O@HCA!wNRR5!&Ld$ZKEG&Sj|&HNdu zR631%7lFk{_{7uB&YiBM79#&9-hgV~}ql$Ms3GAI;ULCeSprQw3{OO2}`%%_xXI+PpdLWDQwE(+1Y3ry5HrE>M&Cyjk4 zvvhe(3Ou8ZT1GG2~<`ZO4NDj zaEkasl2GK7tCRCAbM3obHFmC$^4qZ=4n=5`rU6CH+g)E_smQG^=!$!FF_oX_p&)fUF|GoF;bKUpn`ds&Q-Pd(}|G4fLywy1==sqX_ z08-{=IKuY%@Tcq$-`?j;XBq%tN2xi^=t5xj;-r(i!`y*(?v!8OV7IG-Z)0Fg?|fuI zX_VM1V_$j|QZsGk+P7x~C&F9bYuq3khqIH!rdC$e_xf3O1y5Ih1B>TNFWQYoq$AT` zBKpV9LN%S;$u}Zv7(G>~#52`>XM|2>7S)&jT*MeusR;}eB@>>Q-J=JsWV74b0oc#w z6+8aziVO@4u+JrAcu7cz13l#xCoqB)d&ASvcO+__mckx@=3d6c5E0MByLZOrj-sgeNKmvKex1CFjL6)2{@0G1KBBUCV_W z1S#9{Yb}NKz8wGKhd+cv-!EvV8f@A-p!mJf3wNbv3`N4ef{@zIvS3c0#&T{PBcvnS zIl5i=Ze&V$S^@oeiyVRpR>@J1j^0&fs63L5>f$!9J5qIoF9TK!z2yE9FiyQpY4BUW z(7~g>BF=~J%5}-2s@7|_)Nu^!4FcO}CI=2prhF__R>z~C_=AEgEBhNmR*LnqJ8}1K zEs;3da!^AcR8$dYj>kwZ5@(S;cn?WVq;bpU>=?EAuel3dXM#7YR}$hH5)luhkMlcV zyciNyhr_rwDC_-_XOuj5w+J6=D)Kpvju^Km>>HJFsmS=8N~H!13Qm3U?VBm02Cr>2 zTvU4!E0QYL!!0T4V14;QMvbp5r2T#;WcP7-?C}mcV`eu5dR6h(F;@XZoHn`Odv)T_BgIm2+8rluLnZm(~X>wCSK@J)Q zl-ez|q7Zrp$R0Pal zB~`jWD}QN<8a&UO6mE?k+L}4A7Y~AAC4o_Tv+%GL;YtQT7yZvS*W< zBAiQg>^X=6Lw6<6iYbAGSp63n`f+A&ygi%js#0UAjvaHmmxHtjK1~2tm#>|@oN*3% zQ*JrP?>B1Yht{mn8%+E9^(8ytJlF$Fv{ojp8(N$McxxYD?jAL&vpTw8=JA3@AVd6F z0D-%!+OF^<*>NO`RbOK!0a8+vjIKp0zIz?||0~^%7d_ORyVf-@vg4^_$YBE(U$WR{ zXROpP9-ZqW-&}hEBnwQBU(_j67?3yxK%`q6^+a$=$g{bDM}9;qDTNZAF9)$&MObfk zvX&-w)=LdQy?vtnA-j>16}9^Z1YcjTKTx}1!&mE}gu2&m@DaKoowVf)v{i4@h_snX zD{E_L;C-ep5#n(b`!qr%X^%MWvb@Z%%BA~;1Iph8;|{YbC2oYT(^TBc^-;$6`%*N!#)wke3b@~k{N}avN32Jo|G3BDjI8= zZ-h}@#5#h0eLJmn4HWday=?=E6D#z1-k|Hc(o7KZ5$=kWdOh!ZgZudV6de_)%4ettaK{dmyM z;^x%rO;;4aiJpJwYpEE;ReHSu(uu~3LL-cklHqez zMXOaymnsKrIF;V{qC1bnW5l@6YeC!=*neOmi@!0kyIdKTC8AQ$tacYwyHGZYEf2*^ zt*3|0aD-3Z5)SeRAUoyDvJbtO??y(B0L^#Smz*F#8*;<>y-U}1XL9Sp{5+gV8@+|6 zh-YPHa)FGRnwtAyMWA7`o|^$Y9S*%jz7`)VqNc7MED#8i^78V`+bI>P2ED6z_IIF_ zlI>|?Vv_vR#9%Pu!B11*z`fhI>kUyTnx>W(4+TWboX5o*0mYe_nf2{&-`Y1eHQfd7 zmBb5eD5QqyVmjTxv;VPv6>qNpPIq^AOLRNCa)W*aDXENDsVQ2tJ;=U+;@?wB+Tdnt zk$RZ*-gBm=rV|z-cKT3HZ}0UdgYNYD`cVaWdEM0RSp#(jdlREtiZ0Mtm2BHF>-!=R zA}(&Vy0(@z=&n8W@uRcRYroLr!Iq4jNbd1CP zfTCrL3j%@{!J-}sCRr@j*V)-wbWTpr(!@lzmY&{a?xIAo254{OZ=J4$tVfS{`uh4e z)zcl!55p_}VQt+quiJMRaFdVpkdKU+iOs2Z3b^CGmBQ9d9vT{|JPMB)^?fm6VQrnr z+zw}bG?}oVZPiOnko`ICL|t5K#_)&XF^|!=Z>|pHnW(k3we=ss1b*Kns;iGnG^Z6>;-t5e(8_zUXU;n7#Y=^dOw3DC)-0x&U2)pv^>I3yB8pz* z-4u_GO)rdSmga4YB_Ry48td1#^PA_X&htF~^z{6$>-W9B-|uzb_x1VQ_w~K+&!vMd z7%h!88Y(I(TKo2*538uCqLsh;Qt-xa9K%*o(Y(D6jdG9fofJ??IwK952%L^qCOvOa z{wgH?(Zg)nRNedC{fmPtc=o99rvmI z7)SL%1gfWZKULLDQMhEMS=O9{e7)7vmGoro8Ln*(5PfPIDV>NL;EH8&TspCF6$s-y zKi#0SXWzFFIc2_o41_psZj-h#w>rI4IYKMgl2lxzuh;V-4!4PCk*gqS-Z|;?oBGK1 zlETiiDf6VTk6l{6+1@r44~hv6-Y~b6v0M5Sc5zjneY1mm2CPXtZE#-w$czsGQwrR% z^f~_#k~9!xjnD3_2|v^Ox-V%g8DFf=8+3Exp5xYXrQCIahDCeR(hIgkolqBJxT?+m zS(Mg0S2Z1gOn7j(tg$5*p!{(=1Ypt5uj^4X=1v0jfle4#Sq^=axqHr5!A}tVELjg^ z*z2&hQ~Yu2^#0n@C#B15a4s|Meq4!=;@^_Cm`l=PzW>FxfbBGU&KUSRvpFu%m0_Oh z4{L0-p-SCbi5a`CpKZptb$ieN($-EVoZ&zs#gEY^Hiei=mZo=EG< z(#(mVFfjbP`@%}QHM4}1G!AEY~L86c4cO11%4m|=DM-EUjf+C4vT>j1>6Z7S|nx{!E0 z_3EqQh6pYL&)?;F=`^f?UHtSMyq@PLuXM4kU^~s{w6H9(8#Myp0y9spHocq$Je&d~ z_Tx9!@NR*QLI$a`3SGl7b?-Mzm)T)h-UB;GEeQ~bZ6VuYtbf6PUoY~H>??6GW%;(1 zpMCCEA4ZU3)fbXZO8|vNfl6QMhL&nN`8z(L($> zRyV9hBA?gzGV@~Os*sMX5f_OWFlrl+tyU>N&}}k(l@}w_Ot-ngwy;ec9tcvf;|N%& z&+3L5zryzeHFF5iB^W}O#tqeb=`^fficqx2wvVTF&vjv=1*(>Jo}sqQnE`ZrSc6sc z@FpZ?Ln8aWUE+f=EHjh<6^Fs&PdLS>A%HE3rYizuhsn7{Yk1d;f)xx}{FX$vdcKiH zKH?YXl6F1g#P|~_I%t%I@^TGM?GQ8-p)}D$!O*yrZ!)8GD2-7TU_8(pj0JkC=_t=S z|NrKY669aPe>1qAbEw$2fVsWA*%b@7WLw}Fr1%~xDt35&B0YVPb0%{o8l?u(RRx3p z4Z1`J`ad3FXwc)!qNW2fRzsnoD3CN1{mn;@{h$Y!wy(?g;!$#0qVt#KyYMK%e`WP~ z_dWSh;xTajuV~+#ng2-RzvXBlTi=_gFE#tjZlPQmL`bC-S^2^Y$sW*~dh5Hz)3~PsF4#C51!FIGIeiX247ov?_0FXTFi76rNKZ$hlHW zk@jW$*tGJRNeo@qx=tfNGrCSmJWX9z@4L?aG8wM8nB*DW`^NV5Y$wUD+j{%_W6E_K zDXwYNrXvdtTKuU(3!mNUTBt8IN4q+Rt1^v^jqk4Y&MGW^n&HN;68T8lCL`cW5cIJR z-S{bim8CFh*li*cS5EG)ym%>NVO}VyjYoMy`(9Po&TK{CIh66Tn;Y?;Mmw+=U9(b= zhr}eND?0LRRIOI|58`bF;6MrEPr}0mwZOAgce$VDf-rh!so)UX3S`sToyORmhONB10}CZ`P!g0@BS6GZ|L-%ux5<#vyN5BX7MgJMID zSa@kR2RAx(7kLCbGEKTQ7>~a^7n06!p^rAE(TWDwP;961!n-Kom&l+U!sR=*&ZZag- zN5-Y(&4)^9aXbQzNPWiHEYq ztWAZ#zp#{K%4ZShlKf;Nr0f;)57R5^W8d_2Ya80jIZvC?kp7^^IoC!UAWjkGRS-Vy zBer7>H&Isw>@WuPh%utBuE2{79P4)+-T3m;1+g%7ma<)J$P=Fmd{(4o*iwqp{@Fo4 z_3HA=;#^{$SgFne%^8MDK@*vLjGVoVY5;AFEwZE%M6!F2L#3H%A6;p~mhqX5Icuqc z^*Q9Rvja~qJjv3|E)^H;#47x$vx064w?Y8QEt!s6tzqhq&*h2!G#aA5EdzO8MiR6v z-Y!Y5PvFhIvJu|W=kdQPyd0Sj>+5K%_dyS&cW?>cq6f+*zXp*uNHk;;jA$Vc-8IISE}WG MdtA_Ej>qHw1pO~2CIA2c literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..f218825566892d259de69f5c9daa09a20832ed06 GIT binary patch literal 714 zcmeAS@N?(olHy`uVBq!ia0y~yU~~at4mO}j{44ik3=B*YJzX3_DsH{Kvzzyjfk@j$ z4uM5Ux?Eh>7`U|B9Fth1vedj1cP}<9Z?>>e5t*y}SNccY%S)v|{X-c1UwCcTo8NW0 zW?L$>wZ#uFnHtn*`8?~|hSlAU0%utS9ZiH?ST6bq2)Yx`wNYHaxRKp~3)D*V@$ibc;b&3TtJ!{om+5V1I#IFf=}60WB z)4?3OAg`Ox=gd#z-MvF%nVgG#hpBxBD+!jgtnYT;*KK=7s;tZq({%cZ^n7P3v7dfh Seyc_=$YM`dKbLh*2~7Z*b8yuF literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png index 8e19b410a1b15ff180f3dacac19395fe3046cdec..66fe496486c4203d5ccc543f771c47d084e47342 100644 GIT binary patch literal 5816 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 a9sdtN6eHRrdyqB&0000w_$J*Tf6)9O_9e z=eLM5WiP~I4EnwAe3kRCZ}xDk|9~k^#z{)+y!o`vGoomcwDMcTPnG!VYPPC3)uhXZ zp0)ES*L^aV_G@S}X?2{9%}BNpb}HHUF3p7bYN|)8i|@?JV{CKbrmb|>D7cyMv3QBU zrfyuyiIq_KHp|u48ycR2CjF>h{@_v3jYpUDP6PVBwF(pW$B)NpM?1VJNSTuJOBqR= z*prO}sT}Etwp5-Xo5i~fxoF=1Hm`C#@2P1T+L-fbIs3NV-$nH_tU{J70}i^cHXS?C z=!Wx}3dx4@8{Svn7d@+%+mmEQ)%R6T_w`m=9PHJ?-K{lP{G(Hac|jUM2xrg-Q+kQD zufBE=)RCPJZ{@%iM3Z~Ysi`n=hQLltaj%#j$zX+kT!9;{c2)BYD|@mlZzaKi#p@Y% zE2JiH%tAgcz7O73TS2pJ&WhxlLN7o5X0_ROiof+B5tOjw0+!-)7u9%kba=soX_|U6 z@pm0NCpPS@;%>=OJT$Qt(;452oef=Z(5*ZC3r4oTEMjG@T>%xv9ibH(n$CLJc((T` z8WfeX)(e1YH>9JGMtbe`CgWt3QUjUNh;iGU(7Lgr$jl`Tyt|bd7#(-N{xtt#)0PS_ zivoh=*4Bc!B{xgz{ZZO+$t}&eArdP~hqu3(hXlG0C?h64E^S;SiQRL+ZGnPhmkpcO zTq#@n)afBoq{WE;O<|zXRQy2{#W5pQ2);gJ6Os2R@md^FL}KqxY?oVfcE1jsNrv+UA-D=vITPrdHy^B<;7t$7Db}2Yd~M zfh8h=TnCUMpXDtG1ek&W@T>=(D*>i#sZcnDYY?a5Lzr{;r!L^Ln}1w`;5kUVkszNO zNNyZ}2ZRA({69s&g4K`d&%OUT@^7*!>-nLS=AY*tt_964^>EF1+G(eYQ|t$zhM{iy z8T|Q-ByL#&2jVpQ09ao?0or#I-g1g?sZ+=R4u>Dp1MJQ<|4sEE)YWQf>_vyvlNSd- z07wFm0RBIrU_g>dkTZggAc4)DyicF52XAvjyH(81&8M7{5Q>nOn3;QxSf>2!fvoTG zeh5$FLr0Dns;H=BS_V$F^!(~MB?N{b00aO5{uIw;LBbNicT!4xJ%f=-`CX|`31EZ2 zLM6aT!2iawYOXrIm}l_wOJIPuqwp4X382=AQ?;=k`D8 zq2bJMkm`m8PJRfwhGcFGZf@yQ)3Y0@Drrnl<&!Y?OzgS^8~;F(=k5u+}g`96!M#QIWWg*f9TUIgYN zI>S~!2PxD3cy4a);_PaSr|!!ZGICLNnbWAYKPL3`!1vu~$27jY=Q1^njb zR7A^6uj(g`y)S<25eSpH-N^F=@th^+JLdwU5MF8Seqrl=8_CjsCen%vUpd<3$4-8* znr>{VaV0N$RH!=}QFb!Qugtq4Z0sO`B_r$7v3`S{80(e9Y`-y?mQb&CwI23~V9!U3 zBr^#CNp2lioh#SD?3!$y_}I^ZlL;{N=?b*t1$0=l_qENS(+crR_6}a}pbcHuvgGWM z$V{WpGWDXt=+nyeS}_Dy9$G}-J05THX7BidHd;r1Z^qh2B3d2n9LAIL;7=w^_X(aD ovJ{!Pv6CWgJNDmx9GTA<9=mr}#}sj7?Et~BK8La(nt8_l1No-`X#fBK literal 9250 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 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..cdbec5a37acfa77e27ed751406660a43e01acb3d GIT binary patch literal 4474 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 L*u$0R9F+VIG8DTl literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..bbb153d30937ca025857e0f10408d3265acd1046 GIT binary patch literal 1084 zcmeAS@N?(olHy`uVBq!ia0y~yVB7%09Be?56MhC-3=AyHo-U3d6}R4AJDBMdD9{$@ zxJ4}b0#{Ij^}*6z1yg+=gg(^Ly>VpqA*QrEM)S>E8X6KU*!S_h`*8m($dFM$)e!jc z+~~8#u^&^U%FA9}C_XSP%PY3KqSq2?tb|*(3~3HZ-E}7}R$!=WBwNE29T@l_pQGs?g~@>_Le~S;CJg#k^Og1U-zMdf8ON9 QD?v{7boFyt=akR{08z3HC{P@VyEoX& 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 BIP(Ai diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index 2c739f8a..ae427fd8 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - Notes + Standard Notes diff --git a/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Red.png similarity index 100% rename from ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png rename to ios/Red.png diff --git a/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Red@2x.png similarity index 100% rename from ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png rename to ios/Red@2x.png diff --git a/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Red@3x.png similarity index 100% rename from ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png rename to ios/Red@3x.png diff --git a/ios/StandardNotes.xcodeproj/project.pbxproj b/ios/StandardNotes.xcodeproj/project.pbxproj index 65a06b36..3beabf54 100644 --- a/ios/StandardNotes.xcodeproj/project.pbxproj +++ b/ios/StandardNotes.xcodeproj/project.pbxproj @@ -5,6 +5,7 @@ }; objectVersion = 46; objects = { + /* Begin PBXBuildFile section */ 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; @@ -45,6 +46,10 @@ ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; C00E89E3E7F949A4AA0F613E /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F30913DACE34E71895FBF91 /* libz.tbd */; }; CD17667C1F795DC100165C83 /* libSNTextView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CD1766781F795AE500165C83 /* libSNTextView.a */; }; + CD399CD021E16BD6006106AE /* libReactNativeAlternateIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CD399CC521E16BCC006106AE /* libReactNativeAlternateIcons.a */; }; + CD399CE321E181C7006106AE /* Red.png in Resources */ = {isa = PBXBuildFile; fileRef = CD399CE021E181C6006106AE /* Red.png */; }; + CD399CE421E181C7006106AE /* Red@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD399CE121E181C7006106AE /* Red@3x.png */; }; + CD399CE521E181C7006106AE /* Red@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD399CE221E181C7006106AE /* Red@2x.png */; }; CDB58A201F6C5193009EF868 /* libRNMail.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDB58A161F6C5179009EF868 /* libRNMail.a */; }; CDB58A211F6C51A4009EF868 /* libReactNativeFingerprintScanner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDB58A0F1F6C5174009EF868 /* libReactNativeFingerprintScanner.a */; }; CDB58A221F6C5235009EF868 /* libRCTAes.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDB58A091F6C516B009EF868 /* libRCTAes.a */; }; @@ -297,6 +302,13 @@ remoteGlobalIDString = 9936F32F1F5F2E5B0010BF04; remoteInfo = "privatedata-tvOS"; }; + CD399CC421E16BCC006106AE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = CD399C9921E16BCC006106AE /* ReactNativeAlternateIcons.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = ReactNativeAlternateIcons; + }; CD4D91841F7BE11800080678 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 5C13FDBBDDEE4F1285F88B41 /* RNStoreReview.xcodeproj */; @@ -474,6 +486,10 @@ ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; B5409EE82FED4DA9B57CA746 /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = ""; }; CD17664C1F795AE500165C83 /* SNTextView.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SNTextView.xcodeproj; path = "../vendor/sn-textview/ios/SNTextView.xcodeproj"; sourceTree = ""; }; + CD399C9921E16BCC006106AE /* ReactNativeAlternateIcons.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactNativeAlternateIcons.xcodeproj; path = "../vendor/react-native-alternate-icons/ReactNativeAlternateIcons.xcodeproj"; sourceTree = ""; }; + CD399CE021E181C6006106AE /* Red.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Red.png; sourceTree = ""; }; + CD399CE121E181C7006106AE /* Red@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Red@3x.png"; sourceTree = ""; }; + CD399CE221E181C7006106AE /* Red@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Red@2x.png"; sourceTree = ""; }; CDB58A041F6C516B009EF868 /* RCTAes.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAes.xcodeproj; path = "../vendor/react-native-aes/ios/RCTAes.xcodeproj"; sourceTree = ""; }; CDB58A0A1F6C5174009EF868 /* ReactNativeFingerprintScanner.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactNativeFingerprintScanner.xcodeproj; path = "../vendor/react-native-fingerprint-scanner/ios/ReactNativeFingerprintScanner.xcodeproj"; sourceTree = ""; }; CDB58A101F6C5178009EF868 /* RNMail.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNMail.xcodeproj; path = "../vendor/react-native-mail/RNMail.xcodeproj"; sourceTree = ""; }; @@ -497,6 +513,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + CD399CD021E16BD6006106AE /* libReactNativeAlternateIcons.a in Frameworks */, CD17667C1F795DC100165C83 /* libSNTextView.a in Frameworks */, CDB58A221F6C5235009EF868 /* libRCTAes.a in Frameworks */, CDB58A211F6C51A4009EF868 /* libReactNativeFingerprintScanner.a in Frameworks */, @@ -632,6 +649,9 @@ 13B07FAE1A68108700A75B9A /* StandardNotes */ = { isa = PBXGroup; children = ( + CD399CE021E181C6006106AE /* Red.png */, + CD399CE221E181C7006106AE /* Red@2x.png */, + CD399CE121E181C7006106AE /* Red@3x.png */, CDC17F4A1F6E24720037D7F9 /* StandardNotes.entitlements */, 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 13B07FAF1A68108700A75B9A /* AppDelegate.h */, @@ -706,6 +726,7 @@ 832341AE1AAA6A7D00B99B32 /* Libraries */ = { isa = PBXGroup; children = ( + CD399C9921E16BCC006106AE /* ReactNativeAlternateIcons.xcodeproj */, CD17664C1F795AE500165C83 /* SNTextView.xcodeproj */, CDB58A101F6C5178009EF868 /* RNMail.xcodeproj */, CDB58A0A1F6C5174009EF868 /* ReactNativeFingerprintScanner.xcodeproj */, @@ -786,6 +807,14 @@ name = Products; sourceTree = ""; }; + CD399C9A21E16BCC006106AE /* Products */ = { + isa = PBXGroup; + children = ( + CD399CC521E16BCC006106AE /* libReactNativeAlternateIcons.a */, + ); + name = Products; + sourceTree = ""; + }; CD4D91811F7BE11800080678 /* Products */ = { isa = PBXGroup; children = ( @@ -973,7 +1002,7 @@ isa = PBXProject; attributes = { LastUpgradeCheck = 610; - ORGANIZATIONNAME = Facebook; + ORGANIZATIONNAME = "Standard Notes"; TargetAttributes = { 00E356ED1AD99517003FC87E = { CreatedOnToolsVersion = 6.2; @@ -1070,6 +1099,10 @@ ProductGroup = 146834001AC3E56700842450 /* Products */; ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; }, + { + ProductGroup = CD399C9A21E16BCC006106AE /* Products */; + ProjectRef = CD399C9921E16BCC006106AE /* ReactNativeAlternateIcons.xcodeproj */; + }, { ProductGroup = CDB58A0B1F6C5174009EF868 /* Products */; ProjectRef = CDB58A0A1F6C5174009EF868 /* ReactNativeFingerprintScanner.xcodeproj */; @@ -1349,6 +1382,13 @@ remoteRef = CD2AA5CB21D00BF700967EBD /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + CD399CC521E16BCC006106AE /* libReactNativeAlternateIcons.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libReactNativeAlternateIcons.a; + remoteRef = CD399CC421E16BCC006106AE /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; CD4D91851F7BE11800080678 /* libRNStoreReview.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1483,8 +1523,11 @@ buildActionMask = 2147483647; files = ( 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, + CD399CE321E181C7006106AE /* Red.png in Resources */, + CD399CE521E181C7006106AE /* Red@2x.png in Resources */, 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, 965031D980094619B7DBA0FD /* Ionicons.ttf in Resources */, + CD399CE421E181C7006106AE /* Red@3x.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1686,7 +1729,7 @@ 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_APPICON_NAME = Blue; CODE_SIGN_ENTITLEMENTS = StandardNotes/StandardNotes.entitlements; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = NO; @@ -1722,7 +1765,7 @@ 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_APPICON_NAME = Blue; CODE_SIGN_ENTITLEMENTS = StandardNotes/StandardNotes.entitlements; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = HKF9BXSN95; diff --git a/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index b8628c15db7593d3cafa4729fb3ab1652ebd34ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 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 IbxsLQ05!wOGynhq diff --git a/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png deleted file mode 100644 index 22fc03e86d5e4f44b3f14ed6e60b11b2327743cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 598 zcmeAS@N?(olHy`uVBq!ia0vp^MIg+<1|<9Mw$?H*Fv)tlIEGZrd3(pOXpVz`!^J!a zrf(8qQ~4eo_`biRw&$*c$Xkzzb2}QDYX6;9^?iH4b)oo_)3>Xy&c83{+`WRUR(Yo2 zYoVWybw4S$buFB`SLJKObcv)n=i=I`dV_i7{1{gySyc1hYFAX`;Y{@4aCVXqIy6C` zt;Im4g+!q(5;>j|hA6EGM;p^_L%FY^UgniX1}KX>}Q$B7J0uS?I#M%Q$}%F?DscoUhjGym6!iwhw0VX z>lJLaK%5-w{Q3Ipt}m*WdH4TU%MFXD>GUV{>lIPqe=UHl==Cn z)vwB?%L{J&`E12vOOy5wGQa@nI6Hgps;<r)d%KmmLtxBc1u%D4Y7o0{aWeO+5%b!px0g_bSPiI0UptbsGj V*9WW+Ndcx822WQ%mvv4FO#qUl{5Ajp diff --git a/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@1x.png b/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-60x60@1x.png deleted file mode 100644 index 861f58998597489ee05f6f8ed621d319cff63ca5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 zcmV-~0ek+5P)9_mW8DSIdk05o<{uL@h+OAdue z;_-Nt%8~`GB7L>A&S6RK`(AY{kwoA3SsSO?w6<-__G4$cVnW<{EL9P<*3;Cnlu{~{ zr3lT9C3Tms*|aoBqU*X-@2JAlH2o{om4py5j^n9!Zr!Cdp2_B$)?cihu-c{X-o(#J zzw`+|L-i{j5kZXc@E$5B)i3cx1j8`gLm04E($&XO>87Zj@YSV8vS<}G_wi7@q)X$% i)^TC$xUh9x*g8LxI%7i|ZEo8D0000$KIEGZrd3(pVXtsk0!$WiC z2=mU>MPlLa=FeeiJo4FVrOu{H89ZBl-`;Jrf|bX9aZ&aEnLnSGyT~dVIWsJE$=R-9 ze{b=cK%-Y%zE8Mvc$-`A!`%0YE2clxUDckt;mnHae#cr#iE{@E*xHN@<}^O!;Ym-h zU_MNakohr#H@0l0A=fy<8=8BcKE8f0Ilx`@^8Eq@>Bn{Vt9f3Xu$4G>S_O;gJ2pP; z-=5oD8oPMPr&S+c$j_9#Y~s51{QLH^jn6C13e;yxZoT%G$=zj25Km3Qyk-PnJ@@7BQEb@JS zLjPuSX$;f{JDx4o{%o^9OJ}##@sA%?i_E*Yr{rnb?zwe~zWz99sITe&-61}AX2;tf^MU#l~y^~@94If>#}-= zw`R1y`f|f12IoYVa=d2XVKERm;K0Dlh=-w;7QJ54bgk09uS!OnKmFSFRVpaB{JCIB zt7kSyLe7yv|1;DCfm?3+rfBuh)5Liu#tx9a&nZ5KLxwmJQ*eXHJQuTM2i`}R6|X~2T0>{GP?ExS*DtcWoWxK?{XxqyvvcfDN6`(4hBZ(fVe z++Wdk_tT%BLhqVEw*T3FULyJJ)|eFO{fy#uawT^2;EK4J+3*9 z4zHd&O7<=Iu=bePVIyY+u+D}?1~w)Mjsyi%h8<(~s=CY7hUrDX*ktf@^>bP0l+XkK DZMn&! diff --git a/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png b/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png deleted file mode 100644 index 583aafeddb6da534bc76ddc954cffd3e8c42b345..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 712 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q4M;wBd$farfvMlq#WAE}&fB}OdAA%S+Aii7 zIC#9#2ra)Cx6Rv2;g8Sy9jilH%R90y(ixi_`_ELEY`gvPYxVp6^`XA6SKZ_Ow{q*M z&l_*O-kxgboUn44@7h1Pg`4kXn|?Rkki(>;q@YAQLVxQe zf$iDHwfv=?r@j63czMH)$k%sw^X<6nJ@L8Q^wArlX^wgQKHk^#*pM<1IBW>K1I@ zzCG~pN6)oeZ@n#x|F`p;1Ao%Grwqkd0^6v>`uI)j7wM+Hm#5b+`|IHHrxj-7#D(v< zt!4NYw?(&Hi^?^dee{0hLTwKT@{xRH}S>(YKFV_rAp$wj`elF{r5}E);mH@Z_ diff --git a/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index a27593e226e1b759df449ca9d578d5a98c03a493..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 456 zcmeAS@N?(olHy`uVBq!ia0vp^J|N7&1|*M957cI0VC?sFaSW-L^Y(_f-(d#=JqlVR%o9nZ65jneMOjjftKcH3U9U7QlM>GtE3uYYcR^jTRc`UShG>z+Bv>kUIp zl1pbU%Q(gq#hvZQ*382u$zvpuVsIj1!a;>*YyxckD`xI-yRuk(ql)vsz4leS-IGlF z;u0OgrXFlieACJ^@#hOuovvywkO>PGes9jMpON-l=RH?gXyMM7G~E|BW&4k3$gb~< zOPpW~wCag2XDRFHGZr#@+v83mI9gQ`ZzOc&2G&r=$DeeTu O5QC?ypUXO@geCyS0K}&N diff --git a/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index f550831d244d5d4d3e00f3749cf5fc87692ccbc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 738 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 diff --git a/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png b/ios/StandardNotes/Images.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png deleted file mode 100644 index aa678cbc382629a644343531df1e10b17b700e3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5619 zcmeAS@N?(olHy`uVBq!ia0y~yU;#2&7&w@K)Q9>#R~Q&XcX_%vhE&XXd&e;Eeu+$b z;%yZlLuU3Dehy59%mPUckAw^qo~>BEVuqk|5vK}U%PnaILxFE`2k!>`NnW{P%Fe&i zpX|=Rcxn9W>h(`H$7cL1{e8Wz*0}C(Zq>hh<53pYOZJ z#=x*g^z`%jy8Hjw%$=`)+2n0_|K7jM3UeBGCmJNDXE@c=!3?d;btc3$eZ~&djAfN;!6kLFWLkEy(5ExZB8a$(k zVl*p^mK3AqBdAt5ar4i^rx&GxRfF)%;}Y)qKrz1~>JFnd$7p>?L~~-o=Edv<_qXM` z0~;n4ldqN9Rxz#L2})L@jSXNZ(5Wq!B9|<)7uc?|5EKVmI;@Me6E`n1@5sNsZLvDT zhYxFCSAAi5AfX5J^k|C)7zp%g+#~7*~l=f%)8c@;I(0+L6XP_Zg(SMeB{DPN(;XvmOV9_<&N+F_& nH#%YjOerm+18NixBmQHw=Pm4b=o<767@!QEu6{1-oD!MgBwN8xLaQBm|@`$V?zQKPD`+t2Qkkk2Zzwd{Z z7f5nBJjbO;dFwPyhk)ZazJZo}sW8U437gGY`%&GSLht?I9;zywbLjhiTj3UP&XI(w zLPTIpy=s-h5Z0$m62ma;s+TfYYxG{Os%yO|zyBY;0N4>`UtP)r z8Vg4``XexZn-Ozxp6BFA5fSRTPOg7P6r83hc~T$A`RaL6` k4f9Q6{>onjwG=@uFLP2}ZwVH1>i_@%07*qoM6N<$g0(P@MgRZ+ literal 0 HcmV?d00001 diff --git a/ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-20x20@3x.png b/ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..527a9ea2cb60d1710e529a7c68b688e46c03a092 GIT binary patch literal 383 zcmV-_0f7FAP)x8g% zLfASXY@HCcP6%5kgsnpfM~BcC`YNvaf1vlbm(ekF1-EjzN-;9CD`9eF3jpM-Nc%g7 z-3gOq(7x~5aWr9?rs|lg@Npclu4|KkG(kkjIRoO~Rmt6!b|)7h5E}ZClexr4UhnVE|`a8em+}(x57gh(IJ-ms{ZP z0YEb7ifeMVuH3SDU}jjB<+W>(EGB8uLk zS|JkFI+mCjhzN4dD&PN!;mt$u#$;%f9#K9-8BR%OT@X?2+rQ4~txCJQc!aQZLfASX dY@HCc&I8IyWfYyRD5U@Z002ovPDHLkV1fd5s|o-B literal 0 HcmV?d00001 diff --git a/ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-29x29@1x.png b/ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..3d74001ad58b004e3f03205ee4161a4a1f9b74e8 GIT binary patch literal 279 zcmV+y0qFjTP)&TG!b)sxd3PwhVN+K z_oTI6g{HmmiFqKHpYnWWI8jIit0suMHDj^a(lp z-G5ItkMDu+{rY0oJRUAOE@$N;D?a^PQoN)7IE!dAz&4?;6K>K3S5{tM^p&pOHPI z#L{(t`sFI#C*I!nD6!e42icl zE%1ohI{js1RnNUeyS@Ij?$KMd&U=l|+?Jo;I*zmW^qkaRFF&zGV=wy+qsL7>+(vpQ zb|?_fSaEGq_4y5vUtedxusxjibo+Pz|L0gv3MR&Q$hzGQs(IeDN0eDoJSApAq2n=D zN%4^7b_znq)0X>wPW z=dhJukFwI#OYaZAUtP)r z8Vg4``XexZn-Ozxp6BFA5fSRTPOg7P6r83hc~T$A`RaL6` k4f9Q6{>onjwG=@uFLP2}ZwVH1>i_@%07*qoM6N<$g0(P@MgRZ+ literal 0 HcmV?d00001 diff --git a/ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-40x40@2x.png b/ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..079d52b081f4c58f96d611ea338dbd526c6e5e52 GIT binary patch literal 468 zcmeAS@N?(olHy`uVBq!ia0vp^0U*r51|<6gKdoh8V4Usg;uumf=j|=Wye0<;hli3Z z&U>=`Z(5gJE*4Q{`?qdZ$>n8-rMX`GzUFr9d4qk{yZC!bnH$qyv&zh6RAhEyYvJLL z6fjaqaX8U10gph|>^)zF`qs)Gt9)%L6IECH|3iDJf_n>NW7#Jjw>ym!l6l}Jc-(*gee1O#*Ov-DqWqV(-_BjTHRNLH-8$xFUv4yi5sG65I(goqfR74$ zzwi9L|9(QbLWoSkd+QJSS$R#18ZMhGef>4+?Str!jw_|HuYT`4_1X3=Ur)!X^#={v zj1-<|@`$p=d|G`~Zm!?*tn*LJFHN}a@WSBwfesJL=XdXN0&P5Oux9JDcvqLK+h(zP z(|!B?3;QR60%oCeZO5C!M_ODrOnkTI8+y4O(fc3vNP+k5dtF-z9HCgtbS|NMnfZ~2 RZ-KGJ;OXk;vd$@?2>@`k$&CO2 literal 0 HcmV?d00001 diff --git a/ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-40x40@3x.png b/ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..011ac8078bcfffe9b149744e21261b947424a05b GIT binary patch literal 616 zcmeAS@N?(olHy`uVBq!ia0vp^6(G#P1|%(0%q}r7FzI``IEGZrd3)z(;9&z1hl}br z&jqo%28h26;)-{8LWDxYntLRII)UxaxgDD2|)+q&nT7av<__PD~vZSCv-HA`6D?RC#STR%DM z#9fsgU+a&*@P~STsqUsfp4D@Mn65`XF0lBsI`m7}zp(Pj59Txj1L(O@c3ScIyPA#B z+4pXKXt-DXrfm0(_un_~T{i!LHg5q`Rm`pADeJChA6qD9$m4vgc;z)U-49QTZa&Go^qsH2v3|o-Yw2xP@7yie zVUhCt`)uB5+3$-l&6{lMds!`f@!s#gcUJz7&NDkucz;(H2lHdxp^F;F?}TGMmLA`q Tr?VNDf*3qq{an^LB{Ts5l+6{8LWDxYntLRII)UxaxgDD2|)+q&nT7av<__PD~vZSCv-HA`6D?RC#STR%DM z#9fsgU+a&*@P~STsqUsfp4D@Mn65`XF0lBsI`m7}zp(Pj59Txj1L(O@c3ScIyPA#B z+4pXKXt-DXrfm0(_un_~T{i!LHg5q`Rm`pADeJChA6qD9$m4vgc;z)U-49QTZa&Go^qsH2v3|o-Yw2xP@7yie zVUhCt`)uB5+3$-l&6{lMds!`f@!s#gcUJz7&NDkucz;(H2lHdxp^F;F?}TGMmLA`q Tr?VNDf*3qq{an^LB{Ts5l+6X>V7|%ze;=P4Ivy$d#`It!i*MHg zPeBvSCNa{qUXThnwQAm)`n*ck%n~U8ib|n_RolecpCnB<`tA z@sh_D%WCg0pFVy1=IKS1X~D*J5g%M(JOrX+hQ)&$E^<{68B4bv85iL6dxdW@1Anz=4ThVSM(lKXm(_4=3$fM zF_K6zIFT>`hk)0){y3-DQzq4!E>o^g|MbE%M76%ByI*30@}UF=L-EJaLPdN~V_KG7 zOO3p=Yn`V3$=OOumtK~5`ELHZ)A8WB=f$(0|6JL`dw9aHefR%ZYeby;`TF_(Pdq?< z4|Q*voV}cLvg5$~qx$zJL<<>7w4B>;`st);sg_qH#ROO8-oCQ!tzJDp>+I)03z}c& zM&0jj)_x+%woqM1>C(kz6ZT$jX)2AK?qzvz>z#S&Gazz*O?`u>{&(2ZEBAfI)qoAJ zzgF$A%<1m%h`s(+e$6w>H*wkDc$!zuKfGVp3Lx6I11a zfB5J}CVaN>Z$Es{^2X%PR~eVQIfxVhsmDd+<>fE`tt&wuA~a?fr) z;J18ozD3MIiR7xvo9B8@+DNQ?yX2f6H0DCSiTwQebLUR?XSW^}MEn*qQ|EqDwb$X>jTHJ3cY(VOa|E}#fD)2ZZMJ|5oLFx}g2{ RGB9m2c)I$ztaD0e0sxoxNcI2# literal 0 HcmV?d00001 diff --git a/ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-83.5x83.5@2x.png b/ios/StandardNotes/Images.xcassets/Blue.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..81a12733201dd94ac4a022d851ba0af97ac422a7 GIT binary patch literal 800 zcmeAS@N?(olHy`uVBq!ia0vp^%R!if4M>)V`MhCZV0!N9;uumf=j|QGyvJq?4uPjG zDLHJK@%oF}UYGT^XZtiTY`S^%P0WJJolopPR*MTL)^oSG6jlCw{oYdH#itjH2lfl9 zM?O;Vo|Do!S*LK4s^6v~p3^K&3eijO*0s~0UKk#Tz5V_D@5RR%%5&@geSCW{xncJ- z%jY#;6dufbTXk8@cix14x5ktDmmXDnZ5q$n){zWY@U?2eRlrq_zT-) z|Hl+h5RZI@99-8PzGvR!^~9yzrJeL>u>a2=JvL^n_L$iFzda4 z#`vy#F}C1Moqa6-$<23P8 zH!Auag2i^bzS+I+wKX+0OT@R%OFU;87Z*40nM2EYpkIp5ZG6Am;(5)k$0>DFbEQ&d z7Goq6OW}Vi?+%`~wmB!ie1`3B?;rBdcYeMf$>~4Mk~#_LFY~+VS*Bd}Cw+k_pTX1B K&t;ucLK6U*f`JAA literal 0 HcmV?d00001 diff --git a/ios/StandardNotes/Images.xcassets/Blue.appiconset/ItunesArtwork@2x.png b/ios/StandardNotes/Images.xcassets/Blue.appiconset/ItunesArtwork@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..26c75ed50415638074a766524c69f6268b9d4e0f GIT binary patch literal 5587 zcmeAS@N?(olHy`uVBq!ia0y~yU;#2&7&w@K)Q9>#R~Q&XXL-6fhE&XXd)JXK%T>fR zaQ!8N_0JvVu4CTV$osi?E|Z|0=#A{&2P#uP-1F0zasU6H*WwHe3m#s-%*?>h@LdpS zkbn}9P;dbf4jn+EL4XlRDuS$V0$JC>0VFs^6^;haXrdU+3Zo^(X!%HVt&nHDTpd_> zyf6Cw{rJ3lK-QjkwI%AWj@Qxq<16EKZFg(bvy!^vx^X}#5A9UI|82*GvJ(vxy zQw!OFxqTQmH^E*n`wsLv-|U%}g&WQ*FxcIDckg{UFGGNt@%7S7h6jR752W9$1A6~~ z;5#5W+6Jdl&jVZ{7#9Oe1ocV*hW^=iZTB{&Te>iqFnmw|_jrbE=p)LyEoaWWM4EhG3W{*RM zy1slaFzd6;dn&;A;H(M5d~a~}wg!^Jrpvu^uG|6cH}76@GMt|UEZ-P}SPmS&efRg@ zb&L)Dkn*j;T!7(zLOCnY*Zl>$LZd$p2{)0$9!5>Ug v3=eF1 LSRequiresIPhoneOS + supportsAlternateIcons + + CFBundleIcons + + CFBundlePrimaryIcon + + CFBundleIconFiles + + Blue + + UIPrerenderedIcon + + + CFBundleAlternateIcons + + Red + + CFBundleIconFiles + + Red + + UIPrerenderedIcon + + + + + CFBundleIcons~ipad + + CFBundlePrimaryIcon + + CFBundleIconFiles + + Blue + + UIPrerenderedIcon + + + CFBundleAlternateIcons + + Red + + CFBundleIconFiles + + Red + + UIPrerenderedIcon + + + + NSAppTransportSecurity NSExceptionDomains @@ -40,7 +90,7 @@ NSFaceIDUsageDescription Face ID is required to unlock your notes. NSLocationWhenInUseUsageDescription - + UIAppFonts Entypo.ttf diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index c5b88737..62d06d4a 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -9,6 +9,7 @@ import KeysManager from '../lib/keysManager' import CSSParser from "@Style/Util/CSSParser"; import ThemeDownloader from "@Style/Util/ThemeDownloader" import Icons from '@Style/Icons'; +import IconChanger from 'react-native-alternate-icons'; import redJSON from './Themes/red.json'; import blueJSON from './Themes/blue.json'; @@ -72,12 +73,13 @@ export default class StyleKit { this.systemThemes = []; let options = [ { - variables: redJSON, - name: "Red" + variables: blueJSON, + name: "Blue", + isInitial: true }, { - variables: blueJSON, - name: "Blue" + variables: redJSON, + name: "Red", } ]; @@ -89,6 +91,7 @@ export default class StyleKit { uuid: option.name, content: { isSystemTheme: true, + isInitial: option.isInitial, name: option.name, variables: variables, package_info: { @@ -232,6 +235,24 @@ export default class StyleKit { } }, Platform.OS == "android" ? 100 : 0); + if(theme.content.isSystemTheme) { + IconChanger.supportDevice((supported) => { + if(supported) { + IconChanger.getIconName((currentName) => { + if(theme.content.isInitial && currentName != "default") { + // Clear the icon to default + IconChanger.setIconName(null); + } else { + let newName = theme.content.name; + if(newName != currentName) { + IconChanger.setIconName(newName); + } + } + }) + } + }) + } + this.reloadStyles(); Icons.get().loadIcons(); diff --git a/vendor/react-native-alternate-icons b/vendor/react-native-alternate-icons new file mode 160000 index 00000000..04243d86 --- /dev/null +++ b/vendor/react-native-alternate-icons @@ -0,0 +1 @@ +Subproject commit 04243d86038558228b792502ae0750505ed42ef6 From 3b6a08ab9bf391b6ec1b7e02f48a6080b9d7fdba Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 6 Jan 2019 13:31:52 -0600 Subject: [PATCH 040/131] Tablet layout --- src/app.js | 11 ++++-- src/lib/ApplicationState.js | 8 +++- src/screens/Abstract.js | 1 + src/screens/Compose.js | 66 ++++++++++++++++++++------------ src/screens/Notes/Notes.js | 47 +++++++++++++++++------ src/screens/Notes/NotesTablet.js | 63 ++++++++++++++++++++++++++++++ 6 files changed, 155 insertions(+), 41 deletions(-) create mode 100644 src/screens/Notes/NotesTablet.js diff --git a/src/app.js b/src/app.js index b575c04c..0e549deb 100644 --- a/src/app.js +++ b/src/app.js @@ -16,6 +16,7 @@ import ReviewManager from './lib/reviewManager'; import Compose from "@Screens/Compose" import Notes from "@Screens/Notes/Notes" +import NotesTablet from "@Screens/Notes/NotesTablet" import MainSideMenu from "@SideMenu/MainSideMenu" import NoteSideMenu from "@SideMenu/NoteSideMenu" import Settings from "@Screens/Settings" @@ -32,10 +33,11 @@ if(__DEV__ === false) { } const AppStack = createStackNavigator({ - Notes: {screen: Notes}, - Compose: {screen: Compose} + Notes: {screen: ApplicationState.get().isTablet ? NotesTablet : Notes}, + Compose: {screen: Compose}, + }, { - initialRouteName: 'Notes', + initialRouteName: 'Notes' }) AppStack.navigationOptions = ({ navigation }) => { @@ -80,7 +82,8 @@ const AppDrawer = createStackNavigator({ Home: AppDrawerStack, Settings: SettingsStack, InputModal: InputModalStack, - Authenticate: AuthenticateModalStack + Authenticate: AuthenticateModalStack, + }, { mode: "modal", headerMode: 'none', diff --git a/src/lib/ApplicationState.js b/src/lib/ApplicationState.js index 4260ec6b..c51c8b5a 100644 --- a/src/lib/ApplicationState.js +++ b/src/lib/ApplicationState.js @@ -1,4 +1,5 @@ -import {AppState, Platform} from 'react-native' +import {AppState, Platform, NativeModules} from 'react-native' +const { PlatformConstants } = NativeModules; import KeysManager from "@Lib/keysManager" import OptionsState from "@Lib/OptionsState" import AuthenticationSourceLocalPasscode from "@Screens/Authentication/Sources/AuthenticationSourceLocalPasscode"; @@ -86,6 +87,11 @@ export default class ApplicationState { return !this._isAndroid; } + get isTablet() { + const deviceType = PlatformConstants.interfaceIdiom; + return deviceType == "pad"; + } + // Sent from App.js receiveApplicationStartEvent() { var authProps = this.getAuthenticationPropsForAppState(ApplicationState.Launching); diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index a628b5a2..0eb3b79f 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -237,6 +237,7 @@ export default class Abstract extends ThemedComponent { } static IsShallowEqual = (newObj, prevObj, keys) => { + if(!keys) {keys = Object.keys(newObj)}; for(var key of keys) { if(newObj[key] !== prevObj[key]) { return false; diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 2e0a0d29..bde4d412 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -48,22 +48,9 @@ export default class Compose extends Abstract { let note, noteId = this.getProp("noteId"); if(noteId) { note = ModelManager.get().findItem(noteId);} - if(!note) { - note = ModelManager.get().createItem({content_type: "Note", dummy: true, text: ""}); - note.dummy = true; - // Editors need a valid note with uuid and modelmanager mapped in order to interact with it - // Note that this can create dummy notes that aren't deleted automatically. - // Also useful to keep right menu enabled at all times. If the note has a uuid and is a dummy, - // it will be removed locally on blur - note.initUUID().then(() => { - ModelManager.get().addItem(note); - this.forceUpdate(); - }) - } - - this.note = note; + this.setNote(note, true); - this.constructState({title: note.title, text: note.text}); + this.constructState({title: this.note.title}); this.configureHeaderBar(); @@ -71,7 +58,9 @@ export default class Compose extends Abstract { this.syncObserver = Sync.get().addEventHandler((event, data) => { if(event == "sync:completed") { - if(data.retrievedItems && this.note.uuid && data.retrievedItems.map((i) => i.uuid).includes(this.note.uuid)) { + if(this.note.deleted) { + this.setNote(null); + } else if(data.retrievedItems && this.note.uuid && data.retrievedItems.concat(data.savedItems).map((i) => i.uuid).includes(this.note.uuid)) { this.refreshContent(); } } @@ -93,6 +82,28 @@ export default class Compose extends Abstract { }); } + setNote(note, isConstructor = false) { + if(!note) { + note = ModelManager.get().createItem({content_type: "Note", dummy: true, text: ""}); + note.dummy = true; + // Editors need a valid note with uuid and modelmanager mapped in order to interact with it + // Note that this can create dummy notes that aren't deleted automatically. + // Also useful to keep right menu enabled at all times. If the note has a uuid and is a dummy, + // it will be removed locally on blur + note.initUUID().then(() => { + ModelManager.get().addItem(note); + this.forceUpdate(); + }) + } + + this.note = note; + + if(!isConstructor) { + this.setState({title: note.title}); + this.forceUpdate(); + } + } + configureHeaderBar() { this.props.navigation.setParams({ title: 'Compose', @@ -107,7 +118,7 @@ export default class Compose extends Abstract { } refreshContent() { - this.mergeState({title: this.note.title, text: this.note.text}); + this.mergeState({title: this.note.title}); } componentWillUnmount() { @@ -138,8 +149,10 @@ export default class Compose extends Abstract { componentDidFocus() { super.componentDidFocus(); - this.props.navigation.lockLeftDrawer(true); - this.props.navigation.lockRightDrawer(false); + if(!ApplicationState.get().isTablet) { + this.props.navigation.lockLeftDrawer(true); + this.props.navigation.lockRightDrawer(false); + } if(this.note.dummy) { if(this.refs.input) { @@ -236,7 +249,7 @@ export default class Compose extends Abstract { } showSavingStatus() { - this.setTitle(null, "Saving..."); + this.setSubTitle("Saving..."); } showSavedStatus(success) { @@ -249,18 +262,23 @@ export default class Compose extends Abstract { } this.saveError = false; this.syncTakingTooLong = false; - this.setTitle(null, status); + this.setSubTitle(status); }, 200) } else { if(this.statusTimeout) clearTimeout(this.statusTimeout); this.statusTimeout = setTimeout(function(){ this.saveError = true; this.syncTakingTooLong = false; - this.setTitle(null, "Error syncing (changes saved offline)"); + this.setSubTitle("Error syncing (changes saved offline)"); }.bind(this), 200) } } + getSelectedTagId() { + // On tablet, we use props.selectedTagId + return this.getProp("selectedTagId") || this.props.selectedTagId; + } + changesMade() { this.note.hasChanges = true; @@ -271,8 +289,8 @@ export default class Compose extends Abstract { if(this.statusTimeout) clearTimeout(this.statusTimeout); this.saveTimeout = setTimeout(() => { this.showSavingStatus(); - if(isDummy && this.getProp("selectedTagId")) { - var tag = ModelManager.get().findItem(this.getProp("selectedTagId")); + if(isDummy && this.getSelectedTagId()) { + var tag = ModelManager.get().findItem(this.getSelectedTagId()); // Could be system tag, so wouldn't exist if(tag && !tag.isSmartTag()) { tag.addItemAsRelationship(this.note); diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 008d5b88..38c1889e 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -145,16 +145,19 @@ export default class Notes extends Abstract { } this.reloadList(true); this.configureNavBar(); + if(ApplicationState.get().isTablet) { + this.selectFirstNote(); + } }) this.syncObserver = Sync.get().addEventHandler((event, data) => { if(event == "sync:completed") { // We want to reload the list of the retrieved items contains notes or tags. // Since Notes no longer have relationships on tags, if a note's tags change, only the tag will be synced. - var retrievedHasNoteOrTag = data.retrievedItems && data.retrievedItems.find((item) => { + var retrievedSavedHasNoteOrTag = data.retrievedItems && data.retrievedItems.concat(data.savedItems).find((item) => { return ["Note", "Tag"].includes(item.content_type); }) - if(retrievedHasNoteOrTag || _.find(data.unsavedItems, {content_type: "Note"})) { + if(retrievedSavedHasNoteOrTag || _.find(data.unsavedItems, {content_type: "Note"})) { this.reloadList(); } this.mergeState({refreshing: false, loading: false}); @@ -356,8 +359,24 @@ export default class Notes extends Abstract { console.log("===Reload Notes List==="); + var result = ModelManager.get().getNotes(this.options); + var notes = result.notes; + var tags = result.tags; + + this.setState({notes: notes, tags: tags, refreshing: false}); + + // setState is async, but we need this value right away sometimes to select the first note of new set of notes + this.stateNotes = notes; + this.forceUpdate(); - this.mergeState({refreshing: false}) + } + + selectFirstNote() { + if(this.stateNotes && this.stateNotes.length > 0) { + this.handleSelection(this.stateNotes[0]); + } else { + this.handleSelection(null); + } } _onRefresh() { @@ -370,13 +389,21 @@ export default class Notes extends Abstract { }) } + handleSelection = (note) => { + if(this.props.onNoteSelect) { + this.props.onNoteSelect(note); + } else { + this.presentComposer(note); + } + } + _onPressItem = (item: hash) => { var run = () => { if(item.conflict_of) { item.conflict_of = null; } - this.presentComposer(item); + this.handleSelection(item); } if(item.errorDecrypting) { @@ -403,15 +430,11 @@ export default class Notes extends Abstract { return ; } - var result = ModelManager.get().getNotes(this.options); - var notes = result.notes; - var tags = result.tags; - var syncStatus = Sync.get().syncStatus; return ( - {notes && + {this.state.notes && } @@ -437,7 +460,7 @@ export default class Notes extends Abstract { {this.presentComposer()}} + onClickAction={() => {this.handleSelection()}} visible={true} iconTextComponent={} /> diff --git a/src/screens/Notes/NotesTablet.js b/src/screens/Notes/NotesTablet.js new file mode 100644 index 00000000..0b8ab147 --- /dev/null +++ b/src/screens/Notes/NotesTablet.js @@ -0,0 +1,63 @@ +import React, { Component } from 'react'; +import { View, Text, Alert } from 'react-native'; + +import SideMenuManager from "@SideMenu/SideMenuManager" + +import Abstract from "@Screens/Abstract" +import Notes from "@Screens/Notes/Notes" +import Compose from "@Screens/Compose" +import LockedView from "@Containers/LockedView" + +import StyleKit from "@Style/StyleKit" + +export default class NotesTablet extends Abstract { + + constructor(props) { + super(props); + } + + onNoteSelect = (note) => { + this.composer.setNote(note); + this.setState({selectedTagId: this.notesRef.options.selectedTagIds.length && this.notesRef.options.selectedTagIds[0]}); + } + + render() { + if(this.state.lockContent) { + return ; + } + + return ( + + + + {this.notesRef = ref}} navigation={this.props.navigation} onNoteSelect={this.onNoteSelect} /> + + + + {this.composer = ref}} + selectedTagId={this.state.selectedTagId} + navigation={this.props.navigation} + /> + + + ); + } + + loadStyles() { + this.styles = { + root: { + flex: 1, + flexDirection: "row" + }, + left: { + width: "34%", + borderRightColor: StyleKit.variables.stylekitBorderColor, + borderRightWidth: 1 + }, + right: { + width: "66%" + } + } + } +} From e91640b5a466507cadec03d69b85cbca0e0d6520 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 6 Jan 2019 13:37:09 -0600 Subject: [PATCH 041/131] Case change --- src/{app.js => App.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{app.js => App.js} (100%) diff --git a/src/app.js b/src/App.js similarity index 100% rename from src/app.js rename to src/App.js From 19d729110c8f644907ee468e018bf85f19864ec3 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 6 Jan 2019 18:39:50 -0600 Subject: [PATCH 042/131] Convert Abstract into psuedo-pure component --- src/screens/Abstract.js | 11 ++++++++--- src/screens/Compose.js | 3 ++- src/screens/Notes/Notes.js | 39 +++++++++++++++++++++----------------- 3 files changed, 32 insertions(+), 21 deletions(-) diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 0eb3b79f..0a428316 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -88,6 +88,11 @@ export default class Abstract extends ThemedComponent { }) } + shouldComponentUpdate(nextProps, nextState) { + let isSame = Abstract.IsShallowEqual(nextProps, this.props) && Abstract.IsShallowEqual(nextState, this.state); + return !isSame; + } + onThemeChange() { super.onThemeChange(); try { @@ -132,6 +137,8 @@ export default class Abstract extends ThemedComponent { } componentWillFocus() { + this.willBeVisible = true + if(ApplicationState.get().isUnlocked() && this.state.lockContent) { this.unlockContent(); } @@ -139,16 +146,14 @@ export default class Abstract extends ThemedComponent { componentDidFocus() { this.visible = true; - this.willBeVisible = true; // Just in case willAppear isn't called for whatever reason this.configureNavBar(false); } componentWillBlur() { - + this.willBeVisible = false; } componentDidBlur() { - this.willBeVisible = false; this.visible = false; } diff --git a/src/screens/Compose.js b/src/screens/Compose.js index bde4d412..9b4d759d 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -184,7 +184,7 @@ export default class Compose extends Abstract { this.forceUpdate(); }, onTagSelect: (tag) => { - let selectedTags = this.note.tags; + let selectedTags = this.note.tags.slice(); var selected = selectedTags.includes(tag); if(selected) { // deselect @@ -214,6 +214,7 @@ export default class Compose extends Abstract { replaceTagsForNote(newTags) { let note = this.note; + var oldTags = note.tags.slice(); // original array will be modified in the for loop so we make a copy for(var oldTag of oldTags) { if(!newTags.includes(oldTag)) { diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 38c1889e..0ec7c3e0 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -57,6 +57,23 @@ export default class Notes extends Abstract { }) } + loadInitialState() { + this.options = ApplicationState.getOptions(); + + this.mergeState({ + refreshing: false, + decrypting: false, + loading: true, + notes: [] + }); + + this.registerObservers(); + this.initializeNotes(); + this.beginSyncTimer(); + + super.loadInitialState(); + } + componentDidMount() { super.componentDidMount(); if(this.authOnMount) { @@ -98,22 +115,6 @@ export default class Notes extends Abstract { this.configureNavBar(true); } - loadInitialState() { - this.options = ApplicationState.getOptions(); - - this.mergeState({ - refreshing: false, - decrypting: false, - loading: true, - }); - - this.registerObservers(); - this.initializeNotes(); - this.beginSyncTimer(); - - super.loadInitialState(); - } - componentWillUnmount() { super.componentWillUnmount(); ApplicationState.get().removeStateObserver(this.stateObserver); @@ -275,7 +276,7 @@ export default class Notes extends Abstract { configureNavBar(initial = false) { // If you change anything here, be sure to test how it interacts with filtering, when you change which tags to show. - if(this.state.lockContent ) { + if(this.state.lockContent) { this.needsConfigureNavBar = true; return; } @@ -334,6 +335,10 @@ export default class Notes extends Abstract { if(this.needsConfigureNavBar) { this.configureNavBar(false); } + } + + componentWillFocus() { + super.componentWillFocus(); if(this.loadNotesOnVisible) { this.loadNotesOnVisible = false; From f41dbc8a86f8356a3b5e3e3d9f683965cee9e9ec Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 6 Jan 2019 19:38:27 -0600 Subject: [PATCH 043/131] Keyboard dismiss on side menu will appear. SNTextView blur method --- src/screens/Compose.js | 7 +++++++ src/screens/SideMenu/AbstractSideMenu.js | 13 +++++++++++++ .../ios/SNTextView/SNTextViewManager.m | 18 +++++++++++++++--- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 9b4d759d..9763f9b2 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -199,12 +199,19 @@ export default class Compose extends Abstract { getSelectedTags: () => { // Return copy so that list re-renders every time if they change return this.note.tags.slice(); + }, + onKeyboardDismiss: () => { + // Keyboard.dismiss() does not work for native views, which our tet input is + this.input && this.input.blur(); } }) } componentWillBlur() { super.componentWillBlur(); + + this.input && this.input.blur(); + if(this.note.uuid && this.note.dummy) { // A dummy note created to work with default external editor. Safe to delete. ModelManager.get().removeItemLocally(this.note); diff --git a/src/screens/SideMenu/AbstractSideMenu.js b/src/screens/SideMenu/AbstractSideMenu.js index 404335c7..cefc4635 100644 --- a/src/screens/SideMenu/AbstractSideMenu.js +++ b/src/screens/SideMenu/AbstractSideMenu.js @@ -1,4 +1,5 @@ import React, { Component, Fragment } from 'react'; +import {Keyboard} from 'react-native'; import Abstract from "@Screens/Abstract" export default class AbstractSideMenu extends Abstract { @@ -19,8 +20,20 @@ export default class AbstractSideMenu extends Abstract { return false; } let isSame = Abstract.IsShallowEqual(newNavigationState, currentNavigationState, ["isDrawerIdle", "isDrawerOpen", "isTransitioning"]) + if(!isSame) { + this.psuedo_willFocus(); + } return !isSame; } + psuedo_willFocus() { + // componentWillFocus is not called for drawer components when they are about to appear + // instead, we piggyback on the logic in shouldComponentUpdate above to determine + // if navigation state is about to change, and if so, we call this. + + Keyboard.dismiss(); + + this.handler.onKeyboardDismiss && this.handler.onKeyboardDismiss(); + } } diff --git a/vendor/sn-textview/ios/SNTextView/SNTextViewManager.m b/vendor/sn-textview/ios/SNTextView/SNTextViewManager.m index ed26cffa..57a9d79f 100644 --- a/vendor/sn-textview/ios/SNTextView/SNTextViewManager.m +++ b/vendor/sn-textview/ios/SNTextView/SNTextViewManager.m @@ -11,6 +11,9 @@ #import @implementation SNTextViewManager +{ + SNTextView *_textView; +} RCT_EXPORT_MODULE() RCT_EXPORT_VIEW_PROPERTY(text, NSString) @@ -27,9 +30,18 @@ @implementation SNTextViewManager - (UIView *)view { - SNTextView *textView = [[SNTextView alloc] init]; - textView.delegate = self; - return textView; + if(!_textView) { + _textView = [[SNTextView alloc] init]; + _textView.delegate = self; + } + return _textView; +} + +RCT_EXPORT_METHOD(blur:(nonnull NSNumber *)node) +{ + dispatch_async(dispatch_get_main_queue(), ^{ + [_textView resignFirstResponder]; + }); } RCT_CUSTOM_VIEW_PROPERTY(fontSize, NSNumber, SNTextView) From 906a40b2ba887c8d48c6b9938473213c8d1bad86 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 6 Jan 2019 20:25:15 -0600 Subject: [PATCH 044/131] Deep comparison for Abstract shouldComponentUpdate. Selective state for Compose --- src/screens/Abstract.js | 24 ++++++++++++++++++++---- src/screens/Compose.js | 24 ++++++++++++++++-------- src/style/StyleKit.js | 8 +++++--- 3 files changed, 41 insertions(+), 15 deletions(-) diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 0a428316..c67506b1 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -89,7 +89,8 @@ export default class Abstract extends ThemedComponent { } shouldComponentUpdate(nextProps, nextState) { - let isSame = Abstract.IsShallowEqual(nextProps, this.props) && Abstract.IsShallowEqual(nextState, this.state); + let isSame = Abstract.IsDeepEqual(nextProps, this.props, null, ["navigation"]) + && Abstract.IsDeepEqual(nextState, this.state); return !isSame; } @@ -192,9 +193,16 @@ export default class Abstract extends ThemedComponent { } mergeState(state) { - this.setState(function(prevState){ - return _.merge(prevState, state); - }) + /* + We're getting rid of the original implementation of this, which was to pass a function into set state. + The reason was, when compared new and previous values in componentShouldUpdate, if we used the function approach, + it would always have the new values for both. Doing a normal setState({}) did not have this issue, + */ + // this.setState((prevState) => { + // return _.merge(prevState, state); + // }) + + this.setState(state); } renderOnMount(callback) { @@ -250,4 +258,12 @@ export default class Abstract extends ThemedComponent { } return true; } + + static IsDeepEqual = (newObj, prevObj, keys, omitKeys = []) => { + if(!keys) {keys = Object.keys(newObj)}; + for(var omitKey of omitKeys) { + _.pull(keys, omitKey); + } + return _.isEqual(_.pick(newObj, keys), _.pick(prevObj, keys)); + } } diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 9763f9b2..b5e26e06 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -50,7 +50,7 @@ export default class Compose extends Abstract { if(noteId) { note = ModelManager.get().findItem(noteId);} this.setNote(note, true); - this.constructState({title: this.note.title}); + this.constructState({title: this.note.title, noteLocked: this.note.locked}); this.configureHeaderBar(); @@ -61,7 +61,19 @@ export default class Compose extends Abstract { if(this.note.deleted) { this.setNote(null); } else if(data.retrievedItems && this.note.uuid && data.retrievedItems.concat(data.savedItems).map((i) => i.uuid).includes(this.note.uuid)) { - this.refreshContent(); + /* + You have to be careful about when you render inside this component. Rendering with the native SNTextView component + can cause the cursor to go to the end of the input, both on iOS and Android. We want to force an update only if retrievedItems includes this item + + However, if we make a change to a note from the side menu (such as pin, lock, etc), then we also want + to update ourselves. This would only be found in data.savedItems. + + Actually, we only care about lock changes, because we display a banner if a note is locked. So we'll just + make that a part of the state then. Abstract does a deep compare on state before deciding if to render. + + Do not make text part of the state, otherwise that would cause a re-render on every keystroke. + */ + this.setState({title: this.note.title, noteLocked: this.note.locked}); } } }); @@ -117,10 +129,6 @@ export default class Compose extends Abstract { }) } - refreshContent() { - this.mergeState({title: this.note.title}); - } - componentWillUnmount() { super.componentWillUnmount(); @@ -211,7 +219,7 @@ export default class Compose extends Abstract { super.componentWillBlur(); this.input && this.input.blur(); - + if(this.note.uuid && this.note.dummy) { // A dummy note created to work with default external editor. Safe to delete. ModelManager.get().removeItemLocally(this.note); @@ -241,7 +249,7 @@ export default class Compose extends Abstract { } onTitleChange = (text) => { - this.mergeState({title: text}) + this.setState({title: text}) this.note.title = text; this.changesMade(); } diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 62d06d4a..725f8f53 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -219,12 +219,14 @@ export default class StyleKit { this.activeTheme = theme; + const isAndroid = Platform.OS == "android"; + // On Android, a time out is required, especially during app startup setTimeout(() => { let statusBarColor = this.statusBarColorForTheme(theme); StatusBar.setBarStyle(statusBarColor, true); // setBackgroundColor is only for Android - if(Platform.OS == "android") { + if(isAndroid) { // Android <= v22 does not support changing status bar text color. It will always be white // So we have to make sure background color has proper contrast if(Platform.Version <= 22) { @@ -233,9 +235,9 @@ export default class StyleKit { StatusBar.setBackgroundColor(theme.content.variables.stylekitContrastBackgroundColor); } } - }, Platform.OS == "android" ? 100 : 0); + }, isAndroid ? 100 : 0); - if(theme.content.isSystemTheme) { + if(theme.content.isSystemTheme && !isAndroid) { IconChanger.supportDevice((supported) => { if(supported) { IconChanger.getIconName((currentName) => { From c7e26d55053d214d526467a27937bb1d7d7207aa Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Sun, 6 Jan 2019 23:56:58 -0600 Subject: [PATCH 045/131] build.gradle --- android/build.gradle | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 3081d324..ae75dfaf 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -3,10 +3,10 @@ buildscript { ext { buildToolsVersion = "28.0.3" - minSdkVersion = 19 compileSdkVersion = 27 - targetSdkVersion = 26 supportLibVersion = "27.1.1" + minSdkVersion = 19 + targetSdkVersion = 26 } repositories { google() @@ -44,6 +44,17 @@ allprojects { } } +subprojects { + afterEvaluate { + project -> if (project.hasProperty("android")) { + android { + compileSdkVersion rootProject.ext.compileSdkVersion + buildToolsVersion rootProject.ext.buildToolsVersion + } + } + } +} + task wrapper(type: Wrapper) { gradleVersion = '4.6' From f0255229d3d34579e1c86c912adbb3f5502885fb Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 7 Jan 2019 00:29:03 -0600 Subject: [PATCH 046/131] ApplicationState.ResumingFromBackground && ApplicationState.GainingFocus, Notes reloadList on mapping, rather than sync completion, so that deletion is accounted for as well. --- src/lib/ApplicationState.js | 63 ++++++++++++++++++------------------- src/screens/Notes/Notes.js | 20 ++++++------ 2 files changed, 40 insertions(+), 43 deletions(-) diff --git a/src/lib/ApplicationState.js b/src/lib/ApplicationState.js index c51c8b5a..fa26f414 100644 --- a/src/lib/ApplicationState.js +++ b/src/lib/ApplicationState.js @@ -17,8 +17,11 @@ export default class ApplicationState { // When the app enters the background completely static Backgrounding = "Backgrounding"; + // When the app resumes from either the background or from multitasking switcher or notification center + static GainingFocus = "GainingFocus"; + // When the app resumes from the background - static Resuming = "Resuming"; + static ResumingFromBackground = "ResumingFromBackground"; // When the user enters their local passcode and/or fingerprint static Locking = "Locking"; @@ -109,20 +112,38 @@ export default class ApplicationState { // if the most recent state is not 'background' ('inactive'), then we're going // from inactive to active, which doesn't really happen unless you, say, swipe // notification center in iOS down then back up. We don't want to lock on this state change. - var isResuming = nextAppState === "active" && this.mostRecentState == "background"; + var isResuming = nextAppState === "active"; + var isResumingFromBackground = isResuming && this.mostRecentState == ApplicationState.Backgrounding; var isEnteringBackground = nextAppState == 'background'; var isLosingFocus = nextAppState == 'inactive'; if(isEnteringBackground) { - this.didEnterBackground(); + this.notifyOfState(ApplicationState.Backgrounding); + this.mostRecentState = ApplicationState.Backgrounding; + + if(this.shouldLockApplication()) { + this.lockApplication(); + } } - if(isResuming) { - this.didResume(); + if(isResumingFromBackground || isResuming) { + if(isResumingFromBackground) { + this.notifyOfState(ApplicationState.ResumingFromBackground); + this.mostRecentState = ApplicationState.ResumingFromBackground; + } + + // Notify of GainingFocus even if resuming from background + this.notifyOfState(ApplicationState.GainingFocus); + this.mostRecentState = ApplicationState.GainingFocus; } if(isLosingFocus) { - this.didLoseFocus(); + this.notifyOfState(ApplicationState.LosingFocus); + this.mostRecentState = ApplicationState.LosingFocus; + + if(this.shouldLockApplication()) { + this.lockApplication(); + } } } @@ -134,7 +155,8 @@ export default class ApplicationState { ApplicationState.Launching, ApplicationState.LosingFocus, ApplicationState.Backgrounding, - ApplicationState.Resuming + ApplicationState.GainingFocus, + ApplicationState.ResumingFromBackground ].includes(state); } @@ -147,32 +169,8 @@ export default class ApplicationState { this.mostRecentState = ApplicationState.Launching; } - didLoseFocus() { - this.notifyOfState(ApplicationState.LosingFocus); - this.mostRecentState = ApplicationState.LosingFocus; - - if(this.shouldLockApplication()) { - this.lockApplication(); - } - } - - didEnterBackground() { - this.notifyOfState(ApplicationState.Backgrounding); - this.mostRecentState = ApplicationState.Backgrounding; - - if(this.shouldLockApplication()) { - this.lockApplication(); - } - } - - didResume() { - this.notifyOfState(ApplicationState.Resuming); - this.mostRecentState = ApplicationState.Resuming; - } - notifyOfState(state) { if(this.ignoreStateChanges) {return;} - // console.log("ApplicationState notifying of state:", state); for(var observer of this.observers) { observer.callback(state); } @@ -266,7 +264,8 @@ export default class ApplicationState { var showPasscode = hasPasscode, showFingerprint = hasFingerprint; - if(state == ApplicationState.Backgrounding || state == ApplicationState.Resuming || state == ApplicationState.LosingFocus) { + // We don't need to account for ApplicationState.GainingFocus, since LosingFocus will lock the application + if(state == ApplicationState.Backgrounding || state == ApplicationState.ResumingFromBackground || state == ApplicationState.LosingFocus) { showPasscode = hasPasscode && KeysManager.get().passcodeTiming == "immediately"; showFingerprint = hasFingerprint && KeysManager.get().fingerprintTiming == "immediately"; } diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 0ec7c3e0..6f1abda3 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -47,8 +47,7 @@ export default class Notes extends Abstract { if(authProps.sources.length > 0) { this.presentAuthenticationModal(authProps); } - - else if(state == ApplicationState.Resuming) { + else if(state == ApplicationState.GainingFocus) { // we only want to perform sync here if the app is resuming, not if it's a fresh start if(this.dataLoaded) { Sync.get().sync(); @@ -103,9 +102,12 @@ export default class Notes extends Abstract { this.props.navigation.navigate("Authenticate", { authenticationSources: authProps.sources, onSuccess: () => { - console.log("Authentication Success."); authProps.onAuthenticate(); this.authenticationInProgress = false; + + if(this.dataLoaded) { + Sync.get().sync(); + } } }); } @@ -151,16 +153,12 @@ export default class Notes extends Abstract { } }) + this.mappingObserver = ModelManager.get().addItemSyncObserver("notes-screen", ["Tag", "Note"], () => { + this.reloadList(); + }) + this.syncObserver = Sync.get().addEventHandler((event, data) => { if(event == "sync:completed") { - // We want to reload the list of the retrieved items contains notes or tags. - // Since Notes no longer have relationships on tags, if a note's tags change, only the tag will be synced. - var retrievedSavedHasNoteOrTag = data.retrievedItems && data.retrievedItems.concat(data.savedItems).find((item) => { - return ["Note", "Tag"].includes(item.content_type); - }) - if(retrievedSavedHasNoteOrTag || _.find(data.unsavedItems, {content_type: "Note"})) { - this.reloadList(); - } this.mergeState({refreshing: false, loading: false}); } else if(event == "sync-exception") { Alert.alert("Issue Syncing", `There was an error while trying to save your items. Please contact support and share this message: ${data}`); From 4fe3f12ab73404214117195ae499c91dee1e074c Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 7 Jan 2019 11:52:25 -0600 Subject: [PATCH 047/131] Secure text entry for input modal, ignore locking events on GainFocus --- src/lib/ApplicationState.js | 16 +- src/screens/Authentication/Authenticate.js | 59 +-- src/screens/Authentication/_Authenticate.js | 505 -------------------- src/screens/InputModal.js | 11 +- src/screens/Settings.js | 5 +- 5 files changed, 56 insertions(+), 540 deletions(-) delete mode 100644 src/screens/Authentication/_Authenticate.js diff --git a/src/lib/ApplicationState.js b/src/lib/ApplicationState.js index fa26f414..c7791b04 100644 --- a/src/lib/ApplicationState.js +++ b/src/lib/ApplicationState.js @@ -147,10 +147,10 @@ export default class ApplicationState { } } - // An app cycle change are natural events like active, inactive, background, + // Visibility change events are like active, inactive, background, // while non-app cycle events are custom events like locking and unlocking - isStateAppCycleChange(state) { + isAppVisibilityChange(state) { return [ ApplicationState.Launching, ApplicationState.LosingFocus, @@ -255,7 +255,10 @@ export default class ApplicationState { } getAuthenticationPropsForAppState(state) { - if(state == ApplicationState.Unlocking || state == ApplicationState.Locking) { + // We don't want to do anything on gaining focus, since that may be called extraenously, + // when you come back from notification center, etc. Any immediate locking should be handled + // LosingFocus anyway. + if(!this.isAppVisibilityChange(state) || state == ApplicationState.GainingFocus) { return {sources: []}; } @@ -264,8 +267,11 @@ export default class ApplicationState { var showPasscode = hasPasscode, showFingerprint = hasFingerprint; - // We don't need to account for ApplicationState.GainingFocus, since LosingFocus will lock the application - if(state == ApplicationState.Backgrounding || state == ApplicationState.ResumingFromBackground || state == ApplicationState.LosingFocus) { + if( + state == ApplicationState.Backgrounding || + state == ApplicationState.ResumingFromBackground || + state == ApplicationState.LosingFocus + ) { showPasscode = hasPasscode && KeysManager.get().passcodeTiming == "immediately"; showFingerprint = hasFingerprint && KeysManager.get().fingerprintTiming == "immediately"; } diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index f43af224..86f19446 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -19,10 +19,7 @@ export default class Authenticate extends Abstract { static navigationOptions = ({ navigation, navigationOptions }) => { let templateOptions = { - title: "Authenticate", - rightButton: { - title: "Submit", - } + title: "Authenticate" } return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); }; @@ -62,26 +59,12 @@ export default class Authenticate extends Abstract { this.pendingSources = this.sources.slice(); this.successfulSources = []; - this.updateHeaderBar(); } - updateHeaderBar() { - if(this.pendingSources.length > 1) { - buttonText = "Next"; - } else { - buttonText = "Submit"; + submitPressed() { + if(this.state.activeSource) { + this.validateAuthentication(this.state.activeSource); } - - this.props.navigation.setParams({ - rightButton: { - title: buttonText, - onPress: () => { - if(this.state.activeSource) { - this.validateAuthentication(this.state.activeSource); - } - } - } - }) } componentDidMount() { @@ -116,7 +99,6 @@ export default class Authenticate extends Abstract { if(source.isInSuccessState()) { this.successfulSources.push(source); _.remove(this.pendingSources, source); - this.updateHeaderBar(); } else { if(result.error && result.error.message) { Alert.alert("Unsuccessful", result.error.message); @@ -150,10 +132,12 @@ export default class Authenticate extends Abstract { this.forceUpdate(); } - _renderAuthenticationSoure = (source) => { + _renderAuthenticationSoure = (source, index) => { + + let isLast = index == this.sources.length - 1; const inputAuthenticationSource = (source) => ( - + {}}> {source.inputRef = ref}} @@ -176,7 +160,7 @@ export default class Authenticate extends Abstract { ) const biometricAuthenticationSource = (source) => ( - + - {this.sources.map((source) => { - return this._renderAuthenticationSoure(source) + {this.sources.map((source, index) => { + return this._renderAuthenticationSoure(source, index) })} + + 1 ? "Next" : "Submit"} + bold={true} + onPress={() => this.submitPressed()} + /> + ) } + loadStyles() { + this.styles = { + authSourceSection: { + }, + authSourceSectionNotLast: { + marginBottom: 10 + }, + submitButtonCell: { + } + } + } + } diff --git a/src/screens/Authentication/_Authenticate.js b/src/screens/Authentication/_Authenticate.js deleted file mode 100644 index ab240f25..00000000 --- a/src/screens/Authentication/_Authenticate.js +++ /dev/null @@ -1,505 +0,0 @@ -import React, { Component } from 'react'; -import SF from '../lib/sfjs/sfjs' -import Storage from '../lib/sfjs/storageManager' -import Auth from '../lib/sfjs/authManager' -import KeysManager from '../lib/keysManager' - -import Abstract from "./Abstract" -import SectionHeader from "../components/SectionHeader"; -import ButtonCell from "../components/ButtonCell"; -import TableSection from "../components/TableSection"; -import SectionedTableCell from "../components/SectionedTableCell"; -import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCell"; -import SectionedOptionsTableCell from "../components/SectionedOptionsTableCell"; -import StyleKit from "../style/StyleKit" -import FingerprintScanner from 'react-native-fingerprint-scanner'; -import Icon from 'react-native-vector-icons/Ionicons'; - -import ApplicationState from "@Lib/ApplicationState" - -import { - TextInput, - SectionList, - ScrollView, - View, - Text, - Alert, - Keyboard, - InteractionManager, - StyleSheet, - Button, -} from 'react-native'; - -export default class Authenticate extends Abstract { - - constructor(props) { - super(props); - this.authProps = props.authProps; - this.state = {biometricsType: "touch", biometricsNoun: "Fingerprint"}; - } - - componentWillUnmount() { - super.componentWillUnmount(); - } - - componentDidMount() { - super.componentDidMount(); - - KeysManager.getDeviceBiometricsAvailability((available, type, noun) => { - this.setState({biometricsType: type, biometricsNoun: noun}) - }) - } - - beginAuthentication = () => { - this.mergeState({began: true}); - - // Allow render to call so that this.refs is defined - setTimeout(() => { - if(this.authProps.fingerprint) { - this.beginFingerprintAuth(); - } else if(this.authProps.passcode) { - this.beginPasscodeAuth(); - } - }, 0); - } - - beginFingerprintAuth() { - this.refs.fingerprintSection.beginAuthentication(); - } - - beginPasscodeAuth() { - this.refs.passcodeSection.beginAuthentication(); - } - - dismiss() { - if(!this.props.pseudoModal) { - this.dismiss(); - } - } - - navigationButtonPressed({ buttonId }) { - if (buttonId == 'cancel') { // this is the same id field from the static navigatorButtons definition - this.dismiss(); - } - } - - configureNavBar() { - if(this.props.mode === "setup") { - Navigation.mergeOptions(this.props.componentId, { - topBar: { - leftButtons: [{ - text: 'Cancel', - id: 'cancel', - showAsAction: 'ifRoom', - }], - } - }); - } - } - - onPasscodeSetupSuccess = () => { - this.props.onSetupSuccess(); - this.dismiss(); - } - - onPasscodeAuthenticateSuccess = () => { - this.mergeState({passcodeSuccess: true}); - - if(this.authProps.fingerprint && !this.state.fingerprintSuccess) { - this.beginFingerprintAuth(); - } else { - this.props.onAuthenticateSuccess(); - this.dismiss(); - } - } - - onFingerprintSuccess = () => { - this.mergeState({fingerprintSuccess: true}); - - if(this.authProps.passcode && !this.state.passcodeSuccess) { - setTimeout(() => { - this.beginPasscodeAuth(); - }, 100); - } else { - this.props.onAuthenticateSuccess(); - this.dismiss(); - } - } - - render() { - - var sectionTitle; - if(this.props.mode == "setup") { - sectionTitle = "Choose passcode"; - } else if(this.authProps.passcode && this.authProps.fingerprint) { - sectionTitle = "Authentication Required"; - } else if(this.authProps.passcode) { - sectionTitle = "Enter Passcode"; - } else if(this.authProps.fingerprint) { - sectionTitle = `${this.state.biometricsNoun} Required`; - } else { - sectionTitle = "Missing"; - } - - var isAuthenticating = this.props.mode === "authenticate"; - var isSetup = !isAuthenticating; - var paddingTop = (ApplicationState.isIOS && StyleKit.isIPhoneX()) ? 30 : 15; - - return ( - - - - - - - {isAuthenticating && this.authProps.fingerprint && - - } - - {((isAuthenticating && this.authProps.passcode) || isSetup) && - - } - - - - - ); - } -} - -const SAVE_BUTTON_DEFAULT_TEXT = "Save"; -const UNLOCK_BUTTON_DEFAULT_TEXT = "Unlock"; - -class PasscodeSection extends Abstract { - - constructor(props) { - super(props); - this.state = { - passcode: null, - setupButtonText: SAVE_BUTTON_DEFAULT_TEXT, - unlockButtonText: UNLOCK_BUTTON_DEFAULT_TEXT, - setupButtonEnabled: true, - unlockButtonEnabled: true, - }; - - Storage.get().getItem("passcodeKeyboardType").then((result) => { - this.keyboardType = result || 'default'; - if(this.keyboardType !== "default") { - this.renderOnMount(() => { - if(this.authenticationBegan) { - this.refreshKeyboard(); - } - }); - } - }) - } - - beginAuthentication() { - this.authenticationBegan = true; - this.refs.input.focus(); - } - - async onSavePress() { - var passcode = this.state.passcode; - if(passcode.length == 0) { - Alert.alert('Invalid Passcode', "Please enter a valid passcode and try again.", [{text: 'OK'}]) - return; - } - - this.mergeState({setupButtonText: "Saving Keys...", setupButtonEnabled: false}) - - // Allow UI to update before executing block task. InteractionManager.runAfterInteractions doesn't seem to work. - setTimeout(async () => { - let identifier = await SF.get().crypto.generateUUID(); - - SF.get().crypto.generateInitialKeysAndAuthParamsForUser(identifier, passcode).then((results) => { - let keys = results.keys; - let authParams = results.authParams; - - // make sure it has valid items - if(_.keys(keys).length > 0) { - KeysManager.get().persistOfflineKeys(keys); - KeysManager.get().setOfflineAuthParams(authParams); - - this.props.onSetupSuccess(); - } else { - this.mergeState({setupButtonText: SAVE_BUTTON_DEFAULT_TEXT, setupButtonEnabled: true}); - Alert.alert("Passcode Error", "There was an error setting up your passcode. Please try again."); - } - }); - }, 125); - - } - - async onUnlockPress() { - var invalid = () => { - this.mergeState({unlockButtonText: UNLOCK_BUTTON_DEFAULT_TEXT, unlockButtonEnabled: true}); - Alert.alert('Invalid Passcode', "Please enter a valid passcode and try again.", [{text: 'OK'}]) - } - - var passcode = this.state.passcode; - if(!passcode) { - invalid(); - return; - } - - this.mergeState({unlockButtonText: "Verifying Keys...", unlockButtonEnabled: false}) - - // Allow UI to update before executing block task. InteractionManager.runAfterInteractions doesn't seem to work. - setTimeout(() => { - - var authParams = KeysManager.get().offlineAuthParams; - SF.get().crypto.computeEncryptionKeysForUser(passcode, authParams).then((keys) => { - if(keys.pw === KeysManager.get().offlinePasscodeHash()) { - KeysManager.get().setOfflineKeys(keys); - this.props.onAuthenticateSuccess(); - if(this.props.waitingForFingerprint) { - this.mergeState({unlockButtonText: "Waiting for Fingerprint", unlockButtonEnabled: false}) - } - } else { - invalid(); - } - }); - - }, 125); - } - - onKeyboardOptionsSelect = (option) => { - if(option.key !== this.keyboardType) { - this.keyboardType = option.key; - Storage.get().setItem("passcodeKeyboardType", option.key); - this.forceUpdate(); - this.refreshKeyboard(); - } - } - - refreshKeyboard() { - if(ApplicationState.isIOS) { - // on Android, keyboard will update right away - Keyboard.dismiss(); - setTimeout(() => { - this.refs.input.focus(); - }, 100); - } - } - - render() { - let keyboardOptions = [ - {title: "General", key: "default", selected: this.keyboardType == "default"}, - {title: "Numeric", key: "numeric", selected: this.keyboardType == "numeric"} - ] - - let optionsComponents = ( - - ) - - return ( - - - this.setState({passcode: text})} - value={this.state.passcode} - autoCorrect={false} - autoFocus={this.props.mode == "setup"} - autoCapitalize={'none'} - secureTextEntry={true} - keyboardType={this.keyboardType} - underlineColorAndroid={'transparent'} - placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} - onSubmitEditing={this.props.mode == 'authenticate' ? this.onUnlockPress.bind(this) : this.onSavePress.bind(this)} - /> - - - {this.props.mode == "authenticate" && - this.onUnlockPress()} /> - } - - {this.props.mode == "setup" && - - {optionsComponents} - this.onSavePress()} /> - - } - - ); - } -} - -class FingerprintSection extends Abstract { - - constructor(props) { - super(props); - this.state = {}; - - this.styles = StyleSheet.create({ - container: { - flex: 1, - flexDirection: 'column', - justifyContent: 'center', - alignItems: 'center', - }, - - text: { - fontWeight: "bold", - color: StyleKit.variable("stylekitForegroundColor"), - textAlign: 'center', - width: "100%" - }, - - error: { - color: "red", - padding: 10, - paddingLeft: 25, - paddingRight: 25, - textAlign: "center" - }, - - success: { - color: "green" - }, - - dev: { - marginTop: 50, - backgroundColor: StyleKit.variable("stylekitNeutralColor"), - padding: 15, - paddingTop: 20, - borderRadius: 5, - opacity: 0.5 - }, - - centered: { - textAlign: "center", - color: StyleKit.variable("stylekitForegroundColor") - }, - }); - - } - - beginAuthentication() { - - if(this.state.began) { - return; - } - - this.mergeState({began: true, error: null}); - - console.log("Creating FingerprintScanner Instance"); - if(ApplicationState.isAndroid) { - FingerprintScanner.authenticate({ onAttempt: this.handleInvalidAttempt }).then(() => { - this.handleSuccessfulAuth(); - }) - .catch((error) => { - console.log("Fingerprint Error:", error); - // if(error.name == "UserCancel") does not apply to Android - if(this.isMounted()) { - this.setState({ error: "Authentication failed. Tap to try again.", began: false}); - } - }); - } else { - // iOS - FingerprintScanner.authenticate({fallbackEnabled: true, description: 'Fingerprint is required to access your notes.' }) - .then(() => { - this.handleSuccessfulAuth(); - }) - .catch((error) => { - console.log("Error:", error); - if(error.name == "UserCancel") { - this.mergeState({ began: false }); - } else if(this.isMounted()) { - this.mergeState({ error: "Authentication failed. Tap to try again.", began: false }); - } - }); - } - } - - componentWillUnmount() { - super.componentWillUnmount(); - FingerprintScanner.release(); - } - - handleInvalidAttempt = (error) => { - this.setState({ error: error.message }); - } - - handleSuccessfulAuth = () => { - var success = () => { - this.props.onAuthenticateSuccess(); - } - - this.mergeState({success: true}); - setTimeout(success, 50); - } - - onPress = () => { - if(__DEV__) { - this.__dev_simulateSuccess(); - return; - } - - if(!this.state.began) { - this.props.onPress(); - } - } - - __dev_simulateSuccess = () => { - this.handleSuccessfulAuth(); - } - - render() { - let iconColor = this.state.success ? "green" : StyleKit.variable("stylekitForegroundColor"); - let textStyles = [this.styles.text]; - var iconName = ApplicationState.isAndroid ? "md-finger-print" : 'ios-finger-print'; - - var text; - if(this.state.began) { - if(this.props.biometricsType == "face") { - text = "Please scan your face"; - } else { - text = "Please scan your fingerprint"; - } - } else { - text = "Tap here to begin authentication."; - } - - if(this.state.error) { - text = this.state.error; - } - - if(this.state.success) { - iconName = ApplicationState.isAndroid ? "md-checkmark-circle-outline" : "ios-checkmark-circle-outline"; - text = `${this.props.biometricsNoun} Successful`; - textStyles.push(this.styles.success); - } - - return ( - - - - ); - } -} diff --git a/src/screens/InputModal.js b/src/screens/InputModal.js index 9cbbdd04..a8aa39e7 100644 --- a/src/screens/InputModal.js +++ b/src/screens/InputModal.js @@ -8,6 +8,7 @@ import SectionHeader from "@Components/SectionHeader"; import ButtonCell from "@Components/ButtonCell"; import Abstract from "@Screens/Abstract" import LockedView from "@Containers/LockedView"; +import ApplicationState from "@Lib/ApplicationState" export default class InputModal extends Abstract { @@ -34,6 +35,7 @@ export default class InputModal extends Abstract { this.requireConfirm = this.getProp("requireConfirm"); this.showKeyboardChooser = this.getProp("showKeyboardChooser"); + this.keyboardType = "default"; this.constructState({text: this.getProp("initialValue") || ""}); } @@ -84,13 +86,14 @@ export default class InputModal extends Abstract { // on Android, keyboard will update right away Keyboard.dismiss(); setTimeout(() => { - this.refs.input.focus(); + this.inputRef && this.inputRef.focus(); }, 100); } } - onKeyboardOptionsSelect(option) { + onKeyboardOptionsSelect = (option) => { this.keyboardType = option.key; + this.forceUpdate(); this.refreshKeyboard(); this.getProp("onKeyboardTypeChange")(option.key); } @@ -119,8 +122,10 @@ export default class InputModal extends Abstract { placeholder={this.getProp("placeholder")} onChangeText={this.onTextChange} value={this.state.text} + secureTextEntry={this.getProp("secureTextEntry")} autoCorrect={false} autoCapitalize={'none'} + keyboardType={this.keyboardType} keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} autoFocus={true} placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} @@ -137,8 +142,10 @@ export default class InputModal extends Abstract { placeholder={this.getProp("confirmPlaceholder")} onChangeText={this.onConfirmTextChange} value={this.state.confirmText} + secureTextEntry={this.getProp("secureTextEntry")} autoCorrect={false} autoCapitalize={'none'} + keyboardType={this.keyboardType} keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} underlineColorAndroid={'transparent'} diff --git a/src/screens/Settings.js b/src/screens/Settings.js index 3c8f1fb2..f24a8a55 100644 --- a/src/screens/Settings.js +++ b/src/screens/Settings.js @@ -5,6 +5,7 @@ import Sync from '../lib/sfjs/syncManager' import ModelManager from '@SFJS/modelManager' import AlertManager from '../lib/sfjs/alertManager' import SF from '@SFJS/sfjs' +import Storage from "@SFJS/storageManager" import Auth from '../lib/sfjs/authManager' import KeysManager from '@Lib/keysManager' @@ -311,8 +312,10 @@ export default class Settings extends Abstract { onPasscodeEnable = () => { this.props.navigation.navigate("InputModal", { + title: "Setup Passcode", placeholder: "Enter a passcode", - confirmPlaceholder: "Confirm your passcode", + confirmPlaceholder: "Confirm passcode", + secureTextEntry: true, requireConfirm: true, showKeyboardChooser: true, onSubmit: async (value) => { From d498465251cd8c1e9a97a5c882d5b3d0cf0822bc Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 7 Jan 2019 12:15:40 -0600 Subject: [PATCH 048/131] Biometric source display correct noun --- src/containers/account/PasscodeSection.js | 5 ++-- src/lib/ApplicationState.js | 24 +++++++---------- src/lib/keysManager.js | 11 ++++---- src/lib/sfjs/privilegesManager.js | 4 +-- src/screens/Authentication/Authenticate.js | 1 + .../Sources/AuthenticationSource.js | 6 +++++ ...nt.js => AuthenticationSourceBiometric.js} | 27 ++++++++++++++----- src/screens/Notes/Notes.js | 2 +- 8 files changed, 49 insertions(+), 31 deletions(-) rename src/screens/Authentication/Sources/{AuthenticationSourceFingerprint.js => AuthenticationSourceBiometric.js} (67%) diff --git a/src/containers/account/PasscodeSection.js b/src/containers/account/PasscodeSection.js index 8504d38c..5783626d 100644 --- a/src/containers/account/PasscodeSection.js +++ b/src/containers/account/PasscodeSection.js @@ -9,6 +9,7 @@ import SectionedTableCell from "../../components/SectionedTableCell"; import SectionedAccessoryTableCell from "../../components/SectionedAccessoryTableCell"; import SectionedOptionsTableCell from "../../components/SectionedOptionsTableCell"; +import ApplicationState from "@Lib/ApplicationState" import FingerprintScanner from 'react-native-fingerprint-scanner'; import KeysManager from "../../lib/keysManager" @@ -18,8 +19,8 @@ export default class PasscodeSection extends Component { super(props); var state = { fingerprintAvailable: false || __DEV__}; if(__DEV__) { - state.biometricsType = "touch"; - state.biometricsNoun = "Fingerprint"; + state.biometricsType = ApplicationState.isAndroid ? "touch" : "face"; + state.biometricsNoun = ApplicationState.isAndroid ? "Fingerprint" : "Face ID"; } this.state = state; diff --git a/src/lib/ApplicationState.js b/src/lib/ApplicationState.js index c7791b04..3637bef3 100644 --- a/src/lib/ApplicationState.js +++ b/src/lib/ApplicationState.js @@ -3,7 +3,7 @@ const { PlatformConstants } = NativeModules; import KeysManager from "@Lib/keysManager" import OptionsState from "@Lib/OptionsState" import AuthenticationSourceLocalPasscode from "@Screens/Authentication/Sources/AuthenticationSourceLocalPasscode"; -import AuthenticationSourceFingerprint from "@Screens/Authentication/Sources/AuthenticationSourceFingerprint"; +import AuthenticationSourceBiometric from "@Screens/Authentication/Sources/AuthenticationSourceBiometric"; var pjson = require('../package.json') export default class ApplicationState { @@ -95,14 +95,6 @@ export default class ApplicationState { return deviceType == "pad"; } - // Sent from App.js - receiveApplicationStartEvent() { - var authProps = this.getAuthenticationPropsForAppState(ApplicationState.Launching); - if(authProps.sources.length == 0) { - this.unlockApplication(); - } - } - handleAppStateChange = (nextAppState) => { if(this.ignoreStateChanges) { @@ -164,6 +156,14 @@ export default class ApplicationState { /* State Changes */ + // Sent from App.js + receiveApplicationStartEvent() { + var authProps = this.getAuthenticationPropsForAppState(ApplicationState.Launching); + if(authProps.sources.length == 0) { + this.unlockApplication(); + } + } + didLaunch() { this.notifyOfState(ApplicationState.Launching); this.mostRecentState = ApplicationState.Launching; @@ -178,10 +178,6 @@ export default class ApplicationState { this.previousEvents.push(state); } - clearEventHistory() { - this.previousEvents = []; - } - /* End State */ @@ -280,7 +276,7 @@ export default class ApplicationState { let sources = []; if(showPasscode) { sources.push(new AuthenticationSourceLocalPasscode()); } - if(showFingerprint) { sources.push(new AuthenticationSourceFingerprint()); } + if(showFingerprint) { sources.push(new AuthenticationSourceBiometric()); } return { title: title, diff --git a/src/lib/keysManager.js b/src/lib/keysManager.js index 65e8d2b0..27aab673 100644 --- a/src/lib/keysManager.js +++ b/src/lib/keysManager.js @@ -370,16 +370,15 @@ export default class KeysManager { } static getDeviceBiometricsAvailability(callback) { - if(__DEV__) { - callback(true, "face", "Face ID"); + let isAndroid = Platform.OS == "android"; + if(__DEV__ && isAndroid) { + callback(true, "touch", "Fingerprint"); return; } - FingerprintScanner.isSensorAvailable() - .then((type) => { + FingerprintScanner.isSensorAvailable().then((type) => { var noun = (!type || type == "touch") ? "Fingerprint" : "Face ID"; callback(true, type, noun); - }) - .catch((error) => { + }).catch((error) => { callback(false); }) } diff --git a/src/lib/sfjs/privilegesManager.js b/src/lib/sfjs/privilegesManager.js index 36ab140f..ca4e30c5 100644 --- a/src/lib/sfjs/privilegesManager.js +++ b/src/lib/sfjs/privilegesManager.js @@ -3,7 +3,7 @@ import Sync from "./syncManager"; import { SFPrivilegesManager, SFSingletonManager } from "standard-file-js"; import AuthenticationSourceAccountPassword from "@Screens/Authentication/Sources/AuthenticationSourceAccountPassword"; import AuthenticationSourceLocalPasscode from "@Screens/Authentication/Sources/AuthenticationSourceLocalPasscode"; -import AuthenticationSourceFingerprint from "@Screens/Authentication/Sources/AuthenticationSourceFingerprint"; +import AuthenticationSourceBiometric from "@Screens/Authentication/Sources/AuthenticationSourceBiometric"; import KeysManager from "@Lib/keysManager" import Storage from "@SFJS/storageManager" import Auth from "@SFJS/authManager" @@ -85,7 +85,7 @@ export default class PrivilegesManager extends SFPrivilegesManager { var hasFingerprint = KeysManager.get().hasFingerprint(); let sources = []; if(hasPasscode) {sources.push(new AuthenticationSourceLocalPasscode());} - if(hasFingerprint) {sources.push(new AuthenticationSourceFingerprint());} + if(hasFingerprint) {sources.push(new AuthenticationSourceBiometric());} return sources; } } diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index 86f19446..a29bf4db 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -31,6 +31,7 @@ export default class Authenticate extends Abstract { source.onRequiresInterfaceReload = () => { this.forceUpdate(); } + source.initializeForInterface(); } // if(__DEV__) { diff --git a/src/screens/Authentication/Sources/AuthenticationSource.js b/src/screens/Authentication/Sources/AuthenticationSource.js index 3dcc1692..f32661bf 100644 --- a/src/screens/Authentication/Sources/AuthenticationSource.js +++ b/src/screens/Authentication/Sources/AuthenticationSource.js @@ -3,6 +3,12 @@ export default class AuthenticationSource { this.status = "waiting-turn"; } + initializeForInterface() { + // Sometimes a source object may be created with no intention of displaying it (perhaps to read its would-be properties) + // if initializeForInterface, it means it will be actually displayed, so the source should get ready to be displayed in the UI + // e.g, to determine whether a biometric is face or fingerprint + } + get identifier() { return "auth-source"; } diff --git a/src/screens/Authentication/Sources/AuthenticationSourceFingerprint.js b/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js similarity index 67% rename from src/screens/Authentication/Sources/AuthenticationSourceFingerprint.js rename to src/screens/Authentication/Sources/AuthenticationSourceBiometric.js index baecc213..6376702f 100644 --- a/src/screens/Authentication/Sources/AuthenticationSourceFingerprint.js +++ b/src/screens/Authentication/Sources/AuthenticationSourceBiometric.js @@ -1,14 +1,25 @@ import FingerprintScanner from 'react-native-fingerprint-scanner' import ApplicationState from "@Lib/ApplicationState" import AuthenticationSource from "./AuthenticationSource" +import KeysManager from "@Lib/keysManager" -export default class AuthenticationSourceFingerprint extends AuthenticationSource { +export default class AuthenticationSourceBiometric extends AuthenticationSource { constructor() { super(); } + initializeForInterface() { + super.initializeForInterface(); + + KeysManager.getDeviceBiometricsAvailability((available, type, noun) => { + this.biometricsType = type; + this.biometricsNoun = noun; + this.requiresInterfaceReload(); + }) + } + get identifier() { - return "fingerprint-auth-source"; + return "biometric-auth-source"; } get type() { @@ -16,18 +27,22 @@ export default class AuthenticationSourceFingerprint extends AuthenticationSourc } get title() { - return "Fingerprint"; + return this.isFace ? "Face ID" : "Fingerprint"; + } + + get isFace() { + return this.biometricsType == "face"; } get label() { switch (this.status) { case "waiting-turn": case "waiting-input": - return "Please scan your fingerprint" + return `Please scan your ${this.isFace ? "face" : "fingerprint"}` case "processing": - return "Waiting for Fingerprint"; + return `Waiting for ${this.isFace ? "Face ID" : "Fingerprint"}`; case "did-succeed": - return "Success | Fingerprint" + return `Success | ${this.isFace ? "Face ID" : "Fingerprint"}` default: return "Status not accounted for" } diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 6f1abda3..62d16515 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -21,7 +21,7 @@ import ApplicationState from "@Lib/ApplicationState" import AuthenticationSourceAccountPassword from "@Screens/Authentication/Sources/AuthenticationSourceAccountPassword"; import AuthenticationSourceLocalPasscode from "@Screens/Authentication/Sources/AuthenticationSourceLocalPasscode"; -import AuthenticationSourceFingerprint from "@Screens/Authentication/Sources/AuthenticationSourceFingerprint"; +import AuthenticationSourceBiometric from "@Screens/Authentication/Sources/AuthenticationSourceBiometric"; import Icon from 'react-native-vector-icons/Ionicons'; import FAB from 'react-native-fab'; From 0a6ca8a80c8330bac435d69039089ff00c7c682e Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 7 Jan 2019 16:42:28 -0600 Subject: [PATCH 049/131] Beginning of moving Settings logic into respective components --- src/App.js | 2 +- src/components/ButtonCell.js | 2 +- src/components/HeaderTitleView.js | 2 +- src/components/SectionHeader.js | 2 +- src/components/SectionedAccessoryTableCell.js | 2 +- src/components/SectionedOptionsTableCell.js | 2 +- src/components/SectionedTableCell.js | 2 +- src/components/TableSection.js | 2 +- src/containers/LockedView.js | 2 +- src/containers/account/CompanySection.js | 40 ----------- src/lib/componentManager.js | 2 +- src/lib/keysManager.js | 4 +- src/lib/sfjs/authManager.js | 8 +-- src/lib/sfjs/httpManager.js | 2 +- src/lib/sfjs/syncManager.js | 4 +- src/models/extend/item.js | 2 +- src/screens/Abstract.js | 4 +- src/screens/Compose.js | 12 ++-- .../Settings/Sections}/AuthSection.js | 12 ++-- .../Settings/Sections/CompanySection.js | 72 +++++++++++++++++++ .../Settings/Sections}/EncryptionSection.js | 16 ++--- .../Settings/Sections}/OptionsSection.js | 14 ++-- .../Settings/Sections}/PasscodeSection.js | 16 ++--- .../Sections}/RegistrationConfirmSection.js | 12 ++-- src/screens/{ => Settings}/Settings.js | 71 +++++------------- src/screens/Webview.js | 6 +- src/style/StyleKit.js | 12 ++-- 27 files changed, 163 insertions(+), 164 deletions(-) delete mode 100644 src/containers/account/CompanySection.js rename src/{containers/account => screens/Settings/Sections}/AuthSection.js (93%) create mode 100644 src/screens/Settings/Sections/CompanySection.js rename src/{containers/account => screens/Settings/Sections}/EncryptionSection.js (82%) rename src/{containers/account => screens/Settings/Sections}/OptionsSection.js (86%) rename src/{containers/account => screens/Settings/Sections}/PasscodeSection.js (88%) rename src/{containers/account => screens/Settings/Sections}/RegistrationConfirmSection.js (83%) rename src/screens/{ => Settings}/Settings.js (86%) diff --git a/src/App.js b/src/App.js index 0e549deb..f2766191 100644 --- a/src/App.js +++ b/src/App.js @@ -19,7 +19,7 @@ import Notes from "@Screens/Notes/Notes" import NotesTablet from "@Screens/Notes/NotesTablet" import MainSideMenu from "@SideMenu/MainSideMenu" import NoteSideMenu from "@SideMenu/NoteSideMenu" -import Settings from "@Screens/Settings" +import Settings from "@Screens/Settings/Settings" import InputModal from "@Screens/InputModal" import Authenticate from "@Screens/Authentication/Authenticate" diff --git a/src/components/ButtonCell.js b/src/components/ButtonCell.js index 52efc681..9f062998 100644 --- a/src/components/ButtonCell.js +++ b/src/components/ButtonCell.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import {TouchableHighlight, Text, View} from 'react-native'; import SectionedTableCell from './SectionedTableCell' -import StyleKit from "../style/StyleKit" +import StyleKit from "@Style/StyleKit" export default class ButtonCell extends SectionedTableCell { diff --git a/src/components/HeaderTitleView.js b/src/components/HeaderTitleView.js index b67c6f98..60caadc7 100644 --- a/src/components/HeaderTitleView.js +++ b/src/components/HeaderTitleView.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import {DeviceEventEmitter, Modal, View, Text} from 'react-native'; -import StyleKit from "../style/StyleKit"; +import StyleKit from "@Style/StyleKit"; import PlatformStyles from "../models/PlatformStyles"; export default class HeaderTitleView extends Component { diff --git a/src/components/SectionHeader.js b/src/components/SectionHeader.js index 40491389..57b9e331 100644 --- a/src/components/SectionHeader.js +++ b/src/components/SectionHeader.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import {Text, Platform, View, TouchableOpacity} from 'react-native'; -import StyleKit from "../style/StyleKit" +import StyleKit from "@Style/StyleKit" import ThemedComponent from "@Components/ThemedComponent" export default class SectionHeader extends ThemedComponent { diff --git a/src/components/SectionedAccessoryTableCell.js b/src/components/SectionedAccessoryTableCell.js index a67edf6c..b548deb4 100644 --- a/src/components/SectionedAccessoryTableCell.js +++ b/src/components/SectionedAccessoryTableCell.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import {View, Image, Text, TouchableHighlight, Platform} from 'react-native'; -import StyleKit from "../style/StyleKit" +import StyleKit from "@Style/StyleKit" import SectionedTableCell from "./SectionedTableCell" import Icon from 'react-native-vector-icons/Ionicons'; diff --git a/src/components/SectionedOptionsTableCell.js b/src/components/SectionedOptionsTableCell.js index a55950e5..e895a5da 100644 --- a/src/components/SectionedOptionsTableCell.js +++ b/src/components/SectionedOptionsTableCell.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import {View, Text, TouchableHighlight} from 'react-native'; -import StyleKit from "../style/StyleKit" +import StyleKit from "@Style/StyleKit" export default class SectionedOptionsTableCell extends Component { diff --git a/src/components/SectionedTableCell.js b/src/components/SectionedTableCell.js index c2a9831c..4b195edc 100644 --- a/src/components/SectionedTableCell.js +++ b/src/components/SectionedTableCell.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import {View} from 'react-native'; -import StyleKit from "../style/StyleKit" +import StyleKit from "@Style/StyleKit" export default class SectionedTableCell extends Component { diff --git a/src/components/TableSection.js b/src/components/TableSection.js index 82fc28ef..9146298f 100644 --- a/src/components/TableSection.js +++ b/src/components/TableSection.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import {View} from 'react-native'; -import StyleKit from "../style/StyleKit" +import StyleKit from "@Style/StyleKit" export default class TableSection extends Component { diff --git a/src/containers/LockedView.js b/src/containers/LockedView.js index 39322327..4d448e48 100644 --- a/src/containers/LockedView.js +++ b/src/containers/LockedView.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import { StyleSheet, View, Text } from 'react-native'; -import StyleKit from "../style/StyleKit" +import StyleKit from "@Style/StyleKit" import Icon from 'react-native-vector-icons/Ionicons'; export default class LockedView extends Component { diff --git a/src/containers/account/CompanySection.js b/src/containers/account/CompanySection.js deleted file mode 100644 index 7f9ddd14..00000000 --- a/src/containers/account/CompanySection.js +++ /dev/null @@ -1,40 +0,0 @@ -import React, { Component } from 'react'; -import StyleKit from "../../style/StyleKit" -import ApplicationState from "@Lib/ApplicationState" -import {TextInput, View, Text, Platform} from 'react-native'; - -import SectionHeader from "../../components/SectionHeader"; -import ButtonCell from "../../components/ButtonCell"; -import TableSection from "../../components/TableSection"; -import SectionedTableCell from "../../components/SectionedTableCell"; -import SectionedAccessoryTableCell from "../../components/SectionedAccessoryTableCell"; - -export default class CompanySection extends Component { - render() { - let storeName = Platform.OS == 'android' ? "Play Store" : "App Store"; - return ( - - - - - this.props.onAction("help")} /> - - this.props.onAction("feedback")} /> - - this.props.onAction("friend")} /> - - this.props.onAction("learn_more")} /> - - this.props.onAction("privacy")} /> - - this.props.onAction("rate")} > - - Version {ApplicationState.version} - Help support us with a review on the {storeName}. - - - - - ); - } -} diff --git a/src/lib/componentManager.js b/src/lib/componentManager.js index a08700a7..b48051bd 100644 --- a/src/lib/componentManager.js +++ b/src/lib/componentManager.js @@ -3,7 +3,7 @@ let ClientDataDomain = "org.standardnotes.sn.components"; import { Platform } from 'react-native'; -import StyleKit from '../style/StyleKit' +import StyleKit from '@Style/StyleKit' import ModelManager from './sfjs/modelManager' import Sync from './sfjs/syncManager' import SF from "./sfjs/sfjs" diff --git a/src/lib/keysManager.js b/src/lib/keysManager.js index 27aab673..33156cf2 100644 --- a/src/lib/keysManager.js +++ b/src/lib/keysManager.js @@ -371,8 +371,8 @@ export default class KeysManager { static getDeviceBiometricsAvailability(callback) { let isAndroid = Platform.OS == "android"; - if(__DEV__ && isAndroid) { - callback(true, "touch", "Fingerprint"); + if(__DEV__) { + callback(true, "touch", "Fingerprint (Dev)"); return; } FingerprintScanner.isSensorAvailable().then((type) => { diff --git a/src/lib/sfjs/authManager.js b/src/lib/sfjs/authManager.js index 4143d001..d78fbc6b 100644 --- a/src/lib/sfjs/authManager.js +++ b/src/lib/sfjs/authManager.js @@ -1,8 +1,8 @@ import {Platform} from 'react-native'; -import KeysManager from "../keysManager" -import Storage from './storageManager' -import Server from './httpManager' -import AlertManager from './alertManager' +import KeysManager from "@Lib/keysManager" +import Storage from '@SFJS/storageManager' +import Server from '@SFJS/httpManager' +import AlertManager from '@SFJS/alertManager' export default class Auth extends SFAuthManager { diff --git a/src/lib/sfjs/httpManager.js b/src/lib/sfjs/httpManager.js index 3368f3c3..234dd38b 100644 --- a/src/lib/sfjs/httpManager.js +++ b/src/lib/sfjs/httpManager.js @@ -1,4 +1,4 @@ -import KeysManager from '../keysManager' +import KeysManager from '@Lib/keysManager' export default class Server extends SFHttpManager { diff --git a/src/lib/sfjs/syncManager.js b/src/lib/sfjs/syncManager.js index 9606eb41..89b1677d 100644 --- a/src/lib/sfjs/syncManager.js +++ b/src/lib/sfjs/syncManager.js @@ -4,8 +4,8 @@ import ModelManager from './modelManager' import Storage from './storageManager' import AlertManager from './alertManager' -import Auth from '../sfjs/authManager' -import KeysManager from '../keysManager' +import Auth from '@SFJS/authManager' +import KeysManager from '@Lib/keysManager' export default class Sync extends SFSyncManager { diff --git a/src/models/extend/item.js b/src/models/extend/item.js index 980e572c..46f45361 100644 --- a/src/models/extend/item.js +++ b/src/models/extend/item.js @@ -1,4 +1,4 @@ -import moment from "../../lib/moment"; +import moment from "@Lib/moment"; // Override Item instance methods without overriding actual class, since we'd then need // to override all individual classes, like Note and Tag. diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index c67506b1..66e4154f 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -1,8 +1,8 @@ import React, { Component } from 'react'; import {DeviceEventEmitter, Modal, View, Text} from 'react-native'; -import StyleKit from "../style/StyleKit"; +import StyleKit from "@Style/StyleKit"; import ApplicationState from "@Lib/ApplicationState" -import HeaderTitleView from "../components/HeaderTitleView" +import HeaderTitleView from "@Components/HeaderTitleView" import HeaderButtons, { HeaderButton, Item } from 'react-navigation-header-buttons'; import Icon from 'react-native-vector-icons/Ionicons'; import ThemedComponent from "@Components/ThemedComponent"; diff --git a/src/screens/Compose.js b/src/screens/Compose.js index b5e26e06..766ff115 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -1,17 +1,17 @@ import React, { Component } from 'react'; -import Sync from '../lib/sfjs/syncManager' -import ModelManager from '../lib/sfjs/modelManager' -import Auth from '../lib/sfjs/authManager' +import Sync from '@Lib/sfjs/syncManager' +import ModelManager from '@Lib/sfjs/modelManager' +import Auth from '@Lib/sfjs/authManager' import OptionsState from "@Lib/OptionsState" import SideMenuManager from "@SideMenu/SideMenuManager" import Abstract from "./Abstract" import Webview from "./Webview" -import ComponentManager from '../lib/componentManager' +import ComponentManager from '@Lib/componentManager' import Icons from '@Style/Icons'; import ApplicationState from "@Lib/ApplicationState" -import LockedView from "../containers/LockedView"; +import LockedView from "@Containers/LockedView"; import Icon from 'react-native-vector-icons/Ionicons'; import TextView from "sn-textview"; @@ -28,7 +28,7 @@ import { Dimensions } from 'react-native'; -import StyleKit from "../style/StyleKit" +import StyleKit from "@Style/StyleKit" export default class Compose extends Abstract { diff --git a/src/containers/account/AuthSection.js b/src/screens/Settings/Sections/AuthSection.js similarity index 93% rename from src/containers/account/AuthSection.js rename to src/screens/Settings/Sections/AuthSection.js index 23d61589..31240fbd 100644 --- a/src/containers/account/AuthSection.js +++ b/src/screens/Settings/Sections/AuthSection.js @@ -1,12 +1,12 @@ import React, { Component } from 'react'; import {TextInput, View, Text} from 'react-native'; -import StyleKit from "../../style/StyleKit" +import StyleKit from "@Style/StyleKit" -import SectionHeader from "../../components/SectionHeader"; -import ButtonCell from "../../components/ButtonCell"; -import TableSection from "../../components/TableSection"; -import SectionedTableCell from "../../components/SectionedTableCell"; -import SectionedAccessoryTableCell from "../../components/SectionedAccessoryTableCell"; +import SectionHeader from "@Components/SectionHeader"; +import ButtonCell from "@Components/ButtonCell"; +import TableSection from "@Components/TableSection"; +import SectionedTableCell from "@Components/SectionedTableCell"; +import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; const DEFAULT_SIGN_IN_TEXT = "Sign In"; const DEFAULT_REGISTER_TEXT = "Register"; diff --git a/src/screens/Settings/Sections/CompanySection.js b/src/screens/Settings/Sections/CompanySection.js new file mode 100644 index 00000000..c2d59b6c --- /dev/null +++ b/src/screens/Settings/Sections/CompanySection.js @@ -0,0 +1,72 @@ +import React, { Component } from 'react'; +import StyleKit from "@Style/StyleKit" +import ApplicationState from "@Lib/ApplicationState" +import {TextInput, View, Text, Platform, Share, Linking} from 'react-native'; + +import SectionHeader from "@Components/SectionHeader"; +import ButtonCell from "@Components/ButtonCell"; +import TableSection from "@Components/TableSection"; +import SectionedTableCell from "@Components/SectionedTableCell"; +import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; + +export default class CompanySection extends Component { + + onAction = (action) => { + if(action == "feedback") { + var platformString = Platform.OS == "android" ? "Android" : "iOS"; + Linking.openURL(`mailto:hello@standardnotes.org?subject=${platformString} app feedback (v${ApplicationState.version})`); + } else if(action == "learn_more") { + Linking.openURL("https://standardnotes.org"); + } else if(action == "privacy") { + Linking.openURL("https://standardnotes.org/privacy"); + } else if(action == "help") { + Linking.openURL("https://standardnotes.org/help"); + } else if(action == "rate") { + if(ApplicationState.isIOS) { + Linking.openURL("https://itunes.apple.com/us/app/standard-notes/id1285392450?ls=1&mt=8"); + } else { + Linking.openURL("market://details?id=com.standardnotes"); + } + } else if(action == "friend") { + let title = "Standard Notes"; + var message = "Check out Standard Notes, a free, open-source, and completely encrypted notes app."; + let url = "https://standardnotes.org"; + // Android ignores url. iOS ignores title. + if(ApplicationState.isAndroid) { + message += "\n\nhttps://standardnotes.org"; + } + + ApplicationState.get().performActionWithoutStateChangeImpact(() => { + Share.share({title: title, message: message, url: url}) + }) + } + } + + render() { + let storeName = Platform.OS == 'android' ? "Play Store" : "App Store"; + return ( + + + + + this.onAction("help")} /> + + this.onAction("feedback")} /> + + this.onAction("friend")} /> + + this.onAction("learn_more")} /> + + this.onAction("privacy")} /> + + this.onAction("rate")} > + + Version {ApplicationState.version} + Help support us with a review on the {storeName}. + + + + + ); + } +} diff --git a/src/containers/account/EncryptionSection.js b/src/screens/Settings/Sections/EncryptionSection.js similarity index 82% rename from src/containers/account/EncryptionSection.js rename to src/screens/Settings/Sections/EncryptionSection.js index 3b3d7088..70e576a2 100644 --- a/src/containers/account/EncryptionSection.js +++ b/src/screens/Settings/Sections/EncryptionSection.js @@ -1,14 +1,14 @@ import React, { Component } from 'react'; -import StyleKit from "../../style/StyleKit" +import StyleKit from "@Style/StyleKit" import {Text, View} from 'react-native'; -import KeysManager from "../../lib/keysManager" -import ModelManager from "../../lib/sfjs/modelManager" +import KeysManager from "@Lib/keysManager" +import ModelManager from "@Lib/sfjs/modelManager" -import SectionHeader from "../../components/SectionHeader"; -import ButtonCell from "../../components/ButtonCell"; -import TableSection from "../../components/TableSection"; -import SectionedTableCell from "../../components/SectionedTableCell"; -import SectionedAccessoryTableCell from "../../components/SectionedAccessoryTableCell"; +import SectionHeader from "@Components/SectionHeader"; +import ButtonCell from "@Components/ButtonCell"; +import TableSection from "@Components/TableSection"; +import SectionedTableCell from "@Components/SectionedTableCell"; +import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; export default class PasscodeSection extends Component { diff --git a/src/containers/account/OptionsSection.js b/src/screens/Settings/Sections/OptionsSection.js similarity index 86% rename from src/containers/account/OptionsSection.js rename to src/screens/Settings/Sections/OptionsSection.js index a7c7d7a0..437fee59 100644 --- a/src/containers/account/OptionsSection.js +++ b/src/screens/Settings/Sections/OptionsSection.js @@ -1,13 +1,13 @@ import React, { Component } from 'react'; import {Alert} from 'react-native'; -import StyleKit from "../../style/StyleKit" +import StyleKit from "@Style/StyleKit" import {TextInput, View, Text} from 'react-native'; -import SectionHeader from "../../components/SectionHeader"; -import ButtonCell from "../../components/ButtonCell"; -import TableSection from "../../components/TableSection"; -import SectionedTableCell from "../../components/SectionedTableCell"; -import SectionedAccessoryTableCell from "../../components/SectionedAccessoryTableCell"; -import SectionedOptionsTableCell from "../../components/SectionedOptionsTableCell"; +import SectionHeader from "@Components/SectionHeader"; +import ButtonCell from "@Components/ButtonCell"; +import TableSection from "@Components/TableSection"; +import SectionedTableCell from "@Components/SectionedTableCell"; +import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; +import SectionedOptionsTableCell from "@Components/SectionedOptionsTableCell"; import moment from "@Lib/moment" diff --git a/src/containers/account/PasscodeSection.js b/src/screens/Settings/Sections/PasscodeSection.js similarity index 88% rename from src/containers/account/PasscodeSection.js rename to src/screens/Settings/Sections/PasscodeSection.js index 5783626d..87d01206 100644 --- a/src/containers/account/PasscodeSection.js +++ b/src/screens/Settings/Sections/PasscodeSection.js @@ -1,17 +1,17 @@ import React, { Component } from 'react'; -import StyleKit from "../../style/StyleKit" +import StyleKit from "@Style/StyleKit" import {TextInput, View, Alert, Text} from 'react-native'; -import SectionHeader from "../../components/SectionHeader"; -import ButtonCell from "../../components/ButtonCell"; -import TableSection from "../../components/TableSection"; -import SectionedTableCell from "../../components/SectionedTableCell"; -import SectionedAccessoryTableCell from "../../components/SectionedAccessoryTableCell"; -import SectionedOptionsTableCell from "../../components/SectionedOptionsTableCell"; +import SectionHeader from "@Components/SectionHeader"; +import ButtonCell from "@Components/ButtonCell"; +import TableSection from "@Components/TableSection"; +import SectionedTableCell from "@Components/SectionedTableCell"; +import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; +import SectionedOptionsTableCell from "@Components/SectionedOptionsTableCell"; import ApplicationState from "@Lib/ApplicationState" import FingerprintScanner from 'react-native-fingerprint-scanner'; -import KeysManager from "../../lib/keysManager" +import KeysManager from "@Lib/keysManager" export default class PasscodeSection extends Component { diff --git a/src/containers/account/RegistrationConfirmSection.js b/src/screens/Settings/Sections/RegistrationConfirmSection.js similarity index 83% rename from src/containers/account/RegistrationConfirmSection.js rename to src/screens/Settings/Sections/RegistrationConfirmSection.js index ef7364bd..f96a2c2c 100644 --- a/src/containers/account/RegistrationConfirmSection.js +++ b/src/screens/Settings/Sections/RegistrationConfirmSection.js @@ -1,12 +1,12 @@ import React, { Component } from 'react'; -import StyleKit from "../../style/StyleKit" +import StyleKit from "@Style/StyleKit" import {TextInput, Text, View, Alert} from 'react-native'; -import SectionHeader from "../../components/SectionHeader"; -import ButtonCell from "../../components/ButtonCell"; -import TableSection from "../../components/TableSection"; -import SectionedTableCell from "../../components/SectionedTableCell"; -import SectionedAccessoryTableCell from "../../components/SectionedAccessoryTableCell"; +import SectionHeader from "@Components/SectionHeader"; +import ButtonCell from "@Components/ButtonCell"; +import TableSection from "@Components/TableSection"; +import SectionedTableCell from "@Components/SectionedTableCell"; +import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; export default class RegistrationConfirmSection extends Component { constructor(props) { diff --git a/src/screens/Settings.js b/src/screens/Settings/Settings.js similarity index 86% rename from src/screens/Settings.js rename to src/screens/Settings/Settings.js index f24a8a55..e5b39b51 100644 --- a/src/screens/Settings.js +++ b/src/screens/Settings/Settings.js @@ -1,34 +1,35 @@ import React, { Component } from 'react'; import {ScrollView, View, Alert, Keyboard, Linking, Platform, Share, NativeModules} from 'react-native'; -import Sync from '../lib/sfjs/syncManager' +import Sync from '@SFJS/syncManager' import ModelManager from '@SFJS/modelManager' -import AlertManager from '../lib/sfjs/alertManager' +import AlertManager from '@SFJS/alertManager' import SF from '@SFJS/sfjs' import Storage from "@SFJS/storageManager" -import Auth from '../lib/sfjs/authManager' +import Auth from '@SFJS/authManager' import KeysManager from '@Lib/keysManager' -import UserPrefsManager from '../lib/userPrefsManager' +import UserPrefsManager from '@Lib/userPrefsManager' import OptionsState from "@Lib/OptionsState" import ApplicationState from "@Lib/ApplicationState" import StyleKit from "@Style/StyleKit" import BackupsManager from "@Lib/BackupsManager" -import SectionHeader from "../components/SectionHeader"; -import ButtonCell from "../components/ButtonCell"; -import TableSection from "../components/TableSection"; -import SectionedTableCell from "../components/SectionedTableCell"; -import SectionedAccessoryTableCell from "../components/SectionedAccessoryTableCell"; -import Abstract from "./Abstract" +import SectionHeader from "@Components/SectionHeader"; +import ButtonCell from "@Components/ButtonCell"; +import TableSection from "@Components/TableSection"; +import SectionedTableCell from "@Components/SectionedTableCell"; +import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; +import Abstract from "@Screens/Abstract" import Authenticate from "@Screens/Authentication/Authenticate" -import AuthSection from "../containers/account/AuthSection" -import RegistrationConfirmSection from "../containers/account/RegistrationConfirmSection" -import OptionsSection from "../containers/account/OptionsSection" -import PasscodeSection from "../containers/account/PasscodeSection" -import EncryptionSection from "../containers/account/EncryptionSection" -import CompanySection from "../containers/account/CompanySection" -import LockedView from "../containers/LockedView"; +import LockedView from "@Containers/LockedView"; + +import AuthSection from "@Screens/Settings/Sections/AuthSection" +import RegistrationConfirmSection from "@Screens/Settings/Sections/RegistrationConfirmSection" +import OptionsSection from "@Screens/Settings/Sections/OptionsSection" +import PasscodeSection from "@Screens/Settings/Sections/PasscodeSection" +import EncryptionSection from "@Screens/Settings/Sections/EncryptionSection" +import CompanySection from "@Screens/Settings/Sections/CompanySection" export default class Settings extends Abstract { @@ -386,37 +387,6 @@ export default class Settings extends Abstract { }); } - onCompanyAction = (action) => { - if(action == "feedback") { - var platformString = Platform.OS == "android" ? "Android" : "iOS"; - Linking.openURL(`mailto:hello@standardnotes.org?subject=${platformString} app feedback (v${ApplicationState.version})`); - } else if(action == "learn_more") { - Linking.openURL("https://standardnotes.org"); - } else if(action == "privacy") { - Linking.openURL("https://standardnotes.org/privacy"); - } else if(action == "help") { - Linking.openURL("https://standardnotes.org/help"); - } else if(action == "rate") { - if(ApplicationState.isIOS) { - Linking.openURL("https://itunes.apple.com/us/app/standard-notes/id1285392450?ls=1&mt=8"); - } else { - Linking.openURL("market://details?id=com.standardnotes"); - } - } else if(action == "friend") { - let title = "Standard Notes"; - var message = "Check out Standard Notes, a free, open-source, and completely encrypted notes app."; - let url = "https://standardnotes.org"; - // Android ignores url. iOS ignores title. - if(ApplicationState.isAndroid) { - message += "\n\nhttps://standardnotes.org"; - } - - ApplicationState.get().performActionWithoutStateChangeImpact(() => { - Share.share({title: title, message: message, url: url}) - }) - } - } - onSortChange = (key) => { this.options.setSortBy(key); this.forceUpdate(); @@ -534,10 +504,7 @@ export default class Settings extends Abstract { title={"Encryption Status"} /> - + diff --git a/src/screens/Webview.js b/src/screens/Webview.js index 144b4cd7..595b917a 100644 --- a/src/screens/Webview.js +++ b/src/screens/Webview.js @@ -1,10 +1,10 @@ import React, { Component } from 'react'; import { Alert, View, WebView, Linking, Platform } from 'react-native'; -import ComponentManager from '../lib/componentManager' -import ModelManager from '../lib/sfjs/modelManager' +import ComponentManager from '@Lib/componentManager' +import ModelManager from '@Lib/sfjs/modelManager' -import StyleKit from "../style/StyleKit" +import StyleKit from "@Style/StyleKit" import ApplicationState from "@Lib/ApplicationState" diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 725f8f53..949b08be 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -1,11 +1,11 @@ import { StyleSheet, StatusBar, Alert, Platform, Dimensions } from 'react-native'; -import ModelManager from "../lib/sfjs/modelManager" -import Server from "../lib/sfjs/httpManager" -import Sync from '../lib/sfjs/syncManager' +import ModelManager from "@Lib/sfjs/modelManager" +import Server from "@Lib/sfjs/httpManager" +import Sync from '@Lib/sfjs/syncManager' import { SFItemParams } from 'standard-file-js'; -import Storage from "../lib/sfjs/storageManager" -import Auth from "../lib/sfjs/authManager" -import KeysManager from '../lib/keysManager' +import Storage from "@Lib/sfjs/storageManager" +import Auth from "@Lib/sfjs/authManager" +import KeysManager from '@Lib/keysManager' import CSSParser from "@Style/Util/CSSParser"; import ThemeDownloader from "@Style/Util/ThemeDownloader" import Icons from '@Style/Icons'; From faa036f0965f4261443f42f36c1cc99e27174502 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 7 Jan 2019 16:57:41 -0600 Subject: [PATCH 050/131] OptionsSection more responsbility --- src/App.js | 2 +- .../Settings/Sections/OptionsSection.js | 54 +++++++++++++++---- src/screens/Settings/Settings.js | 34 +----------- 3 files changed, 45 insertions(+), 45 deletions(-) diff --git a/src/App.js b/src/App.js index f2766191..b87daac4 100644 --- a/src/App.js +++ b/src/App.js @@ -86,7 +86,7 @@ const AppDrawer = createStackNavigator({ }, { mode: "modal", - headerMode: 'none', + headerMode: 'none' }) AppDrawer.navigationOptions = ({ navigation }) => { diff --git a/src/screens/Settings/Sections/OptionsSection.js b/src/screens/Settings/Sections/OptionsSection.js index 437fee59..d0b2a691 100644 --- a/src/screens/Settings/Sections/OptionsSection.js +++ b/src/screens/Settings/Sections/OptionsSection.js @@ -2,37 +2,65 @@ import React, { Component } from 'react'; import {Alert} from 'react-native'; import StyleKit from "@Style/StyleKit" import {TextInput, View, Text} from 'react-native'; +import UserPrefsManager from "@Lib/userPrefsManager" +import KeysManager from "@Lib/keysManager" +import Auth from '@SFJS/authManager' import SectionHeader from "@Components/SectionHeader"; import ButtonCell from "@Components/ButtonCell"; import TableSection from "@Components/TableSection"; import SectionedTableCell from "@Components/SectionedTableCell"; import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; import SectionedOptionsTableCell from "@Components/SectionedOptionsTableCell"; +import { withNavigation } from 'react-navigation'; +import Abstract from "@Screens/Abstract"; +import BackupsManager from "@Lib/BackupsManager" import moment from "@Lib/moment" -export default class OptionsSection extends Component { +class OptionsSection extends Abstract { constructor(props) { super(props); - this.state = {loadingExport: false}; + let encryptionAvailable = KeysManager.get().activeKeys() != null; + let email = KeysManager.get().getUserEmail(); + this.state = { + loadingExport: false, + encryptionAvailable: encryptionAvailable, + email: email + }; + } + + componentDidMount() { + super.componentDidMount(); + UserPrefsManager.get().getLastExportDate().then((date) => { + this.setState({lastExportDate: date}); + }) } onExportPress = (option) => { let encrypted = option.key == "encrypted"; - if(encrypted && !this.props.encryptionAvailable) { + if(encrypted && !this.state.encryptionAvailable) { Alert.alert('Not Available', "You must be signed in, or have a local passcode set, to generate an encrypted export file.", [{text: 'OK'}]) return; } + this.setState({loadingExport: true}); - this.props.onExportPress(encrypted, () => { - this.setState({loadingExport: false}); - }) + + this.handlePrivilegedAction(true, SFPrivilegesManager.ActionManageBackups, async () => { + BackupsManager.get().export(encrypted).then((success) => { + if(success) { + var date = new Date(); + this.setState({lastExportDate: date}); + UserPrefsManager.get().setLastExportDate(date); + } + this.setState({loadingExport: false}); + }) + }); } exportOptions = () => { return [ - {title: "Encrypted", key: "encrypted", selected: this.props.encryptionAvailable}, + {title: "Encrypted", key: "encrypted", selected: this.state.encryptionAvailable}, {title: "Decrypted", key: "decrypted", selected: true} ]; } @@ -58,20 +86,22 @@ export default class OptionsSection extends Component { lastExportString = "Your data has not yet been backed up."; } - var hasLastExportSection = !this.props.signedIn; + let signedIn = !Auth.get().offline(); + + var hasLastExportSection = !signedIn; return ( - {this.props.signedIn && - + {signedIn && + } { - this.setState({lastExportDate: date}); - }) - } - componentDidFocus() { super.componentDidFocus(); this.loadSecurityStatus(); @@ -268,19 +257,6 @@ export default class Settings extends Abstract { }) } - onExportPress = async (encrypted, callback) => { - this.handlePrivilegedAction(true, SFPrivilegesManager.ActionManageBackups, async () => { - BackupsManager.get().export(encrypted, callback).then((success) => { - if(success) { - var date = new Date(); - this.setState({lastExportDate: date}); - UserPrefsManager.get().setLastExportDate(date); - } - callback(); - }) - }); - } - onStorageEncryptionEnable = () => { AlertManager.get().confirm({ title: "Enable Storage Encryption?", @@ -435,16 +411,10 @@ export default class Settings extends Abstract { } - {this.sortOptions.map((option, i) => { @@ -500,9 +470,7 @@ export default class Settings extends Abstract { title={"Security"} /> - + From 54f6a1f888b24621884f74161491ed9a2dd05ee5 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 7 Jan 2019 17:54:55 -0600 Subject: [PATCH 051/131] Refactor Notes/NotesTablet into Root.js --- src/App.js | 5 +- src/screens/Notes/Notes.js | 228 +++++----------------------- src/screens/Notes/NotesTablet.js | 63 -------- src/screens/Root.js | 247 +++++++++++++++++++++++++++++++ 4 files changed, 283 insertions(+), 260 deletions(-) delete mode 100644 src/screens/Notes/NotesTablet.js create mode 100644 src/screens/Root.js diff --git a/src/App.js b/src/App.js index b87daac4..4ee0da59 100644 --- a/src/App.js +++ b/src/App.js @@ -15,8 +15,7 @@ import Storage from './lib/sfjs/storageManager' import ReviewManager from './lib/reviewManager'; import Compose from "@Screens/Compose" -import Notes from "@Screens/Notes/Notes" -import NotesTablet from "@Screens/Notes/NotesTablet" +import Root from "@Screens/Root" import MainSideMenu from "@SideMenu/MainSideMenu" import NoteSideMenu from "@SideMenu/NoteSideMenu" import Settings from "@Screens/Settings/Settings" @@ -33,7 +32,7 @@ if(__DEV__ === false) { } const AppStack = createStackNavigator({ - Notes: {screen: ApplicationState.get().isTablet ? NotesTablet : Notes}, + Notes: {screen: Root}, Compose: {screen: Compose}, }, { diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 62d16515..69bfbea2 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -19,10 +19,6 @@ import OptionsState from "@Lib/OptionsState" import LockedView from "@Containers/LockedView" import ApplicationState from "@Lib/ApplicationState" -import AuthenticationSourceAccountPassword from "@Screens/Authentication/Sources/AuthenticationSourceAccountPassword"; -import AuthenticationSourceLocalPasscode from "@Screens/Authentication/Sources/AuthenticationSourceLocalPasscode"; -import AuthenticationSourceBiometric from "@Screens/Authentication/Sources/AuthenticationSourceBiometric"; - import Icon from 'react-native-vector-icons/Ionicons'; import FAB from 'react-native-fab'; @@ -31,6 +27,9 @@ export default class Notes extends Abstract { constructor(props) { super(props); + this.options = ApplicationState.getOptions(); + this.registerObservers(); + props.navigation.setParams({ title: "Notes", leftButton: { @@ -41,101 +40,55 @@ export default class Notes extends Abstract { } } }) - - this.stateObserver = ApplicationState.get().addStateObserver((state) => { - let authProps = ApplicationState.get().getAuthenticationPropsForAppState(state); - if(authProps.sources.length > 0) { - this.presentAuthenticationModal(authProps); - } - else if(state == ApplicationState.GainingFocus) { - // we only want to perform sync here if the app is resuming, not if it's a fresh start - if(this.dataLoaded) { - Sync.get().sync(); - } - } - }) } loadInitialState() { - this.options = ApplicationState.getOptions(); - + let encryptionEnabled = KeysManager.get().isOfflineEncryptionEnabled(); this.mergeState({ refreshing: false, - decrypting: false, - loading: true, + decrypting: encryptionEnabled, + loading: !encryptionEnabled, notes: [] }); - this.registerObservers(); - this.initializeNotes(); - this.beginSyncTimer(); - super.loadInitialState(); } - componentDidMount() { - super.componentDidMount(); - if(this.authOnMount) { - // Perform in timeout to avoid stutter when presenting modal on initial app start. - setTimeout(() => { - this.presentAuthenticationModal(this.authOnMount); - this.authOnMount = null; - }, 20); - } + unlockContent() { + super.unlockContent(); + this.configureNavBar(true); } - presentAuthenticationModal(authProps) { - if(!this.isMounted()) { - console.log("Not yet mounted, not authing."); - this.authOnMount = authProps; - return; - } - + componentWillFocus() { + super.componentWillFocus(); - if(this.authenticationInProgress) { - console.log('Not presenting auth modal because one is already presented.'); - return; + if(this.loadNotesOnVisible) { + this.loadNotesOnVisible = false; + this.reloadList(); } + } - this.authenticationInProgress = true; + componentDidFocus() { + super.componentDidFocus(); - this.props.navigation.navigate("Authenticate", { - authenticationSources: authProps.sources, - onSuccess: () => { - authProps.onAuthenticate(); - this.authenticationInProgress = false; + this.setSideMenuHandler(); - if(this.dataLoaded) { - Sync.get().sync(); - } - } - }); - } + this.forceUpdate(); - unlockContent() { - super.unlockContent(); - this.configureNavBar(true); + if(this.needsConfigureNavBar) { + this.configureNavBar(false); + } } componentWillUnmount() { super.componentWillUnmount(); - ApplicationState.get().removeStateObserver(this.stateObserver); Sync.get().removeEventHandler(this.syncObserver); - Sync.get().removeSyncStatusObserver(this.syncStatusObserver); Auth.get().removeEventHandler(this.signoutObserver); if(this.options) { this.options.removeChangeObserver(this.optionsObserver); } - clearInterval(this.syncTimer); - } - - beginSyncTimer() { - // Refresh every 30s - this.syncTimer = setInterval(function () { - Sync.get().sync(null); - }, 30000); } registerObservers() { @@ -143,8 +96,7 @@ export default class Notes extends Abstract { // this.props.navigation.closeLeftDrawer(); // should only show for non-search term change if(eventType !== OptionsState.OptionsStateChangeEventSearch) { - this.setTitle(null, "Loading..."); - this.showingNavBarLoadingStatus = true; + this.setSubTitle("Loading..."); } this.reloadList(true); this.configureNavBar(); @@ -160,35 +112,16 @@ export default class Notes extends Abstract { this.syncObserver = Sync.get().addEventHandler((event, data) => { if(event == "sync:completed") { this.mergeState({refreshing: false, loading: false}); + } else if(event == "local-data-loaded") { + this.displayNeedSignInAlertForLocalItemsIfApplicable(ModelManager.get().allItems); + this.reloadList(); + this.configureNavBar(true); + this.mergeState({decrypting: false, loading: false}); } else if(event == "sync-exception") { Alert.alert("Issue Syncing", `There was an error while trying to save your items. Please contact support and share this message: ${data}`); } }) - this.syncStatusObserver = Sync.get().registerSyncStatusObserver((status) => { - if(status.error) { - var text = `Unable to connect to sync server.` - this.showingErrorStatus = true; - setTimeout( () => { - // need timeout for syncing on app launch - this.setStatusBarText(text); - }, 250); - } else if(status.retrievedCount > 20) { - var text = `Downloading ${status.retrievedCount} items. Keep app opened.` - this.setStatusBarText(text); - this.showingDownloadStatus = true; - } else if(this.showingDownloadStatus) { - this.showingDownloadStatus = false; - var text = "Download Complete."; - this.setStatusBarText(text); - setTimeout(() => { - this.setStatusBarText(null); - }, 2000); - } else if(this.showingErrorStatus) { - this.setStatusBarText(null); - } - }) - this.signoutObserver = Auth.get().addEventHandler((event) => { if(event == SFAuthManager.WillSignInEvent) { this.mergeState({loading: true}) @@ -197,58 +130,14 @@ export default class Notes extends Abstract { Sync.get().refreshErroredItems().then(() => { this.reloadList(); }) - } else if(event == SFAuthManager.DidSignOutEvent) { - this.setStatusBarText(null); } }); } - setStatusBarText(text) { - // this.mergeState({showSyncBar: text != null, syncBarText: text}); - this.setSubTitle(text); - } - - initializeNotes() { - var encryptionEnabled = KeysManager.get().isOfflineEncryptionEnabled(); - this.mergeState({decrypting: encryptionEnabled, loading: !encryptionEnabled}) - - this.setStatusBarText(encryptionEnabled ? "Decrypting notes..." : "Loading notes..."); - let incrementalCallback = (current, total) => { - let notesString = `${current}/${total} items...` - this.setStatusBarText(encryptionEnabled ? `Decrypting ${notesString}` : `Loading ${notesString}`); - // Incremental Callback - if(!this.dataLoaded) { - this.dataLoaded = true; - this.configureNavBar(true); - } - this.reloadList(); - } - - let loadLocalCompletion = (items) => { - this.setStatusBarText("Syncing..."); - this.displayNeedSignInAlertForLocalItemsIfApplicable(items); - this.dataLoaded = true; - this.reloadList(); - this.configureNavBar(true); - this.mergeState({decrypting: false, loading: false}); - // perform initial sync - Sync.get().sync().then(() => { - this.setStatusBarText(null); - }); - } - - if(Sync.get().initialDataLoaded()) { - // Data can be already loaded in the case of a theme change - loadLocalCompletion(); - } else { - let batchSize = 100; - Sync.get().loadLocalItems(incrementalCallback, batchSize).then((items) => { - setTimeout(() => { - loadLocalCompletion(items); - }); - }); - } - + // Called by Root.js + root_onIncrementalSync() { + this.reloadList(); + this.configureNavBar(true); } /* If there is at least one item that has an error decrypting, and there are no account keys saved, @@ -300,15 +189,6 @@ export default class Notes extends Abstract { this.setTitle(notesTitle, null); } - componentDidUpdate() { - // Called when render is complete - if(this.showingNavBarLoadingStatus) { - setTimeout(() => { - this.showingNavBarLoadingStatus = false; - }, 50); - } - } - setSideMenuHandler() { SideMenuManager.get().setHandlerForLeftSideMenu({ onTagSelect: (tag) => { @@ -323,27 +203,6 @@ export default class Notes extends Abstract { }) } - componentDidFocus() { - super.componentDidFocus(); - - this.setSideMenuHandler(); - - this.forceUpdate(); - - if(this.needsConfigureNavBar) { - this.configureNavBar(false); - } - } - - componentWillFocus() { - super.componentWillFocus(); - - if(this.loadNotesOnVisible) { - this.loadNotesOnVisible = false; - this.reloadList(); - } - } - async presentComposer(note) { this.handlePrivilegedAction(note && note.content.protected, SFPrivilegesManager.ActionViewProtectedNotes, () => { this.props.navigation.navigate("Compose", { @@ -383,11 +242,11 @@ export default class Notes extends Abstract { } _onRefresh() { - this.setStatusBarText("Syncing..."); + this.setSubTitle("Syncing..."); this.setState({refreshing: true}); Sync.get().sync().then(() => { setTimeout(() => { - this.setStatusBarText(null); + this.setSubTitle(null); }, 100); }) } @@ -433,8 +292,6 @@ export default class Notes extends Abstract { return ; } - var syncStatus = Sync.get().syncStatus; - return ( {this.state.notes && @@ -454,12 +311,6 @@ export default class Notes extends Abstract { /> } - {this.state.showSyncBar && - - {this.state.syncBarText} - - } - { - this.composer.setNote(note); - this.setState({selectedTagId: this.notesRef.options.selectedTagIds.length && this.notesRef.options.selectedTagIds[0]}); - } - - render() { - if(this.state.lockContent) { - return ; - } - - return ( - - - - {this.notesRef = ref}} navigation={this.props.navigation} onNoteSelect={this.onNoteSelect} /> - - - - {this.composer = ref}} - selectedTagId={this.state.selectedTagId} - navigation={this.props.navigation} - /> - - - ); - } - - loadStyles() { - this.styles = { - root: { - flex: 1, - flexDirection: "row" - }, - left: { - width: "34%", - borderRightColor: StyleKit.variables.stylekitBorderColor, - borderRightWidth: 1 - }, - right: { - width: "66%" - } - } - } -} diff --git a/src/screens/Root.js b/src/screens/Root.js new file mode 100644 index 00000000..8e5bc3da --- /dev/null +++ b/src/screens/Root.js @@ -0,0 +1,247 @@ +import React, { Component, Fragment } from 'react'; +import { View } from 'react-native'; +import StyleKit from "@Style/StyleKit" +import Sync from '@SFJS/syncManager' +import Auth from '@SFJS/authManager' +import KeysManager from '@Lib/keysManager' + +import Abstract from "@Screens/Abstract" +import LockedView from "@Containers/LockedView"; +import ApplicationState from "@Lib/ApplicationState" + +import Compose from "@Screens/Compose" +import Notes from "@Screens/Notes/Notes" + +export default class Root extends Abstract { + + constructor(props) { + super(props); + this.registerObservers(); + } + + registerObservers() { + this.stateObserver = ApplicationState.get().addStateObserver((state) => { + let authProps = ApplicationState.get().getAuthenticationPropsForAppState(state); + if(authProps.sources.length > 0) { + this.presentAuthenticationModal(authProps); + } + else if(state == ApplicationState.GainingFocus) { + // we only want to perform sync here if the app is resuming, not if it's a fresh start + if(this.dataLoaded) { + Sync.get().sync(); + } + } + }) + + this.syncStatusObserver = Sync.get().registerSyncStatusObserver((status) => { + if(status.error) { + var text = `Unable to connect to sync server.` + this.showingErrorStatus = true; + setTimeout( () => { + // need timeout for syncing on app launch + this.setStatusBarText(text); + }, 250); + } else if(status.retrievedCount > 20) { + var text = `Downloading ${status.retrievedCount} items. Keep app opened.` + this.setStatusBarText(text); + this.showingDownloadStatus = true; + } else if(this.showingDownloadStatus) { + this.showingDownloadStatus = false; + var text = "Download Complete."; + this.setStatusBarText(text); + setTimeout(() => { + this.setStatusBarText(null); + }, 2000); + } else if(this.showingErrorStatus) { + this.setStatusBarText(null); + } + }) + + this.signoutObserver = Auth.get().addEventHandler((event) => { + if(event == SFAuthManager.DidSignOutEvent) { + this.setStatusBarText(null); + } + }); + } + + componentDidMount() { + super.componentDidMount(); + if(this.authOnMount) { + // Perform in timeout to avoid stutter when presenting modal on initial app start. + setTimeout(() => { + this.presentAuthenticationModal(this.authOnMount); + this.authOnMount = null; + }, 20); + } + } + + componentWillUnmount() { + super.componentWillUnmount(); + ApplicationState.get().removeStateObserver(this.stateObserver); + Sync.get().removeSyncStatusObserver(this.syncStatusObserver); + clearInterval(this.syncTimer); + } + + /* Forward React Navigation lifecycle events to notes */ + + componentWillFocus() { + super.componentWillFocus(); + this.notesRef && this.notesRef.componentWillFocus(); + } + + componentDidFocus() { + super.componentDidFocus(); + this.notesRef && this.notesRef.componentDidFocus(); + } + + componentDidBlur() { + super.componentDidBlur(); + this.notesRef && this.notesRef.componentDidBlur(); + } + + componentWillBlur() { + super.componentWillBlur(); + this.notesRef && this.notesRef.componentWillBlur(); + } + + loadInitialState() { + this.initializeData(); + this.beginSyncTimer(); + super.loadInitialState(); + } + + beginSyncTimer() { + // Refresh every 30s + this.syncTimer = setInterval(function () { + Sync.get().sync(null); + }, 30000); + } + + initializeData() { + let encryptionEnabled = KeysManager.get().isOfflineEncryptionEnabled(); + this.setStatusBarText(encryptionEnabled ? "Decrypting items..." : "Loading items..."); + let incrementalCallback = (current, total) => { + let notesString = `${current}/${total} items...` + this.setStatusBarText(encryptionEnabled ? `Decrypting ${notesString}` : `Loading ${notesString}`); + // Incremental Callback + if(!this.dataLoaded) { + this.dataLoaded = true; + } + this.notesRef.root_onIncrementalSync(); + } + + let loadLocalCompletion = (items) => { + this.setStatusBarText("Syncing..."); + this.dataLoaded = true; + // perform initial sync + Sync.get().sync().then(() => { + this.setStatusBarText(null); + }); + } + + if(Sync.get().initialDataLoaded()) { + // Data can be already loaded in the case of a theme change + loadLocalCompletion(); + } else { + let batchSize = 100; + Sync.get().loadLocalItems(incrementalCallback, batchSize).then((items) => { + setTimeout(() => { + loadLocalCompletion(items); + }); + }); + } + } + + presentAuthenticationModal(authProps) { + if(!this.isMounted()) { + console.log("Not yet mounted, not authing."); + this.authOnMount = authProps; + return; + } + + + if(this.authenticationInProgress) { + console.log('Not presenting auth modal because one is already presented.'); + return; + } + + this.authenticationInProgress = true; + + this.props.navigation.navigate("Authenticate", { + authenticationSources: authProps.sources, + onSuccess: () => { + authProps.onAuthenticate(); + this.authenticationInProgress = false; + + if(this.dataLoaded) { + Sync.get().sync(); + } + } + }); + } + + setStatusBarText(text) { + this.setSubTitle(text); + } + + onNoteSelect = (note) => { + this.composer.setNote(note); + this.setState({selectedTagId: this.notesRef.options.selectedTagIds.length && this.notesRef.options.selectedTagIds[0]}); + } + + render() { + /* Don't render LockedView here since we need this.notesRef as soon as we can (for componentWillFocus callback) */ + + let isTablet = ApplicationState.get().isTablet; + + return ( + + {!isTablet && + {this.notesRef = ref}} + navigation={this.props.navigation} + /> + } + + {isTablet && + + + {this.notesRef = ref}} + navigation={this.props.navigation} + onNoteSelect={this.onNoteSelect} + /> + + + + {this.composer = ref}} + selectedTagId={this.state.selectedTagId} + navigation={this.props.navigation} + /> + + + } + + + ) + } + + loadStyles() { + this.styles = { + root: { + flex: 1, + flexDirection: "row" + }, + left: { + width: "34%", + borderRightColor: StyleKit.variables.stylekitBorderColor, + borderRightWidth: 1 + }, + right: { + width: "66%" + } + } + } + +} From c69d87bee39d2537f3519fc6fb5710a0d8f638f8 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 7 Jan 2019 18:27:29 -0600 Subject: [PATCH 052/131] Refactor AuthSection to self contain logic --- src/App.js | 2 +- src/screens/Root.js | 21 ++ src/screens/Settings/Sections/AuthSection.js | 193 ++++++++++++++++-- .../Sections/RegistrationConfirmSection.js | 66 ------ src/screens/Settings/Settings.js | 173 +--------------- 5 files changed, 197 insertions(+), 258 deletions(-) delete mode 100644 src/screens/Settings/Sections/RegistrationConfirmSection.js diff --git a/src/App.js b/src/App.js index 4ee0da59..fab4e7a4 100644 --- a/src/App.js +++ b/src/App.js @@ -85,7 +85,7 @@ const AppDrawer = createStackNavigator({ }, { mode: "modal", - headerMode: 'none' + headerMode: 'none', }) AppDrawer.navigationOptions = ({ navigation }) => { diff --git a/src/screens/Root.js b/src/screens/Root.js index 8e5bc3da..49eb3d7c 100644 --- a/src/screens/Root.js +++ b/src/screens/Root.js @@ -4,6 +4,7 @@ import StyleKit from "@Style/StyleKit" import Sync from '@SFJS/syncManager' import Auth from '@SFJS/authManager' import KeysManager from '@Lib/keysManager' +import AlertManager from '@SFJS/alertManager' import Abstract from "@Screens/Abstract" import LockedView from "@Containers/LockedView"; @@ -33,6 +34,26 @@ export default class Root extends Abstract { } }) + this.syncEventHandler = Sync.get().addEventHandler((event, data) => { + if(event == "sync-session-invalid") { + if(!this.didShowSessionInvalidAlert) { + this.didShowSessionInvalidAlert = true; + AlertManager.get().confirm({ + title: "Session Expired", + text: "Your session has expired. New changes will not be pulled in. Please sign out and sign back in to refresh your session.", + confirmButtonText: "Sign Out", + onConfirm: () => { + this.didShowSessionInvalidAlert = false; + Auth.get().signout(); + }, + onCancel: () => { + this.didShowSessionInvalidAlert = false; + } + }) + } + } + }) + this.syncStatusObserver = Sync.get().registerSyncStatusObserver((status) => { if(status.error) { var text = `Unable to connect to sync server.` diff --git a/src/screens/Settings/Sections/AuthSection.js b/src/screens/Settings/Sections/AuthSection.js index 31240fbd..2407385d 100644 --- a/src/screens/Settings/Sections/AuthSection.js +++ b/src/screens/Settings/Sections/AuthSection.js @@ -1,6 +1,9 @@ -import React, { Component } from 'react'; -import {TextInput, View, Text} from 'react-native'; +import React, { Component, Fragment } from 'react'; +import {TextInput, View, Text, Keyboard, Alert} from 'react-native'; import StyleKit from "@Style/StyleKit" +import Sync from '@SFJS/syncManager' +import SF from '@SFJS/sfjs' +import Auth from '@SFJS/authManager' import SectionHeader from "@Components/SectionHeader"; import ButtonCell from "@Components/ButtonCell"; @@ -14,13 +17,17 @@ const DEFAULT_REGISTER_TEXT = "Register"; export default class AuthSection extends Component { constructor(props) { super(props); - this.state = _.merge(props.params, { + this.state = { signingIn: false, registering: false, strictSignIn: false, signInButtonText: DEFAULT_SIGN_IN_TEXT, registerButtonText: DEFAULT_REGISTER_TEXT - }); + }; + } + + componentDidMount() { + this.setState({server: Auth.get().serverUrl()}) } showAdvanced = () => { @@ -29,20 +36,95 @@ export default class AuthSection extends Component { onSignInPress = () => { this.setState({signingIn: true, signInButtonText: "Generating Keys..."}); - this.props.onSignInPress(this.state, (success) => { - if(!success) { + + Keyboard.dismiss(); + + // Merge params back into our own state.params. The reason is, if you have immediate passcode enabled, and 2FA enabled + // When you press sign in, see your 2fa prompt, exit the app to get your code and come back, the AuthSection component is destroyed. + // Its data will need to be repopulated, and will use this.state.params + // this.setState({params: params}); + + var email = this.state.email; + var password = this.state.password; + + if(!this.validate(email, password)) { + if(callback) {callback(false);} + return; + } + + var extraParams = {}; + if(this.state.mfa) { + extraParams[this.state.mfa.payload.mfa_key] = this.state.mfa_token; + } + + var strict = this.state.strictSignIn; + + // Prevent a timed sync from occuring while signing in. There may be a race condition where when + // calling `markAllItemsDirtyAndSaveOffline` during sign in, if an authenticated sync happens to occur + // right before that's called, items retreived from that sync will be marked as dirty, then resynced, causing mass duplication. + // Unlock sync after all sign in processes are complete. + Sync.get().lockSyncing(); + + Auth.get().login(this.state.server, email, password, strict, extraParams).then((response) => { + + if(!response || response.error) { + var error = response ? response.error : {message: "An unknown error occured."} + + Sync.get().unlockSyncing(); + + if(error.tag == "mfa-required" || error.tag == "mfa-invalid") { + this.setState({mfa: error}); + } else if(error.message) { + Alert.alert('Oops', error.message, [{text: 'OK'}]) + } this.setState({signingIn: false, signInButtonText: DEFAULT_SIGN_IN_TEXT}); + return; } - }) + + this.setState({email: null, password: null, mfa: null}); + + this.onAuthSuccess(); + }); + } + + validate(email, password) { + if(!email) { + Alert.alert('Missing Email', "Please enter a valid email address.", [{text: 'OK'}]) + return false; + } + + if(!password) { + Alert.alert('Missing Password', "Please enter your password.", [{text: 'OK'}]) + return false; + } + + return true; } onRegisterPress = () => { - this.setState({registering: true, registerButtonText: "Generating Keys..."}); - this.props.onRegisterPress(this.state, (success) => { - if(!success) { - this.setState({registering: false, registerButtonText: DEFAULT_REGISTER_TEXT}); - } - }) + Keyboard.dismiss(); + + var email = this.state.email; + var password = this.state.password; + + if(!this.validate(email, password)) { + this.setState({registering: false, registerButtonText: DEFAULT_REGISTER_TEXT}); + return; + } + + this.setState({confirmRegistration: true}); + } + + onRegisterConfirmCancel = () => { + this.setState({confirmRegistration: false}); + } + + onAuthSuccess = () => { + Sync.get().markAllItemsDirtyAndSaveOffline(false).then(() => { + Sync.get().unlockSyncing(); + Sync.get().sync(); + this.props.onAuthSuccess(); + }); } toggleStrictMode = () => { @@ -51,13 +133,68 @@ export default class AuthSection extends Component { }) } - render() { + onConfirmRegistrationPress = () => { + if(this.state.password !== this.state.passwordConfirmation) { + Alert.alert("Passwords Don't Match", "The passwords you entered do not match. Please try again.", [{text: 'OK'}]) + } else { + this.setState({registering: true}); + + Auth.get().register(this.state.server, this.state.email, this.state.password).then((response) => { + this.setState({registering: false, confirmRegistration: false}); + + if(!response || response.error) { + var error = response ? response.error : {message: "An unknown error occured."} + Alert.alert('Oops', error.message, [{text: 'OK'}]) + return; + } + + this.onAuthSuccess(); + }); + } + } + + _renderRegistrationConfirm() { + var padding = 14; + return ( + + + + + Due to the nature of our encryption, Standard Notes cannot offer password reset functionality. + If you forget your password, you will permanently lose access to your data. + + + + this.setState({passwordConfirmation: text})} + value={this.state.passwordConfirmation} + secureTextEntry={true} + autoFocus={true} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} + underlineColorAndroid={'transparent'} + /> + + + this.onConfirmRegistrationPress()} + /> + + this.onRegisterConfirmCancel()} /> + + ) + } + + _renderDefaultContent() { let textPadding = 14; return ( - - {!this.props.mfa && + {!this.state.mfa && } - {this.props.mfa && + {this.state.mfa && - {this.props.mfa.message} + {this.state.mfa.message} } - {(this.state.showAdvanced || !this.state.server) && !this.props.mfa && + {(this.state.showAdvanced || !this.state.server) && !this.state.mfa && @@ -141,16 +278,28 @@ export default class AuthSection extends Component { this.onSignInPress()} /> - {!this.props.mfa && + {!this.state.mfa && this.onRegisterPress()} /> } - {!this.state.showAdvanced && !this.props.mfa && + {!this.state.showAdvanced && !this.state.mfa && this.showAdvanced()} /> } + + ) + } + render() { + return ( + + {this.state.confirmRegistration && + this._renderRegistrationConfirm() + } - + {!this.state.confirmRegistration && + this._renderDefaultContent() + } + ); } } diff --git a/src/screens/Settings/Sections/RegistrationConfirmSection.js b/src/screens/Settings/Sections/RegistrationConfirmSection.js deleted file mode 100644 index f96a2c2c..00000000 --- a/src/screens/Settings/Sections/RegistrationConfirmSection.js +++ /dev/null @@ -1,66 +0,0 @@ -import React, { Component } from 'react'; -import StyleKit from "@Style/StyleKit" -import {TextInput, Text, View, Alert} from 'react-native'; - -import SectionHeader from "@Components/SectionHeader"; -import ButtonCell from "@Components/ButtonCell"; -import TableSection from "@Components/TableSection"; -import SectionedTableCell from "@Components/SectionedTableCell"; -import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; - -export default class RegistrationConfirmSection extends Component { - constructor(props) { - super(props); - this.state = {password: props.password, passwordConfirmation: ""} - } - - onConfirmPress = () => { - if(this.state.password !== this.state.passwordConfirmation) { - Alert.alert("Passwords Don't Match", "The passwords you entered do not match. Please try again.", [{text: 'OK'}]) - } else { - this.props.onSuccess(); - } - } - - onCancel = () => { - this.props.onCancel(); - } - - render() { - var padding = 14; - return ( - - - - - Due to the nature of our encryption, Standard Notes cannot offer password reset functionality. - If you forget your password, you will permanently lose access to your data. - - - - this.setState({passwordConfirmation: text})} - value={this.state.passwordConfirmation} - secureTextEntry={true} - autoFocus={true} - keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} - underlineColorAndroid={'transparent'} - /> - - - this.onConfirmPress()} - /> - - this.onCancel()} /> - - - - ); - } -} diff --git a/src/screens/Settings/Settings.js b/src/screens/Settings/Settings.js index d49d8bf0..5c58c902 100644 --- a/src/screens/Settings/Settings.js +++ b/src/screens/Settings/Settings.js @@ -1,31 +1,25 @@ import React, { Component } from 'react'; -import {ScrollView, View, Alert, Keyboard, Linking, Platform, Share, NativeModules} from 'react-native'; +import {ScrollView, View, Alert, Keyboard, Platform} from 'react-native'; import Sync from '@SFJS/syncManager' import ModelManager from '@SFJS/modelManager' import AlertManager from '@SFJS/alertManager' import SF from '@SFJS/sfjs' +import Auth from '@SFJS/authManager' import Storage from "@SFJS/storageManager" -import Auth from '@SFJS/authManager' import KeysManager from '@Lib/keysManager' -import UserPrefsManager from '@Lib/userPrefsManager' import OptionsState from "@Lib/OptionsState" import ApplicationState from "@Lib/ApplicationState" import StyleKit from "@Style/StyleKit" -import BackupsManager from "@Lib/BackupsManager" import SectionHeader from "@Components/SectionHeader"; -import ButtonCell from "@Components/ButtonCell"; import TableSection from "@Components/TableSection"; -import SectionedTableCell from "@Components/SectionedTableCell"; import SectionedAccessoryTableCell from "@Components/SectionedAccessoryTableCell"; import Abstract from "@Screens/Abstract" -import Authenticate from "@Screens/Authentication/Authenticate" import LockedView from "@Containers/LockedView"; import AuthSection from "@Screens/Settings/Sections/AuthSection" -import RegistrationConfirmSection from "@Screens/Settings/Sections/RegistrationConfirmSection" import OptionsSection from "@Screens/Settings/Sections/OptionsSection" import PasscodeSection from "@Screens/Settings/Sections/PasscodeSection" import EncryptionSection from "@Screens/Settings/Sections/EncryptionSection" @@ -62,36 +56,12 @@ export default class Settings extends Abstract { ]; this.options = ApplicationState.getOptions(); - this.constructState({params: {}}); + this.constructState({}); } loadInitialState() { super.loadInitialState(); - this.mergeState({params: {server: Auth.get().serverUrl()}}) - - this.syncEventHandler = Sync.get().addEventHandler((event, data) => { - if(event == "local-data-loaded") { - this.forceUpdate(); - } else if(event == "sync-session-invalid") { - if(!this.didShowSessionInvalidAlert) { - this.didShowSessionInvalidAlert = true; - AlertManager.get().confirm({ - title: "Session Expired", - text: "Your session has expired. New changes will not be pulled in. Please sign out and sign back in to refresh your session.", - confirmButtonText: "Sign Out", - onConfirm: () => { - this.didShowSessionInvalidAlert = false; - Auth.get().signout(); - }, - onCancel: () => { - this.didShowSessionInvalidAlert = false; - } - }) - } - } - }) - this.loadSecurityStatus(); } @@ -113,120 +83,6 @@ export default class Settings extends Abstract { this.forceUpdate(); } - validate(email, password) { - if(!email) { - Alert.alert('Missing Email', "Please enter a valid email address.", [{text: 'OK'}]) - return false; - } - - if(!password) { - Alert.alert('Missing Password', "Please enter your password.", [{text: 'OK'}]) - return false; - } - - return true; - } - - onSignInPress = (params, callback) => { - Keyboard.dismiss(); - - // Merge params back into our own state.params. The reason is, if you have immediate passcode enabled, and 2FA enabled - // When you press sign in, see your 2fa prompt, exit the app to get your code and come back, the AuthSection component is destroyed. - // Its data will need to be repopulated, and will use this.state.params - this.mergeState({params: params}); - - var email = params.email; - var password = params.password; - - if(!this.validate(email, password)) { - if(callback) {callback(false);} - return; - } - - var extraParams = {}; - if(this.state.mfa) { - extraParams[this.state.mfa.payload.mfa_key] = params.mfa_token; - } - - var strict = params.strictSignIn; - - // Prevent a timed sync from occuring while signing in. There may be a race condition where when - // calling `markAllItemsDirtyAndSaveOffline` during sign in, if an authenticated sync happens to occur - // right before that's called, items retreived from that sync will be marked as dirty, then resynced, causing mass duplication. - // Unlock sync after all sign in processes are complete. - Sync.get().lockSyncing(); - - Auth.get().login(params.server, email, password, strict, extraParams).then((response) => { - - if(!response || response.error) { - var error = response ? response.error : {message: "An unknown error occured."} - - Sync.get().unlockSyncing(); - - if(error.tag == "mfa-required" || error.tag == "mfa-invalid") { - this.mergeState({mfa: error}); - } else if(error.message) { - Alert.alert('Oops', error.message, [{text: 'OK'}]) - } - if(callback) {callback(false);} - return; - } - - params.email = null; - params.password = null; - this.setState({params: params}); - - if(this.state.mfa) { - this.mergeState({mfa: null}); - } - - this.onAuthSuccess(() => { - Sync.get().unlockSyncing(); - Sync.get().sync(); - }); - - callback && callback(true); - }); - } - - onRegisterPress = (params, callback) => { - Keyboard.dismiss(); - - var email = params.email; - var password = params.password; - - if(!this.validate(email, password)) { - if(callback) {callback(false);} - return; - } - - this.mergeState({params: params, confirmRegistration: true}); - } - - onRegisterConfirmSuccess = () => { - this.mergeState({registering: true}); - - var params = this.state.params; - - Auth.get().register( params.server, params.email, params.password).then((response) => { - this.mergeState({registering: false, confirmRegistration: false}); - - if(!response || response.error) { - var error = response ? response.error : {message: "An unknown error occured."} - Alert.alert('Oops', error.message, [{text: 'OK'}]) - return; - } - - this.onAuthSuccess(() => { - Sync.get().sync(); - }); - }); - } - - onRegisterConfirmCancel = () => { - this.mergeState({confirmRegistration: false}); - } - resaveOfflineData(callback, updateAfter = false) { Sync.get().resaveOfflineData().then(() => { if(updateAfter) { @@ -236,13 +92,6 @@ export default class Settings extends Abstract { }); } - onAuthSuccess = (callback) => { - Sync.get().markAllItemsDirtyAndSaveOffline(false).then(() => { - callback && callback(); - this.dismiss(); - }); - } - onSignOutPress = () => { AlertManager.get().confirm({ title: "Sign Out?", @@ -391,22 +240,8 @@ export default class Settings extends Abstract { {!signedIn && !this.state.confirmRegistration && - } - - {this.state.confirmRegistration && - {this.dismiss()}} /> } From 1c90a92fe08384433c51cde10d52df238965211a Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 7 Jan 2019 18:49:44 -0600 Subject: [PATCH 053/131] SideMenuHero real values --- src/lib/keysManager.js | 4 +-- src/screens/SideMenu/MainSideMenu.js | 12 ++------ src/screens/SideMenu/SideMenuHero.js | 46 +++++++++++++++++++++++----- 3 files changed, 43 insertions(+), 19 deletions(-) diff --git a/src/lib/keysManager.js b/src/lib/keysManager.js index 33156cf2..33b83d4f 100644 --- a/src/lib/keysManager.js +++ b/src/lib/keysManager.js @@ -87,8 +87,8 @@ export default class KeysManager { // storage encryption if(items[StorageEncryptionKey] == null) { - // default is true - this.storageEncryptionEnabled = true; + // default is false + this.storageEncryptionEnabled = false; } else { this.storageEncryptionEnabled = JSON.parse(items[StorageEncryptionKey]) == true; } diff --git a/src/screens/SideMenu/MainSideMenu.js b/src/screens/SideMenu/MainSideMenu.js index 98c8e3fe..07ea501c 100644 --- a/src/screens/SideMenu/MainSideMenu.js +++ b/src/screens/SideMenu/MainSideMenu.js @@ -133,9 +133,8 @@ export default class MainSideMenu extends AbstractSideMenu { - - - + + {this.presentSettings()}}/> @@ -183,13 +182,6 @@ export default class MainSideMenu extends AbstractSideMenu { flex: 1, flexDirection: "column" }, - hero: { - height: 65, - padding: 15, - backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor, - borderBottomColor: StyleKit.variables.stylekitContrastBorderColor, - borderBottomWidth: 1 - }, scrollView: { padding: 15, backgroundColor: StyleKit.variables.stylekitBackgroundColor, diff --git a/src/screens/SideMenu/SideMenuHero.js b/src/screens/SideMenu/SideMenuHero.js index 06fab9c5..2af8050d 100644 --- a/src/screens/SideMenu/SideMenuHero.js +++ b/src/screens/SideMenu/SideMenuHero.js @@ -1,6 +1,9 @@ import React, { Component } from 'react'; -import { ScrollView, View, Text } from 'react-native'; +import { ScrollView, View, Text, TouchableOpacity } from 'react-native'; import Icon from 'react-native-vector-icons/Ionicons'; +import Auth from "@SFJS/authManager" +import KeysManager from "@Lib/keysManager" +import ModelManager from "@SFJS/modelManager" import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" @@ -9,11 +12,38 @@ import ThemedComponent from "@Components/ThemedComponent"; export default class SideMenuHero extends ThemedComponent { + getText() { + let offline = Auth.get().offline(); + let hasEncryption = !offline || KeysManager.get().isStorageEncryptionEnabled(); + if(offline) { + return { + title: "Data Not Backed Up", + text: hasEncryption ? + "Sign in or register to enable sync to your other devices." : + "Sign in or register to add encryption and enable sync to your other devices." + } + } else { + let email = KeysManager.get().getUserEmail(); + var items = ModelManager.get().allItemsMatchingTypes(["Note", "Tag"]); + var itemsStatus = items.length + "/" + items.length + " notes and tags encrypted"; + return { + title: email, + text: itemsStatus + } + } + } + render() { + let textData = this.getText(); return ( - - {"me@bitar.io"} - {"79/79 notes and tags encrypted"} + + + {textData.title} + + + + {textData.text} + ) } @@ -21,9 +51,11 @@ export default class SideMenuHero extends ThemedComponent { loadStyles() { this.styles = { cell: { - flex: 1, - flexDirection: "column", - backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor + backgroundColor: StyleKit.variables.stylekitContrastBackgroundColor, + borderBottomColor: StyleKit.variables.stylekitContrastBorderColor, + borderBottomWidth: 1, + padding: 15, + paddingRight: 25, }, title: { From f9f099ab0df60e985b1fdc74831923ad6a88929f Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 7 Jan 2019 19:22:17 -0600 Subject: [PATCH 054/131] SideMenu reload data on sign out --- src/components/SectionedOptionsTableCell.js | 95 +++++++------- src/screens/Notes/Notes.js | 4 +- src/screens/Settings/Sections/AuthSection.js | 124 +++++++++++-------- src/screens/SideMenu/MainSideMenu.js | 12 ++ src/screens/SideMenu/TagSelectionList.js | 16 ++- src/style/StyleKit.js | 12 +- 6 files changed, 160 insertions(+), 103 deletions(-) diff --git a/src/components/SectionedOptionsTableCell.js b/src/components/SectionedOptionsTableCell.js index e895a5da..12f6d4b1 100644 --- a/src/components/SectionedOptionsTableCell.js +++ b/src/components/SectionedOptionsTableCell.js @@ -1,9 +1,10 @@ import React, { Component } from 'react'; import {View, Text, TouchableHighlight} from 'react-native'; +import ThemedComponent from "@Components/ThemedComponent"; import StyleKit from "@Style/StyleKit" -export default class SectionedOptionsTableCell extends Component { +export default class SectionedOptionsTableCell extends ThemedComponent { rules() { var rules = [StyleKit.styles.sectionedTableCell]; @@ -26,57 +27,23 @@ export default class SectionedOptionsTableCell extends Component { return rules; } - constructor(props) { - super(props); - - this.titleStyles = { - width: "42%", - minWidth: 0 - } - - this.optionsContainerStyle = { - width: "58%", - flex: 1, - flexDirection: 'row', - alignItems: "center", - justifyContent: "center", - backgroundColor: StyleKit.variable("stylekitBackgroundColor") - } - - this.buttonContainerStyles = { - borderLeftColor: StyleKit.variable("stylekitBorderColor"), - borderLeftWidth: 1, - height: "100%", - flexGrow: 1, - padding: 10, - paddingTop: 12 - }; - - this.buttonStyles = { - color: StyleKit.variable("stylekitNeutralColor"), - fontSize: 16, - textAlign: "center", - width: "100%", - } - - this.selectedButtonStyles = { - color: StyleKit.variable("stylekitInfoColor"), - } - } - render() { return ( - {this.props.title} - + {this.props.title} + {this.props.options.map((option) => { - var buttonStyles = [this.buttonStyles]; + var buttonStyles = [this.styles.buttonStyles]; if(option.selected) { - buttonStyles.push(this.selectedButtonStyles); + buttonStyles.push(this.styles.selectedButtonStyles); } return ( - {this.props.onPress(option)}}> - {option.title} + {this.props.onPress(option)}}> + {option.title} ) })} @@ -84,4 +51,42 @@ export default class SectionedOptionsTableCell extends Component { ) } + + loadStyles() { + this.styles = { + titleStyles: { + width: "42%", + minWidth: 0 + }, + + optionsContainerStyle: { + width: "58%", + flex: 1, + flexDirection: 'row', + alignItems: "center", + justifyContent: "center", + backgroundColor: StyleKit.variable("stylekitBackgroundColor") + }, + + buttonContainerStyles: { + borderLeftColor: StyleKit.variable("stylekitBorderColor"), + borderLeftWidth: 1, + height: "100%", + flexGrow: 1, + padding: 10, + paddingTop: 12 + }, + + buttonStyles: { + color: StyleKit.variable("stylekitNeutralColor"), + fontSize: 16, + textAlign: "center", + width: "100%", + }, + + selectedButtonStyles: { + color: StyleKit.variable("stylekitInfoColor"), + } + } + } } diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 69bfbea2..c5edbee9 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -123,7 +123,9 @@ export default class Notes extends Abstract { }) this.signoutObserver = Auth.get().addEventHandler((event) => { - if(event == SFAuthManager.WillSignInEvent) { + if(event == SFAuthManager.DidSignOutEvent) { + this.reloadList(); + } else if(event == SFAuthManager.WillSignInEvent) { this.mergeState({loading: true}) } else if(event == SFAuthManager.DidSignInEvent) { // Check if there are items that are errorDecrypting and try decrypting with new keys diff --git a/src/screens/Settings/Sections/AuthSection.js b/src/screens/Settings/Sections/AuthSection.js index 2407385d..720433bb 100644 --- a/src/screens/Settings/Sections/AuthSection.js +++ b/src/screens/Settings/Sections/AuthSection.js @@ -153,6 +153,10 @@ export default class AuthSection extends Component { } } + cancelMfa = () => { + this.setState({mfa: null}); + } + _renderRegistrationConfirm() { var padding = 14; return ( @@ -190,11 +194,36 @@ export default class AuthSection extends Component { } _renderDefaultContent() { + let textPadding = 14; - return ( - - - {!this.state.mfa && + + const renderMfaSubcontent = () => { + return ( + + + {this.state.mfa.message} + + + this.setState({mfa_token: text})} + value={this.state.mfa_token} + keyboardType={'numeric'} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} + autoFocus={true} + underlineColorAndroid={'transparent'} + placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} + onSubmitEditing={this.onSignInPress} + /> + + + ) + } + + const renderNonMfaSubcontent = () => { + return ( + - } - {this.state.mfa && - - - {this.state.mfa.message} - - - this.setState({mfa_token: text})} - value={this.state.mfa_token} - keyboardType={'numeric'} - keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} - autoFocus={true} - underlineColorAndroid={'transparent'} - placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} - onSubmitEditing={this.onSignInPress} + {(this.state.showAdvanced || !this.state.server) && + + + + this.setState({server: text})} + value={this.state.server} + autoCorrect={false} + autoCapitalize={'none'} + keyboardType={'url'} + keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} + underlineColorAndroid={'transparent'} + placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} + /> + + + this.toggleStrictMode()} + text={"Use strict sign in"} + selected={() => {return this.state.strictSignIn}} + first={false} + last={true} /> - - - } + + } + + ) + } - {(this.state.showAdvanced || !this.state.server) && !this.state.mfa && - - - - this.setState({server: text})} - value={this.state.server} - autoCorrect={false} - autoCapitalize={'none'} - keyboardType={'url'} - keyboardAppearance={StyleKit.get().keyboardColorForActiveTheme()} - underlineColorAndroid={'transparent'} - placeholderTextColor={StyleKit.variable("stylekitNeutralColor")} - /> - + return ( + + + {this.state.mfa && + renderMfaSubcontent() + } - this.toggleStrictMode()} - text={"Use strict sign in"} - selected={() => {return this.state.strictSignIn}} - first={false} - last={true} - /> - + {!this.state.mfa && + renderNonMfaSubcontent() } this.onSignInPress()} /> + {this.state.mfa && + this.cancelMfa()} /> + } + {!this.state.mfa && this.onRegisterPress()} /> } diff --git a/src/screens/SideMenu/MainSideMenu.js b/src/screens/SideMenu/MainSideMenu.js index 07ea501c..2277ac2a 100644 --- a/src/screens/SideMenu/MainSideMenu.js +++ b/src/screens/SideMenu/MainSideMenu.js @@ -8,6 +8,7 @@ import ActionSheet from 'react-native-actionsheet' import Abstract from "@Screens/Abstract" import AlertManager from "@SFJS/alertManager" +import Auth from "@SFJS/authManager" import SectionHeader from "@Components/SectionHeader"; import TableSection from "@Components/TableSection"; @@ -31,6 +32,17 @@ export default class MainSideMenu extends AbstractSideMenu { constructor(props) { super(props); this.constructState({}); + + this.signoutObserver = Auth.get().addEventHandler((event) => { + if(event == SFAuthManager.DidSignOutEvent) { + this.forceUpdate(); + } + }); + } + + componentWillUnmount() { + super.componentWillUnmount(); + Auth.get().removeEventHandler(this.signoutObserver); } presentSettings() { diff --git a/src/screens/SideMenu/TagSelectionList.js b/src/screens/SideMenu/TagSelectionList.js index 9b83024e..15e4302b 100644 --- a/src/screens/SideMenu/TagSelectionList.js +++ b/src/screens/SideMenu/TagSelectionList.js @@ -5,6 +5,7 @@ import Icon from 'react-native-vector-icons/Ionicons'; import Sync from '@SFJS/syncManager' import ItemActionManager from '@Lib/itemActionManager' import ModelManager from '@SFJS/modelManager' +import Auth from "@SFJS/authManager" import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" @@ -32,13 +33,19 @@ class TagSelectionList extends Component { let handleInitialDataLoad = () => { if(this.handledDataLoad) { return; } this.handledDataLoad = true; - this.reloadTags(); + this.reload(); } if(Sync.get().initialDataLoaded()) { handleInitialDataLoad(); } + this.signoutObserver = Auth.get().addEventHandler((event) => { + if(event == SFAuthManager.DidSignOutEvent) { + this.reload(); + } + }); + this.syncEventHandler = Sync.get().addEventHandler((event, data) => { if(event == "local-data-loaded") { handleInitialDataLoad(); @@ -48,7 +55,7 @@ class TagSelectionList extends Component { let inRetrieved = data.retrievedItems && _.find(data.retrievedItems, {content_type: this.props.contentType}); let inSaved = data.savedItems && _.find(data.savedItems, {content_type: this.props.contentType}); if(inRetrieved || inSaved) { - this.reloadTags(); + this.reload(); } } }) @@ -56,9 +63,10 @@ class TagSelectionList extends Component { componentWillUnmount() { Sync.get().removeEventHandler(this.syncEventHandler); + Auth.get().removeEventHandler(this.signoutObserver); } - reloadTags() { + reload = () => { let tags; if(this.props.contentType == "Tag") { tags = ModelManager.get().tags.slice(); @@ -97,7 +105,7 @@ class TagSelectionList extends Component { }}), ActionSheetWrapper.BuildOption({text: "Delete", destructive: true, callback: () => { ItemActionManager.handleEvent(ItemActionManager.DeleteEvent, tag, () => { - this.reloadTags(); + this.reload(); }); }}) ], onCancel: () => { diff --git a/src/style/StyleKit.js b/src/style/StyleKit.js index 949b08be..01916b8e 100644 --- a/src/style/StyleKit.js +++ b/src/style/StyleKit.js @@ -33,9 +33,9 @@ export default class StyleKit { this.createDefaultThemes(); - KeysManager.get().registerAccountRelatedStorageKeys(["activeTheme"]); + KeysManager.get().registerAccountRelatedStorageKeys(["savedTheme"]); - ModelManager.get().addItemSyncObserver("themes", "SN|Theme", function(allItems, validItems, deletedItems, source){ + ModelManager.get().addItemSyncObserver("themes", "SN|Theme", (allItems, validItems, deletedItems, source) => { if(this.activeTheme && this.activeTheme.isSwapIn) { var matchingTheme = _.find(this.themes(), {uuid: this.activeTheme.uuid}); if(matchingTheme) { @@ -44,7 +44,13 @@ export default class StyleKit { this.activeTheme.setMobileActive(true); } } - }.bind(this)); + }); + + this.signoutObserver = Auth.get().addEventHandler((event) => { + if(event == SFAuthManager.DidSignOutEvent) { + this.activateTheme(this.systemThemes[0]); + } + }); } addThemeChangeObserver(observer) { From e7841dda21d639c769d52f233bf871e701af019c Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 7 Jan 2019 23:17:55 -0600 Subject: [PATCH 055/131] No tags placeholder --- src/components/HeaderTitleView.js | 8 +++- src/lib/ApplicationState.js | 2 +- src/lib/keysManager.js | 23 ++++++---- src/screens/Abstract.js | 3 +- src/screens/Notes/NoteList.js | 56 ++++++++++++------------ src/screens/Notes/Notes.js | 2 +- src/screens/Root.js | 2 +- src/screens/SideMenu/MainSideMenu.js | 7 ++- src/screens/SideMenu/TagSelectionList.js | 24 ++++++++-- 9 files changed, 80 insertions(+), 47 deletions(-) diff --git a/src/components/HeaderTitleView.js b/src/components/HeaderTitleView.js index 60caadc7..a7b15e1a 100644 --- a/src/components/HeaderTitleView.js +++ b/src/components/HeaderTitleView.js @@ -16,7 +16,13 @@ export default class HeaderTitleView extends Component { {this.props.title} {this.props.subtitle && - {this.props.subtitle} + + {this.props.subtitle} + } ) diff --git a/src/lib/ApplicationState.js b/src/lib/ApplicationState.js index 3637bef3..8ae5c2b2 100644 --- a/src/lib/ApplicationState.js +++ b/src/lib/ApplicationState.js @@ -4,7 +4,7 @@ import KeysManager from "@Lib/keysManager" import OptionsState from "@Lib/OptionsState" import AuthenticationSourceLocalPasscode from "@Screens/Authentication/Sources/AuthenticationSourceLocalPasscode"; import AuthenticationSourceBiometric from "@Screens/Authentication/Sources/AuthenticationSourceBiometric"; -var pjson = require('../package.json') +var pjson = require('../../package.json') export default class ApplicationState { diff --git a/src/lib/keysManager.js b/src/lib/keysManager.js index 33b83d4f..bf83f782 100644 --- a/src/lib/keysManager.js +++ b/src/lib/keysManager.js @@ -87,10 +87,15 @@ export default class KeysManager { // storage encryption if(items[StorageEncryptionKey] == null) { - // default is false - this.storageEncryptionEnabled = false; + // default is true + // Note that this defaults to true, but doesn't dictate if it's actually applied. + // For example, when you first install the app and have no account and no passcode, + // There will be no encryption source available. In the syncManager key request handler, + // we check if this flag is true and if there are active keys. We use this to indicate that + // when keys become available, we want storage encryption to be enabled by default. + this._storageEncryptionEnabled = true; } else { - this.storageEncryptionEnabled = JSON.parse(items[StorageEncryptionKey]) == true; + this._storageEncryptionEnabled = JSON.parse(items[StorageEncryptionKey]) == true; } // user @@ -231,17 +236,19 @@ export default class KeysManager { // Storage Encryption async enableStorageEncryption() { - this.storageEncryptionEnabled = true; - return Storage.get().setItem(StorageEncryptionKey, JSON.stringify(this.storageEncryptionEnabled)); + this._storageEncryptionEnabled = true; + return Storage.get().setItem(StorageEncryptionKey, JSON.stringify(this._storageEncryptionEnabled)); } async disableStorageEncryption() { - this.storageEncryptionEnabled = false; - return Storage.get().setItem(StorageEncryptionKey, JSON.stringify(this.storageEncryptionEnabled)); + this._storageEncryptionEnabled = false; + return Storage.get().setItem(StorageEncryptionKey, JSON.stringify(this._storageEncryptionEnabled)); } isStorageEncryptionEnabled() { - return this.storageEncryptionEnabled; + // See comment in loadInitialData regarding why the value of this._storageEncryptionEnabled is not sufficient + // to determine whether it's actually enabled + return this._storageEncryptionEnabled && this.activeKeys(); } diff --git a/src/screens/Abstract.js b/src/screens/Abstract.js index 66e4154f..772c0cfd 100644 --- a/src/screens/Abstract.js +++ b/src/screens/Abstract.js @@ -163,10 +163,9 @@ export default class Abstract extends ThemedComponent { return this.props.navigation.getParam && this.props.navigation.getParam(prop); } - setTitle(title, subtitle) { + setTitle(title) { let options = {}; options.title = title; - options.subtitle = subtitle; this.props.navigation.setParams(options); } diff --git a/src/screens/Notes/NoteList.js b/src/screens/Notes/NoteList.js index 1b1a307a..6da5d2f4 100644 --- a/src/screens/Notes/NoteList.js +++ b/src/screens/Notes/NoteList.js @@ -4,33 +4,9 @@ import NoteCell from "@Screens/Notes/NoteCell" import Search from 'react-native-search-box' import StyleKit from "@Style/StyleKit" import ApplicationState from "@Lib/ApplicationState" +import ThemedComponent from "@Components/ThemedComponent" -export default class NoteList extends Component { - - constructor(props) { - super(props); - this.styles = StyleSheet.create({ - container: { - flex: 1, - }, - - decryptNoticeContainer: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - zIndex: -1, - position: "absolute", - height: "100%", - width: "100%" - }, - - decryptNotice: { - position: "absolute", - opacity: 0.5, - color: StyleKit.variable("stylekitForegroundColor") - } - }); - } +export default class NoteList extends ThemedComponent { renderHeader = () => { return ( @@ -98,8 +74,8 @@ export default class NoteList extends Component { {placeholderText.length > 0 && - - + + {placeholderText} @@ -126,4 +102,28 @@ export default class NoteList extends Component { ) } + + loadStyles() { + this.styles = StyleSheet.create({ + container: { + flex: 1, + }, + + loadingTextContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + zIndex: -1, + position: "absolute", + height: "100%", + width: "100%" + }, + + loadingText: { + position: "absolute", + opacity: 0.5, + color: StyleKit.variables.stylekitForegroundColor + } + }); + } } diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index c5edbee9..cf560976 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -188,7 +188,7 @@ export default class Notes extends Abstract { } } - this.setTitle(notesTitle, null); + this.setTitle(notesTitle); } setSideMenuHandler() { diff --git a/src/screens/Root.js b/src/screens/Root.js index 49eb3d7c..6fe5c648 100644 --- a/src/screens/Root.js +++ b/src/screens/Root.js @@ -63,7 +63,7 @@ export default class Root extends Abstract { this.setStatusBarText(text); }, 250); } else if(status.retrievedCount > 20) { - var text = `Downloading ${status.retrievedCount} items. Keep app opened.` + var text = `Downloading ${status.retrievedCount} items. Keep app open.` this.setStatusBarText(text); this.showingDownloadStatus = true; } else if(this.showingDownloadStatus) { diff --git a/src/screens/SideMenu/MainSideMenu.js b/src/screens/SideMenu/MainSideMenu.js index 2277ac2a..ae65f97d 100644 --- a/src/screens/SideMenu/MainSideMenu.js +++ b/src/screens/SideMenu/MainSideMenu.js @@ -157,7 +157,12 @@ export default class MainSideMenu extends AbstractSideMenu { - + diff --git a/src/screens/SideMenu/TagSelectionList.js b/src/screens/SideMenu/TagSelectionList.js index 15e4302b..58102ce0 100644 --- a/src/screens/SideMenu/TagSelectionList.js +++ b/src/screens/SideMenu/TagSelectionList.js @@ -11,13 +11,15 @@ import Icons from '@Style/Icons'; import StyleKit from "@Style/StyleKit" import SideMenuCell from "@SideMenu/SideMenuCell" +import ThemedComponent from "@Components/ThemedComponent"; + import ApplicationState from "@Lib/ApplicationState" import OptionsState from "@Lib/OptionsState" import ActionSheetWrapper from "@Style/ActionSheetWrapper" import { withNavigation } from 'react-navigation'; -class TagSelectionList extends Component { +class TagSelectionList extends ThemedComponent { /* @param props.selectedTags @@ -36,9 +38,7 @@ class TagSelectionList extends Component { this.reload(); } - if(Sync.get().initialDataLoaded()) { - handleInitialDataLoad(); - } + this.reload(); this.signoutObserver = Auth.get().addEventHandler((event) => { if(event == SFAuthManager.DidSignOutEvent) { @@ -151,10 +151,26 @@ class TagSelectionList extends Component { renderItem={this.renderTagCell} extraData={this.props.selectedTags /* Required to force list cells to update on selection change */} /> + + {this.state.tags.length == 0 && + {this.props.emptyPlaceholder} + } + {this.state.actionSheet && this.state.actionSheet} ) } + + loadStyles() { + this.styles = { + emptyPlaceholderText: { + color: StyleKit.variables.stylekitForegroundColor, + opacity: 0.6, + paddingRight: 40, + lineHeight: 18 + } + } + } } export default withNavigation(TagSelectionList); From db8ad1d1c82f78c33da61ec0532774dd9198076b Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 7 Jan 2019 23:51:43 -0600 Subject: [PATCH 056/131] Encrypt account keys in keychain if passcode is available --- src/lib/keysManager.js | 99 +++++++++++++------ .../AuthenticationSourceLocalPasscode.js | 2 +- src/screens/Settings/Settings.js | 2 +- 3 files changed, 69 insertions(+), 34 deletions(-) diff --git a/src/lib/keysManager.js b/src/lib/keysManager.js index bf83f782..08dc34ca 100644 --- a/src/lib/keysManager.js +++ b/src/lib/keysManager.js @@ -28,30 +28,6 @@ export default class KeysManager { this.accountRelatedStorageKeys = ["auth_params", "user"]; } - loadLocalStateFromKeys(keys) { - if(keys) { - this.offlineKeys = keys.offline; - if(this.offlineKeys) { - this.passcodeTiming = this.offlineKeys.timing; - } - - if(keys.fingerprint) { - this.fingerprintEnabled = keys.fingerprint.enabled; - this.fingerprintTiming = keys.fingerprint.timing; - } - this.accountKeys = _.omit(keys, ["offline", "fingerprint"]); - if(_.keys(this.accountKeys).length == 0) { - this.accountKeys = null; - } - } else { - this.offlineKeys = null; - this.passcodeTiming = null; - this.fingerprintEnabled = null; - this.fingerprintTiming = null; - this.accountKeys = null; - } - } - async loadInitialData() { this.stateObserver = ApplicationState.get().addStateObserver((state) => { if(state == ApplicationState.Unlocking) { @@ -63,11 +39,11 @@ export default class KeysManager { return Promise.all([ - Keychain.getKeys().then(function(keys){ + Keychain.getKeys().then((keys) => { if(keys) { - this.loadLocalStateFromKeys(keys); + this.parseKeychainValue(keys); } - }.bind(this)), + }), Storage.get().getMultiItems(storageKeys).then(function(items){ // first run @@ -126,7 +102,7 @@ export default class KeysManager { Storage.get().clear(), Keychain.clearKeys() ]).then(function(){ - this.loadLocalStateFromKeys(null); + this.parseKeychainValue(null); this.accountAuthParams = null; this.user = null; Storage.get().setItem(FirstRunKey, "false"); @@ -142,13 +118,58 @@ export default class KeysManager { this.accountRelatedStorageKeys = _.uniq(this.accountRelatedStorageKeys.concat(storageKeys)); } + parseKeychainValue(keys) { + if(keys) { + this.offlineKeys = keys.offline; + if(this.offlineKeys) { + this.passcodeTiming = this.offlineKeys.timing; + } + + if(keys.fingerprint) { + this.fingerprintEnabled = keys.fingerprint.enabled; + this.fingerprintTiming = keys.fingerprint.timing; + } + + if(keys.encryptedAccountKeys) { + // We won't handle this case here. We'll wait until setOfflineKeys is called + // by whoever authenticates local passcode. That's when we actually get the offline + // keys we can use to decrypt encryptedAccountKeys + this.encryptedAccountKeys = keys.encryptedAccountKeys; + } else { + this.accountKeys = _.omit(keys, ["offline", "fingerprint"]); + if(_.keys(this.accountKeys).length == 0) { + this.accountKeys = null; + } + } + } else { + this.offlineKeys = null; + this.passcodeTiming = null; + this.fingerprintEnabled = null; + this.fingerprintTiming = null; + this.accountKeys = null; + } + } + // what we should write to keychain - generateKeychainStoreValue() { + async generateKeychainStoreValue() { var value = {fingerprint: {enabled: this.fingerprintEnabled, timing: this.fingerprintTiming}}; if(this.accountKeys) { - _.merge(value, this.accountKeys); + // If offline local passcode keys are available, use that to encrypt account keys + // Don't encrypt offline pw because then we don't be able to verify passcode + if(this.offlineKeys) { + var encryptedKeys = new SFItem(); + encryptedKeys.uuid = await SF.get().crypto.generateUUID(); + encryptedKeys.content_type = "SN|Mobile|EncryptedKeys" + encryptedKeys.content.accountKeys = this.accountKeys; + var params = new SFItemParams(encryptedKeys, this.offlineKeys, this.offlineAuthParams); + let results = await params.paramsForSync(); + value.encryptedAccountKeys = results; + } else { + _.merge(value, this.accountKeys); + } } + if(this.offlineKeys) { _.merge(value, {offline: {pw: this.offlineKeys.pw, timing: this.passcodeTiming}}); } @@ -159,7 +180,7 @@ export default class KeysManager { async persistKeysToKeychain() { // This funciton is called when changes are made to authentication state this.updateScreenshotPrivacy(); - return Keychain.setKeys(this.generateKeychainStoreValue()); + return Keychain.setKeys(await this.generateKeychainStoreValue()); } updateScreenshotPrivacy(enabled) { @@ -322,9 +343,23 @@ export default class KeysManager { return this.persistKeysToKeychain(); } - setOfflineKeys(keys) { + async setOfflineKeys(keys) { // offline keys are ephemeral and should not be stored anywhere this.offlineKeys = keys; + + // Check to see if encryptedAccountKeys need decrypting + if(this.encryptedAccountKeys) { + // Decrypt and set + await SFJS.itemTransformer.decryptItem(this.encryptedAccountKeys, this.offlineKeys); + // itemTransformer modifies in place. this.encryptedAccountKeys should now be decrypted + let decryptedKeys = new SFItem(this.encryptedAccountKeys); + if(decryptedKeys.errorDecrypting) { + console.error("Fatal: Error decrypting account keys"); + } else { + this.accountKeys = decryptedKeys.content.accountKeys; + this.encryptedAccountKeys = null; + } + } } offlinePasscodeHash() { diff --git a/src/screens/Authentication/Sources/AuthenticationSourceLocalPasscode.js b/src/screens/Authentication/Sources/AuthenticationSourceLocalPasscode.js index d43be4a0..eeb31316 100644 --- a/src/screens/Authentication/Sources/AuthenticationSourceLocalPasscode.js +++ b/src/screens/Authentication/Sources/AuthenticationSourceLocalPasscode.js @@ -50,7 +50,7 @@ export default class AuthenticationSourceLocalPasscode extends AuthenticationSou var authParams = KeysManager.get().offlineAuthParams; let keys = await SF.get().crypto.computeEncryptionKeysForUser(this.authenticationValue, authParams); if(keys.pw === KeysManager.get().offlinePasscodeHash()) { - KeysManager.get().setOfflineKeys(keys); + await KeysManager.get().setOfflineKeys(keys); return this._success(); } else { return this._fail("Invalid local passcode. Please try again."); diff --git a/src/screens/Settings/Settings.js b/src/screens/Settings/Settings.js index 5c58c902..bba33285 100644 --- a/src/screens/Settings/Settings.js +++ b/src/screens/Settings/Settings.js @@ -154,8 +154,8 @@ export default class Settings extends Abstract { // make sure it has valid items if(_.keys(keys).length > 0) { - KeysManager.get().persistOfflineKeys(keys); KeysManager.get().setOfflineAuthParams(authParams); + KeysManager.get().persistOfflineKeys(keys); var encryptionSource = KeysManager.get().encryptionSource(); if(encryptionSource == "offline") { this.resaveOfflineData(null, true); From 44a70cd6609859bbe7a1eb58881f707e3b430567 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Mon, 7 Jan 2019 23:57:41 -0600 Subject: [PATCH 057/131] Authenticate disable submit button on submit --- src/screens/Authentication/Authenticate.js | 6 ++++++ src/screens/Notes/Notes.js | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/src/screens/Authentication/Authenticate.js b/src/screens/Authentication/Authenticate.js index a29bf4db..db4c3218 100644 --- a/src/screens/Authentication/Authenticate.js +++ b/src/screens/Authentication/Authenticate.js @@ -63,6 +63,10 @@ export default class Authenticate extends Abstract { } submitPressed() { + if(this.pendingSources.length == 1) { + this.setState({submitDisabled: true}); + } + if(this.state.activeSource) { this.validateAuthentication(this.state.activeSource); } @@ -109,6 +113,7 @@ export default class Authenticate extends Abstract { if(this.successfulSources.length == this.sources.length) { this.onSuccess(); } else { + this.setState({submitDisabled: false}); this.beginNextAuthentication(); } } @@ -202,6 +207,7 @@ export default class Authenticate extends Abstract { 1 ? "Next" : "Submit"} bold={true} onPress={() => this.submitPressed()} diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index cf560976..8c360800 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -95,11 +95,16 @@ export default class Notes extends Abstract { this.optionsObserver = this.options.addChangeObserver((options, eventType) => { // this.props.navigation.closeLeftDrawer(); // should only show for non-search term change + let setSubtitle = false; if(eventType !== OptionsState.OptionsStateChangeEventSearch) { + setSubTitle = true; this.setSubTitle("Loading..."); } this.reloadList(true); this.configureNavBar(); + if(setSubTitle) { + this.setSubTitle(null); + } if(ApplicationState.get().isTablet) { this.selectFirstNote(); } From 14dd6129c7eb0941c92173fb2a09fe0597dfde35 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 8 Jan 2019 00:07:41 -0600 Subject: [PATCH 058/131] SafeAreaView everywhere --- src/screens/Compose.js | 5 +++-- src/screens/InputModal.js | 10 +++++----- src/screens/Notes/Notes.js | 6 +++--- src/screens/Settings/Settings.js | 6 +++--- src/screens/SideMenu/AbstractSideMenu.js | 2 +- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 766ff115..152ecc20 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -13,6 +13,7 @@ import Icons from '@Style/Icons'; import ApplicationState from "@Lib/ApplicationState" import LockedView from "@Containers/LockedView"; import Icon from 'react-native-vector-icons/Ionicons'; +import { SafeAreaView } from 'react-navigation'; import TextView from "sn-textview"; @@ -367,7 +368,7 @@ export default class Compose extends Abstract { var shouldDisplayEditor = noteEditor != null && this.note.uuid; return ( - + {this.note.locked && @@ -437,7 +438,7 @@ export default class Compose extends Abstract { editable={!this.note.locked} /> } - + ); } diff --git a/src/screens/InputModal.js b/src/screens/InputModal.js index a8aa39e7..c54a0477 100644 --- a/src/screens/InputModal.js +++ b/src/screens/InputModal.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import { TextInput, View, Keyboard, TouchableHighlight, Platform, Alert } from 'react-native'; +import { TextInput, View, Keyboard, TouchableHighlight, Platform, Alert, SafeAreaView } from 'react-native'; import StyleKit from "@Style/StyleKit" import TableSection from "@Components/TableSection"; import SectionedTableCell from "@Components/SectionedTableCell"; @@ -15,7 +15,7 @@ export default class InputModal extends Abstract { static navigationOptions = ({ navigation, navigationOptions }) => { let templateOptions = { leftButton: { - title: "Done" + title: "Cancel" } } return Abstract.getDefaultNavigationOptions({navigation, navigationOptions, templateOptions}); @@ -26,7 +26,7 @@ export default class InputModal extends Abstract { props.navigation.setParams({ leftButton: { - title: "Done", + title: "Cancel", onPress: () => { this.dismiss(); } @@ -113,7 +113,7 @@ export default class InputModal extends Abstract { ) return ( - + - + ); } diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index 8c360800..eb52e2fa 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import { View, Text, Alert } from 'react-native'; +import { View, Text, Alert, SafeAreaView } from 'react-native'; import ModelManager from '@SFJS/modelManager' import Storage from '@SFJS/storageManager' @@ -300,7 +300,7 @@ export default class Notes extends Abstract { } return ( - + {this.state.notes && } /> - + ); } diff --git a/src/screens/Settings/Settings.js b/src/screens/Settings/Settings.js index bba33285..3ccbea71 100644 --- a/src/screens/Settings/Settings.js +++ b/src/screens/Settings/Settings.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import {ScrollView, View, Alert, Keyboard, Platform} from 'react-native'; +import {ScrollView, View, Alert, Keyboard, Platform, SafeAreaView} from 'react-native'; import Sync from '@SFJS/syncManager' import ModelManager from '@SFJS/modelManager' @@ -235,7 +235,7 @@ export default class Settings extends Abstract { let signedIn = !Auth.get().offline(); return ( - + {!signedIn && !this.state.confirmRegistration && @@ -310,7 +310,7 @@ export default class Settings extends Abstract { - + ); } } diff --git a/src/screens/SideMenu/AbstractSideMenu.js b/src/screens/SideMenu/AbstractSideMenu.js index cefc4635..62585ce3 100644 --- a/src/screens/SideMenu/AbstractSideMenu.js +++ b/src/screens/SideMenu/AbstractSideMenu.js @@ -33,7 +33,7 @@ export default class AbstractSideMenu extends Abstract { Keyboard.dismiss(); - this.handler.onKeyboardDismiss && this.handler.onKeyboardDismiss(); + this.handler && this.handler.onKeyboardDismiss && this.handler.onKeyboardDismiss(); } } From 0f33c1d31fa14b4b3b303f0b4f1c50a1edc36f5e Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 8 Jan 2019 00:16:08 -0600 Subject: [PATCH 059/131] Can't do SafeAreaView everywhere, otherwise, drops rendering bottom ~30px on iPhone X even in portrait mode --- src/screens/Compose.js | 4 ++-- src/screens/Notes/Notes.js | 4 ++-- src/screens/Settings/Settings.js | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/screens/Compose.js b/src/screens/Compose.js index 152ecc20..8cf597f1 100644 --- a/src/screens/Compose.js +++ b/src/screens/Compose.js @@ -368,7 +368,7 @@ export default class Compose extends Abstract { var shouldDisplayEditor = noteEditor != null && this.note.uuid; return ( - + {this.note.locked && @@ -438,7 +438,7 @@ export default class Compose extends Abstract { editable={!this.note.locked} /> } - + ); } diff --git a/src/screens/Notes/Notes.js b/src/screens/Notes/Notes.js index eb52e2fa..32d13b63 100644 --- a/src/screens/Notes/Notes.js +++ b/src/screens/Notes/Notes.js @@ -300,7 +300,7 @@ export default class Notes extends Abstract { } return ( - + {this.state.notes && } /> - + ); } diff --git a/src/screens/Settings/Settings.js b/src/screens/Settings/Settings.js index 3ccbea71..bba33285 100644 --- a/src/screens/Settings/Settings.js +++ b/src/screens/Settings/Settings.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import {ScrollView, View, Alert, Keyboard, Platform, SafeAreaView} from 'react-native'; +import {ScrollView, View, Alert, Keyboard, Platform} from 'react-native'; import Sync from '@SFJS/syncManager' import ModelManager from '@SFJS/modelManager' @@ -235,7 +235,7 @@ export default class Settings extends Abstract { let signedIn = !Auth.get().offline(); return ( - + {!signedIn && !this.state.confirmRegistration && @@ -310,7 +310,7 @@ export default class Settings extends Abstract { - + ); } } From bc46a2044dc3ca42b139c7c5b2db325b55419d35 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 8 Jan 2019 00:20:27 -0600 Subject: [PATCH 060/131] Default cancel button on protected auth --- src/lib/sfjs/privilegesManager.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lib/sfjs/privilegesManager.js b/src/lib/sfjs/privilegesManager.js index ca4e30c5..5e7b72eb 100644 --- a/src/lib/sfjs/privilegesManager.js +++ b/src/lib/sfjs/privilegesManager.js @@ -59,6 +59,9 @@ export default class PrivilegesManager extends SFPrivilegesManager { let sources = await this.sourcesForAction(action); navigation.navigate("Authenticate", { + leftButton: { + title: "Cancel", + }, authenticationSources: sources, hasCancelOption: true, onSuccess: () => { From 6498e70ff5db38e95d3d08c9546e5cecd1a1bcf3 Mon Sep 17 00:00:00 2001 From: Mo Bitar Date: Tue, 8 Jan 2019 12:05:50 -0600 Subject: [PATCH 061/131] Updated icons --- .../app/src/main/assets/fonts/AntDesign.ttf | Bin 0 -> 70344 bytes .../app/src/main/assets/fonts/EvilIcons.ttf | Bin 13128 -> 13456 bytes android/app/src/main/assets/fonts/Feather.ttf | Bin 55288 -> 65112 bytes .../main/assets/fonts/FontAwesome5_Brands.ttf | Bin 0 -> 126192 bytes .../assets/fonts/FontAwesome5_Regular.ttf | Bin 0 -> 40232 bytes .../main/assets/fonts/FontAwesome5_Solid.ttf | Bin 0 -> 196952 bytes .../app/src/main/assets/fonts/Ionicons.ttf | Bin 143936 -> 112472 bytes .../assets/fonts/MaterialCommunityIcons.ttf | Bin 322456 -> 416816 bytes .../app/src/main/assets/fonts/Octicons.ttf | Bin 27520 -> 27440 bytes ios/StandardNotes.xcodeproj/project.pbxproj | 17 ++++- ios/StandardNotes/Info.plist | 54 +++++++------- package-lock.json | 48 ++----------- package.json | 2 +- src/App.js | 6 +- src/screens/Compose.js | 7 +- src/screens/Notes/Notes.js | 7 +- src/screens/SideMenu/MainSideMenu.js | 13 +++- src/screens/SideMenu/NoteSideMenu.js | 26 +++++-- src/screens/SideMenu/SideMenuCell.js | 17 +++-- src/screens/SideMenu/SideMenuHero.js | 1 - src/screens/SideMenu/SideMenuSection.js | 1 - src/screens/SideMenu/TagSelectionList.js | 3 +- src/style/ActionSheetWrapper.js | 1 - src/style/Icons.js | 67 ------------------ src/style/StyleKit.js | 8 ++- vendor/react-native-fab | 2 +- 26 files changed, 108 insertions(+), 172 deletions(-) create mode 100644 android/app/src/main/assets/fonts/AntDesign.ttf create mode 100644 android/app/src/main/assets/fonts/FontAwesome5_Brands.ttf create mode 100644 android/app/src/main/assets/fonts/FontAwesome5_Regular.ttf create mode 100644 android/app/src/main/assets/fonts/FontAwesome5_Solid.ttf delete mode 100644 src/style/Icons.js diff --git a/android/app/src/main/assets/fonts/AntDesign.ttf b/android/app/src/main/assets/fonts/AntDesign.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2abf03542c17e6f7a7806a226c3be732b51c5a40 GIT binary patch literal 70344 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®9K?4Tre1; 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