From 7c09334dc472fa43fb98c41bfe4c4b7cc093c665 Mon Sep 17 00:00:00 2001 From: Elias Nahum Date: Mon, 20 Jan 2020 13:20:03 -0300 Subject: [PATCH] Deps update (#3806) * Dependecy updates * Update dependencies --- android/app/build.gradle | 1 + .../mattermost/rnbeta/MainApplication.java | 4 + android/settings.gradle | 2 + .../announcement_banner.test.js | 2 +- app/components/at_mention/at_mention.test.js | 6 +- app/components/attachment_button/index.js | 41 +- .../attachment_button/index.test.js | 42 +- .../autocomplete/emoji_suggestion/index.js | 2 +- .../autocomplete/slash_suggestion/index.js | 2 +- app/components/badge.test.js | 2 +- app/components/channel_intro/index.js | 2 +- app/components/channel_link/index.js | 2 +- .../channel_loader/channel_loader.js | 2 +- .../client_upgrade_listener.js | 2 +- app/components/custom_list/index.test.js | 12 +- .../edit_channel_info.test.js | 6 +- app/components/emoji_picker/index.js | 4 +- app/components/fade.js | 2 +- app/components/fade.test.js | 2 +- .../file_attachment.test.js | 2 +- .../file_attachment_document.js | 6 +- app/components/formatted_time.test.js | 6 +- .../markdown_code_block.js | 2 +- .../markdown_emoji/markdown_emoji.test.js | 2 +- .../markdown_table/markdown_table.test.js | 4 +- .../action_button/action_button_text.js | 6 +- .../message_attachments/attachment_actions.js | 4 +- .../message_attachments/attachment_fields.js | 6 +- app/components/message_attachments/index.js | 2 +- .../network_indicator/network_indicator.js | 8 +- .../custom_text_input.test.js | 2 +- .../pasteable_text_input/index.test.js | 6 +- .../post_add_channel_member.js | 2 +- .../post_attachment_opengraph.test.js | 12 +- .../post_header/post_header.test.js | 18 +- .../post_header/post_pre_header.test.js | 18 +- app/components/post_list/post_list.test.js | 10 +- .../post_textbox/components/cameraButton.js | 58 +- .../components/fileUploadButton.js | 59 +- .../components/imageUploadButton.js | 57 +- .../post_textbox/post_textbox.test.js | 2 +- .../progressive_image.test.js | 4 +- app/components/radio_button/radio_button.js | 8 +- app/components/reactions/reactions.js | 4 +- .../safe_area_view/safe_area_view.ios.js | 2 +- .../safe_area_view/safe_area_view.ios.test.js | 32 +- app/components/search_bar/search_box.js | 36 +- app/components/send_button.test.js | 2 +- .../show_more_button/show_more_button.test.js | 8 +- .../main/channels_list/filtered_list/index.js | 6 +- app/components/sidebars/main/main_sidebar.js | 2 +- .../sidebars/main/main_sidebar.test.js | 12 +- .../sidebars/settings/settings_sidebar.js | 4 +- .../slide_up_panel/slide_up_panel.js | 4 +- .../slide_up_panel_indicator.test.js | 2 +- app/components/status_icons/archive_icon.js | 36 - app/components/status_icons/away_avatar.js | 49 - app/components/status_icons/away_icon.js | 37 - app/components/status_icons/dnd_avatar.js | 50 - app/components/status_icons/dnd_icon.js | 35 - app/components/status_icons/index.js | 24 - app/components/status_icons/offline_avatar.js | 54 - app/components/status_icons/offline_icon.js | 37 - app/components/status_icons/online_avatar.js | 58 - app/components/status_icons/online_icon.js | 36 - .../user_status/user_status.test.js | 8 +- app/components/vector_icon.js | 2 +- .../widgets/settings/bool_setting.test.js | 2 +- .../widgets/settings/radio_setting.js | 2 +- .../widgets/settings/radio_setting.test.js | 6 +- .../widgets/settings/text_setting.test.js | 2 +- app/constants/index.js | 2 - app/constants/permissions.js | 8 - app/init/emm_provider.js | 2 +- app/init/global_event_handler.js | 6 +- .../notification_preferences.android.js | 2 +- app/reducers/views/channel.test.js | 6 +- .../channel_drawer_button.test.js | 10 +- .../channel_nav_bar/channel_nav_bar.test.js | 6 +- .../channel_title/channel_title.test.js | 2 +- .../channel_post_list/channel_post_list.js | 2 +- .../channel_post_list.test.js | 2 +- .../channel_add_members.js | 4 +- app/screens/channel_info/channel_info.js | 6 +- .../channel_info/channel_info_header.js | 4 +- .../channel_members/channel_members.js | 6 +- app/screens/client_upgrade/client_upgrade.js | 2 +- app/screens/edit_channel/edit_channel.js | 6 +- .../error_teams_list/error_teams_list.test.js | 4 +- app/screens/image_preview/downloader.ios.js | 2 +- app/screens/image_preview/image_preview.js | 29 +- .../image_preview/image_preview.test.js | 211 +- app/screens/image_preview/video_preview.js | 2 +- .../interactive_dialog/dialog_element.test.js | 12 +- .../dialog_introduction_text.test.js | 4 +- .../interactive_dialog.test.js | 8 +- .../__snapshots__/long_post.test.js.snap | 2 + app/screens/more_channels/index.js | 4 +- app/screens/more_channels/more_channels.js | 2 +- app/screens/more_dms/more_dms.js | 4 +- .../more_dms/selected_users/selected_users.js | 2 +- .../selected_users/selected_users.test.js | 6 +- app/screens/post_options/post_options.js | 2 +- app/screens/post_options/post_options.test.js | 2 +- .../reaction_list/reaction_header.test.js | 6 +- .../reaction_header_item.test.js | 6 +- .../reaction_row/reaction_row.test.js | 2 +- .../recent_mentions/recent_mentions.test.js | 4 +- app/screens/search/modifier.test.js | 2 +- app/screens/search/recent_item.test.js | 2 +- .../selector_screen/selector_screen.js | 4 +- .../notification_settings.test.js.snap | 2 + .../notification_settings.js | 2 +- .../notification_settings.test.js | 4 +- ...otification_settings_email.android.test.js | 16 +- .../notification_settings_email.ios.test.js | 12 +- ...on_settings_mentions_keywords.test.js.snap | 2 + ...ication_settings_mentions_keywords.test.js | 2 +- .../notification_settings_mobile.android.js | 2 +- app/screens/settings/section_item.js | 4 +- app/screens/settings/sidebar/sidebar.test.js | 8 +- app/screens/settings/theme/theme_tile.js | 2 +- .../terms_of_service/terms_of_service.js | 4 +- app/screens/user_profile/user_profile.js | 2 +- app/screens/user_profile/user_profile.test.js | 4 +- app/selectors/autocomplete.js | 18 +- app/selectors/channel.js | 6 +- app/selectors/client_upgrade.js | 2 +- app/selectors/file.js | 2 +- app/selectors/post_list.js | 2 +- app/selectors/theme.js | 4 +- app/selectors/views.js | 6 +- app/store/store.js | 10 +- app/store/thunk.js | 2 +- app/utils/error_handling.js | 2 +- ios/Podfile | 4 + ios/Podfile.lock | 402 +- package-lock.json | 5353 +++++++++++++---- package.json | 82 +- ...0.61.2.patch => react-native+0.61.5.patch} | 25 - share_extension/android/extension.js | 2 +- .../android/extension_post/extension_post.js | 6 +- .../extension_post/extension_post.test.js | 2 +- share_extension/common/selectors/index.js | 8 +- test/setup.js | 1 + 145 files changed, 4982 insertions(+), 2415 deletions(-) delete mode 100644 app/components/status_icons/archive_icon.js delete mode 100644 app/components/status_icons/away_avatar.js delete mode 100644 app/components/status_icons/away_icon.js delete mode 100644 app/components/status_icons/dnd_avatar.js delete mode 100644 app/components/status_icons/dnd_icon.js delete mode 100644 app/components/status_icons/index.js delete mode 100644 app/components/status_icons/offline_avatar.js delete mode 100644 app/components/status_icons/offline_icon.js delete mode 100644 app/components/status_icons/online_avatar.js delete mode 100644 app/components/status_icons/online_icon.js delete mode 100644 app/constants/permissions.js rename patches/{react-native+0.61.2.patch => react-native+0.61.5.patch} (91%) diff --git a/android/app/build.gradle b/android/app/build.gradle index 51398d71f..987e43f1f 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -267,6 +267,7 @@ dependencies { implementation project(':@sentry_react-native') implementation project(':react-native-android-open-settings') implementation project(':react-native-haptic-feedback') + implementation project(':react-native-permissions') implementation project(':react-native-fast-image') // For animated GIF support diff --git a/android/app/src/main/java/com/mattermost/rnbeta/MainApplication.java b/android/app/src/main/java/com/mattermost/rnbeta/MainApplication.java index 813a43357..247accd8c 100644 --- a/android/app/src/main/java/com/mattermost/rnbeta/MainApplication.java +++ b/android/app/src/main/java/com/mattermost/rnbeta/MainApplication.java @@ -33,6 +33,7 @@ import io.sentry.RNSentryModule; import com.dylanvann.fastimage.FastImageViewPackage; import com.levelasquez.androidopensettings.AndroidOpenSettings; import com.mkuczera.RNReactNativeHapticFeedbackModule; +import com.reactnativecommunity.rnpermissions.RNPermissionsModule; import com.reactnativecommunity.webview.RNCWebViewPackage; import com.brentvatne.react.ReactVideoPackage; @@ -153,6 +154,8 @@ public class MainApplication extends NavigationApplication implements INotificat return new AndroidOpenSettings(reactContext); case "RNReactNativeHapticFeedbackModule": return new RNReactNativeHapticFeedbackModule(reactContext); + case "RNPermissions": + return new RNPermissionsModule(reactContext); default: throw new IllegalArgumentException("Could not find module " + name); } @@ -187,6 +190,7 @@ public class MainApplication extends NavigationApplication implements INotificat map.put(NetInfoModule.NAME, new ReactModuleInfo(NetInfoModule.NAME, "com.reactnativecommunity.netinfo.NetInfoModule", false, false, false, false, false)); map.put("RNAndroidOpenSettings", new ReactModuleInfo("RNAndroidOpenSettings", "com.levelasquez.androidopensettings.AndroidOpenSettings", false, false, false, false, false)); map.put("RNReactNativeHapticFeedbackModule", new ReactModuleInfo("RNReactNativeHapticFeedback", "com.mkuczera.RNReactNativeHapticFeedbackModule", false, false, false, false, false)); + map.put("RNPermissions", new ReactModuleInfo("RNPermissions", "com.reactnativecommunity.rnpermissions.RNPermissionsModule", false, false, false, false, false)); return map; } }; diff --git a/android/settings.gradle b/android/settings.gradle index d5c0323b4..36dff8af6 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -3,6 +3,8 @@ include ':@sentry_react-native' project(':@sentry_react-native').projectDir = new File(rootProject.projectDir, '../node_modules/@sentry/react-native/android') include ':react-native-android-open-settings' project(':react-native-android-open-settings').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-android-open-settings/android') +include ':react-native-permissions' +project(':react-native-permissions').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-permissions/android') include ':react-native-fast-image' project(':react-native-fast-image').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fast-image/android') include ':react-native-haptic-feedback' diff --git a/app/components/announcement_banner/announcement_banner.test.js b/app/components/announcement_banner/announcement_banner.test.js index 7dccb5ebe..e332facac 100644 --- a/app/components/announcement_banner/announcement_banner.test.js +++ b/app/components/announcement_banner/announcement_banner.test.js @@ -23,7 +23,7 @@ describe('AnnouncementBanner', () => { test('should match snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); diff --git a/app/components/at_mention/at_mention.test.js b/app/components/at_mention/at_mention.test.js index 0ba1bb4fc..293abac02 100644 --- a/app/components/at_mention/at_mention.test.js +++ b/app/components/at_mention/at_mention.test.js @@ -17,7 +17,7 @@ describe('AtMention', () => { test('should match snapshot, no highlight', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -25,7 +25,7 @@ describe('AtMention', () => { test('should match snapshot, with highlight', () => { const wrapper = shallow( - + , ); wrapper.setState({user: {username: 'John.Smith'}}); @@ -34,7 +34,7 @@ describe('AtMention', () => { test('should match snapshot, without highlight', () => { const wrapper = shallow( - + , ); wrapper.setState({user: {username: 'Victor.Welch'}}); diff --git a/app/components/attachment_button/index.js b/app/components/attachment_button/index.js index dd79767ee..7b96cb410 100644 --- a/app/components/attachment_button/index.js +++ b/app/components/attachment_button/index.js @@ -21,7 +21,7 @@ import Permissions from 'react-native-permissions'; import {lookupMimeType} from 'mattermost-redux/utils/file_utils'; import TouchableWithFeedback from 'app/components/touchable_with_feedback'; -import {PermissionTypes} from 'app/constants'; +import emmProvider from 'app/init/emm_provider'; import {changeOpacity} from 'app/utils/theme'; import {t} from 'app/utils/i18n'; import {showModalOverCurrentContext} from 'app/actions/navigation'; @@ -178,6 +178,7 @@ export default class AttachmentButton extends PureComponent { if (hasCameraPermission) { ImagePicker.launchCamera(options, (response) => { + emmProvider.inBackgroundSince = null; if (response.error || response.didCancel) { return; } @@ -208,10 +209,11 @@ export default class AttachmentButton extends PureComponent { options.mediaType = 'mixed'; } - const hasPhotoPermission = await this.hasPhotoPermission('photo'); + const hasPhotoPermission = await this.hasPhotoPermission('photo', 'photo'); if (hasPhotoPermission) { ImagePicker.launchImageLibrary(options, (response) => { + emmProvider.inBackgroundSince = null; if (response.error || response.didCancel) { return; } @@ -244,6 +246,7 @@ export default class AttachmentButton extends PureComponent { }; ImagePicker.launchImageLibrary(options, (response) => { + emmProvider.inBackgroundSince = null; if (response.error || response.didCancel) { return; } @@ -259,6 +262,7 @@ export default class AttachmentButton extends PureComponent { if (hasPermission) { try { const res = await DocumentPicker.pick({type: [browseFileTypes]}); + emmProvider.inBackgroundSince = null; if (Platform.OS === 'android') { // For android we need to retrieve the realPath in case the file being imported is from the cloud const newUri = await ShareExtension.getFilePath(res.uri); @@ -283,28 +287,21 @@ export default class AttachmentButton extends PureComponent { if (Platform.OS === 'ios') { const {formatMessage} = this.context.intl; let permissionRequest; - const targetSource = source || 'photo'; + const targetSource = source === 'camera' ? Permissions.PERMISSIONS.IOS.CAMERA : Permissions.PERMISSIONS.IOS.PHOTO_LIBRARY; const hasPermissionToStorage = await Permissions.check(targetSource); switch (hasPermissionToStorage) { - case PermissionTypes.UNDETERMINED: + case Permissions.RESULTS.DENIED: permissionRequest = await Permissions.request(targetSource); - if (permissionRequest !== PermissionTypes.AUTHORIZED) { + if (permissionRequest !== Permissions.RESULTS.GRANTED) { return false; } break; - case PermissionTypes.DENIED: { - const canOpenSettings = await Permissions.canOpenSettings(); - let grantOption = null; - if (canOpenSettings) { - grantOption = { - text: formatMessage({ - id: 'mobile.permission_denied_retry', - defaultMessage: 'Settings', - }), - onPress: () => Permissions.openSettings(), - }; - } + case Permissions.RESULTS.BLOCKED: { + const grantOption = { + text: formatMessage({id: 'mobile.permission_denied_retry', defaultMessage: 'Settings'}), + onPress: () => Permissions.openSettings(), + }; const {title, text} = this.getPermissionDeniedMessage(source, mediaType); @@ -319,7 +316,7 @@ export default class AttachmentButton extends PureComponent { defaultMessage: 'Don\'t Allow', }), }, - ] + ], ); return false; } @@ -336,13 +333,13 @@ export default class AttachmentButton extends PureComponent { const hasPermissionToStorage = await Permissions.check('storage'); switch (hasPermissionToStorage) { - case PermissionTypes.UNDETERMINED: + case Permissions.RESULTS.DENIED: permissionRequest = await Permissions.request('storage'); - if (permissionRequest !== PermissionTypes.AUTHORIZED) { + if (permissionRequest !== Permissions.RESULTS.GRANTED) { return false; } break; - case PermissionTypes.DENIED: { + case Permissions.RESULTS.BLOCKED: { const {title, text} = this.getPermissionDeniedMessage('storage'); Alert.alert( @@ -362,7 +359,7 @@ export default class AttachmentButton extends PureComponent { }), onPress: () => AndroidOpenSettings.appDetailsSettings(), }, - ] + ], ); return false; } diff --git a/app/components/attachment_button/index.test.js b/app/components/attachment_button/index.test.js index 13b86c975..cb1d49c68 100644 --- a/app/components/attachment_button/index.test.js +++ b/app/components/attachment_button/index.test.js @@ -3,13 +3,13 @@ import React from 'react'; import {shallow} from 'enzyme'; + import Permissions from 'react-native-permissions'; import {Alert} from 'react-native'; import Preferences from 'mattermost-redux/constants/preferences'; import {VALID_MIME_TYPES} from 'app/screens/edit_profile/edit_profile'; -import {PermissionTypes} from 'app/constants'; import AttachmentButton from './index'; @@ -28,9 +28,7 @@ describe('AttachmentButton', () => { }; test('should match snapshot', () => { - const wrapper = shallow( - - ); + const wrapper = shallow(); expect(wrapper.getElement()).toMatchSnapshot(); }); @@ -42,9 +40,7 @@ describe('AttachmentButton', () => { onShowUnsupportedMimeTypeWarning: jest.fn(), }; - const wrapper = shallow( - - ); + const wrapper = shallow(); const file = { type: 'image/gif', @@ -63,9 +59,7 @@ describe('AttachmentButton', () => { onShowUnsupportedMimeTypeWarning: jest.fn(), }; - const wrapper = shallow( - - ); + const wrapper = shallow(); const file = { fileSize: 10, @@ -79,11 +73,24 @@ describe('AttachmentButton', () => { }); }); - test('should show permission denied alert if permission is denied in iOS', async () => { - expect.assertions(1); + test('should return permission false if permission is denied in iOS', async () => { + jest.spyOn(Permissions, 'check').mockReturnValue(Permissions.RESULTS.DENIED); + jest.spyOn(Permissions, 'request').mockReturnValue(Permissions.RESULTS.DENIED); - jest.spyOn(Permissions, 'check').mockReturnValue(PermissionTypes.DENIED); - jest.spyOn(Permissions, 'canOpenSettings').mockReturnValue(true); + const wrapper = shallow( + , + {context: {intl: {formatMessage}}}, + ); + + const hasPhotoPermission = await wrapper.instance().hasPhotoPermission('camera'); + expect(Permissions.check).toHaveBeenCalled(); + expect(Permissions.request).toHaveBeenCalled(); + expect(Alert.alert).not.toHaveBeenCalled(); + expect(hasPhotoPermission).toBe(false); + }); + + test('should show permission denied alert and return permission false if permission is blocked in iOS', async () => { + jest.spyOn(Permissions, 'check').mockReturnValue(Permissions.RESULTS.BLOCKED); jest.spyOn(Alert, 'alert').mockReturnValue(true); const wrapper = shallow( @@ -91,7 +98,10 @@ describe('AttachmentButton', () => { {context: {intl: {formatMessage}}}, ); - await wrapper.instance().hasPhotoPermission('camera'); - expect(Alert.alert).toBeCalled(); + const hasPhotoPermission = await wrapper.instance().hasPhotoPermission('camera'); + expect(Permissions.check).toHaveBeenCalled(); + expect(Permissions.request).not.toHaveBeenCalled(); + expect(Alert.alert).toHaveBeenCalled(); + expect(hasPhotoPermission).toBe(false); }); }); \ No newline at end of file diff --git a/app/components/autocomplete/emoji_suggestion/index.js b/app/components/autocomplete/emoji_suggestion/index.js index 780c2f365..f54c2df34 100644 --- a/app/components/autocomplete/emoji_suggestion/index.js +++ b/app/components/autocomplete/emoji_suggestion/index.js @@ -24,7 +24,7 @@ const getEmojisByName = createSelector( } return Array.from(emoticons); - } + }, ); function mapStateToProps(state) { diff --git a/app/components/autocomplete/slash_suggestion/index.js b/app/components/autocomplete/slash_suggestion/index.js index 7a00252d7..8a42f7046 100644 --- a/app/components/autocomplete/slash_suggestion/index.js +++ b/app/components/autocomplete/slash_suggestion/index.js @@ -23,7 +23,7 @@ const mobileCommandsSelector = createSelector( getAutocompleteCommandsList, (commands) => { return commands.filter((command) => !COMMANDS_TO_HIDE_ON_MOBILE.includes(command.trigger)); - } + }, ); function mapStateToProps(state) { diff --git a/app/components/badge.test.js b/app/components/badge.test.js index 808bd6e47..8b300de6d 100644 --- a/app/components/badge.test.js +++ b/app/components/badge.test.js @@ -18,7 +18,7 @@ describe('Badge', () => { test('should match snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.instance().renderText()).toMatchSnapshot(); diff --git a/app/components/channel_intro/index.js b/app/components/channel_intro/index.js index 3a496f125..69d279f5c 100644 --- a/app/components/channel_intro/index.js +++ b/app/components/channel_intro/index.js @@ -24,7 +24,7 @@ function makeMapStateToProps() { (currentUserId, profilesInChannel) => { const currentChannelMembers = profilesInChannel || []; return currentChannelMembers.filter((m) => m.id !== currentUserId); - } + }, ); return function mapStateToProps(state, ownProps) { diff --git a/app/components/channel_link/index.js b/app/components/channel_link/index.js index 6b2ed9edd..46c6734ab 100644 --- a/app/components/channel_link/index.js +++ b/app/components/channel_link/index.js @@ -24,7 +24,7 @@ function makeGetChannelNamesMap() { } return channelsNameMap; - } + }, ); } diff --git a/app/components/channel_loader/channel_loader.js b/app/components/channel_loader/channel_loader.js index 89ff073e3..1fb84f90d 100644 --- a/app/components/channel_loader/channel_loader.js +++ b/app/components/channel_loader/channel_loader.js @@ -93,7 +93,7 @@ export default class ChannelLoader extends PureComponent { stopLoadingAnimation = () => { Animated.timing( - this.state.barsOpacity + this.state.barsOpacity, ).stop(); } diff --git a/app/components/client_upgrade_listener/client_upgrade_listener.js b/app/components/client_upgrade_listener/client_upgrade_listener.js index e633c4aab..a2e77abe0 100644 --- a/app/components/client_upgrade_listener/client_upgrade_listener.js +++ b/app/components/client_upgrade_listener/client_upgrade_listener.js @@ -130,7 +130,7 @@ export default class ClientUpgradeListener extends PureComponent { intl.formatMessage({ id: 'mobile.client_upgrade.download_error.message', defaultMessage: 'An error occurred while trying to open the download link.', - }) + }), ); return false; diff --git a/app/components/custom_list/index.test.js b/app/components/custom_list/index.test.js index 3a19ee935..b1b34c48d 100644 --- a/app/components/custom_list/index.test.js +++ b/app/components/custom_list/index.test.js @@ -29,7 +29,7 @@ describe('CustomList', () => { test('should match snapshot with FlatList', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.find('FlatList')).toHaveLength(1); @@ -42,7 +42,7 @@ describe('CustomList', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.find('SectionList')).toHaveLength(1); @@ -50,7 +50,7 @@ describe('CustomList', () => { test('should match snapshot, renderSectionHeader', () => { const wrapper = shallow( - + , ); const section = { id: 'section_id', @@ -61,7 +61,7 @@ describe('CustomList', () => { test('should call props.renderItem on renderItem', () => { const props = {...baseProps}; const wrapper = shallow( - + , ); wrapper.instance().renderItem({item: {id: 'item_id', selected: true}, index: 0, section: null}); expect(props.renderItem).toHaveBeenCalledTimes(1); @@ -69,7 +69,7 @@ describe('CustomList', () => { test('should match snapshot, renderSeparator', () => { const wrapper = shallow( - + , ); expect(wrapper.instance().renderSeparator()).toMatchSnapshot(); }); @@ -77,7 +77,7 @@ describe('CustomList', () => { test('should match snapshot, renderFooter', () => { const props = {...baseProps}; const wrapper = shallow( - + , ); // should return null diff --git a/app/components/edit_channel_info/edit_channel_info.test.js b/app/components/edit_channel_info/edit_channel_info.test.js index 609db1bb9..e4b9b303a 100644 --- a/app/components/edit_channel_info/edit_channel_info.test.js +++ b/app/components/edit_channel_info/edit_channel_info.test.js @@ -37,7 +37,7 @@ describe('EditChannelInfo', () => { test('should match snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -45,7 +45,7 @@ describe('EditChannelInfo', () => { test('should have called onHeaderChangeText on text change from Autocomplete', () => { const wrapper = shallow( - + , ); const instance = wrapper.instance(); @@ -67,7 +67,7 @@ describe('EditChannelInfo', () => { test('should call scrollHeaderToTop', () => { const wrapper = shallow( - + , ); const instance = wrapper.instance(); diff --git a/app/components/emoji_picker/index.js b/app/components/emoji_picker/index.js index 58af58ca2..a6b34ca07 100644 --- a/app/components/emoji_picker/index.js +++ b/app/components/emoji_picker/index.js @@ -125,7 +125,7 @@ const getEmojisBySection = createSelector( } return emoticons; - } + }, ); const getEmojisByName = createSelector( @@ -137,7 +137,7 @@ const getEmojisByName = createSelector( } return Array.from(emoticons); - } + }, ); function mapStateToProps(state) { diff --git a/app/components/fade.js b/app/components/fade.js index 9819ec841..14d8c5101 100644 --- a/app/components/fade.js +++ b/app/components/fade.js @@ -31,7 +31,7 @@ export default class Fade extends PureComponent { toValue: prevProps.visible ? 0 : 1, duration: this.props.duration || FADE_DURATION, useNativeDriver: true, - } + }, ).start(); } } diff --git a/app/components/fade.test.js b/app/components/fade.test.js index 02304e884..f6f89c456 100644 --- a/app/components/fade.test.js +++ b/app/components/fade.test.js @@ -24,7 +24,7 @@ describe('Fade', () => { {...props} > {dummyText} - + , ); } diff --git a/app/components/file_attachment_list/file_attachment.test.js b/app/components/file_attachment_list/file_attachment.test.js index a138fd8da..7f0765d49 100644 --- a/app/components/file_attachment_list/file_attachment.test.js +++ b/app/components/file_attachment_list/file_attachment.test.js @@ -37,7 +37,7 @@ describe('FileAttachment', () => { test('should match snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); diff --git a/app/components/file_attachment_list/file_attachment_document/file_attachment_document.js b/app/components/file_attachment_list/file_attachment_document/file_attachment_document.js index 8fc6419c2..43e4de5dd 100644 --- a/app/components/file_attachment_list/file_attachment_document/file_attachment_document.js +++ b/app/components/file_attachment_list/file_attachment_document/file_attachment_document.js @@ -256,7 +256,7 @@ export default class FileAttachmentDocument extends PureComponent { id: 'mobile.server_upgrade.button', defaultMessage: 'OK', }), - }] + }], ); this.onDonePreviewingFile(); RNFetchBlob.fs.unlink(path); @@ -303,7 +303,7 @@ export default class FileAttachmentDocument extends PureComponent { id: 'mobile.server_upgrade.button', defaultMessage: 'OK', }), - }] + }], ); }; @@ -324,7 +324,7 @@ export default class FileAttachmentDocument extends PureComponent { id: 'mobile.server_upgrade.button', defaultMessage: 'OK', }), - }] + }], ); }; diff --git a/app/components/formatted_time.test.js b/app/components/formatted_time.test.js index 70825990d..6af86cb0d 100644 --- a/app/components/formatted_time.test.js +++ b/app/components/formatted_time.test.js @@ -23,7 +23,7 @@ describe('FormattedTime', () => { console.error = jest.fn(); let wrapper = renderWithIntl( - + , ); expect(wrapper.baseElement).toMatchSnapshot(); @@ -33,7 +33,7 @@ describe('FormattedTime', () => { + />, ); expect(wrapper.getByText('19:02')).toBeTruthy(); @@ -81,7 +81,7 @@ describe('FormattedTime', () => { {...baseProps} timeZone='NZ-CHAT' hour12={false} - /> + />, ); expect(wrapper.getByText('08:47')).toBeTruthy(); diff --git a/app/components/markdown/markdown_code_block/markdown_code_block.js b/app/components/markdown/markdown_code_block/markdown_code_block.js index 46a1aa6c7..41c049fdc 100644 --- a/app/components/markdown/markdown_code_block/markdown_code_block.js +++ b/app/components/markdown/markdown_code_block/markdown_code_block.js @@ -58,7 +58,7 @@ export default class MarkdownCodeBlock extends React.PureComponent { }, { language: languageDisplayName, - } + }, ); } else { title = intl.formatMessage({ diff --git a/app/components/markdown/markdown_emoji/markdown_emoji.test.js b/app/components/markdown/markdown_emoji/markdown_emoji.test.js index 55df28316..cd310fe61 100644 --- a/app/components/markdown/markdown_emoji/markdown_emoji.test.js +++ b/app/components/markdown/markdown_emoji/markdown_emoji.test.js @@ -19,7 +19,7 @@ describe('MarkdownEmoji', () => { test('should match snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); diff --git a/app/components/markdown/markdown_table/markdown_table.test.js b/app/components/markdown/markdown_table/markdown_table.test.js index afda3bed2..1d2fee805 100644 --- a/app/components/markdown/markdown_table/markdown_table.test.js +++ b/app/components/markdown/markdown_table/markdown_table.test.js @@ -32,7 +32,7 @@ describe('MarkdownTable', () => { test('should match snapshot', () => { const wrapper = shallowWithIntl( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -40,7 +40,7 @@ describe('MarkdownTable', () => { test('should slice rows and columns', () => { const wrapper = shallowWithIntl( - + , ); const {maxPreviewColumns} = wrapper.state(); diff --git a/app/components/message_attachments/action_button/action_button_text.js b/app/components/message_attachments/action_button/action_button_text.js index 6c07409a5..03ba4b03d 100644 --- a/app/components/message_attachments/action_button/action_button_text.js +++ b/app/components/message_attachments/action_button/action_button_text.js @@ -32,7 +32,7 @@ export default function ActionButtonText({message, style}) { literal={match[0]} emojiName={match[1]} textStyle={style} - /> + />, ); text = text.substring(match[0].length); continue; @@ -48,7 +48,7 @@ export default function ActionButtonText({message, style}) { literal={match[0]} emojiName={emoticonName} textStyle={style} - /> + />, ); text = text.substring(match[0].length); continue; @@ -65,7 +65,7 @@ export default function ActionButtonText({message, style}) { style={style} > {match[0]} - + , ); text = text.substring(match[0].length); } diff --git a/app/components/message_attachments/attachment_actions.js b/app/components/message_attachments/attachment_actions.js index c526aec85..361e1c30e 100644 --- a/app/components/message_attachments/attachment_actions.js +++ b/app/components/message_attachments/attachment_actions.js @@ -42,7 +42,7 @@ export default class AttachmentActions extends PureComponent { options={action.options} postId={postId} disabled={action.disabled} - /> + />, ); break; case 'button': @@ -55,7 +55,7 @@ export default class AttachmentActions extends PureComponent { name={action.name} postId={postId} disabled={action.disabled} - /> + />, ); break; } diff --git a/app/components/message_attachments/attachment_fields.js b/app/components/message_attachments/attachment_fields.js index ba96553d0..355c3e126 100644 --- a/app/components/message_attachments/attachment_fields.js +++ b/app/components/message_attachments/attachment_fields.js @@ -51,7 +51,7 @@ export default class AttachmentFields extends PureComponent { style={style.field} > {fieldInfos} - + , ); fieldInfos = []; rowPos = 0; @@ -89,7 +89,7 @@ export default class AttachmentFields extends PureComponent { onPermalinkPress={onPermalinkPress} /> - + , ); rowPos += 1; @@ -103,7 +103,7 @@ export default class AttachmentFields extends PureComponent { style={style.table} > {fieldInfos} - + , ); } diff --git a/app/components/message_attachments/index.js b/app/components/message_attachments/index.js index 7f3c126ce..d1edc6498 100644 --- a/app/components/message_attachments/index.js +++ b/app/components/message_attachments/index.js @@ -55,7 +55,7 @@ export default class MessageAttachments extends PureComponent { postId={postId} theme={theme} textStyles={textStyles} - /> + />, ); }); diff --git a/app/components/network_indicator/network_indicator.js b/app/components/network_indicator/network_indicator.js index deea0cc54..a4c963e8d 100644 --- a/app/components/network_indicator/network_indicator.js +++ b/app/components/network_indicator/network_indicator.js @@ -175,14 +175,14 @@ export default class NetworkIndicator extends PureComponent { this.backgroundColor, { toValue: 1, duration: 100, - } + }, ), Animated.timing( this.top, { toValue: (this.getNavBarHeight() - HEIGHT), duration: 300, delay: 500, - } + }, ), ]).start(() => { this.backgroundColor.setValue(0); @@ -317,7 +317,7 @@ export default class NetworkIndicator extends PureComponent { }), onPress: actions.logout, }], - {cancelable: false} + {cancelable: false}, ); closeWebSocket(true); }); @@ -340,7 +340,7 @@ export default class NetworkIndicator extends PureComponent { this.top, { toValue: this.getNavBarHeight(), duration: 300, - } + }, ).start(() => { this.props.actions.setCurrentUserStatusOffline(); }); diff --git a/app/components/pasteable_text_input/custom_text_input.test.js b/app/components/pasteable_text_input/custom_text_input.test.js index 1327178b8..4bceaadc3 100644 --- a/app/components/pasteable_text_input/custom_text_input.test.js +++ b/app/components/pasteable_text_input/custom_text_input.test.js @@ -10,7 +10,7 @@ describe('CustomTextInput', () => { const onPaste = jest.fn(); const text = 'My Text'; const component = shallow( - {text} + {text}, ); expect(component).toMatchSnapshot(); }); diff --git a/app/components/pasteable_text_input/index.test.js b/app/components/pasteable_text_input/index.test.js index 101f445cd..7c34d931b 100644 --- a/app/components/pasteable_text_input/index.test.js +++ b/app/components/pasteable_text_input/index.test.js @@ -13,7 +13,7 @@ describe('PasteableTextInput', () => { const onPaste = jest.fn(); const text = 'My Text'; const component = shallow( - {text} + {text}, ); expect(component).toMatchSnapshot(); }); @@ -23,7 +23,7 @@ describe('PasteableTextInput', () => { const event = {someData: 'data'}; const text = 'My Text'; shallow( - {text} + {text}, ); nativeEventEmitter.emit('onPaste', event); expect(onPaste).toHaveBeenCalledWith(null, event); @@ -34,7 +34,7 @@ describe('PasteableTextInput', () => { const onPaste = jest.fn(); const text = 'My Text'; const component = shallow( - {text} + {text}, ); component.instance().subscription.remove = mockRemove; diff --git a/app/components/post_add_channel_member/post_add_channel_member.js b/app/components/post_add_channel_member/post_add_channel_member.js index de79f312f..e7e3992a2 100644 --- a/app/components/post_add_channel_member/post_add_channel_member.js +++ b/app/components/post_add_channel_member/post_add_channel_member.js @@ -71,7 +71,7 @@ export default class PostAddChannelMember extends React.PureComponent { { username: currentUser.username, addedUsername: usernames[index], - } + }, ); actions.sendAddToChannelEphemeralPost(currentUser, usernames[index], message, post.channel_id, post.root_id); diff --git a/app/components/post_attachment_opengraph/post_attachment_opengraph.test.js b/app/components/post_attachment_opengraph/post_attachment_opengraph.test.js index b67bff4bf..699fa915e 100644 --- a/app/components/post_attachment_opengraph/post_attachment_opengraph.test.js +++ b/app/components/post_attachment_opengraph/post_attachment_opengraph.test.js @@ -38,7 +38,7 @@ describe('PostAttachmentOpenGraph', () => { test('should match snapshot, without image and description', () => { const wrapper = shallow( - + , ); // should return null @@ -58,7 +58,7 @@ describe('PostAttachmentOpenGraph', () => { + />, ); expect(wrapper.getElement()).toMatchSnapshot(); }); @@ -68,14 +68,14 @@ describe('PostAttachmentOpenGraph', () => { + />, ); expect(wrapper.getElement()).toMatchSnapshot(); }); test('should match state and snapshot, on renderImage', () => { const wrapper = shallow( - + , ); // should return null @@ -99,7 +99,7 @@ describe('PostAttachmentOpenGraph', () => { + />, ); // should return null @@ -112,7 +112,7 @@ describe('PostAttachmentOpenGraph', () => { test('should match result on getFilename', () => { const wrapper = shallow( - + , ); const testCases = [ diff --git a/app/components/post_header/post_header.test.js b/app/components/post_header/post_header.test.js index 6cff0863d..c6cb0b103 100644 --- a/app/components/post_header/post_header.test.js +++ b/app/components/post_header/post_header.test.js @@ -41,7 +41,7 @@ describe('PostHeader', () => { test('should match snapshot when just a base post', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.find('#ReplyIcon').exists()).toEqual(false); @@ -55,7 +55,7 @@ describe('PostHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); }); @@ -67,7 +67,7 @@ describe('PostHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); }); @@ -79,7 +79,7 @@ describe('PostHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.find('#ReplyIcon').exists()).toEqual(false); @@ -92,7 +92,7 @@ describe('PostHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.find('#ReplyIcon').exists()).toEqual(false); @@ -108,7 +108,7 @@ describe('PostHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); }); @@ -123,7 +123,7 @@ describe('PostHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); }); @@ -135,7 +135,7 @@ describe('PostHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.find('#ReplyIcon').exists()).toEqual(false); @@ -150,7 +150,7 @@ describe('PostHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); }); diff --git a/app/components/post_header/post_pre_header.test.js b/app/components/post_header/post_pre_header.test.js index 4c8608d30..32df362c3 100644 --- a/app/components/post_header/post_pre_header.test.js +++ b/app/components/post_header/post_pre_header.test.js @@ -21,7 +21,7 @@ describe('PostPreHeader', () => { test('should match snapshot when not flagged or pinned post', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.type()).toBeNull(); @@ -35,7 +35,7 @@ describe('PostPreHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.type()).toBeNull(); @@ -49,7 +49,7 @@ describe('PostPreHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.type()).toBeNull(); @@ -62,7 +62,7 @@ describe('PostPreHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.find('#flagIcon').exists()).toEqual(true); @@ -77,7 +77,7 @@ describe('PostPreHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.find('#flagIcon').exists()).toEqual(false); @@ -93,7 +93,7 @@ describe('PostPreHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.find('#flagIcon').exists()).toEqual(true); @@ -110,7 +110,7 @@ describe('PostPreHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.find('#flagIcon').exists()).toEqual(true); @@ -127,7 +127,7 @@ describe('PostPreHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.find('#flagIcon').exists()).toEqual(false); @@ -145,7 +145,7 @@ describe('PostPreHeader', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); expect(wrapper.type()).toBeNull(); diff --git a/app/components/post_list/post_list.test.js b/app/components/post_list/post_list.test.js index 3ea3f4774..7538f7ad2 100644 --- a/app/components/post_list/post_list.test.js +++ b/app/components/post_list/post_list.test.js @@ -40,7 +40,7 @@ describe('PostList', () => { test('should match snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -49,7 +49,7 @@ describe('PostList', () => { test('setting permalink deep link', () => { const showModalOverCurrentContext = jest.spyOn(NavigationActions, 'showModalOverCurrentContext'); const wrapper = shallow( - + , ); wrapper.setProps({deepLinkURL: deepLinks.permalink}); @@ -61,7 +61,7 @@ describe('PostList', () => { test('setting channel deep link', () => { const wrapper = shallow( - + , ); wrapper.setProps({deepLinkURL: deepLinks.channel}); @@ -74,7 +74,7 @@ describe('PostList', () => { jest.spyOn(global, 'requestAnimationFrame').mockImplementation((cb) => cb()); const wrapper = shallow( - + , ); const instance = wrapper.instance(); const flatListScrollToIndex = jest.spyOn(instance, 'flatListScrollToIndex'); @@ -103,7 +103,7 @@ describe('PostList', () => { test('should load more posts if available space on the screen', () => { const wrapper = shallow( - + , ); const instance = wrapper.instance(); instance.loadToFillContent = jest.fn(); diff --git a/app/components/post_textbox/components/cameraButton.js b/app/components/post_textbox/components/cameraButton.js index 77008fbe0..c1e79226e 100644 --- a/app/components/post_textbox/components/cameraButton.js +++ b/app/components/post_textbox/components/cameraButton.js @@ -6,31 +6,26 @@ import {intlShape} from 'react-intl'; import { Alert, Platform, - StyleSheet, } from 'react-native'; -import RNFetchBlob from 'rn-fetch-blob'; import DeviceInfo from 'react-native-device-info'; +import {ICON_SIZE} from 'app/constants/post_textbox'; import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons'; import ImagePicker from 'react-native-image-picker'; import Permissions from 'react-native-permissions'; -import {lookupMimeType} from 'mattermost-redux/utils/file_utils'; +import {changeOpacity} from 'app/utils/theme'; import TouchableWithFeedback from 'app/components/touchable_with_feedback'; -import {PermissionTypes} from 'app/constants'; export default class AttachmentButton extends PureComponent { static propTypes = { - validMimeTypes: PropTypes.array, fileCount: PropTypes.number, maxFileCount: PropTypes.number.isRequired, - maxFileSize: PropTypes.number.isRequired, onShowFileMaxWarning: PropTypes.func, - onShowFileSizeWarning: PropTypes.func, - onShowUnsupportedMimeTypeWarning: PropTypes.func, theme: PropTypes.object.isRequired, uploadFiles: PropTypes.func.isRequired, + buttonContainerStyle: PropTypes.object, }; static defaultProps = { @@ -102,7 +97,7 @@ export default class AttachmentButton extends PureComponent { return; } - this.uploadFiles([response]); + this.props.uploadFiles([response]); }); } }; @@ -115,13 +110,13 @@ export default class AttachmentButton extends PureComponent { const hasPermissionToStorage = await Permissions.check(targetSource); switch (hasPermissionToStorage) { - case PermissionTypes.UNDETERMINED: + case Permissions.RESULTS.UNAVAILABLE: permissionRequest = await Permissions.request(targetSource); - if (permissionRequest !== PermissionTypes.AUTHORIZED) { + if (permissionRequest !== Permissions.RESULTS.AUTHORIZED) { return false; } break; - case PermissionTypes.DENIED: { + case Permissions.RESULTS.BLOCKED: { const canOpenSettings = await Permissions.canOpenSettings(); let grantOption = null; if (canOpenSettings) { @@ -157,51 +152,20 @@ export default class AttachmentButton extends PureComponent { return true; }; - uploadFiles = async (files) => { - const file = files[0]; - if (!file.fileSize | !file.fileName) { - const path = (file.path || file.uri).replace('file://', ''); - const fileInfo = await RNFetchBlob.fs.stat(path); - file.fileSize = fileInfo.size; - file.fileName = fileInfo.filename; - } - - if (!file.type) { - file.type = lookupMimeType(file.fileName); - } - - const {validMimeTypes} = this.props; - if (validMimeTypes.length && !validMimeTypes.includes(file.type)) { - this.props.onShowUnsupportedMimeTypeWarning(); - } else if (file.fileSize > this.props.maxFileSize) { - this.props.onShowFileSizeWarning(file.fileName); - } else { - this.props.uploadFiles(files); - } - }; - render() { - const {theme} = this.props; - + const {theme, buttonContainerStyle} = this.props; return ( ); } } - -const style = StyleSheet.create({ - buttonContainer: { - paddingLeft: 10, - paddingRight: 10, - }, -}); \ No newline at end of file diff --git a/app/components/post_textbox/components/fileUploadButton.js b/app/components/post_textbox/components/fileUploadButton.js index 8daa8182c..d8c1b7933 100644 --- a/app/components/post_textbox/components/fileUploadButton.js +++ b/app/components/post_textbox/components/fileUploadButton.js @@ -7,20 +7,18 @@ import { Alert, NativeModules, Platform, - StyleSheet, } from 'react-native'; -import RNFetchBlob from 'rn-fetch-blob'; import DeviceInfo from 'react-native-device-info'; +import {ICON_SIZE} from 'app/constants/post_textbox'; import AndroidOpenSettings from 'react-native-android-open-settings'; import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons'; import DocumentPicker from 'react-native-document-picker'; import Permissions from 'react-native-permissions'; -import {lookupMimeType} from 'mattermost-redux/utils/file_utils'; +import {changeOpacity} from 'app/utils/theme'; import TouchableWithFeedback from 'app/components/touchable_with_feedback'; -import {PermissionTypes} from 'app/constants'; const ShareExtension = NativeModules.MattermostShare; @@ -28,15 +26,12 @@ export default class FileUploadButton extends PureComponent { static propTypes = { blurTextBox: PropTypes.func.isRequired, browseFileTypes: PropTypes.string, - validMimeTypes: PropTypes.array, fileCount: PropTypes.number, maxFileCount: PropTypes.number.isRequired, - maxFileSize: PropTypes.number.isRequired, onShowFileMaxWarning: PropTypes.func, - onShowFileSizeWarning: PropTypes.func, - onShowUnsupportedMimeTypeWarning: PropTypes.func, theme: PropTypes.object.isRequired, uploadFiles: PropTypes.func.isRequired, + buttonContainerStyle: PropTypes.object, }; static defaultProps = { @@ -90,7 +85,7 @@ export default class FileUploadButton extends PureComponent { // Decode file uri to get the actual path res.uri = decodeURIComponent(res.uri); - this.uploadFiles([res]); + this.props.uploadFiles([res]); } catch (error) { // Do nothing } @@ -104,13 +99,13 @@ export default class FileUploadButton extends PureComponent { const hasPermissionToStorage = await Permissions.check('storage'); switch (hasPermissionToStorage) { - case PermissionTypes.UNDETERMINED: + case Permissions.RESULTS.UNAVAILABLE: permissionRequest = await Permissions.request('storage'); - if (permissionRequest !== PermissionTypes.AUTHORIZED) { + if (permissionRequest !== Permissions.RESULTS.AUTHORIZED) { return false; } break; - case PermissionTypes.DENIED: { + case Permissions.RESULTS.BLOCKED: { const {title, text} = this.getPermissionDeniedMessage(); Alert.alert( @@ -130,7 +125,7 @@ export default class FileUploadButton extends PureComponent { }), onPress: () => AndroidOpenSettings.appDetailsSettings(), }, - ] + ], ); return false; } @@ -140,29 +135,6 @@ export default class FileUploadButton extends PureComponent { return true; }; - uploadFiles = async (files) => { - const file = files[0]; - if (!file.fileSize | !file.fileName) { - const path = (file.path || file.uri).replace('file://', ''); - const fileInfo = await RNFetchBlob.fs.stat(path); - file.fileSize = fileInfo.size; - file.fileName = fileInfo.filename; - } - - if (!file.type) { - file.type = lookupMimeType(file.fileName); - } - - const {validMimeTypes} = this.props; - if (validMimeTypes.length && !validMimeTypes.includes(file.type)) { - this.props.onShowUnsupportedMimeTypeWarning(); - } else if (file.fileSize > this.props.maxFileSize) { - this.props.onShowFileSizeWarning(file.fileName); - } else { - this.props.uploadFiles(files); - } - }; - handleButtonPress = () => { const { fileCount, @@ -179,26 +151,19 @@ export default class FileUploadButton extends PureComponent { }; render() { - const {theme} = this.props; + const {theme, buttonContainerStyle} = this.props; return ( ); } } - -const style = StyleSheet.create({ - buttonContainer: { - paddingLeft: 10, - paddingRight: 10, - }, -}); \ No newline at end of file diff --git a/app/components/post_textbox/components/imageUploadButton.js b/app/components/post_textbox/components/imageUploadButton.js index 459f2b9d8..f41458e45 100644 --- a/app/components/post_textbox/components/imageUploadButton.js +++ b/app/components/post_textbox/components/imageUploadButton.js @@ -6,32 +6,27 @@ import {intlShape} from 'react-intl'; import { Alert, Platform, - StyleSheet, } from 'react-native'; -import RNFetchBlob from 'rn-fetch-blob'; import DeviceInfo from 'react-native-device-info'; +import {ICON_SIZE} from 'app/constants/post_textbox'; import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons'; import ImagePicker from 'react-native-image-picker'; import Permissions from 'react-native-permissions'; -import {lookupMimeType} from 'mattermost-redux/utils/file_utils'; +import {changeOpacity} from 'app/utils/theme'; import TouchableWithFeedback from 'app/components/touchable_with_feedback'; -import {PermissionTypes} from 'app/constants'; export default class ImageUploadButton extends PureComponent { static propTypes = { blurTextBox: PropTypes.func.isRequired, - validMimeTypes: PropTypes.array, fileCount: PropTypes.number, maxFileCount: PropTypes.number.isRequired, - maxFileSize: PropTypes.number.isRequired, onShowFileMaxWarning: PropTypes.func, - onShowFileSizeWarning: PropTypes.func, - onShowUnsupportedMimeTypeWarning: PropTypes.func, theme: PropTypes.object.isRequired, uploadFiles: PropTypes.func.isRequired, + buttonContainerStyle: PropTypes.object, }; static defaultProps = { @@ -104,7 +99,7 @@ export default class ImageUploadButton extends PureComponent { return; } - this.uploadFiles([response]); + this.props.uploadFiles([response]); }); } }; @@ -117,13 +112,13 @@ export default class ImageUploadButton extends PureComponent { const hasPermissionToStorage = await Permissions.check(targetSource); switch (hasPermissionToStorage) { - case PermissionTypes.UNDETERMINED: + case Permissions.RESULTS.UNAVAILABLE: permissionRequest = await Permissions.request(targetSource); - if (permissionRequest !== PermissionTypes.AUTHORIZED) { + if (permissionRequest !== Permissions.RESULTS.AUTHORIZED) { return false; } break; - case PermissionTypes.DENIED: { + case Permissions.RESULTS.BLOCKED: { const canOpenSettings = await Permissions.canOpenSettings(); let grantOption = null; if (canOpenSettings) { @@ -159,29 +154,6 @@ export default class ImageUploadButton extends PureComponent { return true; }; - uploadFiles = async (files) => { - const file = files[0]; - if (!file.fileSize | !file.fileName) { - const path = (file.path || file.uri).replace('file://', ''); - const fileInfo = await RNFetchBlob.fs.stat(path); - file.fileSize = fileInfo.size; - file.fileName = fileInfo.filename; - } - - if (!file.type) { - file.type = lookupMimeType(file.fileName); - } - - const {validMimeTypes} = this.props; - if (validMimeTypes.length && !validMimeTypes.includes(file.type)) { - this.props.onShowUnsupportedMimeTypeWarning(); - } else if (file.fileSize > this.props.maxFileSize) { - this.props.onShowFileSizeWarning(file.fileName); - } else { - this.props.uploadFiles(files); - } - }; - handleButtonPress = () => { const { fileCount, @@ -199,26 +171,19 @@ export default class ImageUploadButton extends PureComponent { }; render() { - const {theme} = this.props; + const {theme, buttonContainerStyle} = this.props; return ( ); } } - -const style = StyleSheet.create({ - buttonContainer: { - paddingLeft: 10, - paddingRight: 10, - }, -}); \ No newline at end of file diff --git a/app/components/post_textbox/post_textbox.test.js b/app/components/post_textbox/post_textbox.test.js index b555ad5ae..b22cd463e 100644 --- a/app/components/post_textbox/post_textbox.test.js +++ b/app/components/post_textbox/post_textbox.test.js @@ -344,7 +344,7 @@ describe('PostTextBox', () => { mockResolvedValue({data: 'success'}); const wrapper = shallowWithIntl( - + , ); const msg = '/fail preserve this text in the post draft'; diff --git a/app/components/progressive_image/progressive_image.test.js b/app/components/progressive_image/progressive_image.test.js index e6df42227..b453f6740 100644 --- a/app/components/progressive_image/progressive_image.test.js +++ b/app/components/progressive_image/progressive_image.test.js @@ -58,7 +58,7 @@ describe('ProgressiveImage', () => { + />, ); const instance = wrapper.instance(); jest.spyOn(instance, 'setImage'); @@ -73,7 +73,7 @@ describe('ProgressiveImage', () => { + />, ); const instance = wrapper.instance(); jest.spyOn(instance, 'setThumbnail'); diff --git a/app/components/radio_button/radio_button.js b/app/components/radio_button/radio_button.js index c1a53dc8a..2fea84759 100644 --- a/app/components/radio_button/radio_button.js +++ b/app/components/radio_button/radio_button.js @@ -44,14 +44,14 @@ class RadioButton extends PureComponent { { toValue: 1, duration: 150, - } + }, ).start(); Animated.timing( this.state.opacityValue, { toValue: 0.1, duration: 100, - } + }, ).start(); }; @@ -61,13 +61,13 @@ class RadioButton extends PureComponent { { toValue: 0.001, duration: 1500, - } + }, ).start(); Animated.timing( this.state.opacityValue, { toValue: 0, - } + }, ).start(); }; diff --git a/app/components/reactions/reactions.js b/app/components/reactions/reactions.js index f144bec1a..1a1d3dd1e 100644 --- a/app/components/reactions/reactions.js +++ b/app/components/reactions/reactions.js @@ -162,13 +162,13 @@ export default class Reactions extends PureComponent { case 'right': reactionElements.push( this.renderReactions(), - addMoreReactions + addMoreReactions, ); break; case 'left': reactionElements.push( addMoreReactions, - this.renderReactions() + this.renderReactions(), ); break; } diff --git a/app/components/safe_area_view/safe_area_view.ios.js b/app/components/safe_area_view/safe_area_view.ios.js index 490efbd05..deabefbf8 100644 --- a/app/components/safe_area_view/safe_area_view.ios.js +++ b/app/components/safe_area_view/safe_area_view.ios.js @@ -111,7 +111,7 @@ export default class SafeAreaIos extends PureComponent { if (this.mounted) { this.setState({statusBarHeight: statusBarFrameData.height}); } - } + }, ); } catch (e) { // not needed diff --git a/app/components/safe_area_view/safe_area_view.ios.test.js b/app/components/safe_area_view/safe_area_view.ios.test.js index 0246b9bcd..ba22b234f 100644 --- a/app/components/safe_area_view/safe_area_view.ios.test.js +++ b/app/components/safe_area_view/safe_area_view.ios.test.js @@ -80,7 +80,7 @@ describe('SafeAreaIos', () => { test('should match snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -91,7 +91,7 @@ describe('SafeAreaIos', () => { mattermostManaged.hasSafeAreaInsets = false; const wrapper = shallow( - + , ); expect(SafeArea.getSafeAreaInsetsForRootView).toHaveBeenCalled(); @@ -104,7 +104,7 @@ describe('SafeAreaIos', () => { mattermostManaged.hasSafeAreaInsets = true; const wrapper = shallow( - + , ); expect(SafeArea.getSafeAreaInsetsForRootView).toHaveBeenCalled(); @@ -117,7 +117,7 @@ describe('SafeAreaIos', () => { mattermostManaged.hasSafeAreaInsets = false; const wrapper = shallow( - + , ); expect(SafeArea.getSafeAreaInsetsForRootView).not.toHaveBeenCalled(); @@ -130,7 +130,7 @@ describe('SafeAreaIos', () => { mattermostManaged.hasSafeAreaInsets = false; const wrapper = shallow( - + , ); expect(wrapper.state().safeAreaInsets).not.toEqual(TEST_INSETS_2.safeAreaInsets); @@ -145,7 +145,7 @@ describe('SafeAreaIos', () => { mattermostManaged.hasSafeAreaInsets = true; const wrapper = shallow( - + , ); expect(wrapper.state().safeAreaInsets).not.toEqual(TEST_INSETS_2.safeAreaInsets); @@ -160,7 +160,7 @@ describe('SafeAreaIos', () => { mattermostManaged.hasSafeAreaInsets = false; const wrapper = shallow( - + , ); expect(wrapper.state().safeAreaInsets).not.toEqual(TEST_INSETS_2.safeAreaInsets); @@ -175,7 +175,7 @@ describe('SafeAreaIos', () => { mattermostManaged.hasSafeAreaInsets = true; const wrapper = shallow( - + , ); expect(wrapper.state().safeAreaInsets).not.toEqual(TEST_INSETS_2.safeAreaInsets); @@ -188,7 +188,7 @@ describe('SafeAreaIos', () => { test('should set portrait safe area insets', () => { const wrapper = shallow( - + , ); expect(wrapper.state().safeAreaInsets).not.toEqual(PORTRAIT_INSETS.safeAreaInsets); @@ -205,7 +205,7 @@ describe('SafeAreaIos', () => { test('should set portrait safe area insets from EphemeralStore', () => { const wrapper = shallow( - + , ); EphemeralStore.safeAreaInsets[PORTRAIT] = PORTRAIT_INSETS.safeAreaInsets; @@ -221,7 +221,7 @@ describe('SafeAreaIos', () => { test('should set landscape safe area insets', () => { const wrapper = shallow( - + , ); expect(wrapper.state().safeAreaInsets).not.toEqual(LANDSCAPE_INSETS.safeAreaInsets); @@ -238,7 +238,7 @@ describe('SafeAreaIos', () => { test('should set landscape safe area insets from EphemeralStore', () => { const wrapper = shallow( - + , ); EphemeralStore.safeAreaInsets[LANDSCAPE] = LANDSCAPE_INSETS.safeAreaInsets; @@ -258,7 +258,7 @@ describe('SafeAreaIos', () => { expect(EphemeralStore.safeAreaInsets[PORTRAIT]).toEqual(null); expect(EphemeralStore.safeAreaInsets[LANDSCAPE]).toEqual(null); let wrapper = shallow( - + , ); let instance = wrapper.instance(); expect(addEventListener).toHaveBeenCalledWith('safeAreaInsetsForRootViewDidChange', instance.onSafeAreaInsetsForRootViewChange); @@ -266,7 +266,7 @@ describe('SafeAreaIos', () => { EphemeralStore.safeAreaInsets[PORTRAIT] = TEST_INSETS_1.safeAreaInsets; wrapper = shallow( - + , ); instance = wrapper.instance(); expect(addEventListener).toHaveBeenCalledWith('safeAreaInsetsForRootViewDidChange', instance.onSafeAreaInsetsForRootViewChange); @@ -275,7 +275,7 @@ describe('SafeAreaIos', () => { EphemeralStore.safeAreaInsets[PORTRAIT] = TEST_INSETS_1.safeAreaInsets; EphemeralStore.safeAreaInsets[LANDSCAPE] = TEST_INSETS_1.safeAreaInsets; wrapper = shallow( - + , ); instance = wrapper.instance(); expect(addEventListener).not.toHaveBeenCalled(); @@ -285,7 +285,7 @@ describe('SafeAreaIos', () => { const removeEventListener = jest.spyOn(SafeArea, 'removeEventListener'); const wrapper = shallow( - + , ); const instance = wrapper.instance(); expect(EphemeralStore.safeAreaInsets[PORTRAIT]).toEqual(null); diff --git a/app/components/search_bar/search_box.js b/app/components/search_bar/search_box.js index f98a9170c..710545a66 100644 --- a/app/components/search_bar/search_box.js +++ b/app/components/search_bar/search_box.js @@ -202,7 +202,7 @@ export default class Search extends Component { toValue: (text.length > 0) ? 1 : 0, duration: 200, useNativeDriver: true, - } + }, ).start(); if (this.props.onChangeText) { @@ -228,7 +228,7 @@ export default class Search extends Component { toValue: 0, duration: 200, useNativeDriver: true, - } + }, ).start(); this.focus(); @@ -258,42 +258,42 @@ export default class Search extends Component { { toValue: this.contentWidth - 90, duration: 200, - } + }, ), Animated.timing( this.inputFocusAnimated, { toValue: this.state.leftComponentWidth, duration: 200, - } + }, ), Animated.timing( this.leftComponentAnimated, { toValue: this.contentWidth, duration: 200, - } + }, ), Animated.timing( this.btnCancelAnimated, { toValue: this.state.leftComponentWidth ? 15 - this.state.leftComponentWidth : 5, duration: 200, - } + }, ), Animated.timing( this.inputFocusPlaceholderAnimated, { toValue: this.props.placeholderExpandedMargin, duration: 200, - } + }, ), Animated.timing( this.iconSearchAnimated, { toValue: this.props.searchIconExpandedMargin, duration: 200, - } + }, ), Animated.timing( this.iconDeleteAnimated, @@ -301,7 +301,7 @@ export default class Search extends Component { toValue: (this.props.value.length > 0) ? 1 : 0, duration: 200, useNativeDriver: true, - } + }, ), Animated.timing( this.shadowOpacityAnimated, @@ -309,7 +309,7 @@ export default class Search extends Component { toValue: this.props.shadowOpacityExpanded, duration: 200, useNativeDriver: true, - } + }, ), ]).start(); this.shadowHeight = this.props.shadowOffsetHeightExpanded; @@ -326,28 +326,28 @@ export default class Search extends Component { { toValue: this.contentWidth - this.state.leftComponentWidth - this.props.inputCollapsedMargin, duration: 200, - } + }, ), Animated.timing( this.inputFocusAnimated, { toValue: 0, duration: 200, - } + }, ), Animated.timing( this.leftComponentAnimated, { toValue: 0, duration: 200, - } + }, ), Animated.timing( this.btnCancelAnimated, { toValue: this.contentWidth, duration: 200, - } + }, ), ((this.props.keyboardShouldPersist === false) ? Animated.timing( @@ -355,7 +355,7 @@ export default class Search extends Component { { toValue: this.props.placeholderCollapsedMargin, duration: 200, - } + }, ) : null), ((this.props.keyboardShouldPersist === false || isForceAnim === true) ? Animated.timing( @@ -363,7 +363,7 @@ export default class Search extends Component { { toValue: (this.props.searchIconCollapsedMargin + this.state.leftComponentWidth), duration: 200, - } + }, ) : null), Animated.timing( this.iconDeleteAnimated, @@ -371,7 +371,7 @@ export default class Search extends Component { toValue: 0, duration: 200, useNativeDriver: true, - } + }, ), Animated.timing( this.shadowOpacityAnimated, @@ -379,7 +379,7 @@ export default class Search extends Component { toValue: this.props.shadowOpacityCollapsed, duration: 200, useNativeDriver: true, - } + }, ), ]).start(({finished}) => this.props.onAnimationComplete(finished)); this.shadowHeight = this.props.shadowOffsetHeightCollapsed; diff --git a/app/components/send_button.test.js b/app/components/send_button.test.js index cb205ffce..9f670ce2d 100644 --- a/app/components/send_button.test.js +++ b/app/components/send_button.test.js @@ -21,7 +21,7 @@ describe('SendButton', () => { + />, ); } diff --git a/app/components/show_more_button/show_more_button.test.js b/app/components/show_more_button/show_more_button.test.js index 112a496b4..1903c77fb 100644 --- a/app/components/show_more_button/show_more_button.test.js +++ b/app/components/show_more_button/show_more_button.test.js @@ -20,7 +20,7 @@ describe('ShowMoreButton', () => { test('should match, full snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -28,7 +28,7 @@ describe('ShowMoreButton', () => { test('should match, button snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.instance().renderButton(true, {button: {}, sign: {}, text: {}})).toMatchSnapshot(); @@ -37,7 +37,7 @@ describe('ShowMoreButton', () => { test('should LinearGradient exists', () => { const wrapper = shallow( - + , ); expect(wrapper.find(LinearGradient).exists()).toBe(true); @@ -51,7 +51,7 @@ describe('ShowMoreButton', () => { + />, ); wrapper.find(TouchableWithFeedback).props().onPress(); diff --git a/app/components/sidebars/main/channels_list/filtered_list/index.js b/app/components/sidebars/main/channels_list/filtered_list/index.js index ad5d2544b..f3aa93eb6 100644 --- a/app/components/sidebars/main/channels_list/filtered_list/index.js +++ b/app/components/sidebars/main/channels_list/filtered_list/index.js @@ -29,7 +29,7 @@ const DEFAULT_SEARCH_ORDER = ['unreads', 'dms', 'channels', 'members', 'nonmembe const pastDirectMessages = createSelector( getDirectShowPreferences, - (directChannelsFromPreferences) => directChannelsFromPreferences.filter((d) => d.value === 'false').map((d) => d.name) + (directChannelsFromPreferences) => directChannelsFromPreferences.filter((d) => d.value === 'false').map((d) => d.name), ); const getTeamProfiles = createSelector( @@ -40,7 +40,7 @@ const getTeamProfiles = createSelector( return memberProfiles; }, {}); - } + }, ); // Fill an object for each group channel with concatenated strings for username, email, fullname, and nickname @@ -93,7 +93,7 @@ const getGroupChannelMemberDetails = createSelector( getUserIdsInChannels, getUsers, getGroupChannels, - getGroupDetails + getGroupDetails, ); function mapStateToProps(state) { diff --git a/app/components/sidebars/main/main_sidebar.js b/app/components/sidebars/main/main_sidebar.js index 64b85c63d..f0f02a764 100644 --- a/app/components/sidebars/main/main_sidebar.js +++ b/app/components/sidebars/main/main_sidebar.js @@ -374,7 +374,7 @@ export default class ChannelSidebar extends Component { drawerOpened={this.state.drawerOpened} previewChannel={previewChannel} /> - + , ); return ( diff --git a/app/components/sidebars/main/main_sidebar.test.js b/app/components/sidebars/main/main_sidebar.test.js index 88e921d57..584dc0734 100644 --- a/app/components/sidebars/main/main_sidebar.test.js +++ b/app/components/sidebars/main/main_sidebar.test.js @@ -34,7 +34,7 @@ describe('MainSidebar', () => { test('should match, full snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -42,7 +42,7 @@ describe('MainSidebar', () => { test('should not set the permanentSidebar state if not Tablet', () => { const wrapper = shallow( - + , ); wrapper.instance().handlePermanentSidebar(); @@ -51,7 +51,7 @@ describe('MainSidebar', () => { test('should set the permanentSidebar state if Tablet', async () => { const wrapper = shallow( - + , ); DeviceTypes.IS_TABLET = true; @@ -73,7 +73,7 @@ describe('MainSidebar', () => { }; const wrapper = shallow( - + , ); const instance = wrapper.instance(); @@ -88,7 +88,7 @@ describe('MainSidebar', () => { Platform.OS = 'ios'; const wrapper = shallow( - + , ); const drawer = wrapper.dive().childAt(1); const drawerStyle = drawer.props().style.reduce((acc, obj) => ({...acc, ...obj})); @@ -99,7 +99,7 @@ describe('MainSidebar', () => { Platform.OS = 'android'; const wrapper = shallow( - + , ); const drawer = wrapper.dive().childAt(1); const drawerStyle = drawer.props().style.reduce((acc, obj) => ({...acc, ...obj})); diff --git a/app/components/sidebars/settings/settings_sidebar.js b/app/components/sidebars/settings/settings_sidebar.js index bb615c8f8..0d6225658 100644 --- a/app/components/sidebars/settings/settings_sidebar.js +++ b/app/components/sidebars/settings/settings_sidebar.js @@ -178,7 +178,7 @@ export default class SettingsDrawer extends PureComponent { this.openModal( 'EditProfile', formatMessage({id: 'mobile.routes.edit_profile', defaultMessage: 'Edit Profile'}), - {currentUser, commandType} + {currentUser, commandType}, ); }); @@ -207,7 +207,7 @@ export default class SettingsDrawer extends PureComponent { this.openModal( 'UserProfile', formatMessage({id: 'mobile.routes.user_profile', defaultMessage: 'Profile'}), - {userId, fromSettings: true} + {userId, fromSettings: true}, ); }); diff --git a/app/components/slide_up_panel/slide_up_panel.js b/app/components/slide_up_panel/slide_up_panel.js index 9c150243c..75e666f65 100644 --- a/app/components/slide_up_panel/slide_up_panel.js +++ b/app/components/slide_up_panel/slide_up_panel.js @@ -111,13 +111,13 @@ export default class SlideUpPanel extends PureComponent { this.reverseLastScrollY = Animated.multiply( new Animated.Value(-1), - this.lastScrollY + this.lastScrollY, ); this.translateYOffset = new Animated.Value(containerHeight); this.translateY = Animated.add( this.translateYOffset, - Animated.add(this.dragY, this.reverseLastScrollY) + Animated.add(this.dragY, this.reverseLastScrollY), ).interpolate({ inputRange: [marginFromTop, containerHeight], outputRange: [marginFromTop, containerHeight], diff --git a/app/components/slide_up_panel/slide_up_panel_indicator.test.js b/app/components/slide_up_panel/slide_up_panel_indicator.test.js index 0f0cb4cd2..29f7ce1e0 100644 --- a/app/components/slide_up_panel/slide_up_panel_indicator.test.js +++ b/app/components/slide_up_panel/slide_up_panel_indicator.test.js @@ -13,7 +13,7 @@ describe('SlideUpPanelIndicator', () => { test('should match snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); diff --git a/app/components/status_icons/archive_icon.js b/app/components/status_icons/archive_icon.js deleted file mode 100644 index a1e4086ec..000000000 --- a/app/components/status_icons/archive_icon.js +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See LICENSE.txt for license information. - -import React, {PureComponent} from 'react'; -import PropTypes from 'prop-types'; -import {View} from 'react-native'; -import Svg, { - Path, -} from 'react-native-svg'; - -export default class ArchiveIcon extends PureComponent { - static propTypes = { - width: PropTypes.number.isRequired, - height: PropTypes.number.isRequired, - color: PropTypes.string.isRequired, - }; - - render() { - const {color, height, width} = this.props; - - return ( - - - - - - ); - } -} diff --git a/app/components/status_icons/away_avatar.js b/app/components/status_icons/away_avatar.js deleted file mode 100644 index da5557244..000000000 --- a/app/components/status_icons/away_avatar.js +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See LICENSE.txt for license information. - -import React, {PureComponent} from 'react'; -import PropTypes from 'prop-types'; -import {View} from 'react-native'; -import Svg, { - Circle, - G, - Path, -} from 'react-native-svg'; - -export default class AwayAvatar extends PureComponent { - static propTypes = { - width: PropTypes.number.isRequired, - height: PropTypes.number.isRequired, - color: PropTypes.string.isRequired, - }; - - render() { - const {color, height, width} = this.props; - return ( - - - - - - - - - - ); - } -} diff --git a/app/components/status_icons/away_icon.js b/app/components/status_icons/away_icon.js deleted file mode 100644 index c5d75a543..000000000 --- a/app/components/status_icons/away_icon.js +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See LICENSE.txt for license information. - -import React, {PureComponent} from 'react'; -import PropTypes from 'prop-types'; -import {View} from 'react-native'; -import Svg, { - Path, -} from 'react-native-svg'; - -export default class AwayIcon extends PureComponent { - static propTypes = { - width: PropTypes.number.isRequired, - height: PropTypes.number.isRequired, - color: PropTypes.string.isRequired, - }; - - render() { - const {color, height, width} = this.props; - - return ( - - - - - - ); - } -} diff --git a/app/components/status_icons/dnd_avatar.js b/app/components/status_icons/dnd_avatar.js deleted file mode 100644 index 83778d59e..000000000 --- a/app/components/status_icons/dnd_avatar.js +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See LICENSE.txt for license information. - -import React, {PureComponent} from 'react'; -import PropTypes from 'prop-types'; -import {View} from 'react-native'; -import Svg, { - Ellipse, - G, - Path, -} from 'react-native-svg'; - -export default class DndAvatar extends PureComponent { - static propTypes = { - width: PropTypes.number.isRequired, - height: PropTypes.number.isRequired, - color: PropTypes.string.isRequired, - }; - - render() { - const {color, height, width} = this.props; - return ( - - - - - - - - - - ); - } -} diff --git a/app/components/status_icons/dnd_icon.js b/app/components/status_icons/dnd_icon.js deleted file mode 100644 index 9aa8578cf..000000000 --- a/app/components/status_icons/dnd_icon.js +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See LICENSE.txt for license information. - -import React, {PureComponent} from 'react'; -import PropTypes from 'prop-types'; -import {View} from 'react-native'; -import Svg, { - Path, -} from 'react-native-svg'; -export default class DndIcon extends PureComponent { - static propTypes = { - width: PropTypes.number.isRequired, - height: PropTypes.number.isRequired, - color: PropTypes.string.isRequired, - }; - - render() { - const {color, height, width} = this.props; - return ( - - - - - - ); - } -} diff --git a/app/components/status_icons/index.js b/app/components/status_icons/index.js deleted file mode 100644 index d16651d0f..000000000 --- a/app/components/status_icons/index.js +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See LICENSE.txt for license information. - -import ArchiveIcon from './archive_icon'; -import AwayAvatar from './away_avatar'; -import AwayIcon from './away_icon'; -import DndAvatar from './dnd_avatar'; -import DndIcon from './dnd_icon'; -import OfflineAvatar from './offline_avatar'; -import OfflineIcon from './offline_icon'; -import OnlineAvatar from './online_avatar'; -import OnlineIcon from './online_icon'; - -export { - ArchiveIcon, - AwayAvatar, - AwayIcon, - DndAvatar, - DndIcon, - OfflineAvatar, - OfflineIcon, - OnlineAvatar, - OnlineIcon, -}; diff --git a/app/components/status_icons/offline_avatar.js b/app/components/status_icons/offline_avatar.js deleted file mode 100644 index e2094c551..000000000 --- a/app/components/status_icons/offline_avatar.js +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See LICENSE.txt for license information. - -import React, {PureComponent} from 'react'; -import PropTypes from 'prop-types'; -import {View} from 'react-native'; -import Svg, { - Ellipse, - G, - Path, -} from 'react-native-svg'; - -export default class OfflineStatus extends PureComponent { - static propTypes = { - width: PropTypes.number.isRequired, - height: PropTypes.number.isRequired, - color: PropTypes.string.isRequired, - }; - - render() { - const {color, height, width} = this.props; - return ( - - - - - - - - - - - - - - ); - } -} diff --git a/app/components/status_icons/offline_icon.js b/app/components/status_icons/offline_icon.js deleted file mode 100644 index 45c530187..000000000 --- a/app/components/status_icons/offline_icon.js +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See LICENSE.txt for license information. - -import React, {PureComponent} from 'react'; -import PropTypes from 'prop-types'; -import {View} from 'react-native'; -import Svg, { - Path, -} from 'react-native-svg'; - -export default class OfflineIcon extends PureComponent { - static propTypes = { - width: PropTypes.number.isRequired, - height: PropTypes.number.isRequired, - color: PropTypes.string.isRequired, - }; - - render() { - const {color, height, width} = this.props; - return ( - - - - - - ); - } -} diff --git a/app/components/status_icons/online_avatar.js b/app/components/status_icons/online_avatar.js deleted file mode 100644 index 96764dc1f..000000000 --- a/app/components/status_icons/online_avatar.js +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See LICENSE.txt for license information. - -import React, {PureComponent} from 'react'; -import PropTypes from 'prop-types'; -import {View} from 'react-native'; -import Svg, { - Ellipse, - G, - Path, -} from 'react-native-svg'; - -export default class OnlineStatus extends PureComponent { - static propTypes = { - width: PropTypes.number.isRequired, - height: PropTypes.number.isRequired, - color: PropTypes.string.isRequired, - }; - - render() { - const {color, height, width} = this.props; - return ( - - - - - - - - - - - - - - - ); - } -} diff --git a/app/components/status_icons/online_icon.js b/app/components/status_icons/online_icon.js deleted file mode 100644 index 68a40a10c..000000000 --- a/app/components/status_icons/online_icon.js +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See LICENSE.txt for license information. - -import React, {PureComponent} from 'react'; -import PropTypes from 'prop-types'; -import {View} from 'react-native'; -import Svg, { - Path, -} from 'react-native-svg'; - -export default class OnlineIcon extends PureComponent { - static propTypes = { - width: PropTypes.number.isRequired, - height: PropTypes.number.isRequired, - color: PropTypes.string.isRequired, - }; - - render() { - const {color, height, width} = this.props; - return ( - - - - - - ); - } -} diff --git a/app/components/user_status/user_status.test.js b/app/components/user_status/user_status.test.js index 4e9c06fae..cf915d033 100644 --- a/app/components/user_status/user_status.test.js +++ b/app/components/user_status/user_status.test.js @@ -17,7 +17,7 @@ describe('UserStatus', () => { test('should match snapshot, should default to offline status', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -28,7 +28,7 @@ describe('UserStatus', () => { + />, ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -39,7 +39,7 @@ describe('UserStatus', () => { + />, ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -50,7 +50,7 @@ describe('UserStatus', () => { + />, ); expect(wrapper.getElement()).toMatchSnapshot(); diff --git a/app/components/vector_icon.js b/app/components/vector_icon.js index 42fa71f18..935820b55 100644 --- a/app/components/vector_icon.js +++ b/app/components/vector_icon.js @@ -16,7 +16,7 @@ import icoMoonConfig from 'assets/mattermost-fonts.json'; const Mattermost = createIconSetFromIcoMoon( icoMoonConfig, 'Mattermost', - 'Mattermost-Regular.otf' + 'Mattermost-Regular.otf', ); export default class VectorIcon extends PureComponent { diff --git a/app/components/widgets/settings/bool_setting.test.js b/app/components/widgets/settings/bool_setting.test.js index db89e1d46..386dd0651 100644 --- a/app/components/widgets/settings/bool_setting.test.js +++ b/app/components/widgets/settings/bool_setting.test.js @@ -21,7 +21,7 @@ describe('components/widgets/settings/TextSetting', () => { theme={theme} onChange={onChange} isLandscape={false} - /> + />, ); wrapper.instance().handleChange(false); diff --git a/app/components/widgets/settings/radio_setting.js b/app/components/widgets/settings/radio_setting.js index c312d3d79..5a375e340 100644 --- a/app/components/widgets/settings/radio_setting.js +++ b/app/components/widgets/settings/radio_setting.js @@ -111,7 +111,7 @@ export default class RadioSetting extends PureComponent { {this.renderCheckMark(value, style.checkMark)} {this.renderRowSeparator(i, style.separator)} - + , ); } return ( diff --git a/app/components/widgets/settings/radio_setting.test.js b/app/components/widgets/settings/radio_setting.test.js index fc7aa3f36..0fab23c94 100644 --- a/app/components/widgets/settings/radio_setting.test.js +++ b/app/components/widgets/settings/radio_setting.test.js @@ -26,7 +26,7 @@ describe('components/widgets/settings/RadioSetting', () => { default={'Administration'} onChange={onChange} theme={theme} - /> + />, ); wrapper.find(TouchableOpacity).at(1).props().onPress(); @@ -45,7 +45,7 @@ describe('components/widgets/settings/RadioSetting', () => { default={'Administration'} onChange={onChange} theme={theme} - /> + />, ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -61,7 +61,7 @@ describe('components/widgets/settings/RadioSetting', () => { default={'invalid-option-value'} onChange={onChange} theme={theme} - /> + />, ); expect(wrapper.find(CheckMark)).toHaveLength(0); diff --git a/app/components/widgets/settings/text_setting.test.js b/app/components/widgets/settings/text_setting.test.js index 1cb293c3a..740f8c691 100644 --- a/app/components/widgets/settings/text_setting.test.js +++ b/app/components/widgets/settings/text_setting.test.js @@ -18,7 +18,7 @@ describe('components/widgets/settings/TextSetting', () => { value='some value' onChange={onChange} theme={theme} - /> + />, ); wrapper.instance().onChangeText('somenewvalue'); diff --git a/app/constants/index.js b/app/constants/index.js index 9182d6788..89fecaa62 100644 --- a/app/constants/index.js +++ b/app/constants/index.js @@ -5,7 +5,6 @@ import DeepLinkTypes from './deep_linking'; import DeviceTypes from './device'; import ListTypes from './list'; import NavigationTypes from './navigation'; -import PermissionTypes from './permissions'; import ViewTypes, {UpgradeTypes} from './view'; export { @@ -13,7 +12,6 @@ export { DeviceTypes, ListTypes, NavigationTypes, - PermissionTypes, UpgradeTypes, ViewTypes, }; diff --git a/app/constants/permissions.js b/app/constants/permissions.js deleted file mode 100644 index f4cb87a4b..000000000 --- a/app/constants/permissions.js +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. -// See LICENSE.txt for license information. - -export default { - AUTHORIZED: 'authorized', - DENIED: 'denied', - UNDETERMINED: 'undetermined', -}; diff --git a/app/init/emm_provider.js b/app/init/emm_provider.js index db488854d..d299558de 100644 --- a/app/init/emm_provider.js +++ b/app/init/emm_provider.js @@ -48,7 +48,7 @@ class EMMProvider { mattermostManaged.quitApp(); }, }], - {cancelable: false} + {cancelable: false}, ); } }; diff --git a/app/init/global_event_handler.js b/app/init/global_event_handler.js index e87e033d6..239642264 100644 --- a/app/init/global_event_handler.js +++ b/app/init/global_event_handler.js @@ -98,7 +98,7 @@ class GlobalEventHandler { StatusBarManager.getHeight( (data) => { this.onStatusBarHeightChange(data.height); - } + }, ); } @@ -213,7 +213,7 @@ class GlobalEventHandler { StatusBarManager.getHeight( (data) => { this.onStatusBarHeightChange(data.height); - } + }, ); } @@ -239,7 +239,7 @@ class GlobalEventHandler { text: translations[t('mobile.server_upgrade.button')], onPress: this.serverUpgradeNeeded, }], - {cancelable: false} + {cancelable: false}, ); } else if (state.entities.users && state.entities.users.currentUserId) { dispatch(setServerVersion(serverVersion)); diff --git a/app/notification_preferences/notification_preferences.android.js b/app/notification_preferences/notification_preferences.android.js index e0513f14a..e9747155c 100644 --- a/app/notification_preferences/notification_preferences.android.js +++ b/app/notification_preferences/notification_preferences.android.js @@ -18,7 +18,7 @@ export default { let granted; if (!hasPermission) { granted = await PermissionsAndroid.request( - PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE + PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE, ); } diff --git a/app/reducers/views/channel.test.js b/app/reducers/views/channel.test.js index e430dc8a8..4adc02bf5 100644 --- a/app/reducers/views/channel.test.js +++ b/app/reducers/views/channel.test.js @@ -38,7 +38,7 @@ describe('Reducers.channel', () => { lastChannelViewTime: {}, keepChannelIdAsUnread: null, }, - {} + {}, ); expect(nextState).toEqual(initialState); @@ -66,7 +66,7 @@ describe('Reducers.channel', () => { type: ViewTypes.INCREASE_POST_VISIBILITY, data: channelId, amount, - } + }, ); expect(nextState).toEqual({ @@ -101,7 +101,7 @@ describe('Reducers.channel', () => { type: ViewTypes.INCREASE_POST_VISIBILITY, data: channelId, amount, - } + }, ); expect(nextState).toEqual({ diff --git a/app/screens/channel/channel_nav_bar/channel_drawer_button/channel_drawer_button.test.js b/app/screens/channel/channel_nav_bar/channel_drawer_button/channel_drawer_button.test.js index 499cf4a22..45ab66b41 100644 --- a/app/screens/channel/channel_nav_bar/channel_drawer_button/channel_drawer_button.test.js +++ b/app/screens/channel/channel_nav_bar/channel_drawer_button/channel_drawer_button.test.js @@ -49,7 +49,7 @@ describe('ChannelDrawerButton', () => { test('should match, full snapshot', () => { const wrapper = shallowWithIntl( - + , ); // no badge to show @@ -70,7 +70,7 @@ describe('ChannelDrawerButton', () => { }; shallowWithIntl( - + , ); expect(setApplicationIconBadgeNumber).not.toBeCalled(); NotificationsIOS.getBadgesCount((count) => expect(count).toBe(0)); @@ -84,7 +84,7 @@ describe('ChannelDrawerButton', () => { }; shallowWithIntl( - + , ); expect(setApplicationIconBadgeNumber).toHaveBeenCalledTimes(1); NotificationsIOS.getBadgesCount((count) => expect(count).toBe(1)); @@ -98,7 +98,7 @@ describe('ChannelDrawerButton', () => { }; const wrapper = shallowWithIntl( - + , ); NotificationsIOS.getBadgesCount((count) => expect(count).toBe(0)); @@ -116,7 +116,7 @@ describe('ChannelDrawerButton', () => { }; const wrapper = shallowWithIntl( - + , ); wrapper.setProps({badgeCount: 2}); expect(setApplicationIconBadgeNumber).toHaveBeenCalledWith(2); diff --git a/app/screens/channel/channel_nav_bar/channel_nav_bar.test.js b/app/screens/channel/channel_nav_bar/channel_nav_bar.test.js index c7529aa8d..d693f9206 100644 --- a/app/screens/channel/channel_nav_bar/channel_nav_bar.test.js +++ b/app/screens/channel/channel_nav_bar/channel_nav_bar.test.js @@ -23,7 +23,7 @@ describe('ChannelNavBar', () => { test('should match, full snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -31,7 +31,7 @@ describe('ChannelNavBar', () => { test('should not set the permanentSidebar state if not Tablet', () => { const wrapper = shallow( - + , ); wrapper.instance().handlePermanentSidebar(); @@ -40,7 +40,7 @@ describe('ChannelNavBar', () => { test('should set the permanentSidebar state if Tablet', async () => { const wrapper = shallow( - + , ); DeviceTypes.IS_TABLET = true; diff --git a/app/screens/channel/channel_nav_bar/channel_title/channel_title.test.js b/app/screens/channel/channel_nav_bar/channel_title/channel_title.test.js index 1f8962e8e..8cc129bdd 100644 --- a/app/screens/channel/channel_nav_bar/channel_title/channel_title.test.js +++ b/app/screens/channel/channel_nav_bar/channel_title/channel_title.test.js @@ -20,7 +20,7 @@ describe('ChannelTitle', () => { test('should match snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); 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 b54b36c1e..9549a38a1 100644 --- a/app/screens/channel/channel_post_list/channel_post_list.js +++ b/app/screens/channel/channel_post_list/channel_post_list.js @@ -139,7 +139,7 @@ export default class ChannelPostList extends PureComponent { this.isLoadingMoreTop = true; actions.increasePostVisibility( channelId, - this.state.visiblePostIds[this.state.visiblePostIds.length - 1] + this.state.visiblePostIds[this.state.visiblePostIds.length - 1], ).then((hasMore) => { this.isLoadingMoreTop = !hasMore; }); diff --git a/app/screens/channel/channel_post_list/channel_post_list.test.js b/app/screens/channel/channel_post_list/channel_post_list.test.js index b40d60d36..7ea4e9847 100644 --- a/app/screens/channel/channel_post_list/channel_post_list.test.js +++ b/app/screens/channel/channel_post_list/channel_post_list.test.js @@ -29,7 +29,7 @@ describe('ChannelPostList', () => { test('should call increasePostVisibilityByOne', () => { shallow( - + , ); expect(baseProps.actions.increasePostVisibilityByOne).toHaveBeenCalledTimes(0); diff --git a/app/screens/channel_add_members/channel_add_members.js b/app/screens/channel_add_members/channel_add_members.js index 6359d5ec8..847cc637a 100644 --- a/app/screens/channel_add_members/channel_add_members.js +++ b/app/screens/channel_add_members/channel_add_members.js @@ -146,7 +146,7 @@ export default class ChannelAddMembers extends PureComponent { currentChannelId, currentChannelGroupConstrained, this.page + 1, - General.PROFILE_CHUNK_SIZE + General.PROFILE_CHUNK_SIZE, ).then(this.onProfilesLoaded); }); } @@ -164,7 +164,7 @@ export default class ChannelAddMembers extends PureComponent { formatMessage({ id: 'mobile.channel_members.add_members_alert', defaultMessage: 'You must select at least one member to add to the channel.', - }) + }), ); return; diff --git a/app/screens/channel_info/channel_info.js b/app/screens/channel_info/channel_info.js index 56a03ca69..40f312c1f 100644 --- a/app/screens/channel_info/channel_info.js +++ b/app/screens/channel_info/channel_info.js @@ -202,7 +202,7 @@ export default class ChannelInfo extends PureComponent { }, { text: formatMessage({id: 'mobile.terms_of_service.alert_retry', defaultMessage: 'Try Again'}), onPress: this.handleConfirmConvertToPrivate, - }] + }], ); } else { Alert.alert( @@ -272,7 +272,7 @@ export default class ChannelInfo extends PureComponent { }, { displayName: channel.display_name.trim(), - } + }, ); if (result.error.server_error_id === 'api.channel.delete_channel.deleted.app_error') { this.props.actions.getChannel(channel.id); @@ -294,7 +294,7 @@ export default class ChannelInfo extends PureComponent { { term: term.toLowerCase(), name: channel.display_name.trim(), - } + }, ), [{ text: formatMessage({id: 'mobile.channel_info.alertNo', defaultMessage: 'No'}), diff --git a/app/screens/channel_info/channel_info_header.js b/app/screens/channel_info/channel_info_header.js index 88175e467..13cf4af9f 100644 --- a/app/screens/channel_info/channel_info_header.js +++ b/app/screens/channel_info/channel_info_header.js @@ -114,7 +114,7 @@ export default class ChannelInfoHeader extends React.PureComponent { const {header} = this.props; this.handleLongPress( header, - formatMessage({id: 'mobile.channel_info.copy_header', defaultMessage: 'Copy Header'}) + formatMessage({id: 'mobile.channel_info.copy_header', defaultMessage: 'Copy Header'}), ); } @@ -123,7 +123,7 @@ export default class ChannelInfoHeader extends React.PureComponent { const {purpose} = this.props; this.handleLongPress( purpose, - formatMessage({id: 'mobile.channel_info.copy_purpose', defaultMessage: 'Copy Purpose'}) + formatMessage({id: 'mobile.channel_info.copy_purpose', defaultMessage: 'Copy Purpose'}), ); } diff --git a/app/screens/channel_members/channel_members.js b/app/screens/channel_members/channel_members.js index 49cf3a4ac..686fea974 100644 --- a/app/screens/channel_members/channel_members.js +++ b/app/screens/channel_members/channel_members.js @@ -138,7 +138,7 @@ export default class ChannelMembers extends PureComponent { actions.getProfilesInChannel( currentChannelId, this.page + 1, - General.PROFILE_CHUNK_SIZE + General.PROFILE_CHUNK_SIZE, ).then(this.loadedProfiles); }); } @@ -158,7 +158,7 @@ export default class ChannelMembers extends PureComponent { formatMessage({ id: 'mobile.routes.channel_members.action_message', defaultMessage: 'You must select at least one member to remove from the channel.', - }) + }), ); return; } @@ -178,7 +178,7 @@ export default class ChannelMembers extends PureComponent { }, { text: formatMessage({id: 'mobile.channel_list.alertYes', defaultMessage: 'Yes'}), onPress: () => this.removeMembers(membersToRemove), - }] + }], ); } }; diff --git a/app/screens/client_upgrade/client_upgrade.js b/app/screens/client_upgrade/client_upgrade.js index f27b03ebb..db2698af0 100644 --- a/app/screens/client_upgrade/client_upgrade.js +++ b/app/screens/client_upgrade/client_upgrade.js @@ -124,7 +124,7 @@ export default class ClientUpgrade extends PureComponent { intl.formatMessage({ id: 'mobile.client_upgrade.download_error.message', defaultMessage: 'An error occurred while trying to open the download link.', - }) + }), ); return false; diff --git a/app/screens/edit_channel/edit_channel.js b/app/screens/edit_channel/edit_channel.js index c439afc05..e4b43ca9e 100644 --- a/app/screens/edit_channel/edit_channel.js +++ b/app/screens/edit_channel/edit_channel.js @@ -212,12 +212,12 @@ export default class EditChannel extends PureComponent { } else if (displayName.length > ViewTypes.MAX_CHANNELNAME_LENGTH) { return {error: formatMessage( messages.display_name_maxLength, - {maxLength: ViewTypes.MAX_CHANNELNAME_LENGTH} + {maxLength: ViewTypes.MAX_CHANNELNAME_LENGTH}, )}; } else if (displayName.length < ViewTypes.MIN_CHANNELNAME_LENGTH) { return {error: formatMessage( messages.display_name_minLength, - {minLength: ViewTypes.MIN_CHANNELNAME_LENGTH} + {minLength: ViewTypes.MIN_CHANNELNAME_LENGTH}, )}; } @@ -232,7 +232,7 @@ export default class EditChannel extends PureComponent { } else if (channelURL.length > ViewTypes.MAX_CHANNELNAME_LENGTH) { return {error: formatMessage( messages.name_maxLength, - {maxLength: ViewTypes.MAX_CHANNELNAME_LENGTH} + {maxLength: ViewTypes.MAX_CHANNELNAME_LENGTH}, )}; } diff --git a/app/screens/error_teams_list/error_teams_list.test.js b/app/screens/error_teams_list/error_teams_list.test.js index 3f36a4736..fa072f0f2 100644 --- a/app/screens/error_teams_list/error_teams_list.test.js +++ b/app/screens/error_teams_list/error_teams_list.test.js @@ -29,7 +29,7 @@ describe('ErrorTeamsList', () => { test('should match snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); }); @@ -52,7 +52,7 @@ describe('ErrorTeamsList', () => { }; const wrapper = shallow( - + , ); wrapper.find(FailedNetworkAction).props().onRetry(); diff --git a/app/screens/image_preview/downloader.ios.js b/app/screens/image_preview/downloader.ios.js index 01058b672..852b6b91a 100644 --- a/app/screens/image_preview/downloader.ios.js +++ b/app/screens/image_preview/downloader.ios.js @@ -226,7 +226,7 @@ export default class Downloader extends PureComponent { defaultMessage: 'OK', }), onPress: () => this.downloadDidCancel(), - }] + }], ); }; diff --git a/app/screens/image_preview/image_preview.js b/app/screens/image_preview/image_preview.js index 024b42204..a2da9b89e 100644 --- a/app/screens/image_preview/image_preview.js +++ b/app/screens/image_preview/image_preview.js @@ -28,7 +28,7 @@ import EventEmitter from 'mattermost-redux/utils/event_emitter'; import FileAttachmentDocument from 'app/components/file_attachment_list/file_attachment_document'; import FileAttachmentIcon from 'app/components/file_attachment_list/file_attachment_icon'; -import {DeviceTypes, NavigationTypes, PermissionTypes} from 'app/constants'; +import {DeviceTypes, NavigationTypes} from 'app/constants'; import {getLocalFilePathFromFile, isDocument, isVideo} from 'app/utils/file'; import {emptyFunction} from 'app/utils/general'; import {calculateDimensions} from 'app/utils/images'; @@ -475,24 +475,21 @@ export default class ImagePreview extends PureComponent { const actions = []; let permissionRequest; - const hasPermissionToStorage = await Permissions.check('photo'); + const photo = Permissions.PERMISSIONS.IOS.PHOTO_LIBRARY; + const hasPermissionToStorage = await Permissions.check(photo); switch (hasPermissionToStorage) { - case PermissionTypes.UNDETERMINED: - permissionRequest = await Permissions.request('photo'); - if (permissionRequest !== PermissionTypes.AUTHORIZED) { + case Permissions.RESULTS.DENIED: + permissionRequest = await Permissions.request(photo); + if (permissionRequest !== Permissions.RESULTS.GRANTED) { return; } break; - case PermissionTypes.DENIED: { - const canOpenSettings = await Permissions.canOpenSettings(); - let grantOption = null; - if (canOpenSettings) { - grantOption = { - text: formatMessage({id: 'mobile.permission_denied_retry', defaultMessage: 'Settings'}), - onPress: () => Permissions.openSettings(), - }; - } + case Permissions.RESULTS.BLOCKED: { + const grantOption = { + text: formatMessage({id: 'mobile.permission_denied_retry', defaultMessage: 'Settings'}), + onPress: () => Permissions.openSettings(), + }; const applicationName = DeviceInfo.getApplicationName(); Alert.alert( @@ -507,7 +504,7 @@ export default class ImagePreview extends PureComponent { [ grantOption, {text: formatMessage({id: 'mobile.permission_denied_dismiss', defaultMessage: 'Don\'t Allow'})}, - ] + ], ); return; } @@ -568,7 +565,7 @@ export default class ImagePreview extends PureComponent { id: 'mobile.server_upgrade.button', defaultMessage: 'OK', }), - }] + }], ); }; diff --git a/app/screens/image_preview/image_preview.test.js b/app/screens/image_preview/image_preview.test.js index 7753643f9..4295022a0 100644 --- a/app/screens/image_preview/image_preview.test.js +++ b/app/screens/image_preview/image_preview.test.js @@ -3,15 +3,15 @@ import React from 'react'; import {shallow} from 'enzyme'; -import { - TouchableOpacity, -} from 'react-native'; -import RNFetchBlob from 'rn-fetch-blob'; +import {TouchableOpacity} from 'react-native'; + +// import RNFetchBlob from 'rn-fetch-blob'; import Preferences from 'mattermost-redux/constants/preferences'; import * as NavigationActions from 'app/actions/navigation'; -import BottomSheet from 'app/utils/bottom_sheet'; + +// import BottomSheet from 'app/utils/bottom_sheet'; import ImagePreview from './image_preview'; @@ -22,11 +22,12 @@ jest.mock('react-native-doc-viewer', () => { OpenFile: jest.fn(), }; }); -jest.mock('react-native-permissions', () => { - return { - check: jest.fn(), - }; -}); + +// jest.mock('react-native-permissions', () => { +// return { +// check: jest.fn(), +// }; +// }); describe('ImagePreview', () => { const baseProps = { @@ -116,110 +117,110 @@ describe('ImagePreview', () => { ); }); - test('should show bottom sheet when showDownloadOptionsIOS is called for existing video', async () => { - BottomSheet.showBottomSheetWithOptions = jest.fn(); - RNFetchBlob.fs.exists = jest.fn().mockReturnValue(true); - const formatMessage = jest.fn(({defaultMessage}) => { - return defaultMessage; - }); + // test('should show bottom sheet when showDownloadOptionsIOS is called for existing video', async () => { + // BottomSheet.showBottomSheetWithOptions = jest.fn(); + // RNFetchBlob.fs.exists = jest.fn().mockReturnValue(true); + // const formatMessage = jest.fn(({defaultMessage}) => { + // return defaultMessage; + // }); - const index = 0; - const files = [{ - caption: 'caption', - data: { - mime_type: 'video/mp4', - }, - }]; - const props = { - ...baseProps, - index, - files, - }; - const wrapper = shallow( - , - {context: {intl: {formatMessage}}}, - ); + // const index = 0; + // const files = [{ + // caption: 'caption', + // data: { + // mime_type: 'video/mp4', + // }, + // }]; + // const props = { + // ...baseProps, + // index, + // files, + // }; + // const wrapper = shallow( + // , + // {context: {intl: {formatMessage}}}, + // ); - const instance = wrapper.instance(); - await instance.showDownloadOptionsIOS(); + // const instance = wrapper.instance(); + // await instance.showDownloadOptionsIOS(); - const expectedOptions = { - options: ['Save Video', 'Cancel'], - cancelButtonIndex: 1, - anchor: null, - title: files[index].caption, - }; - expect(BottomSheet.showBottomSheetWithOptions). - toHaveBeenCalledWith(expectedOptions, expect.any(Function)); - }); + // const expectedOptions = { + // options: ['Save Video', 'Cancel'], + // cancelButtonIndex: 1, + // anchor: null, + // title: files[index].caption, + // }; + // expect(BottomSheet.showBottomSheetWithOptions). + // toHaveBeenCalledWith(expectedOptions, expect.any(Function)); + // }); - test('should not show bottom sheet when showDownloadOptionsIOS is called for non-existing video', async () => { - BottomSheet.showBottomSheetWithOptions = jest.fn(); - RNFetchBlob.fs.exists = jest.fn().mockReturnValue(false); + // test('should not show bottom sheet when showDownloadOptionsIOS is called for non-existing video', async () => { + // BottomSheet.showBottomSheetWithOptions = jest.fn(); + // RNFetchBlob.fs.exists = jest.fn().mockReturnValue(false); - const index = 0; - const files = [{ - caption: 'caption', - data: { - mime_type: 'video/mp4', - }, - }]; - const props = { - ...baseProps, - index, - files, - }; - const wrapper = shallow( - , - {context: {intl: {formatMessage: jest.fn()}}}, - ); + // const index = 0; + // const files = [{ + // caption: 'caption', + // data: { + // mime_type: 'video/mp4', + // }, + // }]; + // const props = { + // ...baseProps, + // index, + // files, + // }; + // const wrapper = shallow( + // , + // {context: {intl: {formatMessage: jest.fn()}}}, + // ); - const instance = wrapper.instance(); - await instance.showDownloadOptionsIOS(); + // const instance = wrapper.instance(); + // await instance.showDownloadOptionsIOS(); - expect(BottomSheet.showBottomSheetWithOptions).not.toHaveBeenCalled(); - }); + // expect(BottomSheet.showBottomSheetWithOptions).not.toHaveBeenCalled(); + // }); - test('should show bottom sheet when showDownloadOptionsIOS is called for image', async () => { - BottomSheet.showBottomSheetWithOptions = jest.fn(); - RNFetchBlob.fs.exists = jest.fn().mockReturnValue(true); - const formatMessage = jest.fn(({defaultMessage}) => { - return defaultMessage; - }); + // test('should show bottom sheet when showDownloadOptionsIOS is called for image', async () => { + // BottomSheet.showBottomSheetWithOptions = jest.fn(); + // RNFetchBlob.fs.exists = jest.fn().mockReturnValue(true); + // const formatMessage = jest.fn(({defaultMessage}) => { + // return defaultMessage; + // }); - const index = 0; - const files = [{ - caption: 'caption', - data: { - mime_type: 'image/jpeg', - }, - }]; - const props = { - ...baseProps, - index, - files, - }; - const wrapper = shallow( - , - {context: {intl: {formatMessage}}}, - ); + // const index = 0; + // const files = [{ + // caption: 'caption', + // data: { + // mime_type: 'image/jpeg', + // }, + // }]; + // const props = { + // ...baseProps, + // index, + // files, + // }; + // const wrapper = shallow( + // , + // {context: {intl: {formatMessage}}}, + // ); - const instance = wrapper.instance(); - await instance.showDownloadOptionsIOS(); + // const instance = wrapper.instance(); + // await instance.showDownloadOptionsIOS(); - const expectedOptions = { - options: ['Save Image', 'Cancel'], - cancelButtonIndex: 1, - anchor: null, - title: files[index].caption, - }; - expect(BottomSheet.showBottomSheetWithOptions). - toHaveBeenCalledWith(expectedOptions, expect.any(Function)); - }); +// const expectedOptions = { +// options: ['Save Image', 'Cancel'], +// cancelButtonIndex: 1, +// anchor: null, +// title: files[index].caption, +// }; +// expect(BottomSheet.showBottomSheetWithOptions). +// toHaveBeenCalledWith(expectedOptions, expect.any(Function)); +// }); }); diff --git a/app/screens/image_preview/video_preview.js b/app/screens/image_preview/video_preview.js index 19a730c92..872d060ef 100644 --- a/app/screens/image_preview/video_preview.js +++ b/app/screens/image_preview/video_preview.js @@ -129,7 +129,7 @@ export default class VideoPreview extends PureComponent { id: 'mobile.server_upgrade.button', defaultMessage: 'OK', }), - }] + }], ); }; diff --git a/app/screens/interactive_dialog/dialog_element.test.js b/app/screens/interactive_dialog/dialog_element.test.js index 86be27d5e..db08848f1 100644 --- a/app/screens/interactive_dialog/dialog_element.test.js +++ b/app/screens/interactive_dialog/dialog_element.test.js @@ -24,7 +24,7 @@ describe('DialogElement', () => { {...baseDialogProps} theme={theme} subtype='password' - /> + />, ); expect(wrapper.find({secureTextEntry: true}).exists()).toBe(true); expect(wrapper.find({multiline: false}).exists()).toBe(true); @@ -35,7 +35,7 @@ describe('DialogElement', () => { {...baseDialogProps} theme={theme} subtype='email' - /> + />, ); expect(wrapper.find({secureTextEntry: false}).exists()).toBe(true); }); @@ -54,7 +54,7 @@ describe('DialogElement', () => { type='radio' options={radioOptions} value={radioOptions[1].value} - /> + />, ); expect(wrapper.find(RadioSetting).find({options: radioOptions, default: radioOptions[1].value}).exists()).toBe(true); }); @@ -68,7 +68,7 @@ describe('DialogElement', () => { theme={theme} type='bool' value={false} - /> + />, ); expect(wrapper.find(BoolSetting).find({value: false}).exists()).toBe(true); }); @@ -80,7 +80,7 @@ describe('DialogElement', () => { theme={theme} type='bool' value={true} - /> + />, ); expect(wrapper.find(BoolSetting).find({value: true}).exists()).toBe(true); }); @@ -92,7 +92,7 @@ describe('DialogElement', () => { theme={theme} type='bool' value={null} - /> + />, ); expect(wrapper.find(BoolSetting).find({value: false}).exists()).toBe(true); }); diff --git a/app/screens/interactive_dialog/dialog_introduction_text.test.js b/app/screens/interactive_dialog/dialog_introduction_text.test.js index 2e727672c..2e2a6e32d 100644 --- a/app/screens/interactive_dialog/dialog_introduction_text.test.js +++ b/app/screens/interactive_dialog/dialog_introduction_text.test.js @@ -19,7 +19,7 @@ describe('DialogIntroductionText', () => { const wrapper = shallow( + />, ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -31,7 +31,7 @@ describe('DialogIntroductionText', () => { const wrapper = shallow( + />, ); expect(wrapper.getElement()).toMatchSnapshot(); diff --git a/app/screens/interactive_dialog/interactive_dialog.test.js b/app/screens/interactive_dialog/interactive_dialog.test.js index 173a0b4d2..dc243c1ce 100644 --- a/app/screens/interactive_dialog/interactive_dialog.test.js +++ b/app/screens/interactive_dialog/interactive_dialog.test.js @@ -158,7 +158,7 @@ describe('InteractiveDialog', () => { }; const wrapper = shallow( - + , ); wrapper.instance().scrollView = {current: {scrollTo: jest.fn()}}; @@ -169,7 +169,7 @@ describe('InteractiveDialog', () => { test('should show no error when submit does not return an error', async () => { const wrapper = shallow( - + , ); wrapper.instance().scrollView = {current: {scrollTo: jest.fn()}}; @@ -214,9 +214,7 @@ describe('InteractiveDialog', () => { element.default = testCase.default; } - const wrapper = shallow( - - ); + const wrapper = shallow(); wrapper.instance().scrollView = {current: {scrollTo: jest.fn()}}; expect(wrapper.find(DialogElement).at(1).props().value).toBe(testCase.expectedChecked); diff --git a/app/screens/long_post/__snapshots__/long_post.test.js.snap b/app/screens/long_post/__snapshots__/long_post.test.js.snap index de0b6c295..9efd6c735 100644 --- a/app/screens/long_post/__snapshots__/long_post.test.js.snap +++ b/app/screens/long_post/__snapshots__/long_post.test.js.snap @@ -133,6 +133,7 @@ LongPost { "useCallback": [Function], "useContext": [Function], "useDebugValue": [Function], + "useDeferredValue": [Function], "useEffect": [Function], "useImperativeHandle": [Function], "useLayoutEffect": [Function], @@ -141,6 +142,7 @@ LongPost { "useRef": [Function], "useResponder": [Function], "useState": [Function], + "useTransition": [Function], }, "_element": { return (!myMembers[c.id] && c.type === General.OPEN_CHANNEL && c.delete_at === 0); }); - } + }, ); const teamArchivedChannels = createSelector( getChannelsInCurrentTeam, (channels) => { return channels.filter((c) => c.delete_at !== 0); - } + }, ); function mapStateToProps(state) { diff --git a/app/screens/more_channels/more_channels.js b/app/screens/more_channels/more_channels.js index 1e80dc766..85a2e3c21 100644 --- a/app/screens/more_channels/more_channels.js +++ b/app/screens/more_channels/more_channels.js @@ -259,7 +259,7 @@ export default class MoreChannels extends PureComponent { }, { displayName: channel ? channel.display_name : '', - } + }, ); this.setHeaderButtons(true); this.setState({adding: false}); diff --git a/app/screens/more_dms/more_dms.js b/app/screens/more_dms/more_dms.js index 0a64765e0..cbdcda742 100644 --- a/app/screens/more_dms/more_dms.js +++ b/app/screens/more_dms/more_dms.js @@ -230,7 +230,7 @@ export default class MoreDirectMessages extends PureComponent { }, { displayName, - } + }, ); } @@ -257,7 +257,7 @@ export default class MoreDirectMessages extends PureComponent { { id: t('mobile.open_gm.error'), defaultMessage: "We couldn't open a group message with those users. Please check your connection and try again.", - } + }, ); } diff --git a/app/screens/more_dms/selected_users/selected_users.js b/app/screens/more_dms/selected_users/selected_users.js index 78c942f52..f31f07682 100644 --- a/app/screens/more_dms/selected_users/selected_users.js +++ b/app/screens/more_dms/selected_users/selected_users.js @@ -63,7 +63,7 @@ export default class SelectedUsers extends React.PureComponent { theme={this.props.theme} teammateNameDisplay={this.props.teammateNameDisplay} onRemove={this.props.onRemove} - /> + />, ); } diff --git a/app/screens/more_dms/selected_users/selected_users.test.js b/app/screens/more_dms/selected_users/selected_users.test.js index cf2cccc0b..3be10a394 100644 --- a/app/screens/more_dms/selected_users/selected_users.test.js +++ b/app/screens/more_dms/selected_users/selected_users.test.js @@ -33,7 +33,7 @@ describe('SelectedUsers', () => { test('should match snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -49,7 +49,7 @@ describe('SelectedUsers', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -62,7 +62,7 @@ describe('SelectedUsers', () => { }; const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); diff --git a/app/screens/post_options/post_options.js b/app/screens/post_options/post_options.js index 37632a481..d83ceedbb 100644 --- a/app/screens/post_options/post_options.js +++ b/app/screens/post_options/post_options.js @@ -357,7 +357,7 @@ export default class PostOptions extends PureComponent { actions.removePost(post); }); }, - }] + }], ); }; diff --git a/app/screens/post_options/post_options.test.js b/app/screens/post_options/post_options.test.js index e0bf298bf..53e112abe 100644 --- a/app/screens/post_options/post_options.test.js +++ b/app/screens/post_options/post_options.test.js @@ -60,7 +60,7 @@ describe('PostOptions', () => { {...baseProps} {...props} />, - {context: {intl: {formatMessage: ({defaultMessage}) => defaultMessage}}} + {context: {intl: {formatMessage: ({defaultMessage}) => defaultMessage}}}, ); } diff --git a/app/screens/reaction_list/reaction_header.test.js b/app/screens/reaction_list/reaction_header.test.js index f59d42659..b72c7732d 100644 --- a/app/screens/reaction_list/reaction_header.test.js +++ b/app/screens/reaction_list/reaction_header.test.js @@ -19,7 +19,7 @@ describe('ReactionHeader', () => { test('should match snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -28,7 +28,7 @@ describe('ReactionHeader', () => { test('should match snapshot, renderContent', () => { const wrapper = shallow( - + , ); expect(wrapper.instance().renderReactionHeaderItems()).toMatchSnapshot(); @@ -40,7 +40,7 @@ describe('ReactionHeader', () => { + />, ); wrapper.instance().handleOnPress(); diff --git a/app/screens/reaction_list/reaction_header_item.test.js b/app/screens/reaction_list/reaction_header_item.test.js index 8aaa79815..d15b565e0 100644 --- a/app/screens/reaction_list/reaction_header_item.test.js +++ b/app/screens/reaction_list/reaction_header_item.test.js @@ -21,7 +21,7 @@ describe('ReactionHeaderItem', () => { test('should match snapshot', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -30,7 +30,7 @@ describe('ReactionHeaderItem', () => { test('should match snapshot, renderContent', () => { const wrapper = shallow( - + , ); expect(wrapper.instance().renderContent()).toMatchSnapshot(); @@ -45,7 +45,7 @@ describe('ReactionHeaderItem', () => { + />, ); wrapper.instance().handleOnPress(); diff --git a/app/screens/reaction_list/reaction_row/reaction_row.test.js b/app/screens/reaction_list/reaction_row/reaction_row.test.js index 78d9d19f0..7643c2e50 100644 --- a/app/screens/reaction_list/reaction_row/reaction_row.test.js +++ b/app/screens/reaction_list/reaction_row/reaction_row.test.js @@ -18,7 +18,7 @@ describe('ReactionRow', () => { test('should match snapshot, renderContent', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); diff --git a/app/screens/recent_mentions/recent_mentions.test.js b/app/screens/recent_mentions/recent_mentions.test.js index 7d2498408..d604ce2fc 100644 --- a/app/screens/recent_mentions/recent_mentions.test.js +++ b/app/screens/recent_mentions/recent_mentions.test.js @@ -29,7 +29,7 @@ describe('RecentMentions', () => { test('should match snapshot', () => { const wrapper = shallowWithIntl( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -80,7 +80,7 @@ describe('RecentMentions', () => { const hashtag = 'test'; const wrapper = shallowWithIntl( - + , ); dismissModal.mockImplementation(async () => { diff --git a/app/screens/search/modifier.test.js b/app/screens/search/modifier.test.js index 3de89a480..b509371a2 100644 --- a/app/screens/search/modifier.test.js +++ b/app/screens/search/modifier.test.js @@ -23,7 +23,7 @@ describe('Search RecentItem', () => { test('should match snapshot and respond to events', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); diff --git a/app/screens/search/recent_item.test.js b/app/screens/search/recent_item.test.js index 2639bec96..4721e1276 100644 --- a/app/screens/search/recent_item.test.js +++ b/app/screens/search/recent_item.test.js @@ -22,7 +22,7 @@ describe('Search RecentItem', () => { test('should match snapshot and respond to events', () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); diff --git a/app/screens/selector_screen/selector_screen.js b/app/screens/selector_screen/selector_screen.js index 774e01b2d..47b3e2a12 100644 --- a/app/screens/selector_screen/selector_screen.js +++ b/app/screens/selector_screen/selector_screen.js @@ -121,7 +121,7 @@ export default class SelectorScreen extends PureComponent { actions.getChannels( currentTeamId, this.page += 1, - General.CHANNELS_CHUNK_SIZE + General.CHANNELS_CHUNK_SIZE, ).then(this.loadedChannels); }); } @@ -152,7 +152,7 @@ export default class SelectorScreen extends PureComponent { actions.getProfiles( this.page + 1, - General.PROFILE_CHUNK_SIZE + General.PROFILE_CHUNK_SIZE, ).then(this.loadedProfiles); }); } diff --git a/app/screens/settings/notification_settings/__snapshots__/notification_settings.test.js.snap b/app/screens/settings/notification_settings/__snapshots__/notification_settings.test.js.snap index c3f4796aa..e42b0463d 100644 --- a/app/screens/settings/notification_settings/__snapshots__/notification_settings.test.js.snap +++ b/app/screens/settings/notification_settings/__snapshots__/notification_settings.test.js.snap @@ -141,6 +141,7 @@ NotificationSettings { "useCallback": [Function], "useContext": [Function], "useDebugValue": [Function], + "useDeferredValue": [Function], "useEffect": [Function], "useImperativeHandle": [Function], "useLayoutEffect": [Function], @@ -149,6 +150,7 @@ NotificationSettings { "useRef": [Function], "useResponder": [Function], "useState": [Function], + "useTransition": [Function], }, "_element": { test('should match snapshot', () => { const wrapper = shallowWithIntl( - + , ); expect(wrapper.instance()).toMatchSnapshot(); @@ -36,7 +36,7 @@ describe('NotificationSettings', () => { test('should include previous notification props when saving new ones', () => { const wrapper = shallowWithIntl( - + , ); const instance = wrapper.instance(); diff --git a/app/screens/settings/notification_settings_email/notification_settings_email.android.test.js b/app/screens/settings/notification_settings_email/notification_settings_email.android.test.js index 893890e88..86a0f5924 100644 --- a/app/screens/settings/notification_settings_email/notification_settings_email.android.test.js +++ b/app/screens/settings/notification_settings_email/notification_settings_email.android.test.js @@ -30,7 +30,7 @@ describe('NotificationSettingsEmailAndroid', () => { test('should match snapshot', () => { const wrapper = shallowWithIntl( - + , ); const style = { @@ -53,7 +53,7 @@ describe('NotificationSettingsEmailAndroid', () => { test('should match state on setEmailInterval', () => { const wrapper = shallowWithIntl( - + , ); wrapper.setState({interval: '0'}); @@ -72,7 +72,7 @@ describe('NotificationSettingsEmailAndroid', () => { + />, ); expect(wrapper.find(RadioButtonGroup).exists()).toBe(false); wrapper.setProps({sendEmailNotifications: true}); @@ -92,7 +92,7 @@ describe('NotificationSettingsEmailAndroid', () => { test('should match state on handleClose', () => { const wrapper = shallowWithIntl( - + , ); wrapper.setState({showEmailNotificationsModal: true, interval: '30', newInterval: '3600'}); @@ -103,7 +103,7 @@ describe('NotificationSettingsEmailAndroid', () => { test('should saveEmailNotifyProps and handleClose on handleSaveEmailNotification', () => { const wrapper = shallowWithIntl( - + , ); const instance = wrapper.instance(); @@ -118,7 +118,7 @@ describe('NotificationSettingsEmailAndroid', () => { const updateMe = jest.fn(); const props = {...baseProps, actions: {savePreferences, updateMe}}; const wrapper = shallowWithIntl( - + , ); wrapper.setState({email: 'true', newInterval: 30}); @@ -133,7 +133,7 @@ describe('NotificationSettingsEmailAndroid', () => { test('should match state on showEmailModal', () => { const wrapper = shallowWithIntl( - + , ); wrapper.setState({showEmailNotificationsModal: false}); @@ -143,7 +143,7 @@ describe('NotificationSettingsEmailAndroid', () => { test('should not save preference on back button on Android', () => { const wrapper = shallowWithIntl( - + , ); const instance = wrapper.instance(); diff --git a/app/screens/settings/notification_settings_email/notification_settings_email.ios.test.js b/app/screens/settings/notification_settings_email/notification_settings_email.ios.test.js index 5b5f3f265..7b89e91c3 100644 --- a/app/screens/settings/notification_settings_email/notification_settings_email.ios.test.js +++ b/app/screens/settings/notification_settings_email/notification_settings_email.ios.test.js @@ -38,7 +38,7 @@ describe('NotificationSettingsEmailIos', () => { test('should match snapshot, renderEmailSection', () => { const wrapper = shallow( - + , ); expect(wrapper.instance().renderEmailSection()).toMatchSnapshot(); @@ -46,7 +46,7 @@ describe('NotificationSettingsEmailIos', () => { test('should save preference on back button only if email interval has changed', () => { const wrapper = shallow( - + , ); const instance = wrapper.instance(); @@ -68,7 +68,7 @@ describe('NotificationSettingsEmailIos', () => { const updateMe = jest.fn(); const props = {...baseProps, actions: {savePreferences, updateMe}}; const wrapper = shallow( - + , ); wrapper.setState({email: 'true', newInterval: 30}); @@ -83,7 +83,7 @@ describe('NotificationSettingsEmailIos', () => { test('should match state on setEmailInterval', () => { const wrapper = shallow( - + , ); wrapper.setState({interval: '0'}); @@ -103,7 +103,7 @@ describe('NotificationSettingsEmailIos', () => { {...baseProps} sendEmailNotifications={false} enableEmailBatching={false} - /> + />, ); expect(wrapper.find(SectionItem).exists()).toBe(false); @@ -131,7 +131,7 @@ describe('NotificationSettingsEmailIos', () => { test('should call props.actions.savePreferences on saveUserNotifyProps', () => { const props = {...baseProps, actions: {savePreferences: jest.fn(), updateMe: jest.fn()}}; const wrapper = shallow( - + , ); wrapper.setState({email: 'true', newInterval: '3600'}); diff --git a/app/screens/settings/notification_settings_mentions_keywords/__snapshots__/notification_settings_mentions_keywords.test.js.snap b/app/screens/settings/notification_settings_mentions_keywords/__snapshots__/notification_settings_mentions_keywords.test.js.snap index aa4a68047..88e21ce3f 100644 --- a/app/screens/settings/notification_settings_mentions_keywords/__snapshots__/notification_settings_mentions_keywords.test.js.snap +++ b/app/screens/settings/notification_settings_mentions_keywords/__snapshots__/notification_settings_mentions_keywords.test.js.snap @@ -80,6 +80,7 @@ NotificationSettingsMentionsKeywords { "useCallback": [Function], "useContext": [Function], "useDebugValue": [Function], + "useDeferredValue": [Function], "useEffect": [Function], "useImperativeHandle": [Function], "useLayoutEffect": [Function], @@ -88,6 +89,7 @@ NotificationSettingsMentionsKeywords { "useRef": [Function], "useResponder": [Function], "useState": [Function], + "useTransition": [Function], }, "_element": { test('should match snapshot', () => { const wrapper = shallowWithIntl( - + , ); expect(wrapper.instance()).toMatchSnapshot(); diff --git a/app/screens/settings/notification_settings_mobile/notification_settings_mobile.android.js b/app/screens/settings/notification_settings_mobile/notification_settings_mobile.android.js index cc45dca1d..23389bc11 100644 --- a/app/screens/settings/notification_settings_mobile/notification_settings_mobile.android.js +++ b/app/screens/settings/notification_settings_mobile/notification_settings_mobile.android.js @@ -383,7 +383,7 @@ class NotificationSettingsMobileAndroid extends NotificationSettingsMobileBase { intl.formatMessage({ id: 'mobile.notification_settings.save_failed_description', defaultMessage: 'The notification settings failed to save due to a connection issue, please try again.', - }) + }), ); } } diff --git a/app/screens/settings/section_item.js b/app/screens/settings/section_item.js index 2bb81037e..bafa26386 100644 --- a/app/screens/settings/section_item.js +++ b/app/screens/settings/section_item.js @@ -61,14 +61,14 @@ function sectionItem(props) { const labelComponent = React.cloneElement( label, - {style: style.label} + {style: style.label}, ); let descriptionComponent; if (description) { descriptionComponent = React.cloneElement( description, - {style: style.description} + {style: style.description}, ); } diff --git a/app/screens/settings/sidebar/sidebar.test.js b/app/screens/settings/sidebar/sidebar.test.js index f6b6f5c6e..fcf9ed381 100644 --- a/app/screens/settings/sidebar/sidebar.test.js +++ b/app/screens/settings/sidebar/sidebar.test.js @@ -24,7 +24,7 @@ describe('SidebarSettings', () => { test('should match, full snapshot', async () => { const wrapper = shallow( - + , ); expect(wrapper.getElement()).toMatchSnapshot(); @@ -35,7 +35,7 @@ describe('SidebarSettings', () => { test('should set the Permanent Sidebar value to false', async () => { const wrapper = shallow( - + , ); await wrapper.instance().loadSetting(); @@ -46,7 +46,7 @@ describe('SidebarSettings', () => { DeviceTypes.IS_TABLET = true; const wrapper = shallow( - + , ); const mainProps = { @@ -68,7 +68,7 @@ describe('SidebarSettings', () => { }; const mainSidebar = shallow( - + , ); await wrapper.instance().loadSetting(); diff --git a/app/screens/settings/theme/theme_tile.js b/app/screens/settings/theme/theme_tile.js index 5c6058fc1..01b146e9a 100644 --- a/app/screens/settings/theme/theme_tile.js +++ b/app/screens/settings/theme/theme_tile.js @@ -32,7 +32,7 @@ const ThemeTile = (props) => { const labelComponent = React.cloneElement( label, - {style: style.label} + {style: style.label}, ); const tilesPerLine = isLandscape || isTablet ? 4 : 2; diff --git a/app/screens/terms_of_service/terms_of_service.js b/app/screens/terms_of_service/terms_of_service.js index 8a7fd7634..2c7f327d6 100644 --- a/app/screens/terms_of_service/terms_of_service.js +++ b/app/screens/terms_of_service/terms_of_service.js @@ -156,7 +156,7 @@ export default class TermsOfService extends PureComponent { () => { dismissModal(); }, - this.handleAcceptTerms + this.handleAcceptTerms, ); }; @@ -181,7 +181,7 @@ export default class TermsOfService extends PureComponent { }], ); }, - this.handleRejectTerms + this.handleRejectTerms, ); }; diff --git a/app/screens/user_profile/user_profile.js b/app/screens/user_profile/user_profile.js index c027de453..bbe0235c7 100644 --- a/app/screens/user_profile/user_profile.js +++ b/app/screens/user_profile/user_profile.js @@ -213,7 +213,7 @@ export default class UserProfile extends PureComponent { }, { displayName: userDisplayName, - } + }, ); } else { this.close(); diff --git a/app/screens/user_profile/user_profile.test.js b/app/screens/user_profile/user_profile.test.js index 8cc4296b7..9216cb2e6 100644 --- a/app/screens/user_profile/user_profile.test.js +++ b/app/screens/user_profile/user_profile.test.js @@ -83,7 +83,7 @@ describe('user_profile', () => { + />, )).toEqual(true); }); @@ -109,7 +109,7 @@ describe('user_profile', () => { + />, )).toEqual(true); }); diff --git a/app/selectors/autocomplete.js b/app/selectors/autocomplete.js index 3fe877f50..444559f3a 100644 --- a/app/selectors/autocomplete.js +++ b/app/selectors/autocomplete.js @@ -83,7 +83,7 @@ export const filterMembersInChannel = createSelector( // already sorted return profiles.map((p) => p.id); - } + }, ); export const filterMembersNotInChannel = createSelector( @@ -111,7 +111,7 @@ export const filterMembersNotInChannel = createSelector( return profiles.map((p) => { return p.id; }); - } + }, ); export const filterMembersInCurrentTeam = createSelector( @@ -135,7 +135,7 @@ export const filterMembersInCurrentTeam = createSelector( } return profiles.sort(sortByUsername).map((p) => p.id); - } + }, ); export const filterMyChannels = createSelector( @@ -159,7 +159,7 @@ export const filterMyChannels = createSelector( } return channels.map((c) => c.id); - } + }, ); export const filterOtherChannels = createSelector( @@ -180,7 +180,7 @@ export const filterOtherChannels = createSelector( } return channels.map((c) => c.id); - } + }, ); export const filterPublicChannels = createSelector( @@ -200,7 +200,7 @@ export const filterPublicChannels = createSelector( return c.type === General.OPEN_CHANNEL && (c.name.toLowerCase().startsWith(matchTerm) || c.display_name.toLowerCase().startsWith(matchTerm)); }).concat( - otherChannels.filter((c) => c.name.toLowerCase().startsWith(matchTerm) || c.display_name.toLowerCase().startsWith(matchTerm)) + otherChannels.filter((c) => c.name.toLowerCase().startsWith(matchTerm) || c.display_name.toLowerCase().startsWith(matchTerm)), ); } else { channels = myChannels.filter((c) => { @@ -214,7 +214,7 @@ export const filterPublicChannels = createSelector( } return channels.sort(sortChannelsByDisplayName.bind(null, locale)).map((c) => c.id); - } + }, ); export const filterPrivateChannels = createSelector( @@ -244,7 +244,7 @@ export const filterPrivateChannels = createSelector( } return channels.map((c) => c.id); - } + }, ); export const filterDirectAndGroupMessages = createSelector( @@ -274,7 +274,7 @@ export const filterDirectAndGroupMessages = createSelector( } return channels.map((c) => c.id); - } + }, ); export const makeGetMatchTermForDateMention = () => { diff --git a/app/selectors/channel.js b/app/selectors/channel.js index 6c058bccd..65e465d42 100644 --- a/app/selectors/channel.js +++ b/app/selectors/channel.js @@ -14,7 +14,7 @@ const getOtherUserIdForDm = createSelector( } return channel.name.split('__').find((m) => m !== currentUserId) || currentUserId; - } + }, ); export const getChannelMembersForDm = createSelector( @@ -25,7 +25,7 @@ export const getChannelMembersForDm = createSelector( } return [otherUser]; - } + }, ); export const getChannelNameForSearchAutocomplete = createSelector( @@ -35,5 +35,5 @@ export const getChannelNameForSearchAutocomplete = createSelector( return channel.display_name; } return ''; - } + }, ); diff --git a/app/selectors/client_upgrade.js b/app/selectors/client_upgrade.js index 77ee0a339..fce5696f6 100644 --- a/app/selectors/client_upgrade.js +++ b/app/selectors/client_upgrade.js @@ -29,7 +29,7 @@ const getClientUpgrade = createSelector( latestVersion, minVersion, }; - } + }, ); export default getClientUpgrade; diff --git a/app/selectors/file.js b/app/selectors/file.js index fcf55ae06..febcb2f24 100644 --- a/app/selectors/file.js +++ b/app/selectors/file.js @@ -17,5 +17,5 @@ export const checkForFileUploadingInChannel = createSelector( } return draft.files.some((f) => f.loading); - } + }, ); diff --git a/app/selectors/post_list.js b/app/selectors/post_list.js index 73f94c694..2e131a97b 100644 --- a/app/selectors/post_list.js +++ b/app/selectors/post_list.js @@ -46,6 +46,6 @@ export function makePreparePostIdsForSearchPosts() { } return out; - } + }, ); } diff --git a/app/selectors/theme.js b/app/selectors/theme.js index 2ca7a526e..9198e4908 100644 --- a/app/selectors/theme.js +++ b/app/selectors/theme.js @@ -21,7 +21,7 @@ export const getAllowedThemes = createSelector( acceptableThemes = allThemes.filter((theme) => allowedThemeKeys.includes(theme.key)); } return acceptableThemes; - } + }, ); export const getCustomTheme = createSelector( @@ -35,5 +35,5 @@ export const getCustomTheme = createSelector( }; } return null; - } + }, ); \ No newline at end of file diff --git a/app/selectors/views.js b/app/selectors/views.js index 60f97f1ac..f248d6883 100644 --- a/app/selectors/views.js +++ b/app/selectors/views.js @@ -23,7 +23,7 @@ export const getCurrentChannelDraft = createSelector( getCurrentChannelId, (drafts, currentChannelId) => { return drafts[currentChannelId] || emptyDraft; - } + }, ); export function getDraftForChannel(state, channelId) { @@ -36,7 +36,7 @@ export const getThreadDraft = createSelector( (state, rootId) => rootId, (drafts, rootId) => { return drafts[rootId] || emptyDraft; - } + }, ); export function getProfileImageUri(state) { @@ -54,5 +54,5 @@ export const getBadgeCount = createSelector( } return badgeCount; - } + }, ); diff --git a/app/store/store.js b/app/store/store.js index 03a6f6ba4..a3f11ec07 100644 --- a/app/store/store.js +++ b/app/store/store.js @@ -54,12 +54,12 @@ const setTransforms = [ export default function configureAppStore(initialState) { const viewsBlackListFilter = createBlacklistFilter( 'views', - ['extension', 'login', 'root'] + ['extension', 'login', 'root'], ); const typingBlackListFilter = createBlacklistFilter( 'entities', - ['typing'] + ['typing'], ); const channelViewBlackList = {loading: true, refreshing: true, loadingPosts: true, postVisibility: true, retryFailed: true, loadMorePostsVisible: true}; @@ -79,7 +79,7 @@ export default function configureAppStore(initialState) { }; }, null, - {whitelist: ['views']} // Only run this filter on the views state (or any other entry that ends up being named views) + {whitelist: ['views']}, // Only run this filter on the views state (or any other entry that ends up being named views) ); const emojiBlackList = {nonExistentEmoji: true}; @@ -99,7 +99,7 @@ export default function configureAppStore(initialState) { }; }, null, - {whitelist: ['entities']} // Only run this filter on the entities state (or any other entry that ends up being named entities) + {whitelist: ['entities']}, // Only run this filter on the entities state (or any other entry that ends up being named entities) ); const setTransformer = createTransform( @@ -130,7 +130,7 @@ export default function configureAppStore(initialState) { } return outboundState; - } + }, ); const offlineOptions = { diff --git a/app/store/thunk.js b/app/store/thunk.js index 370a5498c..ea1328ca4 100644 --- a/app/store/thunk.js +++ b/app/store/thunk.js @@ -23,7 +23,7 @@ export function createThunkMiddleware() { captureMessage( `Caught Client4 error "${error.message}" from "${cleanUrlForLogging(error.url)}"`, LOGGER_JAVASCRIPT_WARNING, - store + store, ); return {error}; diff --git a/app/utils/error_handling.js b/app/utils/error_handling.js index 64fa5a59d..091e41c81 100644 --- a/app/utils/error_handling.js +++ b/app/utils/error_handling.js @@ -68,7 +68,7 @@ class JavascriptAndNativeErrorHandler { dispatch(purgeOfflineStore()); }, }], - {cancelable: false} + {cancelable: false}, ); } }; diff --git a/ios/Podfile b/ios/Podfile index d7b187231..d6209e63f 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -35,6 +35,10 @@ target 'Mattermost' do pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec' pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' + permissions_path = '../node_modules/react-native-permissions/ios' + pod 'Permission-Camera', :path => "#{permissions_path}/Camera.podspec" + pod 'Permission-PhotoLibrary', :path => "#{permissions_path}/PhotoLibrary.podspec" + pod 'XCDYouTubeKit', '2.8.2' pod 'Swime', '3.0.6' diff --git a/ios/Podfile.lock b/ios/Podfile.lock index be7aa0d7d..2d3a72dfb 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -3,14 +3,14 @@ PODS: - BVLinearGradient (2.5.6): - React - DoubleConversion (1.1.6) - - FBLazyVector (0.61.2) - - FBReactNativeSpec (0.61.2): + - FBLazyVector (0.61.5) + - FBReactNativeSpec (0.61.5): - Folly (= 2018.10.22.00) - - RCTRequired (= 0.61.2) - - RCTTypeSafety (= 0.61.2) - - React-Core (= 0.61.2) - - React-jsi (= 0.61.2) - - ReactCommon/turbomodule/core (= 0.61.2) + - RCTRequired (= 0.61.5) + - RCTTypeSafety (= 0.61.5) + - React-Core (= 0.61.5) + - React-jsi (= 0.61.5) + - ReactCommon/turbomodule/core (= 0.61.5) - Folly (2018.10.22.00): - boost-for-react-native - DoubleConversion @@ -21,185 +21,189 @@ PODS: - DoubleConversion - glog - glog (0.3.5) - - jail-monkey (2.3.0): + - jail-monkey (2.3.1): - React - KeyboardTrackingView (5.5.0): - React - - libwebp (1.0.3): - - libwebp/demux (= 1.0.3) - - libwebp/mux (= 1.0.3) - - libwebp/webp (= 1.0.3) - - libwebp/demux (1.0.3): + - libwebp (1.1.0): + - libwebp/demux (= 1.1.0) + - libwebp/mux (= 1.1.0) + - libwebp/webp (= 1.1.0) + - libwebp/demux (1.1.0): - libwebp/webp - - libwebp/mux (1.0.3): + - libwebp/mux (1.1.0): - libwebp/demux - - libwebp/webp (1.0.3) - - RCTRequired (0.61.2) - - RCTTypeSafety (0.61.2): - - FBLazyVector (= 0.61.2) + - libwebp/webp (1.1.0) + - Permission-Camera (2.0.9): + - RNPermissions + - Permission-PhotoLibrary (2.0.9): + - RNPermissions + - RCTRequired (0.61.5) + - RCTTypeSafety (0.61.5): + - FBLazyVector (= 0.61.5) - Folly (= 2018.10.22.00) - - RCTRequired (= 0.61.2) - - React-Core (= 0.61.2) + - RCTRequired (= 0.61.5) + - React-Core (= 0.61.5) - RCTYouTube (2.0.0): - React - YoutubePlayer-in-WKWebView (~> 0.3.1) - - React (0.61.2): - - React-Core (= 0.61.2) - - React-Core/DevSupport (= 0.61.2) - - React-Core/RCTWebSocket (= 0.61.2) - - React-RCTActionSheet (= 0.61.2) - - React-RCTAnimation (= 0.61.2) - - React-RCTBlob (= 0.61.2) - - React-RCTImage (= 0.61.2) - - React-RCTLinking (= 0.61.2) - - React-RCTNetwork (= 0.61.2) - - React-RCTSettings (= 0.61.2) - - React-RCTText (= 0.61.2) - - React-RCTVibration (= 0.61.2) - - React-Core (0.61.2): + - React (0.61.5): + - React-Core (= 0.61.5) + - React-Core/DevSupport (= 0.61.5) + - React-Core/RCTWebSocket (= 0.61.5) + - React-RCTActionSheet (= 0.61.5) + - React-RCTAnimation (= 0.61.5) + - React-RCTBlob (= 0.61.5) + - React-RCTImage (= 0.61.5) + - React-RCTLinking (= 0.61.5) + - React-RCTNetwork (= 0.61.5) + - React-RCTSettings (= 0.61.5) + - React-RCTText (= 0.61.5) + - React-RCTVibration (= 0.61.5) + - React-Core (0.61.5): - Folly (= 2018.10.22.00) - glog - - React-Core/Default (= 0.61.2) - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) + - React-Core/Default (= 0.61.5) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) - Yoga - - React-Core/CoreModulesHeaders (0.61.2): + - React-Core/CoreModulesHeaders (0.61.5): - Folly (= 2018.10.22.00) - glog - React-Core/Default - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) - Yoga - - React-Core/Default (0.61.2): + - React-Core/Default (0.61.5): - Folly (= 2018.10.22.00) - glog - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) - Yoga - - React-Core/DevSupport (0.61.2): + - React-Core/DevSupport (0.61.5): - Folly (= 2018.10.22.00) - glog - - React-Core/Default (= 0.61.2) - - React-Core/RCTWebSocket (= 0.61.2) - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) - - React-jsinspector (= 0.61.2) + - React-Core/Default (= 0.61.5) + - React-Core/RCTWebSocket (= 0.61.5) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) + - React-jsinspector (= 0.61.5) - Yoga - - React-Core/RCTActionSheetHeaders (0.61.2): + - React-Core/RCTActionSheetHeaders (0.61.5): - Folly (= 2018.10.22.00) - glog - React-Core/Default - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) - Yoga - - React-Core/RCTAnimationHeaders (0.61.2): + - React-Core/RCTAnimationHeaders (0.61.5): - Folly (= 2018.10.22.00) - glog - React-Core/Default - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) - Yoga - - React-Core/RCTBlobHeaders (0.61.2): + - React-Core/RCTBlobHeaders (0.61.5): - Folly (= 2018.10.22.00) - glog - React-Core/Default - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) - Yoga - - React-Core/RCTImageHeaders (0.61.2): + - React-Core/RCTImageHeaders (0.61.5): - Folly (= 2018.10.22.00) - glog - React-Core/Default - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) - Yoga - - React-Core/RCTLinkingHeaders (0.61.2): + - React-Core/RCTLinkingHeaders (0.61.5): - Folly (= 2018.10.22.00) - glog - React-Core/Default - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) - Yoga - - React-Core/RCTNetworkHeaders (0.61.2): + - React-Core/RCTNetworkHeaders (0.61.5): - Folly (= 2018.10.22.00) - glog - React-Core/Default - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) - Yoga - - React-Core/RCTSettingsHeaders (0.61.2): + - React-Core/RCTSettingsHeaders (0.61.5): - Folly (= 2018.10.22.00) - glog - React-Core/Default - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) - Yoga - - React-Core/RCTTextHeaders (0.61.2): + - React-Core/RCTTextHeaders (0.61.5): - Folly (= 2018.10.22.00) - glog - React-Core/Default - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) - Yoga - - React-Core/RCTVibrationHeaders (0.61.2): + - React-Core/RCTVibrationHeaders (0.61.5): - Folly (= 2018.10.22.00) - glog - React-Core/Default - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) - Yoga - - React-Core/RCTWebSocket (0.61.2): + - React-Core/RCTWebSocket (0.61.5): - Folly (= 2018.10.22.00) - glog - - React-Core/Default (= 0.61.2) - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsiexecutor (= 0.61.2) + - React-Core/Default (= 0.61.5) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsiexecutor (= 0.61.5) - Yoga - - React-CoreModules (0.61.2): - - FBReactNativeSpec (= 0.61.2) + - React-CoreModules (0.61.5): + - FBReactNativeSpec (= 0.61.5) - Folly (= 2018.10.22.00) - - RCTTypeSafety (= 0.61.2) - - React-Core/CoreModulesHeaders (= 0.61.2) - - React-RCTImage (= 0.61.2) - - ReactCommon/turbomodule/core (= 0.61.2) - - React-cxxreact (0.61.2): + - RCTTypeSafety (= 0.61.5) + - React-Core/CoreModulesHeaders (= 0.61.5) + - React-RCTImage (= 0.61.5) + - ReactCommon/turbomodule/core (= 0.61.5) + - React-cxxreact (0.61.5): - boost-for-react-native (= 1.63.0) - DoubleConversion - Folly (= 2018.10.22.00) - glog - - React-jsinspector (= 0.61.2) - - React-jsi (0.61.2): + - React-jsinspector (= 0.61.5) + - React-jsi (0.61.5): - boost-for-react-native (= 1.63.0) - DoubleConversion - Folly (= 2018.10.22.00) - glog - - React-jsi/Default (= 0.61.2) - - React-jsi/Default (0.61.2): + - React-jsi/Default (= 0.61.5) + - React-jsi/Default (0.61.5): - boost-for-react-native (= 1.63.0) - DoubleConversion - Folly (= 2018.10.22.00) - glog - - React-jsiexecutor (0.61.2): + - React-jsiexecutor (0.61.5): - DoubleConversion - Folly (= 2018.10.22.00) - glog - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - React-jsinspector (0.61.2) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - React-jsinspector (0.61.5) - react-native-cameraroll (1.3.0): - React - react-native-cookies (3.2.0): @@ -208,10 +212,14 @@ PODS: - React - react-native-image-picker (2.0.0): - React + - react-native-local-auth (1.5.0): + - React - react-native-netinfo (4.4.0): - React - react-native-notifications (2.0.6): - React + - react-native-passcode-status (1.1.2): + - React - react-native-safe-area (0.5.1): - React - react-native-video (5.0.2): @@ -221,50 +229,48 @@ PODS: - React - react-native-webview (7.0.1): - React - - React-RCTActionSheet (0.61.2): - - React-Core/RCTActionSheetHeaders (= 0.61.2) - - React-RCTAnimation (0.61.2): - - React-Core/RCTAnimationHeaders (= 0.61.2) - - React-RCTBlob (0.61.2): - - React-Core/RCTBlobHeaders (= 0.61.2) - - React-Core/RCTWebSocket (= 0.61.2) - - React-jsi (= 0.61.2) - - React-RCTNetwork (= 0.61.2) - - React-RCTImage (0.61.2): - - React-Core/RCTImageHeaders (= 0.61.2) - - React-RCTNetwork (= 0.61.2) - - React-RCTLinking (0.61.2): - - React-Core/RCTLinkingHeaders (= 0.61.2) - - React-RCTNetwork (0.61.2): - - React-Core/RCTNetworkHeaders (= 0.61.2) - - React-RCTSettings (0.61.2): - - React-Core/RCTSettingsHeaders (= 0.61.2) - - React-RCTText (0.61.2): - - React-Core/RCTTextHeaders (= 0.61.2) - - React-RCTVibration (0.61.2): - - React-Core/RCTVibrationHeaders (= 0.61.2) - - ReactCommon/jscallinvoker (0.61.2): + - React-RCTActionSheet (0.61.5): + - React-Core/RCTActionSheetHeaders (= 0.61.5) + - React-RCTAnimation (0.61.5): + - React-Core/RCTAnimationHeaders (= 0.61.5) + - React-RCTBlob (0.61.5): + - React-Core/RCTBlobHeaders (= 0.61.5) + - React-Core/RCTWebSocket (= 0.61.5) + - React-jsi (= 0.61.5) + - React-RCTNetwork (= 0.61.5) + - React-RCTImage (0.61.5): + - React-Core/RCTImageHeaders (= 0.61.5) + - React-RCTNetwork (= 0.61.5) + - React-RCTLinking (0.61.5): + - React-Core/RCTLinkingHeaders (= 0.61.5) + - React-RCTNetwork (0.61.5): + - React-Core/RCTNetworkHeaders (= 0.61.5) + - React-RCTSettings (0.61.5): + - React-Core/RCTSettingsHeaders (= 0.61.5) + - React-RCTText (0.61.5): + - React-Core/RCTTextHeaders (= 0.61.5) + - React-RCTVibration (0.61.5): + - React-Core/RCTVibrationHeaders (= 0.61.5) + - ReactCommon/jscallinvoker (0.61.5): - DoubleConversion - Folly (= 2018.10.22.00) - glog - - React-cxxreact (= 0.61.2) - - ReactCommon/turbomodule/core (0.61.2): + - React-cxxreact (= 0.61.5) + - ReactCommon/turbomodule/core (0.61.5): - DoubleConversion - Folly (= 2018.10.22.00) - glog - - React-Core (= 0.61.2) - - React-cxxreact (= 0.61.2) - - React-jsi (= 0.61.2) - - ReactCommon/jscallinvoker (= 0.61.2) + - React-Core (= 0.61.5) + - React-cxxreact (= 0.61.5) + - React-jsi (= 0.61.5) + - ReactCommon/jscallinvoker (= 0.61.5) - ReactNativeExceptionHandler (2.10.8): - React - ReactNativeNavigation (3.2.0): - React - - ReactNativePermissions (1.1.1): - - React - rn-fetch-blob (0.12.0): - React-Core - - RNCAsyncStorage (1.6.2): + - RNCAsyncStorage (1.7.1): - React - RNDeviceInfo (2.1.2): - React @@ -272,34 +278,36 @@ PODS: - React - SDWebImage (~> 5.0) - SDWebImageWebPCoder (~> 0.2.3) - - RNGestureHandler (1.4.1): + - RNGestureHandler (1.5.3): - React - - RNKeychain (4.0.1): + - RNKeychain (4.0.5): + - React + - RNPermissions (2.0.9): - React - RNReactNativeDocViewer (1.0.0): - React - RNReactNativeHapticFeedback (1.8.2): - React - - RNSentry (1.0.9): + - RNSentry (1.2.1): - React - Sentry (~> 4.4.0) - - RNSVG (9.11.1): + - RNSVG (10.1.0): - React - RNVectorIcons (6.6.0): - React - - SDWebImage (5.2.2): - - SDWebImage/Core (= 5.2.2) - - SDWebImage/Core (5.2.2) + - SDWebImage (5.4.2): + - SDWebImage/Core (= 5.4.2) + - SDWebImage/Core (5.4.2) - SDWebImageWebPCoder (0.2.5): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.0) - - Sentry (4.4.0): - - Sentry/Core (= 4.4.0) - - Sentry/Core (4.4.0) + - Sentry (4.4.3): + - Sentry/Core (= 4.4.3) + - Sentry/Core (4.4.3) - Swime (3.0.6) - XCDYouTubeKit (2.8.2) - Yoga (1.14.0) - - YoutubePlayer-in-WKWebView (0.3.3) + - YoutubePlayer-in-WKWebView (0.3.4) DEPENDENCIES: - BVLinearGradient (from `../node_modules/react-native-linear-gradient`) @@ -310,6 +318,8 @@ DEPENDENCIES: - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - jail-monkey (from `../node_modules/jail-monkey`) - KeyboardTrackingView (from `../node_modules/react-native-keyboard-tracking-view`) + - Permission-Camera (from `../node_modules/react-native-permissions/ios/Camera.podspec`) + - Permission-PhotoLibrary (from `../node_modules/react-native-permissions/ios/PhotoLibrary.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - RCTYouTube (from `../node_modules/react-native-youtube`) @@ -326,8 +336,10 @@ DEPENDENCIES: - react-native-cookies (from `../node_modules/react-native-cookies/ios`) - react-native-document-picker (from `../node_modules/react-native-document-picker`) - react-native-image-picker (from `../node_modules/react-native-image-picker`) + - react-native-local-auth (from `../node_modules/react-native-local-auth`) - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)" - react-native-notifications (from `../node_modules/react-native-notifications`) + - react-native-passcode-status (from `../node_modules/react-native-passcode-status`) - react-native-safe-area (from `../node_modules/react-native-safe-area`) - react-native-video (from `../node_modules/react-native-video`) - react-native-webview (from `../node_modules/react-native-webview`) @@ -344,13 +356,13 @@ DEPENDENCIES: - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - ReactNativeExceptionHandler (from `../node_modules/react-native-exception-handler`) - ReactNativeNavigation (from `../node_modules/react-native-navigation`) - - ReactNativePermissions (from `../node_modules/react-native-permissions`) - rn-fetch-blob (from `../node_modules/rn-fetch-blob`) - "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)" - RNDeviceInfo (from `../node_modules/react-native-device-info`) - RNFastImage (from `../node_modules/react-native-fast-image`) - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - RNKeychain (from `../node_modules/react-native-keychain`) + - RNPermissions (from `../node_modules/react-native-permissions`) - RNReactNativeDocViewer (from `../node_modules/react-native-doc-viewer`) - RNReactNativeHapticFeedback (from `../node_modules/react-native-haptic-feedback`) - "RNSentry (from `../node_modules/@sentry/react-native`)" @@ -388,6 +400,10 @@ EXTERNAL SOURCES: :path: "../node_modules/jail-monkey" KeyboardTrackingView: :path: "../node_modules/react-native-keyboard-tracking-view" + Permission-Camera: + :path: "../node_modules/react-native-permissions/ios/Camera.podspec" + Permission-PhotoLibrary: + :path: "../node_modules/react-native-permissions/ios/PhotoLibrary.podspec" RCTRequired: :path: "../node_modules/react-native/Libraries/RCTRequired" RCTTypeSafety: @@ -416,10 +432,14 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-document-picker" react-native-image-picker: :path: "../node_modules/react-native-image-picker" + react-native-local-auth: + :path: "../node_modules/react-native-local-auth" react-native-netinfo: :path: "../node_modules/@react-native-community/netinfo" react-native-notifications: :path: "../node_modules/react-native-notifications" + react-native-passcode-status: + :path: "../node_modules/react-native-passcode-status" react-native-safe-area: :path: "../node_modules/react-native-safe-area" react-native-video: @@ -450,8 +470,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-exception-handler" ReactNativeNavigation: :path: "../node_modules/react-native-navigation" - ReactNativePermissions: - :path: "../node_modules/react-native-permissions" rn-fetch-blob: :path: "../node_modules/rn-fetch-blob" RNCAsyncStorage: @@ -464,6 +482,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-gesture-handler" RNKeychain: :path: "../node_modules/react-native-keychain" + RNPermissions: + :path: "../node_modules/react-native-permissions" RNReactNativeDocViewer: :path: "../node_modules/react-native-doc-viewer" RNReactNativeHapticFeedback: @@ -481,64 +501,68 @@ SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872 DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2 - FBLazyVector: 68b6a76960fbd8ecd9fb7ce0aadd3329c3340a99 - FBReactNativeSpec: 5a764c60abdc3336a213e5310c40b74741f32839 + FBLazyVector: aaeaf388755e4f29cd74acbc9e3b8da6d807c37f + FBReactNativeSpec: 118d0d177724c2d67f08a59136eb29ef5943ec75 Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51 glog: 1f3da668190260b06b429bb211bfbee5cd790c28 - jail-monkey: 0830c18bb6f085938a4c8529d554f9b29230a5a4 + jail-monkey: 8eb1b5d4ab5f2a55937dd123e6450cbbff0c8032 KeyboardTrackingView: d4d7236123b401ed9b1e02869e7943117740c522 - libwebp: 057912d6d0abfb6357d8bb05c0ea470301f5d61e - RCTRequired: c639d59ed389cfb1f1203f65c2ea946d8ec586e2 - RCTTypeSafety: dc23fb655d6c77667c78e327bf661bc11e3b8aec + libwebp: 946cb3063cea9236285f7e9a8505d806d30e07f3 + Permission-Camera: b0fec577b27488314a885f9c74433e02f3585b9b + Permission-PhotoLibrary: 51718ddf8c0baf1cebf323c68cedcb2ff0cf304a + RCTRequired: b153add4da6e7dbc44aebf93f3cf4fcae392ddf1 + RCTTypeSafety: 9aa1b91d7f9310fc6eadc3cf95126ffe818af320 RCTYouTube: 5e94bfa005371c41d307f3f93c51b3e8eabfb0c8 - React: 7e586e5d7bec12b91c1a096826b0fc9ab1da7865 - React-Core: 8ddb9770b4a30a6ab4a754e6ed5ec76454e3d699 - React-CoreModules: b3d9eece8ad7df36c917a41f05c1168c52fe0b34 - React-cxxreact: 1f972757c0bd08d962ef78068e06613c27489a3f - React-jsi: 32285a21b1b24c36060493ed3057a34677d58d09 - React-jsiexecutor: 8909917ff7d8f21a57e443a866fd8d4560e50c65 - React-jsinspector: 111d7d342b07a904c400592e02a2b958f1098b60 + React: b6a59ef847b2b40bb6e0180a97d0ca716969ac78 + React-Core: 688b451f7d616cc1134ac95295b593d1b5158a04 + React-CoreModules: d04f8494c1a328b69ec11db9d1137d667f916dcb + React-cxxreact: d0f7bcafa196ae410e5300736b424455e7fb7ba7 + React-jsi: cb2cd74d7ccf4cffb071a46833613edc79cdf8f7 + React-jsiexecutor: d5525f9ed5f782fdbacb64b9b01a43a9323d2386 + React-jsinspector: fa0ecc501688c3c4c34f28834a76302233e29dc0 react-native-cameraroll: ad20f5a93c25cb83a76455df57a2c62fbb63aaed react-native-cookies: 854d59c4135c70b92a02ca4930e68e4e2eb58150 react-native-document-picker: c36bf5f067a581657ecaf7124dcd921a8be19061 react-native-image-picker: ba7fe85b3373ff33d4827210d989dfcbbd68f7f9 + react-native-local-auth: 5081a70211643de74bb207e007401a0c81b37a20 react-native-netinfo: 892a5130be97ff8bb69c523739c424a2ffc296d1 react-native-notifications: d5cb54ef8bf3004dcb56c887650dea08ecbddee7 + react-native-passcode-status: 88c4f6e074328bc278bd127646b6c694ad5a530a react-native-safe-area: e8230b0017d76c00de6b01e2412dcf86b127c6a3 react-native-video: 961749da457e73bf0b5565edfbaffc25abfb8974 react-native-webview: 0d1c2b4e7ffb0543a74fa0512f2f8dc5fb0e49e2 - React-RCTActionSheet: 89b037c0fb7d2671607cb645760164e7e0c013f6 - React-RCTAnimation: e3cefa93c38c004c318f7ec04b883eb14b8b8235 - React-RCTBlob: d26ac0e313fbf14e7203473fd593ccaaeee8329e - React-RCTImage: 4bdd9588783fa9e48ef669ccd4f747224e208edf - React-RCTLinking: 65f0088ff463babd3d5d567964a65b74141eff3b - React-RCTNetwork: 0c1a73576c1cfeafe68396556de1b17d93c0c595 - React-RCTSettings: 4194f1f0edbddf3fd44d1714dc6578bb20379b60 - React-RCTText: e3ef6191cdb627855ff7fe8fa0c1e14094967fb8 - React-RCTVibration: fb54c732fd20405a76598e431aa2f8c2bf527de9 - ReactCommon: 5848032ed2f274fcb40f6b9ec24067787c42d479 + React-RCTActionSheet: 600b4d10e3aea0913b5a92256d2719c0cdd26d76 + React-RCTAnimation: 791a87558389c80908ed06cc5dfc5e7920dfa360 + React-RCTBlob: d89293cc0236d9cb0933d85e430b0bbe81ad1d72 + React-RCTImage: 6b8e8df449eb7c814c99a92d6b52de6fe39dea4e + React-RCTLinking: 121bb231c7503cf9094f4d8461b96a130fabf4a5 + React-RCTNetwork: fb353640aafcee84ca8b78957297bd395f065c9a + React-RCTSettings: 8db258ea2a5efee381fcf7a6d5044e2f8b68b640 + React-RCTText: 9ccc88273e9a3aacff5094d2175a605efa854dbe + React-RCTVibration: a49a1f42bf8f5acf1c3e297097517c6b3af377ad + ReactCommon: 198c7c8d3591f975e5431bec1b0b3b581aa1c5dd ReactNativeExceptionHandler: 8025d98049c25f186835a3af732dd7c9974d6dce ReactNativeNavigation: aad255980f20cc5d2001ed37972319f3789fea70 - ReactNativePermissions: 2e324bb3baf12702e3ec27f76c8ae1158fa69fc6 rn-fetch-blob: 17961aec08caae68bb8fc0e5b40f93b3acfa6932 - RNCAsyncStorage: 5ae4d57458804e99f73d427214442a6b10a53856 + RNCAsyncStorage: 8539fc80a0075fcc9c8e2dff84cd22dc5bf1dacf RNDeviceInfo: fd8296de6fca8b743cdc499b896f48e8a9f1faf5 RNFastImage: 9b0c22643872bb7494c8d87bbbb66cc4c0d9e7a2 - RNGestureHandler: 4cb47a93019c1a201df2644413a0a1569a51c8aa - RNKeychain: 45dbd50d1ac4bd42c3740f76ffb135abf05746d0 + RNGestureHandler: 02905abe54e1f6e59c081a10b4bd689721e17aa6 + RNKeychain: 840f8e6f13be0576202aefcdffd26a4f54bfe7b5 + RNPermissions: 6db7e0a4d94c9c02390d11020b1d3d187aaf77e5 RNReactNativeDocViewer: 571c6ac38483531b8fb521d02a6ba54652ed10a7 RNReactNativeHapticFeedback: e11a4da0ce174e9f88b03cbaf5d76d94633cdee2 - RNSentry: 2803ba8c8129dcf26b79e9b4d8c80168be6e4390 - RNSVG: be27aa7c58819f97399388ae53d7fa0572f32c7f + RNSentry: 9b1d983b2d5d1c215ba6490348fd2a4cc23a8a9d + RNSVG: 069864be08c9fe065a2cf7e63656a34c78653c99 RNVectorIcons: 0bb4def82230be1333ddaeee9fcba45f0b288ed4 - SDWebImage: 5fcdb02cc35e05fc35791ec514b191d27189f872 + SDWebImage: 4ca2dc4eefae4224bea8f504251cda485a363745 SDWebImageWebPCoder: 947093edd1349d820c40afbd9f42acb6cdecd987 - Sentry: 26650184fe71eb7476dfd2737acb5ea6cc64b4b1 + Sentry: 14bdd673870e8cf64932b149fad5bbbf39a9b390 Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b XCDYouTubeKit: 79baadb0560673a67c771eba45f83e353fd12c1f - Yoga: 14927e37bd25376d216b150ab2a561773d57911f - YoutubePlayer-in-WKWebView: 7694e858c5c3472ed067d6fe34eb9b944845e63c + Yoga: f2a7cd4280bfe2cca5a7aed98ba0eb3d1310f18b + YoutubePlayer-in-WKWebView: af2f5929fc78882d94bfdfeea999b661b78d9717 -PODFILE CHECKSUM: 5d115a6e48c4a1683c49388094e119a6e4679c8f +PODFILE CHECKSUM: 8199a7b8e5d4cc8c741ea6292c067c33ad835da9 COCOAPODS: 1.7.5 diff --git a/package-lock.json b/package-lock.json index c286c60ac..498113314 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,21 +5,28 @@ "requires": true, "dependencies": { "@babel/cli": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.6.4.tgz", - "integrity": "sha512-tqrDyvPryBM6xjIyKKUwr3s8CzmmYidwgdswd7Uc/Cv0ogZcuS1TYQTLx/eWKP3UbJ6JxZAiYlBZabXm/rtRsQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.8.3.tgz", + "integrity": "sha512-K2UXPZCKMv7KwWy9Bl4sa6+jTNP7JyDiHKzoOiUUygaEDbC60vaargZDnO9oFMvlq8pIKOOyUUgeMYrsaN9djA==", "dev": true, "requires": { "chokidar": "^2.1.8", - "commander": "^2.8.1", + "commander": "^4.0.1", "convert-source-map": "^1.1.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.0.0", "lodash": "^4.17.13", - "mkdirp": "^0.5.1", - "output-file-sync": "^2.0.0", + "make-dir": "^2.1.0", "slash": "^2.0.0", "source-map": "^0.5.0" + }, + "dependencies": { + "commander": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.0.tgz", + "integrity": "sha512-NIQrwvv9V39FHgGFm36+U9SMQzbiHvU79k+iADraJTpmrFFfx7Ds0IvDoAdZsDrknlkRk14OYoWXb57uTh7/sw==", + "dev": true + } } }, "@babel/code-frame": { @@ -30,21 +37,40 @@ "@babel/highlight": "^7.0.0" } }, - "@babel/core": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.4.tgz", - "integrity": "sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ==", + "@babel/compat-data": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.8.1.tgz", + "integrity": "sha512-Z+6ZOXvyOWYxJ50BwxzdhRnRsGST8Y3jaZgxYig575lTjVSs3KtJnmESwZegg6e2Dn0td1eDhoWlp1wI4BTCPw==", "dev": true, "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.6.4", - "@babel/helpers": "^7.6.2", - "@babel/parser": "^7.6.4", - "@babel/template": "^7.6.0", - "@babel/traverse": "^7.6.3", - "@babel/types": "^7.6.3", - "convert-source-map": "^1.1.0", + "browserslist": "^4.8.2", + "invariant": "^2.2.4", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/core": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.3.tgz", + "integrity": "sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.3", + "@babel/helpers": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3", + "convert-source-map": "^1.7.0", "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", "json5": "^2.1.0", "lodash": "^4.17.13", "resolve": "^1.3.2", @@ -52,11 +78,106 @@ "source-map": "^0.5.0" }, "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.3.tgz", + "integrity": "sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug==", + "requires": { + "@babel/types": "^7.8.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.3.tgz", + "integrity": "sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==" + }, + "@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", + "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/traverse": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.3.tgz", + "integrity": "sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.3", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -64,8 +185,7 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, @@ -116,6 +236,27 @@ "@babel/types": "^7.7.4" } }, + "@babel/helper-compilation-targets": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.3.tgz", + "integrity": "sha512-JLylPCsFjhLN+6uBSSh3iYdxKdeO9MNmoY96PE/99d8kyBFaXLORtAVhqN6iHa+wtPeqxKLghDOZry0+Aiw9Tw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.8.1", + "browserslist": "^4.8.2", + "invariant": "^2.2.4", + "levenary": "^1.1.0", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, "@babel/helper-create-class-features-plugin": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.7.4.tgz", @@ -234,15 +375,129 @@ } }, "@babel/helper-remap-async-to-generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz", - "integrity": "sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.0.tgz", + "integrity": "sha512-+aKyBd4oHAaIZgOLq/uLjkUz7ExZ0ppdNBc8Qr72BmtKNAy3A6EJa/ifjj0//CIzQtUDPs3E6HjKM2cV6bnXsQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.7.4", - "@babel/helper-wrap-function": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "@babel/helper-annotate-as-pure": "^7.8.0", + "@babel/helper-wrap-function": "^7.8.0", + "@babel/template": "^7.8.0", + "@babel/traverse": "^7.8.0", + "@babel/types": "^7.8.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz", + "integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==", + "requires": { + "@babel/highlight": "^7.8.0" + } + }, + "@babel/generator": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.0.tgz", + "integrity": "sha512-2Lp2e02CV2C7j/H4n4D9YvsvdhPVVg9GDIamr6Tu4tU35mL3mzOrzl1lZ8ZJtysfZXh+y+AGORc2rPS7yHxBUg==", + "requires": { + "@babel/types": "^7.8.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.0.tgz", + "integrity": "sha512-WWj+1amBdowU2g18p3/KUc1Y5kWnaNm1paohq2tT4/RreeMNssYkv6ul9wkE2iIqjwLBwNMZGH4pTGlMSUqMMg==", + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-function-name": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz", + "integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==", + "requires": { + "@babel/helper-get-function-arity": "^7.8.0", + "@babel/template": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz", + "integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==", + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz", + "integrity": "sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==", + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/highlight": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz", + "integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz", + "integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==" + }, + "@babel/template": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz", + "integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==", + "requires": { + "@babel/code-frame": "^7.8.0", + "@babel/parser": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/traverse": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.0.tgz", + "integrity": "sha512-d/6sPXFLGlJHZO/zWDtgFaKyalCOHLedzxpVJn6el1cw+f2TZa7xZEszeXdOw6EUemqRFBAn106BWBvtSck9Qw==", + "requires": { + "@babel/code-frame": "^7.8.0", + "@babel/generator": "^7.8.0", + "@babel/helper-function-name": "^7.8.0", + "@babel/helper-split-export-declaration": "^7.8.0", + "@babel/parser": "^7.8.0", + "@babel/types": "^7.8.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz", + "integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + } } }, "@babel/helper-replace-supers": { @@ -274,24 +529,236 @@ } }, "@babel/helper-wrap-function": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz", - "integrity": "sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.0.tgz", + "integrity": "sha512-2j6idN2jt8Y+8nJ4UPN/6AZa53DAkcETMVmroJQh50qZc59PuQKVjgOIIqmrLoQf6Ia9bs90MHRcID1OW5tfag==", "requires": { - "@babel/helper-function-name": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "@babel/helper-function-name": "^7.8.0", + "@babel/template": "^7.8.0", + "@babel/traverse": "^7.8.0", + "@babel/types": "^7.8.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz", + "integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==", + "requires": { + "@babel/highlight": "^7.8.0" + } + }, + "@babel/generator": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.0.tgz", + "integrity": "sha512-2Lp2e02CV2C7j/H4n4D9YvsvdhPVVg9GDIamr6Tu4tU35mL3mzOrzl1lZ8ZJtysfZXh+y+AGORc2rPS7yHxBUg==", + "requires": { + "@babel/types": "^7.8.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz", + "integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==", + "requires": { + "@babel/helper-get-function-arity": "^7.8.0", + "@babel/template": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz", + "integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==", + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz", + "integrity": "sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==", + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/highlight": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz", + "integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz", + "integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==" + }, + "@babel/template": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz", + "integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==", + "requires": { + "@babel/code-frame": "^7.8.0", + "@babel/parser": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/traverse": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.0.tgz", + "integrity": "sha512-d/6sPXFLGlJHZO/zWDtgFaKyalCOHLedzxpVJn6el1cw+f2TZa7xZEszeXdOw6EUemqRFBAn106BWBvtSck9Qw==", + "requires": { + "@babel/code-frame": "^7.8.0", + "@babel/generator": "^7.8.0", + "@babel/helper-function-name": "^7.8.0", + "@babel/helper-split-export-declaration": "^7.8.0", + "@babel/parser": "^7.8.0", + "@babel/types": "^7.8.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz", + "integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + } } }, "@babel/helpers": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz", - "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.3.tgz", + "integrity": "sha512-LmU3q9Pah/XyZU89QvBgGt+BCsTPoQa+73RxAQh8fb8qkDyIfeQnmgs+hvzhTCKTzqOyk7JTkS3MS1S8Mq5yrQ==", "requires": { - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.3.tgz", + "integrity": "sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug==", + "requires": { + "@babel/types": "^7.8.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.3.tgz", + "integrity": "sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==" + }, + "@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", + "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/traverse": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.3.tgz", + "integrity": "sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.3", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + } } }, "@babel/highlight": { @@ -310,22 +777,186 @@ "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==" }, "@babel/plugin-external-helpers": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.7.4.tgz", - "integrity": "sha512-RVGNajLaFlknbZLutaP/uv7Q+xmVs2LMlEWFXbcjLnwtBdPqAVpV3nzYIAJqri/VjJCUrhG5nALijtg0aND+XA==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.8.0.tgz", + "integrity": "sha512-ySUOoVdHYpMJvn5rzdSMAb9dHRqml9XBXjgmzZQC511j5HWZ+zVZcNFhcaqROT9fkvbROakaxy7rpOtVLG0a3A==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz", + "integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==" + } } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz", - "integrity": "sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", + "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.7.4", - "@babel/plugin-syntax-async-generators": "^7.7.4" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-remap-async-to-generator": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.3.tgz", + "integrity": "sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", + "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", + "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-wrap-function": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-wrap-function": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", + "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.3.tgz", + "integrity": "sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==", + "dev": true + }, + "@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", + "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/traverse": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.3.tgz", + "integrity": "sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.3", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } } }, "@babel/plugin-proposal-class-properties": { @@ -338,13 +969,30 @@ } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz", - "integrity": "sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", + "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.7.4" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + } } }, "@babel/plugin-proposal-export-default-from": { @@ -357,13 +1005,21 @@ } }, "@babel/plugin-proposal-json-strings": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz", - "integrity": "sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", + "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.7.4" + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + } } }, "@babel/plugin-proposal-nullish-coalescing-operator": { @@ -403,30 +1059,72 @@ } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz", - "integrity": "sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz", + "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz", + "integrity": "sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q==", + "dev": true, + "requires": { + "@babel/helper-regex": "^7.8.3", + "regexpu-core": "^4.6.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", + "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + } } }, "@babel/plugin-syntax-async-generators": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz", - "integrity": "sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + } } }, "@babel/plugin-syntax-class-properties": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.7.4.tgz", - "integrity": "sha512-JH3v5ZOeKT0qqdJ9BeBcZTFQiJOMax8RopSr1bH6ASkZKo2qWsvBML7W1mp89sszBRDBBRO8snqcByGdrMTdMg==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.0.tgz", + "integrity": "sha512-Ygw7R0yM6MjoqPFG4tlX2/p0ZlPAF7mvSrVASsvsRPi5Exad0quQ5tRPFTQI/2baPHlfeGZp7Qv5SMaWk3Lpyg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz", + "integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==" + } } }, "@babel/plugin-syntax-dynamic-import": { @@ -454,12 +1152,20 @@ } }, "@babel/plugin-syntax-json-strings": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz", - "integrity": "sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + } } }, "@babel/plugin-syntax-jsx": { @@ -502,6 +1208,23 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", + "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + } + } + }, "@babel/plugin-syntax-typescript": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.7.4.tgz", @@ -519,21 +1242,53 @@ } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz", - "integrity": "sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.0.tgz", + "integrity": "sha512-9dvBvJnEdsDWYMrykoMyLNVRPGoub6SFlARtsYgSQ1riTjnyBjhctihSME4XsSku86F59PDeFpC9PCU+9I154w==", "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.7.4" + "@babel/helper-module-imports": "^7.8.0", + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/helper-remap-async-to-generator": "^7.8.0" + }, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.0.tgz", + "integrity": "sha512-ylY9J6ZxEcjmJaJ4P6aVs/fZdrZVctCGnxxfYXwCnSMapqd544zT8lWK2qI/vBPjE5gS0o2jILnH+AkpsPauEQ==", + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz", + "integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==" + }, + "@babel/types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz", + "integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz", - "integrity": "sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.0.tgz", + "integrity": "sha512-bim6gUfHq2kPN+aQst33ZEMeglpaUXAo6PWTZvOA8BOnWpNKgZcUzBvpZhh2ofL6YhZgzGoRwVVfzwynDEf47g==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz", + "integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==" + } } }, "@babel/plugin-transform-block-scoping": { @@ -577,22 +1332,57 @@ } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz", - "integrity": "sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", + "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz", + "integrity": "sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q==", + "dev": true, + "requires": { + "@babel/helper-regex": "^7.8.3", + "regexpu-core": "^4.6.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", + "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + } } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz", - "integrity": "sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", + "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + } } }, "@babel/plugin-transform-exponentiation-operator": { @@ -639,22 +1429,127 @@ } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz", - "integrity": "sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.0.tgz", + "integrity": "sha512-lJSdaWR56wmrosCiyqKFRVnLrFYoVAk2mtZAyegt7akeJky/gguv0Rukx9GV3XwHGuM1ZPE06cZMjNlcLp8LrQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz", + "integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==" + } } }, "@babel/plugin-transform-modules-amd": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.4.tgz", - "integrity": "sha512-/542/5LNA18YDtg1F+QHvvUSlxdvjZoD/aldQwkq+E3WCkbEjNSN9zdrOXaSlfg3IfGi22ijzecklF/A7kVZFQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz", + "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/helper-module-imports": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", + "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-module-transforms": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz", + "integrity": "sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", + "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "dev": true, + "requires": { + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.3.tgz", + "integrity": "sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==", + "dev": true + }, + "@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", + "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-modules-commonjs": { @@ -669,42 +1564,277 @@ } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz", - "integrity": "sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz", + "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", "babel-plugin-dynamic-import-node": "^2.3.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", + "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-module-imports": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", + "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-module-transforms": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz", + "integrity": "sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", + "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "dev": true, + "requires": { + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.3.tgz", + "integrity": "sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==", + "dev": true + }, + "@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", + "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-modules-umd": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz", - "integrity": "sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz", + "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/helper-module-imports": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", + "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-module-transforms": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz", + "integrity": "sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", + "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "dev": true, + "requires": { + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.3.tgz", + "integrity": "sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==", + "dev": true + }, + "@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", + "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz", - "integrity": "sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", + "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4" + "@babel/helper-create-regexp-features-plugin": "^7.8.3" + }, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz", + "integrity": "sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q==", + "dev": true, + "requires": { + "@babel/helper-regex": "^7.8.3", + "regexpu-core": "^4.6.0" + } + }, + "@babel/helper-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", + "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + } } }, "@babel/plugin-transform-new-target": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz", - "integrity": "sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", + "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + } } }, "@babel/plugin-transform-object-assign": { @@ -716,12 +1846,150 @@ } }, "@babel/plugin-transform-object-super": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz", - "integrity": "sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.0.tgz", + "integrity": "sha512-2DYqQ811nRlFVlni6iqfxBVVGqkBgfvEv/lcvmdNu2CaG+EA7zSP1hqYUsqamR+uCdDbsrV7uY6/0rkXbJo5YQ==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.7.4" + "@babel/helper-plugin-utils": "^7.8.0", + "@babel/helper-replace-supers": "^7.8.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz", + "integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==", + "requires": { + "@babel/highlight": "^7.8.0" + } + }, + "@babel/generator": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.0.tgz", + "integrity": "sha512-2Lp2e02CV2C7j/H4n4D9YvsvdhPVVg9GDIamr6Tu4tU35mL3mzOrzl1lZ8ZJtysfZXh+y+AGORc2rPS7yHxBUg==", + "requires": { + "@babel/types": "^7.8.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz", + "integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==", + "requires": { + "@babel/helper-get-function-arity": "^7.8.0", + "@babel/template": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz", + "integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==", + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.0.tgz", + "integrity": "sha512-0m1QabGrdXuoxX/g+KOAGndoHwskC70WweqHRQyCsaO67KOEELYh4ECcGw6ZGKjDKa5Y7SW4Qbhw6ly4Fah/jQ==", + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.0.tgz", + "integrity": "sha512-aiJt1m+K57y0n10fTw+QXcCXzmpkG+o+NoQmAZqlZPstkTE0PZT+Z27QSd/6Gf00nuXJQO4NiJ0/YagSW5kC2A==", + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz", + "integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==" + }, + "@babel/helper-replace-supers": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.0.tgz", + "integrity": "sha512-R2CyorW4tcO3YzdkClLpt6MS84G+tPkOi0MmiCn1bvYVnmDpdl9R15XOi3NQW2mhOAEeBnuQ4g1Bh7pT2sX8fg==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.8.0", + "@babel/helper-optimise-call-expression": "^7.8.0", + "@babel/traverse": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz", + "integrity": "sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==", + "requires": { + "@babel/types": "^7.8.0" + } + }, + "@babel/highlight": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz", + "integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz", + "integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==" + }, + "@babel/template": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz", + "integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==", + "requires": { + "@babel/code-frame": "^7.8.0", + "@babel/parser": "^7.8.0", + "@babel/types": "^7.8.0" + } + }, + "@babel/traverse": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.0.tgz", + "integrity": "sha512-d/6sPXFLGlJHZO/zWDtgFaKyalCOHLedzxpVJn6el1cw+f2TZa7xZEszeXdOw6EUemqRFBAn106BWBvtSck9Qw==", + "requires": { + "@babel/code-frame": "^7.8.0", + "@babel/generator": "^7.8.0", + "@babel/helper-function-name": "^7.8.0", + "@babel/helper-split-export-declaration": "^7.8.0", + "@babel/parser": "^7.8.0", + "@babel/types": "^7.8.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz", + "integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + } } }, "@babel/plugin-transform-parameters": { @@ -735,11 +2003,18 @@ } }, "@babel/plugin-transform-property-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz", - "integrity": "sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.0.tgz", + "integrity": "sha512-vjZaQlojnZIahu5ofEW+hPJfDI5A6r2Sbi5C0RuCaAOFj7viDIR5kOR7ul3Fz5US8V1sVk5Zd2yuPaz7iBeysg==", "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz", + "integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==" + } } }, "@babel/plugin-transform-react-display-name": { @@ -778,31 +2053,60 @@ } }, "@babel/plugin-transform-reserved-words": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz", - "integrity": "sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", + "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + } } }, "@babel/plugin-transform-runtime": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.2.tgz", - "integrity": "sha512-cqULw/QB4yl73cS5Y0TZlQSjDvNkzDbu0FurTZyHlJpWE5T3PCMdnyV+xXoH1opr1ldyHODe3QAX3OMAii5NxA==", - "dev": true, + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.8.3.tgz", + "integrity": "sha512-/vqUt5Yh+cgPZXXjmaG9NT8aVfThKk7G4OqkVhrXqwsC5soMn/qTCxs36rZ2QFhpfTJcjw4SNDIZ4RUb8OL4jQ==", "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", "resolve": "^1.8.1", "semver": "^5.5.1" }, "dependencies": { + "@babel/helper-module-imports": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", + "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==" + }, + "@babel/types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, @@ -841,12 +2145,20 @@ } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz", - "integrity": "sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.3.tgz", + "integrity": "sha512-3TrkKd4LPqm4jHs6nPtSDI/SV9Cm5PRJkHLUgTcqRQQTMAZ44ZaAdDZJtvWFSaRcvT0a1rTmJ5ZA5tDKjleF3g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + } } }, "@babel/plugin-transform-typescript": { @@ -869,63 +2181,662 @@ } }, "@babel/preset-env": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.3.tgz", - "integrity": "sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.8.3.tgz", + "integrity": "sha512-Rs4RPL2KjSLSE2mWAx5/iCH+GC1ikKdxPrhnRS6PfFVaiZeom22VFKN4X8ZthyN61kAaR05tfXTbCvatl9WIQg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.2.0", - "@babel/plugin-proposal-dynamic-import": "^7.5.0", - "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.6.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.6.2", - "@babel/plugin-syntax-async-generators": "^7.2.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-syntax-json-strings": "^7.2.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", - "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.5.0", - "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.6.3", - "@babel/plugin-transform-classes": "^7.5.5", - "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.6.0", - "@babel/plugin-transform-dotall-regex": "^7.6.2", - "@babel/plugin-transform-duplicate-keys": "^7.5.0", - "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.4.4", - "@babel/plugin-transform-function-name": "^7.4.4", - "@babel/plugin-transform-literals": "^7.2.0", - "@babel/plugin-transform-member-expression-literals": "^7.2.0", - "@babel/plugin-transform-modules-amd": "^7.5.0", - "@babel/plugin-transform-modules-commonjs": "^7.6.0", - "@babel/plugin-transform-modules-systemjs": "^7.5.0", - "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.3", - "@babel/plugin-transform-new-target": "^7.4.4", - "@babel/plugin-transform-object-super": "^7.5.5", - "@babel/plugin-transform-parameters": "^7.4.4", - "@babel/plugin-transform-property-literals": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.4.5", - "@babel/plugin-transform-reserved-words": "^7.2.0", - "@babel/plugin-transform-shorthand-properties": "^7.2.0", - "@babel/plugin-transform-spread": "^7.6.2", - "@babel/plugin-transform-sticky-regex": "^7.2.0", - "@babel/plugin-transform-template-literals": "^7.4.4", - "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.6.2", - "@babel/types": "^7.6.3", - "browserslist": "^4.6.0", - "core-js-compat": "^3.1.1", + "@babel/compat-data": "^7.8.0", + "@babel/helper-compilation-targets": "^7.8.3", + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-proposal-async-generator-functions": "^7.8.3", + "@babel/plugin-proposal-dynamic-import": "^7.8.3", + "@babel/plugin-proposal-json-strings": "^7.8.3", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-proposal-object-rest-spread": "^7.8.3", + "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", + "@babel/plugin-proposal-optional-chaining": "^7.8.3", + "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.8.3", + "@babel/plugin-transform-async-to-generator": "^7.8.3", + "@babel/plugin-transform-block-scoped-functions": "^7.8.3", + "@babel/plugin-transform-block-scoping": "^7.8.3", + "@babel/plugin-transform-classes": "^7.8.3", + "@babel/plugin-transform-computed-properties": "^7.8.3", + "@babel/plugin-transform-destructuring": "^7.8.3", + "@babel/plugin-transform-dotall-regex": "^7.8.3", + "@babel/plugin-transform-duplicate-keys": "^7.8.3", + "@babel/plugin-transform-exponentiation-operator": "^7.8.3", + "@babel/plugin-transform-for-of": "^7.8.3", + "@babel/plugin-transform-function-name": "^7.8.3", + "@babel/plugin-transform-literals": "^7.8.3", + "@babel/plugin-transform-member-expression-literals": "^7.8.3", + "@babel/plugin-transform-modules-amd": "^7.8.3", + "@babel/plugin-transform-modules-commonjs": "^7.8.3", + "@babel/plugin-transform-modules-systemjs": "^7.8.3", + "@babel/plugin-transform-modules-umd": "^7.8.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", + "@babel/plugin-transform-new-target": "^7.8.3", + "@babel/plugin-transform-object-super": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.8.3", + "@babel/plugin-transform-property-literals": "^7.8.3", + "@babel/plugin-transform-regenerator": "^7.8.3", + "@babel/plugin-transform-reserved-words": "^7.8.3", + "@babel/plugin-transform-shorthand-properties": "^7.8.3", + "@babel/plugin-transform-spread": "^7.8.3", + "@babel/plugin-transform-sticky-regex": "^7.8.3", + "@babel/plugin-transform-template-literals": "^7.8.3", + "@babel/plugin-transform-typeof-symbol": "^7.8.3", + "@babel/plugin-transform-unicode-regex": "^7.8.3", + "@babel/types": "^7.8.3", + "browserslist": "^4.8.2", + "core-js-compat": "^3.6.2", "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", + "levenary": "^1.1.0", "semver": "^5.5.0" }, "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.3.tgz", + "integrity": "sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", + "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", + "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-call-delegate": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.3.tgz", + "integrity": "sha512-6Q05px0Eb+N4/GTyKPPvnkig7Lylw+QzihMpws9iiZQv7ZImf84ZsZpQH7QoWN4n4tm81SnSzPgHw2qtO0Zf3A==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz", + "integrity": "sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q==", + "dev": true, + "requires": { + "@babel/helper-regex": "^7.8.3", + "regexpu-core": "^4.6.0" + } + }, + "@babel/helper-define-map": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", + "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/types": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", + "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", + "dev": true, + "requires": { + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", + "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", + "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-module-imports": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", + "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-module-transforms": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz", + "integrity": "sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", + "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", + "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", + "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-wrap-function": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-replace-supers": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.3.tgz", + "integrity": "sha512-xOUssL6ho41U81etpLoT2RTdvdus4VfHamCuAm4AHxGr+0it5fnwoVdwUJ7GFEqCsQYzJUhcbsN9wB9apcYKFA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-simple-access": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", + "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "dev": true, + "requires": { + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "dev": true, + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-wrap-function": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", + "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.3.tgz", + "integrity": "sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ==", + "dev": true + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz", + "integrity": "sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", + "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", + "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-remap-async-to-generator": "^7.8.3" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", + "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", + "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.3.tgz", + "integrity": "sha512-SjT0cwFJ+7Rbr1vQsvphAHwUHvSUPmMjMU/0P59G8U2HLFqSa082JO7zkbDNWs9kH/IUqpHI6xWNesGf8haF1w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-define-map": "^7.8.3", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", + "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz", + "integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", + "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.3.tgz", + "integrity": "sha512-ZjXznLNTxhpf4Q5q3x1NsngzGA38t9naWH8Gt+0qYZEJAcvPI9waSStSh56u19Ofjr7QmD0wUsQ8hw8s/p1VnA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", + "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", + "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", + "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz", + "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-simple-access": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", + "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.3.tgz", + "integrity": "sha512-/pqngtGb54JwMBZ6S/D3XYylQDFtGjWrnoCF4gXZOUpFV/ujbxnoNGNvDGu6doFWRPBveE72qTx/RRU44j5I/Q==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.8.3", + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", + "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.3.tgz", + "integrity": "sha512-qt/kcur/FxrQrzFR432FGZznkVAjiyFtCOANjkAKwCbt465L6ZCiUQh2oMYGU3Wo8LRFJxNDFwWn106S5wVUNA==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", + "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", + "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", + "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-regex": "^7.8.3" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", + "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", + "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/template": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", + "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/traverse": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.3.tgz", + "integrity": "sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.3", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.3", + "@babel/types": "^7.8.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz", + "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -935,22 +2846,21 @@ } }, "@babel/register": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.6.2.tgz", - "integrity": "sha512-xgZk2LRZvt6i2SAUWxc7ellk4+OYRgS3Zpsnr13nMS1Qo25w21Uu8o6vTOAqNaxiqrnv30KTYzh9YWY2k21CeQ==", - "dev": true, + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.8.3.tgz", + "integrity": "sha512-t7UqebaWwo9nXWClIPLPloa5pN33A2leVs8Hf0e9g9YwUP8/H9NeR7DJU+4CXo23QtjChQv5a3DjEtT83ih1rg==", "requires": { "find-cache-dir": "^2.0.0", "lodash": "^4.17.13", - "mkdirp": "^0.5.1", + "make-dir": "^2.1.0", "pirates": "^4.0.0", - "source-map-support": "^0.5.9" + "source-map-support": "^0.5.16" } }, "@babel/runtime": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.3.tgz", - "integrity": "sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz", + "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==", "requires": { "regenerator-runtime": "^0.13.2" } @@ -1051,6 +2961,72 @@ "@hapi/hoek": "^8.3.0" } }, + "@istanbuljs/load-nyc-config": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz", + "integrity": "sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", + "dev": true + }, "@jest/console": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", @@ -1254,9 +3230,9 @@ } }, "@react-native-community/async-storage": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@react-native-community/async-storage/-/async-storage-1.6.2.tgz", - "integrity": "sha512-EJGsbrHubK1mGxPjWB74AaHAd5m9I+Gg2RRPZzMK6org7QOU9WOBnIMFqoeVto3hKOaEPlk8NV74H6G34/2pZQ==" + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@react-native-community/async-storage/-/async-storage-1.7.1.tgz", + "integrity": "sha512-/oX/x+EU4xNaqIaC/epVKzO8XghzImPA7l8cLz3USEFmtFiXFjBbTeeIFjjEm/u4/cv38Wi1xMEa10PHIWygRg==" }, "@react-native-community/cameraroll": { "version": "1.3.0", @@ -1285,11 +3261,6 @@ "xmldoc": "^1.1.2" }, "dependencies": { - "jetifier": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-1.6.5.tgz", - "integrity": "sha512-T7yzBSu9PR+DqjYt+I0KVO1XTb1QhAfHnXV5Nd3xpbXM6Xg4e3vP60Q4qkNU8Fh6PHC2PivPUNN3rY7G2MxcDQ==" - }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -1378,13 +3349,13 @@ } }, "@sentry/browser": { - "version": "5.9.1", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-5.9.1.tgz", - "integrity": "sha512-7AOabwp9yAH9h6Xe6TfDwlLxHbUSWs+SPWHI7bPlht2yDSAqkXYGSzRr5X0XQJX9oBQdx2cEPMqHyJrbNaP/og==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-5.11.0.tgz", + "integrity": "sha512-+POFe768M6de+y6IK1jB+zXXpSPSekQ47retE5YLuGwdI5vBgB7V7/Zcv++Vrr5TR+TOwBxNQEuq7Z/bySeksw==", "requires": { - "@sentry/core": "5.8.0", - "@sentry/types": "5.7.1", - "@sentry/utils": "5.8.0", + "@sentry/core": "5.11.0", + "@sentry/types": "5.11.0", + "@sentry/utils": "5.11.0", "tslib": "^1.9.3" } }, @@ -1402,71 +3373,71 @@ } }, "@sentry/core": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.8.0.tgz", - "integrity": "sha512-aAh2KLidIXJVGrxmHSVq2eVKbu7tZiYn5ylW6yzJXFetS5z4MA+JYaSBaG2inVYDEEqqMIkb17TyWxxziUDieg==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.11.0.tgz", + "integrity": "sha512-bofpzY5Sgcrq69eg1iA13kGJqWia4s/jVOB3DCU3rPUKGHVL8hh9CjrIho1C0XygQxjuPAJznOj0cCaRxD1vJQ==", "requires": { - "@sentry/hub": "5.8.0", - "@sentry/minimal": "5.8.0", - "@sentry/types": "5.7.1", - "@sentry/utils": "5.8.0", + "@sentry/hub": "5.11.0", + "@sentry/minimal": "5.11.0", + "@sentry/types": "5.11.0", + "@sentry/utils": "5.11.0", "tslib": "^1.9.3" } }, "@sentry/hub": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.8.0.tgz", - "integrity": "sha512-VdApn1ZCNwH1wwQwoO6pu53PM/qgHG+DQege0hbByluImpLBhAj9w50nXnF/8KzV4UoMIVbzCb6jXzMRmqqp9A==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.11.0.tgz", + "integrity": "sha512-ZtCcbq3BLkQo/y07amvP21ZjmL7up/fD1032XrA+44U7M1d2w+CDCVRWcCJGK/otzPz7cw8yc5oS4Cn68wLVxw==", "requires": { - "@sentry/types": "5.7.1", - "@sentry/utils": "5.8.0", + "@sentry/types": "5.11.0", + "@sentry/utils": "5.11.0", "tslib": "^1.9.3" } }, "@sentry/integrations": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-5.8.0.tgz", - "integrity": "sha512-Obe3GqTtq63PAJ4opYEbeZ6Bm8uw+CND+7MywJLDguqnvIVRvxpcJIZ6wxcE/VjbU3OMkNmTMnM+ra8RB7Wj6w==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@sentry/integrations/-/integrations-5.11.0.tgz", + "integrity": "sha512-GUQ0/AnRPl3jxF0kaQtaHVnDzhmd6SfI1/Ob5sVZeBpQ5cVJ4bNICirxNpW8X6J9M8YNzaRCv8w1J/o9gWTF5g==", "requires": { - "@sentry/types": "5.7.1", - "@sentry/utils": "5.8.0", + "@sentry/types": "5.11.0", + "@sentry/utils": "5.11.0", "tslib": "^1.9.3" } }, "@sentry/minimal": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.8.0.tgz", - "integrity": "sha512-MIlFOgd+JvAUrBBmq7vr9ovRH1HvckhnwzHdoUPpKRBN+rQgTyZy1o6+kA2fASCbrRqFCP+Zk7EHMACKg8DpIw==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.11.0.tgz", + "integrity": "sha512-fplz8sCmYE9Hdm+qnoATls5FPKjVyXcCuav9UKFLV6L+MAPjWVINbHFPBcYAmR5bjK4/Otfi1SPCBe1MQT/FtA==", "requires": { - "@sentry/hub": "5.8.0", - "@sentry/types": "5.7.1", + "@sentry/hub": "5.11.0", + "@sentry/types": "5.11.0", "tslib": "^1.9.3" } }, "@sentry/react-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@sentry/react-native/-/react-native-1.0.9.tgz", - "integrity": "sha512-fe1KEUJc+N4vq/k0ykqQ3el/CXxwTN7E8kBTYBCvxt9U449FdRodyFduiwz1UrkYhBsaQDC+5vQSZBZyT8EuOA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@sentry/react-native/-/react-native-1.2.1.tgz", + "integrity": "sha512-JE2B/pMvd7+3TFdzs03+DOdrALAHd8bAphJ8tk+nWjX7oQVJNgVn/IvnJfKxasHHBXQ2z+42Xy9n2Fqam/Gq0w==", "requires": { - "@sentry/browser": "^5.6.3", - "@sentry/core": "^5.6.2", - "@sentry/integrations": "^5.6.1", - "@sentry/types": "^5.6.1", - "@sentry/utils": "^5.6.1", - "@sentry/wizard": "^1.0.0" + "@sentry/browser": "^5.10.0", + "@sentry/core": "^5.10.0", + "@sentry/integrations": "^5.10.0", + "@sentry/types": "^5.10.0", + "@sentry/utils": "^5.10.0", + "@sentry/wizard": "^1.0.2" } }, "@sentry/types": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.7.1.tgz", - "integrity": "sha512-tbUnTYlSliXvnou5D4C8Zr+7/wJrHLbpYX1YkLXuIJRU0NSi81bHMroAuHWILcQKWhVjaV/HZzr7Y/hhWtbXVQ==" + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.11.0.tgz", + "integrity": "sha512-1Uhycpmeo1ZK2GLvrtwZhTwIodJHcyIS6bn+t4IMkN9MFoo6ktbAfhvexBDW/IDtdLlCGJbfm8nIZerxy0QUpg==" }, "@sentry/utils": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.8.0.tgz", - "integrity": "sha512-KDxUvBSYi0/dHMdunbxAxD3389pcQioLtcO6CI6zt/nJXeVFolix66cRraeQvqupdLhvOk/el649W4fCPayTHw==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.11.0.tgz", + "integrity": "sha512-84MNM08ANmda/tWMBCCb9tga0b4ZD7tSo0i20RJalkdLk9zJmmepKw+sA5PyztO/YxkqAt9KijSmtIafd0LlOQ==", "requires": { - "@sentry/types": "5.7.1", + "@sentry/types": "5.11.0", "tslib": "^1.9.3" } }, @@ -1538,6 +3509,12 @@ "@babel/types": "^7.3.0" } }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, "@types/istanbul-lib-coverage": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", @@ -1561,15 +3538,15 @@ } }, "@types/json-schema": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.3.tgz", - "integrity": "sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", + "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", "dev": true }, "@types/node": { - "version": "12.12.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.14.tgz", - "integrity": "sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA==", + "version": "13.1.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.6.tgz", + "integrity": "sha512-Jg1F+bmxcpENHP23sVKkNuU3uaxPnsBMW0cLjleiikFKomJQbsn0Cqk2yDvQArqzZN6ABfBkZ0To7pQ8sLdWDg==", "dev": true }, "@types/prop-types": { @@ -1605,42 +3582,44 @@ "integrity": "sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==" }, "@typescript-eslint/experimental-utils": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz", - "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.15.0.tgz", + "integrity": "sha512-Qkxu5zndY5hqlcQkmA88gfLvqQulMpX/TN91XC7OuXsRf4XG5xLGie0sbpX97o/oeccjeZYRMipIsjKk/tjDHA==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "1.13.0", - "eslint-scope": "^4.0.0" - }, - "dependencies": { - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - } + "@typescript-eslint/typescript-estree": "2.15.0", + "eslint-scope": "^5.0.0" } }, "@typescript-eslint/typescript-estree": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz", - "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.15.0.tgz", + "integrity": "sha512-L6Pog+w3VZzXkAdyqA0VlwybF8WcwZX+mufso86CMxSdWmcizJ38lgBdpqTbc9bo92iyi0rOvmATKiwl+amjxg==", "dev": true, "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", "lodash.unescape": "4.0.1", - "semver": "5.5.0" + "semver": "^6.3.0", + "tsutils": "^3.17.1" }, "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } @@ -1723,6 +3702,16 @@ "es6-promisify": "^5.0.0" } }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, "airbnb-prop-types": { "version": "2.15.0", "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz", @@ -1846,12 +3835,12 @@ } }, "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", "dev": true, "requires": { - "default-require-extensions": "^2.0.0" + "default-require-extensions": "^3.0.0" } }, "archy": { @@ -1895,13 +3884,76 @@ "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" }, "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", - "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + } } }, "array-map": { @@ -1935,14 +3987,69 @@ } }, "array.prototype.flat": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.2.tgz", - "integrity": "sha512-VXjh7lAL4KXKF2hY4FnEW9eRW6IhdvFW1sN/JwLbmECbCgACCnBHNyP3lFiYuttr0jxRN9Bsc5+G27dMseSWqQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", "dev": true, "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.15.0", - "function-bind": "^1.1.1" + "es-abstract": "^1.17.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + } } }, "art": { @@ -2081,24 +4188,16 @@ } }, "babel-plugin-module-resolver": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz", - "integrity": "sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.0.0.tgz", + "integrity": "sha512-3pdEq3PXALilSJ6dnC4wMWr0AZixHRM4utpdpBR9g5QG7B7JwWyukQv7a9hVxkbGFl+nQbrHDqqQOIBtTXTP/Q==", "dev": true, "requires": { - "find-babel-config": "^1.1.0", - "glob": "^7.1.2", - "pkg-up": "^2.0.0", - "reselect": "^3.0.1", - "resolve": "^1.4.0" - }, - "dependencies": { - "reselect": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", - "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=", - "dev": true - } + "find-babel-config": "^1.2.0", + "glob": "^7.1.6", + "pkg-up": "^3.1.0", + "reselect": "^4.0.0", + "resolve": "^1.13.1" } }, "babel-plugin-syntax-trailing-function-commas": { @@ -2292,8 +4391,7 @@ "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, "boxen": { "version": "1.3.0", @@ -2394,14 +4492,14 @@ } }, "browserslist": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.0.tgz", - "integrity": "sha512-HYnxc/oLRWvJ3TsGegR0SRL/UDnknGq2s/a8dYYEO+kOQ9m9apKoS5oiathLKZdh/e9uE+/J3j92qPlGD/vTqA==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz", + "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001012", - "electron-to-chromium": "^1.3.317", - "node-releases": "^1.1.41" + "caniuse-lite": "^1.0.30001017", + "electron-to-chromium": "^1.3.322", + "node-releases": "^1.1.44" } }, "bser": { @@ -2459,26 +4557,42 @@ } }, "caching-transform": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz", - "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", "dev": true, "requires": { - "hasha": "^3.0.0", - "make-dir": "^2.0.0", - "package-hash": "^3.0.0", - "write-file-atomic": "^2.4.2" + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" }, "dependencies": { - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.1.tgz", + "integrity": "sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } } } @@ -2510,9 +4624,9 @@ "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==" }, "caniuse-lite": { - "version": "1.0.30001013", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001013.tgz", - "integrity": "sha512-hOAXaWKuq/UVFgYawxIOdPdyMQdYcwOCDOjnZcKn7wCgFUrhP7smuNZjGLuJlPSgE6aRA4cRJ+bGSrhtEt7ZAg==", + "version": "1.0.30001020", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001020.tgz", + "integrity": "sha512-yWIvwA68wRHKanAVS1GjN8vajAv7MBFshullKCeq/eKpK7pJBVDgFFEqvgWTkcP2+wIDeQGYFRXECjKZnLkUjA==", "dev": true }, "capture-exit": { @@ -2625,6 +4739,12 @@ } } }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, "cli-boxes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", @@ -2775,11 +4895,11 @@ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "compressible": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", - "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "requires": { - "mime-db": ">= 1.40.0 < 2" + "mime-db": ">= 1.43.0 < 2" } }, "compression": { @@ -2909,18 +5029,26 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "core-js": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.3.2.tgz", - "integrity": "sha512-S1FfZpeBchkhyoY76YAdFzKS4zz9aOK7EeFaNA2aJlyXyA+sgqz6xdxmLPGXEAf0nF44MVN1kSjrA9Kt3ATDQg==" + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.3.tgz", + "integrity": "sha512-DOO9b18YHR+Wk5kJ/c5YFbXuUETreD4TrvXb6edzqZE3aAEd0eJIAWghZ9HttMuiON8SVCnU3fqA4rPxRDD1HQ==" }, "core-js-compat": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.4.7.tgz", - "integrity": "sha512-57+mgz/P/xsGdjwQYkwtBZR3LuISaxD1dEwVDtbk8xJMqAmwqaxLOvnNT7kdJ7jYE/NjNptyzXi+IQFMi/2fCw==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.3.tgz", + "integrity": "sha512-Y3YNGU3bU1yrnzVodop23ghArbKv4IqkZg9MMOWv/h7KT6NRk1/SzHhWDDlubg2+tlcUzAqgj1/GyeJ9fUKMeg==", "dev": true, "requires": { - "browserslist": "^4.8.0", - "semver": "^6.3.0" + "browserslist": "^4.8.3", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } } }, "core-util-is": { @@ -2939,19 +5067,6 @@ "parse-json": "^4.0.0" } }, - "cp-file": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", - "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "make-dir": "^2.0.0", - "nested-error-stacks": "^2.0.0", - "pify": "^4.0.1", - "safe-buffer": "^5.0.1" - } - }, "create-error-class": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", @@ -3029,6 +5144,22 @@ "nth-check": "~1.0.1" } }, + "css-tree": { + "version": "1.0.0-alpha.39", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", + "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "requires": { + "mdn-data": "2.0.6", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, "css-what": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", @@ -3089,9 +5220,9 @@ } }, "dayjs": { - "version": "1.8.17", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.17.tgz", - "integrity": "sha512-47VY/htqYqr9GHd7HW/h56PpQzRBSJcxIQFwqL3P20bMF/3az5c3PWdVY3LmPXFl6cQCYHL7c79b9ov+2bOBbw==" + "version": "1.8.19", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.19.tgz", + "integrity": "sha512-7kqOoj3oQSmqbvtvGFLU5iYqies+SqUiEGNT0UtUPPxcPYgY1BrkXR0Cq2R9HYSimBXN+xHkEN4Hi399W+Ovlg==" }, "debounce": { "version": "1.2.0", @@ -3117,16 +5248,80 @@ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, "deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz", - "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.1.tgz", + "integrity": "sha512-7Et6r6XfNW61CPPCIYfm1YPGSmh6+CliYeL4km7GWJcpX5LTAflGF8drLLR+MZX+2P3NZfAfSduutBbSWqER4g==", "requires": { + "es-abstract": "^1.16.3", + "es-get-iterator": "^1.0.1", "is-arguments": "^1.0.4", "is-date-object": "^1.0.1", "is-regex": "^1.0.4", + "isarray": "^2.0.5", "object-is": "^1.0.1", "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" + "regexp.prototype.flags": "^1.2.0", + "side-channel": "^1.0.1", + "which-boxed-primitive": "^1.0.1", + "which-collection": "^1.0.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + }, + "dependencies": { + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + } + } + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + } } }, "deep-equal-ident": { @@ -3169,17 +5364,25 @@ "dev": true }, "deepmerge": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.1.1.tgz", - "integrity": "sha512-+qO5WbNBKBaZez95TffdUDnGIo4+r5kmsX8aOb7PDHvXsTbghAmleuxjs6ytNaf5Eg4FGBXDS5vqO61TRi6BMg==" + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" }, "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", + "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==", "dev": true, "requires": { - "strip-bom": "^3.0.0" + "strip-bom": "^4.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + } } }, "defaults": { @@ -3305,7 +5508,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "dev": true, "requires": { "domelementtype": "^1.3.0", "entities": "^1.1.1" @@ -3314,8 +5516,7 @@ "domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" }, "domexception": { "version": "1.0.1", @@ -3385,9 +5586,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.322", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz", - "integrity": "sha512-Tc8JQEfGQ1MzfSzI/bTlSr7btJv/FFO7Yh6tanqVmIWOuNCu6/D1MilIEgLtmWqIrsv+o4IjpLAhgMBr/ncNAA==", + "version": "1.3.332", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.332.tgz", + "integrity": "sha512-AP2HkLhfSOIxP7gDjlyZ4ywGWIcxRMZoU9+JriuVkQe2pSLDdWBsE6+eI6BQOqun1dohLrUTOPHsQLLhhFA7Eg==", "dev": true }, "emoji-regex": { @@ -3444,47 +5645,134 @@ "integrity": "sha512-jDgnJaF/Btomk+m3PZDTTCb5XIIIX3zYItnCRfF73zVgvinLoRomuhi75Y4su0PtQxWz4v66XnLLckyvyJTOIQ==" }, "enzyme": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.10.0.tgz", - "integrity": "sha512-p2yy9Y7t/PFbPoTvrWde7JIYB2ZyGC+NgTNbVEGvZ5/EyoYSr9aG/2rSbVvyNvMHEhw9/dmGUJHWtfQIEiX9pg==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz", + "integrity": "sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==", "dev": true, "requires": { - "array.prototype.flat": "^1.2.1", - "cheerio": "^1.0.0-rc.2", - "function.prototype.name": "^1.1.0", + "array.prototype.flat": "^1.2.3", + "cheerio": "^1.0.0-rc.3", + "enzyme-shallow-equal": "^1.0.1", + "function.prototype.name": "^1.1.2", "has": "^1.0.3", - "html-element-map": "^1.0.0", - "is-boolean-object": "^1.0.0", - "is-callable": "^1.1.4", - "is-number-object": "^1.0.3", - "is-regex": "^1.0.4", - "is-string": "^1.0.4", + "html-element-map": "^1.2.0", + "is-boolean-object": "^1.0.1", + "is-callable": "^1.1.5", + "is-number-object": "^1.0.4", + "is-regex": "^1.0.5", + "is-string": "^1.0.5", "is-subset": "^0.1.1", "lodash.escape": "^4.0.1", "lodash.isequal": "^4.5.0", - "object-inspect": "^1.6.0", - "object-is": "^1.0.1", + "object-inspect": "^1.7.0", + "object-is": "^1.0.2", "object.assign": "^4.1.0", - "object.entries": "^1.0.4", - "object.values": "^1.0.4", - "raf": "^3.4.0", + "object.entries": "^1.1.1", + "object.values": "^1.1.1", + "raf": "^3.4.1", "rst-selector-parser": "^2.2.3", - "string.prototype.trim": "^1.1.2" + "string.prototype.trim": "^1.2.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "is-boolean-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.1.tgz", + "integrity": "sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ==", + "dev": true + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-number-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "object.entries": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.1.tgz", + "integrity": "sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + } } }, "enzyme-adapter-react-16": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.1.tgz", - "integrity": "sha512-yMPxrP3vjJP+4wL/qqfkT6JAIctcwKF+zXO6utlGPgUJT2l4tzrdjMDWGd/Pp1BjHBcljhN24OzNEGRteibJhA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.2.tgz", + "integrity": "sha512-SkvDrb8xU3lSxID8Qic9rB8pvevDbLybxPK6D/vW7PrT0s2Cl/zJYuXvsd1EBTz0q4o3iqG3FJhpYz3nUNpM2Q==", "dev": true, "requires": { - "enzyme-adapter-utils": "^1.12.1", - "enzyme-shallow-equal": "^1.0.0", + "enzyme-adapter-utils": "^1.13.0", + "enzyme-shallow-equal": "^1.0.1", "has": "^1.0.3", "object.assign": "^4.1.0", - "object.values": "^1.1.0", + "object.values": "^1.1.1", "prop-types": "^15.7.2", - "react-is": "^16.10.2", + "react-is": "^16.12.0", "react-test-renderer": "^16.0.0-0", "semver": "^5.7.0" }, @@ -3498,17 +5786,17 @@ } }, "enzyme-adapter-utils": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.1.tgz", - "integrity": "sha512-KWiHzSjZaLEoDCOxY8Z1RAbUResbqKN5bZvenPbfKtWorJFVETUw754ebkuCQ3JKm0adx1kF8JaiR+PHPiP47g==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.13.0.tgz", + "integrity": "sha512-YuEtfQp76Lj5TG1NvtP2eGJnFKogk/zT70fyYHXK2j3v6CtuHqc8YmgH/vaiBfL8K1SgVVbQXtTcgQZFwzTVyQ==", "dev": true, "requires": { "airbnb-prop-types": "^2.15.0", - "function.prototype.name": "^1.1.1", + "function.prototype.name": "^1.1.2", "object.assign": "^4.1.0", - "object.fromentries": "^2.0.1", + "object.fromentries": "^2.0.2", "prop-types": "^15.7.2", - "semver": "^5.7.0" + "semver": "^5.7.1" }, "dependencies": { "semver": { @@ -3530,22 +5818,22 @@ } }, "enzyme-shallow-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.0.tgz", - "integrity": "sha512-VUf+q5o1EIv2ZaloNQQtWCJM9gpeux6vudGVH6vLmfPXFLRuxl5+Aq3U260wof9nn0b0i+P5OEUXm1vnxkRpXQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.1.tgz", + "integrity": "sha512-hGA3i1so8OrYOZSM9whlkNmVHOicJpsjgTzC+wn2JMJXhq1oO4kA4bJ5MsfzSIcC71aLDKzJ6gZpIxrqt3QTAQ==", "dev": true, "requires": { "has": "^1.0.3", - "object-is": "^1.0.1" + "object-is": "^1.0.2" } }, "enzyme-to-json": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/enzyme-to-json/-/enzyme-to-json-3.4.2.tgz", - "integrity": "sha512-tlzvJPPONTaTR2eKrWTt/pxknTjXgcNbxcYkxNfB0CwC8Pfc5xmSycaTwaQ1HXpN1zv6A7lAhnMV58HOIXTkFg==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/enzyme-to-json/-/enzyme-to-json-3.4.3.tgz", + "integrity": "sha512-jqNEZlHqLdz7OTpXSzzghArSS3vigj67IU/fWkPyl1c0TCj9P5s6Ze0kRkYZWNEoCqCR79xlQbigYlMx5erh8A==", "dev": true, "requires": { - "lodash": "^4.17.12" + "lodash": "^4.17.15" } }, "err-code": { @@ -3598,11 +5886,80 @@ "string.prototype.trimright": "^2.1.0" } }, + "es-get-iterator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.0.2.tgz", + "integrity": "sha512-ZHb4fuNK3HKHEOvDGyHPKf5cSWh/OvAMskeM/+21NMnTuvqFvz8uHatolu+7Kf6b6oK9C+3Uo1T37pSGPWv0MA==", + "requires": { + "es-abstract": "^1.17.0-next.1", + "has-symbols": "^1.0.1", + "is-arguments": "^1.0.4", + "is-map": "^2.0.0", + "is-set": "^2.0.0", + "is-string": "^1.0.4", + "isarray": "^2.0.5" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + } + } + }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -3667,9 +6024,9 @@ } }, "eslint": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.5.1.tgz", - "integrity": "sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -3679,19 +6036,19 @@ "debug": "^4.0.1", "doctrine": "^3.0.0", "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.2", + "eslint-utils": "^1.4.3", "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.1", + "espree": "^6.1.2", "esquery": "^1.0.1", "esutils": "^2.0.2", "file-entry-cache": "^5.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", - "globals": "^11.7.0", + "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^6.4.1", + "inquirer": "^7.0.0", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", @@ -3700,7 +6057,7 @@ "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "optionator": "^0.8.2", + "optionator": "^0.8.3", "progress": "^2.0.0", "regexpp": "^2.0.1", "semver": "^6.1.2", @@ -3711,6 +6068,30 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { + "ansi-escapes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -3720,6 +6101,15 @@ "ms": "^2.1.1" } }, + "figures": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", + "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, "glob-parent": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", @@ -3729,6 +6119,15 @@ "is-glob": "^4.0.1" } }, + "globals": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", + "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, "import-fresh": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", @@ -3739,11 +6138,97 @@ "resolve-from": "^4.0.0" } }, + "inquirer": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.3.tgz", + "integrity": "sha512-+OiOVeVydu4hnCGLCSX+wedovR/Yzskv9BFqUNNKq9uU2qg7LCcCo3R86S2E7WLo0y/x2pnEZfZe1CoYnORUAw==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.2", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.2.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } } } }, @@ -3752,6 +6237,12 @@ "from": "github:mattermost/eslint-config-mattermost", "dev": true }, + "eslint-plugin-eslint-plugin": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-2.2.0.tgz", + "integrity": "sha512-X5+NT9a2GuwWyb3sHJdEEe6aD/30Fhi3/9XCmYHe/OSnWKUhmKOxFTfFM1AXZfJXjAoX7811bnoLI3fZr5AX5Q==", + "dev": true + }, "eslint-plugin-header": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/eslint-plugin-header/-/eslint-plugin-header-3.0.0.tgz", @@ -3759,29 +6250,76 @@ "dev": true }, "eslint-plugin-jest": { - "version": "22.19.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.19.0.tgz", - "integrity": "sha512-4zUc3rh36ds0SXdl2LywT4YWA3zRe8sfLhz8bPp8qQPIKvynTTkNGwmSCMpl5d9QiZE2JxSinGF+WD8yU+O0Lg==", + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-23.6.0.tgz", + "integrity": "sha512-GH8AhcFXspOLqak7fqnddLXEJsrFyvgO8Bm60SexvKSn1+3rWYESnCiWUOCUcBTprNSDSE4CtAZdM4EyV6gPPw==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "^1.13.0" + "@typescript-eslint/experimental-utils": "^2.5.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } } }, "eslint-plugin-react": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz", - "integrity": "sha512-GacBAATewhhptbK3/vTP09CbFrgUJmBSaaRcWdbQLFvUZy9yVcQxigBNHGPU/KE2AyHpzj3AWXpxoMTsIDiHug==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.17.0.tgz", + "integrity": "sha512-ODB7yg6lxhBVMeiH1c7E95FLD4E/TwmFjltiU+ethv7KPdCwgiFuOZg9zNRHyufStTDLl/dEFqI2Q1VPmCd78A==", "dev": true, "requires": { "array-includes": "^3.0.3", "doctrine": "^2.1.0", + "eslint-plugin-eslint-plugin": "^2.1.0", "has": "^1.0.3", - "jsx-ast-utils": "^2.2.1", + "jsx-ast-utils": "^2.2.3", "object.entries": "^1.1.0", - "object.fromentries": "^2.0.0", + "object.fromentries": "^2.0.1", "object.values": "^1.1.0", "prop-types": "^15.7.2", - "resolve": "^1.12.0" + "resolve": "^1.13.1" }, "dependencies": { "doctrine": { @@ -4138,9 +6676,9 @@ }, "dependencies": { "core-js": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", - "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==" + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" } } }, @@ -4166,31 +6704,10 @@ "through2": "^2.0.0" }, "dependencies": { - "@babel/core": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.4.tgz", - "integrity": "sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==", - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.4", - "@babel/helpers": "^7.7.4", - "@babel/parser": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, "core-js": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", - "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==" + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" }, "cross-spawn": { "version": "5.1.0", @@ -4202,14 +6719,6 @@ "which": "^1.2.9" } }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -4426,23 +6935,54 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, "foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", "dev": true, "requires": { - "cross-spawn": "^4", - "signal-exit": "^3.0.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" }, "dependencies": { "cross-spawn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" } } } @@ -4454,12 +6994,12 @@ "dev": true }, "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", + "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", "requires": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", + "combined-stream": "^1.0.8", "mime-types": "^2.1.12" } }, @@ -4476,6 +7016,12 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "fromentries": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.2.0.tgz", + "integrity": "sha512-33X7H/wdfO99GdRLLgkjUrD4geAFdq/Uv0kl3HD4da6HDixd2GUg8Mw7dahLCV9r/EARkmtYBB6Tch4EEokFTQ==", + "dev": true + }, "fs-copy-file-sync": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/fs-copy-file-sync/-/fs-copy-file-sync-1.1.1.tgz", @@ -4989,15 +7535,70 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "function.prototype.name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.1.tgz", - "integrity": "sha512-e1NzkiJuw6xqVH7YSdiW/qDHebcmMhPNe6w+4ZYYEg0VA+LaLzx37RimbPLuonHhYGFGPx1ME2nSi74JiaCr/Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.2.tgz", + "integrity": "sha512-C8A+LlHBJjB2AdcRPorc5JvJ5VUoWlXdEHLOJdCI7kjHEtGTpHQUiqMvCIKUwIsGwZX2jZJy761AXsn356bJQg==", "dev": true, "requires": { "define-properties": "^1.1.3", - "function-bind": "^1.1.1", - "functions-have-names": "^1.1.1", - "is-callable": "^1.1.4" + "es-abstract": "^1.17.0-next.1", + "functions-have-names": "^1.2.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + } } }, "functional-red-black-tree": { @@ -5013,9 +7614,14 @@ "dev": true }, "fuse.js": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.4.5.tgz", - "integrity": "sha512-s9PGTaQIkT69HaeoTVjwGsLfb8V8ScJLx5XGFcKHg0MqLUH/UZ4EKOtqtXX9k7AFqCGxD1aJmYb8Q5VYDibVRQ==" + "version": "3.4.6", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-3.4.6.tgz", + "integrity": "sha512-H6aJY4UpLFwxj1+5nAvufom5b2BT2v45P1MkPvdGIK8fWjQx/7o6tTT1+ALV0yawQvbmvCF0ufl2et8eJ7v7Cg==" + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==" }, "get-caller-file": { "version": "1.0.3", @@ -5285,12 +7891,21 @@ } }, "hasha": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", - "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.1.0.tgz", + "integrity": "sha512-OFPDWmzPN1l7atOV1TgBVmNtBxaIysToK6Ve9DK+vT6pYuklw/nPNT+HJbZi0KDcI6vWB+9tgvZ5YD7fA3CXcA==", "dev": true, "requires": { - "is-stream": "^1.0.1" + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "dependencies": { + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + } } }, "hermes-engine": { @@ -5343,6 +7958,12 @@ "whatwg-encoding": "^1.0.1" } }, + "html-escaper": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz", + "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==", + "dev": true + }, "htmlparser2": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", @@ -5461,6 +8082,12 @@ "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=" }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -5579,6 +8206,11 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, + "is-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.0.tgz", + "integrity": "sha512-t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g==" + }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", @@ -5592,8 +8224,7 @@ "is-boolean-object": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz", - "integrity": "sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M=", - "dev": true + "integrity": "sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M=" }, "is-buffer": { "version": "1.1.6", @@ -5603,8 +8234,7 @@ "is-callable": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" }, "is-ci": { "version": "2.0.0", @@ -5706,6 +8336,11 @@ "is-path-inside": "^1.0.0" } }, + "is-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz", + "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==" + }, "is-npm": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", @@ -5733,8 +8368,7 @@ "is-number-object": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.3.tgz", - "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=", - "dev": true + "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=" }, "is-obj": { "version": "1.0.1", @@ -5751,12 +8385,6 @@ "path-is-inside": "^1.0.1" } }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -5790,6 +8418,11 @@ "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", "dev": true }, + "is-set": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz", + "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==" + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -5798,8 +8431,7 @@ "is-string": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz", - "integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=", - "dev": true + "integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=" }, "is-subset": { "version": "0.1.1", @@ -5811,7 +8443,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, "requires": { "has-symbols": "^1.0.1" } @@ -5821,6 +8452,16 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" + }, + "is-weakset": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz", + "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==" + }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -5879,12 +8520,12 @@ "dev": true }, "istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", "dev": true, "requires": { - "append-transform": "^1.0.0" + "append-transform": "^2.0.0" } }, "istanbul-lib-instrument": { @@ -5900,6 +8541,102 @@ "@babel/types": "^7.4.0", "istanbul-lib-coverage": "^2.0.5", "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-processinfo": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz", + "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==", + "dev": true, + "requires": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.0", + "istanbul-lib-coverage": "^3.0.0-alpha.1", + "make-dir": "^3.0.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^3.3.3" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "istanbul-lib-report": { @@ -5964,9 +8701,9 @@ } }, "jail-monkey": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/jail-monkey/-/jail-monkey-2.3.0.tgz", - "integrity": "sha512-WFSa0Fn9/Z+76ybFy/0hdM38cAUqFyPKfjGgLi1bpaz/uS8AzfZWZxmWYbkqIzOqHhshlfimh2MxmpixbRWBnw==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jail-monkey/-/jail-monkey-2.3.1.tgz", + "integrity": "sha512-cj0XDR3TZAoCy9prQcxvRBeKHyknnPUQKGip6PF9xSdy8IcFygsqfmmi27N6SKDEswMPSxSw5ImGifmBJXqDQQ==" }, "jest": { "version": "24.9.0", @@ -6187,14 +8924,14 @@ } }, "jest-enzyme": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/jest-enzyme/-/jest-enzyme-7.1.1.tgz", - "integrity": "sha512-ujMi/2OF16rsjsS2ozdZCukfRZGC/Sb3MoJjINXITTvZM6lTL14lDliJr1kYIlUZVrphw0fmZkTNVTP7DnJ+Xw==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/jest-enzyme/-/jest-enzyme-7.1.2.tgz", + "integrity": "sha512-j+jkph3t5hGBS12eOldpfsnERYRCHi4c/0KWPMnqRPoJJXvCpLIc5th1MHl0xDznQDXVU0AHUXg3rqMrf8vGpA==", "dev": true, "requires": { - "enzyme-matchers": "^7.1.1", + "enzyme-matchers": "^7.1.2", "enzyme-to-json": "^3.3.0", - "jest-environment-enzyme": "^7.1.1" + "jest-environment-enzyme": "^7.1.2" } }, "jest-get-type": { @@ -6489,6 +9226,14 @@ "natural-compare": "^1.4.0", "pretty-format": "^24.9.0", "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "jest-util": { @@ -6582,16 +9327,9 @@ } }, "jetifier": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-1.6.4.tgz", - "integrity": "sha512-+f/4OLeqY8RAmXnonI1ffeY1DR8kMNJPhv5WMFehchf7U71cjMQVKkOz1n6asz6kfVoAqKNWJz1A/18i18AcXA==", - "dev": true - }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "dev": true + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/jetifier/-/jetifier-1.6.5.tgz", + "integrity": "sha512-T7yzBSu9PR+DqjYt+I0KVO1XTb1QhAfHnXV5Nd3xpbXM6Xg4e3vP60Q4qkNU8Fh6PHC2PivPUNN3rY7G2MxcDQ==" }, "js-tokens": { "version": "4.0.0", @@ -6885,6 +9623,15 @@ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" }, + "levenary": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.0.tgz", + "integrity": "sha512-VHcwhO0UTpUW7rLPN2/OiWJdgA1e9BqEDALhrgCe/F+uUJnep6CoUsTzMeP8Rh0NGr9uKquXxqe7lwLZo509nQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" + } + }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -7247,11 +9994,26 @@ "shallow-equals": "1.0.0" }, "dependencies": { + "@react-native-community/netinfo": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@react-native-community/netinfo/-/netinfo-4.7.0.tgz", + "integrity": "sha512-a/sDB+AsLEUNmhAUlAaTYeXKyQdFGBUfatqKkX5jluBo2CB3OAuTHfm7rSjcaLB9EmG5iSq3fOTpync2E7EYTA==" + }, "core-js": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.1.4.tgz", "integrity": "sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ==" }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, "moment-timezone": { "version": "0.5.26", "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.26.tgz", @@ -7260,6 +10022,15 @@ "moment": ">= 2.9.0" } }, + "redux": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.4.tgz", + "integrity": "sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q==", + "requires": { + "loose-envify": "^1.4.0", + "symbol-observable": "^1.2.0" + } + }, "redux-offline": { "version": "git+https://github.com/enahum/redux-offline.git#885024de96b6ec73650c340c8928066585c413df", "from": "git+https://github.com/enahum/redux-offline.git#885024de96b6ec73650c340c8928066585c413df", @@ -7280,6 +10051,11 @@ } } }, + "mdn-data": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", + "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==" + }, "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", @@ -7312,23 +10088,6 @@ "readable-stream": "^2.0.1" } }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, "merge-stream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", @@ -7338,9 +10097,9 @@ } }, "metro": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.56.3.tgz", - "integrity": "sha512-mxHpvBGWanZ46wAEZVLinNO5IYMcFbTdMZIRhC7r+rvoSK6r9iPj95AujBfzLXMAl36RI2O3D7yp5hOYif/gEQ==", + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.56.4.tgz", + "integrity": "sha512-Kt3OQJQtQdts0JrKnyGdLpKHDjqYBgIfzvYrvfhmFCkKuZ8aqRlVnvpfjQ4/OBm0Fmm9NyyxbNRD9VIbj7WjnA==", "requires": { "@babel/core": "^7.0.0", "@babel/generator": "^7.0.0", @@ -7369,17 +10128,17 @@ "json-stable-stringify": "^1.0.1", "lodash.throttle": "^4.1.1", "merge-stream": "^1.0.1", - "metro-babel-register": "0.56.3", - "metro-babel-transformer": "0.56.3", - "metro-cache": "0.56.3", - "metro-config": "0.56.3", - "metro-core": "0.56.3", - "metro-inspector-proxy": "0.56.3", - "metro-minify-uglify": "0.56.3", - "metro-react-native-babel-preset": "0.56.3", - "metro-resolver": "0.56.3", - "metro-source-map": "0.56.3", - "metro-symbolicate": "0.56.3", + "metro-babel-register": "^0.56.4", + "metro-babel-transformer": "^0.56.4", + "metro-cache": "^0.56.4", + "metro-config": "^0.56.4", + "metro-core": "^0.56.4", + "metro-inspector-proxy": "^0.56.4", + "metro-minify-uglify": "^0.56.4", + "metro-react-native-babel-preset": "^0.56.4", + "metro-resolver": "^0.56.4", + "metro-source-map": "^0.56.4", + "metro-symbolicate": "^0.56.4", "mime-types": "2.1.11", "mkdirp": "^0.5.1", "node-fetch": "^2.2.0", @@ -7397,48 +10156,6 @@ "yargs": "^9.0.0" }, "dependencies": { - "@babel/core": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.4.tgz", - "integrity": "sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==", - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.4", - "@babel/helpers": "^7.7.4", - "@babel/parser": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.7.4.tgz", - "integrity": "sha512-O8kSkS5fP74Ad/8pfsCMGa8sBRdLxYoSReaARRNSz3FbFQj3z/QUvoUmJ28gn9BO93YfnXc3j+Xyaqe8cKDNBQ==", - "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "resolve": "^1.8.1", - "semver": "^5.5.1" - } - }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -7487,13 +10204,6 @@ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } } }, "execa": { @@ -7562,48 +10272,6 @@ "mimic-fn": "^1.0.0" } }, - "metro-react-native-babel-preset": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.3.tgz", - "integrity": "sha512-tGPzX2ZwI8vQ8SiNVBPUIgKqmaRNVB6rtJtHCBQZAYRiMbxh0NHCUoFfKBej6U5qVgxiYYHyN8oB23evG4/Oow==", - "requires": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "react-refresh": "^0.4.0" - } - }, "mime-db": { "version": "1.23.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", @@ -7617,6 +10285,11 @@ "mime-db": "~1.23.0" } }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", @@ -7627,11 +10300,6 @@ "mem": "^1.1.0" } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, "serialize-error": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", @@ -7690,9 +10358,9 @@ } }, "metro-babel-register": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.56.3.tgz", - "integrity": "sha512-ILCRtNFdW6vzqmLAG2MYWdTSE1vCAZqDKNggiNhlfViuoxmWAIL0vOqixl1CHZF5z4t55+fk46A0jSN7UgPyVw==", + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.56.4.tgz", + "integrity": "sha512-Phm6hMluOWYqfykftjJ1jsTpWvbgb49AC/1taxEctxUdRCZlFgZwBleJZAhQYxJD5J+ikFkEbHDzePEXb29KVA==", "requires": { "@babel/core": "^7.0.0", "@babel/plugin-proposal-class-properties": "^7.0.0", @@ -7708,143 +10376,61 @@ "escape-string-regexp": "^1.0.5" }, "dependencies": { - "@babel/core": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.4.tgz", - "integrity": "sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==", - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.4", - "@babel/helpers": "^7.7.4", - "@babel/parser": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "@babel/register": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.7.4.tgz", - "integrity": "sha512-/fmONZqL6ZMl9KJUYajetCrID6m0xmL4odX7v+Xvoxcv0DdbP/oO0TWIeLUCHqczQ6L6njDMqmqHFy2cp3FFsA==", - "requires": { - "find-cache-dir": "^2.0.0", - "lodash": "^4.17.13", - "make-dir": "^2.1.0", - "pirates": "^4.0.0", - "source-map-support": "^0.5.16" - } - }, "core-js": { - "version": "2.6.10", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", - "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==" - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" } } }, "metro-babel-transformer": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.56.3.tgz", - "integrity": "sha512-N5/ftb3rBkt6uKlgYAv+lwtzYc4dK0tBpfZ8pjec3kcypGuGTuf4LTHEh65EuzySreLngYI0bQzoFSn3G3DYsw==", + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.56.4.tgz", + "integrity": "sha512-IOi4ILgZvaX7GCGHBJp79paNVOq5QxhhbyqAdEJgDP8bHfl/OVHoVKSypfrsMSKSiBrqxhIjyc4XjkXsQtkx5g==", "requires": { "@babel/core": "^7.0.0", - "metro-source-map": "0.56.3" - }, - "dependencies": { - "@babel/core": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.4.tgz", - "integrity": "sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==", - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.4", - "@babel/helpers": "^7.7.4", - "@babel/parser": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } + "metro-source-map": "^0.56.4" } }, "metro-cache": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.56.3.tgz", - "integrity": "sha512-SsryVe/TVkt2IkEGnYhB3gQlg9iMlu8WJikQHcCEjMfPEnSIzmeymrX73fwQNPnTnN7F3E0HVjH6Wvq6fh0mcA==", + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.56.4.tgz", + "integrity": "sha512-d1hiUSKwtRsuMxUhHVJ3tjK2BbpUlJGvTyMWohK8Wxx+0GbnWRWWFcI4vlCzlZfoK0VtZK2MJEl5t7Du1mIniQ==", "requires": { "jest-serializer": "^24.4.0", - "metro-core": "0.56.3", + "metro-core": "^0.56.4", "mkdirp": "^0.5.1", "rimraf": "^2.5.4" } }, "metro-config": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.56.3.tgz", - "integrity": "sha512-C3ZLA5y5gW5auDSQN5dsCTduJg7LXEiX/tLAADOkgXWVImr5P74x9Wt8y1MMWrKx6p+4p5RMDyEwWDMXJt/DwA==", + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.56.4.tgz", + "integrity": "sha512-O85QDHwWdMn/8ERe13y4a6vbZL0AHyO8atTvL+9BCulLEO+FQBi1iJjr3+ViLa8cf0m5dRftDsa7P47m5euk4A==", "requires": { "cosmiconfig": "^5.0.5", "jest-validate": "^24.7.0", - "metro": "0.56.3", - "metro-cache": "0.56.3", - "metro-core": "0.56.3", + "metro": "^0.56.4", + "metro-cache": "^0.56.4", + "metro-core": "^0.56.4", "pretty-format": "^24.7.0" } }, "metro-core": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.56.3.tgz", - "integrity": "sha512-OAaHP3mBdlACMZRwDJzZzYC0o2S3qfb4BBK75L8H4Ds+y3QUSrjsDEpHACcpaMTOds8rBvjzn+jjB5tqNoHfBA==", + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.56.4.tgz", + "integrity": "sha512-hMzkBdgPt5Zm9nr/1KtIT+A6H7TNiLVCEGG5OiAXj8gTRsA2yy7wAdQpwy0xbE+zi88t/pLOzXpd3ClG/YxyWg==", "requires": { "jest-haste-map": "^24.7.1", "lodash.throttle": "^4.1.1", - "metro-resolver": "0.56.3", + "metro-resolver": "^0.56.4", "wordwrap": "^1.0.0" } }, "metro-inspector-proxy": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.56.3.tgz", - "integrity": "sha512-7WtHinw+VJcunQ3q8El1MqqzYSRvXEjW5QE13VYwcLtnay3pvcqACeiQmGbWI0IqxB1+QH8tf3nkA7z7pQ7Vpw==", + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.56.4.tgz", + "integrity": "sha512-E1S3MO25mWKmcLn1UQuCDiS0hf9P2Fwq8sEAX5lBLoZbehepNH+4xJ3xXSY51JX4dozBrE8GGoKL4ll3II40LA==", "requires": { "connect": "^3.6.5", "debug": "^2.2.0", @@ -8032,18 +10618,17 @@ } }, "metro-minify-uglify": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.56.3.tgz", - "integrity": "sha512-b9ljyeUpkJWVlFy8M/i4aNbvEBI0zN9vJh1jfU7yx+k9dX7FulLnpGmAQxxQdEszcM//sJrsKNS1oLYBxr0NMQ==", + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.56.4.tgz", + "integrity": "sha512-BHgj7+BKEK2pHvWHUR730bIrsZwl8DPtr49x9L0j2grPZ5/UROWXzEr8VZgIss7fl64t845uu1HXNNyuSj2EhA==", "requires": { "uglify-es": "^3.1.9" } }, "metro-react-native-babel-preset": { - "version": "0.56.0", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.0.tgz", - "integrity": "sha512-MAo1fm0dNn6MVZmylaz6k2HC1MINHLTLfE7O3a9Xz3fAtbGbApisp06rBUfK5uUqIJDmAaKgbiT34lHJSIiE6Q==", - "dev": true, + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.4.tgz", + "integrity": "sha512-CzbBDM9Rh6w8s1fq+ZqihAh7DDqUAcfo9pPww25+N/eJ7UK436Q7JdfxwdIPpBwLFn6o6MyYn+uwL9OEWBJarA==", "requires": { "@babel/plugin-proposal-class-properties": "^7.0.0", "@babel/plugin-proposal-export-default-from": "^7.0.0", @@ -8083,135 +10668,46 @@ } }, "metro-react-native-babel-transformer": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.56.3.tgz", - "integrity": "sha512-T87m4jDu0gIvJo8kWEvkodWFgQ8XBzJUESs1hUUTBSMIqTa31MdWfA1gs+MipadG7OsEJpcb9m83mGr8K70MWw==", + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.56.4.tgz", + "integrity": "sha512-ng74eutuy1nyGI9+TDzzVAVfEmNPDlapV4msTQMKPi4EFqo/fBn7Ct33ME9l5E51pQBBnxt/UwcpTvd13b29kQ==", "requires": { "@babel/core": "^7.0.0", "babel-preset-fbjs": "^3.1.2", - "metro-babel-transformer": "0.56.3", - "metro-react-native-babel-preset": "0.56.3", - "metro-source-map": "0.56.3" - }, - "dependencies": { - "@babel/core": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.4.tgz", - "integrity": "sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==", - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.4", - "@babel/helpers": "^7.7.4", - "@babel/parser": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.7.4.tgz", - "integrity": "sha512-O8kSkS5fP74Ad/8pfsCMGa8sBRdLxYoSReaARRNSz3FbFQj3z/QUvoUmJ28gn9BO93YfnXc3j+Xyaqe8cKDNBQ==", - "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "resolve": "^1.8.1", - "semver": "^5.5.1" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "metro-react-native-babel-preset": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.3.tgz", - "integrity": "sha512-tGPzX2ZwI8vQ8SiNVBPUIgKqmaRNVB6rtJtHCBQZAYRiMbxh0NHCUoFfKBej6U5qVgxiYYHyN8oB23evG4/Oow==", - "requires": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-exponentiation-operator": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.0.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "react-refresh": "^0.4.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } + "metro-babel-transformer": "^0.56.4", + "metro-react-native-babel-preset": "^0.56.4", + "metro-source-map": "^0.56.4" } }, "metro-resolver": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.56.3.tgz", - "integrity": "sha512-VvMl4xUp0fy76WiP3YDtzMmrn6tN/jwxOBqlTy9MjN6R9sUXrGyO5thwn/uKQqp5vwBTuJev7nZL7OKzwludKA==", + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.56.4.tgz", + "integrity": "sha512-Ug4ulVfpkKZ1Wu7mdYj9XLGuOqZTuWCqEhyx3siKTc/2eBwKZQXmiNo5d/IxWNvmwL/87Abeb724I6CMzMfjiQ==", "requires": { "absolute-path": "^0.0.0" } }, "metro-source-map": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.56.3.tgz", - "integrity": "sha512-CheqWbJZSM0zjcNBqELUiocwH3XArrOk6alhVuzJ2gV/WTMBQFwP0TtQssSMwjnouMHNEzY8RxErXKXBk/zJmQ==", + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.56.4.tgz", + "integrity": "sha512-f1P9/rpFmG3Z0Jatiw2zvLItx1TwR7mXTSDj4qLDCWeVMB3kEXAr3R0ucumTW8c6HfpJljeRBWzYFXF33fd81g==", "requires": { "@babel/traverse": "^7.0.0", "@babel/types": "^7.0.0", "invariant": "^2.2.4", - "metro-symbolicate": "0.56.3", - "ob1": "0.56.3", + "metro-symbolicate": "^0.56.4", + "ob1": "^0.56.4", "source-map": "^0.5.6", "vlq": "^1.0.0" } }, "metro-symbolicate": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.56.3.tgz", - "integrity": "sha512-fSQtjjy4eiJDThSl9eloxMElhrs+5PQB+DKKzmTFXT8e2GDga+pa1xTBFRUACMO8BXGuWmxR7SnGDw0wo5Ngrw==", + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.56.4.tgz", + "integrity": "sha512-8mCNNn6zV5FFKCIcRgI7736Xl+owgvYuy8qanPxZN36f7utiWRYeB+PirEBPcglBk4qQvoy2lT6oPULNXZQbbQ==", "requires": { "invariant": "^2.2.4", - "metro-source-map": "0.56.3", + "metro-source-map": "^0.56.4", "source-map": "^0.5.6", "through2": "^2.0.1", "vlq": "^1.0.0" @@ -8243,9 +10739,9 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.42.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", - "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==" + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" }, "mime-types": { "version": "2.1.25", @@ -8253,6 +10749,13 @@ "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", "requires": { "mime-db": "1.42.0" + }, + "dependencies": { + "mime-db": { + "version": "1.42.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", + "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==" + } } }, "mimic-fn": { @@ -8462,12 +10965,6 @@ "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", "dev": true }, - "nested-error-stacks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", - "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==", - "dev": true - }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -8515,13 +11012,30 @@ } } }, + "node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "dev": true, + "requires": { + "process-on-spawn": "^1.0.0" + } + }, "node-releases": { - "version": "1.1.41", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.41.tgz", - "integrity": "sha512-+IctMa7wIs8Cfsa8iYzeaLTFwv5Y4r5jZud+4AnfymzeEXKBCavFX0KBgzVaPVqf0ywa6PrO8/b+bPqdwjGBSg==", + "version": "1.1.45", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.45.tgz", + "integrity": "sha512-cXvGSfhITKI8qsV116u2FTzH5EWZJfgG7d4cpqwF8I8+1tWpD6AsvvGRKq2onR0DNj1jfqsjkXZsm14JMS7Cyg==", "dev": true, "requires": { "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "normalize-package-data": { @@ -8562,7 +11076,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, "requires": { "boolbase": "~1.0.0" } @@ -8584,61 +11097,232 @@ "dev": true }, "nyc": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz", - "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.0.0.tgz", + "integrity": "sha512-qcLBlNCKMDVuKb7d1fpxjPR8sHeMVX0CHarXAVzrVWoFrigCkYR8xcrjfXSPi5HXM7EU78L6ywO7w1c5rZNCNg==", "dev": true, "requires": { - "archy": "^1.0.0", - "caching-transform": "^3.0.2", - "convert-source-map": "^1.6.0", - "cp-file": "^6.2.0", - "find-cache-dir": "^2.1.0", - "find-up": "^3.0.0", - "foreground-child": "^1.5.6", - "glob": "^7.1.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.4", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.0", "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "merge-source-map": "^1.1.0", - "resolve-from": "^4.0.0", - "rimraf": "^2.6.3", + "make-dir": "^3.0.0", + "node-preload": "^0.2.0", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", "signal-exit": "^3.0.2", - "spawn-wrap": "^1.4.2", - "test-exclude": "^5.2.3", - "uuid": "^3.3.2", - "yargs": "^13.2.2", - "yargs-parser": "^13.0.0" + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "uuid": "^3.3.3", + "yargs": "^15.0.2" }, "dependencies": { - "cliui": { + "@babel/parser": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz", + "integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==", + "dev": true + }, + "ansi-regex": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "find-cache-dir": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.2.0.tgz", + "integrity": "sha512-1JKclkYYsf1q9WIJKLZa9S9muC+08RIjzAlLrK4QcYLJMS6mk9yombQ9qf+zJ7H9LS800k0s44L4sDq9VYzqyg==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.0", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.0.tgz", + "integrity": "sha512-Nm4wVHdo7ZXSG30KjZ2Wl5SU/Bw7bDx1PdaiIFzEStdjs0H12mOTncn1GVYuqQSaZxpg87VGBRsVRPGD2cD1AQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@babel/parser": "^7.7.5", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-2osTcC8zcOSUkImzN2EWQta3Vdi4WjjKw99P2yWx5mLnigAM0Rd5uYFn1cf2i/Ois45GkNjaoTqc5CxgMSX80A==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -8646,55 +11330,106 @@ "dev": true }, "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" } }, "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.1.0.tgz", + "integrity": "sha512-T39FNN1b6hCW4SOIk1XyTOWxtXdcen0t+XYrysQmChzSipvhBO8Bj0nK1ozAasdk24dNWuMZvr4k24nz+8HHLg==", "dev": true, "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^3.0.0", + "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" + "yargs-parser": "^16.1.0" } }, "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz", + "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -8710,9 +11445,9 @@ "dev": true }, "ob1": { - "version": "0.56.3", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.56.3.tgz", - "integrity": "sha512-3JL2ZyWOHDGTEAe4kcG+TxhGPKCCikgyoUIjE82JnXnmpR1LXItM9K3WhGsi4+O7oYngMW6FjpHHoc5xJTMkTQ==" + "version": "0.56.4", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.56.4.tgz", + "integrity": "sha512-URgFof9z2wotiYFsqlydXtQfGV81gvBI2ODy64xfd3vPo+AYom5PVDX4t4zn23t/O+S2IxqApSQM8uJAybmz7w==" }, "object-assign": { "version": "4.1.1", @@ -8750,13 +11485,12 @@ "object-inspect": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" }, "object-is": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", - "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", + "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==" }, "object-keys": { "version": "1.1.1", @@ -8795,15 +11529,71 @@ } }, "object.fromentries": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.1.tgz", - "integrity": "sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92/dhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", + "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", "dev": true, "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.15.0", + "es-abstract": "^1.17.0-next.1", "function-bind": "^1.1.1", "has": "^1.0.3" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + } } }, "object.getownpropertydescriptors": { @@ -8825,15 +11615,71 @@ } }, "object.values": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", - "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", "dev": true, "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", + "es-abstract": "^1.17.0-next.1", "function-bind": "^1.1.1", "has": "^1.0.3" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + } } }, "on-finished": { @@ -8931,12 +11777,6 @@ "wcwidth": "^1.0.1" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, "os-locale": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", @@ -8952,17 +11792,6 @@ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, - "output-file-sync": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", - "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "is-plain-obj": "^1.1.0", - "mkdirp": "^0.5.1" - } - }, "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", @@ -9003,6 +11832,15 @@ "p-limit": "^2.0.0" } }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, "p-reduce": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", @@ -9015,13 +11853,13 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "package-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz", - "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", "dev": true, "requires": { "graceful-fs": "^4.1.15", - "hasha": "^3.0.0", + "hasha": "^5.0.0", "lodash.flattendeep": "^4.4.0", "release-zalgo": "^1.0.0" } @@ -9206,6 +12044,12 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, + "picomatch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz", + "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==", + "dev": true + }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -9228,57 +12072,12 @@ } }, "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", "dev": true, "requires": { - "find-up": "^2.1.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - } + "find-up": "^3.0.0" } }, "plist": { @@ -9383,6 +12182,15 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "process-on-spawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "dev": true, + "requires": { + "fromentries": "^1.2.0" + } + }, "progress": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", @@ -9569,9 +12377,9 @@ } }, "react": { - "version": "16.10.2", - "resolved": "https://registry.npmjs.org/react/-/react-16.10.2.tgz", - "integrity": "sha512-MFVIq0DpIhrHFyqLU0S3+4dIcBhhOvBE8bJ/5kHPVOVaGdo0KuiQzpcjCPsf585WvhypqtrMILyoE2th6dT+Lw==", + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.12.0.tgz", + "integrity": "sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -9605,21 +12413,21 @@ } }, "react-dom": { - "version": "16.10.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.10.2.tgz", - "integrity": "sha512-kWGDcH3ItJK4+6Pl9DZB16BXYAZyrYQItU4OMy0jAkv5aNqc+mAKb4TpFtAteI6TJZu+9ZlNhaeNQSVQDHJzkw==", + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.12.0.tgz", + "integrity": "sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw==", "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.16.2" + "scheduler": "^0.18.0" }, "dependencies": { "scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-BqYVWqwz6s1wZMhjFvLfVR5WXP7ZY32M/wYPo04CcuPM7XZEbV2TBNW7Z0UkguPTl0dWMA59VbNXxK6q+pHItg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -9660,14 +12468,14 @@ } }, "react-native": { - "version": "0.61.2", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.61.2.tgz", - "integrity": "sha512-hhd8bYbkkZYHoOndxUwbjJ6Yd9HFn5PvwqqS41uJ1xADdw44rx/svuwmJNA1RKF7jH74uR2jpBViWYGd36zGyg==", + "version": "0.61.5", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.61.5.tgz", + "integrity": "sha512-MXqE3NoGO0T3dUKIKkIppijBhRRMpfN6ANbhMXHDuyfA+fSilRWgCwYgR/YNCC7ntECoJYikKaNTUBB0DeQy6Q==", "requires": { "@babel/runtime": "^7.0.0", - "@react-native-community/cli": "^3.0.0-alpha.1", - "@react-native-community/cli-platform-android": "^3.0.0-alpha.1", - "@react-native-community/cli-platform-ios": "^3.0.0-alpha.1", + "@react-native-community/cli": "^3.0.0", + "@react-native-community/cli-platform-android": "^3.0.0", + "@react-native-community/cli-platform-ios": "^3.0.0", "abort-controller": "^3.0.0", "art": "^0.10.0", "base64-js": "^1.1.2", @@ -9831,6 +12639,11 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, "ws": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", @@ -9874,9 +12687,9 @@ } }, "react-native-circular-progress": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-native-circular-progress/-/react-native-circular-progress-1.3.0.tgz", - "integrity": "sha512-g9T6S9320PeDW7T4l+7fV9Bdt9oy2OdWWm2UXceP6VGF1bE19I0++1Di01WQyc9nPpo2ZQ4pO51zkbg1sbY77Q==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/react-native-circular-progress/-/react-native-circular-progress-1.3.4.tgz", + "integrity": "sha512-gch73x1qcx7vQewXdY7GdDgvgFSXZHVJ7hp4lXpOWT4Vo7ZnSAeeXYW11sMg2VkFpfA2gu6F+JRQLefDpMzcWQ==", "requires": { "prop-types": "^15.7.2" } @@ -9912,9 +12725,9 @@ "integrity": "sha512-MfuzJbC0RjYobR2gFCdqe1I7jvNOCfDkjQ7VGOHXniqjohhULMkcWNBE9Umovi9Dx93lJ6t5utcE2wf/09zvlg==" }, "react-native-gesture-handler": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.4.1.tgz", - "integrity": "sha512-Ffcs+SbEbkGaal0CClYL+v7A9y4OA5G5lW01qrzjxaqASp5C8BfnWSKuqYKE00s6bLwE5L4xnlHkG0yIxAtbrQ==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-1.5.3.tgz", + "integrity": "sha512-y2/jw0uHAQtEPR02PHAah6tdMymrVtZFoHqjlEWdhK807w2sgU5CySYINK/nOTczd+zB4GMX+9euA3VfbGJ5aA==", "requires": { "hammerjs": "^2.0.8", "hoist-non-react-statics": "^2.3.1", @@ -9960,9 +12773,9 @@ "from": "github:mattermost/react-native-keyboard-tracking-view#169676811a32f82cb674a52d7857a14043f7b8f7" }, "react-native-keychain": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/react-native-keychain/-/react-native-keychain-4.0.1.tgz", - "integrity": "sha512-AqQp4Hib9y5DP5es5umEAhxKG7L0bA8cHNFhvlqs6oUcbUoKtXmhLDo3wzvnCF+bm8DXpGhvkU6P0LkfO0AgPQ==" + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/react-native-keychain/-/react-native-keychain-4.0.5.tgz", + "integrity": "sha512-TbiO8AO055EPjaxIuKxrCEOB4r81uQCVDFbtcs+e4pEOHxf6z3JgDC0UU0poJElKfCh37b+TFRxQhg6DbsYJBA==" }, "react-native-linear-gradient": { "version": "2.5.6", @@ -10027,9 +12840,9 @@ "integrity": "sha512-a1RlcvtvIKL5L2NNPp9u3IQQjV877/tNkCvJGC71F/2gnbykxAQAPBOzLFGDtkne3439F2AgYra+oNFiQjyd/g==" }, "react-native-permissions": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-1.1.1.tgz", - "integrity": "sha512-t0Ujm177bagjUOSzhpmkSz+LqFW04HnY9TeZFavDCmV521fQvFz82aD+POXqWsAdsJVOK3umJYBNNqCjC3g0hQ==" + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-2.0.9.tgz", + "integrity": "sha512-64F95x4Y1RqsQiPco+Qs+OAm3rKUTRfWDMpp1f0If9YfRXOxxVFJqf7mSlVvlSY4pZAhZgLVydOmA7aTTduPUw==" }, "react-native-safe-area": { "version": "0.5.1", @@ -10074,9 +12887,40 @@ "integrity": "sha512-wG9YRcAECGM6i87T1j8mZqGG6FXHTJ8ME6+agweocvXLQqeYOeDyqSiMn+dhtDDJAD7F3JXyMU+tepjcydtvsg==" }, "react-native-svg": { - "version": "9.11.1", - "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-9.11.1.tgz", - "integrity": "sha512-BmNCM81SSzhj1+N5rYiy7sxrkmybgiT8Cu8yVRB7zVoWze/i1lbCWJah+Gk0OHHwR35ZA31oVKf5jtO4G1n94Q==" + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-10.1.0.tgz", + "integrity": "sha512-mgo6CshQIQrDDBVUPqJK/iOsJEdlagk7N4q8fyo1sqCiSUP2efpt+AQ1IRXZtHXut210/7TliAamvM59NV0Bzg==", + "requires": { + "css-select": "^2.1.0", + "css-tree": "^1.0.0-alpha.39" + }, + "dependencies": { + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", + "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==" + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + } + } }, "react-native-vector-icons": { "version": "6.6.0", @@ -10205,9 +13049,9 @@ } }, "react-redux": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.1.1.tgz", - "integrity": "sha512-QsW0vcmVVdNQzEkrgzh2W3Ksvr8cqpAv5FhEk7tNEft+5pp7rXxAudTz3VOPawRkLIepItpkEIyLcN/VVXzjTg==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.1.3.tgz", + "integrity": "sha512-uI1wca+ECG9RoVkWQFF4jDMqmaw0/qnvaSvOoL/GA4dNxf6LoV8sUAcNDvE5NWKs4hFpn0t6wswNQnY3f7HT3w==", "requires": { "@babel/runtime": "^7.5.5", "hoist-non-react-statics": "^3.3.0", @@ -10233,21 +13077,21 @@ "integrity": "sha512-kv5QlFFSZWo7OlJFNYbxRtY66JImuP2LcrFgyJfQaf85gSP+byzG21UbDQEYjU7f//ny8rwiEkO6py2Y+fEgAQ==" }, "react-test-renderer": { - "version": "16.10.2", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.10.2.tgz", - "integrity": "sha512-k9Qzyev6cTIcIfrhgrFlYQAFxh5EEDO6ALNqYqmKsWVA7Q/rUMTay5nD3nthi6COmYsd4ghVYyi8U86aoeMqYQ==", + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.12.0.tgz", + "integrity": "sha512-Vj/teSqt2oayaWxkbhQ6gKis+t5JrknXfPVo+aIJ8QwYAqMPH77uptOdrlphyxl8eQI/rtkOYg86i/UWkpFu0w==", "dev": true, "requires": { "object-assign": "^4.1.1", "prop-types": "^15.6.2", "react-is": "^16.8.6", - "scheduler": "^0.16.2" + "scheduler": "^0.18.0" }, "dependencies": { "scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-BqYVWqwz6s1wZMhjFvLfVR5WXP7ZY32M/wYPo04CcuPM7XZEbV2TBNW7Z0UkguPTl0dWMA59VbNXxK6q+pHItg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -10364,9 +13208,9 @@ } }, "redux": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.4.tgz", - "integrity": "sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", + "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", "requires": { "loose-envify": "^1.4.0", "symbol-observable": "^1.2.0" @@ -10404,9 +13248,9 @@ } }, "redux-mock-store": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/redux-mock-store/-/redux-mock-store-1.5.3.tgz", - "integrity": "sha512-ryhkkb/4D4CUGpAV2ln1GOY/uh51aczjcRz9k2L2bPx/Xja3c5pSGJJPyR25GNVRXtKIExScdAgFdiXp68GmJA==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/redux-mock-store/-/redux-mock-store-1.5.4.tgz", + "integrity": "sha512-xmcA0O/tjCLXhh9Fuiq6pMrJCwFRaouA8436zcikdIpYWWCjU76CRk+i2bHx8EeiSiMGnB85/lZdU3wIJVXHTA==", "dev": true, "requires": { "lodash.isplainobject": "^4.0.6" @@ -10499,11 +13343,63 @@ } }, "regexp.prototype.flags": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", - "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", "requires": { - "define-properties": "^1.1.2" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + } } }, "regexpp": { @@ -11040,9 +13936,9 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz", + "integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==" }, "semver-diff": { "version": "2.1.0", @@ -11197,6 +14093,66 @@ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" }, + "side-channel": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz", + "integrity": "sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==", + "requires": { + "es-abstract": "^1.17.0-next.1", + "object-inspect": "^1.7.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + } + } + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -11354,9 +14310,9 @@ } }, "socketcluster": { - "version": "14.4.1", - "resolved": "https://registry.npmjs.org/socketcluster/-/socketcluster-14.4.1.tgz", - "integrity": "sha512-3LXc74B4k42eLquBxwWij6XqTX638Uoqrmrli7fTIpr57GDxv77yKe86U5HIAjWO/0Ei6YBsWArpqXJPn5+qSA==", + "version": "14.4.2", + "resolved": "https://registry.npmjs.org/socketcluster/-/socketcluster-14.4.2.tgz", + "integrity": "sha512-Z45tSQ6K/XUEyftrID1hyBXSdaK/gDeq6BMqhNR3XvjnUQ6HkkeTrxZUoXIn/In/J8KLl1WRVtvZAB0Zf9pEjA==", "dev": true, "requires": { "async": "2.3.0", @@ -11366,7 +14322,7 @@ "sc-auth": "^5.0.2", "sc-broker-cluster": "^7.0.0", "sc-errors": "^1.4.1", - "socketcluster-server": "^14.6.0", + "socketcluster-server": "^14.7.0", "uid-number": "0.0.6", "uuid": "3.2.1" }, @@ -11498,9 +14454,9 @@ } }, "socketcluster-server": { - "version": "14.7.0", - "resolved": "https://registry.npmjs.org/socketcluster-server/-/socketcluster-server-14.7.0.tgz", - "integrity": "sha512-5Lbz9Di9pBhkMRLCzvjNUKcivhp9xWnsljPf5rp+g4M2OPgj3cmb1STQInDJ73YyGnGlzhmb2MfhWe9bjOVJOA==", + "version": "14.7.1", + "resolved": "https://registry.npmjs.org/socketcluster-server/-/socketcluster-server-14.7.1.tgz", + "integrity": "sha512-KhZ1c6BKOtGaUWAA9Jdvvs+qSzMq/rBzB8O1Jpq4EpX4+zbq2B4igH6yxnflZw2EamAcAX06XokX+nre5PY+vA==", "dev": true, "requires": { "async": "^3.1.0", @@ -11587,17 +14543,52 @@ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, "spawn-wrap": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz", - "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", "dev": true, "requires": { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", "signal-exit": "^3.0.2", - "which": "^1.3.0" + "which": "^2.0.1" + }, + "dependencies": { + "make-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", + "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "spdx-correct": { @@ -11769,14 +14760,70 @@ "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=" }, "string.prototype.trim": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz", - "integrity": "sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.1.tgz", + "integrity": "sha512-MjGFEeqixw47dAMFMtgUro/I0+wNqZB5GKXGt1fFr24u3TzDXCPu7J9Buppzoe3r/LqkSDLDDJzE15RGWDGAVw==", "dev": true, "requires": { "define-properties": "^1.1.3", - "es-abstract": "^1.13.0", + "es-abstract": "^1.17.0-next.1", "function-bind": "^1.1.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz", + "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", + "dev": true + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + } } }, "string.prototype.trimleft": { @@ -12152,6 +15199,15 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -12200,9 +15256,9 @@ } }, "ua-parser-js": { - "version": "0.7.20", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz", - "integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw==" + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz", + "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==" }, "uglify-es": { "version": "3.3.9", @@ -12237,9 +15293,9 @@ "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" }, "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz", + "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==", "dev": true }, "unicode-canonical-property-names-ecmascript": { @@ -12692,6 +15748,29 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz", + "integrity": "sha512-7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ==", + "requires": { + "is-bigint": "^1.0.0", + "is-boolean-object": "^1.0.0", + "is-number-object": "^1.0.3", + "is-string": "^1.0.4", + "is-symbol": "^1.0.2" + } + }, + "which-collection": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.0.tgz", + "integrity": "sha512-mG4RtFHE+17N2AxRNvBQ488oBjrhaOaI/G+soUaRJwdyDbu5zmqoAKPYBlY7Zd+QTwpfvInRLKo40feo2si1yA==", + "requires": { + "is-map": "^2.0.0", + "is-set": "^2.0.0", + "is-weakmap": "^2.0.0", + "is-weakset": "^2.0.0" + } + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", diff --git a/package.json b/package.json index c4ef3f7a6..15bdcd3e9 100644 --- a/package.json +++ b/package.json @@ -7,67 +7,67 @@ "license": "Apache 2.0", "private": true, "dependencies": { - "@babel/runtime": "7.6.3", - "@react-native-community/async-storage": "1.6.2", + "@babel/runtime": "7.8.3", + "@react-native-community/async-storage": "1.7.1", "@react-native-community/cameraroll": "1.3.0", "@react-native-community/netinfo": "4.4.0", - "@sentry/react-native": "1.0.9", + "@sentry/react-native": "1.2.1", "analytics-react-native": "1.2.0", "commonmark": "github:mattermost/commonmark.js#f6ab98dede6ce4b4e7adea140ac77249bfb2d6ce", "commonmark-react-renderer": "github:mattermost/commonmark-react-renderer#3a2ac19cab725ad28b170fdc1d397dddedcf87eb", - "core-js": "3.3.2", - "deep-equal": "1.1.0", - "deepmerge": "4.1.1", + "core-js": "3.6.3", + "deep-equal": "2.0.1", + "deepmerge": "4.2.2", "emoji-regex": "8.0.0", - "form-data": "2.5.1", - "fuse.js": "3.4.5", + "form-data": "3.0.0", + "fuse.js": "3.4.6", "intl": "1.2.5", - "jail-monkey": "2.3.0", + "jail-monkey": "2.3.1", "jsc-android": "241213.2.0", "mattermost-redux": "github:mattermost/mattermost-redux#876c4cbe4087509442bae3aaba6aaae947cbf8d8", - "mime-db": "1.42.0", + "mime-db": "1.43.0", "moment-timezone": "0.5.27", "prop-types": "15.7.2", - "react": "16.10.2", + "react": "16.12.0", "react-intl": "2.8.0", - "react-native": "0.61.2", + "react-native": "0.61.5", "react-native-android-open-settings": "1.3.0", "react-native-animatable": "1.3.3", "react-native-button": "2.4.0", "react-native-calendars": "github:mattermost/react-native-calendars#4937ec5a3bf7e86f9f35fcd85eb4aa6133f45b58", - "react-native-circular-progress": "1.3.0", + "react-native-circular-progress": "1.3.4", "react-native-cookies": "github:mattermost/react-native-cookies#a54c0ffd28679871dd11e3396d8382cc8ff204d1", "react-native-device-info": "github:mattermost/react-native-device-info#f7175f10822d8f66b9806206e3313eaf2f4aabc6", "react-native-doc-viewer": "github:mattermost/react-native-doc-viewer#c913e54ec8e4a60753bc7dd39256fa4be8229d19", "react-native-document-picker": "3.2.4", "react-native-exception-handler": "2.10.8", - "react-native-gesture-handler": "1.4.1", + "react-native-gesture-handler": "1.5.3", "react-native-fast-image": "7.0.2", "react-native-haptic-feedback": "1.8.2", "react-native-image-gallery": "github:mattermost/react-native-image-gallery#c1a9f7118e90cc87d47620bc0584c9cac4b0cf38", "react-native-image-picker": "2.0.0", "react-native-keyboard-aware-scroll-view": "0.9.1", "react-native-keyboard-tracking-view": "github:mattermost/react-native-keyboard-tracking-view#169676811a32f82cb674a52d7857a14043f7b8f7", - "react-native-keychain": "4.0.1", + "react-native-keychain": "4.0.5", "react-native-linear-gradient": "2.5.6", "react-native-local-auth": "github:mattermost/react-native-local-auth#cc9ce2f468fbf7b431dfad3191a31aaa9227a6ab", "react-native-navigation": "3.2.0", "react-native-notifications": "2.0.6", "react-native-passcode-status": "1.1.2", - "react-native-permissions": "1.1.1", + "react-native-permissions": "2.0.9", "react-native-safe-area": "0.5.1", "react-native-section-list-get-item-layout": "2.2.3", "react-native-slider": "0.11.0", "react-native-status-bar-size": "0.3.3", - "react-native-svg": "9.11.1", + "react-native-svg": "10.1.0", "react-native-vector-icons": "6.6.0", "react-native-video": "5.0.2", "react-native-webview": "github:mattermost/react-native-webview#b5e22940a613869d3999feac9451ee65352f4fbe", "react-native-youtube": "2.0.0", "react-navigation": "4.0.10", "react-navigation-stack": "1.9.4", - "react-redux": "7.1.1", - "redux": "4.0.4", + "react-redux": "7.1.3", + "redux": "4.0.5", "redux-batched-actions": "0.4.1", "redux-offline": "github:mattermost/redux-offline#885024de96b6ec73650c340c8928066585c413df", "redux-persist": "4.10.2", @@ -76,48 +76,48 @@ "reselect": "4.0.0", "rn-fetch-blob": "0.12.0", "rn-placeholder": "github:mattermost/rn-placeholder#02c629c65d0123a2eee623ada0fd17186415d3c3", - "semver": "6.3.0", + "semver": "7.1.1", "shallow-equals": "1.0.0", "tinycolor2": "1.4.1", "url-parse": "1.4.7" }, "devDependencies": { - "@babel/cli": "7.6.4", - "@babel/core": "7.6.4", - "@babel/plugin-transform-runtime": "7.6.2", - "@babel/preset-env": "7.6.3", - "@babel/register": "7.6.2", + "@babel/cli": "7.8.3", + "@babel/core": "7.8.3", + "@babel/plugin-transform-runtime": "7.8.3", + "@babel/preset-env": "7.8.3", + "@babel/register": "7.8.3", "@testing-library/react-native": "5.0.3", "babel-eslint": "10.0.3", "babel-jest": "24.9.0", - "babel-plugin-module-resolver": "3.2.0", + "babel-plugin-module-resolver": "4.0.0", "babel-plugin-transform-remove-console": "6.9.4", "deep-freeze": "0.0.1", - "enzyme": "3.10.0", - "enzyme-adapter-react-16": "1.15.1", - "enzyme-to-json": "3.4.2", - "eslint": "6.5.1", + "enzyme": "3.11.0", + "enzyme-adapter-react-16": "1.15.2", + "enzyme-to-json": "3.4.3", + "eslint": "6.8.0", "eslint-config-mattermost": "github:mattermost/eslint-config-mattermost", "eslint-plugin-header": "3.0.0", - "eslint-plugin-jest": "22.19.0", - "eslint-plugin-react": "7.16.0", + "eslint-plugin-jest": "23.6.0", + "eslint-plugin-react": "7.17.0", "harmony-reflect": "1.6.1", "jest": "24.9.0", "jest-cli": "24.9.0", - "jest-enzyme": "7.1.1", - "jetifier": "1.6.4", + "jest-enzyme": "7.1.2", + "jetifier": "1.6.5", "jsdom-global": "3.0.2", - "metro-react-native-babel-preset": "0.56.0", + "metro-react-native-babel-preset": "0.56.4", "mmjstool": "github:mattermost/mattermost-utilities#086f4ffdca4e31a0be22f6bcdfa093ed83fb29e", "mock-async-storage": "2.2.0", - "nyc": "14.1.1", + "nyc": "15.0.0", "patch-package": "6.2.0", - "react-dom": "16.10.2", - "react-test-renderer": "16.10.2", - "redux-mock-store": "1.5.3", + "react-dom": "16.12.0", + "react-test-renderer": "16.12.0", + "redux-mock-store": "1.5.4", "remote-redux-devtools": "0.5.16", - "socketcluster": "14.4.1", - "underscore": "1.9.1", + "socketcluster": "14.4.2", + "underscore": "1.9.2", "util": "0.12.1" }, "scripts": { diff --git a/patches/react-native+0.61.2.patch b/patches/react-native+0.61.5.patch similarity index 91% rename from patches/react-native+0.61.2.patch rename to patches/react-native+0.61.5.patch index f0297bcf5..85575f56f 100644 --- a/patches/react-native+0.61.2.patch +++ b/patches/react-native+0.61.5.patch @@ -19,31 +19,6 @@ index 7dffc17..548e7bb 100644 }, horizontallyInverted: { transform: [{scaleX: -1}], -diff --git a/node_modules/react-native/Libraries/Text/Text/RCTTextShadowView.m b/node_modules/react-native/Libraries/Text/Text/RCTTextShadowView.m -index 1543bca..a4502b7 100644 ---- a/node_modules/react-native/Libraries/Text/Text/RCTTextShadowView.m -+++ b/node_modules/react-native/Libraries/Text/Text/RCTTextShadowView.m -@@ -177,6 +177,12 @@ - (void)postprocessAttributedText:(NSMutableAttributedString *)attributedText - - - (NSAttributedString *)attributedTextWithMeasuredAttachmentsThatFitSize:(CGSize)size - { -+ static UIImage *placeholderImage; -+ static dispatch_once_t onceToken; -+ dispatch_once(&onceToken, ^{ -+ placeholderImage = [UIImage new]; -+ }); -+ - NSMutableAttributedString *attributedText = - [[NSMutableAttributedString alloc] initWithAttributedString:[self attributedTextWithBaseTextAttributes:nil]]; - -@@ -195,6 +201,7 @@ - (NSAttributedString *)attributedTextWithMeasuredAttachmentsThatFitSize:(CGSize - maximumSize:size]; - NSTextAttachment *attachment = [NSTextAttachment new]; - attachment.bounds = (CGRect){CGPointZero, fittingSize}; -+ attachment.image = placeholderImage; - [attributedText addAttribute:NSAttachmentAttributeName value:attachment range:range]; - } - ]; diff --git a/node_modules/react-native/Libraries/WebSocket/RCTSRWebSocket.h b/node_modules/react-native/Libraries/WebSocket/RCTSRWebSocket.h index 1b17cff..9efa98e 100644 --- a/node_modules/react-native/Libraries/WebSocket/RCTSRWebSocket.h diff --git a/share_extension/android/extension.js b/share_extension/android/extension.js index 6e79a8b67..08ddb8acf 100644 --- a/share_extension/android/extension.js +++ b/share_extension/android/extension.js @@ -44,7 +44,7 @@ export default class ShareApp extends PureComponent { }), onPress: this.close, }, - ] + ], ); } diff --git a/share_extension/android/extension_post/extension_post.js b/share_extension/android/extension_post/extension_post.js index a5f2eee65..04f91bbd3 100644 --- a/share_extension/android/extension_post/extension_post.js +++ b/share_extension/android/extension_post/extension_post.js @@ -223,7 +223,7 @@ export default class ExtensionPost extends PureComponent { style: 'cancel', }, ], - {onDismiss: resolve} + {onDismiss: resolve}, ); }); } @@ -324,7 +324,7 @@ export default class ExtensionPost extends PureComponent { let granted; if (!hasPermission) { granted = await PermissionsAndroid.request( - PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE + PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE, ); } @@ -420,7 +420,7 @@ export default class ExtensionPost extends PureComponent { }, { count: value.length, max: MAX_MESSAGE_LENGTH, - }) + }), ); } else { const data = { diff --git a/share_extension/android/extension_post/extension_post.test.js b/share_extension/android/extension_post/extension_post.test.js index 9345ef57b..147e3ad84 100644 --- a/share_extension/android/extension_post/extension_post.test.js +++ b/share_extension/android/extension_post/extension_post.test.js @@ -34,7 +34,7 @@ describe('ExtensionPost', () => { }; const wrapper = shallowWithIntl( - + , ); const instance = wrapper.instance(); diff --git a/share_extension/common/selectors/index.js b/share_extension/common/selectors/index.js index b638382f1..71cda64b7 100644 --- a/share_extension/common/selectors/index.js +++ b/share_extension/common/selectors/index.js @@ -30,7 +30,7 @@ export const getChannelIdsForExtensionTeam = createIdsSelector( getChannelsInTeam, (teamId, channelsInTeam) => { return Array.from(channelsInTeam[teamId] || []); - } + }, ); export const getExtensionSortedPublicChannels = createSelector( @@ -56,7 +56,7 @@ export const getExtensionSortedPublicChannels = createSelector( return publicChannels; }, []).sort(sortChannelsByDisplayName.bind(null, locale)); - } + }, ); export const getExtensionSortedPrivateChannels = createSelector( @@ -82,7 +82,7 @@ export const getExtensionSortedPrivateChannels = createSelector( return privateChannels; }, []).sort(sortChannelsByDisplayName.bind(null, locale)); - } + }, ); export const getExtensionSortedDirectChannels = createSelector( @@ -132,7 +132,7 @@ export const getExtensionSortedDirectChannels = createSelector( return completeDirectChannelDisplayName(currentUser.id, profiles, profilesInChannel[id], settings, channel); }).sort(sortChannelsByDisplayName.bind(null, locale)); return directChannels; - } + }, ); function completeDirectGroupInfo(currentUserId, profiles, profilesInChannel, teammateNameDisplay, channel) { diff --git a/test/setup.js b/test/setup.js index 0299ac1ee..a2bfb165b 100644 --- a/test/setup.js +++ b/test/setup.js @@ -83,6 +83,7 @@ jest.doMock('react-native', () => { RNDocumentPicker: { pick: jest.fn(), }, + RNPermissions: {}, }; return Object.setPrototypeOf({