diff --git a/package.json b/package.json index daabd88983..be6b728ce4 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,6 @@ "color": "^2.0.0", "date-fns": "^1.28.5", "entities": "^1.1.1", - "eslint-plugin-flowtype": "^2.35.0", "events": "^1.1.1", "htmlparser2": "^3.9.2", "immutable": "^3.8.1", @@ -47,9 +46,8 @@ "react-intl": "^2.2.3", "react-native": "^0.47.1", "react-native-device-info": "^0.11.0", - "react-native-drawer": "^2.3.0", "react-native-fetch-blob": "^0.10.8", - "react-native-notifications": "^1.1.13", + "react-native-notifications": "^1.1.14", "react-native-photo-view": "1.3.0", "react-native-safari-view": "^2.0.0", "react-native-sentry": "^0.17.1", @@ -71,22 +69,23 @@ "zulip-markdown-parser": "^1.0.4" }, "devDependencies": { - "babel-core": "^6.25.0", + "babel-core": "^6.26.0", "babel-eslint": "^7.2.3", "babel-jest": "^20.0.0", "babel-plugin-transform-remove-console": "^6.8.4", - "babel-preset-react-native": "^2.0.0", + "babel-preset-react-native": "^3.0.0", "coveralls": "^2.13.0", "deep-freeze": "^0.0.1", "detox": "^5.6.1", - "eslint": "^4.3.0", + "eslint": "^4.5.0", "eslint-config-airbnb": "^15.1.0", "eslint-config-airbnb-base": "^11.3.1", "eslint-config-prettier": "^2.3.0", + "eslint-plugin-flowtype": "^2.35.0", "eslint-plugin-import": "^2.7.0", "eslint-plugin-jest": "^20.0.0", "eslint-plugin-jsx-a11y": "^5.1.1", - "eslint-plugin-prettier": "^2.1.2", + "eslint-plugin-prettier": "^2.2.0", "eslint-plugin-react": "^7.2.0", "eslint-plugin-react-native": "^3.0.1", "eslint-plugin-spellcheck": "0.0.6", diff --git a/src/baseSelectors.js b/src/baseSelectors.js index 735f14ae17..edeba7fa94 100644 --- a/src/baseSelectors.js +++ b/src/baseSelectors.js @@ -25,3 +25,11 @@ export const getOutbox = (state: GlobalState): Outbox[] => state.outbox; export const getActiveNarrowString = (state: GlobalState): string => JSON.stringify(state.chat.narrow); + +export const getUnreadStreams = (state: GlobalState): Object[] => state.unread.streams; + +export const getUnreadPms = (state: GlobalState): Object[] => state.unread.pms; + +export const getUnreadHuddles = (state: GlobalState): Object[] => state.unread.huddles; + +export const getUnreadMentions = (state: GlobalState): number[] => state.unread.mentions; diff --git a/src/common/ImageAvatar.js b/src/common/ImageAvatar.js index dd03f0f846..77095417c0 100644 --- a/src/common/ImageAvatar.js +++ b/src/common/ImageAvatar.js @@ -10,6 +10,7 @@ export default class ImageAvatar extends PureComponent { avatarUrl: string, size: number, shape: string, + children: any[], onPress: () => void, }; @@ -18,7 +19,7 @@ export default class ImageAvatar extends PureComponent { }; render() { - const { avatarUrl, size, shape, onPress } = this.props; + const { avatarUrl, children, size, shape, onPress } = this.props; const touchableStyle = { height: size, width: size, @@ -34,7 +35,7 @@ export default class ImageAvatar extends PureComponent { source={{ uri: avatarUrl }} resizeMode="cover" borderRadius={borderRadius}> - {this.props.children} + {children} ); diff --git a/src/common/TextAvatar.js b/src/common/TextAvatar.js index c7122b64c6..75dcc2323a 100644 --- a/src/common/TextAvatar.js +++ b/src/common/TextAvatar.js @@ -30,11 +30,12 @@ export default class TextAvatar extends PureComponent { name: string, size: number, shape?: string, + children?: any[], onPress?: () => void, }; render() { - const { name, size, shape, onPress } = this.props; + const { children, name, size, shape, onPress } = this.props; const frameSize = { height: size, @@ -53,7 +54,7 @@ export default class TextAvatar extends PureComponent { {initialsFromName(name)} - {this.props.children} + {children} ); diff --git a/src/outbox/outboxActions.js b/src/outbox/outboxActions.js index a7f4a311ef..05f5cb06cd 100644 --- a/src/outbox/outboxActions.js +++ b/src/outbox/outboxActions.js @@ -1,7 +1,7 @@ /* @flow */ import parseMarkdown from 'zulip-markdown-parser'; -import type { Dispatch, GetState, Narrow } from '../types'; +import type { Dispatch, GetState, Narrow, User } from '../types'; import { MESSAGE_SEND, START_OUTBOX_SENDING, @@ -10,8 +10,8 @@ import { } from '../actionConstants'; import { getAuth } from '../selectors'; import { sendMessage as sendMessageApi } from '../api'; -import { getSelfUserDetail } from '../users/userSelectors'; -import { extractTypeToAndSubjectFromNarrow, isPrivateOrGroupNarrow } from '../utils/narrow'; +import { getSelfUserDetail, getUserByEmail } from '../users/userSelectors'; +import { isStreamNarrow, isPrivateOrGroupNarrow } from '../utils/narrow'; export const sendMessage = (params: Object) => ({ type: MESSAGE_SEND, @@ -47,6 +47,28 @@ export const trySendMessages = () => (dispatch: Dispatch, getState: GetState) => } }; +const mapEmailsToUsers = (users, narrow) => + narrow[0].operand.split(',').map(item => { + const user = getUserByEmail(users, item); + return { email: item, id: user.id, full_name: user.fullName }; + }); + +const extractTypeToAndSubjectFromNarrow = ( + narrow: Narrow, + users: User[], +): { type: 'private' | 'stream', display_recipient: string, subject: string } => { + if (isPrivateOrGroupNarrow(narrow)) { + return { + type: 'private', + display_recipient: mapEmailsToUsers(users, narrow), + subject: '', + }; + } else if (isStreamNarrow(narrow)) { + return { type: 'stream', display_recipient: narrow[0].operand, subject: '(no topic)' }; + } + return { type: 'stream', display_recipient: narrow[0].operand, subject: narrow[1].operand }; +}; + export const addToOutbox = (narrow: Narrow, content: string) => async ( dispatch: Dispatch, getState: GetState, diff --git a/src/unread/unreadSelectors.js b/src/unread/unreadSelectors.js index 95afe05a98..ed133e484b 100644 --- a/src/unread/unreadSelectors.js +++ b/src/unread/unreadSelectors.js @@ -1,17 +1,17 @@ /* @flow */ import { createSelector } from 'reselect'; -import type { GlobalState } from '../types'; import { caseInsensitiveCompareObjFunc } from '../utils/misc'; +import { + getMute, + getUnreadStreams, + getUnreadPms, + getUnreadHuddles, + getUnreadMentions, +} from '../baseSelectors'; import { getSubscriptionsById } from '../subscriptions/subscriptionSelectors'; -import { getMute } from '../baseSelectors'; import { NULL_SUBSCRIPTION } from '../nullObjects'; -export const getUnreadStreams = (state: GlobalState): Object[] => state.unread.streams; -export const getUnreadPms = (state: GlobalState): Object[] => state.unread.pms; -export const getUnreadHuddles = (state: GlobalState): Object[] => state.unread.huddles; -export const getUnreadMentions = (state: GlobalState): number[] => state.unread.mentions; - export const getUnreadByStream = createSelector(getUnreadStreams, unreadStreams => unreadStreams.reduce((totals, stream) => { totals[stream.stream_id] = (totals[stream.stream_id] || 0) + stream.unread_message_ids.length; diff --git a/src/utils/narrow.js b/src/utils/narrow.js index 3a31a88066..0dcf00fdf2 100644 --- a/src/utils/narrow.js +++ b/src/utils/narrow.js @@ -1,7 +1,6 @@ /* @flow */ -import type { Narrow, Message, User } from '../types'; +import type { Narrow, Message } from '../types'; import { normalizeRecipients } from './message'; -import { getUserByEmail } from '../users/userSelectors'; export const homeNarrow: Narrow = []; @@ -135,25 +134,3 @@ export const narrowFromMessage = (message: Message, email: string) => { return streamNarrow(message.display_recipient); }; - -const mapEmailsToUsers = (users, narrow) => - narrow[0].operand.split(',').map(item => { - const user = getUserByEmail(users, item); - return { email: item, id: user.id, full_name: user.fullName }; - }); - -export const extractTypeToAndSubjectFromNarrow = ( - narrow: Narrow, - users: User[], -): { type: 'private' | 'stream', display_recipient: string, subject: string } => { - if (isPrivateOrGroupNarrow(narrow)) { - return { - type: 'private', - display_recipient: mapEmailsToUsers(users, narrow), - subject: '', - }; - } else if (isStreamNarrow(narrow)) { - return { type: 'stream', display_recipient: narrow[0].operand, subject: '(no topic)' }; - } - return { type: 'stream', display_recipient: narrow[0].operand, subject: narrow[1].operand }; -}; diff --git a/yarn.lock b/yarn.lock index f47b9f84e5..38272a8b50 100644 --- a/yarn.lock +++ b/yarn.lock @@ -302,7 +302,15 @@ babel-code-frame@6.22.0, babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.0" -babel-core@^6.0.0, babel-core@^6.24.1, babel-core@^6.25.0, babel-core@^6.7.2: +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.0.0, babel-core@^6.24.1, babel-core@^6.7.2: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" dependencies: @@ -326,6 +334,30 @@ babel-core@^6.0.0, babel-core@^6.24.1, babel-core@^6.25.0, babel-core@^6.7.2: slash "^1.0.0" source-map "^0.5.0" +babel-core@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" + slash "^1.0.0" + source-map "^0.5.6" + babel-eslint@^7.2.3: version "7.2.3" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827" @@ -348,6 +380,19 @@ babel-generator@^6.18.0, babel-generator@^6.24.1, babel-generator@^6.25.0: source-map "^0.5.0" trim-right "^1.0.1" +babel-generator@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.6" + trim-right "^1.0.1" + babel-helper-builder-react-jsx@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz#0ad7917e33c8d751e646daca4e77cc19377d2cbc" @@ -493,6 +538,10 @@ babel-plugin-syntax-class-properties@^6.5.0, babel-plugin-syntax-class-propertie version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.5.0, babel-plugin-syntax-flow@^6.8.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" @@ -885,6 +934,42 @@ babel-preset-react-native@^2.0.0: babel-plugin-transform-regenerator "^6.5.0" react-transform-hmr "^1.0.4" +babel-preset-react-native@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-3.0.0.tgz#fc05b465d10011d66fc75907c836501151ce0570" + dependencies: + babel-plugin-check-es2015-constants "^6.5.0" + babel-plugin-react-transform "2.0.2" + babel-plugin-syntax-async-functions "^6.5.0" + babel-plugin-syntax-class-properties "^6.5.0" + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-syntax-flow "^6.5.0" + babel-plugin-syntax-jsx "^6.5.0" + babel-plugin-syntax-trailing-function-commas "^6.5.0" + babel-plugin-transform-class-properties "^6.5.0" + babel-plugin-transform-es2015-arrow-functions "^6.5.0" + babel-plugin-transform-es2015-block-scoping "^6.5.0" + babel-plugin-transform-es2015-classes "^6.5.0" + babel-plugin-transform-es2015-computed-properties "^6.5.0" + babel-plugin-transform-es2015-destructuring "^6.5.0" + babel-plugin-transform-es2015-for-of "^6.5.0" + babel-plugin-transform-es2015-function-name "^6.5.0" + babel-plugin-transform-es2015-literals "^6.5.0" + babel-plugin-transform-es2015-modules-commonjs "^6.5.0" + babel-plugin-transform-es2015-parameters "^6.5.0" + babel-plugin-transform-es2015-shorthand-properties "^6.5.0" + babel-plugin-transform-es2015-spread "^6.5.0" + babel-plugin-transform-es2015-template-literals "^6.5.0" + babel-plugin-transform-flow-strip-types "^6.5.0" + babel-plugin-transform-object-assign "^6.5.0" + babel-plugin-transform-object-rest-spread "^6.5.0" + babel-plugin-transform-react-display-name "^6.5.0" + babel-plugin-transform-react-jsx "^6.5.0" + babel-plugin-transform-react-jsx-source "^6.5.0" + babel-plugin-transform-regenerator "^6.5.0" + babel-template "^6.24.1" + react-transform-hmr "^1.0.4" + babel-register@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" @@ -897,6 +982,18 @@ babel-register@^6.24.1: mkdirp "^0.5.1" source-map-support "^0.4.2" +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + babel-runtime@^6.0.0, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.25.0.tgz#33b98eaa5d482bb01a8d1aa6b437ad2b01aec41c" @@ -904,6 +1001,13 @@ babel-runtime@^6.0.0, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtim core-js "^2.4.0" regenerator-runtime "^0.10.0" +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071" @@ -914,6 +1018,16 @@ babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.25.0: babylon "^6.17.2" lodash "^4.2.0" +babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1" @@ -928,6 +1042,20 @@ babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-tr invariant "^2.2.0" lodash "^4.2.0" +babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.25.0: version "6.25.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e" @@ -937,6 +1065,15 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24 lodash "^4.2.0" to-fast-properties "^1.0.1" +babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + babylon@6.15.0: version "6.15.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e" @@ -945,6 +1082,10 @@ babylon@^6.17.0, babylon@^6.17.2, babylon@^6.17.4: version "6.17.4" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + backo2@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" @@ -1186,7 +1327,7 @@ chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0: +chalk@^2.0.0, chalk@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" dependencies: @@ -1414,7 +1555,7 @@ content-type@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" -convert-source-map@^1.1.0, convert-source-map@^1.4.0: +convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" @@ -1437,7 +1578,7 @@ core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" -core-js@^2.2.2, core-js@^2.4.0: +core-js@^2.2.2, core-js@^2.4.0, core-js@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.0.tgz#569c050918be6486b3837552028ae0466b717086" @@ -1917,9 +2058,9 @@ eslint-plugin-jsx-a11y@^5.1.1: emoji-regex "^6.1.0" jsx-ast-utils "^1.4.0" -eslint-plugin-prettier@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.1.2.tgz#4b90f4ee7f92bfbe2e926017e1ca40eb628965ea" +eslint-plugin-prettier@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.2.0.tgz#f2837ad063903d73c621e7188fb3d41486434088" dependencies: fast-diff "^1.1.1" jest-docblock "^20.0.1" @@ -1955,13 +2096,13 @@ eslint-scope@^3.7.1: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint@^4.3.0: - version "4.4.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.4.1.tgz#99cd7eafcffca2ff99a5c8f5f2a474d6364b4bd3" +eslint@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.5.0.tgz#bb75d3b8bde97fb5e13efcd539744677feb019c3" dependencies: ajv "^5.2.0" babel-code-frame "^6.22.0" - chalk "^1.1.3" + chalk "^2.1.0" concat-stream "^1.6.0" cross-spawn "^5.1.0" debug "^2.6.8" @@ -1992,6 +2133,7 @@ eslint@^4.3.0: progress "^2.0.0" require-uncached "^1.0.3" semver "^5.3.0" + strip-ansi "^4.0.0" strip-json-comments "~2.0.1" table "^4.0.1" text-table "~0.2.0" @@ -2525,7 +2667,7 @@ globals@^6.4.1: version "6.4.1" resolved "https://registry.yarnpkg.com/globals/-/globals-6.4.1.tgz#8498032b3b6d1cc81eebc5f79690d8fe29fabf4f" -globals@^9.0.0, globals@^9.17.0: +globals@^9.0.0, globals@^9.17.0, globals@^9.18.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" @@ -2884,7 +3026,7 @@ intl-relativeformat@^1.3.0: dependencies: intl-messageformat "1.3.0" -invariant@^2.0.0, invariant@^2.1.1, invariant@^2.2.0: +invariant@^2.0.0, invariant@^2.1.1, invariant@^2.2.0, invariant@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: @@ -3404,7 +3546,7 @@ jest@^20.0.0: dependencies: jest-cli "^20.0.4" -js-tokens@^3.0.0: +js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" @@ -3488,7 +3630,7 @@ json5@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d" -json5@^0.5.0: +json5@^0.5.0, json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" @@ -4484,7 +4626,7 @@ path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" -path-is-absolute@^1.0.0: +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -4636,7 +4778,7 @@ pretty-format@^4.2.1: version "4.3.1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-4.3.1.tgz#530be5c42b3c05b36414a7a2a4337aa80acd0e8d" -private@^0.1.6: +private@^0.1.6, private@^0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" @@ -4819,12 +4961,6 @@ react-native-drawer-layout@1.3.2: dependencies: react-native-dismiss-keyboard "1.0.0" -react-native-drawer@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/react-native-drawer/-/react-native-drawer-2.3.0.tgz#a0369ec80ff0b61c9f152dbdea91fe76c843113a" - dependencies: - tween-functions "^1.0.1" - react-native-fetch-blob@^0.10.8: version "0.10.8" resolved "https://registry.yarnpkg.com/react-native-fetch-blob/-/react-native-fetch-blob-0.10.8.tgz#4fc256abae0cb5f10e7c41f28c11b3ff330d72a9" @@ -4836,9 +4972,9 @@ react-native-invoke@^0.2.1: version "0.2.2" resolved "https://registry.yarnpkg.com/react-native-invoke/-/react-native-invoke-0.2.2.tgz#6aef6d6ab16e44cc08471dd48e846f0df72323c0" -react-native-notifications@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/react-native-notifications/-/react-native-notifications-1.1.13.tgz#28f63c2068af4c683e6a4fd9d1a96df59f0ab90b" +react-native-notifications@^1.1.14: + version "1.1.14" + resolved "https://registry.yarnpkg.com/react-native-notifications/-/react-native-notifications-1.1.14.tgz#aab4be9497ab5dc1334dccd85a2cedf1d91cc7f1" dependencies: core-js "^1.0.0" uuid "^2.0.3" @@ -5167,6 +5303,10 @@ regenerator-runtime@^0.10.0: version "0.10.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" +regenerator-runtime@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" + regenerator-runtime@^0.9.5: version "0.9.6" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" @@ -5588,7 +5728,7 @@ socket.io-parser@2.3.1: isarray "0.0.1" json3 "3.3.2" -source-map-support@^0.4.2: +source-map-support@^0.4.15, source-map-support@^0.4.2: version "0.4.15" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" dependencies: @@ -5865,7 +6005,7 @@ to-array@0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" -to-fast-properties@^1.0.1: +to-fast-properties@^1.0.1, to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" @@ -5905,10 +6045,6 @@ tunnel-agent@~0.4.1: version "0.4.3" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" -tween-functions@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/tween-functions/-/tween-functions-1.2.0.tgz#1ae3a50e7c60bb3def774eac707acbca73bbc3ff" - tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"