From 6da64f08b17415791ad7c21f89a97f704efcbabf Mon Sep 17 00:00:00 2001 From: Arturs Jansons Date: Fri, 14 Jul 2017 14:54:33 +0300 Subject: [PATCH 01/12] Upgrade to RN 0.46 --- CachedImageExample/.babelrc | 4 +- CachedImageExample/.flowconfig | 14 +- CachedImageExample/.gitignore | 2 +- CachedImageExample/android/app/BUCK | 53 +- CachedImageExample/android/app/build.gradle | 9 +- .../android/app/proguard-rules.pro | 4 + .../android/app/src/main/AndroidManifest.xml | 19 + .../cachedimageexample/MainApplication.java | 11 + CachedImageExample/android/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- CachedImageExample/android/keystores/BUCK | 12 +- CachedImageExample/app.json | 4 + .../ios/CachedImageExample-tvOS/Info.plist | 54 ++ .../CachedImageExample-tvOSTests/Info.plist | 24 + .../project.pbxproj | 274 +++++- .../CachedImageExample-tvOS.xcscheme | 129 +++ .../ios/CachedImageExample/Info.plist | 2 + .../CachedImageExampleTests.m | 2 +- CachedImageExample/package.json | 5 +- CachedImageExample/yarn.lock | 879 +++++++++++++----- 20 files changed, 1233 insertions(+), 272 deletions(-) create mode 100644 CachedImageExample/app.json create mode 100644 CachedImageExample/ios/CachedImageExample-tvOS/Info.plist create mode 100644 CachedImageExample/ios/CachedImageExample-tvOSTests/Info.plist create mode 100644 CachedImageExample/ios/CachedImageExample.xcodeproj/xcshareddata/xcschemes/CachedImageExample-tvOS.xcscheme diff --git a/CachedImageExample/.babelrc b/CachedImageExample/.babelrc index 8df53fe..a9ce136 100644 --- a/CachedImageExample/.babelrc +++ b/CachedImageExample/.babelrc @@ -1,3 +1,3 @@ { -"presets": ["react-native"] -} \ No newline at end of file + "presets": ["react-native"] +} diff --git a/CachedImageExample/.flowconfig b/CachedImageExample/.flowconfig index 5912f47..527ecf5 100644 --- a/CachedImageExample/.flowconfig +++ b/CachedImageExample/.flowconfig @@ -22,9 +22,9 @@ node_modules/react-native/flow flow/ [options] -module.system=haste +emoji=true -experimental.strict_type_args=true +module.system=haste munge_underscores=true @@ -35,11 +35,21 @@ suppress_type=$FlowIssue suppress_type=$FlowFixMe suppress_type=$FixMe +<<<<<<< ours suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(3[0-5]\\|[1-2][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(3[0-5]\\|1[0-9]\\|[1-2][0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ +======= +suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(4[0-7]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) +suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(4[0-7]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ +>>>>>>> theirs suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy +suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError unsafe.enable_getters_and_setters=true [version] +<<<<<<< ours ^0.35.0 +======= +^0.47.0 +>>>>>>> theirs diff --git a/CachedImageExample/.gitignore b/CachedImageExample/.gitignore index 93fd764..1f50dfb 100644 --- a/CachedImageExample/.gitignore +++ b/CachedImageExample/.gitignore @@ -34,9 +34,9 @@ local.properties # node_modules/ npm-debug.log +yarn-error.log # BUCK buck-out/ \.buckd/ -android/app/libs *.keystore diff --git a/CachedImageExample/android/app/BUCK b/CachedImageExample/android/app/BUCK index cb3f773..5619e88 100644 --- a/CachedImageExample/android/app/BUCK +++ b/CachedImageExample/android/app/BUCK @@ -1,5 +1,3 @@ -import re - # To learn about Buck see [Docs](https://buckbuild.com/). # To run your application with Buck: # - install Buck @@ -11,8 +9,9 @@ import re # lib_deps = [] + for jarfile in glob(['libs/*.jar']): - name = 'jars__' + re.sub(r'^.*/([^/]+)\.jar$', r'\1', jarfile) + name = 'jars__' + jarfile[jarfile.rindex('/') + 1: jarfile.rindex('.jar')] lib_deps.append(':' + name) prebuilt_jar( name = name, @@ -20,7 +19,7 @@ for jarfile in glob(['libs/*.jar']): ) for aarfile in glob(['libs/*.aar']): - name = 'aars__' + re.sub(r'^.*/([^/]+)\.aar$', r'\1', aarfile) + name = 'aars__' + aarfile[aarfile.rindex('/') + 1: aarfile.rindex('.aar')] lib_deps.append(':' + name) android_prebuilt_aar( name = name, @@ -28,39 +27,39 @@ for aarfile in glob(['libs/*.aar']): ) android_library( - name = 'all-libs', - exported_deps = lib_deps + name = "all-libs", + exported_deps = lib_deps, ) android_library( - name = 'app-code', - srcs = glob([ - 'src/main/java/**/*.java', - ]), - deps = [ - ':all-libs', - ':build_config', - ':res', - ], + name = "app-code", + srcs = glob([ + "src/main/java/**/*.java", + ]), + deps = [ + ":all-libs", + ":build_config", + ":res", + ], ) android_build_config( - name = 'build_config', - package = 'com.cachedimageexample', + name = "build_config", + package = "com.cachedimageexample", ) android_resource( - name = 'res', - res = 'src/main/res', - package = 'com.cachedimageexample', + name = "res", + package = "com.cachedimageexample", + res = "src/main/res", ) android_binary( - name = 'app', - package_type = 'debug', - manifest = 'src/main/AndroidManifest.xml', - keystore = '//android/keystores:debug', - deps = [ - ':app-code', - ], + name = "app", + keystore = "//android/keystores:debug", + manifest = "src/main/AndroidManifest.xml", + package_type = "debug", + deps = [ + ":app-code", + ], ) diff --git a/CachedImageExample/android/app/build.gradle b/CachedImageExample/android/app/build.gradle index 8b80c23..daa0170 100644 --- a/CachedImageExample/android/app/build.gradle +++ b/CachedImageExample/android/app/build.gradle @@ -33,6 +33,13 @@ import com.android.build.OutputFile * // bundleInPaidRelease: true, * // bundleInBeta: true, * + * // whether to disable dev mode in custom build variants (by default only disabled in release) + * // for example: to disable dev mode in the staging build type (if configured) + * devDisabledInStaging: true, + * // The configuration property can be in the following formats + * // 'devDisabledIn${productFlavor}${buildType}' + * // 'devDisabledIn${buildType}' + * * // the root of your project, i.e. where "package.json" lives * root: "../../", * @@ -58,7 +65,7 @@ import com.android.build.OutputFile * inputExcludes: ["android/**", "ios/**"], * * // override which node gets called and with what additional arguments - * nodeExecutableAndArgs: ["node"] + * nodeExecutableAndArgs: ["node"], * * // supply additional arguments to the packager * extraPackagerArgs: [] diff --git a/CachedImageExample/android/app/proguard-rules.pro b/CachedImageExample/android/app/proguard-rules.pro index 48361a9..6e8516c 100644 --- a/CachedImageExample/android/app/proguard-rules.pro +++ b/CachedImageExample/android/app/proguard-rules.pro @@ -50,6 +50,10 @@ -dontwarn com.facebook.react.** +# TextLayoutBuilder uses a non-public Android constructor within StaticLayout. +# See libs/proxy/src/main/java/com/facebook/fbui/textlayoutbuilder/proxy for details. +-dontwarn android.text.StaticLayout + # okhttp -keepattributes Signature diff --git a/CachedImageExample/android/app/src/main/AndroidManifest.xml b/CachedImageExample/android/app/src/main/AndroidManifest.xml index 79e0fe3..f33087a 100644 --- a/CachedImageExample/android/app/src/main/AndroidManifest.xml +++ b/CachedImageExample/android/app/src/main/AndroidManifest.xml @@ -14,6 +14,7 @@ android:targetSdkVersion="22"/> +======= + android:name=".MainApplication" + android:allowBackup="true" + android:label="@string/app_name" + android:icon="@mipmap/ic_launcher" + android:theme="@style/AppTheme"> + + + + + + + +>>>>>>> theirs diff --git a/CachedImageExample/android/app/src/main/java/com/cachedimageexample/MainApplication.java b/CachedImageExample/android/app/src/main/java/com/cachedimageexample/MainApplication.java index c6499da..629618e 100644 --- a/CachedImageExample/android/app/src/main/java/com/cachedimageexample/MainApplication.java +++ b/CachedImageExample/android/app/src/main/java/com/cachedimageexample/MainApplication.java @@ -1,11 +1,17 @@ package com.cachedimageexample; +<<<<<<< ours import android.util.Log; import android.app.Application; import com.facebook.react.ReactApplication; import com.RNFetchBlob.RNFetchBlobPackage; import com.facebook.react.ReactInstanceManager; +======= +import android.app.Application; + +import com.facebook.react.ReactApplication; +>>>>>>> theirs import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; import com.facebook.react.shell.MainReactPackage; @@ -37,8 +43,13 @@ protected List getPackages() { }; @Override +<<<<<<< ours public ReactNativeHost getReactNativeHost() { return mReactNativeHost; +======= + public boolean getUseDeveloperSupport() { + return BuildConfig.DEBUG; +>>>>>>> theirs } @Override diff --git a/CachedImageExample/android/build.gradle b/CachedImageExample/android/build.gradle index fcba4c5..eed9972 100644 --- a/CachedImageExample/android/build.gradle +++ b/CachedImageExample/android/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:1.3.1' + classpath 'com.android.tools.build:gradle:2.2.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/CachedImageExample/android/gradle/wrapper/gradle-wrapper.properties b/CachedImageExample/android/gradle/wrapper/gradle-wrapper.properties index b9fbfab..dbdc05d 100644 --- a/CachedImageExample/android/gradle/wrapper/gradle-wrapper.properties +++ b/CachedImageExample/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip diff --git a/CachedImageExample/android/keystores/BUCK b/CachedImageExample/android/keystores/BUCK index 15da20e..88e4c31 100644 --- a/CachedImageExample/android/keystores/BUCK +++ b/CachedImageExample/android/keystores/BUCK @@ -1,8 +1,8 @@ keystore( - name = 'debug', - store = 'debug.keystore', - properties = 'debug.keystore.properties', - visibility = [ - 'PUBLIC', - ], + name = "debug", + properties = "debug.keystore.properties", + store = "debug.keystore", + visibility = [ + "PUBLIC", + ], ) diff --git a/CachedImageExample/app.json b/CachedImageExample/app.json new file mode 100644 index 0000000..e0d82bf --- /dev/null +++ b/CachedImageExample/app.json @@ -0,0 +1,4 @@ +{ + "name": "CachedImageExample", + "displayName": "CachedImageExample" +} \ No newline at end of file diff --git a/CachedImageExample/ios/CachedImageExample-tvOS/Info.plist b/CachedImageExample/ios/CachedImageExample-tvOS/Info.plist new file mode 100644 index 0000000..2fb6a11 --- /dev/null +++ b/CachedImageExample/ios/CachedImageExample-tvOS/Info.plist @@ -0,0 +1,54 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + NSLocationWhenInUseUsageDescription + + NSAppTransportSecurity + + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + + + diff --git a/CachedImageExample/ios/CachedImageExample-tvOSTests/Info.plist b/CachedImageExample/ios/CachedImageExample-tvOSTests/Info.plist new file mode 100644 index 0000000..886825c --- /dev/null +++ b/CachedImageExample/ios/CachedImageExample-tvOSTests/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/CachedImageExample/ios/CachedImageExample.xcodeproj/project.pbxproj b/CachedImageExample/ios/CachedImageExample.xcodeproj/project.pbxproj index 3a98ae2..2594122 100644 --- a/CachedImageExample/ios/CachedImageExample.xcodeproj/project.pbxproj +++ b/CachedImageExample/ios/CachedImageExample.xcodeproj/project.pbxproj @@ -23,6 +23,18 @@ 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 5A301533C1D248A684417411 /* libRNFetchBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E55B5701ADA444EBBC8EA5A /* libRNFetchBlob.a */; }; + 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; + 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; + 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation-tvOS.a */; }; + 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */; }; + 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */; }; + 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */; }; + 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */; }; + 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */; }; + 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 /* CachedImageExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* CachedImageExampleTests.m */; }; 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; /* End PBXBuildFile section */ @@ -126,6 +138,20 @@ remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; remoteInfo = "RCTImage-tvOS"; }; + 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7; + remoteInfo = "CachedImageExample-tvOS"; + }; + 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; + remoteInfo = "RCTImage-tvOS"; + }; B1270D8B1DF34CB700F5EFCB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; @@ -240,6 +266,8 @@ 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = CachedImageExample/Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = CachedImageExample/main.m; sourceTree = ""; }; 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; + 2D02E47B1E0B4A5D006451C7 /* CachedImageExample-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "CachedImageExample-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2D02E4901E0B4A5D006451C7 /* CachedImageExample-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "CachedImageExample-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; 7308BE64683240A988168F6A /* RNFetchBlob.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNFetchBlob.xcodeproj; path = "../node_modules/react-native-fetch-blob/ios/RNFetchBlob.xcodeproj"; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; @@ -259,8 +287,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */, 146834051AC3E58100842450 /* libReact.a in Frameworks */, + 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */, 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, @@ -274,6 +302,28 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 2D02E4781E0B4A5D006451C7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 2D02E4C91E0B4AEC006451C7 /* libReact.a in Frameworks */, + 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation-tvOS.a in Frameworks */, + 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */, + 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */, + 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */, + 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */, + 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */, + 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2D02E48D1E0B4A5D006451C7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -446,6 +496,8 @@ children = ( 13B07F961A680F5B00A75B9A /* CachedImageExample.app */, 00E356EE1AD99517003FC87E /* CachedImageExampleTests.xctest */, + 2D02E47B1E0B4A5D006451C7 /* CachedImageExample-tvOS.app */, + 2D02E4901E0B4A5D006451C7 /* CachedImageExample-tvOSTests.xctest */, ); name = Products; sourceTree = ""; @@ -497,6 +549,42 @@ productReference = 13B07F961A680F5B00A75B9A /* CachedImageExample.app */; productType = "com.apple.product-type.application"; }; + 2D02E47A1E0B4A5D006451C7 /* CachedImageExample-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "CachedImageExample-tvOS" */; + buildPhases = ( + 2D02E4771E0B4A5D006451C7 /* Sources */, + 2D02E4781E0B4A5D006451C7 /* Frameworks */, + 2D02E4791E0B4A5D006451C7 /* Resources */, + 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "CachedImageExample-tvOS"; + productName = "CachedImageExample-tvOS"; + productReference = 2D02E47B1E0B4A5D006451C7 /* CachedImageExample-tvOS.app */; + productType = "com.apple.product-type.application"; + }; + 2D02E48F1E0B4A5D006451C7 /* CachedImageExample-tvOSTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "CachedImageExample-tvOSTests" */; + buildPhases = ( + 2D02E48C1E0B4A5D006451C7 /* Sources */, + 2D02E48D1E0B4A5D006451C7 /* Frameworks */, + 2D02E48E1E0B4A5D006451C7 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */, + ); + name = "CachedImageExample-tvOSTests"; + productName = "CachedImageExample-tvOSTests"; + productReference = 2D02E4901E0B4A5D006451C7 /* CachedImageExample-tvOSTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -510,6 +598,15 @@ CreatedOnToolsVersion = 6.2; TestTargetID = 13B07F861A680F5B00A75B9A; }; + 2D02E47A1E0B4A5D006451C7 = { + CreatedOnToolsVersion = 8.2.1; + ProvisioningStyle = Automatic; + }; + 2D02E48F1E0B4A5D006451C7 = { + CreatedOnToolsVersion = 8.2.1; + ProvisioningStyle = Automatic; + TestTargetID = 2D02E47A1E0B4A5D006451C7; + }; }; }; buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "CachedImageExample" */; @@ -577,6 +674,8 @@ targets = ( 13B07F861A680F5B00A75B9A /* CachedImageExample */, 00E356ED1AD99517003FC87E /* CachedImageExampleTests */, + 2D02E47A1E0B4A5D006451C7 /* CachedImageExample-tvOS */, + 2D02E48F1E0B4A5D006451C7 /* CachedImageExample-tvOSTests */, ); }; /* End PBXProject section */ @@ -783,6 +882,21 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 2D02E4791E0B4A5D006451C7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2D02E48E1E0B4A5D006451C7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -798,7 +912,21 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n../node_modules/react-native/packager/react-native-xcode.sh"; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; + }; + 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Bundle React Native Code And Images"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; /* End PBXShellScriptBuildPhase section */ @@ -820,6 +948,23 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 2D02E4771E0B4A5D006451C7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */, + 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2D02E48C1E0B4A5D006451C7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2DCD954D1E0B4F2C00145EB5 /* CachedImageExampleTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -828,6 +973,11 @@ target = 13B07F861A680F5B00A75B9A /* CachedImageExample */; targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; }; + 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 2D02E47A1E0B4A5D006451C7 /* CachedImageExample-tvOS */; + targetProxy = 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -860,6 +1010,10 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + OTHER_LDFLAGS = ( + "-ObjC", + "-lc++", + ); PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CachedImageExample.app/CachedImageExample"; }; @@ -879,6 +1033,10 @@ "\"$(SRCROOT)/$(TARGET_NAME)\"", ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + OTHER_LDFLAGS = ( + "-ObjC", + "-lc++", + ); PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CachedImageExample.app/CachedImageExample"; }; @@ -923,6 +1081,100 @@ }; name = Release; }; + 2D02E4971E0B4A5E006451C7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_TESTABILITY = YES; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "CachedImageExample-tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.CachedImageExample-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.2; + }; + name = Debug; + }; + 2D02E4981E0B4A5E006451C7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "CachedImageExample-tvOS/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "-ObjC", + "-lc++", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.CachedImageExample-tvOS"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.2; + }; + name = Release; + }; + 2D02E4991E0B4A5E006451C7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_TESTABILITY = YES; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "CachedImageExample-tvOSTests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.CachedImageExample-tvOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CachedImageExample-tvOS.app/CachedImageExample-tvOS"; + TVOS_DEPLOYMENT_TARGET = 10.1; + }; + name = Debug; + }; + 2D02E49A1E0B4A5E006451C7 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "CachedImageExample-tvOSTests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.CachedImageExample-tvOSTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/CachedImageExample-tvOS.app/CachedImageExample-tvOS"; + TVOS_DEPLOYMENT_TARGET = 10.1; + }; + name = Release; + }; 83CBBA201A601CBA00E9B192 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1040,6 +1292,24 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "CachedImageExample-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2D02E4971E0B4A5E006451C7 /* Debug */, + 2D02E4981E0B4A5E006451C7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "CachedImageExample-tvOSTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2D02E4991E0B4A5E006451C7 /* Debug */, + 2D02E49A1E0B4A5E006451C7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "CachedImageExample" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/CachedImageExample/ios/CachedImageExample.xcodeproj/xcshareddata/xcschemes/CachedImageExample-tvOS.xcscheme b/CachedImageExample/ios/CachedImageExample.xcodeproj/xcshareddata/xcschemes/CachedImageExample-tvOS.xcscheme new file mode 100644 index 0000000..28689bf --- /dev/null +++ b/CachedImageExample/ios/CachedImageExample.xcodeproj/xcshareddata/xcschemes/CachedImageExample-tvOS.xcscheme @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CachedImageExample/ios/CachedImageExample/Info.plist b/CachedImageExample/ios/CachedImageExample/Info.plist index ecbd496..04b2b87 100644 --- a/CachedImageExample/ios/CachedImageExample/Info.plist +++ b/CachedImageExample/ios/CachedImageExample/Info.plist @@ -4,6 +4,8 @@ CFBundleDevelopmentRegion en + CFBundleDisplayName + CachedImageExample CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier diff --git a/CachedImageExample/ios/CachedImageExampleTests/CachedImageExampleTests.m b/CachedImageExample/ios/CachedImageExampleTests/CachedImageExampleTests.m index ffbb284..9770723 100644 --- a/CachedImageExample/ios/CachedImageExampleTests/CachedImageExampleTests.m +++ b/CachedImageExample/ios/CachedImageExampleTests/CachedImageExampleTests.m @@ -37,7 +37,7 @@ - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test - (void)testRendersWelcomeScreen { - UIViewController *vc = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; + UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController]; NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; BOOL foundElement = NO; diff --git a/CachedImageExample/package.json b/CachedImageExample/package.json index d028497..0c81f97 100644 --- a/CachedImageExample/package.json +++ b/CachedImageExample/package.json @@ -8,14 +8,15 @@ "dev": "yarn && rm -rf ./node_modules/react-native-cached-image; sane 'rsync -av --include='*.js' --include='package.json' --exclude='*' ../ ./node_modules/react-native-cached-image' ../ --glob '*.js' --glob 'package.json'" }, "dependencies": { - "react": "15.4.2", - "react-native": "0.40.0", + "react": "16.0.0-alpha.12", + "react-native": "0.46.2", "react-native-cached-image": "*" }, "devDependencies": { "babel-jest": "18.0.0", "babel-preset-react-native": "1.9.1", "jest": "18.1.0", + "react-native-fetch-blob": "0.10.4", "react-test-renderer": "15.4.2", "sane": "^1.5.0" }, diff --git a/CachedImageExample/yarn.lock b/CachedImageExample/yarn.lock index cafbfcb..615ea0a 100644 --- a/CachedImageExample/yarn.lock +++ b/CachedImageExample/yarn.lock @@ -46,18 +46,32 @@ amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" -ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: +ansi-escapes@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" +ansi-escapes@^2.0.0: + version "2.0.0" + resolved "http://0.0.0.0:4873/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b" + ansi-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" +ansi-regex@^3.0.0: + version "3.0.0" + resolved "http://0.0.0.0:4873/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" +ansi-styles@^3.1.0: + version "3.1.0" + resolved "http://0.0.0.0:4873/ansi-styles/-/ansi-styles-3.1.0.tgz#09c202d5c917ec23188caa5c9cb9179cd9547750" + dependencies: + color-convert "^1.0.0" + ansi@^0.3.0, ansi@~0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" @@ -126,13 +140,7 @@ array-reduce@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1, array-uniq@^1.0.2: +array-uniq@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -168,12 +176,18 @@ async@^1.4.0, async@^1.4.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.0.1, async@^2.1.4: +async@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4" dependencies: lodash "^4.14.0" +async@^2.4.0: + version "2.5.0" + resolved "http://0.0.0.0:4873/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" + dependencies: + lodash "^4.14.0" + async@~0.2.6: version "0.2.10" resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" @@ -198,7 +212,15 @@ babel-code-frame@^6.16.0: esutils "^2.0.2" js-tokens "^2.0.0" -babel-core@^6.0.0, babel-core@^6.18.0, babel-core@^6.18.2, babel-core@^6.7.2: +babel-code-frame@^6.22.0: + version "6.22.0" + resolved "http://0.0.0.0:4873/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + +babel-core@^6.0.0, babel-core@^6.18.0, babel-core@^6.7.2: version "6.18.2" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.18.2.tgz#d8bb14dd6986fa4f3566a26ceda3964fa0e04e5b" dependencies: @@ -222,7 +244,31 @@ babel-core@^6.0.0, babel-core@^6.18.0, babel-core@^6.18.2, babel-core@^6.7.2: slash "^1.0.0" source-map "^0.5.0" -babel-generator@^6.18.0, babel-generator@^6.19.0: +babel-core@^6.24.1: + version "6.25.0" + resolved "http://0.0.0.0:4873/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" + dependencies: + babel-code-frame "^6.22.0" + babel-generator "^6.25.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.25.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" + convert-source-map "^1.1.0" + debug "^2.1.1" + json5 "^0.5.0" + lodash "^4.2.0" + minimatch "^3.0.2" + path-is-absolute "^1.0.0" + private "^0.1.6" + slash "^1.0.0" + source-map "^0.5.0" + +babel-generator@^6.18.0: version "6.19.0" resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.19.0.tgz#9b2f244204777a3d6810ec127c673c87b349fac5" dependencies: @@ -234,6 +280,19 @@ babel-generator@^6.18.0, babel-generator@^6.19.0: lodash "^4.2.0" source-map "^0.5.0" +babel-generator@^6.24.1, babel-generator@^6.25.0: + version "6.25.0" + resolved "http://0.0.0.0:4873/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.25.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.2.0" + source-map "^0.5.0" + trim-right "^1.0.1" + babel-helper-builder-react-jsx@^6.8.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.18.0.tgz#ab02f19a2eb7ace936dd87fa55896d02be59bf71" @@ -271,6 +330,16 @@ babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0: babel-traverse "^6.18.0" babel-types "^6.18.0" +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "http://0.0.0.0:4873/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + 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.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz#a5b19695fd3f9cdfc328398b47dafcd7094f9f24" @@ -278,6 +347,13 @@ babel-helper-get-function-arity@^6.18.0: babel-runtime "^6.0.0" babel-types "^6.18.0" +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "http://0.0.0.0:4873/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + babel-helper-hoist-variables@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz#a835b5ab8b46d6de9babefae4d98ea41e866b82a" @@ -300,6 +376,16 @@ babel-helper-regex@^6.8.0: babel-types "^6.18.0" lodash "^4.2.0" +babel-helper-remap-async-to-generator@^6.16.0: + version "6.24.1" + resolved "http://0.0.0.0:4873/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + dependencies: + 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-replace-supers@^6.18.0, babel-helper-replace-supers@^6.8.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz#28ec69877be4144dbd64f4cc3a337e89f29a924e" @@ -318,6 +404,13 @@ babel-helpers@^6.16.0: babel-runtime "^6.0.0" babel-template "^6.16.0" +babel-helpers@^6.24.1: + version "6.24.1" + resolved "http://0.0.0.0:4873/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-jest@18.0.0, babel-jest@^18.0.0: version "18.0.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-18.0.0.tgz#17ebba8cb3285c906d859e8707e4e79795fb65e3" @@ -326,6 +419,12 @@ babel-jest@18.0.0, babel-jest@^18.0.0: babel-plugin-istanbul "^3.0.0" babel-preset-jest "^18.0.0" +babel-messages@^6.23.0: + version "6.23.0" + resolved "http://0.0.0.0:4873/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + babel-messages@^6.8.0: version "6.8.0" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" @@ -363,7 +462,7 @@ babel-plugin-react-transform@2.0.2: dependencies: lodash "^4.6.1" -babel-plugin-syntax-async-functions@^6.5.0: +babel-plugin-syntax-async-functions@^6.5.0, babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" @@ -383,11 +482,23 @@ babel-plugin-syntax-object-rest-spread@^6.5.0, babel-plugin-syntax-object-rest-s 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.13.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.20.0, babel-plugin-syntax-trailing-function-commas@^6.8.0: + version "6.22.0" + resolved "http://0.0.0.0:4873/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + +babel-plugin-syntax-trailing-function-commas@^6.5.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.13.0.tgz#2b84b7d53dd744f94ff1fad7669406274b23f541" -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-async-to-generator@6.16.0: + version "6.16.0" + resolved "http://0.0.0.0:4873/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999" + dependencies: + babel-helper-remap-async-to-generator "^6.16.0" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.0.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: version "6.19.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.19.0.tgz#1274b349abaadc835164e2004f4a2444a2788d5f" dependencies: @@ -540,7 +651,14 @@ babel-plugin-transform-es3-property-literals@^6.5.0, babel-plugin-transform-es3- dependencies: babel-runtime "^6.0.0" -babel-plugin-transform-flow-strip-types@^6.18.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.21.0, babel-plugin-transform-flow-strip-types@^6.8.0: + version "6.22.0" + resolved "http://0.0.0.0:4873/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" + dependencies: + babel-plugin-syntax-flow "^6.18.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-flow-strip-types@^6.5.0, babel-plugin-transform-flow-strip-types@^6.7.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.18.0.tgz#4d3e642158661e9b40db457c004a30817fa32592" dependencies: @@ -553,7 +671,14 @@ babel-plugin-transform-object-assign@^6.5.0: dependencies: babel-runtime "^6.0.0" -babel-plugin-transform-object-rest-spread@^6.19.0, 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.20.2, babel-plugin-transform-object-rest-spread@^6.8.0: + version "6.23.0" + resolved "http://0.0.0.0:4873/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz#875d6bc9be761c58a2ae3feee5dc4895d8c7f921" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-object-rest-spread@^6.5.0, babel-plugin-transform-object-rest-spread@^6.6.5: version "6.19.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.19.0.tgz#f6ac428ee3cb4c6aa00943ed1422ce813603b34c" dependencies: @@ -596,13 +721,13 @@ babel-plugin-transform-strict-mode@^6.18.0: babel-runtime "^6.0.0" babel-types "^6.18.0" -babel-polyfill@^6.16.0: - version "6.16.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.16.0.tgz#2d45021df87e26a374b6d4d1a9c65964d17f2422" +babel-polyfill@^6.20.0: + version "6.23.0" + resolved "http://0.0.0.0:4873/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" dependencies: - babel-runtime "^6.9.1" + babel-runtime "^6.22.0" core-js "^2.4.0" - regenerator-runtime "^0.9.5" + regenerator-runtime "^0.10.0" babel-preset-es2015-node@^6.1.1: version "6.1.1" @@ -647,9 +772,9 @@ babel-preset-fbjs@^1.0.0: babel-plugin-transform-object-rest-spread "^6.6.5" object-assign "^4.0.1" -babel-preset-fbjs@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-2.1.0.tgz#1a8d4cacbac7c5a9194ce3b8475ffab33ed524fb" +babel-preset-fbjs@^2.1.0, babel-preset-fbjs@^2.1.2: + version "2.1.4" + resolved "http://0.0.0.0:4873/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" @@ -686,7 +811,7 @@ babel-preset-jest@^18.0.0: dependencies: babel-plugin-jest-hoist "^18.0.0" -babel-preset-react-native@1.9.1, babel-preset-react-native@^1.9.0: +babel-preset-react-native@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-1.9.1.tgz#ec8e378274410d78f550fa9f8edd70353f3bb2fe" dependencies: @@ -720,6 +845,40 @@ babel-preset-react-native@1.9.1, babel-preset-react-native@^1.9.0: babel-plugin-transform-regenerator "^6.5.0" react-transform-hmr "^1.0.4" +babel-preset-react-native@^1.9.1, babel-preset-react-native@^1.9.2: + version "1.9.2" + resolved "http://0.0.0.0:4873/babel-preset-react-native/-/babel-preset-react-native-1.9.2.tgz#b22addd2e355ff3b39671b79be807e52dfa145f2" + 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.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68" @@ -732,13 +891,32 @@ babel-register@^6.18.0: mkdirp "^0.5.1" source-map-support "^0.4.2" -babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.9.0, babel-runtime@^6.9.1: +babel-register@^6.24.1: + version "6.24.1" + resolved "http://0.0.0.0:4873/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" + dependencies: + babel-core "^6.24.1" + babel-runtime "^6.22.0" + core-js "^2.4.0" + home-or-tmp "^2.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + source-map-support "^0.4.2" + +babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.9.0, babel-runtime@^6.9.1: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.18.0.tgz#0f4177ffd98492ef13b9f823e9994a02584c9078" dependencies: core-js "^2.4.0" regenerator-runtime "^0.9.5" +babel-runtime@^6.22.0, babel-runtime@^6.23.0: + version "6.23.0" + resolved "http://0.0.0.0:4873/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.8.0: version "6.16.0" resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" @@ -749,7 +927,17 @@ babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-te babylon "^6.11.0" lodash "^4.2.0" -babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-traverse@^6.19.0: +babel-template@^6.24.1, babel-template@^6.25.0: + version "6.25.0" + resolved "http://0.0.0.0:4873/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" + lodash "^4.2.0" + +babel-traverse@^6.16.0, babel-traverse@^6.18.0: version "6.19.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.19.0.tgz#68363fb821e26247d52a519a84b2ceab8df4f55a" dependencies: @@ -763,6 +951,20 @@ babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-traverse@^6.19.0: invariant "^2.2.0" lodash "^4.2.0" +babel-traverse@^6.24.1, babel-traverse@^6.25.0: + version "6.25.0" + resolved "http://0.0.0.0:4873/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1" + dependencies: + babel-code-frame "^6.22.0" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.25.0" + babylon "^6.17.2" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.8.0, babel-types@^6.9.0: version "6.19.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.19.0.tgz#8db2972dbed01f1192a8b602ba1e1e4c516240b9" @@ -772,10 +974,23 @@ babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.8. lodash "^4.2.0" to-fast-properties "^1.0.1" -babylon@^6.11.0, babylon@^6.13.0, babylon@^6.14.1: +babel-types@^6.24.1, babel-types@^6.25.0: + version "6.25.0" + resolved "http://0.0.0.0:4873/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e" + dependencies: + babel-runtime "^6.22.0" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + +babylon@^6.11.0, babylon@^6.13.0: version "6.14.1" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815" +babylon@^6.17.0, babylon@^6.17.2: + version "6.17.4" + resolved "http://0.0.0.0:4873/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" + balanced-match@^0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" @@ -788,6 +1003,10 @@ 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 "http://0.0.0.0:4873/base64-js/-/base64-js-1.1.2.tgz#d6400cac1c4c660976d90d07a04351d89395f5e8" + base64-js@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" @@ -822,6 +1041,10 @@ 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.23" + resolved "http://0.0.0.0:4873/big-integer/-/big-integer-1.6.23.tgz#e85d508220c74e3f43a4ce72eed51f3da4db94d1" + body-parser@~1.13.3: version "1.13.3" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.13.3.tgz#c08cf330c3358e151016a05746f13f029c97fa97" @@ -843,15 +1066,17 @@ boom@2.x.x: dependencies: hoek "2.x.x" -bplist-creator@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.4.tgz#4ac0496782e127a85c1d2026a4f5eb22a7aff991" +bplist-creator@0.0.7: + version "0.0.7" + resolved "http://0.0.0.0:4873/bplist-creator/-/bplist-creator-0.0.7.tgz#37df1536092824b87c42f957b01344117372ae45" dependencies: - stream-buffers "~0.2.3" + stream-buffers "~2.2.0" -bplist-parser@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.0.6.tgz#38da3471817df9d44ab3892e27707bbbd75a11b9" +bplist-parser@0.1.1: + version "0.1.1" + resolved "http://0.0.0.0:4873/bplist-parser/-/bplist-parser-0.1.1.tgz#d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6" + dependencies: + big-integer "^1.6.7" brace-expansion@^1.0.0: version "1.1.6" @@ -880,6 +1105,12 @@ bser@^1.0.2: dependencies: node-int64 "^0.4.0" +bser@^2.0.0: + version "2.0.0" + resolved "http://0.0.0.0:4873/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" + dependencies: + node-int64 "^0.4.0" + buffer-shims@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" @@ -947,15 +1178,23 @@ chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +chalk@^2.0.0: + version "2.0.1" + resolved "http://0.0.0.0:4873/chalk/-/chalk-2.0.1.tgz#dbec49436d2ae15f536114e76d14656cdbc0f44d" + dependencies: + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" + ci-info@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" -cli-cursor@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" +cli-cursor@^2.1.0: + version "2.1.0" + resolved "http://0.0.0.0:4873/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" dependencies: - restore-cursor "^1.0.1" + restore-cursor "^2.0.0" cli-table@^0.3.1: version "0.3.1" @@ -1002,6 +1241,16 @@ 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" +color-convert@^1.0.0: + version "1.9.0" + resolved "http://0.0.0.0:4873/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" + dependencies: + color-name "^1.1.1" + +color-name@^1.1.1: + version "1.1.2" + resolved "http://0.0.0.0:4873/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" + colors@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" @@ -1039,6 +1288,14 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" +concat-stream@^1.6.0: + version "1.6.0" + resolved "http://0.0.0.0:4873/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + dependencies: + inherits "^2.0.3" + 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" @@ -1127,6 +1384,14 @@ crc@3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/crc/-/crc-3.3.0.tgz#fa622e1bc388bf257309082d6b65200ce67090ba" +create-react-class@^15.5.2: + version "15.6.0" + resolved "http://0.0.0.0:4873/create-react-class/-/create-react-class-15.6.0.tgz#ab448497c26566e1e29413e883207d57cfe7bed4" + 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" @@ -1349,10 +1614,6 @@ exec-sh@^0.2.0: dependencies: merge "^1.1.3" -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -1383,6 +1644,14 @@ extend@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" +external-editor@^2.0.4: + version "2.0.4" + resolved "http://0.0.0.0:4873/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" + dependencies: + iconv-lite "^0.4.17" + jschardet "^1.4.2" + tmp "^0.0.31" + extglob@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" @@ -1410,6 +1679,12 @@ fb-watchman@^1.8.0, fb-watchman@^1.9.0: dependencies: bser "^1.0.2" +fb-watchman@^2.0.0: + version "2.0.0" + resolved "http://0.0.0.0:4873/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" @@ -1423,7 +1698,19 @@ fbjs-scripts@^0.7.0: semver "^5.1.0" through2 "^2.0.0" -fbjs@^0.8.4, fbjs@^0.8.5: +fbjs@0.8.12, fbjs@^0.8.9: + version "0.8.12" + resolved "http://0.0.0.0:4873/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.9" + +fbjs@^0.8.4: version "0.8.6" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.6.tgz#7eb67d6986b2d5007a9b6e92e0e7cb6f75cad290" dependencies: @@ -1434,12 +1721,11 @@ fbjs@^0.8.4, fbjs@^0.8.5: promise "^7.1.1" ua-parser-js "^0.7.9" -figures@^1.3.5: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" +figures@^2.0.0: + version "2.0.0" + resolved "http://0.0.0.0:4873/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" dependencies: escape-string-regexp "^1.0.5" - object-assign "^4.1.0" filename-regex@^2.0.0: version "2.0.0" @@ -1492,7 +1778,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.2" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" dependencies: @@ -1504,15 +1790,13 @@ fresh@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" -fs-extra@^0.26.2: - version "0.26.7" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9" +fs-extra@^1.0.0: + version "1.0.0" + resolved "http://0.0.0.0:4873/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" dependencies: graceful-fs "^4.1.2" jsonfile "^2.1.0" klaw "^1.0.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" fs.realpath@^1.0.0: version "1.0.0" @@ -1565,17 +1849,7 @@ 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" - 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.0.6: +glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: @@ -1673,6 +1947,10 @@ has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" +has-flag@^2.0.0: + version "2.0.0" + resolved "http://0.0.0.0:4873/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" @@ -1740,14 +2018,14 @@ iconv-lite@^0.4.13, iconv-lite@~0.4.13: version "0.4.15" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" +iconv-lite@^0.4.17: + version "0.4.18" + resolved "http://0.0.0.0:4873/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2" + image-size@^0.3.5: version "0.3.5" resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.3.5.tgz#83240eab2fb5b00b04aab8c74b0471e9cba7ad8c" -immutable@~3.7.6: - version "3.7.6" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b" - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -1765,26 +2043,27 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@~2.0.1: +inherits@2, inherits@^2.0.3, inherits@~2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" -inquirer@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" +inquirer@^3.0.6: + version "3.2.0" + resolved "http://0.0.0.0:4873/inquirer/-/inquirer-3.2.0.tgz#45b44c2160c729d7578c54060b3eed94487bb42b" dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" + ansi-escapes "^2.0.0" + chalk "^2.0.0" + cli-cursor "^2.1.0" cli-width "^2.0.0" - figures "^1.3.5" + external-editor "^2.0.4" + figures "^2.0.0" lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.0.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx-lite "^4.0.8" + rx-lite-aggregates "^4.0.8" + string-width "^2.1.0" + strip-ansi "^4.0.0" through "^2.3.6" invariant@^2.2.0: @@ -1847,6 +2126,10 @@ is-fullwidth-code-point@^1.0.0: dependencies: number-is-nan "^1.0.0" +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "http://0.0.0.0:4873/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -1876,6 +2159,10 @@ is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" +is-promise@^2.1.0: + version "2.1.0" + resolved "http://0.0.0.0:4873/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + is-property@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" @@ -1900,10 +2187,6 @@ isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" -isemail@1.x.x: - version "1.2.0" - resolved "https://registry.yarnpkg.com/isemail/-/isemail-1.2.0.tgz#be03df8cc3e29de4d2c5df6501263f1fa4595e9a" - isexe@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" @@ -2048,6 +2331,10 @@ jest-diff@^18.1.0: jest-matcher-utils "^18.1.0" pretty-format "^18.1.0" +jest-docblock@^20.0.3: + version "20.0.3" + resolved "http://0.0.0.0:4873/jest-docblock/-/jest-docblock-20.0.3.tgz#17bea984342cc33d83c50fbe1545ea0efaa44712" + jest-environment-jsdom@^18.1.0: version "18.1.0" resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-18.1.0.tgz#18b42f0c4ea2bae9f36cab3639b1e8f8c384e24e" @@ -2067,16 +2354,6 @@ jest-file-exists@^17.0.0: version "17.0.0" resolved "https://registry.yarnpkg.com/jest-file-exists/-/jest-file-exists-17.0.0.tgz#7f63eb73a1c43a13f461be261768b45af2cdd169" -jest-haste-map@17.0.3: - version "17.0.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-17.0.3.tgz#5232783e70577217b6b17d2a1c1766637a1d2fbd" - dependencies: - fb-watchman "^1.9.0" - graceful-fs "^4.1.6" - multimatch "^2.1.0" - sane "~1.4.1" - worker-farm "^1.3.1" - jest-haste-map@^18.1.0: version "18.1.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-18.1.0.tgz#06839c74b770a40c1a106968851df8d281c08375" @@ -2087,6 +2364,17 @@ jest-haste-map@^18.1.0: sane "~1.4.1" worker-farm "^1.3.1" +jest-haste-map@^20.0.4: + version "20.0.4" + resolved "http://0.0.0.0:4873/jest-haste-map/-/jest-haste-map-20.0.4.tgz#653eb55c889ce3c021f7b94693f20a4159badf03" + dependencies: + fb-watchman "^2.0.0" + graceful-fs "^4.1.11" + jest-docblock "^20.0.3" + micromatch "^2.3.11" + sane "~1.6.0" + worker-farm "^1.3.1" + jest-jasmine2@^18.1.0: version "18.1.0" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-18.1.0.tgz#094e104c2c189708766c77263bb2aecb5860a80b" @@ -2187,19 +2475,14 @@ jodid25519@^1.0.0: dependencies: jsbn "~0.1.0" -joi@^6.6.1: - version "6.10.1" - resolved "https://registry.yarnpkg.com/joi/-/joi-6.10.1.tgz#4d50c318079122000fe5f16af1ff8e1917b77e06" - dependencies: - hoek "2.x.x" - isemail "1.x.x" - moment "2.x.x" - topo "1.x.x" - js-tokens@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" +js-tokens@^3.0.0: + version "3.0.2" + resolved "http://0.0.0.0:4873/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + js-yaml@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" @@ -2211,6 +2494,10 @@ jsbn@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" +jschardet@^1.4.2: + version "1.4.2" + resolved "http://0.0.0.0:4873/jschardet/-/jschardet-1.4.2.tgz#2aa107f142af4121d145659d44f50830961e699a" + jsdom@^9.9.1: version "9.9.1" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.9.1.tgz#84f3972ad394ab963233af8725211bce4d01bfd5" @@ -2471,7 +2758,7 @@ lodash.templatesettings@^3.0.0: lodash._reinterpolate "^3.0.0" lodash.escape "^3.0.0" -lodash@4.17.4: +lodash@4.17.4, lodash@^4.14.0, lodash@^4.16.6, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.6.1: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -2479,10 +2766,6 @@ lodash@^3.5.0: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" -lodash@^4.14.0, lodash@^4.16.6, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.6.1: - version "4.17.2" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.2.tgz#34a3055babe04ce42467b607d700072c7ff6bf42" - longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" @@ -2493,6 +2776,12 @@ loose-envify@^1.0.0, loose-envify@^1.1.0: dependencies: js-tokens "^2.0.0" +loose-envify@^1.3.1: + version "1.3.1" + resolved "http://0.0.0.0:4873/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -2550,6 +2839,12 @@ meow@^3.3.0: redent "^1.0.0" trim-newlines "^1.0.0" +merge-stream@^1.0.1: + version "1.0.1" + resolved "http://0.0.0.0:4873/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + dependencies: + readable-stream "^2.0.1" + merge@^1.1.3: version "1.2.0" resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" @@ -2567,6 +2862,45 @@ methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" +metro-bundler@^0.7.4: + version "0.7.8" + resolved "http://0.0.0.0:4873/metro-bundler/-/metro-bundler-0.7.8.tgz#5845cf49f877ea0f7694e9177e19e5f447ca3d86" + dependencies: + 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.0" + babel-preset-react-native "^1.9.1" + 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" + fbjs "0.8.12" + graceful-fs "^4.1.3" + image-size "^0.3.5" + jest-haste-map "^20.0.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" + mime-types "2.1.11" + mkdirp "^0.5.1" + request "^2.79.0" + rimraf "^2.5.4" + source-map "^0.5.6" + temp "0.8.3" + throat "^3.0.0" + uglify-js "2.7.5" + write-file-atomic "^1.2.0" + xpipe "^1.0.5" + micromatch@^2.1.5, micromatch@^2.3.11: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" @@ -2593,13 +2927,13 @@ mime-db@~1.23.0: version "1.23.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.23.0.tgz#a31b4070adaea27d732ea333740a64d0ec9a6659" -mime-types@2.1.11, mime-types@~2.1.7, mime-types@~2.1.9: +mime-types@2.1.11, mime-types@~2.1.7: 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.11, mime-types@~2.1.13, mime-types@~2.1.6: +mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.6, mime-types@~2.1.9: version "2.1.13" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88" dependencies: @@ -2609,13 +2943,17 @@ mime@1.3.4, mime@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" +mimic-fn@^1.0.0: + version "1.1.0" + resolved "http://0.0.0.0:4873/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + min-document@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" dependencies: dom-walk "^0.1.0" -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3: +minimatch@^3.0.2, minimatch@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" dependencies: @@ -2635,10 +2973,6 @@ mkdirp@^0.5.1: dependencies: minimist "0.0.8" -moment@2.x.x: - version "2.17.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.17.1.tgz#fed9506063f36b10f066c8b59a144d7faebe1d82" - morgan@~1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.6.1.tgz#5fd818398c6819cba28a7cd6664f292fe1c0bbf2" @@ -2657,15 +2991,6 @@ ms@0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" -multimatch@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" - dependencies: - array-differ "^1.0.0" - array-union "^1.0.1" - arrify "^1.0.0" - minimatch "^3.0.0" - multiparty@3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/multiparty/-/multiparty-3.3.2.tgz#35de6804dc19643e5249f3d3e3bdc6c8ce301d3f" @@ -2679,9 +3004,9 @@ multipipe@^0.1.2: dependencies: duplexer2 "0.0.2" -mute-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" +mute-stream@0.0.7: + version "0.0.7" + resolved "http://0.0.0.0:4873/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" natural-compare@^1.4.0: version "1.4.0" @@ -2724,10 +3049,6 @@ node-notifier@^4.6.1: shellwords "^0.1.0" which "^1.0.5" -node-uuid@1.4.7: - version "1.4.7" - resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" - normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.3.5" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" @@ -2769,6 +3090,10 @@ object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" +object-assign@^4.1.1: + version "4.1.1" + resolved "http://0.0.0.0:4873/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -2792,9 +3117,11 @@ once@^1.3.0, once@^1.4.0: dependencies: wrappy "1" -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" +onetime@^2.0.0: + version "2.0.1" + resolved "http://0.0.0.0:4873/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + dependencies: + mimic-fn "^1.0.0" opn@^3.0.2: version "3.0.3" @@ -2834,7 +3161,7 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: +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" @@ -2887,9 +3214,9 @@ pause@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/pause/-/pause-0.1.0.tgz#ebc8a4a8619ff0b8a81ac1513c3434ff469fdb74" -pegjs@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/pegjs/-/pegjs-0.9.0.tgz#f6aefa2e3ce56169208e52179dfe41f89141a369" +pegjs@^0.10.0: + version "0.10.0" + resolved "http://0.0.0.0:4873/pegjs/-/pegjs-0.10.0.tgz#cf8bafae6eddff4b5a7efb185269eaaf4610ddbd" pify@^2.0.0: version "2.3.0" @@ -2905,7 +3232,15 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" -plist@1.2.0, plist@^1.2.0: +plist@2.0.1: + version "2.0.1" + resolved "http://0.0.0.0:4873/plist/-/plist-2.0.1.tgz#0a32ca9481b1c364e92e18dc55c876de9d01da8b" + dependencies: + base64-js "1.1.2" + 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" dependencies: @@ -2928,6 +3263,10 @@ pretty-format@^18.1.0: dependencies: ansi-styles "^2.2.1" +pretty-format@^4.2.1: + version "4.3.1" + resolved "http://0.0.0.0:4873/pretty-format/-/pretty-format-4.3.1.tgz#530be5c42b3c05b36414a7a2a4337aa80acd0e8d" + private@^0.1.6, private@~0.1.5: version "0.1.6" resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" @@ -2940,16 +3279,19 @@ process@~0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" -progress@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" - promise@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" dependencies: asap "~2.0.3" +prop-types@^15.5.6, prop-types@^15.5.8: + version "15.5.10" + resolved "http://0.0.0.0:4873/prop-types/-/prop-types-15.5.10.tgz#2797dfc3126182e3a95e3dfbb2e893ddd7456154" + dependencies: + fbjs "^0.8.9" + loose-envify "^1.3.1" + prr@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" @@ -3005,6 +3347,13 @@ react-deep-force-update@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.0.1.tgz#f911b5be1d2a6fe387507dd6e9a767aa2924b4c7" +react-devtools-core@2.3.1: + version "2.3.1" + resolved "http://0.0.0.0:4873/react-devtools-core/-/react-devtools-core-2.3.1.tgz#dc83aba85735effe5e1dc386a1614cb5e8d0047d" + dependencies: + shell-quote "^1.6.1" + ws "^2.0.3" + react-native-cached-image@*: version "1.3.1" resolved "https://registry.yarnpkg.com/react-native-cached-image/-/react-native-cached-image-1.3.1.tgz#853ea85d1b3102198e4f7ba0044e5cf8c16b1378" @@ -3021,52 +3370,57 @@ react-native-fetch-blob@0.10.4: base-64 "0.1.0" glob "^7.0.6" -react-native@0.40.0: - version "0.40.0" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.40.0.tgz#ca7b86a8e8fbc7653634ad47ca2ffd69fdf18ad5" +react-native@0.46.2: + version "0.46.2" + resolved "http://0.0.0.0:4873/react-native/-/react-native-0.46.2.tgz#e87a80fa8bb949cbd0562fa11399293852a447aa" dependencies: absolute-path "^0.0.0" art "^0.10.0" - async "^2.0.1" - babel-core "^6.18.2" - babel-generator "^6.19.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.13.0" - babel-plugin-transform-flow-strip-types "^6.18.0" - babel-plugin-transform-object-rest-spread "^6.19.0" - babel-polyfill "^6.16.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.0" - babel-preset-react-native "^1.9.0" - babel-register "^6.18.0" - babel-runtime "^6.18.0" - babel-traverse "^6.19.0" - babel-types "^6.19.0" - babylon "^6.14.1" + babel-preset-fbjs "^2.1.2" + babel-preset-react-native "^1.9.2" + 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" + errno ">=0.1.1 <0.2.0-0" event-target-shim "^1.0.5" - fbjs "^0.8.5" + fbjs "0.8.12" fbjs-scripts "^0.7.0" - fs-extra "^0.26.2" - glob "^5.0.15" + form-data "^2.1.1" + fs-extra "^1.0.0" + glob "^7.1.1" graceful-fs "^4.1.3" image-size "^0.3.5" - immutable "~3.7.6" - imurmurhash "^0.1.4" - inquirer "^0.12.0" - jest-haste-map "17.0.3" - joi "^6.6.1" + inquirer "^3.0.6" + jest-haste-map "^20.0.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.7.4" mime "^1.3.4" mime-types "2.1.11" minimist "^1.2.0" @@ -3076,9 +3430,11 @@ react-native@0.40.0: opn "^3.0.2" optimist "^0.6.1" plist "^1.2.0" - progress "^1.1.8" + 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.3.1" react-timer-mixin "^0.13.2" react-transform-hmr "^1.0.4" rebound "^0.0.13" @@ -3092,14 +3448,15 @@ react-native@0.40.0: stacktrace-parser "^0.1.3" temp "0.8.3" throat "^3.0.0" - uglify-js "^2.6.2" + uglify-js "2.7.5" whatwg-fetch "^1.0.0" wordwrap "^1.0.0" - worker-farm "^1.3.1" write-file-atomic "^1.2.0" ws "^1.1.0" - xcode "^0.8.9" + xcode "^0.9.1" xmldoc "^0.4.0" + xpipe "^1.0.5" + xtend ">=4.0.0 <4.1.0-0" yargs "^6.4.0" react-proxy@^1.1.7: @@ -3127,13 +3484,15 @@ react-transform-hmr@^1.0.4: global "^4.3.0" react-proxy "^1.1.7" -react@15.4.2: - version "15.4.2" - resolved "https://registry.yarnpkg.com/react/-/react-15.4.2.tgz#41f7991b26185392ba9bae96c8889e7e018397ef" +react@16.0.0-alpha.12: + version "16.0.0-alpha.12" + resolved "http://0.0.0.0:4873/react/-/react-16.0.0-alpha.12.tgz#8c59485281485df319b6f77682d8dd0621c08194" dependencies: - fbjs "^0.8.4" + 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" read-pkg-up@^1.0.1: version "1.0.1" @@ -3150,7 +3509,7 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.1.5: +"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.1.5, readable-stream@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" dependencies: @@ -3171,14 +3530,6 @@ readable-stream@~1.1.8, readable-stream@~1.1.9: isarray "0.0.1" string_decoder "~0.10.x" -readline2@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" - rebound@^0.0.13: version "0.0.13" resolved "https://registry.yarnpkg.com/rebound/-/rebound-0.0.13.tgz#4a225254caf7da756797b19c5817bf7a7941fac1" @@ -3200,6 +3551,10 @@ regenerate@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" +regenerator-runtime@^0.10.0: + version "0.10.5" + resolved "http://0.0.0.0:4873/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + regenerator-runtime@^0.9.5: version "0.9.6" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" @@ -3299,12 +3654,12 @@ response-time@~2.3.1: depd "~1.1.0" on-headers "~1.0.1" -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" +restore-cursor@^2.0.0: + version "2.0.0" + resolved "http://0.0.0.0:4873/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" + onetime "^2.0.0" + signal-exit "^3.0.2" right-align@^0.1.1: version "0.1.3" @@ -3312,7 +3667,7 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@^2.2.8, rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.5.4: +rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.5.4: version "2.5.4" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" dependencies: @@ -3326,15 +3681,25 @@ rndm@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/rndm/-/rndm-1.2.0.tgz#f33fe9cfb52bbfd520aa18323bc65db110a1b76c" -run-async@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" +run-async@^2.2.0: + version "2.3.0" + resolved "http://0.0.0.0:4873/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" dependencies: - once "^1.3.0" + is-promise "^2.1.0" -rx-lite@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" +rx-lite-aggregates@^4.0.8: + version "4.0.8" + resolved "http://0.0.0.0:4873/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" + dependencies: + rx-lite "*" + +rx-lite@*, rx-lite@^4.0.8: + version "4.0.8" + resolved "http://0.0.0.0:4873/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" + +safe-buffer@~5.0.1: + version "5.0.1" + resolved "http://0.0.0.0:4873/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" sane@^1.5.0: version "1.5.0" @@ -3359,6 +3724,18 @@ sane@~1.4.1: walker "~1.0.5" watch "~0.10.0" +sane@~1.6.0: + version "1.6.0" + resolved "http://0.0.0.0:4873/sane/-/sane-1.6.0.tgz#9610c452307a135d29c1fdfe2547034180c46775" + dependencies: + anymatch "^1.3.0" + 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.1.4, sax@~1.1.1: version "1.1.6" resolved "https://registry.yarnpkg.com/sax/-/sax-1.1.6.tgz#5d616be8a5e607d54e114afae55b7eaf2fcc3240" @@ -3417,7 +3794,11 @@ set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" -shell-quote@1.6.1: +setimmediate@^1.0.5: + version "1.0.5" + resolved "http://0.0.0.0:4873/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + +shell-quote@1.6.1, shell-quote@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" dependencies: @@ -3430,17 +3811,17 @@ shellwords@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.0.tgz#66afd47b6a12932d9071cbfd98a52e785cd0ba14" -signal-exit@^3.0.0: +signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" -simple-plist@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-0.1.4.tgz#10eb51b47e33c556eb8ec46d5ee64d64e717db5d" +simple-plist@^0.2.1: + version "0.2.1" + resolved "http://0.0.0.0:4873/simple-plist/-/simple-plist-0.2.1.tgz#71766db352326928cf3a807242ba762322636723" dependencies: - bplist-creator "0.0.4" - bplist-parser "0.0.6" - plist "1.2.0" + bplist-creator "0.0.7" + bplist-parser "0.1.1" + plist "2.0.1" slash@^1.0.0: version "1.0.0" @@ -3527,9 +3908,9 @@ statuses@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.2.1.tgz#dded45cc18256d51ed40aec142489d5c61026d28" -stream-buffers@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-0.2.6.tgz#181c08d5bb3690045f69401b9ae6a7a0cf3313fc" +stream-buffers@~2.2.0: + version "2.2.0" + resolved "http://0.0.0.0:4873/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" stream-counter@~0.2.0: version "0.2.0" @@ -3545,6 +3926,13 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" +string-width@^2.1.0: + version "2.1.0" + resolved "http://0.0.0.0:4873/string-width/-/string-width-2.1.0.tgz#030664561fc146c9423ec7d978fe2457437fe6d0" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + string.prototype.codepointat@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.0.tgz#6b26e9bd3afcaa7be3b4269b526de1b82000ac78" @@ -3563,6 +3951,12 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" +strip-ansi@^4.0.0: + version "4.0.0" + resolved "http://0.0.0.0:4873/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -3585,6 +3979,12 @@ supports-color@^3.1.2: dependencies: has-flag "^1.0.0" +supports-color@^4.0.0: + version "4.2.0" + resolved "http://0.0.0.0:4873/supports-color/-/supports-color-4.2.0.tgz#ad986dc7eb2315d009b4d77c8169c2231a684037" + dependencies: + has-flag "^2.0.0" + "symbol-tree@>= 3.1.0 < 4.0.0": version "3.1.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.1.4.tgz#02b279348d337debc39694c5c95f882d448a312a" @@ -3625,6 +4025,12 @@ time-stamp@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" +tmp@^0.0.31: + version "0.0.31" + resolved "http://0.0.0.0:4873/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" + dependencies: + os-tmpdir "~1.0.1" + tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" @@ -3633,12 +4039,6 @@ to-fast-properties@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" -topo@1.x.x: - version "1.1.0" - resolved "https://registry.yarnpkg.com/topo/-/topo-1.1.0.tgz#e9d751615d1bb87dc865db182fa1ca0a5ef536d5" - dependencies: - hoek "2.x.x" - tough-cookie@^2.3.1, tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" @@ -3653,6 +4053,10 @@ trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" +trim-right@^1.0.1: + version "1.0.1" + resolved "http://0.0.0.0:4873/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" @@ -3678,11 +4082,15 @@ type-is@~1.6.6: media-typer "0.3.0" mime-types "~2.1.13" +typedarray@^0.0.6: + version "0.0.6" + resolved "http://0.0.0.0:4873/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + ua-parser-js@^0.7.9: version "0.7.12" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" -uglify-js@^2.6, uglify-js@^2.6.2: +uglify-js@2.7.5, uglify-js@^2.6: version "2.7.5" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" dependencies: @@ -3712,6 +4120,10 @@ ultron@1.0.x: version "1.0.2" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" +ultron@~1.1.0: + version "1.1.0" + resolved "http://0.0.0.0:4873/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864" + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -3731,7 +4143,7 @@ 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.0: +uuid@3.0.1, uuid@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" @@ -3862,13 +4274,20 @@ ws@^1.1.0: options ">=0.0.5" ultron "1.0.x" -xcode@^0.8.9: - version "0.8.9" - resolved "https://registry.yarnpkg.com/xcode/-/xcode-0.8.9.tgz#ec6765f70e9dccccc9f6e9a5b9b4e7e814b4cf35" +ws@^2.0.3: + version "2.3.1" + resolved "http://0.0.0.0:4873/ws/-/ws-2.3.1.tgz#6b94b3e447cb6a363f785eaf94af6359e8e81c80" dependencies: - node-uuid "1.4.7" - pegjs "0.9.0" - simple-plist "0.1.4" + safe-buffer "~5.0.1" + ultron "~1.1.0" + +xcode@^0.9.1: + version "0.9.3" + resolved "http://0.0.0.0:4873/xcode/-/xcode-0.9.3.tgz#910a89c16aee6cc0b42ca805a6d0b4cf87211cf3" + dependencies: + pegjs "^0.10.0" + simple-plist "^0.2.1" + uuid "3.0.1" "xml-name-validator@>= 2.0.1 < 3.0.0": version "2.0.1" @@ -3880,6 +4299,10 @@ xmlbuilder@4.0.0: dependencies: lodash "^3.5.0" +xmlbuilder@8.2.2: + version "8.2.2" + resolved "http://0.0.0.0:4873/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773" + xmldoc@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-0.4.0.tgz#d257224be8393eaacbf837ef227fd8ec25b36888" @@ -3890,6 +4313,10 @@ xmldom@0.1.x: version "0.1.27" resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" +xpipe@^1.0.5: + version "1.0.5" + resolved "http://0.0.0.0:4873/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf" + "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" From 4c5c8b277b56ba71e39323bfd7d43f5d11d2bfef Mon Sep 17 00:00:00 2001 From: Arturs Jansons Date: Mon, 17 Jul 2017 11:08:35 +0300 Subject: [PATCH 02/12] Add console-network, fix Promise --- CachedImage.js | 4 +- CachedImageExample/index.js | 5 ++- CachedImageExample/package.json | 2 +- ImageCacheProvider.js | 70 +++++++++++++++++++++++---------- package.json | 1 + yarn.lock | 8 +++- 6 files changed, 64 insertions(+), 26 deletions(-) diff --git a/CachedImage.js b/CachedImage.js index 2f38285..f42c38f 100644 --- a/CachedImage.js +++ b/CachedImage.js @@ -8,7 +8,7 @@ const ImageCacheProvider = require('./ImageCacheProvider'); const { View, - Image, + ImageBackground, ActivityIndicator, NetInfo, Platform @@ -52,7 +52,7 @@ const CachedImage = React.createClass({ getDefaultProps() { return { - renderImage: props => (), + renderImage: props => (), activityIndicatorProps: {}, useQueryParamsInCacheKey: false, resolveHeaders: () => Promise.resolve({}) diff --git a/CachedImageExample/index.js b/CachedImageExample/index.js index d2777da..7f9e33a 100644 --- a/CachedImageExample/index.js +++ b/CachedImageExample/index.js @@ -45,6 +45,7 @@ const styles = StyleSheet.create({ const loading = require('./loading.jpg'); const images = [ + 'https://images.unsplash.com/photo-1494783367193-149034c05e8f?.jpg', 'https://wallpaperbrowse.com/media/images/bcf39e88-5731-43bb-9d4b-e5b3b2b1fdf2.jpg', 'https://d22cb02g3nv58u.cloudfront.net/0.671.0/assets/images/icons/fun-types/full/wrong-image.jpg', 'https://d22cb02g3nv58u.cloudfront.net/0.671.0/assets/images/icons/fun-types/full/bar-crawl-full.jpg', @@ -65,7 +66,6 @@ function formatBytes(bytes, decimals) { } const CachedImageExample = React.createClass({ - getInitialState() { const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}); return { @@ -98,7 +98,7 @@ const CachedImageExample = React.createClass({ renderRow(uri) { return ( @@ -123,6 +123,7 @@ const CachedImageExample = React.createClass({ ); diff --git a/CachedImageExample/package.json b/CachedImageExample/package.json index 0c81f97..59442e6 100644 --- a/CachedImageExample/package.json +++ b/CachedImageExample/package.json @@ -10,7 +10,7 @@ "dependencies": { "react": "16.0.0-alpha.12", "react-native": "0.46.2", - "react-native-cached-image": "*" + "react-native-cached-image": "../" }, "devDependencies": { "babel-jest": "18.0.0", diff --git a/ImageCacheProvider.js b/ImageCacheProvider.js index f4214e1..9be2d28 100644 --- a/ImageCacheProvider.js +++ b/ImageCacheProvider.js @@ -1,6 +1,7 @@ 'use strict'; const _ = require('lodash'); +const debug = require('console-network'); const RNFetchBlob = require('react-native-fetch-blob').default; @@ -118,27 +119,54 @@ function downloadImage(fromUrl, toFile, headers = {}) { //Using a temporary file, if the download is accidentally interrupted, it will not produce a disabled file const tmpFile = toFile + '.tmp'; // create an active download for this file - activeDownloads[toFile] = new Promise((resolve, reject) => { - RNFetchBlob - .config({path: tmpFile}) - .fetch('GET', fromUrl, headers) - .then(res => { - if (Math.floor(res.respInfo.status / 100) !== 2) { - throw new Error('Failed to successfully download image'); + activeDownloads[toFile] = RNFetchBlob + .config({path: tmpFile}) + .fetch('GET', fromUrl, headers) + .then(res => { + debug.network(fromUrl); + debug.networkEnd(fromUrl, { + 'General': { + url: fromUrl, + method: 'GET', + status: res.respInfo.status, + query: null, + }, + 'Response Headers': headers, + 'Response': { + Raw: toFile } - //The download is complete and rename the temporary file - return fs.mv(tmpFile, toFile); - }) - .then(() => resolve(toFile)) - .catch(err => { - return deleteFile(tmpFile) - .then(() => reject(err)); - }) - .finally(() => { - // cleanup - delete activeDownloads[toFile]; }); - }); + if (res.respInfo.status === 304) { + return Promise.resolve(toFile); + } + let status = Math.floor(res.respInfo.status / 100); + if (status !== 2) { + throw new Error('Failed to successfully download image'); + } + // The download is complete and rename the temporary file + return fs.mv(tmpFile, toFile); + }) + .catch(err => { + debug.network(fromUrl); + debug.networkEnd(fromUrl, { + 'General': { + url: fromUrl, + method: 'GET', + status: res.respInfo.status, + query: null, + }, + 'Response Headers': headers, + 'Response': { + Error: err + } + }); + }) + .then(() => { + // cleanup + deleteFile(tmpFile) + delete activeDownloads[toFile]; + return toFile + }); } return activeDownloads[toFile]; } @@ -161,7 +189,9 @@ function runPrefetchTask(prefetcher, options) { if (isCacheable(url)) { // check cache return getCachedImagePath(url, options) - // if not found download + // TODO: check for expiration + .then(() => {}) + // if not found download .catch(() => cacheImage(url, options)) // allow prefetch task to fail without terminating other prefetch tasks .catch(_.noop) diff --git a/package.json b/package.json index 8cdc47e..ac19e73 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "ImageCacheProvider.js" ], "dependencies": { + "console-network": "^1.0.6", "crypto-js": "3.1.9-1", "lodash": "4.17.4", "react-native-fetch-blob": "0.10.4", diff --git a/yarn.lock b/yarn.lock index e421ae8..979996d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -21,6 +21,12 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" +console-network@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/console-network/-/console-network-1.0.4.tgz#f7bc8df524c42f87cdb6820b2f983525bf793c60" + dependencies: + lodash "^4.17.4" + crypto-js@3.1.9-1: version "3.1.9-1" resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.1.9-1.tgz#fda19e761fc077e01ffbfdc6e9fdfc59e8806cd8" @@ -51,7 +57,7 @@ inherits@2: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" -lodash@4.17.4: +lodash@4.17.4, lodash@^4.17.4: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" From adeee0e3f2062fcb3d581bbafdd087f5b35e1906 Mon Sep 17 00:00:00 2001 From: Arturs Jansons Date: Tue, 18 Jul 2017 12:54:00 +0300 Subject: [PATCH 03/12] Add preload for specific time --- CachedImage.js | 34 +++-- .../android/app/src/main/AndroidManifest.xml | 23 +-- .../cachedimageexample/MainApplication.java | 11 +- CachedImageExample/index.js | 47 +++++-- ImageCacheProvider.js | 131 +++++++++++------- package.json | 1 + 6 files changed, 150 insertions(+), 97 deletions(-) diff --git a/CachedImage.js b/CachedImage.js index f42c38f..5803c82 100644 --- a/CachedImage.js +++ b/CachedImage.js @@ -11,7 +11,8 @@ const { ImageBackground, ActivityIndicator, NetInfo, - Platform + Platform, + Text, } = ReactNative; @@ -34,7 +35,7 @@ const styles = StyleSheet.create({ }); function getImageProps(props) { - return _.omit(props, ['source', 'defaultSource', 'fallbackSource', 'LoadingIndicator', 'activityIndicatorProps', 'style', 'useQueryParamsInCacheKey', 'renderImage', 'resolveHeaders']); + return _.omit(props, ['source', 'defaultSource', 'fallbackSource', 'LoadingIndicator', 'activityIndicatorProps', 'style', 'useQueryParamsInCacheKey', 'renderImage']); } const CACHED_IMAGE_REF = 'cachedImage'; @@ -47,7 +48,6 @@ const CachedImage = React.createClass({ React.PropTypes.bool, React.PropTypes.array ]).isRequired, - resolveHeaders: React.PropTypes.func }, getDefaultProps() { @@ -55,7 +55,6 @@ const CachedImage = React.createClass({ renderImage: props => (), activityIndicatorProps: {}, useQueryParamsInCacheKey: false, - resolveHeaders: () => Promise.resolve({}) }; }, @@ -72,7 +71,8 @@ const CachedImage = React.createClass({ return { isCacheable: false, cachedImagePath: null, - networkAvailable: true + networkAvailable: true, + errorLoading: false, }; }, @@ -117,12 +117,16 @@ const CachedImage = React.createClass({ processSource(source) { const url = _.get(source, ['uri'], null); if (ImageCacheProvider.isCacheable(url)) { - const options = _.pick(this.props, ['useQueryParamsInCacheKey', 'cacheGroup']); + const options = _.pick(this.props, ['useQueryParamsInCacheKey', 'cacheGroup', 'source']); // try to get the image path from cache ImageCacheProvider.getCachedImagePath(url, options) + .then(ImageCacheProvider.isExpired) // try to put the image in cache if - .catch(() => ImageCacheProvider.cacheImage(url, options, this.props.resolveHeaders)) + .catch(() => ImageCacheProvider.cacheImage(url, options)) .then(cachedImagePath => { + if(!cachedImagePath) { + throw new Error('Failed to cache image') + } this.safeSetState({ cachedImagePath }); @@ -130,7 +134,8 @@ const CachedImage = React.createClass({ .catch(err => { this.safeSetState({ cachedImagePath: null, - isCacheable: false + isCacheable: false, + errorLoading: true, }); }); this.safeSetState({ @@ -147,6 +152,9 @@ const CachedImage = React.createClass({ if (this.state.isCacheable && !this.state.cachedImagePath) { return this.renderLoader(); } + if( this.state.errorLoading ) { + return this.renderError(); + } const props = getImageProps(this.props); const style = this.props.style || styles.image; const source = (this.state.isCacheable && this.state.cachedImagePath) ? { @@ -211,6 +219,16 @@ const CachedImage = React.createClass({ style={activityIndicatorStyle}/> ) }); + }, + + renderError() { + const imageStyle = [this.props.style, styles.loaderPlaceholder]; + const activityIndicatorStyle = this.props.activityIndicatorProps.style || styles.loader; + return ( + + Error + + ); } }); diff --git a/CachedImageExample/android/app/src/main/AndroidManifest.xml b/CachedImageExample/android/app/src/main/AndroidManifest.xml index f33087a..c9fb101 100644 --- a/CachedImageExample/android/app/src/main/AndroidManifest.xml +++ b/CachedImageExample/android/app/src/main/AndroidManifest.xml @@ -14,7 +14,6 @@ android:targetSdkVersion="22"/> + android:configChanges="keyboard|keyboardHidden|orientation|screenSize" + android:windowSoftInputMode="adjustResize" + > @@ -31,24 +32,6 @@ -======= - android:name=".MainApplication" - android:allowBackup="true" - android:label="@string/app_name" - android:icon="@mipmap/ic_launcher" - android:theme="@style/AppTheme"> - - - - - - - ->>>>>>> theirs diff --git a/CachedImageExample/android/app/src/main/java/com/cachedimageexample/MainApplication.java b/CachedImageExample/android/app/src/main/java/com/cachedimageexample/MainApplication.java index 629618e..bf5c63b 100644 --- a/CachedImageExample/android/app/src/main/java/com/cachedimageexample/MainApplication.java +++ b/CachedImageExample/android/app/src/main/java/com/cachedimageexample/MainApplication.java @@ -7,11 +7,6 @@ import com.facebook.react.ReactApplication; import com.RNFetchBlob.RNFetchBlobPackage; import com.facebook.react.ReactInstanceManager; -======= -import android.app.Application; - -import com.facebook.react.ReactApplication; ->>>>>>> theirs import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; import com.facebook.react.shell.MainReactPackage; @@ -43,13 +38,13 @@ protected List getPackages() { }; @Override -<<<<<<< ours public ReactNativeHost getReactNativeHost() { return mReactNativeHost; -======= + } + + @Override public boolean getUseDeveloperSupport() { return BuildConfig.DEBUG; ->>>>>>> theirs } @Override diff --git a/CachedImageExample/index.js b/CachedImageExample/index.js index 7f9e33a..cf925ad 100644 --- a/CachedImageExample/index.js +++ b/CachedImageExample/index.js @@ -74,8 +74,16 @@ const CachedImageExample = React.createClass({ }; }, - componentWillMount() { - ImageCacheProvider.cacheMultipleImages(images) + preloadImages() { + // Preload images + ImageCacheProvider.cacheMultipleImages(images, { + source: { + headers: { + 'Cache-Control': 'max-age=' + 5 + }, + cache: 'only-if-cached' + } + }) .then(() => { console.log('cacheMultipleImages Done'); }) @@ -98,7 +106,13 @@ const CachedImageExample = React.createClass({ renderRow(uri) { return ( @@ -120,13 +134,28 @@ const CachedImageExample = React.createClass({ color="#2ce7cc" /> - + {this.state.start ? ( + + ) : ( + +