diff --git a/package.json b/package.json index c1328c7b..126643a6 100644 --- a/package.json +++ b/package.json @@ -26,8 +26,8 @@ "dependencies": { "babel-polyfill": "^6.23.0", "bugsnag-react-native": "^2.2.3", - "denormalizr": "^0.5.2", - "firebase": "^3.7.5", + "denormalizr": "^0.6.0", + "firebase": "^4.1.3", "github": "git+https://github.com/brunolemos/react-native-github-api.git", "gravatar": "^1.6.0", "immutable": "^3.8.1", @@ -35,54 +35,53 @@ "moment": "^2.18.1", "normalizr": "^3.2.3", "prop-types": "^15.5.10", - "qs": "^6.4.0", + "qs": "^6.5.0", "react": "^16.0.0-alpha.12", - "react-native": "^0.45.0-rc.2", - "react-native-actionsheet": "^2.1.0", - "react-native-code-push": "^2.0.3-beta", - "react-native-immutable-list-view": "^0.4.5", + "react-native": "0.45.1", + "react-native-code-push": "^3.0.0-beta", + "react-native-immutable-list-view": "^0.5.0", "react-native-linear-gradient": "^2.0.0", - "react-native-prompt-android": "^0.0.5", + "react-native-prompt-android": "^0.0.8", "react-native-safari-view": "^2.0.0", "react-native-vector-icons": "^4.2.0", - "react-native-wkwebview-reborn": "^1.4.0", + "react-native-wkwebview-reborn": "^1.6.0", "react-navigation": "^1.0.0-beta.11", "react-redux": "^5.0.5", - "redux": "^3.6.0", + "redux": "^3.7.1", "redux-immutable": "^4.0.0", - "redux-persist": "^4.8.0", + "redux-persist": "^4.8.2", "redux-persist-immutable": "^4.3.0", - "redux-saga": "^0.15.3", - "remote-redux-devtools": "^0.5.11", + "redux-saga": "^0.15.4", + "remote-redux-devtools": "^0.5.12", "reselect": "^3.0.1", - "styled-components": "git+https://github.com/brunolemos/styled-components.git#master-npm", + "styled-components": "^2.1.0", "warna": "^0.2.4" }, "devDependencies": { "babel-eslint": "^7.2.3", - "babel-jest": "^19.0.0", + "babel-jest": "^20.0.3", "babel-plugin-transform-es2015-parameters": "^6.24.1", "babel-plugin-transform-remove-console": "^6.8.4", "babel-preset-es2015": "^6.24.1", - "babel-preset-react-native": "1.9.1", + "babel-preset-react-native": "^2.0.0", "babel-preset-react-native-stage-0": "^1.0.1", - "eslint": "^3.15.0", - "eslint-config-airbnb": "^14.1.0", - "eslint-config-prettier": "^1.7.0", - "eslint-config-react-app": "^0.6.2", + "eslint": "^3.19.0", + "eslint-config-airbnb": "^15.0.1", + "eslint-config-prettier": "^2.3.0", + "eslint-config-react-app": "^1.0.5", "eslint-plugin-babel": "^4.1.1", - "eslint-plugin-flowtype": "^2.32.1", + "eslint-plugin-flowtype": "^2.34.1", "eslint-plugin-import": "^2.2.0", - "eslint-plugin-jsx-a11y": "^3.0.2 || ^4.0.0", - "eslint-plugin-prettier": "^2.0.1", - "eslint-plugin-react": "^6.9.0", + "eslint-plugin-jsx-a11y": "^5.0.1", + "eslint-plugin-prettier": "^2.1.2", + "eslint-plugin-react": "^7.0.1", "eslint-plugin-react-native": "^2.3.2", - "flow-bin": "^0.45.0", - "husky": "^0.13.4", + "flow-bin": "^0.49.1", + "husky": "^0.14.2", "jest": "^20.0.4", - "lint-staged": "^3.6.0", - "prettier": "^1.4.2", - "react-test-renderer": "^15.5.4", + "lint-staged": "^4.0.0", + "prettier": "^1.5.2", + "react-test-renderer": "^15.6.1", "remote-redux-devtools-on-debugger": "^0.7.1", "whatwg-fetch": "^2.0.3" }, diff --git a/src/components/cards/EventCard.js b/src/components/cards/EventCard.js index 6b1102d6..bf4f41ab 100644 --- a/src/components/cards/EventCard.js +++ b/src/components/cards/EventCard.js @@ -156,7 +156,9 @@ export default class EventCard extends React.PureComponent { const dateText = getDateSmallText(createdAt, '•') return ( dateText && -  • {dateText} + +  • {dateText} + ) }} @@ -166,7 +168,9 @@ export default class EventCard extends React.PureComponent { {Boolean(isPrivate) && - } + + + } {getEventText(event, { repoIsKnown: onlyOneRepository })} @@ -202,10 +206,10 @@ export default class EventCard extends React.PureComponent { />} {(() => { - const repos = (payload.get('repos') || List()).filter(Boolean) + const repos = payload.get('repos') || List() if (!(repos.size > 0)) return null - const ids = repos.map(_item => _item.get('id')) + const ids = repos.filter(Boolean).map(_item => _item.get('id')) return ( { const member = payload.get('member') - const users = (payload.get('users') || List([member])).filter(Boolean) + const users = payload.get('users') || List([member]) if (!(users.size > 0)) return null - const ids = users.map(_item => _item.get('id')) + const ids = users.filter(Boolean).map(_item => _item.get('id')) return ( 0)) return null - const ids = pages.map(_item => _item.get('id')) + const ids = pages.filter(Boolean).map(_item => _item.get('id')) return ( 0)) return null - const ids = list.map(_item => _item.get('id')) + const ids = list.filter(Boolean).map(_item => _item.get('id')) return ( ({ item: commit }) => - commit && + Boolean(commit) && ({ item: repo }) => - repo && + Boolean(repo) && ({ item: user }) => - user && + Boolean(user) && { + const columnErrorsSelector = makeColumnErrorsSelector() const columnIsEmptySelector = makeColumnIsEmptySelector() + const columnIsLoadingSelector = makeColumnIsLoadingSelector() const columnSelector = makeColumnSelector() const columnSubscriptionsSelector = makeColumnSubscriptionsSelector() const denormalizedOrderedColumnEventsSelector = makeDenormalizedOrderedColumnEventsSelector() @@ -43,9 +45,10 @@ const makeMapStateToProps = () => { ? getRequestTypeIcon(subscriptions.first().get('requestType')) : '') || 'mark-github' - const updatedAt = subscriptions && subscriptions.size > 0 - ? subscriptions.first().get('updatedAt') - : null + const updatedAt = + subscriptions && subscriptions.size > 0 + ? subscriptions.first().get('updatedAt') + : null return { column, diff --git a/src/sagas/app.js b/src/sagas/app.js index 919182a0..aa22df4a 100644 --- a/src/sagas/app.js +++ b/src/sagas/app.js @@ -14,10 +14,10 @@ import { Map, Set } from 'immutable' import { APP_CLEANUP } from '../utils/constants/actions' import { - columnSubscriptionIdsSelector, columnsEntitySelector, eventIdsSelector, isReadySelector, + makeColumnSubscriptionIdsSelector, subscriptionEventsSelector, subscriptionIdsSelector, } from '../selectors' @@ -29,6 +29,8 @@ import { } from '../actions' import { sagaActionChunk } from './_shared' +const columnSubscriptionIdsSelector = makeColumnSubscriptionIdsSelector() + function* _getUsedSubscriptionIds() { const state = yield select() diff --git a/src/sagas/subscriptions.js b/src/sagas/subscriptions.js index dd3ee5ba..0c44bff4 100644 --- a/src/sagas/subscriptions.js +++ b/src/sagas/subscriptions.js @@ -19,11 +19,11 @@ import { import { EventSchema } from '../utils/normalizr/schemas' import { - columnIdsSelector, - columnSubscriptionIdsSelector, - subscriptionSelector, accessTokenSelector, + columnIdsSelector, isLoggedSelector, + makeColumnSubscriptionIdsSelector, + subscriptionSelector, } from '../selectors' import { TIMEOUT } from '../utils/constants/defaults' @@ -56,6 +56,8 @@ import { authenticate, getApiMethod } from '../api/github' import { sagaActionChunk } from './_shared' +const columnSubscriptionIdsSelector = makeColumnSubscriptionIdsSelector() + function* loadSubscriptionData({ payload }: Action) { let state = yield select() const accessToken = accessTokenSelector(state) diff --git a/src/selectors/columns.js b/src/selectors/columns.js index 88bd07e5..6842cec4 100644 --- a/src/selectors/columns.js +++ b/src/selectors/columns.js @@ -4,28 +4,34 @@ import moment from 'moment' import { List, Map, Set } from 'immutable' -import { archivedEventIdsSelector, readEventIdsSelector } from './events' +import { + archivedEventIdsSelector, + readEventIdsSelector, + eventIdsSelector, +} from './events' import { subscriptionsEntitySelector, subscriptionSelector, } from './subscriptions' import { createImmutableSelector, + createImmutableSelectorCreator, + createObjectKeysMemoized, entitiesSelector, - objectKeysMemoized, stateSelector, } from './shared' import { get } from '../utils/immutable' +const objectKeysMemoized = createObjectKeysMemoized() + export const columnIdSelector = (state, { columnId }) => columnId -export const columnsEntitySelector = state => { - let columns = get(entitiesSelector(state), 'columns').filter(Boolean) - columns = columns.set('new', Map({ id: 'new', order: columns.size })) - - return columns -} +export const columnsEntitySelector = createImmutableSelector( + state => get(entitiesSelector(state), 'columns'), + columns => + columns.filter(Boolean).set('new', Map({ id: 'new', order: columns.size })), +) export const columnIdsSelector = state => objectKeysMemoized(columnsEntitySelector(state)) @@ -42,19 +48,26 @@ export const makeColumnSelector = () => (columnId, columns) => get(columns, columnId), ) -export const columnSubscriptionIdsSelector = (state, { columnId }) => { +export const makeColumnSubscriptionIdsSelector = () => { const columnSelector = makeColumnSelector() - return ( - get(columnSelector(state, { columnId }) || Map(), 'subscriptions') || List() + + return createImmutableSelector( + columnSelector, + column => get(column || Map(), 'subscriptions') || List(), ) } -export const makeColumnEventIdsSelector = () => - createImmutableSelector( - stateSelector, +export const makeColumnEventIdsSelector = () => { + const columnSubscriptionIdsSelector = makeColumnSubscriptionIdsSelector() + + return createImmutableSelectorCreator( + 3, + )( columnIdSelector, columnSubscriptionIdsSelector, - (state, columnId, subscriptionsIds) => { + eventIdsSelector, + stateSelector, + (columnId, subscriptionsIds, _allEventIds, state) => { let eventIds = Set() subscriptionsIds.forEach(subscriptionId => { @@ -68,6 +81,7 @@ export const makeColumnEventIdsSelector = () => return eventIds.toList() }, ) +} export const makeColumnArchivedIdsSelector = () => { const columnEventIdsSelector = makeColumnEventIdsSelector() @@ -91,8 +105,10 @@ export const makeColumnReadIdsSelector = () => { ) } -export const makeColumnSubscriptionsSelector = () => - createImmutableSelector( +export const makeColumnSubscriptionsSelector = () => { + const columnSubscriptionIdsSelector = makeColumnSubscriptionIdsSelector() + + return createImmutableSelector( columnSubscriptionIdsSelector, subscriptionsEntitySelector, (subscriptionIds, subscriptions) => @@ -100,25 +116,28 @@ export const makeColumnSubscriptionsSelector = () => .map(subscriptionId => get(subscriptions, subscriptionId)) .filter(Boolean), ) +} -const columnSubscriptionsSelector = makeColumnSubscriptionsSelector() +export const makeColumnIsLoadingSelector = () => { + const columnSubscriptionsSelector = makeColumnSubscriptionsSelector() -export const columnIsLoadingSelector = createImmutableSelector( - columnSubscriptionsSelector, - subscriptions => + return createImmutableSelector(columnSubscriptionsSelector, subscriptions => subscriptions.some(subscription => get(subscription, 'loading')), -) + ) +} -export const columnErrorsSelector = createImmutableSelector( - columnSubscriptionsSelector, - subscriptions => +export const makeColumnErrorsSelector = () => { + const columnSubscriptionsSelector = makeColumnSubscriptionsSelector() + + return createImmutableSelector(columnSubscriptionsSelector, subscriptions => subscriptions .reduce( (errors, subscription) => errors.concat(get(subscription, 'error')), List(), ) .filter(Boolean), -) + ) +} export const orderedColumnsSelector = createImmutableSelector( columnsEntitySelector, diff --git a/src/selectors/events.js b/src/selectors/events.js index 9924c5da..3a7d14c8 100644 --- a/src/selectors/events.js +++ b/src/selectors/events.js @@ -5,22 +5,29 @@ import { denormalize } from 'denormalizr' import { Set } from 'immutable' import { - createImmutableSelectorCreator, createImmutableSelector, + createImmutableSelectorCreator, + createObjectKeysMemoized, entitiesSelector, isArchivedFilter, isDeletedFilter, isReadFilter, - objectKeysMemoized, } from './shared' import { makeColumnEventIdsSelector } from './columns' import { EventSchema } from '../utils/normalizr/schemas' import { groupSimilarEvents } from '../utils/helpers/github/events' +import { get } from '../utils/immutable' + +const objectKeysMemoized = createObjectKeysMemoized() export const eventIdSelector = (state, { eventId }) => eventId -export const eventEntitiesSelector = state => - entitiesSelector(state).get('events').filter(Boolean) + +export const eventEntitiesSelector = createImmutableSelector( + state => get(entitiesSelector(state), 'events'), + events => events.filter(Boolean), +) + export const eventIdsSelector = state => objectKeysMemoized(eventEntitiesSelector(state)) @@ -56,11 +63,7 @@ export const makeIsArchivedEventSelector = () => createImmutableSelector(eventSelector, isArchivedFilter) export const makeIsReadEventSelector = () => - createImmutableSelector( - eventIdSelector, - readEventIdsSelector, - (eventId, readIds) => !!readIds.includes(eventId), - ) + createImmutableSelector(eventSelector, isReadFilter) export const makeDenormalizedEventSelector = (n = 1) => createImmutableSelectorCreator( diff --git a/src/selectors/notifications.js b/src/selectors/notifications.js index 3ca4ae1d..e30a1f77 100644 --- a/src/selectors/notifications.js +++ b/src/selectors/notifications.js @@ -15,6 +15,7 @@ import { import { groupNotificationsByRepository } from '../utils/helpers/github/notifications' import { NotificationSchema } from '../utils/normalizr/schemas' +import { get } from '../utils/immutable' export const sortNotificationsByDate = (b, a) => a.get('updated_at') > b.get('updated_at') ? 1 : -1 @@ -22,8 +23,11 @@ export const sortNotificationsByDate = (b, a) => export const notificationIdSelector = (state, { notificationId }) => notificationId export const notificationDetailsSelector = state => state.get('notifications') -export const notificationEntitiesSelector = state => - entitiesSelector(state).get('notifications').filter(Boolean) + +export const notificationEntitiesSelector = createImmutableSelector( + state => get(entitiesSelector(state), 'notifications'), + notifications => notifications.filter(Boolean), +) export const notificationSelector = (state, { notificationId }) => notificationEntitiesSelector(state).get(notificationId) @@ -77,11 +81,7 @@ export const makeIsArchivedNotificationSelector = () => createImmutableSelector(notificationSelector, isArchivedFilter) export const makeIsReadNotificationSelector = () => - createImmutableSelector( - notificationIdSelector, - readNotificationIdsSelector, - (notificationId, readIds) => readIds.includes(notificationId), - ) + createImmutableSelector(notificationSelector, isReadFilter) export const makeDenormalizedNotificationSelector = (n = 1) => createImmutableSelectorCreator( diff --git a/src/selectors/repositories.js b/src/selectors/repositories.js index 1eb150e1..6bd5b867 100644 --- a/src/selectors/repositories.js +++ b/src/selectors/repositories.js @@ -8,9 +8,14 @@ import { isReadFilter, } from './shared' +import { get } from '../utils/immutable' + export const repoIdSelector = (state, { repoId }) => repoId -export const reposEntitiesSelector = state => - entitiesSelector(state).get('repos').filter(Boolean) + +export const reposEntitiesSelector = createImmutableSelector( + state => get(entitiesSelector(state), 'repos'), + repos => repos.filter(Boolean), +) export const starredReposSelector = createImmutableSelector( reposEntitiesSelector, diff --git a/src/selectors/shared.js b/src/selectors/shared.js index c7e29e30..9e59973f 100644 --- a/src/selectors/shared.js +++ b/src/selectors/shared.js @@ -19,11 +19,12 @@ export function immutableMemoize( equalityCheck(value, lastArgs[index]) return (...args) => { - const slicedArgs = typeof numberOfArgsToMemoize === 'number' - ? numberOfArgsToMemoize < 0 - ? args.slice(numberOfArgsToMemoize) - : args.slice(0, numberOfArgsToMemoize) - : args + const slicedArgs = + typeof numberOfArgsToMemoize === 'number' + ? numberOfArgsToMemoize < 0 + ? args.slice(numberOfArgsToMemoize) + : args.slice(0, numberOfArgsToMemoize) + : args if ( lastArgs === null || @@ -44,7 +45,9 @@ export function immutableMemoize( export const getKeysFromImmutableObject = obj => obj ? obj.keySeq().toList() : List() -export const objectKeysMemoized = immutableMemoize(getKeysFromImmutableObject) + +export const createObjectKeysMemoized = () => + immutableMemoize(getKeysFromImmutableObject) export const createImmutableSelectorCreator = _.memoize(numberOfArgsToMemoize => createSelectorCreator( diff --git a/src/selectors/shared.test.js b/src/selectors/shared.test.js index 72a02d0b..be0ff2c3 100644 --- a/src/selectors/shared.test.js +++ b/src/selectors/shared.test.js @@ -3,11 +3,13 @@ import { List, Map } from 'immutable' import { createImmutableSelector, createImmutableSelectorCreator, + createObjectKeysMemoized, getKeysFromImmutableObject, immutableMemoize, - objectKeysMemoized, } from './shared' +const objectKeysMemoized = createObjectKeysMemoized() + const obj = Map({ a: 10, b: 20, @@ -21,9 +23,11 @@ test('getKeysFromImmutableObject', () => { test('objectKeysMemoized', () => { const result1 = objectKeysMemoized(obj) const result2 = objectKeysMemoized(obj) + const result3 = objectKeysMemoized(obj.set('c', 33)) expect(result1).toEqual(List(['a', 'b', 'c'])) expect(result1).toBe(result2) + expect(result1).toBe(result3) }) test('immutableMemoize -- memoize all arguments', () => { diff --git a/src/selectors/subscriptions.js b/src/selectors/subscriptions.js index e6822008..39ec5058 100644 --- a/src/selectors/subscriptions.js +++ b/src/selectors/subscriptions.js @@ -6,17 +6,22 @@ import { denormalize } from 'denormalizr' import { createImmutableSelector, createImmutableSelectorCreator, + createObjectKeysMemoized, entitiesSelector, - objectKeysMemoized, } from './shared' import { SubscriptionSchema } from '../utils/normalizr/schemas' +import { get } from '../utils/immutable' + +const objectKeysMemoized = createObjectKeysMemoized() export const subscriptionIdSelector = (state, { subscriptionId }) => subscriptionId -export const subscriptionsEntitySelector = state => - entitiesSelector(state).get('subscriptions').filter(Boolean) +export const subscriptionsEntitySelector = createImmutableSelector( + state => get(entitiesSelector(state), 'subscriptions'), + subscriptions => subscriptions.filter(Boolean), +) export const subscriptionIdsSelector = state => objectKeysMemoized(subscriptionsEntitySelector(state)) diff --git a/src/utils/helpers/github/events.js b/src/utils/helpers/github/events.js index 6405c0d1..a358c22f 100644 --- a/src/utils/helpers/github/events.js +++ b/src/utils/helpers/github/events.js @@ -198,7 +198,9 @@ export function getEventText( case 'ForkEvent': return `forked ${repositoryText}` case 'IssueCommentEvent': - return `commented on ${isPullRequest(get(payload, 'issue')) ? pullRequestText : issueText}` + return `commented on ${isPullRequest(get(payload, 'issue')) + ? pullRequestText + : issueText}` case 'IssuesEvent': // TODO: Fix these texts switch (get(payload, 'action')) { case 'closed': @@ -292,11 +294,12 @@ export function getEventText( case 'WatchEvent:OneRepoMultipleUsers': return (() => { const otherUsers = get(payload, 'users') - const otherUsersText = otherUsers && otherUsers.size > 0 - ? otherUsers.size > 1 + const otherUsersText = + otherUsers && otherUsers.size > 0 + ? otherUsers.size > 1 ? `and ${otherUsers.size} others` : 'and 1 other' - : '' + : '' return `${otherUsersText} starred ${repositoryText}` })() diff --git a/web/package.json b/web/package.json index 4c08b177..092011e5 100644 --- a/web/package.json +++ b/web/package.json @@ -5,18 +5,18 @@ "homepage": "./", "dependencies": { "bugsnag-js": "^3.2.0", - "react": "^15.5.4", - "react-dom": "^15.5.4", + "react": "^15.6.1", + "react-dom": "^15.6.1", "react-helmet": "^5.1.3", - "react-native-web": "^0.0.97" + "react-native-web": "^0.0.108" }, "devDependencies": { "babel-plugin-transform-decorators-legacy": "^1.3.4", "extensible-react-scripts": "^1.0.6-10", "gh-pages": "^1.0.0", - "react-dev-utils": "^3.0.0", - "serve": "^5.2.1", - "sw-precache": "^5.1.1" + "react-dev-utils": "^3.0.2", + "serve": "^6.0.0", + "sw-precache": "^5.2.0" }, "scripts": { "build": "NODE_ENV=production extensible-react-scripts build && sw-precache --config=sw-precache-config.js", diff --git a/web/yarn.lock b/web/yarn.lock index a5a84cce..560e75c6 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -58,6 +58,10 @@ address@1.0.1, address@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/address/-/address-1.0.1.tgz#363f5d3f2be26d0655d8afd5a9562e4fc2194537" +address@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.0.2.tgz#480081e82b587ba319459fef512f516fe03d58af" + ajv-keywords@^1.0.0, ajv-keywords@^1.1.1: version "1.5.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" @@ -107,6 +111,10 @@ anser@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/anser/-/anser-1.3.0.tgz#65b42f01119edb5a2fc8ea6f0892274cbcbec6b1" +anser@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.1.tgz#c3641863a962cebef941ea2c8706f2cb4f0716bd" + ansi-align@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" @@ -123,6 +131,10 @@ ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" +ansi-escapes@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b" + ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -1379,9 +1391,9 @@ clipboardy@1.1.1: dependencies: execa "^0.6.0" -clipboardy@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.1.2.tgz#a26d075ff779b8f82721c0affebc543208a09116" +clipboardy@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.1.4.tgz#51b17574fc682588e2dd295cfa6e6aa109eab5ee" dependencies: execa "^0.6.0" @@ -1628,9 +1640,9 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-class@^15.5.2: - version "15.5.3" - resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.5.3.tgz#fb0f7cae79339e9a179e194ef466efa3923820fe" +create-react-class@^15.6.0: + version "15.6.0" + resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.0.tgz#ab448497c26566e1e29413e883207d57cfe7bed4" dependencies: fbjs "^0.8.9" loose-envify "^1.3.1" @@ -1926,9 +1938,16 @@ detect-node@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" -detect-port@1.1.3: +detect-port-alt@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.1.3.tgz#5e639e9d61580d7c5be552431f21a2bc8a7a95d3" + resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.3.tgz#a4d2f061d757a034ecf37c514260a98750f2b131" + dependencies: + address "^1.0.1" + debug "^2.6.0" + +detect-port@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.2.1.tgz#a2c0a048aa9df2b703fc54bb4436ce2118f09b5a" dependencies: address "^1.0.1" debug "^2.6.0" @@ -2524,7 +2543,7 @@ extensible-react-scripts@^1.0.6-10: optionalDependencies: fsevents "1.0.17" -external-editor@^2.0.1: +external-editor@^2.0.1, external-editor@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" dependencies: @@ -3170,6 +3189,10 @@ ignore@^3.2.0: version "3.3.3" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -3207,9 +3230,9 @@ ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" -inline-style-prefixer@^3.0.3: - version "3.0.5" - resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-3.0.5.tgz#0092881b3a2eadf1bd619dc43726557316f76042" +inline-style-prefixer@^3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-3.0.6.tgz#b27fe309b4168a31eaf38c8e8c60ab9e7c11731f" dependencies: bowser "^1.6.0" css-in-js-utils "^1.0.3" @@ -3232,6 +3255,25 @@ inquirer@3.0.6: strip-ansi "^3.0.0" through "^2.3.6" +inquirer@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.1.1.tgz#87621c4fba4072f48a8dd71c9f9df6f100b2d534" + dependencies: + ansi-escapes "^2.0.0" + chalk "^1.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.4" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx-lite "^4.0.8" + rx-lite-aggregates "^4.0.8" + string-width "^2.0.0" + strip-ansi "^3.0.0" + through "^2.3.6" + inquirer@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" @@ -3447,6 +3489,10 @@ is-retry-allowed@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" +is-root@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-1.0.0.tgz#07b6c233bc394cd9d02ba15c966bd6660d6342d5" + is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -4498,6 +4544,12 @@ opn@5.0.0: dependencies: is-wsl "^1.1.0" +opn@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" + dependencies: + is-wsl "^1.1.0" + optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" @@ -5076,7 +5128,7 @@ promise@7.1.1, promise@^7.1.1: dependencies: asap "~2.0.3" -prop-types@^15.5.4, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@~15.5.7: +prop-types@^15.5.10, prop-types@^15.5.4: version "15.5.10" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.10.tgz#2797dfc3126182e3a95e3dfbb2e893ddd7456154" dependencies: @@ -5201,36 +5253,37 @@ react-dev-utils@^2.0.1: strip-ansi "3.0.1" text-table "0.2.0" -react-dev-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-3.0.0.tgz#3677f37718ba0cae892ba9c01fe54d1622e6ef7c" +react-dev-utils@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-3.0.2.tgz#1a42263e9b6aa11dcb45d69dfe5eb1b354bd5531" dependencies: - "@timer/detect-port" "1.1.3" - address "1.0.1" - anser "1.3.0" + address "1.0.2" + anser "1.4.1" babel-code-frame "6.22.0" chalk "1.1.3" cross-spawn "4.0.2" + detect-port-alt "1.1.3" escape-string-regexp "1.0.5" filesize "3.3.0" gzip-size "3.0.0" html-entities "1.2.1" - inquirer "3.0.6" - opn "5.0.0" + inquirer "3.1.1" + is-root "1.0.0" + opn "5.1.0" recursive-readdir "2.2.1" shell-quote "1.6.1" sockjs-client "1.1.4" strip-ansi "3.0.1" text-table "0.2.0" -react-dom@^15.5.4: - version "15.5.4" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.5.4.tgz#ba0c28786fd52ed7e4f2135fe0288d462aef93da" +react-dom@^15.6.1: + version "15.6.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.1.tgz#2cb0ed4191038e53c209eb3a79a23e2a4cf99470" dependencies: fbjs "^0.8.9" loose-envify "^1.1.0" object-assign "^4.1.0" - prop-types "~15.5.7" + prop-types "^15.5.10" react-error-overlay@^1.0.6: version "1.0.6" @@ -5252,21 +5305,21 @@ react-helmet@^5.1.3: prop-types "^15.5.4" react-side-effect "^1.1.0" -react-native-web@^0.0.97: - version "0.0.97" - resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.0.97.tgz#80f48c2d69ae0b872c9076828dbee9a51685c6e5" +react-native-web@^0.0.108: + version "0.0.108" + resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.0.108.tgz#e35fcf410aafb012f9a381a2434d396ad97f3113" dependencies: animated "^0.2.0" array-find-index "^1.0.2" babel-runtime "^6.23.0" - create-react-class "^15.5.2" + create-react-class "^15.6.0" debounce "1.0.2" deep-assign "^2.0.0" fbjs "^0.8.12" hyphenate-style-name "^1.0.2" - inline-style-prefixer "^3.0.3" + inline-style-prefixer "^3.0.6" normalize-css-color "^1.0.2" - prop-types "^15.5.8" + prop-types "^15.5.10" react-timer-mixin "^0.13.3" react-side-effect@^1.1.0: @@ -5280,14 +5333,15 @@ react-timer-mixin@^0.13.3: version "0.13.3" resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.3.tgz#0da8b9f807ec07dc3e854d082c737c65605b3d22" -react@^15.5.4: - version "15.5.4" - resolved "https://registry.yarnpkg.com/react/-/react-15.5.4.tgz#fa83eb01506ab237cdc1c8c3b1cea8de012bf047" +react@^15.6.1: + version "15.6.1" + resolved "https://registry.yarnpkg.com/react/-/react-15.6.1.tgz#baa8434ec6780bde997cdc380b79cd33b96393df" dependencies: + create-react-class "^15.6.0" fbjs "^0.8.9" loose-envify "^1.1.0" object-assign "^4.1.0" - prop-types "^15.5.7" + prop-types "^15.5.10" read-all-stream@^3.0.0: version "3.1.0" @@ -5585,6 +5639,16 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" +rx-lite-aggregates@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" + dependencies: + rx-lite "*" + +rx-lite@*, rx-lite@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" + rx-lite@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" @@ -5672,18 +5736,18 @@ serve-static@1.12.3: parseurl "~1.3.1" send "0.15.3" -serve@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/serve/-/serve-5.2.1.tgz#f71a2cf2392e596abec9e3fed8280dd2dc370954" +serve@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serve/-/serve-6.0.0.tgz#9b7e2f8c478a6759c87c5de7f5d32c124d09f429" dependencies: args "3.0.2" basic-auth "1.1.0" bluebird "3.5.0" boxen "1.1.0" chalk "1.1.3" - clipboardy "1.1.2" + clipboardy "1.1.4" dargs "5.1.0" - detect-port "1.1.3" + detect-port "1.2.1" filesize "3.5.10" fs-extra "3.0.1" handlebars "4.0.10" @@ -5692,10 +5756,10 @@ serve@^5.2.1: micro-compress "1.0.0" mime-types "2.1.15" node-version "1.0.0" - opn "5.0.0" + opn "5.1.0" path-type "2.0.0" send "0.15.3" - update-notifier "2.1.0" + update-notifier "2.2.0" serviceworker-cache-polyfill@^4.0.0: version "4.0.0" @@ -6041,7 +6105,7 @@ sw-precache-webpack-plugin@0.9.1: sw-precache "^5.0.0" uglify-js "^2.8.5" -sw-precache@^5.0.0, sw-precache@^5.1.1: +sw-precache@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/sw-precache/-/sw-precache-5.1.1.tgz#928720957463e55ed56777e177c4699f35ec59b6" dependencies: @@ -6056,6 +6120,21 @@ sw-precache@^5.0.0, sw-precache@^5.1.1: sw-toolbox "^3.4.0" update-notifier "^1.0.3" +sw-precache@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/sw-precache/-/sw-precache-5.2.0.tgz#eb6225ce580ceaae148194578a0ad01ab7ea199c" + dependencies: + dom-urls "^1.1.0" + es6-promise "^4.0.5" + glob "^7.1.1" + lodash.defaults "^4.2.0" + lodash.template "^4.4.0" + meow "^3.7.0" + mkdirp "^0.5.1" + pretty-bytes "^4.0.2" + sw-toolbox "^3.4.0" + update-notifier "^1.0.3" + sw-toolbox@^3.4.0: version "3.6.0" resolved "https://registry.yarnpkg.com/sw-toolbox/-/sw-toolbox-3.6.0.tgz#26df1d1c70348658e4dea2884319149b7b3183b5" @@ -6297,6 +6376,19 @@ update-notifier@2.1.0: semver-diff "^2.0.0" xdg-basedir "^3.0.0" +update-notifier@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.2.0.tgz#1b5837cf90c0736d88627732b661c138f86de72f" + dependencies: + boxen "^1.0.0" + chalk "^1.0.0" + configstore "^3.0.0" + import-lazy "^2.1.0" + is-npm "^1.0.0" + latest-version "^3.0.0" + semver-diff "^2.0.0" + xdg-basedir "^3.0.0" + update-notifier@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" diff --git a/yarn.lock b/yarn.lock index 764432dd..5b46c2e0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -136,9 +136,9 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -aria-query@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.3.0.tgz#cb8a9984e2862711c83c80ade5b8f5ca0de2b467" +aria-query@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.5.0.tgz#85e3152cd8cc5bab18dbed61cd9c4fce54fa79c3" dependencies: ast-types-flow "0.0.7" @@ -168,6 +168,13 @@ array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" +array-includes@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.7.0" + array-map@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" @@ -190,13 +197,6 @@ array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" -array.prototype.find@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.4.tgz#556a5c5362c08648323ddaeb9de9d14bc1864c90" - dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" - arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -273,6 +273,12 @@ aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" +axobject-query@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-0.1.0.tgz#62f59dbc59c9f9242759ca349960e7a2fe3c36c0" + dependencies: + ast-types-flow "0.0.7" + babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" @@ -436,14 +442,6 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-jest@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-19.0.0.tgz#59323ced99a3a84d359da219ca881074ffc6ce3f" - dependencies: - babel-core "^6.0.0" - babel-plugin-istanbul "^4.0.0" - babel-preset-jest "^19.0.0" - babel-jest@^20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-20.0.3.tgz#e4a03b13dc10389e140fc645d09ffc4ced301671" @@ -478,10 +476,6 @@ babel-plugin-istanbul@^4.0.0: istanbul-lib-instrument "^1.7.1" test-exclude "^4.1.0" -babel-plugin-jest-hoist@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-19.0.0.tgz#4ae2a04ea612a6e73651f3fde52c178991304bea" - babel-plugin-jest-hoist@^20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz#afedc853bd3f8dc3548ea671fbe69d03cc2c1767" @@ -953,12 +947,6 @@ babel-preset-fbjs@^2.1.2: babel-plugin-transform-react-display-name "^6.8.0" babel-plugin-transform-react-jsx "^6.8.0" -babel-preset-jest@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-19.0.0.tgz#22d67201d02324a195811288eb38294bb3cac396" - dependencies: - babel-plugin-jest-hoist "^19.0.0" - babel-preset-jest@^20.0.3: version "20.0.3" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz#cbacaadecb5d689ca1e1de1360ebfc66862c178a" @@ -978,7 +966,7 @@ babel-preset-react-native-stage-0@^1.0.1: babel-plugin-transform-function-bind "^6.5.2" babel-preset-react-native "^1.5.6" -babel-preset-react-native@1.9.1, babel-preset-react-native@^1.5.6, babel-preset-react-native@^1.9.1: +babel-preset-react-native@^1.5.6, babel-preset-react-native@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-1.9.1.tgz#ec8e378274410d78f550fa9f8edd70353f3bb2fe" dependencies: @@ -1012,6 +1000,40 @@ babel-preset-react-native@1.9.1, babel-preset-react-native@^1.5.6, babel-preset- babel-plugin-transform-regenerator "^6.5.0" react-transform-hmr "^1.0.4" +babel-preset-react-native@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-2.0.0.tgz#c26c7066c7399df30926fa03c012ef87f2cce5b7" + dependencies: + babel-plugin-check-es2015-constants "^6.5.0" + babel-plugin-react-transform "2.0.2" + babel-plugin-syntax-async-functions "^6.5.0" + babel-plugin-syntax-class-properties "^6.5.0" + babel-plugin-syntax-flow "^6.5.0" + babel-plugin-syntax-jsx "^6.5.0" + babel-plugin-syntax-trailing-function-commas "^6.5.0" + babel-plugin-transform-class-properties "^6.5.0" + babel-plugin-transform-es2015-arrow-functions "^6.5.0" + babel-plugin-transform-es2015-block-scoping "^6.5.0" + babel-plugin-transform-es2015-classes "^6.5.0" + babel-plugin-transform-es2015-computed-properties "^6.5.0" + babel-plugin-transform-es2015-destructuring "^6.5.0" + babel-plugin-transform-es2015-for-of "^6.5.0" + babel-plugin-transform-es2015-function-name "^6.5.0" + babel-plugin-transform-es2015-literals "^6.5.0" + babel-plugin-transform-es2015-modules-commonjs "^6.5.0" + babel-plugin-transform-es2015-parameters "^6.5.0" + babel-plugin-transform-es2015-shorthand-properties "^6.5.0" + babel-plugin-transform-es2015-spread "^6.5.0" + babel-plugin-transform-es2015-template-literals "^6.5.0" + babel-plugin-transform-flow-strip-types "^6.5.0" + babel-plugin-transform-object-assign "^6.5.0" + babel-plugin-transform-object-rest-spread "^6.5.0" + babel-plugin-transform-react-display-name "^6.5.0" + babel-plugin-transform-react-jsx "^6.5.0" + babel-plugin-transform-react-jsx-source "^6.5.0" + babel-plugin-transform-regenerator "^6.5.0" + react-transform-hmr "^1.0.4" + babel-register@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" @@ -1158,10 +1180,6 @@ boom@2.x.x: dependencies: hoek "2.x.x" -bowser@^1.0.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.7.0.tgz#169de4018711f994242bff9a8009e77a1f35e003" - bplist-creator@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.4.tgz#4ac0496782e127a85c1d2026a4f5eb22a7aff991" @@ -1409,14 +1427,10 @@ commoner@~0.10.3: q "^1.1.2" recast "^0.11.17" -component-emitter@1.2.0: +component-emitter@1.2.0, component-emitter@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.0.tgz#ccd113a86388d06482d03de3fc7df98526ba8efe" -component-emitter@~1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - compressible@~2.0.5: version "2.0.10" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd" @@ -1670,7 +1684,7 @@ dateformat@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" -debug@2, debug@2.6.8, debug@^2.1.1, debug@^2.2.0, debug@^2.4.5, debug@^2.6.3: +debug@2, debug@2.6.8, debug@^2.1.1, debug@^2.2.0, debug@^2.4.5, debug@^2.6.3, debug@^2.6.8: version "2.6.8" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" dependencies: @@ -1760,9 +1774,9 @@ denodeify@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" -denormalizr@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/denormalizr/-/denormalizr-0.5.2.tgz#48522ed31dc9004aa19c52972090e432845f0cbc" +denormalizr@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/denormalizr/-/denormalizr-0.6.0.tgz#ce940ebc1020b3a8f0628e0aacf311950291866f" dependencies: lodash "^4.17.4" @@ -1795,7 +1809,7 @@ diff@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" -doctrine@1.5.0, doctrine@^1.2.2: +doctrine@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" dependencies: @@ -1903,8 +1917,8 @@ es-to-primitive@^1.1.1: is-symbol "^1.0.1" es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.20" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.20.tgz#72a9b4fd5832797ba1bb65dceb2e25c04241c492" + version "0.10.23" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.23.tgz#7578b51be974207a5487821b56538c224e4e7b38" dependencies: es6-iterator "2" es6-symbol "~3.1" @@ -1986,33 +2000,32 @@ escope@^3.6.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-config-airbnb-base@^11.1.0: +eslint-config-airbnb-base@^11.2.0: version "11.2.0" resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.2.0.tgz#19a9dc4481a26f70904545ec040116876018f853" -eslint-config-airbnb@^14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-14.1.0.tgz#355d290040bbf8e00bf8b4b19f4b70cbe7c2317f" +eslint-config-airbnb@^15.0.1: + version "15.0.1" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-15.0.1.tgz#7b5188e5b7c74b9b2ce639fd5e1daba8fd761aed" dependencies: - eslint-config-airbnb-base "^11.1.0" + eslint-config-airbnb-base "^11.2.0" -eslint-config-prettier@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-1.7.0.tgz#cda3ce22df1e852daa9370f1f3446e8b8a02ce44" +eslint-config-prettier@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.3.0.tgz#b75b1eabea0c8b97b34403647ee25db349b9d8a0" dependencies: get-stdin "^5.0.1" -eslint-config-react-app@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-0.6.2.tgz#ee535cbaaf9e3576ea16b99afe720353d8730ec0" +eslint-config-react-app@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-1.0.5.tgz#98337597bc01cc22991fcbdda07451f3b4511718" -eslint-import-resolver-node@^0.2.0: - version "0.2.3" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" +eslint-import-resolver-node@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz#4422574cde66a9a7b099938ee4d508a199e0e3cc" dependencies: - debug "^2.2.0" - object-assign "^4.0.1" - resolve "^1.1.6" + debug "^2.6.8" + resolve "^1.2.0" eslint-module-utils@^2.0.0: version "2.0.0" @@ -2025,41 +2038,42 @@ eslint-plugin-babel@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-4.1.1.tgz#ef285c87039b67beb3bbd227f5b0eed4fb376b87" -eslint-plugin-flowtype@^2.32.1: - version "2.34.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.34.0.tgz#b9875f314652e5081623c9d2b18a346bbb759c09" +eslint-plugin-flowtype@^2.34.1: + version "2.34.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.34.1.tgz#ea109175645b05d37baeac53b9b65066d79b9446" dependencies: lodash "^4.15.0" eslint-plugin-import@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.3.0.tgz#37c801e0ada0e296cbdf20c3f393acb5b52af36b" + version "2.6.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.6.1.tgz#f580be62bb809421d46e338372764afcc9f59bf6" dependencies: builtin-modules "^1.1.1" contains-path "^0.1.0" - debug "^2.2.0" + debug "^2.6.8" doctrine "1.5.0" - eslint-import-resolver-node "^0.2.0" + eslint-import-resolver-node "^0.3.1" eslint-module-utils "^2.0.0" has "^1.0.1" lodash.cond "^4.3.0" minimatch "^3.0.3" read-pkg-up "^2.0.0" -"eslint-plugin-jsx-a11y@^3.0.2 || ^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-4.0.0.tgz#779bb0fe7b08da564a422624911de10061e048ee" +eslint-plugin-jsx-a11y@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-5.1.0.tgz#4a829634344e7a90391a9fb0fbd19810737d79c5" dependencies: - aria-query "^0.3.0" + aria-query "^0.5.0" + array-includes "^3.0.3" ast-types-flow "0.0.7" + axobject-query "^0.1.0" damerau-levenshtein "^1.0.0" emoji-regex "^6.1.0" - jsx-ast-utils "^1.0.0" - object-assign "^4.0.1" + jsx-ast-utils "^1.4.0" -eslint-plugin-prettier@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.1.1.tgz#2fb7e2ab961f2b61d2c8cf91bc17716ca8c53868" +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" dependencies: fast-diff "^1.1.1" jest-docblock "^20.0.1" @@ -2068,17 +2082,15 @@ eslint-plugin-react-native@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/eslint-plugin-react-native/-/eslint-plugin-react-native-2.3.2.tgz#e1b2ba2d97fb46b16fe2dbb5bd4d0f47419f2859" -eslint-plugin-react@^6.9.0: - version "6.10.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz#c5435beb06774e12c7db2f6abaddcbf900cd3f78" +eslint-plugin-react@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.1.0.tgz#27770acf39f5fd49cd0af4083ce58104eb390d4c" dependencies: - array.prototype.find "^2.0.1" - doctrine "^1.2.2" + doctrine "^2.0.0" has "^1.0.1" - jsx-ast-utils "^1.3.4" - object.assign "^4.0.4" + jsx-ast-utils "^1.4.1" -eslint@^3.15.0: +eslint@^3.19.0: version "3.19.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" dependencies: @@ -2191,9 +2203,9 @@ exec-sh@^0.2.0: dependencies: merge "^1.1.3" -execa@^0.6.0: - version "0.6.3" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.6.3.tgz#57b69a594f081759c69e5370f0d17b9cb11658fe" +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" dependencies: cross-spawn "^5.0.1" get-stream "^3.0.0" @@ -2414,10 +2426,6 @@ finalhandler@~1.0.3: statuses "~1.3.1" unpipe "~1.0.0" -find-parent-dir@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" - find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -2431,9 +2439,9 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" -firebase@^3.7.5: - version "3.9.0" - resolved "https://registry.yarnpkg.com/firebase/-/firebase-3.9.0.tgz#c4237f50f58eeb25081b1839d6cbf175f8f7ed9b" +firebase@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/firebase/-/firebase-4.1.3.tgz#e5d7327366c854dc12461633ba8bfeea2f5c7358" dependencies: dom-storage "^2.0.2" faye-websocket "0.9.3" @@ -2454,9 +2462,9 @@ fleximap@0.9.x: version "0.9.10" resolved "https://registry.yarnpkg.com/fleximap/-/fleximap-0.9.10.tgz#1aa50ff6a8fea0037cc378e38ddacc091025ac10" -flow-bin@^0.45.0: - version "0.45.0" - resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.45.0.tgz#009dd0f577a3f665c74ca8be827ae8c2dd8fd6b5" +flow-bin@^0.49.1: + version "0.49.1" + resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.49.1.tgz#c9e456b3173a7535a4ffaf28956352c63bb8e3e9" follow-redirects@^1.1.0: version "1.2.3" @@ -2848,18 +2856,13 @@ https-proxy-agent@1, https-proxy-agent@^1.0.0: debug "2" extend "3" -husky@^0.13.4: - version "0.13.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-0.13.4.tgz#48785c5028de3452a51c48c12c4f94b2124a1407" +husky@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.2.tgz#6df06483965d2254db95dd143c445d6d8509b4b8" dependencies: - chalk "^1.1.3" - find-parent-dir "^0.3.0" - is-ci "^1.0.9" + is-ci "^1.0.10" normalize-path "^1.0.0" - -hyphenate-style-name@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b" + strip-indent "^2.0.0" iconv-lite@0.4.11: version "0.4.11" @@ -2869,10 +2872,14 @@ iconv-lite@0.4.13: version "0.4.13" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" -iconv-lite@0.4.15, iconv-lite@^0.4.5, iconv-lite@~0.4.13: +iconv-lite@0.4.15: version "0.4.15" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" +iconv-lite@^0.4.5, iconv-lite@~0.4.13: + version "0.4.18" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2" + ieee754@^1.1.4: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" @@ -2918,13 +2925,6 @@ inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" -inline-style-prefixer@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz#c153c7e88fd84fef5c602e95a8168b2770671fe7" - dependencies: - bowser "^1.0.0" - hyphenate-style-name "^1.0.1" - inquirer@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.1.2.tgz#ac3ba5f06b8e7291abd9f22912c03f09cfe2dd1f" @@ -3021,7 +3021,7 @@ is-callable@^1.1.1, is-callable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" -is-ci@^1.0.10, is-ci@^1.0.9: +is-ci@^1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" dependencies: @@ -3602,7 +3602,7 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.3.6" -jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.4: +jsx-ast-utils@^1.4.0, jsx-ast-utils@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1" @@ -3664,13 +3664,13 @@ linked-list@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/linked-list/-/linked-list-0.1.0.tgz#798b0ff97d1b92a4fd08480f55aea4e9d49d37bf" -lint-staged@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-3.6.0.tgz#cda8f0bef16e7928cc14b735186ae12cd662599c" +lint-staged@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-4.0.0.tgz#c15669f598614a6e68090303e175a799d48e0d85" dependencies: app-root-path "^2.0.0" cosmiconfig "^1.1.0" - execa "^0.6.0" + execa "^0.7.0" listr "^0.12.0" lodash.chunk "^4.2.0" minimatch "^3.0.0" @@ -4182,18 +4182,10 @@ object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1 version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" -object-keys@^1.0.10, object-keys@^1.0.8: +object-keys@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" -object.assign@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc" - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.0" - object-keys "^1.0.10" - object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -4455,9 +4447,9 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.4.2.tgz#bcdd95ed1eca434ac7f98ca26ea4d25a2af6a2ac" +prettier@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.5.2.tgz#7ea0751da27b93bfb6cecfcec509994f52d83bb3" pretty-format@^20.0.3: version "20.0.3" @@ -4555,10 +4547,14 @@ qs@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/qs/-/qs-4.0.0.tgz#c31d9b74ec27df75e543a86c78728ed8d4623607" -qs@6.4.0, qs@^6.4.0, qs@~6.4.0: +qs@6.4.0, qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" +qs@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.0.tgz#8d04954d364def3efc55b5a0793e1e2c8b1e6e49" + querystring@0.2.0, querystring@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" @@ -4613,13 +4609,9 @@ react-devtools-core@^2.1.8: shell-quote "^1.6.1" ws "^2.0.3" -react-native-actionsheet@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/react-native-actionsheet/-/react-native-actionsheet-2.1.0.tgz#e1b58bd951f4fcc1c5ebbb769fff5c693f12e23a" - -react-native-code-push@^2.0.3-beta: - version "2.0.3-beta" - resolved "https://registry.yarnpkg.com/react-native-code-push/-/react-native-code-push-2.0.3-beta.tgz#2eca24e125a85711abda4e5a553deb4ff61c9177" +react-native-code-push@^3.0.0-beta: + version "3.0.0-beta" + resolved "https://registry.yarnpkg.com/react-native-code-push/-/react-native-code-push-3.0.0-beta.tgz#9cd3afb719b66d9f08c5f093f15f902ec1da8845" dependencies: code-push "1.11.2-beta" glob "^5.0.15" @@ -4643,9 +4635,9 @@ react-native-drawer-layout@1.3.1: dependencies: react-native-dismiss-keyboard "1.0.0" -react-native-immutable-list-view@^0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/react-native-immutable-list-view/-/react-native-immutable-list-view-0.4.5.tgz#47e15e3ed2b34a493c2bcd5eaccae4ff17d368d9" +react-native-immutable-list-view@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/react-native-immutable-list-view/-/react-native-immutable-list-view-0.5.0.tgz#4462ef1c334cef436fc9ad8bbbb8a4d6ad94bba5" dependencies: immutable ">=3.8" @@ -4653,9 +4645,9 @@ react-native-linear-gradient@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/react-native-linear-gradient/-/react-native-linear-gradient-2.0.0.tgz#7442c00e1fcd9fca329119dcbaf744d12bcd1b5a" -react-native-prompt-android@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/react-native-prompt-android/-/react-native-prompt-android-0.0.5.tgz#dfc5fd2068da3b894d9bd4fe59082e775d141122" +react-native-prompt-android@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/react-native-prompt-android/-/react-native-prompt-android-0.0.8.tgz#4632b6bf3f7af120136b0d0503aa827cb78faeeb" react-native-safari-view@^2.0.0: version "2.0.0" @@ -4675,15 +4667,15 @@ react-native-vector-icons@^4.2.0: prop-types "^15.5.8" yargs "^6.3.0" -react-native-wkwebview-reborn@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/react-native-wkwebview-reborn/-/react-native-wkwebview-reborn-1.4.0.tgz#5558ac1f7bc8e7ac30bc6f8b30e5ab4ab64523f8" +react-native-wkwebview-reborn@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/react-native-wkwebview-reborn/-/react-native-wkwebview-reborn-1.6.0.tgz#5b772df13906451a35b9bc0c057798e4bcb4da97" dependencies: fbjs "^0.8.3" -react-native@^0.45.0-rc.2: - version "0.45.0-rc.2" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.45.0-rc.2.tgz#e28c048403f6c13cb0d201ce0577549181558367" +react-native@0.45.1: + version "0.45.1" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.45.1.tgz#b3283c4a88233421f9c662a2ff1a4ccc8a9f07c0" dependencies: absolute-path "^0.0.0" art "^0.10.0" @@ -4800,9 +4792,9 @@ react-redux@^5.0.5: loose-envify "^1.1.0" prop-types "^15.5.10" -react-test-renderer@^15.5.4: - version "15.5.4" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-15.5.4.tgz#d4ebb23f613d685ea8f5390109c2d20fbf7c83bc" +react-test-renderer@^15.6.1: + version "15.6.1" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-15.6.1.tgz#026f4a5bb5552661fd2cc4bbcd0d4bc8a35ebf7e" dependencies: fbjs "^0.8.9" object-assign "^4.1.0" @@ -4957,26 +4949,26 @@ redux-persist-transform-immutable@^4.1.0: transit-immutable-js "^0.7.0" transit-js "^0.8.846" -redux-persist@^4.0.0, redux-persist@^4.8.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/redux-persist/-/redux-persist-4.8.0.tgz#17fd998949bdeef9275e4cf60ad5bbe1c73675fc" +redux-persist@^4.0.0, redux-persist@^4.8.2: + version "4.8.2" + resolved "https://registry.yarnpkg.com/redux-persist/-/redux-persist-4.8.2.tgz#7941202e0ce0a9fcc0263d66965f5263d34f43b9" dependencies: json-stringify-safe "^5.0.1" lodash "^4.17.4" lodash-es "^4.17.4" -redux-saga@^0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-0.15.3.tgz#be2b86b4ad46bf0d84fcfcb0ca96cfc33db91acb" +redux-saga@^0.15.4: + version "0.15.4" + resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-0.15.4.tgz#27982a947280053b7ecbb5d3170c837a5fe6b261" -redux@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/redux/-/redux-3.6.0.tgz#887c2b3d0b9bd86eca2be70571c27654c19e188d" +redux@^3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.1.tgz#bfc535c757d3849562ead0af18ac52122cd7268e" dependencies: lodash "^4.2.1" lodash-es "^4.2.1" loose-envify "^1.1.0" - symbol-observable "^1.0.2" + symbol-observable "^1.0.3" regenerate@^1.2.1: version "1.3.2" @@ -5043,9 +5035,9 @@ remote-redux-devtools-on-debugger@^0.7.1: minimist "^1.2.0" remotedev-server "^0.2.2" -remote-redux-devtools@^0.5.11: - version "0.5.11" - resolved "https://registry.yarnpkg.com/remote-redux-devtools/-/remote-redux-devtools-0.5.11.tgz#c7e809f5f6fed14760db4a7a11dce0399c1703ca" +remote-redux-devtools@^0.5.12: + version "0.5.12" + resolved "https://registry.yarnpkg.com/remote-redux-devtools/-/remote-redux-devtools-0.5.12.tgz#42cb95dfa9e54c1d9671317c5e7bba41e68caec2" dependencies: jsan "^3.1.5" querystring "^0.2.0" @@ -5169,7 +5161,7 @@ resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -resolve@^1.1.6, resolve@^1.3.2: +resolve@^1.1.6, resolve@^1.2.0, resolve@^1.3.2: version "1.3.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" dependencies: @@ -5456,8 +5448,8 @@ shell-quote@1.6.1, shell-quote@^1.6.1: jsonify "~0.0.0" shelljs@^0.7.5: - version "0.7.7" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" + version "0.7.8" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" dependencies: glob "^7.0.0" interpret "^1.0.0" @@ -5750,28 +5742,31 @@ strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" -"styled-components@git+https://github.com/brunolemos/styled-components.git#master-npm": - version "2.0.0" - resolved "git+https://github.com/brunolemos/styled-components.git#344eda29429478a1a119661bb845ba75d695a934" +styled-components@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.1.0.tgz#425805fca7efa5880aad2171f986bfd8a2f0808f" dependencies: buffer "^5.0.3" css-to-react-native "^2.0.3" fbjs "^0.8.9" hoist-non-react-statics "^1.2.0" - inline-style-prefixer "^2.0.5" is-function "^1.0.1" is-plain-object "^2.0.1" prop-types "^15.5.4" - stylis "^3.0.16" + stylis "^3.0.19" supports-color "^3.2.3" -stylis@^3.0.16: - version "3.0.16" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.0.16.tgz#1059fa270934bc8bffbf06ac37418f0fb479ac04" +stylis@^3.0.19: + version "3.2.1" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.2.1.tgz#7a88988f8ccb5c238be3cc3cec173735cc594740" superagent-proxy@^1.0.0: version "1.0.2" @@ -5806,7 +5801,7 @@ supports-color@^3.1.2, supports-color@^3.2.3: dependencies: has-flag "^1.0.0" -symbol-observable@^1.0.1, symbol-observable@^1.0.2: +symbol-observable@^1.0.1, symbol-observable@^1.0.2, symbol-observable@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"