diff --git a/ImagePickerModule.java b/ImagePickerModule.java new file mode 100644 index 000000000..8367c59e5 --- /dev/null +++ b/ImagePickerModule.java @@ -0,0 +1,708 @@ +package com.imagepicker; + +import android.Manifest; +import android.app.Activity; +import android.content.ActivityNotFoundException; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.provider.MediaStore; +import android.provider.Settings; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.annotation.StyleRes; +import android.support.v4.app.ActivityCompat; +import android.support.v7.app.AlertDialog; +import android.text.TextUtils; +import android.util.Base64; +import android.util.Patterns; +import android.webkit.MimeTypeMap; +import android.content.pm.PackageManager; + +import com.facebook.react.ReactActivity; +import com.facebook.react.bridge.ActivityEventListener; +import com.facebook.react.bridge.Callback; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.bridge.ReactContextBaseJavaModule; +import com.facebook.react.bridge.ReactMethod; +import com.facebook.react.bridge.ReadableMap; +import com.imagepicker.media.ImageConfig; +import com.imagepicker.permissions.PermissionUtils; +import com.imagepicker.permissions.OnImagePickerPermissionsCallback; +import com.imagepicker.utils.MediaUtils.ReadExifResult; +import com.imagepicker.utils.RealPathUtil; +import com.imagepicker.utils.UI; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.lang.ref.WeakReference; + +import com.facebook.react.modules.core.PermissionListener; +import com.facebook.react.modules.core.PermissionAwareActivity; + +import static com.imagepicker.utils.MediaUtils.*; +import static com.imagepicker.utils.MediaUtils.createNewFile; +import static com.imagepicker.utils.MediaUtils.getResizedImage; + +public class ImagePickerModule extends ReactContextBaseJavaModule + implements ActivityEventListener +{ + + public static final int REQUEST_LAUNCH_IMAGE_CAPTURE = 13001; + public static final int REQUEST_LAUNCH_IMAGE_LIBRARY = 13002; + public static final int REQUEST_LAUNCH_VIDEO_LIBRARY = 13003; + public static final int REQUEST_LAUNCH_VIDEO_CAPTURE = 13004; + public static final int REQUEST_PERMISSIONS_FOR_CAMERA = 14001; + public static final int REQUEST_PERMISSIONS_FOR_LIBRARY = 14002; + + private final ReactApplicationContext reactContext; + private final int dialogThemeId; + + protected Callback callback; + private ReadableMap options; + protected Uri cameraCaptureURI; + private Boolean noData = false; + private Boolean pickVideo = false; + private ImageConfig imageConfig = new ImageConfig(null, null, 0, 0, 100, 0, false); + + @Deprecated + private int videoQuality = 1; + + @Deprecated + private int videoDurationLimit = 0; + + private ResponseHelper responseHelper = new ResponseHelper(); + private PermissionListener listener = new PermissionListener() + { + public boolean onRequestPermissionsResult(final int requestCode, + @NonNull final String[] permissions, + @NonNull final int[] grantResults) + { + boolean permissionsGranted = true; + for (int i = 0; i < permissions.length; i++) + { + final boolean granted = grantResults[i] == PackageManager.PERMISSION_GRANTED; + permissionsGranted = permissionsGranted && granted; + } + + if (callback == null || options == null) + { + return false; + } + + if (!permissionsGranted) + { + responseHelper.invokeError(callback, "Permissions weren't granted"); + return false; + } + + switch (requestCode) + { + case REQUEST_PERMISSIONS_FOR_CAMERA: + launchCamera(options, callback); + break; + + case REQUEST_PERMISSIONS_FOR_LIBRARY: + launchImageLibrary(options, callback); + break; + + } + return true; + } + }; + + public ImagePickerModule(ReactApplicationContext reactContext, + @StyleRes final int dialogThemeId) + { + super(reactContext); + + this.dialogThemeId = dialogThemeId; + this.reactContext = reactContext; + this.reactContext.addActivityEventListener(this); + } + + @Override + public String getName() { + return "ImagePickerManager"; + } + + @ReactMethod + public void showImagePicker(final ReadableMap options, final Callback callback) { + Activity currentActivity = getCurrentActivity(); + + if (currentActivity == null) + { + responseHelper.invokeError(callback, "can't find current Activity"); + return; + } + + this.callback = callback; + this.options = options; + imageConfig = new ImageConfig(null, null, 0, 0, 100, 0, false); + + final AlertDialog dialog = UI.chooseDialog(this, options, new UI.OnAction() + { + @Override + public void onTakePhoto(@NonNull final ImagePickerModule module) + { + if (module == null) + { + return; + } + module.launchCamera(); + } + + @Override + public void onUseLibrary(@NonNull final ImagePickerModule module) + { + if (module == null) + { + return; + } + module.launchImageLibrary(); + } + + @Override + public void onCancel(@NonNull final ImagePickerModule module) + { + if (module == null) + { + return; + } + module.doOnCancel(); + } + + @Override + public void onCustomButton(@NonNull final ImagePickerModule module, + @NonNull final String action) + { + if (module == null) + { + return; + } + module.invokeCustomButton(action); + } + }); + dialog.show(); + } + + public void doOnCancel() + { + responseHelper.invokeCancel(callback); + } + + public void launchCamera() + { + this.launchCamera(this.options, this.callback); + } + + // NOTE: Currently not reentrant / doesn't support concurrent requests + @ReactMethod + public void launchCamera(final ReadableMap options, final Callback callback) + { + if (!isCameraAvailable()) + { + responseHelper.invokeError(callback, "Camera not available"); + return; + } + + final Activity currentActivity = getCurrentActivity(); + if (currentActivity == null) + { + responseHelper.invokeError(callback, "can't find current Activity"); + return; + } + + this.options = options; + + if (!permissionsCheck(currentActivity, callback, REQUEST_PERMISSIONS_FOR_CAMERA)) + { + return; + } + + parseOptions(this.options); + + int requestCode; + Intent cameraIntent; + + if (pickVideo) + { + requestCode = REQUEST_LAUNCH_VIDEO_CAPTURE; + cameraIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); + cameraIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, videoQuality); + if (videoDurationLimit > 0) + { + cameraIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, videoDurationLimit); + } + } + else + { + requestCode = REQUEST_LAUNCH_IMAGE_CAPTURE; + cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + + final File original = createNewFile(reactContext, this.options, false); + imageConfig = imageConfig.withOriginalFile(original); + + cameraCaptureURI = RealPathUtil.compatUriFromFile(reactContext, imageConfig.original); + if (cameraCaptureURI == null) + { + responseHelper.invokeError(callback, "Couldn't get file path for photo"); + return; + } + cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, cameraCaptureURI); + } + + if (cameraIntent.resolveActivity(reactContext.getPackageManager()) == null) + { + responseHelper.invokeError(callback, "Cannot launch camera"); + return; + } + + this.callback = callback; + + try + { + currentActivity.startActivityForResult(cameraIntent, requestCode); + } + catch (ActivityNotFoundException e) + { + e.printStackTrace(); + responseHelper.invokeError(callback, "Cannot launch camera"); + } + } + + public void launchImageLibrary() + { + this.launchImageLibrary(this.options, this.callback); + } + // NOTE: Currently not reentrant / doesn't support concurrent requests + @ReactMethod + public void launchImageLibrary(final ReadableMap options, final Callback callback) + { + final Activity currentActivity = getCurrentActivity(); + if (currentActivity == null) { + responseHelper.invokeError(callback, "can't find current Activity"); + return; + } + + this.options = options; + + if (!permissionsCheck(currentActivity, callback, REQUEST_PERMISSIONS_FOR_LIBRARY)) + { + return; + } + + parseOptions(this.options); + + int requestCode; + Intent libraryIntent; + if (pickVideo) + { + requestCode = REQUEST_LAUNCH_VIDEO_LIBRARY; + libraryIntent = new Intent(Intent.ACTION_PICK); + libraryIntent.setType("video/*"); + } + else + { + requestCode = REQUEST_LAUNCH_IMAGE_LIBRARY; + libraryIntent = new Intent(Intent.ACTION_PICK, + MediaStore.Images.Media.EXTERNAL_CONTENT_URI); + } + + if (libraryIntent.resolveActivity(reactContext.getPackageManager()) == null) + { + responseHelper.invokeError(callback, "Cannot launch photo library"); + return; + } + + this.callback = callback; + + try + { + currentActivity.startActivityForResult(libraryIntent, requestCode); + } + catch (ActivityNotFoundException e) + { + e.printStackTrace(); + responseHelper.invokeError(callback, "Cannot launch photo library"); + } + } + + @Override + public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data) { + //robustness code + if (passResult(requestCode)) + { + return; + } + + responseHelper.cleanResponse(); + + // user cancel + if (resultCode != Activity.RESULT_OK) + { + removeUselessFiles(requestCode, imageConfig); + responseHelper.invokeCancel(callback); + callback = null; + return; + } + + Uri uri = null; + switch (requestCode) + { + case REQUEST_LAUNCH_IMAGE_CAPTURE: + uri = cameraCaptureURI; + break; + + case REQUEST_LAUNCH_IMAGE_LIBRARY: + uri = data.getData(); + String realPath = getRealPathFromURI(uri); + final boolean isUrl = !TextUtils.isEmpty(realPath) && + Patterns.WEB_URL.matcher(realPath).matches(); + if (realPath == null || isUrl) + { + try + { + File file = createFileFromURI(uri); + realPath = file.getAbsolutePath(); + uri = Uri.fromFile(file); + } + catch (Exception e) + { + // image not in cache + responseHelper.putString("error", "Could not read photo"); + responseHelper.putString("uri", uri.toString()); + responseHelper.invokeResponse(callback); + callback = null; + return; + } + } + imageConfig = imageConfig.withOriginalFile(new File(realPath)); + break; + + case REQUEST_LAUNCH_VIDEO_LIBRARY: + responseHelper.putString("uri", data.getData().toString()); + responseHelper.putString("path", getRealPathFromURI(data.getData())); + responseHelper.invokeResponse(callback); + callback = null; + return; + + case REQUEST_LAUNCH_VIDEO_CAPTURE: + final String path = getRealPathFromURI(data.getData()); + responseHelper.putString("uri", data.getData().toString()); + responseHelper.putString("path", path); + fileScan(reactContext, path); + responseHelper.invokeResponse(callback); + callback = null; + return; + } + + final ReadExifResult result = readExifInterface(responseHelper, imageConfig); + + if (result.error != null) + { + removeUselessFiles(requestCode, imageConfig); + responseHelper.invokeError(callback, result.error.getMessage()); + callback = null; + return; + } + + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inJustDecodeBounds = true; + BitmapFactory.decodeFile(imageConfig.original.getAbsolutePath(), options); + int initialWidth = options.outWidth; + int initialHeight = options.outHeight; + updatedResultResponse(uri, imageConfig.original.getAbsolutePath()); + + // don't create a new file if contraint are respected + if (imageConfig.useOriginal(initialWidth, initialHeight, result.currentRotation)) + { + responseHelper.putInt("width", initialWidth); + responseHelper.putInt("height", initialHeight); + fileScan(reactContext, imageConfig.original.getAbsolutePath()); + } + else + { + imageConfig = getResizedImage(reactContext, this.options, imageConfig, initialWidth, initialHeight, requestCode); + if (imageConfig.resized == null) + { + removeUselessFiles(requestCode, imageConfig); + responseHelper.putString("error", "Can't resize the image"); + } + else + { + uri = Uri.fromFile(imageConfig.resized); + BitmapFactory.decodeFile(imageConfig.resized.getAbsolutePath(), options); + responseHelper.putInt("width", options.outWidth); + responseHelper.putInt("height", options.outHeight); + + updatedResultResponse(uri, imageConfig.resized.getAbsolutePath()); + fileScan(reactContext, imageConfig.resized.getAbsolutePath()); + } + } + + if (imageConfig.saveToCameraRoll && requestCode == REQUEST_LAUNCH_IMAGE_CAPTURE) + { + final RolloutPhotoResult rolloutResult = rolloutPhotoFromCamera(imageConfig); + + if (rolloutResult.error == null) + { + imageConfig = rolloutResult.imageConfig; + uri = Uri.fromFile(imageConfig.getActualFile()); + updatedResultResponse(uri, imageConfig.getActualFile().getAbsolutePath()); + } + else + { + removeUselessFiles(requestCode, imageConfig); + final String errorMessage = new StringBuilder("Error moving image to camera roll: ") + .append(rolloutResult.error.getMessage()).toString(); + responseHelper.putString("error", errorMessage); + return; + } + } + + responseHelper.invokeResponse(callback); + callback = null; + this.options = null; + } + + public void invokeCustomButton(@NonNull final String action) + { + responseHelper.invokeCustomButton(this.callback, action); + } + + @Override + public void onNewIntent(Intent intent) { } + + public Context getContext() + { + return getReactApplicationContext(); + } + + public @StyleRes int getDialogThemeId() + { + return this.dialogThemeId; + } + + public @NonNull Activity getActivity() + { + return getCurrentActivity(); + } + + + private boolean passResult(int requestCode) + { + return callback == null || (cameraCaptureURI == null && requestCode == REQUEST_LAUNCH_IMAGE_CAPTURE) + || (requestCode != REQUEST_LAUNCH_IMAGE_CAPTURE && requestCode != REQUEST_LAUNCH_IMAGE_LIBRARY + && requestCode != REQUEST_LAUNCH_VIDEO_LIBRARY && requestCode != REQUEST_LAUNCH_VIDEO_CAPTURE); + } + + private void updatedResultResponse(@Nullable final Uri uri, + @NonNull final String path) + { + responseHelper.putString("uri", uri.toString()); + responseHelper.putString("path", path); + + if (!noData) { + responseHelper.putString("data", getBase64StringFromFile(path)); + } + + putExtraFileInfo(path, responseHelper); + } + + private boolean permissionsCheck(@NonNull final Activity activity, + @NonNull final Callback callback, + @NonNull final int requestCode) + { + final int writePermission = ActivityCompat + .checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE); + final int cameraPermission = ActivityCompat + .checkSelfPermission(activity, Manifest.permission.CAMERA); + + final boolean permissionsGrated = writePermission == PackageManager.PERMISSION_GRANTED && + cameraPermission == PackageManager.PERMISSION_GRANTED; + + if (!permissionsGrated) + { + final Boolean dontAskAgain = ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) && ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.CAMERA); + + if (dontAskAgain) + { + final AlertDialog dialog = PermissionUtils + .explainingDialog(this, options, new PermissionUtils.OnExplainingPermissionCallback() + { + @Override + public void onCancel(WeakReference moduleInstance, + DialogInterface dialogInterface) + { + final ImagePickerModule module = moduleInstance.get(); + if (module == null) + { + return; + } + module.doOnCancel(); + } + + @Override + public void onReTry(WeakReference moduleInstance, + DialogInterface dialogInterface) + { + final ImagePickerModule module = moduleInstance.get(); + if (module == null) + { + return; + } + Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + Uri uri = Uri.fromParts("package", module.getContext().getPackageName(), null); + intent.setData(uri); + final Activity innerActivity = module.getActivity(); + if (innerActivity == null) + { + return; + } + innerActivity.startActivityForResult(intent, 1); + } + }); + dialog.show(); + return false; + } + else + { + String[] PERMISSIONS = {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA}; + if (activity instanceof ReactActivity) + { + ((ReactActivity) activity).requestPermissions(PERMISSIONS, requestCode, listener); + } + else if (activity instanceof OnImagePickerPermissionsCallback) + { + ((OnImagePickerPermissionsCallback) activity).setPermissionListener(listener); + ActivityCompat.requestPermissions(activity, PERMISSIONS, requestCode); + } + else if (activity instanceof PermissionAwareActivity) { + ((PermissionAwareActivity) activity).requestPermissions(PERMISSIONS, requestCode, listener); + } + else + { + final String errorDescription = new StringBuilder(activity.getClass().getSimpleName()) + .append(" must implement ") + .append(OnImagePickerPermissionsCallback.class.getSimpleName()) + .append(PermissionAwareActivity.class.getSimpleName()) + .toString(); + throw new UnsupportedOperationException(errorDescription); + } + return false; + } + } + return true; + } + + private boolean isCameraAvailable() { + return reactContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA) + || reactContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY); + } + + private @NonNull String getRealPathFromURI(@NonNull final Uri uri) { + return RealPathUtil.getRealPathFromURI(reactContext, uri); + } + + /** + * Create a file from uri to allow image picking of image in disk cache + * (Exemple: facebook image, google image etc..) + * + * @doc => + * https://github.com/nostra13/Android-Universal-Image-Loader#load--display-task-flow + * + * @param uri + * @return File + * @throws Exception + */ + private File createFileFromURI(Uri uri) throws Exception { + File file = new File(reactContext.getExternalCacheDir(), "photo-" + uri.getLastPathSegment()); + InputStream input = reactContext.getContentResolver().openInputStream(uri); + OutputStream output = new FileOutputStream(file); + + try { + byte[] buffer = new byte[4 * 1024]; + int read; + while ((read = input.read(buffer)) != -1) { + output.write(buffer, 0, read); + } + output.flush(); + } finally { + output.close(); + input.close(); + } + + return file; + } + + private String getBase64StringFromFile(String absoluteFilePath) { + InputStream inputStream = null; + try { + inputStream = new FileInputStream(new File(absoluteFilePath)); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + + byte[] bytes; + byte[] buffer = new byte[8192]; + int bytesRead; + ByteArrayOutputStream output = new ByteArrayOutputStream(); + try { + while ((bytesRead = inputStream.read(buffer)) != -1) { + output.write(buffer, 0, bytesRead); + } + } catch (IOException e) { + e.printStackTrace(); + } + bytes = output.toByteArray(); + return Base64.encodeToString(bytes, Base64.NO_WRAP); + } + + private void putExtraFileInfo(@NonNull final String path, + @NonNull final ResponseHelper responseHelper) + { + // size && filename + try { + File f = new File(path); + responseHelper.putDouble("fileSize", f.length()); + responseHelper.putString("fileName", f.getName()); + } catch (Exception e) { + e.printStackTrace(); + } + + // type + String extension = MimeTypeMap.getFileExtensionFromUrl(path); + if (extension != null) { + responseHelper.putString("type", MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension)); + } + } + + private void parseOptions(final ReadableMap options) { + noData = false; + if (options.hasKey("noData")) { + noData = options.getBoolean("noData"); + } + imageConfig = imageConfig.updateFromOptions(options); + pickVideo = false; + if (options.hasKey("mediaType") && options.getString("mediaType").equals("video")) { + pickVideo = true; + } + videoQuality = 1; + if (options.hasKey("videoQuality") && options.getString("videoQuality").equals("low")) { + videoQuality = 0; + } + videoDurationLimit = 0; + if (options.hasKey("durationLimit")) { + videoDurationLimit = options.getInt("durationLimit"); + } + } +} diff --git a/Makefile b/Makefile index a7872186b..ab3be7b33 100644 --- a/Makefile +++ b/Makefile @@ -107,7 +107,9 @@ clean: post-install: ./node_modules/.bin/remotedev-debugger --hostname localhost --port 5678 --injectserver @# Must remove the .babelrc for 0.42.0 to work correctly - rm -f node_modules/intl/.babelrc + @# Need to copy custom ImagePickerModule.java that implements correct permission checks for android + @rm node_modules/react-native-image-picker/android/src/main/java/com/imagepicker/ImagePickerModule.java + @cp ./ImagePickerModule.java node_modules/react-native-image-picker/android/src/main/java/com/imagepicker @# Hack to get react-intl and its dependencies to work with react-native @# Based off of https://github.com/este/este/blob/master/gulp/native-fix.js sed -i'' -e 's|"./locale-data/index.js": false|"./locale-data/index.js": "./locale-data/index.js"|g' node_modules/react-intl/package.json diff --git a/android/app/build.gradle b/android/app/build.gradle index 6aaa0dc59..2724ae07d 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -176,11 +176,11 @@ dependencies { compile project(':react-native-fetch-blob') // For animated GIF support - compile 'com.facebook.fresco:animated-base-support:1.0.1' + compile 'com.facebook.fresco:animated-base-support:1.3.0' // For WebP support, including animated WebP - compile 'com.facebook.fresco:animated-gif:1.0.1' - compile 'com.facebook.fresco:animated-webp:1.0.1' - compile 'com.facebook.fresco:webpsupport:1.0.1' + compile 'com.facebook.fresco:animated-gif:1.3.0' + compile 'com.facebook.fresco:animated-webp:1.3.0' + compile 'com.facebook.fresco:webpsupport:1.3.0' } // Run this once to be able to run the application with BUCK diff --git a/android/app/src/main/java/com/mattermost/rnbeta/MattermostPackage.java b/android/app/src/main/java/com/mattermost/rnbeta/MattermostPackage.java index 22d209f53..26e78d388 100644 --- a/android/app/src/main/java/com/mattermost/rnbeta/MattermostPackage.java +++ b/android/app/src/main/java/com/mattermost/rnbeta/MattermostPackage.java @@ -25,11 +25,6 @@ public class MattermostPackage implements ReactPackage { ); } - @Override - public List> createJSModules() { - return Collections.emptyList(); - } - @Override public List createViewManagers(ReactApplicationContext reactContext) { return Collections.emptyList(); diff --git a/app/components/channel_drawer/channel_drawer.js b/app/components/channel_drawer/channel_drawer.js index 23e2d79d9..38ef25953 100644 --- a/app/components/channel_drawer/channel_drawer.js +++ b/app/components/channel_drawer/channel_drawer.js @@ -14,7 +14,7 @@ import Drawer from 'app/components/drawer'; import {alertErrorWithFallback} from 'app/utils/general'; import ChannelsList from './channels_list'; -import Swiper from './swiper'; +import DrawerSwiper from './drawer_swipper'; import TeamsList from './teams_list'; import {General} from 'mattermost-redux/constants'; @@ -271,18 +271,15 @@ export default class ChannelDrawer extends PureComponent { const {openDrawerOffset} = this.state; const showTeams = openDrawerOffset === DRAWER_INITIAL_OFFSET && Object.keys(myTeamMembers).length > 1; - let teams; - if (showTeams) { - teams = ( - - - - ); - } + const teams = ( + + + + ); const channelsList = ( @@ -304,7 +301,7 @@ export default class ChannelDrawer extends PureComponent { ); return ( - {teams} {channelsList} - + ); }; @@ -332,6 +329,7 @@ export default class ChannelDrawer extends PureComponent { captureGestures='open' type='static' acceptTap={true} + acceptPanOnDrawer={true} disabled={false} content={this.renderContent()} tapToClose={true} diff --git a/app/components/channel_drawer/channels_list/index.js b/app/components/channel_drawer/channels_list/index.js index d9f26ba57..46926104a 100644 --- a/app/components/channel_drawer/channels_list/index.js +++ b/app/components/channel_drawer/channels_list/index.js @@ -250,11 +250,7 @@ const getStyleSheet = makeStyleSheetFromTheme((theme) => { flex: 1 }, extraPadding: { - ...Platform.select({ - ios: { - paddingBottom: 10 - } - }) + paddingBottom: 5 }, statusBar: { backgroundColor: theme.sidebarHeaderBg, diff --git a/app/components/channel_drawer/swiper/swiper.ios.js b/app/components/channel_drawer/drawer_swipper/index.js similarity index 85% rename from app/components/channel_drawer/swiper/swiper.ios.js rename to app/components/channel_drawer/drawer_swipper/index.js index 1affbd0c0..faea416c3 100644 --- a/app/components/channel_drawer/swiper/swiper.ios.js +++ b/app/components/channel_drawer/drawer_swipper/index.js @@ -8,7 +8,7 @@ import Swiper from 'react-native-swiper'; import {changeOpacity} from 'app/utils/theme'; -export default class SwiperIos extends PureComponent { +export default class DrawerSwiper extends PureComponent { static propTypes = { children: PropTypes.node.isRequired, onPageSelected: PropTypes.func, @@ -22,6 +22,12 @@ export default class SwiperIos extends PureComponent { openDrawerOffset: 0 }; + componentWillReceiveProps(nextProps) { + if (nextProps.openDrawerOffset !== this.props.openDrawerOffset && this.refs.swiper) { + this.refs.swiper.initialRender = true; + } + } + swiperPageSelected = (e, state, context) => { this.props.onPageSelected(context.state.index); }; @@ -44,7 +50,7 @@ export default class SwiperIos extends PureComponent { const pagination = {bottom: 0}; if (showTeams) { - pagination.bottom = 10; + pagination.bottom = 0; } // Get the dimensions here so when the orientation changes we get the right dimensions @@ -57,7 +63,7 @@ export default class SwiperIos extends PureComponent { loop={false} index={1} onMomentumScrollEnd={this.swiperPageSelected} - paginationStyle={[{position: 'relative'}, pagination]} + paginationStyle={[{position: 'absolute'}, pagination]} width={deviceWidth - openDrawerOffset} height={deviceHeight} style={{backgroundColor: theme.sidebarBg}} diff --git a/app/components/channel_drawer/swiper/index.js b/app/components/channel_drawer/swiper/index.js deleted file mode 100644 index 212b0eefc..000000000 --- a/app/components/channel_drawer/swiper/index.js +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -// Used to leverage the platform specific components -import Swiper from './swiper'; -export default Swiper; diff --git a/app/components/channel_drawer/swiper/swiper.android.js b/app/components/channel_drawer/swiper/swiper.android.js deleted file mode 100644 index e3b3a226f..000000000 --- a/app/components/channel_drawer/swiper/swiper.android.js +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import React, {PureComponent} from 'react'; -import PropTypes from 'prop-types'; -import {ViewPagerAndroid} from 'react-native'; - -export default class SwiperAndroid extends PureComponent { - static propTypes = { - children: PropTypes.node.isRequired, - onPageSelected: PropTypes.func, - showTeams: PropTypes.bool.isRequired, - theme: PropTypes.object.isRequired - }; - - static defaultProps = { - onPageSelected: () => true - }; - - swiperPageSelected = (event) => { - this.props.onPageSelected(event.nativeEvent.position); - }; - - showTeamsPage = () => { - this.refs.swiper.setPage(0); - this.props.onPageSelected(0); - }; - - resetPage = () => { - this.refs.swiper.setPageWithoutAnimation(1); - this.props.onPageSelected(1); - }; - - render() { - const { - children, - showTeams, - theme - } = this.props; - - return ( - - {children} - - ); - } -} diff --git a/app/components/drawer.js b/app/components/drawer.js index 9c4ed0a19..a3bcf770f 100644 --- a/app/components/drawer.js +++ b/app/components/drawer.js @@ -12,7 +12,7 @@ export default class Drawer extends BaseDrawer { }; // To fix the android onLayout issue give this a value of 100% as it does not need another one - getHeight = () => '100%'; + getMainHeight = () => '100%'; processTapGestures = () => { // Note that we explicitly don't support tap to open or double tap because I didn't copy them over diff --git a/app/components/formatted_text.js b/app/components/formatted_text.js index 299edf0f9..5f21c07ce 100644 --- a/app/components/formatted_text.js +++ b/app/components/formatted_text.js @@ -80,9 +80,9 @@ class FormattedText extends Component { // approach allows messages to render with React Elements while // keeping React's virtual diffing working properly. nodes = formattedMessage. - split(tokenDelimiter). - filter((part) => Boolean(part)). - map((part) => elements[part] || part); + split(tokenDelimiter). + filter((part) => Boolean(part)). + map((part) => elements[part] || part); } else { nodes = [formattedMessage]; } diff --git a/app/components/post/post.js b/app/components/post/post.js index 6c8907f44..a9d1e04bb 100644 --- a/app/components/post/post.js +++ b/app/components/post/post.js @@ -156,24 +156,24 @@ class Post extends PureComponent { const {intl, navigator, post, theme} = this.props; MaterialIcon.getImageSource('close', 20, theme.sidebarHeaderTextColor). - then((source) => { - navigator.showModal({ - screen: 'AddReaction', - title: intl.formatMessage({id: 'mobile.post_info.add_reaction', defaultMessage: 'Add Reaction'}), - animated: true, - navigatorStyle: { - navBarTextColor: theme.sidebarHeaderTextColor, - navBarBackgroundColor: theme.sidebarHeaderBg, - navBarButtonColor: theme.sidebarHeaderTextColor, - screenBackgroundColor: theme.centerChannelBg - }, - passProps: { - post, - closeButton: source, - onEmojiPress: this.handleAddReactionToPost - } + then((source) => { + navigator.showModal({ + screen: 'AddReaction', + title: intl.formatMessage({id: 'mobile.post_info.add_reaction', defaultMessage: 'Add Reaction'}), + animated: true, + navigatorStyle: { + navBarTextColor: theme.sidebarHeaderTextColor, + navBarBackgroundColor: theme.sidebarHeaderBg, + navBarButtonColor: theme.sidebarHeaderTextColor, + screenBackgroundColor: theme.centerChannelBg + }, + passProps: { + post, + closeButton: source, + onEmojiPress: this.handleAddReactionToPost + } + }); }); - }); } handleFailedPostPress = () => { diff --git a/app/components/post_body_additional_content/post_body_additional_content.js b/app/components/post_body_additional_content/post_body_additional_content.js index ac4402ddb..6b27be4fd 100644 --- a/app/components/post_body_additional_content/post_body_additional_content.js +++ b/app/components/post_body_additional_content/post_body_additional_content.js @@ -252,7 +252,7 @@ export default class PostBodyAdditionalContent extends PureComponent { const isImage = isImageLink(link); const isOpenGraph = Boolean(openGraphData && openGraphData.description); - if ((isImage && !isOpenGraph && !linkLoadError) || isYouTube) { + if (((isImage && !isOpenGraph) || isYouTube) && !linkLoadError) { const embed = this.generateToggleableEmbed(isImage, isYouTube); if (embed && (linkLoaded || isYouTube)) { return embed; diff --git a/app/components/post_list/post_list.js b/app/components/post_list/post_list.js index 280b53565..2da5651db 100644 --- a/app/components/post_list/post_list.js +++ b/app/components/post_list/post_list.js @@ -130,6 +130,10 @@ export default class PostList extends PureComponent { return this.renderPost(item); }; + getItem = (data, index) => data[index]; + + getItemCount = (data) => data.length; + renderPost = (post) => { const { isSearchResult, @@ -177,6 +181,8 @@ export default class PostList extends PureComponent { {...refreshControl} renderItem={this.renderItem} theme={theme} + getItem={this.getItem} + getItemCount={this.getItemCount} /> ); } diff --git a/app/components/radio_button/radio_button_group.js b/app/components/radio_button/radio_button_group.js index 001972d25..d2e061bc1 100644 --- a/app/components/radio_button/radio_button_group.js +++ b/app/components/radio_button/radio_button_group.js @@ -10,7 +10,6 @@ export default class RadioButtonGroup extends PureComponent { static propTypes = { children: PropTypes.node.isRequired, name: PropTypes.string.isRequired, - value: PropTypes.string, onSelect: PropTypes.func }; @@ -19,26 +18,21 @@ export default class RadioButtonGroup extends PureComponent { constructor(props) { super(props); - if (props.value) { - this.state = { - selected: props.value - }; - } else { - React.Children.map(this.props.children, (option) => { - if (option) { - const { - value, - checked - } = option.props; + this.selected = null; + React.Children.forEach(this.props.children, (option) => { + if (option) { + const { + value, + checked + } = option.props; - if (!this.state.selected && checked) { - this.state = { - selected: value - }; - } + if (!this.state.selected && checked) { + this.selected = value; } - }); - } + } + }); + + this.state = {selected: this.selected}; } get value() { diff --git a/app/components/scrollable_section_list/index.js b/app/components/scrollable_section_list/index.js deleted file mode 100644 index 6ae35002b..000000000 --- a/app/components/scrollable_section_list/index.js +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import React from 'react'; -import {SectionList} from 'react-native'; -import MetroListView from 'react-native/Libraries/Lists/MetroListView'; -import VirtualizedSectionList from './virtualized_section_list'; - -export default class ScrollableSectionList extends SectionList { - getWrapperRef = () => { - return this._wrapperListRef; //eslint-disable-line no-underscore-dangle - }; - - render() { - const List = this.props.legacyImplementation ? - MetroListView : - VirtualizedSectionList; - return ( - - ); - } - - _wrapperListRef: MetroListView | VirtualizedSectionList; //eslint-disable-line no-underscore-dangle - _captureRef = (ref) => { - this._wrapperListRef = ref; //eslint-disable-line no-underscore-dangle - }; -} diff --git a/app/components/scrollable_section_list/virtualized_section_list.js b/app/components/scrollable_section_list/virtualized_section_list.js deleted file mode 100644 index e54e8973e..000000000 --- a/app/components/scrollable_section_list/virtualized_section_list.js +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import React from 'react'; -import {VirtualizedList} from 'react-native'; -import VirtualizedSectionList from 'react-native/Libraries/Lists/VirtualizedSectionList'; - -export default class VirtualizedScrollableSectionList extends VirtualizedSectionList { - getListRef() { - return this._listRef; //eslint-disable-line no-underscore-dangle - } - - render() { - return ( - - ); - } - - _listRef: VirtualizedList; - _captureRef = (ref) => { - this._listRef = ref; //eslint-disable-line no-underscore-dangle - }; -} diff --git a/app/components/search_bar/search_bar.android.js b/app/components/search_bar/search_bar.android.js index 98de7c496..74a7bbe93 100644 --- a/app/components/search_bar/search_bar.android.js +++ b/app/components/search_bar/search_bar.android.js @@ -51,7 +51,7 @@ export default class SearchBarAndroid extends PureComponent { backArrowSize: 24, deleteIconSize: 16, searchIconSize: 16, - blurOnSubmit: false, + blurOnSubmit: true, placeholder: 'Search', showCancelButton: true, placeholderTextColor: changeOpacity('#000', 0.5), diff --git a/app/components/search_bar/search_bar.ios.js b/app/components/search_bar/search_bar.ios.js index 5459a36ff..4536f0ec2 100644 --- a/app/components/search_bar/search_bar.ios.js +++ b/app/components/search_bar/search_bar.ios.js @@ -47,7 +47,8 @@ export default class SearchBarIos extends Component { onChangeText: () => true, onFocus: () => true, onBlur: () => true, - onSelectionChange: () => true + onSelectionChange: () => true, + blurOnSubmit: true }; cancel = () => { diff --git a/app/mattermost_managed/mattermost-managed.android.js b/app/mattermost_managed/mattermost-managed.android.js index 8779fb209..5ad1faab7 100644 --- a/app/mattermost_managed/mattermost-managed.android.js +++ b/app/mattermost_managed/mattermost-managed.android.js @@ -15,6 +15,7 @@ export default { } }); }, + clearListeners: () => true, authenticate: LocalAuth.authenticate, blurAppScreen: MattermostManaged.blurAppScreen, getConfig: MattermostManaged.getConfig, diff --git a/app/mattermost_managed/mattermost-managed.ios.js b/app/mattermost_managed/mattermost-managed.ios.js index 34eec68e9..35429dd73 100644 --- a/app/mattermost_managed/mattermost-managed.ios.js +++ b/app/mattermost_managed/mattermost-managed.ios.js @@ -1,19 +1,27 @@ // Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. // See License.txt for license information. -import {NativeModules, NativeEventEmitter} from 'react-native'; +import {NativeModules, DeviceEventEmitter} from 'react-native'; import LocalAuth from 'react-native-local-auth'; import JailMonkey from 'jail-monkey'; const {BlurAppScreen, MattermostManaged} = NativeModules; -const MattermostManagedEvents = new NativeEventEmitter(MattermostManaged); + +const listeners = []; export default { addEventListener: (name, callback) => { - MattermostManagedEvents.addListener(name, (config) => { + const listener = DeviceEventEmitter.addListener(name, (config) => { if (callback && typeof callback === 'function') { callback(config); } }); + + listeners.push(listener); + }, + clearListeners: () => { + listeners.forEach((listener) => { + listener.remove(); + }); }, authenticate: LocalAuth.authenticate, blurAppScreen: BlurAppScreen.enabled, diff --git a/app/push_notifications/push_notifications.android.js b/app/push_notifications/push_notifications.android.js index 9311f8ff6..a71192138 100644 --- a/app/push_notifications/push_notifications.android.js +++ b/app/push_notifications/push_notifications.android.js @@ -70,17 +70,17 @@ class PushNotification { if (options.popInitialNotification) { PendingNotifications.getInitialNotification(). - then((notification) => { - if (notification) { - const data = notification.getData(); - if (data) { - this.handleNotification(data, true); + then((notification) => { + if (notification) { + const data = notification.getData(); + if (data) { + this.handleNotification(data, true); + } } - } - }). - catch((err) => { - console.log('Android getInitialNotifiation() failed', err); //eslint-disable-line no-console - }); + }). + catch((err) => { + console.log('Android getInitialNotifiation() failed', err); //eslint-disable-line no-console + }); } } diff --git a/app/screens/channel/channel.js b/app/screens/channel/channel.js index 81fd4c9ac..f743e9d95 100644 --- a/app/screens/channel/channel.js +++ b/app/screens/channel/channel.js @@ -59,7 +59,7 @@ class Channel extends PureComponent { componentWillMount() { EventEmitter.on('leave_team', this.handleLeaveTeam); - NetInfo.isConnected.addEventListener('change', this.handleConnectionChange); + NetInfo.isConnected.addEventListener('connectionChange', this.handleConnectionChange); NetInfo.isConnected.fetch().then(this.handleConnectionChange); if (this.props.currentTeam) { @@ -89,7 +89,7 @@ class Channel extends PureComponent { const {closeWebSocket, stopPeriodicStatusUpdates} = this.props.actions; EventEmitter.off('leave_team', this.handleLeaveTeam); - NetInfo.isConnected.removeEventListener('change', this.handleConnectionChange); + NetInfo.isConnected.removeEventListener('connectionChange', this.handleConnectionChange); closeWebSocket(); stopPeriodicStatusUpdates(); diff --git a/app/screens/channel/channel_post_list/channel_post_list.js b/app/screens/channel/channel_post_list/channel_post_list.js index 0416aa4cc..80babd10d 100644 --- a/app/screens/channel/channel_post_list/channel_post_list.js +++ b/app/screens/channel/channel_post_list/channel_post_list.js @@ -262,7 +262,8 @@ const style = StyleSheet.create({ paddingHorizontal: 10, position: 'absolute', top: 0, - width: deviceWidth + width: deviceWidth, + overflow: 'hidden' } }); diff --git a/app/screens/image_preview/downloader.ios.js b/app/screens/image_preview/downloader.ios.js index db50dc587..a523d331f 100644 --- a/app/screens/image_preview/downloader.ios.js +++ b/app/screens/image_preview/downloader.ios.js @@ -86,7 +86,7 @@ export default class Downloader extends PureComponent { const res = await this.downloadTask; const path = res.path(); - const newPath = await CameraRoll.saveToCameraRoll(path); + const newPath = await CameraRoll.saveToCameraRoll(path, 'photo'); this.setState({ progress: 100 diff --git a/app/screens/image_preview/image_preview.js b/app/screens/image_preview/image_preview.js index e58889df5..40a35d046 100644 --- a/app/screens/image_preview/image_preview.js +++ b/app/screens/image_preview/image_preview.js @@ -68,7 +68,7 @@ export default class ImagePreview extends PureComponent { footerOpacity: new Animated.Value(1), pagingEnabled: true, showFileInfo: true, - wrapperViewOpacity: new Animated.Value(Platform.OS === 'android' ? 0 : 1) + wrapperViewOpacity: new Animated.Value(0) }; } @@ -86,24 +86,13 @@ export default class ImagePreview extends PureComponent { componentDidMount() { Orientation.unlockAllOrientations(); - - // TODO: Use contentOffset on Android once PR is merged - // This is a hack until this PR gets merged: https://github.com/facebook/react-native/pull/12502 - // On Android there is a render animation for scrollViews. In order for scrollTo to work - // on scrollViews we have to wait for the animation to finish. This will cause a bad flicker when we - // want to set the offset of the scrollView to show say the second file of a post with 3 files. - // Using this delayed opacity animation allows us to wait for the scrollView animation to finish, - // scollTo the correct offset for the chosen file, and then fade in like the component does on iOS. - if (Platform.OS === 'android') { - InteractionManager.runAfterInteractions(() => { - this.scrollView.scrollTo({x: (this.state.currentFile) * this.state.deviceWidth, animated: false}); - Animated.timing(this.state.wrapperViewOpacity, { - toValue: 1, - duration: 200, - delay: 75 - }).start(); - }); - } + InteractionManager.runAfterInteractions(() => { + this.scrollView.scrollTo({x: (this.state.currentFile) * this.state.deviceWidth, animated: false}); + Animated.timing(this.state.wrapperViewOpacity, { + toValue: 1, + duration: 100 + }).start(); + }); } componentWillUnmount() { @@ -176,9 +165,11 @@ export default class ImagePreview extends PureComponent { }; handleScroll = (event) => { - if (event.nativeEvent.contentOffset.x % this.state.deviceWidth === 0) { + const offset = event.nativeEvent.contentOffset.x / this.state.deviceWidth; + const wholeNumber = Number((offset).toFixed(0)); + if (Math.abs(offset - wholeNumber) < 0.01) { this.setState({ - currentFile: (event.nativeEvent.contentOffset.x / this.state.deviceWidth), + currentFile: wholeNumber, pagingEnabled: true, shouldShrinkImages: false }); @@ -340,8 +331,8 @@ export default class ImagePreview extends PureComponent { pagingEnabled={!this.state.isZooming} bounces={false} onScroll={this.handleScroll} - scrollEventThrottle={1} - contentOffset={{x: (this.state.currentFile) * this.state.deviceWidth}} + scrollEventThrottle={2} + > {this.props.files.map((file, index) => { let component; diff --git a/app/screens/image_preview/image_view.android.js b/app/screens/image_preview/image_view.android.js index 31a172774..6e4557c9e 100644 --- a/app/screens/image_preview/image_view.android.js +++ b/app/screens/image_preview/image_view.android.js @@ -5,9 +5,9 @@ import React, {Component} from 'react'; import PropTypes from 'prop-types'; import { - Animated, - View, - PanResponder + Animated, + View, + PanResponder } from 'react-native'; const {Image: AnimatedImage} = Animated; @@ -152,7 +152,7 @@ export default class ImageView extends Component { setZoom = (zoom = true) => { const zoomScale = zoom ? this.props.maximumZoomScale : this.props.minimumZoomScale; const offsetByZoom = calcOffsetByZoom(this.state.width, this.state.height, - this.props.wrapperWidth, this.props.wrapperHeight, zoomScale); + this.props.wrapperWidth, this.props.wrapperHeight, zoomScale); this.setState({ zoom: zoomScale, @@ -189,7 +189,7 @@ export default class ImageView extends Component { }); } else { const offsetByZoom = calcOffsetByZoom(this.state.width, this.state.height, - this.props.wrapperWidth, this.props.wrapperHeight, this.state.zoom); + this.props.wrapperWidth, this.props.wrapperHeight, this.state.zoom); this.setState({ isZooming: true, initialDistance: distance, diff --git a/app/screens/image_preview/previewer.js b/app/screens/image_preview/previewer.js index 212459c13..be97bf8c4 100644 --- a/app/screens/image_preview/previewer.js +++ b/app/screens/image_preview/previewer.js @@ -81,6 +81,10 @@ export default class Previewer extends Component { }); } + componentDidMount() { + this.mounted = true; + } + componentWillReceiveProps(nextProps) { if (this.props.shrink && !nextProps.shrink) { this.setShrink(); @@ -89,6 +93,10 @@ export default class Previewer extends Component { } } + componentWillUnmount() { + this.mounted = false; + } + setShrink = (shrink = false) => { const {gutter, imageHeight, imageWidth} = this.props; @@ -187,6 +195,10 @@ export default class Previewer extends Component { }; handleZoom = (zoom) => { + if (!this.mounted) { + return; + } + this.setState({ isZooming: zoom }); diff --git a/app/screens/search/search.js b/app/screens/search/search.js index 5034f4253..961ec19d3 100644 --- a/app/screens/search/search.js +++ b/app/screens/search/search.js @@ -8,6 +8,7 @@ import { Dimensions, Keyboard, Platform, + SectionList, StyleSheet, Text, TouchableHighlight, @@ -23,7 +24,6 @@ import Autocomplete from 'app/components/autocomplete'; import FormattedText from 'app/components/formatted_text'; import Loading from 'app/components/loading'; import Post from 'app/components/post'; -import SectionList from 'app/components/scrollable_section_list'; import SearchBar from 'app/components/search_bar'; import SearchPreview from 'app/components/search_preview'; import StatusBar from 'app/components/status_bar'; @@ -100,7 +100,7 @@ class Search extends Component { if (shouldScroll && !this.state.isFocused) { setTimeout(() => { - this.refs.list.getWrapperRef().getListRef().scrollToOffset({ + this.refs.list._wrapperListRef.getListRef().scrollToOffset({ //eslint-disable-line no-underscore-dangle animated: true, offset: SECTION_HEIGHT + (2 * MODIFIER_LABEL_HEIGHT) + (recentLenght * RECENT_LABEL_HEIGHT) + ((recentLenght + 1) * RECENT_SEPARATOR_HEIGHT) }); @@ -385,7 +385,7 @@ class Search extends Component { }; scrollToTop = () => { - this.refs.list.getWrapperRef().getListRef().scrollToOffset({ + this.refs.list._wrapperListRef.getListRef().scrollToOffset({ //eslint-disable-line no-underscore-dangle animated: false, offset: 0 }); diff --git a/app/screens/settings/notification_settings_email/notification_settings_email.js b/app/screens/settings/notification_settings_email/notification_settings_email.js index 512ac27de..45da1c978 100644 --- a/app/screens/settings/notification_settings_email/notification_settings_email.js +++ b/app/screens/settings/notification_settings_email/notification_settings_email.js @@ -36,7 +36,7 @@ export default class NotificationSettingsEmail extends PureComponent { const notifyProps = currentUser.notify_props || {}; props.navigator.setOnNavigatorEvent(this.onNavigatorEvent); - this.setStateFromNotifyProps(notifyProps); + this.state = this.setStateFromNotifyProps(notifyProps); } onNavigatorEvent = (event) => { @@ -76,12 +76,10 @@ export default class NotificationSettingsEmail extends PureComponent { } } - const newState = { + return { ...notifyProps, interval }; - - this.state = {...newState}; }; saveUserNotifyProps = () => { diff --git a/app/screens/settings/notification_settings_mentions/notification_settings_mention_base.js b/app/screens/settings/notification_settings_mentions/notification_settings_mention_base.js index 5dbd99385..99a17f773 100644 --- a/app/screens/settings/notification_settings_mentions/notification_settings_mention_base.js +++ b/app/screens/settings/notification_settings_mentions/notification_settings_mention_base.js @@ -23,7 +23,7 @@ export default class NotificationSettingsMentionsBase extends PureComponent { props.navigator.setOnNavigatorEvent(this.onNavigatorEvent); this.goingBack = true; //use to identify if the navigator is popping this screen - this.setStateFromNotifyProps(notifyProps); + this.state = this.setStateFromNotifyProps(notifyProps); } onNavigatorEvent = (event) => { @@ -56,7 +56,8 @@ export default class NotificationSettingsMentionsBase extends PureComponent { this.keywords = newState.mention_keys; this.replyValue = comments; - this.state = {...newState}; + + return newState; }; toggleFirstNameMention = () => { diff --git a/app/screens/settings/notification_settings_mobile/notification_settings_mobile_base.js b/app/screens/settings/notification_settings_mobile/notification_settings_mobile_base.js index 4c6b4d05c..aa7828f1c 100644 --- a/app/screens/settings/notification_settings_mobile/notification_settings_mobile_base.js +++ b/app/screens/settings/notification_settings_mobile/notification_settings_mobile_base.js @@ -88,16 +88,16 @@ export default class NotificationSettingsMobileBase extends PureComponent { saveUserNotifyProps = () => { const { - channel, - comments, - desktop, - desktop_duration, - email, - first_name, - mention_keys, - push, - push_status - } = this.state; + channel, + comments, + desktop, + desktop_duration, + email, + first_name, + mention_keys, + push, + push_status + } = this.state; this.props.onBack({ channel, diff --git a/ios/Mattermost.xcodeproj/project.pbxproj b/ios/Mattermost.xcodeproj/project.pbxproj index 9140023e2..16f86dc15 100644 --- a/ios/Mattermost.xcodeproj/project.pbxproj +++ b/ios/Mattermost.xcodeproj/project.pbxproj @@ -15,7 +15,6 @@ 00E356F31AD99517003FC87E /* MattermostTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* MattermostTests.m */; }; 0111A42B7F264BCF8CBDE3ED /* OpenSans-ExtraBoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = FBBEC29EE2D3418D9AC33BD5 /* OpenSans-ExtraBoldItalic.ttf */; }; 0C0D24F53F254F75869E5951 /* OpenSans-Italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 41F3AFE83AAF4B74878AB78A /* OpenSans-Italic.ttf */; }; - 10CD747CE4304BD6AB38B4CD /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EE671DF7637347CD8C069819 /* libRNDeviceInfo.a */; }; 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; @@ -24,55 +23,57 @@ 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; - 1B5204C4347D45A9A7AC3EA5 /* libReactNativeExceptionHandler.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4A22BC320BA04E18A7F2A4E6 /* libReactNativeExceptionHandler.a */; }; 1BCA51319AC6442991C6A208 /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0A091BF1A3D04650AD306A0D /* Zocial.ttf */; }; - 1C1F002AC5DE465FAE9E0D74 /* libFastImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C0C75A424714EAC8E876A8F /* libFastImage.a */; }; - 2B2679D44CFA48E6A60D68BC /* libRNFetchBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B19E38FBCB94C57BB03B8E6 /* libRNFetchBlob.a */; }; + 2A167658767AAB5161E3271B /* libPods-Mattermost.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 65FD5EA57EBAE06106094B2F /* libPods-Mattermost.a */; }; 2B4C9B708010475DA575B81D /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F1F071EE85494E269A50AE88 /* SimpleLineIcons.ttf */; }; 2D5296A8926B4D7FBAF2D6E2 /* OpenSans-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6561AEAC21CC40B8A72ABB93 /* OpenSans-Light.ttf */; }; - 2E3655C7E15049DBBC3A666B /* libRNImagePicker.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DFE628F5A526417D85AD635E /* libRNImagePicker.a */; }; 374634801E8480C2005E1244 /* libRCTOrientation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 374634671E848085005E1244 /* libRCTOrientation.a */; }; 375218501F4B9EE70035444B /* libRCTCameraRoll.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3752184F1F4B9E980035444B /* libRCTCameraRoll.a */; }; 37ABD3C81F4CE142001FDE6B /* libART.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 37ABD39C1F4CE13B001FDE6B /* libART.a */; }; 382D94CF15EE4FC292C3F341 /* Foundation.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 51F5A483EA9F4A9A87ACFB59 /* Foundation.ttf */; }; - 38FB8B0A3AAD4F839EF6EF0B /* libJailMonkey.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 77810F0A063349439B0D8B6B /* libJailMonkey.a */; }; 3D38ABA732A34A9BB3294F90 /* EvilIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 349FBA7338E74D9BBD709528 /* EvilIcons.ttf */; }; 420A7328E12C4B72AEF420CE /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EDC04CBCF81642219D199CBB /* Octicons.ttf */; }; 55C6561DDBBA45929D88B6D1 /* OpenSans-BoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 32AC3D4EA79E44738A6E9766 /* OpenSans-BoldItalic.ttf */; }; - 584837D6B55F405F908A2053 /* libBVLinearGradient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ACC6B9FDC0AD45A6BFA4FBCD /* libBVLinearGradient.a */; }; 5CB86E9DFB94485CAA748DF3 /* YTPlayerView-iframe-player.html in Resources */ = {isa = PBXBuildFile; fileRef = 79CB6EBA24FE4ABFB0C155F0 /* YTPlayerView-iframe-player.html */; }; 5E1AF7B72B8D4A4E9E53FF9D /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 005346E5C0E542BFABAE1411 /* FontAwesome.ttf */; }; 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; - 5F190C97C28E4E5E93D933C0 /* libRCTYouTube.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EAB7CA059E14A73918789B6 /* libRCTYouTube.a */; }; - 615D2E7805814A3A9B9C69EC /* libRNLocalAuth.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EE3EE4548D3F4A49B1274722 /* libRNLocalAuth.a */; }; 62A8448264674B4D95A5A7C2 /* OpenSans-Semibold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C78A387124874496AD2C1466 /* OpenSans-Semibold.ttf */; }; 69AC753E496743BABB7A7124 /* OpenSans-SemiboldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0E617BF0F36D4E738F51D169 /* OpenSans-SemiboldItalic.ttf */; }; 7F2691A11EE1DC6A007574FE /* libRNNotifications.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F2691A01EE1DC51007574FE /* libRNNotifications.a */; }; 7F292A711E8AB73400A450A3 /* SplashScreenResource in Resources */ = {isa = PBXBuildFile; fileRef = 7F292A701E8AB73400A450A3 /* SplashScreenResource */; }; 7F292AA61E8ABB1100A450A3 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7F292AA41E8ABB1100A450A3 /* LaunchScreen.xib */; }; 7F292AA71E8ABB1100A450A3 /* splash.png in Resources */ = {isa = PBXBuildFile; fileRef = 7F292AA51E8ABB1100A450A3 /* splash.png */; }; + 7F43D5A01F6BF882001FC614 /* libRNDeviceInfo.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 37DD11281E79EBE1004111BA /* libRNDeviceInfo.a */; }; + 7F43D5D61F6BF8C2001FC614 /* libRNLocalAuth.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F8C49871F3DFC30003A22BA /* libRNLocalAuth.a */; }; + 7F43D5D71F6BF8D0001FC614 /* libRNPasscodeStatus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F8C49F81F3E0710003A22BA /* libRNPasscodeStatus.a */; }; + 7F43D5D81F6BF8E9001FC614 /* libJailMonkey.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F8C4A621F3E21FB003A22BA /* libJailMonkey.a */; }; + 7F43D5D91F6BF8F4001FC614 /* libFastImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F8AAB3C1F4E0FEB00F5A52C /* libFastImage.a */; }; + 7F43D5DA1F6BF92C001FC614 /* libRNFetchBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 375218411F4B9E320035444B /* libRNFetchBlob.a */; }; + 7F43D5DB1F6BF93B001FC614 /* libReactNativeExceptionHandler.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FA7950B1F61A1A500C02924 /* libReactNativeExceptionHandler.a */; }; + 7F43D5DC1F6BF946001FC614 /* libRNSentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FA795061F61A1A500C02924 /* libRNSentry.a */; }; + 7F43D5DD1F6BF95F001FC614 /* libRNCookieManagerIOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 372E25671F5F0E1800A2BFAB /* libRNCookieManagerIOS.a */; }; + 7F43D5DE1F6BF96A001FC614 /* libRCTYouTube.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F43D5BE1F6BF882001FC614 /* libRCTYouTube.a */; }; + 7F43D5E01F6BF994001FC614 /* libRNSVG.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F43D5DF1F6BF994001FC614 /* libRNSVG.a */; }; + 7F43D6061F6BF9EB001FC614 /* libPods-Mattermost.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F43D6051F6BF9EB001FC614 /* libPods-Mattermost.a */; }; + 7F43D63F1F6BFA19001FC614 /* libBVLinearGradient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 37D8FEC21E80B5230091F3BD /* libBVLinearGradient.a */; }; + 7F43D6401F6BFA82001FC614 /* libRCTPushNotification.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F63D2811E6C957C001FAE12 /* libRCTPushNotification.a */; }; 7F6877B31E7836070094B63F /* libToolTipMenu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F6877B01E7835E50094B63F /* libToolTipMenu.a */; }; - 7FBB5E9A1E1F5A4B000DE18A /* libRNSVG.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FDF28E11E1F4B1F00DBBE56 /* libRNSVG.a */; }; 7FBB5E9B1E1F5A4B000DE18A /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FDF290C1E1F4B4E00DBBE56 /* libRNVectorIcons.a */; }; 7FC200E81EBB65370099331B /* libReactNativeNavigation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FC200DF1EBB65100099331B /* libReactNativeNavigation.a */; }; 7FEB10981F6101710039A015 /* BlurAppScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FEB10971F6101710039A015 /* BlurAppScreen.m */; }; 7FEB109D1F61019C0039A015 /* MattermostManaged.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FEB109A1F61019C0039A015 /* MattermostManaged.m */; }; 7FEB109E1F61019C0039A015 /* UIImage+ImageEffects.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FEB109C1F61019C0039A015 /* UIImage+ImageEffects.m */; }; - 7FED0C321E7C4AAC001A7CCA /* libRNCookieManagerIOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F906D971E6A1ADF00B8F49A /* libRNCookieManagerIOS.a */; }; 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; 895C9A56B94A45C1BAF568FE /* Entypo.ttf in Resources */ = {isa = PBXBuildFile; fileRef = AC6EB561E1F64C17A69D2FAD /* Entypo.ttf */; }; 9358B95F95184EE0A4DCE629 /* OpenSans-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D4B1B363C2414DA19C1AC521 /* OpenSans-Bold.ttf */; }; A08D512E7ADC40CCAD055A9E /* OpenSans-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BC977883E2624E05975CA65B /* OpenSans-Regular.ttf */; }; - A14B2A56A554E84DFE3D6580 /* libPods-Mattermost.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 65FD5EA57EBAE06106094B2F /* libPods-Mattermost.a */; }; C035DB50ED2045F09923FFAE /* MaterialCommunityIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 04AA5E8EF3B54735A11E3B95 /* MaterialCommunityIcons.ttf */; }; C337E8708D2845C6A8DBB47E /* Ionicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 2DCFD31D3F4A4154822AB532 /* Ionicons.ttf */; }; - CB1B312483534997BEE7E65E /* libRNSentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AE23B96BF7545B9A77C0C87 /* libRNSentry.a */; }; D719A67137964F08BE47A5FC /* OpenSans-ExtraBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 3647DF63D6764CF093375861 /* OpenSans-ExtraBold.ttf */; }; DEBCF44F1F46413BB407D316 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 8606EB1EB7E349EF8248933E /* libz.tbd */; }; F006936FC2884C24A1321FC0 /* MaterialIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 356C9186FA374641A00EB2EA /* MaterialIcons.ttf */; }; F083DB472349411A8E6E7AAD /* OpenSans-LightItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = BE17F630DB5D41FD93F32D22 /* OpenSans-LightItalic.ttf */; }; F23C99AA5FA10E457A76803A /* libPods-MattermostTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4246DC09024BB33A3E491E25 /* libPods-MattermostTests.a */; }; - FDEF24E9D9AB47728E11033B /* libRNPasscodeStatus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 17A75F5A3D0D4A4A995DCD76 /* libRNPasscodeStatus.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -139,6 +140,13 @@ remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; remoteInfo = React; }; + 372E25661F5F0E1800A2BFAB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 62A58E5E984E4CF1811620B8 /* RNCookieManagerIOS.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 1BD725DA1CF77A8B005DBD79; + remoteInfo = RNCookieManagerIOS; + }; 374634661E848085005E1244 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 5C3B95629BA74FB3A8377CB7 /* RCTOrientation.xcodeproj */; @@ -160,13 +168,6 @@ remoteGlobalIDString = 58B5115D1A9E6B3D00147676; remoteInfo = RCTCameraRoll; }; - 3779BE9F1EB1235400D081C1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 85E82BCA0FD245EEA520D106 /* RNImagePicker.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 014A3B5C1C6CF33500B6D375; - remoteInfo = RNImagePicker; - }; 37ABD39B1F4CE13B001FDE6B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 37ABD3971F4CE13B001FDE6B /* ART.xcodeproj */; @@ -188,6 +189,48 @@ remoteGlobalIDString = DA5891D81BA9A9FC002B4DB2; remoteInfo = RNDeviceInfo; }; + 37DF8AC81F5F0D430079BF89 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 37ABD3971F4CE13B001FDE6B /* ART.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 323A12871E5F266B004975B8; + remoteInfo = "ART-tvOS"; + }; + 37DF8ACC1F5F0D430079BF89 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 7DCC3D826CE640AF8F491692 /* BVLinearGradient.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 64AA15081EF7F30100718508; + remoteInfo = "BVLinearGradient-tvOS"; + }; + 37DF8AF11F5F0D430079BF89 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7; + remoteInfo = "third-party"; + }; + 37DF8AF31F5F0D430079BF89 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D383D3C1EBD27B6005632C8; + remoteInfo = "third-party-tvOS"; + }; + 37DF8AF51F5F0D430079BF89 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 139D7E881E25C6D100323FB7; + remoteInfo = "double-conversion"; + }; + 37DF8AF71F5F0D430079BF89 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3D383D621EBD27B9005632C8; + remoteInfo = "double-conversion-tvOS"; + }; 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; @@ -307,6 +350,20 @@ remoteGlobalIDString = 134814201AA4EA6300B7C361; remoteInfo = RNNotifications; }; + 7F43D5BD1F6BF882001FC614 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = A2968536BEC74A4ABBB73BD9 /* RCTYouTube.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8BDB9BC91B4289AE00EF9FEF; + remoteInfo = RCTYouTube; + }; + 7F43D63A1F6BF9EB001FC614 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 2CBE9C0FB56E4FDA96C30792 /* RNSVG.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 7F43D6041F6BF9CA001FC614; + remoteInfo = "RNSVG-tvOS"; + }; 7F63D2801E6C957C001FAE12 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 7F63D27B1E6C957C001FAE12 /* RCTPushNotification.xcodeproj */; @@ -363,20 +420,6 @@ remoteGlobalIDString = 38C138441D3FC3F600A8162D; remoteInfo = JailMonkey; }; - 7F906D961E6A1ADF00B8F49A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 31A0780E2F224AC8AF8E6930 /* RNCookieManagerIOS.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 1BD725DA1CF77A8B005DBD79; - remoteInfo = RNCookieManagerIOS; - }; - 7FA794EC1F61A1A500C02924 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = A2968536BEC74A4ABBB73BD9 /* RCTYouTube.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 8BDB9BC91B4289AE00EF9FEF; - remoteInfo = RCTYouTube; - }; 7FA795051F61A1A500C02924 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 9552041247E749308CE7B412 /* RNSentry.xcodeproj */; @@ -463,7 +506,6 @@ 2B25899FDAC149EB96ED3305 /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "../node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = ""; }; 2CBE9C0FB56E4FDA96C30792 /* RNSVG.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNSVG.xcodeproj; path = "../node_modules/react-native-svg/ios/RNSVG.xcodeproj"; sourceTree = ""; }; 2DCFD31D3F4A4154822AB532 /* Ionicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Ionicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf"; sourceTree = ""; }; - 31A0780E2F224AC8AF8E6930 /* RNCookieManagerIOS.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNCookieManagerIOS.xcodeproj; path = "../node_modules/react-native-cookies/RNCookieManagerIOS.xcodeproj"; sourceTree = ""; }; 32AC3D4EA79E44738A6E9766 /* OpenSans-BoldItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-BoldItalic.ttf"; path = "../assets/fonts/OpenSans-BoldItalic.ttf"; sourceTree = ""; }; 349FBA7338E74D9BBD709528 /* EvilIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = EvilIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf"; sourceTree = ""; }; 356C9186FA374641A00EB2EA /* MaterialIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf"; sourceTree = ""; }; @@ -482,9 +524,11 @@ 546CB0A5BB8F453890CBA559 /* 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 = ""; }; 5C3B95629BA74FB3A8377CB7 /* RCTOrientation.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RCTOrientation.xcodeproj; path = "../node_modules/react-native-orientation/iOS/RCTOrientation.xcodeproj"; sourceTree = ""; }; 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; + 62A58E5E984E4CF1811620B8 /* RNCookieManagerIOS.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNCookieManagerIOS.xcodeproj; path = "../node_modules/react-native-cookies/ios/RNCookieManagerIOS.xcodeproj"; sourceTree = ""; }; 634A8F047C73D24A87850EC0 /* Pods-Mattermost.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Mattermost.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Mattermost/Pods-Mattermost.debug.xcconfig"; sourceTree = ""; }; 6561AEAC21CC40B8A72ABB93 /* OpenSans-Light.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-Light.ttf"; path = "../assets/fonts/OpenSans-Light.ttf"; sourceTree = ""; }; 65FD5EA57EBAE06106094B2F /* libPods-Mattermost.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Mattermost.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 7535D128F00C4A47A182627E /* libRNCookieManagerIOS.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNCookieManagerIOS.a; sourceTree = ""; }; 77810F0A063349439B0D8B6B /* libJailMonkey.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libJailMonkey.a; sourceTree = ""; }; 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 79CB6EBA24FE4ABFB0C155F0 /* YTPlayerView-iframe-player.html */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "YTPlayerView-iframe-player.html"; path = "../node_modules/react-native-youtube/assets/YTPlayerView-iframe-player.html"; sourceTree = ""; }; @@ -493,6 +537,8 @@ 7F292A701E8AB73400A450A3 /* SplashScreenResource */ = {isa = PBXFileReference; lastKnownFileType = folder; path = SplashScreenResource; sourceTree = ""; }; 7F292AA41E8ABB1100A450A3 /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = LaunchScreen.xib; path = SplashScreenResource/LaunchScreen.xib; sourceTree = ""; }; 7F292AA51E8ABB1100A450A3 /* splash.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = splash.png; path = SplashScreenResource/splash.png; sourceTree = ""; }; + 7F43D5DF1F6BF994001FC614 /* libRNSVG.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libRNSVG.a; path = "../../../../../../../Library/Developer/Xcode/DerivedData/Mattermost-czlinsdviifujheezzjvmisotjrm/Build/Products/Debug-iphonesimulator/libRNSVG.a"; sourceTree = ""; }; + 7F43D6051F6BF9EB001FC614 /* libPods-Mattermost.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libPods-Mattermost.a"; path = "../../../../../../../Library/Developer/Xcode/DerivedData/Mattermost-czlinsdviifujheezzjvmisotjrm/Build/Products/Debug-iphonesimulator/libPods-Mattermost.a"; sourceTree = ""; }; 7F63D27B1E6C957C001FAE12 /* RCTPushNotification.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTPushNotification.xcodeproj; path = "../node_modules/react-native/Libraries/PushNotificationIOS/RCTPushNotification.xcodeproj"; sourceTree = ""; }; 7F63D2C21E6DD98A001FAE12 /* Mattermost.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = Mattermost.entitlements; path = Mattermost/Mattermost.entitlements; sourceTree = ""; }; 7F6877AA1E7835E50094B63F /* ToolTipMenu.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ToolTipMenu.xcodeproj; path = "../node_modules/react-native-tooltip/ToolTipMenu.xcodeproj"; sourceTree = ""; }; @@ -504,9 +550,7 @@ 7FEB109B1F61019C0039A015 /* UIImage+ImageEffects.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIImage+ImageEffects.h"; path = "Mattermost/UIImage+ImageEffects.h"; sourceTree = ""; }; 7FEB109C1F61019C0039A015 /* UIImage+ImageEffects.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIImage+ImageEffects.m"; path = "Mattermost/UIImage+ImageEffects.m"; sourceTree = ""; }; 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; - 85E82BCA0FD245EEA520D106 /* RNImagePicker.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNImagePicker.xcodeproj; path = "../node_modules/react-native-image-picker/ios/RNImagePicker.xcodeproj"; sourceTree = ""; }; 8606EB1EB7E349EF8248933E /* libz.tbd */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; - 8EAB7CA059E14A73918789B6 /* libRCTYouTube.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRCTYouTube.a; sourceTree = ""; }; 9552041247E749308CE7B412 /* RNSentry.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNSentry.xcodeproj; path = "../node_modules/react-native-sentry/ios/RNSentry.xcodeproj"; sourceTree = ""; }; A2968536BEC74A4ABBB73BD9 /* RCTYouTube.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RCTYouTube.xcodeproj; path = "../node_modules/react-native-youtube/RCTYouTube.xcodeproj"; sourceTree = ""; }; AC6EB561E1F64C17A69D2FAD /* Entypo.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Entypo.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Entypo.ttf"; sourceTree = ""; }; @@ -518,7 +562,6 @@ C78A387124874496AD2C1466 /* OpenSans-Semibold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-Semibold.ttf"; path = "../assets/fonts/OpenSans-Semibold.ttf"; sourceTree = ""; }; D0281D64B98143668D6AD42B /* RNLocalAuth.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNLocalAuth.xcodeproj; path = "../node_modules/react-native-local-auth/RNLocalAuth.xcodeproj"; sourceTree = ""; }; D4B1B363C2414DA19C1AC521 /* OpenSans-Bold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "OpenSans-Bold.ttf"; path = "../assets/fonts/OpenSans-Bold.ttf"; sourceTree = ""; }; - DFE628F5A526417D85AD635E /* libRNImagePicker.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNImagePicker.a; sourceTree = ""; }; EBA6063A99C141098D40C67A /* RNPasscodeStatus.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNPasscodeStatus.xcodeproj; path = "../node_modules/react-native-passcode-status/ios/RNPasscodeStatus.xcodeproj"; sourceTree = ""; }; EDC04CBCF81642219D199CBB /* Octicons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = Octicons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = ""; }; EE3EE4548D3F4A49B1274722 /* libRNLocalAuth.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNLocalAuth.a; sourceTree = ""; }; @@ -543,7 +586,7 @@ files = ( 37ABD3C81F4CE142001FDE6B /* libART.a in Frameworks */, 375218501F4B9EE70035444B /* libRCTCameraRoll.a in Frameworks */, - 7FBB5E9A1E1F5A4B000DE18A /* libRNSVG.a in Frameworks */, + 7F43D5E01F6BF994001FC614 /* libRNSVG.a in Frameworks */, 7FBB5E9B1E1F5A4B000DE18A /* libRNVectorIcons.a in Frameworks */, 5E9157361DD0AC6A00FF2AA8 /* libRCTAnimation.a in Frameworks */, 146834051AC3E58100842450 /* libReact.a in Frameworks */, @@ -557,23 +600,24 @@ 374634801E8480C2005E1244 /* libRCTOrientation.a in Frameworks */, 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, - 7FED0C321E7C4AAC001A7CCA /* libRNCookieManagerIOS.a in Frameworks */, - 10CD747CE4304BD6AB38B4CD /* libRNDeviceInfo.a in Frameworks */, - 584837D6B55F405F908A2053 /* libBVLinearGradient.a in Frameworks */, + 7F43D5A01F6BF882001FC614 /* libRNDeviceInfo.a in Frameworks */, + 7F43D63F1F6BFA19001FC614 /* libBVLinearGradient.a in Frameworks */, 7F6877B31E7836070094B63F /* libToolTipMenu.a in Frameworks */, - 2E3655C7E15049DBBC3A666B /* libRNImagePicker.a in Frameworks */, 7FC200E81EBB65370099331B /* libReactNativeNavigation.a in Frameworks */, 7F2691A11EE1DC6A007574FE /* libRNNotifications.a in Frameworks */, - 615D2E7805814A3A9B9C69EC /* libRNLocalAuth.a in Frameworks */, - FDEF24E9D9AB47728E11033B /* libRNPasscodeStatus.a in Frameworks */, - 38FB8B0A3AAD4F839EF6EF0B /* libJailMonkey.a in Frameworks */, - 1C1F002AC5DE465FAE9E0D74 /* libFastImage.a in Frameworks */, - 2B2679D44CFA48E6A60D68BC /* libRNFetchBlob.a in Frameworks */, - 1B5204C4347D45A9A7AC3EA5 /* libReactNativeExceptionHandler.a in Frameworks */, - CB1B312483534997BEE7E65E /* libRNSentry.a in Frameworks */, + 7F43D5D61F6BF8C2001FC614 /* libRNLocalAuth.a in Frameworks */, + 7F43D5D71F6BF8D0001FC614 /* libRNPasscodeStatus.a in Frameworks */, + 7F43D5D81F6BF8E9001FC614 /* libJailMonkey.a in Frameworks */, + 7F43D5D91F6BF8F4001FC614 /* libFastImage.a in Frameworks */, + 7F43D5DA1F6BF92C001FC614 /* libRNFetchBlob.a in Frameworks */, + 7F43D5DB1F6BF93B001FC614 /* libReactNativeExceptionHandler.a in Frameworks */, + 7F43D5DC1F6BF946001FC614 /* libRNSentry.a in Frameworks */, DEBCF44F1F46413BB407D316 /* libz.tbd in Frameworks */, - 5F190C97C28E4E5E93D933C0 /* libRCTYouTube.a in Frameworks */, - A14B2A56A554E84DFE3D6580 /* libPods-Mattermost.a in Frameworks */, + 7F43D5DD1F6BF95F001FC614 /* libRNCookieManagerIOS.a in Frameworks */, + 7F43D6401F6BFA82001FC614 /* libRCTPushNotification.a in Frameworks */, + 7F43D5DE1F6BF96A001FC614 /* libRCTYouTube.a in Frameworks */, + 7F43D6061F6BF9EB001FC614 /* libPods-Mattermost.a in Frameworks */, + 2A167658767AAB5161E3271B /* libPods-Mattermost.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -717,6 +761,18 @@ 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */, 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */, 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */, + 37DF8AF21F5F0D430079BF89 /* libthird-party.a */, + 37DF8AF41F5F0D430079BF89 /* libthird-party.a */, + 37DF8AF61F5F0D430079BF89 /* libdouble-conversion.a */, + 37DF8AF81F5F0D430079BF89 /* libdouble-conversion.a */, + ); + name = Products; + sourceTree = ""; + }; + 372E25631F5F0E1800A2BFAB /* Products */ = { + isa = PBXGroup; + children = ( + 372E25671F5F0E1800A2BFAB /* libRNCookieManagerIOS.a */, ); name = Products; sourceTree = ""; @@ -745,18 +801,11 @@ name = Products; sourceTree = ""; }; - 3779BE7C1EB1235400D081C1 /* Products */ = { - isa = PBXGroup; - children = ( - 3779BEA01EB1235400D081C1 /* libRNImagePicker.a */, - ); - name = Products; - sourceTree = ""; - }; 37ABD3981F4CE13B001FDE6B /* Products */ = { isa = PBXGroup; children = ( 37ABD39C1F4CE13B001FDE6B /* libART.a */, + 37DF8AC91F5F0D430079BF89 /* libART-tvOS.a */, ); name = Products; sourceTree = ""; @@ -765,6 +814,7 @@ isa = PBXGroup; children = ( 37D8FEC21E80B5230091F3BD /* libBVLinearGradient.a */, + 37DF8ACD1F5F0D430079BF89 /* libBVLinearGradient.a */, ); name = Products; sourceTree = ""; @@ -777,9 +827,29 @@ name = Products; sourceTree = ""; }; + 37DF8AC51F5F0D410079BF89 /* Recovered References */ = { + isa = PBXGroup; + children = ( + EE671DF7637347CD8C069819 /* libRNDeviceInfo.a */, + ACC6B9FDC0AD45A6BFA4FBCD /* libBVLinearGradient.a */, + EE3EE4548D3F4A49B1274722 /* libRNLocalAuth.a */, + 17A75F5A3D0D4A4A995DCD76 /* libRNPasscodeStatus.a */, + 77810F0A063349439B0D8B6B /* libJailMonkey.a */, + 0C0C75A424714EAC8E876A8F /* libFastImage.a */, + 4B19E38FBCB94C57BB03B8E6 /* libRNFetchBlob.a */, + 4A22BC320BA04E18A7F2A4E6 /* libReactNativeExceptionHandler.a */, + 2AE23B96BF7545B9A77C0C87 /* libRNSentry.a */, + 8606EB1EB7E349EF8248933E /* libz.tbd */, + 7535D128F00C4A47A182627E /* libRNCookieManagerIOS.a */, + ); + name = "Recovered References"; + sourceTree = ""; + }; 4B992D7BAAEDF8759DB525B5 /* Frameworks */ = { isa = PBXGroup; children = ( + 7F43D6051F6BF9EB001FC614 /* libPods-Mattermost.a */, + 7F43D5DF1F6BF994001FC614 /* libRNSVG.a */, 65FD5EA57EBAE06106094B2F /* libPods-Mattermost.a */, 4246DC09024BB33A3E491E25 /* libPods-MattermostTests.a */, ); @@ -823,6 +893,14 @@ name = Products; sourceTree = ""; }; + 7F43D58F1F6BF855001FC614 /* Products */ = { + isa = PBXGroup; + children = ( + 7F43D5BE1F6BF882001FC614 /* libRCTYouTube.a */, + ); + name = Products; + sourceTree = ""; + }; 7F63D27C1E6C957C001FAE12 /* Products */ = { isa = PBXGroup; children = ( @@ -873,22 +951,6 @@ name = Products; sourceTree = ""; }; - 7F906D7A1E6A1ADF00B8F49A /* Products */ = { - isa = PBXGroup; - children = ( - 7F906D971E6A1ADF00B8F49A /* libRNCookieManagerIOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 7FA794CE1F61A1A400C02924 /* Products */ = { - isa = PBXGroup; - children = ( - 7FA794ED1F61A1A500C02924 /* libRCTYouTube.a */, - ); - name = Products; - sourceTree = ""; - }; 7FA795021F61A1A500C02924 /* Products */ = { isa = PBXGroup; children = ( @@ -917,6 +979,7 @@ isa = PBXGroup; children = ( 7FDF28E11E1F4B1F00DBBE56 /* libRNSVG.a */, + 7F43D63B1F6BF9EB001FC614 /* libRNSVG-tvOS.a */, ); name = Products; sourceTree = ""; @@ -951,11 +1014,9 @@ 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, 2CBE9C0FB56E4FDA96C30792 /* RNSVG.xcodeproj */, 2B25899FDAC149EB96ED3305 /* RNVectorIcons.xcodeproj */, - 31A0780E2F224AC8AF8E6930 /* RNCookieManagerIOS.xcodeproj */, B97AA6F961BB47D3A3297E8E /* RNDeviceInfo.xcodeproj */, 7DCC3D826CE640AF8F491692 /* BVLinearGradient.xcodeproj */, 5C3B95629BA74FB3A8377CB7 /* RCTOrientation.xcodeproj */, - 85E82BCA0FD245EEA520D106 /* RNImagePicker.xcodeproj */, D0281D64B98143668D6AD42B /* RNLocalAuth.xcodeproj */, EBA6063A99C141098D40C67A /* RNPasscodeStatus.xcodeproj */, 27A6EA89298440439DA9F98D /* JailMonkey.xcodeproj */, @@ -963,6 +1024,7 @@ 546CB0A5BB8F453890CBA559 /* RNFetchBlob.xcodeproj */, 3B1E210BF3B649BBBF427977 /* ReactNativeExceptionHandler.xcodeproj */, 9552041247E749308CE7B412 /* RNSentry.xcodeproj */, + 62A58E5E984E4CF1811620B8 /* RNCookieManagerIOS.xcodeproj */, A2968536BEC74A4ABBB73BD9 /* RCTYouTube.xcodeproj */, ); name = Libraries; @@ -986,6 +1048,7 @@ 00E356EF1AD99517003FC87E /* MattermostTests */, 83CBBA001A601CBA00E9B192 /* Products */, 0156F464626F49C2977D7982 /* Resources */, + 37DF8AC51F5F0D410079BF89 /* Recovered References */, 57D053CEA78013E949257E00 /* Pods */, 4B992D7BAAEDF8759DB525B5 /* Frameworks */, ); @@ -1154,7 +1217,7 @@ ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; }, { - ProductGroup = 7FA794CE1F61A1A400C02924 /* Products */; + ProductGroup = 7F43D58F1F6BF855001FC614 /* Products */; ProjectRef = A2968536BEC74A4ABBB73BD9 /* RCTYouTube.xcodeproj */; }, { @@ -1170,8 +1233,8 @@ ProjectRef = 7FC200BC1EBB65100099331B /* ReactNativeNavigation.xcodeproj */; }, { - ProductGroup = 7F906D7A1E6A1ADF00B8F49A /* Products */; - ProjectRef = 31A0780E2F224AC8AF8E6930 /* RNCookieManagerIOS.xcodeproj */; + ProductGroup = 372E25631F5F0E1800A2BFAB /* Products */; + ProjectRef = 62A58E5E984E4CF1811620B8 /* RNCookieManagerIOS.xcodeproj */; }, { ProductGroup = 37DD11071E79EBE1004111BA /* Products */; @@ -1181,10 +1244,6 @@ ProductGroup = 3752181C1F4B9E320035444B /* Products */; ProjectRef = 546CB0A5BB8F453890CBA559 /* RNFetchBlob.xcodeproj */; }, - { - ProductGroup = 3779BE7C1EB1235400D081C1 /* Products */; - ProjectRef = 85E82BCA0FD245EEA520D106 /* RNImagePicker.xcodeproj */; - }, { ProductGroup = 7F8C49621F3DFC30003A22BA /* Products */; ProjectRef = D0281D64B98143668D6AD42B /* RNLocalAuth.xcodeproj */; @@ -1279,6 +1338,13 @@ remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 372E25671F5F0E1800A2BFAB /* libRNCookieManagerIOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRNCookieManagerIOS.a; + remoteRef = 372E25661F5F0E1800A2BFAB /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 374634671E848085005E1244 /* libRCTOrientation.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1300,13 +1366,6 @@ remoteRef = 3752184E1F4B9E980035444B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 3779BEA01EB1235400D081C1 /* libRNImagePicker.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNImagePicker.a; - remoteRef = 3779BE9F1EB1235400D081C1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 37ABD39C1F4CE13B001FDE6B /* libART.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1328,6 +1387,48 @@ remoteRef = 37DD11271E79EBE1004111BA /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 37DF8AC91F5F0D430079BF89 /* libART-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libART-tvOS.a"; + remoteRef = 37DF8AC81F5F0D430079BF89 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 37DF8ACD1F5F0D430079BF89 /* libBVLinearGradient.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libBVLinearGradient.a; + remoteRef = 37DF8ACC1F5F0D430079BF89 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 37DF8AF21F5F0D430079BF89 /* libthird-party.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libthird-party.a"; + remoteRef = 37DF8AF11F5F0D430079BF89 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 37DF8AF41F5F0D430079BF89 /* libthird-party.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libthird-party.a"; + remoteRef = 37DF8AF31F5F0D430079BF89 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 37DF8AF61F5F0D430079BF89 /* libdouble-conversion.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libdouble-conversion.a"; + remoteRef = 37DF8AF51F5F0D430079BF89 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 37DF8AF81F5F0D430079BF89 /* libdouble-conversion.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libdouble-conversion.a"; + remoteRef = 37DF8AF71F5F0D430079BF89 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1447,6 +1548,20 @@ remoteRef = 7F26919F1EE1DC51007574FE /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 7F43D5BE1F6BF882001FC614 /* libRCTYouTube.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTYouTube.a; + remoteRef = 7F43D5BD1F6BF882001FC614 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 7F43D63B1F6BF9EB001FC614 /* libRNSVG-tvOS.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = "libRNSVG-tvOS.a"; + remoteRef = 7F43D63A1F6BF9EB001FC614 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; 7F63D2811E6C957C001FAE12 /* libRCTPushNotification.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1503,20 +1618,6 @@ remoteRef = 7F8C4A611F3E21FB003A22BA /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 7F906D971E6A1ADF00B8F49A /* libRNCookieManagerIOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRNCookieManagerIOS.a; - remoteRef = 7F906D961E6A1ADF00B8F49A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 7FA794ED1F61A1A500C02924 /* libRCTYouTube.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTYouTube.a; - remoteRef = 7FA794EC1F61A1A500C02924 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; 7FA795061F61A1A500C02924 /* libRNSentry.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; @@ -1784,7 +1885,7 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.rnbeta; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Mattermost.app/Mattermost"; }; @@ -1809,7 +1910,7 @@ "-ObjC", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_BUNDLE_IDENTIFIER = com.mattermost.rnbeta; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Mattermost.app/Mattermost"; }; @@ -1831,7 +1932,6 @@ "$(SRCROOT)/../node_modules/react-native/Libraries/PushNotificationIOS/**", "$(SRCROOT)/../node_modules/react-native-orientation/iOS/RCTOrientation/**", "$(SRCROOT)/../node_modules/react-native-smart-splash-screen/ios/RCTSplashScreen/RCTSplashScreen/**", - "$(SRCROOT)/../node_modules/react-native-image-picker/ios", "$(SRCROOT)/../node_modules/react-native-navigation/ios/**", "$(SRCROOT)/../node_modules/react-native-notifications/RNNotifications/**", "$(SRCROOT)/../node_modules/react-native-local-auth", @@ -1842,6 +1942,8 @@ "$(SRCROOT)/../node_modules/react-native-fetch-blob/ios/**", "$(SRCROOT)/../node_modules/react-native-exception-handler/ios", "$(SRCROOT)/../node_modules/react-native-sentry/ios/**", + "$(SRCROOT)/../node_modules/react-native-cookies/ios/RNCookieManagerIOS", + "$(SRCROOT)/../node_modules/react-native-image-picker/ios", "$(SRCROOT)/../node_modules/react-native-youtube/**", ); INFOPLIST_FILE = Mattermost/Info.plist; @@ -1875,7 +1977,6 @@ "$(SRCROOT)/../node_modules/react-native/Libraries/PushNotificationIOS/**", "$(SRCROOT)/../node_modules/react-native-orientation/iOS/RCTOrientation/**", "$(SRCROOT)/../node_modules/react-native-smart-splash-screen/ios/RCTSplashScreen/RCTSplashScreen/**", - "$(SRCROOT)/../node_modules/react-native-image-picker/ios", "$(SRCROOT)/../node_modules/react-native-navigation/ios/**", "$(SRCROOT)/../node_modules/react-native-notifications/RNNotifications/**", "$(SRCROOT)/../node_modules/react-native-local-auth", @@ -1886,6 +1987,8 @@ "$(SRCROOT)/../node_modules/react-native-fetch-blob/ios/**", "$(SRCROOT)/../node_modules/react-native-exception-handler/ios", "$(SRCROOT)/../node_modules/react-native-sentry/ios/**", + "$(SRCROOT)/../node_modules/react-native-cookies/ios/RNCookieManagerIOS", + "$(SRCROOT)/../node_modules/react-native-image-picker/ios", "$(SRCROOT)/../node_modules/react-native-youtube/**", ); INFOPLIST_FILE = Mattermost/Info.plist; diff --git a/ios/Mattermost/AppDelegate.m b/ios/Mattermost/AppDelegate.m index 95beae4b7..dbf87f814 100644 --- a/ios/Mattermost/AppDelegate.m +++ b/ios/Mattermost/AppDelegate.m @@ -19,7 +19,6 @@ #import "Orientation.h" #import "RCCManager.h" #import "RNNotifications.h" -#import "MattermostManaged.h" @implementation AppDelegate diff --git a/ios/Mattermost/Info.plist b/ios/Mattermost/Info.plist index 90b6c7f64..a4461e376 100644 --- a/ios/Mattermost/Info.plist +++ b/ios/Mattermost/Info.plist @@ -1,99 +1,99 @@ - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - Mattermost Beta - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.3.0 - CFBundleSignature - ???? - CFBundleVersion - 50 - ITSAppUsesNonExemptEncryption - - LSRequiresIPhoneOS - - NSAllowsArbitraryLoads - - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - NSExceptionDomains - - localhost - - NSExceptionAllowsInsecureHTTPLoads - - - - - NSCameraUsageDescription - Take a Photo or Video and upload it to your mattermost instance - NSLocationWhenInUseUsageDescription - - NSPhotoLibraryUsageDescription - Upload Photos and Videos to your Mattermost instance - UIAppFonts - - Entypo.ttf - EvilIcons.ttf - FontAwesome.ttf - Foundation.ttf - Ionicons.ttf - MaterialIcons.ttf - Octicons.ttf - Zocial.ttf - MaterialCommunityIcons.ttf - SimpleLineIcons.ttf - OpenSans-Bold.ttf - OpenSans-BoldItalic.ttf - OpenSans-ExtraBold.ttf - OpenSans-ExtraBoldItalic.ttf - OpenSans-Italic.ttf - OpenSans-Light.ttf - OpenSans-LightItalic.ttf - OpenSans-Regular.ttf - OpenSans-Semibold.ttf - OpenSans-SemiboldItalic.ttf - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - CFBundleURLTypes - - - CFBundleURLName - com.mattermost.rnbeta - CFBundleURLSchemes - - mattermost - - - - + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + Mattermost Beta + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.3.0 + CFBundleSignature + ???? + CFBundleURLTypes + + + CFBundleURLName + com.mattermost + CFBundleURLSchemes + + mattermost + + + + CFBundleVersion + 50 + ITSAppUsesNonExemptEncryption + + LSRequiresIPhoneOS + + NSAllowsArbitraryLoads + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + + NSCameraUsageDescription + Take a Photo or Video and upload it to your mattermost instance + NSLocationWhenInUseUsageDescription + + NSPhotoLibraryUsageDescription + Upload Photos and Videos to your Mattermost instance + UIAppFonts + + Entypo.ttf + EvilIcons.ttf + FontAwesome.ttf + Foundation.ttf + Ionicons.ttf + MaterialIcons.ttf + Octicons.ttf + Zocial.ttf + MaterialCommunityIcons.ttf + SimpleLineIcons.ttf + OpenSans-Bold.ttf + OpenSans-BoldItalic.ttf + OpenSans-ExtraBold.ttf + OpenSans-ExtraBoldItalic.ttf + OpenSans-Italic.ttf + OpenSans-Light.ttf + OpenSans-LightItalic.ttf + OpenSans-Regular.ttf + OpenSans-Semibold.ttf + OpenSans-SemiboldItalic.ttf + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + diff --git a/ios/Mattermost/MattermostManaged.h b/ios/Mattermost/MattermostManaged.h index 779101e11..5b40d2243 100644 --- a/ios/Mattermost/MattermostManaged.h +++ b/ios/Mattermost/MattermostManaged.h @@ -6,10 +6,10 @@ // See License.txt for license information. // -#import +#import -@interface MattermostManaged : RCTEventEmitter +@interface MattermostManaged : NSObject + (void)sendConfigChangedEvent; diff --git a/ios/Mattermost/MattermostManaged.m b/ios/Mattermost/MattermostManaged.m index c2fc0dd0a..06e8533eb 100644 --- a/ios/Mattermost/MattermostManaged.m +++ b/ios/Mattermost/MattermostManaged.m @@ -6,6 +6,8 @@ // See License.txt for license information. // +#import +#import #import "RCTTextField.h" #import "MattermostManaged.h" @@ -13,7 +15,17 @@ RCT_EXPORT_MODULE(); --(void)startObserving { +@synthesize bridge = _bridge; + +- (void)dealloc +{ + [[NSNotificationCenter defaultCenter] removeObserver:self]; + [[NSNotificationCenter defaultCenter] removeObserver:NSUserDefaultsDidChangeNotification]; +} + +- (void)setBridge:(RCTBridge *)bridge +{ + _bridge = bridge; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(managedConfigDidChange:) name:@"managedConfigDidChange" object:nil]; [[NSNotificationCenter defaultCenter] addObserverForName:NSUserDefaultsDidChangeNotification object:nil @@ -22,23 +34,12 @@ RCT_EXPORT_MODULE(); }]; } -- (void)stopObserving -{ - [[NSNotificationCenter defaultCenter] removeObserver:self]; - [[NSNotificationCenter defaultCenter] removeObserver:NSUserDefaultsDidChangeNotification]; -} - + (void)sendConfigChangedEvent { [[NSNotificationCenter defaultCenter] postNotificationName:@"managedConfigDidChange" object:self userInfo:nil]; } -- (NSArray *)supportedEvents -{ - return @[@"managedConfigDidChange"]; -} - // The Managed app configuration dictionary pushed down from an MDM server are stored in this key. static NSString * const configurationKey = @"com.apple.configuration.managed"; @@ -49,12 +50,12 @@ static NSString * const feedbackKey = @"com.apple.feedback.managed"; - (void)managedConfigDidChange:(NSNotification *)notification { NSDictionary *response = [[NSUserDefaults standardUserDefaults] dictionaryForKey:configurationKey]; - [self sendEventWithName:@"managedConfigDidChange" body:response]; + [_bridge.eventDispatcher sendDeviceEventWithName:@"managedConfigDidChange" body:response]; } - (void) remoteConfigChanged { NSDictionary *response = [[NSUserDefaults standardUserDefaults] dictionaryForKey:configurationKey]; - [self sendEventWithName:@"managedConfigDidChange" body:response]; + [_bridge.eventDispatcher sendDeviceEventWithName:@"managedConfigDidChange" body:response]; } RCT_EXPORT_METHOD(getConfig:(RCTPromiseResolveBlock)resolve diff --git a/ios/bundleReactNative.sh b/ios/bundleReactNative.sh index 247bc4130..d7cb8ca57 100755 --- a/ios/bundleReactNative.sh +++ b/ios/bundleReactNative.sh @@ -8,8 +8,8 @@ if [[ "${SENTRY_ENABLED}" = "true" ]]; then ./makeSentryProperties.sh export SENTRY_PROPERTIES=sentry.properties - ../node_modules/sentry-cli-binary/bin/sentry-cli react-native xcode ../node_modules/react-native/packager/react-native-xcode.sh + ../node_modules/sentry-cli-binary/bin/sentry-cli react-native xcode ../node_modules/react-native/scripts/react-native-xcode.sh else echo "Sentry native integration is not enabled" - ../node_modules/react-native/packager/react-native-xcode.sh + ../node_modules/react-native/scripts/react-native-xcode.sh fi diff --git a/package.json b/package.json index 99402e468..1a5a35fe4 100644 --- a/package.json +++ b/package.json @@ -13,81 +13,83 @@ "commonmark-react-renderer": "hmhealey/commonmark-react-renderer#c5d00343664c89da40d5a2ffa8b083e7cc1615d7", "deep-equal": "1.0.1", "intl": "1.2.5", - "jail-monkey": "0.0.8", + "jail-monkey": "0.0.9", "mattermost-redux": "mattermost/mattermost-redux#master", "prop-types": "15.5.10", - "react": "16.0.0-alpha.6", + "react": "16.0.0-alpha.12", "react-intl": "2.3.0", - "react-native": "0.44.0", - "react-native-animatable": "1.2.2", - "react-native-bottom-sheet": "1.0.1", + "react-native": "0.48.3", + "react-native-animatable": "1.2.3", + "react-native-bottom-sheet": "1.0.2", "react-native-button": "1.8.2", "react-native-circular-progress": "0.0.8", - "react-native-cookies": "3.1.0", + "react-native-cookies": "3.2.0", "react-native-device-info": "0.11.0", - "react-native-drawer": "2.3.0", - "react-native-exception-handler": "2.0.1", + "react-native-drawer": "2.4.0", + "react-native-exception-handler": "2.1.0", "react-native-fast-image": "1.0.0", "react-native-fetch-blob": "0.10.8", - "react-native-image-picker": "jp928/react-native-image-picker#6ee35b69f3dbd6c7c66f580fd4d9eabf398703d4", - "react-native-keyboard-aware-scroll-view": "0.2.8", - "react-native-linear-gradient": "2.0.0", + "react-native-image-picker": "0.26.6", + "react-native-keyboard-aware-scroll-view": "0.3.0", + "react-native-linear-gradient": "2.3.0", "react-native-local-auth": "enahum/react-native-local-auth.git", "react-native-navigation": "1.1.216", "react-native-notifications": "enahum/react-native-notifications.git", "react-native-orientation": "enahum/react-native-orientation.git", "react-native-passcode-status": "1.1.0", - "react-native-sentry": "0.14.5", + "react-native-sentry": "0.15.1", "react-native-status-bar-size": "0.3.2", - "react-native-svg": "5.1.8", - "react-native-swiper": "1.5.4", + "react-native-svg": "5.4.1", + "react-native-swiper": "nixoz/react-native-swiper", "react-native-tooltip": "enahum/react-native-tooltip", - "react-native-vector-icons": "4.1.1", + "react-native-vector-icons": "4.3.0", "react-native-youtube": "1.0.0-beta.3", - "react-redux": "5.0.4", - "redux": "3.6.0", + "react-redux": "5.0.6", + "redux": "3.7.2", "redux-batched-actions": "0.2.0", - "redux-persist": "4.8.0", - "redux-persist-transform-filter": "0.0.9", + "redux-persist": "4.9.1", + "redux-persist-transform-filter": "0.0.15", "redux-thunk": "2.2.0", "reselect": "3.0.1", - "semver": "5.3.0", + "semver": "5.4.1", + "socketcluster": "5.0.4", "tinycolor2": "1.4.1", "url-parse": "1.1.9", "youtube-video-id": "0.0.2" }, "devDependencies": { - "babel-cli": "6.24.1", + "babel-cli": "6.26.0", "babel-eslint": "7.2.3", - "babel-plugin-module-resolver": "2.7.0", + "babel-plugin-module-resolver": "2.7.1", "babel-preset-es2015": "6.24.1", "babel-preset-latest": "6.24.1", "babel-preset-react": "6.24.1", - "babel-preset-react-native": "1.9.2", + "babel-preset-react-native": "3.0.2", "babel-preset-stage-0": "6.24.1", - "babel-register": "6.24.1", + "babel-register": "6.26.0", "chai": "3.5.0", "chai-enzyme": "0.6.1", - "chai-fetch-mock": "^1.0.0", + "chai-fetch-mock": "1.0.0", "deep-freeze": "0.0.1", "enzyme": "2.8.2", - "eslint": "3.19.0", + "eslint": "4.6.1", "eslint-plugin-mocha": "4.9.0", - "eslint-plugin-react": "7.0.1", + "eslint-plugin-react": "7.3.0", "fetch-mock": "5.10.0", - "form-data": "2.1.4", + "form-data": "2.3.1", "jsdom": "10.1.0", "jsdom-global": "3.0.2", "mocha": "3.4.1", "mocha-react-native": "0.5.0", - "nyc": "^10.3.2", + "mockery": "2.1.0", + "nyc": "10.3.2", "react-addons-test-utils": "15.5.1", "react-dom": "15.5.4", "react-native-mock": "0.3.1", "react-native-svg-mock": "1.0.2", - "react-test-renderer": "15.5.4", - "remote-redux-devtools": "0.5.10", - "remote-redux-devtools-on-debugger": "0.7.1" + "react-test-renderer": "16.0.0-alpha.12", + "remote-redux-devtools": "0.5.12", + "remote-redux-devtools-on-debugger": "0.8.2" }, "scripts": { "check": "node_modules/.bin/eslint --ext \".js\" --ignore-pattern node_modules --quiet .", diff --git a/test/app/screens/about/about.test.js b/test/app/screens/about/about.test.js deleted file mode 100644 index 048b23ea3..000000000 --- a/test/app/screens/about/about.test.js +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import React from 'react'; -import {shallow} from 'enzyme'; -import assert from 'assert'; - -import About from 'app/screens/about/about'; -import Themes from 'assets/themes.json'; - -describe('AboutScreen', () => { - const props = { - config: {}, - license: {}, - theme: Themes.default - }; - - it('renders', () => { - const wrapper = shallow(); - - assert.equal(wrapper.length, 1); - }); - - it('renders enterprise', () => { - const otherProps = { - ...props, - config: { - BuildEnterpriseReady: 'true' - }, - license: { - IsLicensed: 'true' - } - }; - - const wrapper = shallow(); - - assert.equal(wrapper.length, 1); - }); - - it('renders if config.BuildNumber !== config.Version', () => { - const otherProps = { - ...props, - config: { - BuildNumber: 1, - Version: 2 - } - }; - - const wrapper = shallow(); - - assert.equal(wrapper.length, 1); - }); - - it('opens about team url', () => { - const wrapper = shallow(); - - const aboutLink = wrapper.find('TouchableOpacity'); - aboutLink.simulate('press'); - }); - - it('opens learn more url', () => { - const otherProps = { - ...props, - config: { - BuildEnterpriseReady: 'true' - } - }; - - const wrapper = shallow(); - - const learnMore = wrapper.find('TouchableOpacity'); - learnMore.simulate('press'); - }); -}); diff --git a/test/mocha.opts b/test/mocha.opts index f3f742d20..a9d8002a8 100644 --- a/test/mocha.opts +++ b/test/mocha.opts @@ -1,9 +1,5 @@ --require test/setup.js ---require test/mocks.js --compilers js:babel-core/register ---compilers js:mocha-react-native/init ---require react-native-mock/mock.js ---require react-native-svg-mock/mock --require babel-polyfill --require jsdom-global/register --recursive diff --git a/test/setup.js b/test/setup.js index a1c5ae646..7f2cf7c68 100644 --- a/test/setup.js +++ b/test/setup.js @@ -9,39 +9,29 @@ import fs from 'fs'; import path from 'path'; import register from 'babel-core/register'; -import chai from 'chai'; -import chaiEnzyme from 'chai-enzyme'; -import ReactNative from 'react-native-mock'; -import {Sentry} from 'react-native-sentry'; +import mockery from 'mockery'; -const m = require('module'); -const originalLoader = m._load; - -const NativeModules = ReactNative.NativeModules; -const Platform = ReactNative.Platform; - -NativeModules.RNCookieManagerIOS = {}; -NativeModules.RNCookieManagerAndroid = {}; - -Platform.__setOS('ios'); - -// Image file ignore setup from: -// http://valuemotive.com/2016/08/01/unit-testing-react-native-components-with-mocha-and-enzyme/ -m._load = function hookedLoader(request, parent, isMain) { - if (request.match(/.jpeg|.jpg|.png$/)) { - return {uri: request} +mockery.enable({ + warnOnReplace: false, + warnOnUnregistered: false +}); +mockery.registerMock('react-native', { + NativeModules: {} +}); +mockery.registerMock('react-native-device-info', { + getDeviceLocale() { + return 'en'; } - - return originalLoader(request, parent, isMain); -}; +}); +mockery.registerMock('react-native-sentry', { + Sentry: { + captureBreadcrumb() {} + } +}); // Ignore all node_modules except these const modulesToCompile = [ - 'react-native', - 'react-native-mock', - 'react-native-svg-mock/mock', - 'react-native-vector-icons', - 'react-native-svg' + 'react-native' ].map((moduleName) => new RegExp(`/node_modules/${moduleName}`)); const rcPath = path.join(__dirname, '..', '.babelrc'); @@ -58,8 +48,3 @@ config.ignore = function(filename) { }; register(config); - -chai.use(chaiEnzyme()); - -// Initialize Sentry so that it doesn't complain when the middleware tries to create breadcrumbs -Sentry.config(''); diff --git a/yarn.lock b/yarn.lock index 6e041eed0..3294c95de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -22,10 +22,10 @@ accepts@~1.2.12, accepts@~1.2.13: negotiator "0.5.3" accepts@~1.3.0, accepts@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" + version "1.3.4" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" dependencies: - mime-types "~2.1.11" + mime-types "~2.1.16" negotiator "0.6.1" acorn-globals@^3.1.0: @@ -45,24 +45,33 @@ acorn@^3.0.4: resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" acorn@^4.0.4: - version "4.0.11" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" + version "4.0.13" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" -acorn@^5.0.1: - version "5.0.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" +acorn@^5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.2.tgz#911cb53e036807cf0fa778dc5d370fbd864246d7" ajv-keywords@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" ajv@^4.7.0, ajv@^4.9.1: - version "4.11.7" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.7.tgz#8655a5d86d0824985cc471a1d913fb6729a0ec48" + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" +ajv@^5.2.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.2.tgz#47c68d69e86f5d953103b0074a9430dc63da5e39" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + json-schema-traverse "^0.3.0" + json-stable-stringify "^1.0.1" + align-text@^0.1.1, align-text@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" @@ -86,24 +95,38 @@ ansi-escapes@^1.1.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 "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b" + ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/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.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" + dependencies: + color-convert "^1.9.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" anymatch@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" dependencies: - arrify "^1.0.0" micromatch "^2.1.5" + normalize-path "^2.0.0" append-transform@^0.4.0: version "0.4.0" @@ -112,8 +135,8 @@ append-transform@^0.4.0: default-require-extensions "^1.0.0" aproba@^1.0.3: - version "1.1.1" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" + version "1.1.2" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" archy@^1.0.0: version "1.0.0" @@ -139,8 +162,8 @@ arr-diff@^2.0.0: arr-flatten "^1.0.1" arr-flatten@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" array-differ@^1.0.0: version "1.0.0" @@ -158,6 +181,13 @@ array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" +array-includes@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.7.0" + array-map@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" @@ -189,8 +219,8 @@ art@^0.10.0: resolved "https://registry.yarnpkg.com/art/-/art-0.10.1.tgz#38541883e399225c5e193ff246e8f157cf7b2146" asap@~2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" asn1@~0.2.3: version "0.2.3" @@ -212,6 +242,10 @@ async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" +async@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.0.tgz#2796642723573859565633fc6274444bee2f8ce3" + async@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/async/-/async-2.0.0.tgz#d0900ad385af13804540a109c42166e3ae7b2b9d" @@ -222,9 +256,9 @@ async@^1.4.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.0.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9" +async@^2.4.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" dependencies: lodash "^4.14.0" @@ -244,58 +278,58 @@ aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" -babel-cli@6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.24.1.tgz#207cd705bba61489b2ea41b5312341cf6aca2283" +babel-cli@6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" dependencies: - babel-core "^6.24.1" - babel-polyfill "^6.23.0" - babel-register "^6.24.1" - babel-runtime "^6.22.0" - commander "^2.8.1" - convert-source-map "^1.1.0" + babel-core "^6.26.0" + babel-polyfill "^6.26.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + commander "^2.11.0" + convert-source-map "^1.5.0" fs-readdir-recursive "^1.0.0" - glob "^7.0.0" - lodash "^4.2.0" - output-file-sync "^1.1.0" - path-is-absolute "^1.0.0" + glob "^7.1.2" + lodash "^4.17.4" + output-file-sync "^1.1.2" + path-is-absolute "^1.0.1" slash "^1.0.0" - source-map "^0.5.0" - v8flags "^2.0.10" + source-map "^0.5.6" + v8flags "^2.1.1" optionalDependencies: chokidar "^1.6.1" -babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" +babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" dependencies: - chalk "^1.1.0" + chalk "^1.1.3" esutils "^2.0.2" - js-tokens "^3.0.0" + js-tokens "^3.0.2" -babel-core@^6.18.0, babel-core@^6.21.0, babel-core@^6.24.1, babel-core@^6.7.2: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" +babel-core@^6.18.0, babel-core@^6.24.1, babel-core@^6.26.0, babel-core@^6.7.2: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" dependencies: - babel-code-frame "^6.22.0" - babel-generator "^6.24.1" + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" babel-helpers "^6.24.1" babel-messages "^6.23.0" - babel-register "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babylon "^6.11.0" - 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" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" slash "^1.0.0" - source-map "^0.5.0" + source-map "^0.5.6" babel-eslint@7.2.3: version "7.2.3" @@ -306,17 +340,17 @@ babel-eslint@7.2.3: babel-types "^6.23.0" babylon "^6.17.0" -babel-generator@^6.18.0, babel-generator@^6.21.0, babel-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" +babel-generator@^6.18.0, babel-generator@^6.24.1, babel-generator@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" dependencies: babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-types "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" detect-indent "^4.0.0" jsesc "^1.3.0" - lodash "^4.2.0" - source-map "^0.5.0" + lodash "^4.17.4" + source-map "^0.5.6" trim-right "^1.0.1" babel-helper-bindify-decorators@^6.24.1: @@ -336,12 +370,12 @@ babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: babel-types "^6.24.1" babel-helper-builder-react-jsx@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz#0ad7917e33c8d751e646daca4e77cc19377d2cbc" + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0" dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - esutils "^2.0.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + esutils "^2.0.2" babel-helper-call-delegate@^6.24.1: version "6.24.1" @@ -353,13 +387,13 @@ babel-helper-call-delegate@^6.24.1: babel-types "^6.24.1" babel-helper-define-map@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080" + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" dependencies: babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - lodash "^4.2.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" babel-helper-explode-assignable-expression@^6.24.1: version "6.24.1" @@ -410,12 +444,12 @@ babel-helper-optimise-call-expression@^6.24.1: babel-types "^6.24.1" babel-helper-regex@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8" + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - lodash "^4.2.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" babel-helper-remap-async-to-generator@^6.16.0, babel-helper-remap-async-to-generator@^6.24.1: version "6.24.1" @@ -463,9 +497,9 @@ babel-plugin-external-helpers@^6.18.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-module-resolver@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-2.7.0.tgz#9c1cb2fcf2a1bdb45e91c6c985b96311123797f9" +babel-plugin-module-resolver@2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-2.7.1.tgz#18be3c42ddf59f7a456c9e0512cd91394f6e4be1" dependencies: find-babel-config "^1.0.1" glob "^7.1.1" @@ -565,7 +599,7 @@ babel-plugin-transform-class-constructor-call@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-class-properties@^6.24.1, babel-plugin-transform-class-properties@^6.5.0, babel-plugin-transform-class-properties@^6.6.0, babel-plugin-transform-class-properties@^6.8.0: +babel-plugin-transform-class-properties@^6.18.0, babel-plugin-transform-class-properties@^6.24.1, 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.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" dependencies: @@ -604,14 +638,14 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.22.0, babel-plugin-trans babel-runtime "^6.22.0" babel-plugin-transform-es2015-block-scoping@^6.24.1, babel-plugin-transform-es2015-block-scoping@^6.5.0, babel-plugin-transform-es2015-block-scoping@^6.7.1, babel-plugin-transform-es2015-block-scoping@^6.8.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576" + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - lodash "^4.2.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" babel-plugin-transform-es2015-classes@^6.24.1, babel-plugin-transform-es2015-classes@^6.5.0, babel-plugin-transform-es2015-classes@^6.6.5, babel-plugin-transform-es2015-classes@^6.8.0: version "6.24.1" @@ -676,13 +710,13 @@ babel-plugin-transform-es2015-modules-amd@^6.24.1: babel-template "^6.24.1" babel-plugin-transform-es2015-modules-commonjs@6.x, babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.5.0, babel-plugin-transform-es2015-modules-commonjs@^6.7.0, babel-plugin-transform-es2015-modules-commonjs@^6.8.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe" + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" dependencies: babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-types "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" babel-plugin-transform-es2015-modules-systemjs@^6.24.1: version "6.24.1" @@ -807,15 +841,15 @@ babel-plugin-transform-object-assign@^6.5.0: babel-runtime "^6.22.0" babel-plugin-transform-object-rest-spread@^6.20.2, babel-plugin-transform-object-rest-spread@^6.22.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: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz#875d6bc9be761c58a2ae3feee5dc4895d8c7f921" + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" dependencies: babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.22.0" + babel-runtime "^6.26.0" babel-plugin-transform-react-display-name@^6.23.0, babel-plugin-transform-react-display-name@^6.5.0, babel-plugin-transform-react-display-name@^6.8.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.23.0.tgz#4398910c358441dc4cef18787264d0412ed36b37" + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1" dependencies: babel-runtime "^6.22.0" @@ -842,10 +876,10 @@ babel-plugin-transform-react-jsx@^6.24.1, babel-plugin-transform-react-jsx@^6.5. babel-runtime "^6.22.0" babel-plugin-transform-regenerator@^6.24.1, babel-plugin-transform-regenerator@^6.5.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418" + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" dependencies: - regenerator-transform "0.9.11" + regenerator-transform "^0.10.0" babel-plugin-transform-strict-mode@^6.24.1: version "6.24.1" @@ -854,7 +888,7 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-polyfill@6.23.0, babel-polyfill@^6.20.0, babel-polyfill@^6.23.0: +babel-polyfill@6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" dependencies: @@ -862,6 +896,14 @@ babel-polyfill@6.23.0, babel-polyfill@^6.20.0, babel-polyfill@^6.23.0: core-js "^2.4.0" regenerator-runtime "^0.10.0" +babel-polyfill@^6.20.0, babel-polyfill@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" + dependencies: + babel-runtime "^6.26.0" + core-js "^2.5.0" + regenerator-runtime "^0.10.5" + babel-preset-es2015-node@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-preset-es2015-node/-/babel-preset-es2015-node-6.1.1.tgz#60b23157024b0cfebf3a63554cb05ee035b4e55f" @@ -947,9 +989,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.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-2.1.4.tgz#22f358e6654073acf61e47a052a777d7bccf03af" dependencies: babel-plugin-check-es2015-constants "^6.8.0" babel-plugin-syntax-class-properties "^6.8.0" @@ -1014,9 +1056,45 @@ babel-preset-react-native-mocha@^1.9.0: babel-plugin-transform-react-display-name "^6.5.0" babel-plugin-transform-react-jsx "^6.5.0" -babel-preset-react-native@1.9.2, babel-preset-react-native@^1.9.1: - version "1.9.2" - resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-1.9.2.tgz#b22addd2e355ff3b39671b79be807e52dfa145f2" +babel-preset-react-native@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-3.0.2.tgz#f9a391540caebbd5014391ac1447ef6d8c0a5b57" + 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-dynamic-import "^6.18.0" + babel-plugin-syntax-flow "^6.5.0" + babel-plugin-syntax-jsx "^6.5.0" + babel-plugin-syntax-trailing-function-commas "^6.5.0" + babel-plugin-transform-class-properties "^6.5.0" + babel-plugin-transform-es2015-arrow-functions "^6.5.0" + babel-plugin-transform-es2015-block-scoping "^6.5.0" + babel-plugin-transform-es2015-classes "^6.5.0" + babel-plugin-transform-es2015-computed-properties "^6.5.0" + babel-plugin-transform-es2015-destructuring "^6.5.0" + babel-plugin-transform-es2015-for-of "^6.5.0" + babel-plugin-transform-es2015-function-name "^6.5.0" + babel-plugin-transform-es2015-literals "^6.5.0" + babel-plugin-transform-es2015-modules-commonjs "^6.5.0" + babel-plugin-transform-es2015-parameters "^6.5.0" + babel-plugin-transform-es2015-shorthand-properties "^6.5.0" + babel-plugin-transform-es2015-spread "^6.5.0" + babel-plugin-transform-es2015-template-literals "^6.5.0" + babel-plugin-transform-flow-strip-types "^6.5.0" + babel-plugin-transform-object-assign "^6.5.0" + babel-plugin-transform-object-rest-spread "^6.5.0" + babel-plugin-transform-react-display-name "^6.5.0" + babel-plugin-transform-react-jsx "^6.5.0" + babel-plugin-transform-react-jsx-source "^6.5.0" + babel-plugin-transform-regenerator "^6.5.0" + babel-template "^6.24.1" + react-transform-hmr "^1.0.4" + +babel-preset-react-native@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-2.1.0.tgz#9013ebd82da1c88102bf588810ff59e209ca2b8a" dependencies: babel-plugin-check-es2015-constants "^6.5.0" babel-plugin-react-transform "2.0.2" @@ -1094,65 +1172,65 @@ babel-preset-stage-3@^6.24.1: babel-plugin-transform-exponentiation-operator "^6.24.1" babel-plugin-transform-object-rest-spread "^6.22.0" -babel-register@6.24.1, babel-register@^6.18.0, babel-register@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" +babel-register@6.26.0, babel-register@^6.24.1, babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" dependencies: - babel-core "^6.24.1" - babel-runtime "^6.22.0" - core-js "^2.4.0" + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" home-or-tmp "^2.0.0" - lodash "^4.2.0" + lodash "^4.17.4" mkdirp "^0.5.1" - source-map-support "^0.4.2" + source-map-support "^0.4.15" -babel-runtime@^6.0.0, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" +babel-runtime@^6.0.0, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" dependencies: core-js "^2.4.0" - regenerator-runtime "^0.10.0" + regenerator-runtime "^0.11.0" -babel-template@^6.16.0, babel-template@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" +babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babylon "^6.11.0" - lodash "^4.2.0" + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" -babel-traverse@^6.18.0, babel-traverse@^6.21.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" +babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" dependencies: - babel-code-frame "^6.22.0" + babel-code-frame "^6.26.0" babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - babylon "^6.15.0" - debug "^2.2.0" - globals "^9.0.0" - invariant "^2.2.0" - lodash "^4.2.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" -babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.21.0, babel-types@^6.23.0, babel-types@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" +babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" dependencies: - babel-runtime "^6.22.0" + babel-runtime "^6.26.0" esutils "^2.0.2" - lodash "^4.2.0" - to-fast-properties "^1.0.1" + lodash "^4.17.4" + to-fast-properties "^1.0.3" -babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0, babylon@^6.16.1, babylon@^6.17.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.0.tgz#37da948878488b9c4e3c4038893fa3314b3fc932" +babylon@^6.17.0, babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" -balanced-match@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" base-64@0.1.0: version "0.1.0" @@ -1167,8 +1245,8 @@ base64-js@1.1.2: resolved "https://registry.yarnpkg.com/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" + version "1.2.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" base64-url@1.2.1: version "1.2.1" @@ -1205,12 +1283,12 @@ beeper@^1.0.0: resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" big-integer@^1.6.7: - version "1.6.22" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.22.tgz#487c95fce886022ea48ff5f19e388932df46dd2e" + version "1.6.25" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.25.tgz#1de45a9f57542ac20121c682f8d642220a34e823" binary-extensions@^1.0.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" + version "1.10.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.10.0.tgz#9aeb9a6c5e88638aad171e167f5900abe24835d0" block-stream@*: version "0.0.9" @@ -1219,19 +1297,19 @@ block-stream@*: inherits "~2.0.0" body-parser@^1.15.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.1.tgz#75b3bc98ddd6e7e0d8ffe750dfaca5c66993fa47" + version "1.18.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.1.tgz#9c1629370bcfd42917f30641a2dcbe2ec50d4c26" dependencies: - bytes "2.4.0" - content-type "~1.0.2" - debug "2.6.1" - depd "~1.1.0" - http-errors "~1.6.1" - iconv-lite "0.4.15" + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.8" + depd "~1.1.1" + http-errors "~1.6.2" + iconv-lite "0.4.19" on-finished "~2.3.0" - qs "6.4.0" - raw-body "~2.2.0" - type-is "~1.6.14" + qs "6.5.1" + raw-body "2.3.2" + type-is "~1.6.15" body-parser@~1.13.3: version "1.13.3" @@ -1270,11 +1348,11 @@ bplist-parser@0.1.1: dependencies: big-integer "^1.6.7" -brace-expansion@^1.0.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" +brace-expansion@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" dependencies: - balanced-match "^0.4.1" + balanced-match "^1.0.0" concat-map "0.0.1" braces@^1.8.2: @@ -1311,10 +1389,6 @@ buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" -buffer-shims@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" - builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -1327,6 +1401,10 @@ bytes@2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + caching-transform@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" @@ -1353,6 +1431,10 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -1371,7 +1453,7 @@ chai-enzyme@0.6.1: html "^1.0.0" react-element-to-jsx-string "^5.0.0" -chai-fetch-mock@^1.0.0: +chai-fetch-mock@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/chai-fetch-mock/-/chai-fetch-mock-1.0.0.tgz#12985aef814280bedb68ee4c53f2d153c292b428" @@ -1383,7 +1465,7 @@ chai@3.5.0: deep-eql "^0.1.3" type-detect "^1.0.0" -chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1393,6 +1475,14 @@ 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, chalk@^2.0.1, chalk@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" + dependencies: + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" + cheerio@^0.22.0: version "0.22.0" resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e" @@ -1415,8 +1505,8 @@ cheerio@^0.22.0: lodash.some "^4.4.0" chokidar@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" dependencies: anymatch "^1.3.0" async-each "^1.0.0" @@ -1430,8 +1520,8 @@ chokidar@^1.6.1: fsevents "^1.0.0" circular-json@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" + version "0.3.3" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" cli-cursor@^1.0.1: version "1.0.2" @@ -1446,8 +1536,8 @@ cli-cursor@^2.1.0: restore-cursor "^2.0.0" cli-width@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" cliui@^2.1.0: version "2.1.0" @@ -1469,6 +1559,10 @@ clone-stats@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" +clone@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" + clone@^1.0.0, clone@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" @@ -1482,18 +1576,18 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" collapse-white-space@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.2.tgz#9c463fb9c6d190d2dcae21a356a01bcae9eeef6d" + version "1.0.3" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.3.tgz#4b906f670e5a963a87b76b0e1689643341b6023c" -color-convert@^1.3.0: +color-convert@^1.3.0, color-convert@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" dependencies: color-name "^1.1.1" color-name@^1.0.0, color-name@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" color-string@^0.3.0: version "0.3.0" @@ -1515,12 +1609,16 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@2.9.0, commander@^2.8.1, commander@^2.9.0: +commander@2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: graceful-readlink ">= 1.0.0" +commander@^2.11.0, commander@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -1548,11 +1646,15 @@ component-emitter@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.0.tgz#ccd113a86388d06482d03de3fc7df98526ba8efe" +component-emitter@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + compressible@~2.0.5: - version "2.0.10" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd" + version "2.0.11" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.11.tgz#16718a75de283ed8e604041625a2064586797d8a" dependencies: - mime-db ">= 1.27.0 < 2" + mime-db ">= 1.29.0 < 2" compression@~1.5.2: version "1.5.2" @@ -1569,7 +1671,7 @@ 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.4.7, concat-stream@^1.5.2, concat-stream@^1.6.0: +concat-stream@^1.4.7, concat-stream@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -1634,11 +1736,11 @@ content-type-parser@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" -content-type@~1.0.1, content-type@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" +content-type@~1.0.1, content-type@~1.0.2, content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" -convert-source-map@^1.1.0, convert-source-map@^1.3.0: +convert-source-map@^1.3.0, convert-source-map@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" @@ -1665,17 +1767,17 @@ core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" -core-js@^2.2.2, core-js@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" +core-js@^2.2.2, core-js@^2.4.0, core-js@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" -core-util-is@~1.0.0: +core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" cors@^2.7.1: - version "2.8.3" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.3.tgz#4cf78e1d23329a7496b2fc2225b77ca5bb5eb802" + version "2.8.4" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.4.tgz#2bd381f2eb201020105cd50ea59da63090694686" dependencies: object-assign "^4" vary "^1" @@ -1684,11 +1786,12 @@ 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.1: - version "15.5.2" - resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.5.2.tgz#6a8758348df660b88326a0e764d569f274aad681" +create-react-class@^15.5.2, create-react-class@^15.6.0: + version "15.6.0" + resolved "https://registry.yarnpkg.com/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: @@ -1705,6 +1808,14 @@ cross-spawn@^4: lru-cache "^4.0.1" which "^1.2.9" +cross-spawn@^5.0.1, cross-spawn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + cryptiles@2.x.x: version "2.0.5" resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" @@ -1755,16 +1866,6 @@ cubic-bezier@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/cubic-bezier/-/cubic-bezier-0.1.2.tgz#d4970942002e45372e0aa92db657e39eaf6824d7" -cycle@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" - -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - dependencies: - es5-ext "^0.10.9" - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -1785,23 +1886,11 @@ debug@2.6.0: dependencies: ms "0.7.2" -debug@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351" +debug@2.6.8, debug@^2.2.0, debug@^2.6.3, debug@^2.6.8: + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: - ms "0.7.2" - -debug@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.3.tgz#0f7eb8c30965ec08c72accfa0130c8b79984141d" - dependencies: - ms "0.7.2" - -debug@2.6.4, debug@^2.1.1, debug@^2.2.0, debug@^2.6.3: - version "2.6.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.4.tgz#7586a9b3c39741c0282ae33445c4e8ac74734fe0" - dependencies: - ms "0.7.3" + ms "2.0.0" debug@~2.2.0: version "2.2.0" @@ -1819,13 +1908,13 @@ deep-eql@^0.1.3: dependencies: type-detect "0.1.1" -deep-equal@1.0.1: +deep-equal@1.0.1, deep-equal@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" deep-extend@~0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + version "0.4.2" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" deep-freeze@0.0.1: version "0.0.1" @@ -1848,6 +1937,10 @@ define-properties@^1.1.2: foreach "^2.0.5" object-keys "^1.0.8" +defined@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + del@^2.0.2: version "2.2.2" resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" @@ -1872,9 +1965,9 @@ denodeify@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" -depd@1.1.0, depd@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" +depd@1.1.1, depd@~1.1.0, depd@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" depd@~1.0.1: version "1.0.1" @@ -1921,18 +2014,25 @@ domelementtype@~1.1.1: resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" domhandler@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" + version "2.4.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259" dependencies: domelementtype "1" -domutils@1.5.1, domutils@^1.5.1: +domutils@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" dependencies: dom-serializer "0" domelementtype "1" +domutils@^1.5.1: + version "1.6.2" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff" + dependencies: + dom-serializer "0" + domelementtype "1" + duplexer2@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" @@ -1961,8 +2061,8 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" ejs@^2.4.1: - version "2.5.6" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.6.tgz#479636bfa3fe3b1debd52087f0acb204b4f19c88" + version "2.5.7" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" encodeurl@~1.0.1: version "1.0.1" @@ -1978,6 +2078,14 @@ entities@^1.1.1, "entities@~ 1.1.1", entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" +envinfo@^3.0.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-3.4.1.tgz#8c80e9f2eec2cd4e2adb2c5d0127ce07a2aaa2ae" + dependencies: + minimist "^1.2.0" + os-name "^2.0.1" + which "^1.2.14" + enzyme@2.8.2: version "2.8.2" resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-2.8.2.tgz#6c8bcb05012abc4aa4bc3213fb23780b9b5b1714" @@ -1993,7 +2101,7 @@ enzyme@2.8.2: prop-types "^15.5.4" uuid "^2.0.3" -"errno@>=0.1.1 <0.2.0-0": +"errno@>=0.1.1 <0.2.0-0", errno@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" dependencies: @@ -2012,14 +2120,15 @@ errorhandler@~1.4.2: accepts "~1.3.0" escape-html "~1.0.3" -es-abstract@^1.6.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c" +es-abstract@^1.5.0, es-abstract@^1.6.1, es-abstract@^1.7.0: + version "1.8.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.8.2.tgz#25103263dc4decbda60e0c737ca32313518027ee" dependencies: es-to-primitive "^1.1.1" - function-bind "^1.1.0" + function-bind "^1.1.1" + has "^1.0.1" is-callable "^1.1.3" - is-regex "^1.0.3" + is-regex "^1.0.4" es-to-primitive@^1.1.1: version "1.1.1" @@ -2029,58 +2138,6 @@ es-to-primitive@^1.1.1: is-date-object "^1.0.1" is-symbol "^1.0.1" -es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.15" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.15.tgz#c330a5934c1ee21284a7c081a86e5fd937c91ea6" - dependencies: - es6-iterator "2" - es6-symbol "~3.1" - -es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-symbol "^3.1" - -es6-map@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-set "~0.1.5" - es6-symbol "~3.1.1" - event-emitter "~0.3.5" - -es6-set@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-symbol "3.1.1" - event-emitter "~0.3.5" - -es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - dependencies: - d "1" - es5-ext "~0.10.14" - -es6-weak-map@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - escape-html@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.2.tgz#d77d32fa98e38c2f41ae85e9278e0e0e6ba1022c" @@ -2094,24 +2151,15 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" escodegen@^1.6.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + version "1.9.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852" dependencies: - esprima "^2.7.1" - estraverse "^1.9.1" + esprima "^3.1.3" + estraverse "^4.2.0" esutils "^2.0.2" optionator "^0.8.1" optionalDependencies: - source-map "~0.2.0" - -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" - dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" + source-map "~0.5.6" eslint-plugin-mocha@4.9.0: version "4.9.0" @@ -2119,69 +2167,79 @@ eslint-plugin-mocha@4.9.0: dependencies: ramda "^0.23.0" -eslint-plugin-react@7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.0.1.tgz#e78107e1e559c6e2b17786bb67c2e2a010ad0d2f" +eslint-plugin-react@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.3.0.tgz#ca9368da36f733fbdc05718ae4e91f778f38e344" dependencies: doctrine "^2.0.0" has "^1.0.1" - jsx-ast-utils "^1.3.4" + jsx-ast-utils "^2.0.0" + prop-types "^15.5.10" -eslint@3.19.0: - version "3.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" +eslint-scope@^3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" dependencies: - babel-code-frame "^6.16.0" - chalk "^1.1.3" - concat-stream "^1.5.2" - debug "^2.1.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint@4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.6.1.tgz#ddc7fc7fd70bf93205b0b3449bb16a1e9e7d4950" + dependencies: + ajv "^5.2.0" + babel-code-frame "^6.22.0" + chalk "^2.1.0" + concat-stream "^1.6.0" + cross-spawn "^5.1.0" + debug "^2.6.8" doctrine "^2.0.0" - escope "^3.6.0" - espree "^3.4.0" + eslint-scope "^3.7.1" + espree "^3.5.0" esquery "^1.0.0" estraverse "^4.2.0" esutils "^2.0.2" file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.14.0" - ignore "^3.2.0" + functional-red-black-tree "^1.0.1" + glob "^7.1.2" + globals "^9.17.0" + ignore "^3.3.3" imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" + inquirer "^3.0.6" is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" + js-yaml "^3.9.1" + json-stable-stringify "^1.0.1" levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" + lodash "^4.17.4" + minimatch "^3.0.2" + mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.7.5" - strip-bom "^3.0.0" + path-is-inside "^1.0.2" + pluralize "^4.0.0" + progress "^2.0.0" + require-uncached "^1.0.3" + semver "^5.3.0" + strip-ansi "^4.0.0" strip-json-comments "~2.0.1" - table "^3.7.8" + table "^4.0.1" text-table "~0.2.0" - user-home "^2.0.0" -espree@^3.4.0: - version "3.4.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.2.tgz#38dbdedbedc95b8961a1fbf04734a8f6a9c8c592" +espree@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.0.tgz#98358625bdd055861ea27e2867ea729faf463d8d" dependencies: - acorn "^5.0.1" + acorn "^5.1.1" acorn-jsx "^3.0.0" -esprima@^2.7.1: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - -esprima@^3.1.1: +esprima@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" +esprima@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + esquery@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" @@ -2189,25 +2247,17 @@ esquery@^1.0.0: estraverse "^4.0.0" esrecurse@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" + version "4.2.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" dependencies: - estraverse "~4.1.0" + estraverse "^4.1.0" object-assign "^4.0.1" -estraverse@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" - -estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" -estraverse@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" - -esutils@^2.0.0, esutils@^2.0.2: +esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -2216,26 +2266,31 @@ etag@~1.7.0: resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" etag@~1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051" - -event-emitter@~0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - dependencies: - d "1" - es5-ext "~0.10.14" + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" event-target-shim@^1.0.5: version "1.1.1" resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-1.1.1.tgz#a86e5ee6bdaa16054475da797ccddf0c55698491" exec-sh@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.0.tgz#14f75de3f20d286ef933099b2ce50a90359cef10" + version "0.2.1" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38" dependencies: merge "^1.1.3" +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + exit-hook@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" @@ -2252,7 +2307,7 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" -expirymanager@0.9.x: +expirymanager@0.9.x, expirymanager@~0.9.3: version "0.9.3" resolved "https://registry.yarnpkg.com/expirymanager/-/expirymanager-0.9.3.tgz#e5f6b3ba00d8d76cf63311c2b71d7dfc9bde3e4f" @@ -2271,8 +2326,8 @@ express-session@~1.11.3: utils-merge "1.0.0" express@^4.13.3: - version "4.15.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.15.2.tgz#af107fc148504457f2dca9a6f2571d7129b97b35" + version "4.15.4" + resolved "https://registry.yarnpkg.com/express/-/express-4.15.4.tgz#032e2253489cf8fce02666beca3d11ed7a2daed1" dependencies: accepts "~1.3.3" array-flatten "1.1.1" @@ -2280,32 +2335,32 @@ express@^4.13.3: content-type "~1.0.2" cookie "0.3.1" cookie-signature "1.0.6" - debug "2.6.1" - depd "~1.1.0" + debug "2.6.8" + depd "~1.1.1" encodeurl "~1.0.1" escape-html "~1.0.3" etag "~1.8.0" - finalhandler "~1.0.0" + finalhandler "~1.0.4" fresh "0.5.0" merge-descriptors "1.0.1" methods "~1.1.2" on-finished "~2.3.0" parseurl "~1.3.1" path-to-regexp "0.1.7" - proxy-addr "~1.1.3" - qs "6.4.0" + proxy-addr "~1.1.5" + qs "6.5.0" range-parser "~1.2.0" - send "0.15.1" - serve-static "1.12.1" + send "0.15.4" + serve-static "1.12.4" setprototypeof "1.0.3" statuses "~1.3.1" - type-is "~1.6.14" + type-is "~1.6.15" utils-merge "1.0.0" - vary "~1.1.0" + vary "~1.1.1" extend@^3.0.0, extend@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + version "3.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" external-editor@^1.0.1: version "1.1.1" @@ -2315,7 +2370,7 @@ external-editor@^1.0.1: spawn-sync "^1.0.15" tmp "^0.0.29" -external-editor@^2.0.1: +external-editor@^2.0.1, external-editor@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" dependencies: @@ -2329,9 +2384,9 @@ extglob@^0.3.1: dependencies: is-extglob "^1.0.0" -extsprintf@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" +extsprintf@1.3.0, extsprintf@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" fancy-log@^1.1.0: version "1.3.0" @@ -2340,6 +2395,10 @@ fancy-log@^1.1.0: chalk "^1.1.1" time-stamp "^1.0.0" +fast-deep-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" + fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" @@ -2369,7 +2428,7 @@ fbjs-scripts@^0.7.0: semver "^5.1.0" through2 "^2.0.0" -fbjs@^0.8.4, fbjs@^0.8.9, fbjs@~0.8.9: +fbjs@0.8.12: version "0.8.12" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04" dependencies: @@ -2381,6 +2440,18 @@ fbjs@^0.8.4, fbjs@^0.8.9, fbjs@~0.8.9: setimmediate "^1.0.5" ua-parser-js "^0.7.9" +fbjs@^0.8.4, fbjs@^0.8.9: + version "0.8.15" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.15.tgz#4f0695fdfcc16c37c0b07facec8cb4c4091685b9" + 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" + fetch-mock@5.10.0: version "5.10.0" resolved "https://registry.yarnpkg.com/fetch-mock/-/fetch-mock-5.10.0.tgz#52e29c72800640e48410602fe076ac3615e590ad" @@ -2410,8 +2481,8 @@ file-entry-cache@^2.0.0: object-assign "^4.0.1" filename-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" fill-range@^2.1.0: version "2.2.3" @@ -2432,11 +2503,11 @@ finalhandler@0.4.0: on-finished "~2.3.0" unpipe "~1.0.0" -finalhandler@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.2.tgz#d0e36f9dbc557f2de14423df6261889e9d60c93a" +finalhandler@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.4.tgz#18574f2e7c4b98b8ae3b230c21f201f31bdb3fb7" dependencies: - debug "2.6.4" + debug "2.6.8" encodeurl "~1.0.1" escape-html "~1.0.3" on-finished "~2.3.0" @@ -2445,10 +2516,10 @@ finalhandler@~1.0.0: unpipe "~1.0.0" find-babel-config@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.0.1.tgz#179fa7b36bf3e94b487410855df448b6f853b9ec" + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.1.0.tgz#acc01043a6749fec34429be6b64f542ebb5d6355" dependencies: - json5 "^0.5.0" + json5 "^0.5.1" path-exists "^3.0.0" find-cache-dir@^0.1.1: @@ -2466,6 +2537,12 @@ find-up@^1.0.0, find-up@^1.1.2: path-exists "^2.0.0" pinkie-promise "^2.0.0" +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + flat-cache@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" @@ -2475,10 +2552,16 @@ flat-cache@^1.2.1: graceful-fs "^4.1.2" write "^0.2.1" -fleximap@0.9.x: +fleximap@0.9.x, fleximap@~0.9.10: version "0.9.10" resolved "https://registry.yarnpkg.com/fleximap/-/fleximap-0.9.10.tgz#1aa50ff6a8fea0037cc378e38ddacc091025ac10" +for-each@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.2.tgz#2c40450b9348e97f281322593ba96704b9abd4d4" + dependencies: + is-function "~1.0.0" + for-in@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -2504,7 +2587,15 @@ 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.4, form-data@^2.1.1, form-data@~2.1.1: +form-data@2.3.1, form-data@^2.1.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +form-data@~2.1.1: version "2.1.4" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" dependencies: @@ -2513,8 +2604,8 @@ form-data@2.1.4, form-data@^2.1.1, form-data@~2.1.1: mime-types "^2.1.12" forwarded@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" fresh@0.3.0: version "0.3.0" @@ -2524,6 +2615,16 @@ fresh@0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" +fs-extra@0.30.0: + version "0.30.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" + 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-extra@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.0.0.tgz#337352bded4a0b714f3eb84de8cea765e9d37600" @@ -2547,12 +2648,12 @@ fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" -fsevents@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff" +fsevents@^1.0.0, fsevents@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4" dependencies: nan "^2.3.0" - node-pre-gyp "^0.6.29" + node-pre-gyp "^0.6.36" fstream-ignore@^1.0.5: version "1.0.5" @@ -2571,17 +2672,21 @@ fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: mkdirp ">=0.5 0" rimraf "2" -function-bind@^1.0.2, function-bind@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" +function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1, function-bind@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" function.prototype.name@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.0.0.tgz#5f523ca64e491a5f95aba80cc1e391080a14482e" + version "1.0.3" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.0.3.tgz#0099ae5572e9dd6f03c97d023fd92bcc5e639eac" dependencies: define-properties "^1.1.2" function-bind "^1.1.0" - is-callable "^1.1.2" + is-callable "^1.1.3" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" gauge@~1.2.5: version "1.2.7" @@ -2593,7 +2698,7 @@ gauge@~1.2.5: lodash.padend "^4.1.0" lodash.padstart "^4.1.0" -gauge@~2.7.1: +gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" dependencies: @@ -2606,16 +2711,6 @@ gauge@~2.7.1: strip-ansi "^3.0.1" wide-align "^1.1.0" -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" @@ -2624,6 +2719,10 @@ get-params@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/get-params/-/get-params-0.1.2.tgz#bae0dfaba588a0c60d7834c0d8dc2ff60eeef2fe" +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -2662,7 +2761,7 @@ glob@7.0.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.1, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1: +glob@7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: @@ -2673,6 +2772,17 @@ glob@7.1.1, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@~7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + global@^4.3.0: version "4.3.2" resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" @@ -2680,9 +2790,9 @@ global@^4.3.0: min-document "^2.19.0" process "~0.5.1" -globals@^9.0.0, globals@^9.14.0: - version "9.17.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" +globals@^9.17.0, globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" globby@^5.0.0: version "5.0.0" @@ -2777,6 +2887,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 "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + has-gulplog@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" @@ -2787,7 +2901,7 @@ has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" -has@^1.0.1: +has@^1.0.1, has@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" dependencies: @@ -2806,9 +2920,9 @@ hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" -hoist-non-react-statics@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb" +hoist-non-react-statics@^2.2.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz#343db84c6018c650778898240135a1420ee22ce0" home-or-tmp@^2.0.0: version "2.0.0" @@ -2818,8 +2932,8 @@ home-or-tmp@^2.0.0: os-tmpdir "^1.0.1" hosted-git-info@^2.1.4: - version "2.4.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67" + version "2.5.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" html-encoding-sniffer@^1.0.1: version "1.0.1" @@ -2844,6 +2958,15 @@ htmlparser2@^3.9.1: inherits "^2.0.1" readable-stream "^2.0.2" +http-errors@1.6.2, http-errors@~1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" + dependencies: + depd "1.1.1" + inherits "2.0.3" + setprototypeof "1.0.3" + statuses ">= 1.3.1 < 2" + http-errors@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" @@ -2851,15 +2974,6 @@ http-errors@~1.3.1: inherits "~2.0.1" statuses "1" -http-errors@~1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257" - dependencies: - depd "1.1.0" - inherits "2.0.3" - setprototypeof "1.0.3" - statuses ">= 1.3.1 < 2" - http-signature@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" @@ -2872,29 +2986,21 @@ iconv-lite@0.4.11: version "0.4.11" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.11.tgz#2ecb42fd294744922209a2e7c404dac8793d8ade" -iconv-lite@0.4.13, iconv-lite@~0.4.13: +iconv-lite@0.4.13: version "0.4.13" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" -iconv-lite@0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" +iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@~0.4.13: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" -iconv-lite@^0.4.17: - version "0.4.18" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2" +ignore@^3.3.3: + version "3.3.5" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.5.tgz#c4e715455f6073a8d7e5dae72d2fc9d71663dba6" -ignore@^3.2.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.7.tgz#4810ca5f1d8eca5595213a34b94f2eb4ed926bbd" - -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" +image-size@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.6.1.tgz#98122a562d59dcc097ef1b2c8191866eb8f5d663" imurmurhash@^0.1.4: version "0.1.4" @@ -2911,7 +3017,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -2956,28 +3062,25 @@ inquirer@3.0.6: strip-ansi "^3.0.0" through "^2.3.6" -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.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.2.3.tgz#1c7b1731cf77b934ec47d22c9ac5aa8fe7fbe095" 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" -interpret@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" - intl-format-cache@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/intl-format-cache/-/intl-format-cache-2.0.5.tgz#b484cefcb9353f374f25de389a3ceea1af18d7c9" @@ -3002,7 +3105,7 @@ intl@1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/intl/-/intl-1.2.5.tgz#82244a2190c4e419f8371f5aa34daa3420e2abde" -invariant@^2.0.0, invariant@^2.1.0, invariant@^2.1.1, invariant@^2.2.0, invariant@^2.2.1: +invariant@^2.0.0, invariant@^2.1.0, invariant@^2.1.1, invariant@^2.2.1, invariant@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: @@ -3012,9 +3115,9 @@ invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" -ipaddr.js@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec" +ipaddr.js@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.4.0.tgz#296aca878a821816e5b85d0a285a99bcff4582f0" is-arrayish@^0.2.1: version "0.2.1" @@ -3036,7 +3139,7 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" -is-callable@^1.1.1, is-callable@^1.1.2, is-callable@^1.1.3: +is-callable@^1.1.1, is-callable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" @@ -3045,8 +3148,8 @@ is-date-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" is-dotfile@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" is-equal-shallow@^0.1.3: version "0.1.3" @@ -3078,27 +3181,28 @@ is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" +is-function@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" + 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" dependencies: is-extglob "^1.0.0" -is-my-json-valid@^2.10.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - -is-number@^2.0.2, is-number@^2.1.0: +is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" dependencies: kind-of "^3.0.2" +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" @@ -3120,10 +3224,10 @@ is-plain-obj@^1.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" is-plain-object@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.1.tgz#4d7ca539bc9db9b737b8acb612f2318ef92f294f" + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" dependencies: - isobject "^1.0.0" + isobject "^3.0.1" is-posix-bracket@^0.1.0: version "0.1.1" @@ -3137,11 +3241,7 @@ is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/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" - -is-regex@^1.0.3: +is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" dependencies: @@ -3157,7 +3257,7 @@ is-resolvable@^1.0.0: dependencies: tryit "^1.0.1" -is-stream@^1.0.1: +is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -3193,16 +3293,16 @@ isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" -isobject@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-1.0.2.tgz#f0f9b8ce92dd540fa0740882e3835a2e022ec78a" - isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" dependencies: isarray "1.0.0" +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + isomorphic-fetch@2.2.1, isomorphic-fetch@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" @@ -3214,74 +3314,92 @@ isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -istanbul-lib-coverage@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.0.tgz#caca19decaef3525b5d6331d701f3f3b7ad48528" +istanbul-lib-coverage@^1.1.0, istanbul-lib-coverage@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" istanbul-lib-hook@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.6.tgz#c0866d1e81cf2d5319249510131fc16dee49231f" + version "1.0.7" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz#dd6607f03076578fe7d6f2a630cf143b49bacddc" dependencies: append-transform "^0.4.0" istanbul-lib-instrument@^1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.1.tgz#169e31bc62c778851a99439dd99c3cc12184d360" + version "1.8.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz#66f6c9421cc9ec4704f76f2db084ba9078a2b532" dependencies: babel-generator "^6.18.0" babel-template "^6.16.0" babel-traverse "^6.18.0" babel-types "^6.18.0" - babylon "^6.13.0" - istanbul-lib-coverage "^1.1.0" + babylon "^6.18.0" + istanbul-lib-coverage "^1.1.1" semver "^5.3.0" istanbul-lib-report@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.0.tgz#444c4ecca9afa93cf584f56b10f195bf768c0770" + version "1.1.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#f0e55f56655ffa34222080b7a0cd4760e1405fc9" dependencies: - istanbul-lib-coverage "^1.1.0" + istanbul-lib-coverage "^1.1.1" mkdirp "^0.5.1" path-parse "^1.0.5" supports-color "^3.1.2" istanbul-lib-source-maps@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.0.tgz#8c7706d497e26feeb6af3e0c28fd5b0669598d0e" + version "1.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz#a6fe1acba8ce08eebc638e572e294d267008aa0c" dependencies: debug "^2.6.3" - istanbul-lib-coverage "^1.1.0" + istanbul-lib-coverage "^1.1.1" mkdirp "^0.5.1" rimraf "^2.6.1" source-map "^0.5.3" istanbul-reports@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.0.tgz#1ef3b795889219cfb5fad16365f6ce108d5f8c66" + version "1.1.2" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.2.tgz#0fb2e3f6aa9922bd3ce45d05d8ab4d5e8e07bd4f" dependencies: handlebars "^4.0.3" -jail-monkey@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/jail-monkey/-/jail-monkey-0.0.8.tgz#076dfae94b4648950b825ecc2d33aac0642d97b6" +jail-monkey@0.0.9: + version "0.0.9" + resolved "https://registry.yarnpkg.com/jail-monkey/-/jail-monkey-0.0.9.tgz#35c6447cdd3b2e1c08a6a0bce2046d172557f313" -jest-haste-map@19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-19.0.0.tgz#adde00b62b1fe04432a104b3254fc5004514b55e" +jest-docblock@20.1.0-chi.1: + version "20.1.0-chi.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-20.1.0-chi.1.tgz#06981ab0e59498a2492333b0c5502a82e4603207" + +jest-docblock@20.1.0-delta.4: + version "20.1.0-delta.4" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-20.1.0-delta.4.tgz#360d4f5fb702730c4136c4e71e5706188a694682" + +jest-docblock@^20.1.0-chi.1: + version "20.1.0-echo.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-20.1.0-echo.1.tgz#be02f43ee019f97e6b83267c746ac7b40d290fe8" + +jest-haste-map@20.1.0-chi.1: + version "20.1.0-chi.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-20.1.0-chi.1.tgz#db5f5f31362c76e242b40ea9a3ccfa364719cee3" dependencies: fb-watchman "^2.0.0" - graceful-fs "^4.1.6" + graceful-fs "^4.1.11" + jest-docblock "^20.1.0-chi.1" micromatch "^2.3.11" - sane "~1.5.0" + sane "^2.0.0" worker-farm "^1.3.1" -jodid25519@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" +jest-haste-map@20.1.0-delta.4: + version "20.1.0-delta.4" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-20.1.0-delta.4.tgz#12e32b297a6dd49705cacde938029fc158834006" dependencies: - jsbn "~0.1.0" + fb-watchman "^2.0.0" + graceful-fs "^4.1.11" + jest-docblock "20.1.0-delta.4" + micromatch "^2.3.11" + sane "^2.0.0" + worker-farm "^1.3.1" -joi@^6.10.1, joi@^6.6.1: +joi@^6.10.1: version "6.10.1" resolved "https://registry.yarnpkg.com/joi/-/joi-6.10.1.tgz#4d50c318079122000fe5f16af1ff8e1917b77e06" dependencies: @@ -3294,20 +3412,20 @@ js-data@^2.9.0: version "2.10.0" resolved "https://registry.yarnpkg.com/js-data/-/js-data-2.10.0.tgz#8ddaa1b5e5b81384b29bc4d949bc8cc09be16d84" -js-tokens@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" +js-tokens@^3.0.0, js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -js-yaml@^3.5.1: - version "3.8.3" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.3.tgz#33a05ec481c850c8875929166fe1beb61c728766" +js-yaml@^3.9.1: + version "3.10.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" dependencies: argparse "^1.0.7" - esprima "^3.1.1" + esprima "^4.0.0" jsan@^3.1.0, jsan@^3.1.5: - version "3.1.7" - resolved "https://registry.yarnpkg.com/jsan/-/jsan-3.1.7.tgz#60513271c3011df2d6c627f645fb246847ff4056" + version "3.1.9" + resolved "https://registry.yarnpkg.com/jsan/-/jsan-3.1.9.tgz#2705676c1058f0a7d9ac266ad036a5769cfa7c96" jsbn@~0.1.0: version "0.1.1" @@ -3355,11 +3473,15 @@ jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: +json-stable-stringify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: @@ -3377,7 +3499,7 @@ json5@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d" -json5@^0.5.0: +json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" @@ -3391,32 +3513,37 @@ jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" +jsonwebtoken@5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-5.4.1.tgz#2055c639195ffe56314fa6a51df02468186a9695" + dependencies: + jws "^3.0.0" + ms "^0.7.1" -jsonwebtoken@7.2.1: - version "7.2.1" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-7.2.1.tgz#0fc7217473fc02b4c9aa1e188aa70b51bba4fccb" +jsonwebtoken@7.4.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-7.4.1.tgz#7ca324f5215f8be039cd35a6c45bb8cb74a448fb" dependencies: joi "^6.10.1" jws "^3.1.4" lodash.once "^4.0.0" - ms "^0.7.1" + ms "^2.0.0" xtend "^4.0.1" jsprim@^1.2.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" dependencies: assert-plus "1.0.0" - extsprintf "1.0.2" + extsprintf "1.3.0" json-schema "0.2.3" - verror "1.3.6" + verror "1.10.0" -jsx-ast-utils@^1.3.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1" +jsx-ast-utils@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" + dependencies: + array-includes "^3.0.3" jwa@^1.1.4: version "1.1.5" @@ -3427,7 +3554,7 @@ jwa@^1.1.4: ecdsa-sig-formatter "1.0.9" safe-buffer "^5.0.1" -jws@^3.1.4: +jws@^3.0.0, jws@^3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/jws/-/jws-3.1.4.tgz#f9e8b9338e8a847277d6444b1464f61880e050a2" dependencies: @@ -3440,8 +3567,14 @@ keymirror@^0.1.1: resolved "https://registry.yarnpkg.com/keymirror/-/keymirror-0.1.1.tgz#918889ea13f8d0a42e7c557250eee713adc95c35" kind-of@^3.0.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.0.tgz#b58abe4d5c044ad33726a8c1525b48cf891bff07" + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" dependencies: is-buffer "^1.1.5" @@ -3486,6 +3619,22 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + lodash-es@^4.17.4, lodash-es@^4.2.0, lodash-es@^4.2.1: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.4.tgz#dcc1d7552e150a0640073ba9cb31d70f032950e7" @@ -3583,6 +3732,10 @@ lodash.foreach@^4.3.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" +lodash.forin@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.forin/-/lodash.forin-4.4.0.tgz#5d3f20ae564011fbe88381f7d98949c9c9519731" + lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" @@ -3595,6 +3748,10 @@ lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" +lodash.isempty@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" + lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" @@ -3635,6 +3792,10 @@ lodash.pick@^4.2.1: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" +lodash.pickby@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" + lodash.reduce@^4.4.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" @@ -3699,11 +3860,15 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1: js-tokens "^3.0.0" lru-cache@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" + version "4.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" dependencies: - pseudomap "^1.0.1" - yallist "^2.0.0" + pseudomap "^1.0.2" + yallist "^2.1.2" + +macos-release@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-1.1.0.tgz#831945e29365b470aa8724b0ab36c8f8959d10fb" makeerror@1.0.x: version "1.0.11" @@ -3713,19 +3878,19 @@ makeerror@1.0.x: mattermost-redux@mattermost/mattermost-redux#master: version "0.0.1" - resolved "https://codeload.github.com/mattermost/mattermost-redux/tar.gz/51f9ab2b2e163bbca75213fa44b2a3a96f916c9f" + resolved "https://codeload.github.com/mattermost/mattermost-redux/tar.gz/b09a04337301c1a3cbe8a5a7e726e305a9af4f41" dependencies: deep-equal "1.0.1" harmony-reflect "1.5.1" isomorphic-fetch "2.2.1" - mime-db "1.27.0" - redux "3.6.0" - redux-action-buffer "1.0.1" + mime-db "1.30.0" + redux "3.7.2" + redux-action-buffer "1.1.0" redux-batched-actions "0.2.0" redux-offline "git+https://github.com/enahum/redux-offline.git" - redux-persist "4.6.0" + redux-persist "4.9.1" redux-thunk "2.2.0" - reselect "3.0.0" + reselect "3.0.1" serialize-error "2.1.0" md5-hex@^1.2.0: @@ -3746,33 +3911,85 @@ media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + dependencies: + mimic-fn "^1.0.0" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" merge-source-map@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.3.tgz#da1415f2722a5119db07b14c4f973410863a2abf" + version "1.0.4" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f" dependencies: - source-map "^0.5.3" + source-map "^0.5.6" + +merge-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/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" method-override@~2.3.5: - version "2.3.8" - resolved "https://registry.yarnpkg.com/method-override/-/method-override-2.3.8.tgz#178234bf4bab869f89df9444b06fc6147b44828c" + version "2.3.9" + resolved "https://registry.yarnpkg.com/method-override/-/method-override-2.3.9.tgz#bd151f2ce34cf01a76ca400ab95c012b102d8f71" dependencies: - debug "2.6.3" + debug "2.6.8" methods "~1.1.2" parseurl "~1.3.1" - vary "~1.1.0" + vary "~1.1.1" methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" +metro-bundler@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/metro-bundler/-/metro-bundler-0.11.0.tgz#ba5d2ae34943da28a37c2098047ad265c16fddf4" + 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.4" + babel-preset-react-native "^2.0.0" + babel-register "^6.24.1" + babylon "^6.17.0" + chalk "^1.1.1" + concat-stream "^1.6.0" + core-js "^2.2.2" + debug "^2.2.0" + denodeify "^1.2.1" + fbjs "0.8.12" + graceful-fs "^4.1.3" + image-size "^0.6.0" + jest-docblock "20.1.0-chi.1" + jest-haste-map "20.1.0-chi.1" + 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 "^4.1.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" @@ -3791,9 +4008,9 @@ micromatch@^2.1.5, micromatch@^2.3.11: parse-glob "^3.0.4" regex-cache "^0.4.2" -mime-db@1.27.0, "mime-db@>= 1.27.0 < 2", mime-db@~1.27.0: - version "1.27.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" +mime-db@1.30.0, "mime-db@>= 1.29.0 < 2", mime-db@~1.30.0: + version "1.30.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" mime-db@~1.23.0: version "1.23.0" @@ -3805,16 +4022,20 @@ mime-types@2.1.11: dependencies: mime-db "~1.23.0" -mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.6, mime-types@~2.1.7, mime-types@~2.1.9: - version "2.1.15" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" +mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.6, mime-types@~2.1.7, mime-types@~2.1.9: + version "2.1.17" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" dependencies: - mime-db "~1.27.0" + mime-db "~1.30.0" -mime@1.3.4, mime@^1.3.4: +mime@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" +mime@^1.3.4: + version "1.4.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.0.tgz#69e9e0db51d44f2a3b56e48b7817d7d137f1a343" + mimic-fn@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" @@ -3825,13 +4046,13 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" -minimatch@^3.0.0, minimatch@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: - brace-expansion "^1.0.0" + brace-expansion "^1.1.7" -minimist@0.0.8, minimist@~0.0.1: +minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" @@ -3839,10 +4060,14 @@ minimist@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.0.tgz#cdf225e8898f840a258ded44fc91776770afdc93" -minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0, "minimist@~ 1.2.0": +minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.0, "minimist@~ 1.2.0", minimist@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" @@ -3873,6 +4098,10 @@ mocha@3.4.1: mkdirp "0.5.1" supports-color "3.1.2" +mockery@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mockery/-/mockery-2.1.0.tgz#5b0aef1ff564f0f8139445e165536c7909713470" + moment@2.x.x: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" @@ -3895,7 +4124,11 @@ ms@0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" -ms@0.7.3, ms@^0.7.1: +ms@2.0.0, ms@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +ms@^0.7.1: version "0.7.3" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" @@ -3912,10 +4145,6 @@ 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.6: version "0.0.6" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" @@ -3925,19 +4154,25 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" nan@^2.3.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" + version "2.7.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" -ncom@0.11.x: - version "0.11.1" - resolved "https://registry.yarnpkg.com/ncom/-/ncom-0.11.1.tgz#e41f98a13c486d353f11e967217657cecc81329b" +ncom@0.10.x: + version "0.10.1" + resolved "https://registry.yarnpkg.com/ncom/-/ncom-0.10.1.tgz#5247bf3d56e2d5fc74c445413ddb3ee22ce65888" dependencies: sc-domain "1.x.x" - sc-formatter "3.0.x" + sc-formatter "2.0.x" + +ncom@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ncom/-/ncom-1.0.0.tgz#9d024905a9e86cffab3fb233ff661e3e7ba75a65" + dependencies: + sc-formatter "~3.0.0" negotiator@0.5.3: version "0.5.3" @@ -3948,8 +4183,8 @@ negotiator@0.6.1: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" node-fetch@^1.0.1, node-fetch@^1.3.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" dependencies: encoding "^0.1.11" is-stream "^1.0.1" @@ -3958,9 +4193,9 @@ node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" -node-pre-gyp@^0.6.29: - version "0.6.34" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7" +node-pre-gyp@^0.6.36: + version "0.6.37" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.37.tgz#3c872b236b2e266e4140578fe1ee88f693323a05" dependencies: mkdirp "^0.5.1" nopt "^4.0.1" @@ -3969,13 +4204,18 @@ node-pre-gyp@^0.6.29: request "^2.81.0" rimraf "^2.6.1" semver "^5.3.0" + tape "^4.6.3" tar "^2.2.1" tar-pack "^3.4.0" -node-uuid@^1.4.0: +node-uuid@1.4.7: version "1.4.7" resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" +node-uuid@^1.4.0: + version "1.4.8" + resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" + nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -3984,20 +4224,26 @@ nopt@^4.0.1: osenv "^0.1.4" normalize-package-data@^2.3.2: - version "2.3.8" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" dependencies: hosted-git-info "^2.1.4" is-builtin-module "^1.0.0" semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^2.0.1: +normalize-path@^2.0.0, normalize-path@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" dependencies: remove-trailing-separator "^1.0.1" +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + npmlog@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692" @@ -4007,12 +4253,12 @@ npmlog@^2.0.4: gauge "~1.2.5" npmlog@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" - gauge "~2.7.1" + gauge "~2.7.3" set-blocking "~2.0.0" nth-check@~1.0.1: @@ -4026,10 +4272,10 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" "nwmatcher@>= 1.3.9 < 2.0.0": - version "1.3.9" - resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.3.9.tgz#8bab486ff7fa3dfd086656bbe8b17116d3692d2a" + version "1.4.1" + resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.1.tgz#7ae9b07b0ea804db7e25f05cb5fe4097d4e4949f" -nyc@^10.3.2: +nyc@10.3.2: version "10.3.2" resolved "https://registry.yarnpkg.com/nyc/-/nyc-10.3.2.tgz#f27f4d91f2a9db36c24f574ff5c6efff0233de46" dependencies: @@ -4073,6 +4319,10 @@ object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1 version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" +object-inspect@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.3.0.tgz#5b1eb8e6742e2ee83342a637034d844928ba2f6d" + object-is@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" @@ -4178,6 +4428,21 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + +os-name@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/os-name/-/os-name-2.0.1.tgz#b9a386361c17ae3a21736ef0599405c9a8c5dc5e" + dependencies: + macos-release "^1.0.0" + win-release "^1.0.0" + os-shim@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" @@ -4193,7 +4458,7 @@ osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -output-file-sync@^1.1.0: +output-file-sync@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" dependencies: @@ -4201,6 +4466,20 @@ output-file-sync@^1.1.0: mkdirp "^0.5.1" object-assign "^4.1.0" +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-limit@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -4221,8 +4500,8 @@ parse5@^1.5.1: resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" parseurl@~1.3.0, parseurl@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" pascalcase@^0.1.1: version "0.1.1" @@ -4238,14 +4517,18 @@ path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" -path-is-absolute@^1.0.0: +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" -path-is-inside@^1.0.1: +path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + path-parse@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" @@ -4268,6 +4551,12 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + dependencies: + pify "^2.0.0" + pause@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/pause/-/pause-0.1.0.tgz#ebc8a4a8619ff0b8a81ac1513c3434ff469fdb74" @@ -4276,10 +4565,14 @@ pegjs@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/pegjs/-/pegjs-0.10.0.tgz#cf8bafae6eddff4b5a7efb185269eaaf4610ddbd" -performance-now@^0.2.0, performance-now@~0.2.0: +performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -4317,9 +4610,9 @@ plist@^1.2.0: xmlbuilder "4.0.0" xmldom "0.1.x" -pluralize@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" +pluralize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762" pn@^1.0.0: version "1.0.0" @@ -4337,7 +4630,7 @@ pretty-format@^4.2.1: version "4.3.1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-4.3.1.tgz#530be5c42b3c05b36414a7a2a4337aa80acd0e8d" -private@^0.1.6: +private@^0.1.6, private@^0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" @@ -4349,39 +4642,35 @@ process@~0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" -progress@2.0.0: +progress@2.0.0, progress@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" -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" + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" dependencies: asap "~2.0.3" -prop-types@15.5.10, prop-types@^15.0.0, prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.8, prop-types@~15.5.7: +prop-types@15.5.10, prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.8, prop-types@~15.5.7: version "15.5.10" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.10.tgz#2797dfc3126182e3a95e3dfbb2e893ddd7456154" dependencies: fbjs "^0.8.9" loose-envify "^1.3.1" -proxy-addr@~1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3" +proxy-addr@~1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.5.tgz#71c0ee3b102de3f202f3b64f608d173fcba1a918" dependencies: forwarded "~0.1.0" - ipaddr.js "1.3.0" + ipaddr.js "1.4.0" prr@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" -pseudomap@^1.0.1: +pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -4393,7 +4682,15 @@ qs@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/qs/-/qs-4.0.0.tgz#c31d9b74ec27df75e543a86c78728ed8d4623607" -qs@6.4.0, qs@~6.4.0: +qs@6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.0.tgz#8d04954d364def3efc55b5a0793e1e2c8b1e6e49" + +qs@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" + +qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" @@ -4406,10 +4703,10 @@ querystringify@~1.0.0: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb" raf@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.3.0.tgz#93845eeffc773f8129039f677f80a36044eee2c3" + version "3.3.2" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.3.2.tgz#0c13be0b5b49b46f76d6669248d527cf2b02fe27" dependencies: - performance-now "~0.2.0" + performance-now "^2.1.0" ramda@^0.23.0: version "0.23.0" @@ -4420,11 +4717,11 @@ random-bytes@~1.0.0: resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" randomatic@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + version "1.1.7" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" dependencies: - is-number "^2.0.2" - kind-of "^3.0.2" + is-number "^3.0.0" + kind-of "^4.0.0" range-parser@~1.0.3: version "1.0.3" @@ -4438,6 +4735,15 @@ raven-js@^3.16.1: version "3.17.0" resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.17.0.tgz#779457ac7910512c3c2cc9bb6d0a9eeb59a969ec" +raw-body@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" + dependencies: + bytes "3.0.0" + http-errors "1.6.2" + iconv-lite "0.4.19" + unpipe "1.0.0" + raw-body@~2.1.2: version "2.1.7" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774" @@ -4446,14 +4752,6 @@ raw-body@~2.1.2: iconv-lite "0.4.13" unpipe "1.0.0" -raw-body@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96" - dependencies: - bytes "2.4.0" - iconv-lite "0.4.15" - unpipe "1.0.0" - rc@^1.1.7: version "1.2.1" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" @@ -4464,10 +4762,11 @@ rc@^1.1.7: strip-json-comments "~2.0.1" react-addons-create-fragment@^15.4.0: - version "15.5.3" - resolved "https://registry.yarnpkg.com/react-addons-create-fragment/-/react-addons-create-fragment-15.5.3.tgz#d0025675a9e98b2591240382c73b491251066109" + version "15.6.0" + resolved "https://registry.yarnpkg.com/react-addons-create-fragment/-/react-addons-create-fragment-15.6.0.tgz#af91a22b1fb095dd01f1afba43bfd0ef589d8b20" dependencies: fbjs "^0.8.4" + loose-envify "^1.3.1" object-assign "^4.1.0" react-addons-perf@^15.4.0: @@ -4478,22 +4777,26 @@ react-addons-perf@^15.4.0: object-assign "^4.1.0" react-addons-pure-render-mixin@^15.4.0: - version "15.5.2" - resolved "https://registry.yarnpkg.com/react-addons-pure-render-mixin/-/react-addons-pure-render-mixin-15.5.2.tgz#ebb846aeb2fd771336c232822923108f87d5bff2" + version "15.6.0" + resolved "https://registry.yarnpkg.com/react-addons-pure-render-mixin/-/react-addons-pure-render-mixin-15.6.0.tgz#84ba028630cdf89239d16f1bb4d98fe865651813" dependencies: fbjs "^0.8.4" object-assign "^4.1.0" -react-addons-test-utils@15.5.1, react-addons-test-utils@^15.4.0: +react-addons-test-utils@15.5.1: version "15.5.1" resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.5.1.tgz#e0d258cda2a122ad0dff69f838260d0c3958f5f7" dependencies: fbjs "^0.8.4" object-assign "^4.1.0" +react-addons-test-utils@^15.4.0: + version "15.6.0" + resolved "https://registry.yarnpkg.com/react-addons-test-utils/-/react-addons-test-utils-15.6.0.tgz#062d36117fe8d18f3ba5e06eb33383b0b85ea5b9" + react-addons-update@^15.4.0: - version "15.5.2" - resolved "https://registry.yarnpkg.com/react-addons-update/-/react-addons-update-15.5.2.tgz#0ada50494387b17238999ee9662f9f3fc38f935d" + version "15.6.0" + resolved "https://registry.yarnpkg.com/react-addons-update/-/react-addons-update-15.6.0.tgz#67f8d5a3d3d8ac7ccfa452565a8310065178e748" dependencies: fbjs "^0.8.9" object-assign "^4.1.0" @@ -4503,17 +4806,17 @@ react-clone-referenced-element@^1.0.1: resolved "https://registry.yarnpkg.com/react-clone-referenced-element/-/react-clone-referenced-element-1.0.1.tgz#2bba8c69404c5e4a944398600bcc4c941f860682" 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" + version "1.1.1" + resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz#bcd31478027b64b3339f108921ab520b4313dc2c" -react-devtools-core@^2.0.8: - version "2.1.9" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-2.1.9.tgz#825e0582b7f8587cbf56bb5ef1ea94d8b158543e" +react-devtools-core@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-2.5.1.tgz#81ef30e0ac35c670d96b436d1f7510eaebe6c08b" dependencies: shell-quote "^1.6.1" ws "^2.0.3" -react-dom@15.5.4, react-dom@^15.4.0: +react-dom@15.5.4: version "15.5.4" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.5.4.tgz#ba0c28786fd52ed7e4f2135fe0288d462aef93da" dependencies: @@ -4522,6 +4825,15 @@ react-dom@15.5.4, react-dom@^15.4.0: object-assign "^4.1.0" prop-types "~15.5.7" +react-dom@^15.4.0: + version "15.6.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.1.tgz#2cb0ed4191038e53c209eb3a79a23e2a4cf99470" + dependencies: + fbjs "^0.8.9" + loose-envify "^1.1.0" + object-assign "^4.1.0" + prop-types "^15.5.10" + react-element-to-jsx-string@^5.0.0: version "5.0.7" resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-5.0.7.tgz#c663a4800a9c712115c0d8519cb0215a46a1f0f2" @@ -4542,13 +4854,15 @@ react-intl@2.3.0: intl-relativeformat "^1.3.0" invariant "^2.1.1" -react-native-animatable@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/react-native-animatable/-/react-native-animatable-1.2.2.tgz#a873550e6f7cb95f90baf46b9eb15b1ab56425cb" +react-native-animatable@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/react-native-animatable/-/react-native-animatable-1.2.3.tgz#d0f0bd694833b934f3aaa1275739228b786ecb4b" + dependencies: + prop-types "^15.5.10" -react-native-bottom-sheet@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/react-native-bottom-sheet/-/react-native-bottom-sheet-1.0.1.tgz#bce4df50cda419f61c938179508640d5d9ff7768" +react-native-bottom-sheet@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/react-native-bottom-sheet/-/react-native-bottom-sheet-1.0.2.tgz#11a9b68b950c4ca4ccc1dab4ca4f5770002855c8" react-native-button@1.8.2: version "1.8.2" @@ -4560,9 +4874,9 @@ react-native-circular-progress@0.0.8: dependencies: art "^0.10.0" -react-native-cookies@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/react-native-cookies/-/react-native-cookies-3.1.0.tgz#7816a60be1ae0484c9ddd47380d77f98ec0ffaca" +react-native-cookies@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/react-native-cookies/-/react-native-cookies-3.2.0.tgz#1079d4d368bb287d1c8a93f3b9b60a4bde659966" dependencies: invariant "^2.1.0" @@ -4570,15 +4884,16 @@ react-native-device-info@0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/react-native-device-info/-/react-native-device-info-0.11.0.tgz#e96dd0e3f8a7d7e3022c1f441f51fa912fdc7444" -react-native-drawer@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/react-native-drawer/-/react-native-drawer-2.3.0.tgz#a0369ec80ff0b61c9f152dbdea91fe76c843113a" +react-native-drawer@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/react-native-drawer/-/react-native-drawer-2.4.0.tgz#e12aceb26bf95795b7d062838feaac94c7700c04" dependencies: + prop-types "^15.5.8" tween-functions "^1.0.1" -react-native-exception-handler@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/react-native-exception-handler/-/react-native-exception-handler-2.0.1.tgz#4ab9fc668927c2672adfffce3784316d81f130e8" +react-native-exception-handler@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/react-native-exception-handler/-/react-native-exception-handler-2.1.0.tgz#47d0522b362ba00de22bd90392c807ab566cc6e3" react-native-fast-image@1.0.0: version "1.0.0" @@ -4593,23 +4908,27 @@ react-native-fetch-blob@0.10.8: base-64 "0.1.0" glob "7.0.6" -react-native-image-picker@jp928/react-native-image-picker#6ee35b69f3dbd6c7c66f580fd4d9eabf398703d4: - version "0.26.2" - resolved "https://codeload.github.com/jp928/react-native-image-picker/tar.gz/6ee35b69f3dbd6c7c66f580fd4d9eabf398703d4" +react-native-image-picker@0.26.6: + version "0.26.6" + resolved "https://registry.yarnpkg.com/react-native-image-picker/-/react-native-image-picker-0.26.6.tgz#387f95dd61a6cd34ac6a7eda2744a3895fb3bc6f" -react-native-keyboard-aware-scroll-view@0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/react-native-keyboard-aware-scroll-view/-/react-native-keyboard-aware-scroll-view-0.2.8.tgz#e9843c0d7467a2e6a2a737883bd9c2b7c7e38e35" +react-native-keyboard-aware-scroll-view@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/react-native-keyboard-aware-scroll-view/-/react-native-keyboard-aware-scroll-view-0.3.0.tgz#b9d7b0d5b47d2bb4285fe50a3d274b10a3b5e1a7" dependencies: + create-react-class "^15.6.0" + prop-types "^15.5.10" react-timer-mixin "^0.13.3" -react-native-linear-gradient@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/react-native-linear-gradient/-/react-native-linear-gradient-2.0.0.tgz#7442c00e1fcd9fca329119dcbaf744d12bcd1b5a" +react-native-linear-gradient@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/react-native-linear-gradient/-/react-native-linear-gradient-2.3.0.tgz#757997197e35edf52e290891a11566e462845da1" + dependencies: + prop-types "^15.5.10" react-native-local-auth@enahum/react-native-local-auth.git: version "1.4.1" - resolved "https://codeload.github.com/enahum/react-native-local-auth/tar.gz/ee2e53bcfe3fd0c49c28ff48f05cc19d5b56668c" + resolved "https://codeload.github.com/enahum/react-native-local-auth/tar.gz/4263b9361e9fb2973dcf40762220247be8eb76b4" react-native-mock@0.3.1: version "0.3.1" @@ -4653,22 +4972,22 @@ react-native-navigation@1.1.216: react-native-notifications@enahum/react-native-notifications.git: version "1.1.15" - resolved "https://codeload.github.com/enahum/react-native-notifications/tar.gz/084d5e928d8149e711c1b6c384f3d87cc16072f9" + resolved "https://codeload.github.com/enahum/react-native-notifications/tar.gz/65756ca9151b2b90c8a074426694c7a1622d54b7" dependencies: core-js "^1.0.0" uuid "^2.0.3" react-native-orientation@enahum/react-native-orientation.git: version "1.17.0" - resolved "https://codeload.github.com/enahum/react-native-orientation/tar.gz/8b8495c91d8e63598874a141279cf5409e26ad3a" + resolved "https://codeload.github.com/enahum/react-native-orientation/tar.gz/992c81445d906f39909219d46e41b4921a0c0a7a" react-native-passcode-status@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/react-native-passcode-status/-/react-native-passcode-status-1.1.0.tgz#e5922d5f4d79bc09849438d620406e5ccd31168a" -react-native-sentry@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/react-native-sentry/-/react-native-sentry-0.14.5.tgz#477aeca99a4c36326a64ca575e2b3718a3fb05a6" +react-native-sentry@0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/react-native-sentry/-/react-native-sentry-0.15.1.tgz#fd5e685faa8de8fc4f472703b57e023d45ee53aa" dependencies: chalk "^1.1.1" glob "7.1.1" @@ -4685,28 +5004,30 @@ react-native-svg-mock@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/react-native-svg-mock/-/react-native-svg-mock-1.0.2.tgz#2dc35fb97ca1e0ea393ece6d23782ba4f58e178f" -react-native-svg@5.1.8: - version "5.1.8" - resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-5.1.8.tgz#bdb9bc6a8693852751f7faa6598ebcb3d1be48ce" +react-native-svg@5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-5.4.1.tgz#c46191c786adbe9d5007342b4279efd153db8839" dependencies: color "^0.11.1" lodash "^4.16.6" -react-native-swiper@1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/react-native-swiper/-/react-native-swiper-1.5.4.tgz#a85535b5374ef8d605a7a720e447ac46816ac448" +react-native-swiper@nixoz/react-native-swiper: + version "1.5.12" + resolved "https://codeload.github.com/nixoz/react-native-swiper/tar.gz/e6978073f082eb0aaa72fb1d85265f19b77c1c98" + dependencies: + prop-types "^15.5.10" react-native-tooltip@enahum/react-native-tooltip: version "5.0.0" resolved "https://codeload.github.com/enahum/react-native-tooltip/tar.gz/97d58d19636df8d8df66d6b5737154c9fab727c8" -react-native-vector-icons@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/react-native-vector-icons/-/react-native-vector-icons-4.1.1.tgz#9ac75bde77d9243346668c51dca7756775428087" +react-native-vector-icons@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/react-native-vector-icons/-/react-native-vector-icons-4.3.0.tgz#49eab845fbcde6354cb3dbcb62c1abd1f6abc866" dependencies: lodash "^4.0.0" - prop-types "^15.5.8" - yargs "^6.3.0" + prop-types "^15.5.10" + yargs "^8.0.2" react-native-youtube@1.0.0-beta.3: version "1.0.0-beta.3" @@ -4714,29 +5035,30 @@ react-native-youtube@1.0.0-beta.3: dependencies: prop-types "^15.5.0" -react-native@0.44.0: - version "0.44.0" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.44.0.tgz#06427a30053f2d555c60fe0b9afcc6c778db09de" +react-native@0.48.3: + version "0.48.3" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.48.3.tgz#ec17a66929eb292512b14c091cf260b25e2fba18" dependencies: absolute-path "^0.0.0" art "^0.10.0" - async "^2.0.1" - babel-core "^6.21.0" - babel-generator "^6.21.0" + async "^2.4.0" + babel-core "^6.24.1" + babel-generator "^6.24.1" babel-plugin-external-helpers "^6.18.0" babel-plugin-syntax-trailing-function-commas "^6.20.0" babel-plugin-transform-async-to-generator "6.16.0" + babel-plugin-transform-class-properties "^6.18.0" babel-plugin-transform-flow-strip-types "^6.21.0" babel-plugin-transform-object-rest-spread "^6.20.2" babel-polyfill "^6.20.0" babel-preset-es2015-node "^6.1.1" - babel-preset-fbjs "^2.1.0" - babel-preset-react-native "^1.9.1" - babel-register "^6.18.0" - babel-runtime "^6.20.0" - babel-traverse "^6.21.0" - babel-types "^6.21.0" - babylon "^6.16.1" + babel-preset-fbjs "^2.1.4" + babel-preset-react-native "^2.0.0" + babel-register "^6.24.1" + babel-runtime "^6.23.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + babylon "^6.17.0" base64-js "^1.1.2" bser "^1.0.2" chalk "^1.1.1" @@ -4744,25 +5066,26 @@ react-native@0.44.0: concat-stream "^1.6.0" connect "^2.8.3" core-js "^2.2.2" + create-react-class "^15.5.2" debug "^2.2.0" denodeify "^1.2.1" + envinfo "^3.0.0" + errno ">=0.1.1 <0.2.0-0" event-target-shim "^1.0.5" - fbjs "~0.8.9" + fbjs "0.8.12" fbjs-scripts "^0.7.0" form-data "^2.1.1" fs-extra "^1.0.0" glob "^7.1.1" graceful-fs "^4.1.3" - image-size "^0.3.5" - immutable "~3.7.6" - imurmurhash "^0.1.4" - inquirer "^0.12.0" - jest-haste-map "19.0.0" - joi "^6.6.1" + inquirer "^3.0.6" + jest-haste-map "20.1.0-delta.4" json-stable-stringify "^1.0.1" json5 "^0.4.0" left-pad "^1.1.3" lodash "^4.16.6" + merge-stream "^1.0.1" + metro-bundler "^0.11.0" mime "^1.3.4" mime-types "2.1.11" minimist "^1.2.0" @@ -4774,8 +5097,9 @@ react-native@0.44.0: plist "^1.2.0" pretty-format "^4.2.1" promise "^7.1.1" + prop-types "^15.5.8" react-clone-referenced-element "^1.0.1" - react-devtools-core "^2.0.8" + react-devtools-core "^2.5.0" react-timer-mixin "^0.13.2" react-transform-hmr "^1.0.4" rebound "^0.0.13" @@ -4788,16 +5112,15 @@ react-native@0.44.0: source-map "^0.5.6" stacktrace-parser "^0.1.3" temp "0.8.3" - throat "^3.0.0" - uglify-js "2.7.5" + throat "^4.1.0" 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.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: @@ -4807,21 +5130,20 @@ react-proxy@^1.1.7: lodash "^4.6.1" react-deep-force-update "^1.0.0" -react-redux@5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.4.tgz#1563babadcfb2672f57f9ceaa439fb16bf85d55b" +react-redux@5.0.6: + version "5.0.6" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.6.tgz#23ed3a4f986359d68b5212eaaa681e60d6574946" dependencies: - create-react-class "^15.5.1" - hoist-non-react-statics "^1.0.3" + hoist-non-react-statics "^2.2.1" invariant "^2.0.0" lodash "^4.2.0" lodash-es "^4.2.0" loose-envify "^1.1.0" - prop-types "^15.0.0" + prop-types "^15.5.10" -react-test-renderer@15.5.4: - version "15.5.4" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-15.5.4.tgz#d4ebb23f613d685ea8f5390109c2d20fbf7c83bc" +react-test-renderer@16.0.0-alpha.12: + version "16.0.0-alpha.12" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.0.0-alpha.12.tgz#9e4cc5d8ce8bfca72778340de3e1454b9d6c0cc5" dependencies: fbjs "^0.8.9" object-assign "^4.1.0" @@ -4837,13 +5159,15 @@ react-transform-hmr@^1.0.4: global "^4.3.0" react-proxy "^1.1.7" -react@16.0.0-alpha.6: - version "16.0.0-alpha.6" - resolved "https://registry.yarnpkg.com/react/-/react-16.0.0-alpha.6.tgz#2ccb1afb4425ccc12f78a123a666f2e4c141adb9" +react@16.0.0-alpha.12: + version "16.0.0-alpha.12" + resolved "https://registry.yarnpkg.com/react/-/react-16.0.0-alpha.12.tgz#8c59485281485df319b6f77682d8dd0621c08194" dependencies: + 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" @@ -4852,6 +5176,13 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -4860,16 +5191,24 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2: - version "2.2.9" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8" +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" dependencies: - buffer-shims "~1.0.0" core-util-is "~1.0.0" - inherits "~2.0.1" + inherits "~2.0.3" isarray "~1.0.0" process-nextick-args "~1.0.6" - string_decoder "~1.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.0.3" util-deprecate "~1.0.1" readable-stream@~1.1.8, readable-stream@~1.1.9: @@ -4890,64 +5229,45 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" -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" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - -redux-action-buffer@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/redux-action-buffer/-/redux-action-buffer-1.0.1.tgz#4563f47e7c921c83cd0e8fefc713d3bba59e47b4" +redux-action-buffer@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/redux-action-buffer/-/redux-action-buffer-1.1.0.tgz#9c692ab6532b042d0d43a9f01a48ada120fc941a" redux-batched-actions@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/redux-batched-actions/-/redux-batched-actions-0.2.0.tgz#da0000c882b0e6c861a96d5823bd36adf5d9c0dd" redux-devtools-instrument@^1.3.3: - version "1.8.0" - resolved "https://registry.yarnpkg.com/redux-devtools-instrument/-/redux-devtools-instrument-1.8.0.tgz#db1840ed3d8152af6792913698e3424c119de9aa" + version "1.8.2" + resolved "https://registry.yarnpkg.com/redux-devtools-instrument/-/redux-devtools-instrument-1.8.2.tgz#5e91cfe402e790dae3fd2f0d235f7b7d84b09ffe" dependencies: lodash "^4.2.0" symbol-observable "^1.0.2" "redux-offline@git+https://github.com/enahum/redux-offline.git": version "1.1.4" - resolved "git+https://github.com/enahum/redux-offline.git#3907341aa13fe913ec02a939af76e381d369a91d" + resolved "git+https://github.com/enahum/redux-offline.git#4bd85e7e3b279a2b11fb4d587808d583d2b5e7b5" dependencies: redux-persist "^4.5.0" -redux-persist-transform-filter@0.0.9: - version "0.0.9" - resolved "https://registry.yarnpkg.com/redux-persist-transform-filter/-/redux-persist-transform-filter-0.0.9.tgz#aa2e46f7d51fcfa5c005f754f5d934b5d57b0aca" +redux-persist-transform-filter@0.0.15: + version "0.0.15" + resolved "https://registry.yarnpkg.com/redux-persist-transform-filter/-/redux-persist-transform-filter-0.0.15.tgz#07614b2d595d88ff4e2fbbafc15d0b2293396ae6" dependencies: + lodash.forin "^4.4.0" lodash.get "^4.4.2" + lodash.isempty "^4.4.0" + lodash.pickby "^4.6.0" lodash.set "^4.3.2" lodash.unset "^4.5.2" -redux-persist@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/redux-persist/-/redux-persist-4.6.0.tgz#3994793d5f2f38bf02591c9e693e16bf8eae2728" - dependencies: - json-stringify-safe "^5.0.1" - lodash "^4.17.4" - lodash-es "^4.17.4" - -redux-persist@4.8.0, redux-persist@^4.5.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/redux-persist/-/redux-persist-4.8.0.tgz#17fd998949bdeef9275e4cf60ad5bbe1c73675fc" +redux-persist@4.9.1, redux-persist@^4.5.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/redux-persist/-/redux-persist-4.9.1.tgz#271fa31d1c782ebf9082fb5174e829db24faf59e" dependencies: json-stringify-safe "^5.0.1" lodash "^4.17.4" @@ -4957,41 +5277,44 @@ redux-thunk@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.2.0.tgz#e615a16e16b47a19a515766133d1e3e99b7852e5" -redux@3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/redux/-/redux-3.6.0.tgz#887c2b3d0b9bd86eca2be70571c27654c19e188d" +redux@3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" dependencies: lodash "^4.2.1" lodash-es "^4.2.1" loose-envify "^1.1.0" - symbol-observable "^1.0.2" + symbol-observable "^1.0.3" 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.4" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.4.tgz#74cb6598d3ba2eb18694e968a40e2b3b4df9cf93" +regenerator-runtime@^0.10.0, regenerator-runtime@^0.10.5: + version "0.10.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + +regenerator-runtime@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" regenerator-runtime@^0.9.5: version "0.9.6" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" -regenerator-transform@0.9.11: - version "0.9.11" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" dependencies: babel-runtime "^6.18.0" babel-types "^6.19.0" private "^0.1.6" regex-cache@^0.4.2: - version "0.4.3" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" dependencies: is-equal-shallow "^0.1.3" - is-primitive "^2.0.0" regexpu-core@^2.0.0: version "2.0.0" @@ -5011,17 +5334,17 @@ regjsparser@^0.1.4: dependencies: jsesc "~0.5.0" -remote-redux-devtools-on-debugger@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/remote-redux-devtools-on-debugger/-/remote-redux-devtools-on-debugger-0.7.1.tgz#47f773c1c8823585bc65d7f19ede598337d29189" +remote-redux-devtools-on-debugger@0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/remote-redux-devtools-on-debugger/-/remote-redux-devtools-on-debugger-0.8.2.tgz#2b40604cd89c7899518c024a79ecdd15d066889f" dependencies: - chalk "^1.1.1" + chalk "^2.0.1" minimist "^1.2.0" - remotedev-server "^0.2.2" + remotedev-server "^0.2.3" -remote-redux-devtools@0.5.10: - version "0.5.10" - resolved "https://registry.yarnpkg.com/remote-redux-devtools/-/remote-redux-devtools-0.5.10.tgz#16897a2de7e260c59a5491133659cd2b45c38a56" +remote-redux-devtools@0.5.12: + version "0.5.12" + resolved "https://registry.yarnpkg.com/remote-redux-devtools/-/remote-redux-devtools-0.5.12.tgz#42cb95dfa9e54c1d9671317c5e7bba41e68caec2" dependencies: jsan "^3.1.5" querystring "^0.2.0" @@ -5036,9 +5359,9 @@ remotedev-serialize@^0.1.0: dependencies: jsan "^3.1.0" -remotedev-server@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/remotedev-server/-/remotedev-server-0.2.2.tgz#92494ef0e558389e12e2a8f0007ce92fc5279799" +remotedev-server@^0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/remotedev-server/-/remotedev-server-0.2.4.tgz#b019b015132064cd76024cb91eb026801f24cd67" dependencies: body-parser "^1.15.0" chalk "^1.1.3" @@ -5053,11 +5376,11 @@ remotedev-server@^0.2.2: object-assign "^4.0.0" repeat-string "^1.5.4" semver "^5.3.0" - socketcluster "^5.0.4" + socketcluster "^6.7.1" remotedev-utils@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/remotedev-utils/-/remotedev-utils-0.1.3.tgz#6e3f6611d0f58cecb100fc506dd1009af53dc955" + version "0.1.4" + resolved "https://registry.yarnpkg.com/remotedev-utils/-/remotedev-utils-0.1.4.tgz#643700819a943678073c75eb185e81d96620b348" dependencies: get-params "^0.1.2" jsan "^3.1.5" @@ -5066,8 +5389,8 @@ remotedev-utils@^0.1.1: shortid "^2.2.6" remove-trailing-separator@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" repeat-element@^1.1.2: version "1.1.2" @@ -5136,7 +5459,7 @@ require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" -require-uncached@^1.0.2: +require-uncached@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" dependencies: @@ -5147,10 +5470,6 @@ requires-port@1.0.x: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" -reselect@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/reselect/-/reselect-3.0.0.tgz#b2e35977f03048700028eaee3a8c0639e40e8f35" - reselect@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/reselect/-/reselect-3.0.1.tgz#efdaa98ea7451324d092b2b2163a6a1d7a9a2147" @@ -5163,9 +5482,9 @@ resolve-from@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" -resolve@^1.1.6, resolve@^1.2.0: - version "1.3.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" +resolve@^1.2.0, resolve@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" dependencies: path-parse "^1.0.5" @@ -5190,6 +5509,12 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +resumer@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" + dependencies: + through "~2.3.4" + right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" @@ -5197,8 +5522,8 @@ right-align@^0.1.1: align-text "^0.1.1" rimraf@2, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: glob "^7.0.5" @@ -5214,30 +5539,48 @@ 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" - dependencies: - once "^1.3.0" - run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" dependencies: 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 "https://registry.yarnpkg.com/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 "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" rx@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" -safe-buffer@^5.0.1, safe-buffer@~5.0.1: +safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + +safe-buffer@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" +sane@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-2.0.0.tgz#99cb79f21f4a53a69d4d0cd957c2db04024b8eb2" + dependencies: + anymatch "^1.3.0" + exec-sh "^0.2.0" + fb-watchman "^2.0.0" + minimatch "^3.0.2" + minimist "^1.1.1" + walker "~1.0.5" + watch "~0.10.0" + optionalDependencies: + fsevents "^1.1.1" + sane@~1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/sane/-/sane-1.4.1.tgz#88f763d74040f5f0c256b6163db399bf110ac715" @@ -5249,59 +5592,80 @@ sane@~1.4.1: walker "~1.0.5" watch "~0.10.0" -sane@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-1.5.0.tgz#a4adeae764d048621ecb27d5f9ecf513101939f3" - 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.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" sax@~1.1.1: version "1.1.6" resolved "https://registry.yarnpkg.com/sax/-/sax-1.1.6.tgz#5d616be8a5e607d54e114afae55b7eaf2fcc3240" -sc-auth@~3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/sc-auth/-/sc-auth-3.2.1.tgz#91729995e3a38cbd5e76151ba6bba8137409725f" +sc-auth@3.x.x: + version "3.3.0" + resolved "https://registry.yarnpkg.com/sc-auth/-/sc-auth-3.3.0.tgz#1b32b6da3de2e75bc77712c5886f84bea937bf90" dependencies: - jsonwebtoken "7.2.1" - sc-errors "1.0.x" + jsonwebtoken "7.4.1" + sc-errors "1.2.x" -sc-broker-cluster@~4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/sc-broker-cluster/-/sc-broker-cluster-4.0.0.tgz#d0f57f1e33104adc24a2a1c1d4fc5209ab6a0d2e" +sc-auth@~4.1.0, sc-auth@~4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/sc-auth/-/sc-auth-4.1.2.tgz#6a11289826febe09c552e38468a22c08cef61eb9" + dependencies: + sc-errors "~1.3.3" + sc-jsonwebtoken "~7.4.2" + +sc-broker-cluster@2.x.x: + version "2.1.8" + resolved "https://registry.yarnpkg.com/sc-broker-cluster/-/sc-broker-cluster-2.1.8.tgz#ce57ed3eb63aeea637f7bf6980dc568d76dfa3c7" dependencies: async "2.0.0" - sc-broker "2.3.x" + sc-broker "2.2.x" sc-channel "1.0.x" sc-domain "1.x.x" sc-hasher "1.x.x" socketcluster-server "5.x.x" -sc-broker@2.3.x: - version "2.3.2" - resolved "https://registry.yarnpkg.com/sc-broker/-/sc-broker-2.3.2.tgz#4215c187319ae6b277025ff887dcf6a9d73d1d98" +sc-broker-cluster@~4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/sc-broker-cluster/-/sc-broker-cluster-4.3.0.tgz#a82526385aa382400737512090328f4cb659b8e0" + dependencies: + async "2.0.0" + sc-broker "~4.1.0" + sc-channel "~1.1.0" + sc-errors "~1.3.3" + sc-hasher "~1.0.0" + +sc-broker@2.2.x: + version "2.2.3" + resolved "https://registry.yarnpkg.com/sc-broker/-/sc-broker-2.2.3.tgz#56493e53355d34269f374d913ff21f9e64068e6f" dependencies: expirymanager "0.9.x" fleximap "0.9.x" - ncom "0.11.x" + ncom "0.10.x" sc-domain "1.x.x" +sc-broker@~4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sc-broker/-/sc-broker-4.1.0.tgz#4e0d5949126542bc00fabc9d897b56e308d9738a" + dependencies: + expirymanager "~0.9.3" + fleximap "~0.9.10" + ncom "~1.0.0" + sc-errors "~1.3.3" + uuid "3.1.0" + sc-channel@1.0.x, sc-channel@~1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/sc-channel/-/sc-channel-1.0.6.tgz#b38bd47a993e78290fbc53467867f6b2a0a08639" dependencies: sc-emitter "1.x.x" +sc-channel@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/sc-channel/-/sc-channel-1.1.0.tgz#8058b2bd630df84888cae70dd41414eafa468a81" + dependencies: + component-emitter "1.2.1" + sc-domain@1.x.x, sc-domain@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/sc-domain/-/sc-domain-1.0.1.tgz#aa402509b879ba76012e9732dc1d07f653b834bc" @@ -5312,35 +5676,55 @@ sc-emitter@1.x.x, sc-emitter@~1.1.0: dependencies: component-emitter "1.2.0" -sc-errors@1.0.x: - version "1.0.6" - resolved "https://registry.yarnpkg.com/sc-errors/-/sc-errors-1.0.6.tgz#80e77c36348b2c88bbe7ead8dc63be61f34b7103" - dependencies: - cycle "1.0.3" +sc-errors@1.2.x: + version "1.2.1" + resolved "https://registry.yarnpkg.com/sc-errors/-/sc-errors-1.2.1.tgz#02417d3e3f2c10b1bb66d42aae8bafd2eab3b9e2" -sc-errors@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/sc-errors/-/sc-errors-1.1.0.tgz#dc2f83df68ce64f6a96cc9c5e2015570ad272dbe" - dependencies: - cycle "1.0.3" +sc-errors@1.x.x, sc-errors@~1.3.0, sc-errors@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/sc-errors/-/sc-errors-1.3.3.tgz#c00bc4c766a970cc8d5937d08cd58e931d7dae05" -sc-formatter@3.0.x, sc-formatter@~3.0.0: +sc-formatter@1.x.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/sc-formatter/-/sc-formatter-1.0.4.tgz#a9f35b93731c8f84eba2e1fd928776a0afcbba4b" + +sc-formatter@2.0.x: + version "2.0.2" + resolved "https://registry.yarnpkg.com/sc-formatter/-/sc-formatter-2.0.2.tgz#3159a8ca01c9949495c62914d8f21eb6be82a526" + +sc-formatter@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/sc-formatter/-/sc-formatter-3.0.0.tgz#c91b1fe56c260abd5a6a2e6af98c724bc7998a38" -sc-hasher@1.x.x: +sc-hasher@1.x.x, sc-hasher@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/sc-hasher/-/sc-hasher-1.0.0.tgz#bb22ae1f5a295b847c70aff4515536224950ff11" +sc-jsonwebtoken@~7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/sc-jsonwebtoken/-/sc-jsonwebtoken-7.4.2.tgz#2a9f67d891e5ae83422108520b8368ae8336c749" + dependencies: + joi "^6.10.1" + jws "^3.1.4" + lodash.once "^4.0.0" + ms "^2.0.0" + xtend "^4.0.1" + sc-simple-broker@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sc-simple-broker/-/sc-simple-broker-2.0.0.tgz#2de6fd35235a0b76d7ae6349d1c7f9dd1e18091c" dependencies: sc-channel "~1.0.6" -"semver@2 || 3 || 4 || 5", semver@5.3.0, semver@5.x, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" +sc-simple-broker@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/sc-simple-broker/-/sc-simple-broker-2.1.0.tgz#bcdb23884038756455eb2723bdf6f551296c6eed" + dependencies: + sc-channel "~1.1.0" + +"semver@2 || 3 || 4 || 5", semver@5.4.1, semver@5.x, semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" send@0.13.2: version "0.13.2" @@ -5359,20 +5743,20 @@ send@0.13.2: range-parser "~1.0.3" statuses "~1.2.1" -send@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.15.1.tgz#8a02354c26e6f5cca700065f5f0cdeba90ec7b5f" +send@0.15.4: + version "0.15.4" + resolved "https://registry.yarnpkg.com/send/-/send-0.15.4.tgz#985faa3e284b0273c793364a35c6737bd93905b9" dependencies: - debug "2.6.1" - depd "~1.1.0" + debug "2.6.8" + depd "~1.1.1" destroy "~1.0.4" encodeurl "~1.0.1" escape-html "~1.0.3" etag "~1.8.0" fresh "0.5.0" - http-errors "~1.6.1" + http-errors "~1.6.2" mime "1.3.4" - ms "0.7.2" + ms "2.0.0" on-finished "~2.3.0" range-parser "~1.2.0" statuses "~1.3.1" @@ -5408,14 +5792,14 @@ serve-index@~1.7.2: mime-types "~2.1.9" parseurl "~1.3.1" -serve-static@1.12.1: - version "1.12.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.1.tgz#7443a965e3ced647aceb5639fa06bf4d1bbe0039" +serve-static@1.12.4: + version "1.12.4" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.4.tgz#9b6aa98eeb7253c4eedc4c1f6fdbca609901a961" dependencies: encodeurl "~1.0.1" escape-html "~1.0.3" parseurl "~1.3.1" - send "0.15.1" + send "0.15.4" serve-static@~1.10.0: version "1.10.3" @@ -5441,6 +5825,16 @@ setprototypeof@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + 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" @@ -5450,14 +5844,6 @@ shell-quote@1.6.1, shell-quote@^1.6.1: array-reduce "~0.0.0" jsonify "~0.0.0" -shelljs@^0.7.5: - version "0.7.7" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - shortid@^2.2.6: version "2.2.8" resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.8.tgz#033b117d6a2e975804f6f0969dbe7d3d0b355131" @@ -5497,53 +5883,86 @@ sntp@1.x.x: hoek "2.x.x" socketcluster-client@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/socketcluster-client/-/socketcluster-client-5.3.1.tgz#83eb73bf5cfcd559e372035ab032b0df185936aa" + version "5.5.2" + resolved "https://registry.yarnpkg.com/socketcluster-client/-/socketcluster-client-5.5.2.tgz#9d4369e0e722ff7e55e5422c2d44f5afe1aff128" dependencies: base-64 "0.1.0" + clone "2.1.1" linked-list "0.1.0" - lodash.clonedeep "4.5.0" querystring "0.2.0" - sc-channel "1.0.x" - sc-emitter "1.x.x" - sc-errors "1.0.x" - sc-formatter "3.0.x" - ws "1.1.2" + sc-channel "~1.0.6" + sc-emitter "~1.1.0" + sc-errors "~1.3.0" + sc-formatter "~3.0.0" + ws "3.0.0" -socketcluster-server@5.x.x, socketcluster-server@~5.10.2: - version "5.10.2" - resolved "https://registry.yarnpkg.com/socketcluster-server/-/socketcluster-server-5.10.2.tgz#d4ce2316b54b5f50e8d771382ffc72bc16e022dd" +socketcluster-server@5.x.x: + version "5.15.0" + resolved "https://registry.yarnpkg.com/socketcluster-server/-/socketcluster-server-5.15.0.tgz#142025fe687d99e786317a5db5fd6398bb9f0fb1" dependencies: async "2.0.0" base64id "0.1.0" lodash.clonedeep "4.5.0" - sc-auth "~3.2.1" + sc-auth "~4.1.0" sc-domain "~1.0.1" sc-emitter "~1.1.0" - sc-errors "~1.1.0" + sc-errors "~1.3.0" sc-formatter "~3.0.0" sc-simple-broker "~2.0.0" uuid "3.0.1" - uws "0.14.1" - ws "1.1.1" + uws "8.14.0" + ws "3.0.0" -socketcluster@^5.0.4: - version "5.10.2" - resolved "https://registry.yarnpkg.com/socketcluster/-/socketcluster-5.10.2.tgz#62afeed9865c2e0cb1aa4a2fe62220b20e7a8c8e" +socketcluster-server@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/socketcluster-server/-/socketcluster-server-6.3.0.tgz#7a1fcc8933e53e1654048bc36b36fc3ae12aed6b" + dependencies: + async "2.0.0" + base64id "0.1.0" + component-emitter "1.2.1" + lodash.clonedeep "4.5.0" + sc-auth "~4.1.1" + sc-errors "~1.3.3" + sc-formatter "~3.0.0" + sc-simple-broker "~2.1.0" + uuid "3.1.0" + uws "8.14.0" + ws "3.1.0" + +socketcluster@5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/socketcluster/-/socketcluster-5.0.4.tgz#fb234f561a7ddff628c79b7d8ff55d3d416a3b40" + dependencies: + async "1.5.0" + base64id "0.1.0" + fs-extra "0.30.0" + jsonwebtoken "5.4.1" + minimist "1.1.0" + node-uuid "1.4.7" + sc-auth "3.x.x" + sc-broker-cluster "2.x.x" + sc-domain "1.x.x" + sc-emitter "1.x.x" + sc-errors "1.x.x" + sc-formatter "1.x.x" + socketcluster-server "5.x.x" + uid-number "0.0.5" + +socketcluster@^6.7.1: + version "6.8.0" + resolved "https://registry.yarnpkg.com/socketcluster/-/socketcluster-6.8.0.tgz#41cf838b0ba982eefdd8e8051967b76e39d7ee73" dependencies: async "2.0.0" base64id "0.1.0" fs-extra "2.0.0" inquirer "1.1.3" minimist "1.1.0" - sc-auth "~3.2.1" - sc-broker-cluster "~4.0.0" - sc-domain "~1.0.1" - sc-emitter "~1.1.0" - sc-errors "~1.1.0" - socketcluster-server "~5.10.2" + sc-auth "~4.1.1" + sc-broker-cluster "~4.3.0" + sc-errors "~1.3.3" + socketcluster-server "~6.3.0" uid-number "0.0.5" - uuid "3.0.1" + uuid "3.1.0" sortobject@^1.0.0: version "1.1.1" @@ -5551,9 +5970,9 @@ sortobject@^1.0.0: dependencies: editions "^1.1.1" -source-map-support@^0.4.2: - version "0.4.14" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef" +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" dependencies: source-map "^0.5.6" @@ -5563,15 +5982,9 @@ source-map@^0.4.4: dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - -source-map@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" - dependencies: - amdefine ">=0.0.4" +source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" sparkles@^1.0.0: version "1.0.0" @@ -5614,8 +6027,8 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" sshpk@^1.7.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" + version "1.13.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -5624,7 +6037,6 @@ sshpk@^1.7.0: optionalDependencies: bcrypt-pbkdf "^1.0.0" ecc-jsbn "~0.1.1" - jodid25519 "^1.0.0" jsbn "~0.1.0" tweetnacl "~0.14.0" @@ -5662,26 +6074,34 @@ 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.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" +string-width@^2.0.0, string-width@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" dependencies: is-fullwidth-code-point "^2.0.0" - strip-ansi "^3.0.0" + strip-ansi "^4.0.0" string.prototype.repeat@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz#aba36de08dcee6a5a337d49b2ea1da1b28fc0ecf" +string.prototype.trim@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.0" + function-bind "^1.0.2" + string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" -string_decoder@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667" +string_decoder@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" dependencies: - buffer-shims "~1.0.0" + safe-buffer "~5.1.0" stringify-object@2.4.0: version "2.4.0" @@ -5700,6 +6120,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 "https://registry.yarnpkg.com/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" @@ -5710,11 +6136,15 @@ strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" -supports-color@3.1.2, supports-color@^3.1.2: +supports-color@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" dependencies: @@ -5724,7 +6154,19 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -symbol-observable@^1.0.2: +supports-color@^3.1.2: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +supports-color@^4.0.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" + dependencies: + has-flag "^2.0.0" + +symbol-observable@^1.0.2, symbol-observable@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" @@ -5732,9 +6174,9 @@ symbol-tree@^3.2.1: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" -table@^3.7.8: - version "3.8.3" - resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" +table@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/table/-/table-4.0.1.tgz#a8116c133fac2c61f4a420ab6cdf5c4d61f0e435" dependencies: ajv "^4.7.0" ajv-keywords "^1.0.0" @@ -5743,6 +6185,24 @@ table@^3.7.8: slice-ansi "0.0.4" string-width "^2.0.0" +tape@^4.6.3: + version "4.8.0" + resolved "https://registry.yarnpkg.com/tape/-/tape-4.8.0.tgz#f6a9fec41cc50a1de50fa33603ab580991f6068e" + dependencies: + deep-equal "~1.0.1" + defined "~1.0.0" + for-each "~0.3.2" + function-bind "~1.1.0" + glob "~7.1.2" + has "~1.0.1" + inherits "~2.0.3" + minimist "~1.2.0" + object-inspect "~1.3.0" + resolve "~1.4.0" + resumer "~0.0.0" + string.prototype.trim "~1.1.2" + through "~2.3.8" + tar-pack@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" @@ -5772,8 +6232,8 @@ temp@0.8.3: rimraf "~2.2.6" test-exclude@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.0.tgz#04ca70b7390dd38c98d4a003a173806ca7991c91" + version "4.1.1" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26" dependencies: arrify "^1.0.1" micromatch "^2.3.11" @@ -5785,9 +6245,9 @@ text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -throat@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-3.0.0.tgz#e7c64c867cbb3845f10877642f7b60055b8ec0d6" +throat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" through2@^2.0.0: version "2.0.3" @@ -5796,13 +6256,13 @@ through2@^2.0.0: readable-stream "^2.1.5" xtend "~4.0.1" -through@^2.3.6: +through@^2.3.6, through@~2.3.4, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" time-stamp@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" tinycolor2@1.4.1: version "1.4.1" @@ -5824,9 +6284,9 @@ tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" -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" +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" topo@1.x.x: version "1.1.0" @@ -5888,7 +6348,7 @@ type-detect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" -type-is@~1.6.14, type-is@~1.6.6: +type-is@~1.6.15, type-is@~1.6.6: version "1.6.15" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" dependencies: @@ -5904,10 +6364,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/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" + version "0.7.14" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.14.tgz#110d53fa4c3f326c121292bbeac904d2e03387ca" -uglify-js@2.7.5, uglify-js@^2.6: +uglify-js@2.7.5: version "2.7.5" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" dependencies: @@ -5916,6 +6376,15 @@ uglify-js@2.7.5, uglify-js@^2.6: uglify-to-browserify "~1.0.0" yargs "~3.10.0" +uglify-js@^2.6: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" @@ -5963,12 +6432,6 @@ user-home@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - dependencies: - os-homedir "^1.0.0" - util-deprecate@1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -5977,19 +6440,23 @@ utils-merge@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" -uuid@3.0.1, uuid@^3.0.0: +uuid@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" +uuid@3.1.0, uuid@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" + uuid@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" -uws@0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/uws/-/uws-0.14.1.tgz#89b8eb7bced272c65621472e878c57f4e0e00640" +uws@8.14.0: + version "8.14.0" + resolved "https://registry.yarnpkg.com/uws/-/uws-8.14.0.tgz#acc1488d13ecb23fe2f942a7eafb06681fa91431" -v8flags@^2.0.10: +v8flags@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" dependencies: @@ -6002,7 +6469,7 @@ validate-npm-package-license@^3.0.1: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" -vary@^1, vary@~1.1.0: +vary@^1, vary@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" @@ -6010,11 +6477,13 @@ vary@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/vary/-/vary-1.0.1.tgz#99e4981566a286118dfb2b817357df7993376d10" -verror@1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" dependencies: - extsprintf "1.0.2" + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" vhost@~3.0.1: version "3.0.2" @@ -6049,8 +6518,8 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" webidl-conversions@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0" + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" whatwg-encoding@^1.0.1: version "1.0.1" @@ -6058,13 +6527,17 @@ whatwg-encoding@^1.0.1: dependencies: iconv-lite "0.4.13" -whatwg-fetch@>=0.10.0, whatwg-fetch@^1.0.0: +whatwg-fetch@>=0.10.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" + +whatwg-fetch@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-1.1.1.tgz#ac3c9d39f320c6dce5339969d054ef43dd333319" whatwg-url@^4.3.0: - version "4.7.1" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.7.1.tgz#df4dc2e3f25a63b1fa5b32ed6d6c139577d690de" + version "4.8.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0" dependencies: tr46 "~0.0.3" webidl-conversions "^3.0.0" @@ -6073,17 +6546,27 @@ which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" -which@^1.2.4, which@^1.2.9: - version "1.2.14" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + +which@^1.2.14, which@^1.2.4, which@^1.2.9: + version "1.3.0" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" dependencies: isexe "^2.0.0" wide-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + version "1.1.2" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" dependencies: - string-width "^1.0.1" + string-width "^1.0.2" + +win-release@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/win-release/-/win-release-1.1.1.tgz#5fa55e02be7ca934edfc12665632e849b72e5209" + dependencies: + semver "^5.0.1" window-size@0.1.0: version "0.1.0" @@ -6102,11 +6585,11 @@ wordwrap@~0.0.2: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" worker-farm@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.3.1.tgz#4333112bb49b17aa050b87895ca6b2cacf40e5ff" + version "1.5.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.0.tgz#adfdf0cd40581465ed0a1f648f9735722afd5c8d" dependencies: - errno ">=0.1.1 <0.2.0-0" - xtend ">=4.0.0 <4.1.0-0" + errno "^0.1.4" + xtend "^4.0.1" wrap-ansi@^2.0.0: version "2.1.0" @@ -6120,8 +6603,8 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" write-file-atomic@^1.1.4, write-file-atomic@^1.2.0: - version "1.3.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.3.tgz#831dd22d491bdc135180bb996a0eb3f8bf587791" + version "1.3.4" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" @@ -6133,16 +6616,23 @@ write@^0.2.1: dependencies: mkdirp "^0.5.1" -ws@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018" +ws@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.0.0.tgz#98ddb00056c8390cb751e7788788497f99103b6c" dependencies: - options ">=0.0.5" - ultron "1.0.x" + safe-buffer "~5.0.1" + ultron "~1.1.0" -ws@1.1.2, ws@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f" +ws@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.1.0.tgz#8afafecdeab46d572e5397ee880739367aa2f41c" + dependencies: + safe-buffer "~5.1.0" + ultron "~1.1.0" + +ws@^1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.4.tgz#57f40d036832e5f5055662a397c4de76ed66bf61" dependencies: options ">=0.0.5" ultron "1.0.x" @@ -6194,7 +6684,7 @@ xss-filters@^1.2.6: version "1.2.7" resolved "https://registry.yarnpkg.com/xss-filters/-/xss-filters-1.2.7.tgz#59fa1de201f36f2f3470dcac5f58ccc2830b0a9a" -"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.1, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -6202,7 +6692,7 @@ y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" -yallist@^2.0.0: +yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" @@ -6218,7 +6708,13 @@ yargs-parser@^5.0.0: dependencies: camelcase "^3.0.0" -yargs@^6.3.0, yargs@^6.4.0: +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + dependencies: + camelcase "^4.1.0" + +yargs@^6.4.0: version "6.6.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" dependencies: @@ -6254,6 +6750,24 @@ yargs@^7.1.0: y18n "^3.2.1" yargs-parser "^5.0.0" +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"