From 634cb9b7f89535e8528a66d8b682fc17af14d8f2 Mon Sep 17 00:00:00 2001 From: ledger-bot <37080477+ledger-bot@users.noreply.github.com> Date: Fri, 29 Jun 2018 18:11:08 +0200 Subject: [PATCH 01/62] New translations errors.yml (French) --- static/i18n/fr/errors.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/i18n/fr/errors.yml b/static/i18n/fr/errors.yml index 35e32c36..71e08848 100644 --- a/static/i18n/fr/errors.yml +++ b/static/i18n/fr/errors.yml @@ -18,8 +18,8 @@ DisconnectedDevice: title: 'The device was disconnected.' description: '' Error: - title: 'Oops, an error occurred.' - description: '{{message}}' + title: '{{message}}' + description: 'Something went wrong. Please contact our support.' FeeEstimationFailed: title: 'Fee estimation error. Try again or set a custom fee (status: {{status}})' description: '' From 22226af1ac3d171b51ea256a748a49ba49e2b8a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sat, 30 Jun 2018 08:17:52 +0200 Subject: [PATCH 02/62] add SyncContinuouslyPendingOperations --- src/bridge/BridgeSyncContext.js | 7 +- .../SyncContinouslyPendingOperations.js | 65 +++++++++++++++++++ src/components/layout/Default.js | 4 ++ src/config/constants.js | 1 + 4 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 src/components/SyncContinouslyPendingOperations.js diff --git a/src/bridge/BridgeSyncContext.js b/src/bridge/BridgeSyncContext.js index dcba6613..e8df3923 100644 --- a/src/bridge/BridgeSyncContext.js +++ b/src/bridge/BridgeSyncContext.js @@ -45,6 +45,7 @@ export type BehaviorAction = | { type: 'BACKGROUND_TICK' } | { type: 'SET_SKIP_UNDER_PRIORITY', priority: number } | { type: 'SYNC_ONE_ACCOUNT', accountId: string, priority: number } + | { type: 'SYNC_SOME_ACCOUNTS', accountIds: string[], priority: number } | { type: 'SYNC_ALL_ACCOUNTS', priority: number } export type Sync = (action: BehaviorAction) => void @@ -64,7 +65,6 @@ const actions = { class Provider extends Component { constructor() { super() - const synchronize = (accountId: string, next: () => void) => { const state = syncStateLocalSelector(this.props.bridgeSync, { accountId }) if (state.pending) { @@ -104,6 +104,7 @@ class Provider extends Component { const schedule = (ids: string[], priority: number) => { if (priority < skipUnderPriority) return // by convention we remove concurrent tasks with same priority + // FIXME this is somehow a hack. ideally we should just dedup the account ids in the pending queue... syncQueue.remove(o => priority === o.priority) syncQueue.push(ids, -priority) } @@ -131,6 +132,10 @@ class Provider extends Component { SYNC_ONE_ACCOUNT: ({ accountId, priority }) => { schedule([accountId], priority) }, + + SYNC_SOME_ACCOUNTS: ({ accountIds, priority }) => { + schedule(accountIds, priority) + }, } const sync = (action: BehaviorAction) => { diff --git a/src/components/SyncContinouslyPendingOperations.js b/src/components/SyncContinouslyPendingOperations.js new file mode 100644 index 00000000..764f2732 --- /dev/null +++ b/src/components/SyncContinouslyPendingOperations.js @@ -0,0 +1,65 @@ +// @flow +// Sync continuously the accounts that have pending operations + +import React, { Component } from 'react' +import logger from 'logger' +import { createStructuredSelector, createSelector } from 'reselect' +import { connect } from 'react-redux' +import type { Account } from '@ledgerhq/live-common/lib/types' +import { BridgeSyncConsumer } from 'bridge/BridgeSyncContext' +import type { Sync } from 'bridge/BridgeSyncContext' +import { accountsSelector } from 'reducers/accounts' + +const accountsWithPendingOperationsSelector = createSelector(accountsSelector, accounts => + accounts.filter(a => a.pendingOperations.length > 0), +) + +class SyncContPendingOpsConnected extends Component<{ + sync: Sync, + accounts: Account[], + priority: number, + interval: number, +}> { + componentDidMount() { + this.timeout = setTimeout(this.check, this.props.interval) + } + componentWillUnmount() { + clearTimeout(this.timeout) + } + check = () => { + const { sync, accounts, priority, interval } = this.props + setTimeout(this.check, interval) + if (accounts.length > 0) { + logger.log(`SyncContinouslyPendingOperations: found ${accounts.length} accounts`, accounts) + sync({ + type: 'SYNC_SOME_ACCOUNTS', + accountIds: accounts.map(a => a.id), + priority, + }) + } + } + timeout: * + render() { + return null + } +} + +const Effect = connect( + createStructuredSelector({ + accounts: accountsWithPendingOperationsSelector, + }), +)(SyncContPendingOpsConnected) + +const SyncContinuouslyPendingOperations = ({ + priority, + interval, +}: { + priority: number, + interval: number, +}) => ( + + {sync => } + +) + +export default SyncContinuouslyPendingOperations diff --git a/src/components/layout/Default.js b/src/components/layout/Default.js index 393c91f7..d12f38bf 100644 --- a/src/components/layout/Default.js +++ b/src/components/layout/Default.js @@ -5,6 +5,7 @@ import { compose } from 'redux' import styled from 'styled-components' import { Route, withRouter } from 'react-router' import { translate } from 'react-i18next' +import { SYNC_PENDING_INTERVAL } from 'config/constants' import type { Location } from 'react-router' @@ -26,6 +27,7 @@ import AppRegionDrag from 'components/AppRegionDrag' import IsUnlocked from 'components/IsUnlocked' import SideBar from 'components/MainSideBar' import TopBar from 'components/TopBar' +import SyncContinuouslyPendingOperations from '../SyncContinouslyPendingOperations' const Main = styled(GrowScroll).attrs({ px: 6, @@ -83,6 +85,8 @@ class Default extends Component { ))} + +
diff --git a/src/config/constants.js b/src/config/constants.js index 101731e4..927ee4be 100644 --- a/src/config/constants.js +++ b/src/config/constants.js @@ -35,6 +35,7 @@ export const LISTEN_DEVICES_POLLING_INTERVAL = intFromEnv('LISTEN_DEVICES_POLLIN export const OUTDATED_CONSIDERED_DELAY = intFromEnv('OUTDATED_CONSIDERED_DELAY', 5 * 60 * 1000) export const SYNC_ALL_INTERVAL = 120 * 1000 export const SYNC_BOOT_DELAY = 2 * 1000 +export const SYNC_PENDING_INTERVAL = 10 * 1000 export const SYNC_MAX_CONCURRENT = intFromEnv('LEDGER_SYNC_MAX_CONCURRENT', 1) export const SYNC_TIMEOUT = intFromEnv('SYNC_TIMEOUT', 30 * 1000) From 232c538be2417f0ccfd5d5bf91cd2a42186493e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sat, 30 Jun 2018 10:29:17 +0200 Subject: [PATCH 03/62] Modularize settings --- src/actions/settings.js | 13 +- src/components/RenderError.js | 4 +- src/components/SettingsPage/AboutRowItem.js | 26 ++ src/components/SettingsPage/CleanButton.js | 72 ++++++ .../CounterValueExchangeSelect.js | 53 ++++ .../SettingsPage/CounterValueSelect.js | 58 +++++ src/components/SettingsPage/DevModeButton.js | 39 +++ .../SettingsPage/DisablePasswordButton.js | 133 ++++++++++ src/components/SettingsPage/LanguageSelect.js | 61 +++++ .../SettingsPage/MarketIndicatorRadio.js | 48 ++++ src/components/SettingsPage/RegionSelect.js | 67 +++++ .../SettingsPage/ReleaseNotesButton.js | 45 ++++ src/components/SettingsPage/ResetButton.js | 82 ++++++ .../SettingsPage/SentryLogsButton.js | 39 +++ .../SettingsPage/ShareAnalyticsButton.js | 38 +++ src/components/SettingsPage/index.js | 56 ++--- src/components/SettingsPage/sections/About.js | 97 ++------ .../SettingsPage/sections/Currencies.js | 96 +------ .../SettingsPage/sections/CurrencyRows.js | 114 +++++++++ .../SettingsPage/sections/Display.js | 224 ++++------------- .../SettingsPage/sections/Profile.js | 234 ++---------------- src/components/SettingsPage/sections/Tools.js | 5 +- src/config/constants.js | 1 + src/middlewares/sentry.js | 4 +- src/reducers/settings.js | 12 +- src/renderer/init.js | 4 +- 26 files changed, 1012 insertions(+), 613 deletions(-) create mode 100644 src/components/SettingsPage/AboutRowItem.js create mode 100644 src/components/SettingsPage/CleanButton.js create mode 100644 src/components/SettingsPage/CounterValueExchangeSelect.js create mode 100644 src/components/SettingsPage/CounterValueSelect.js create mode 100644 src/components/SettingsPage/DevModeButton.js create mode 100644 src/components/SettingsPage/DisablePasswordButton.js create mode 100644 src/components/SettingsPage/LanguageSelect.js create mode 100644 src/components/SettingsPage/MarketIndicatorRadio.js create mode 100644 src/components/SettingsPage/RegionSelect.js create mode 100644 src/components/SettingsPage/ReleaseNotesButton.js create mode 100644 src/components/SettingsPage/ResetButton.js create mode 100644 src/components/SettingsPage/SentryLogsButton.js create mode 100644 src/components/SettingsPage/ShareAnalyticsButton.js create mode 100644 src/components/SettingsPage/sections/CurrencyRows.js diff --git a/src/actions/settings.js b/src/actions/settings.js index 381000a8..db6b9833 100644 --- a/src/actions/settings.js +++ b/src/actions/settings.js @@ -4,12 +4,23 @@ import type { Dispatch } from 'redux' import type { SettingsState as Settings } from 'reducers/settings' import type { Currency } from '@ledgerhq/live-common/lib/types' -export type SaveSettings = Settings => { type: string, payload: $Shape } +export type SaveSettings = ($Shape) => { type: string, payload: $Shape } + export const saveSettings: SaveSettings = payload => ({ type: 'DB:SAVE_SETTINGS', payload, }) +export const setDeveloperMode = (developerMode: boolean) => saveSettings({ developerMode }) +export const setSentryLogs = (sentryLogs: boolean) => saveSettings({ sentryLogs }) +export const setShareAnalytics = (shareAnalytics: boolean) => saveSettings({ shareAnalytics }) +export const setMarketIndicator = (marketIndicator: *) => saveSettings({ marketIndicator }) +export const setCounterValue = (counterValue: string) => saveSettings({ counterValue }) +export const setLanguage = (language: ?string) => saveSettings({ language }) +export const setRegion = (region: ?string) => saveSettings({ region }) +export const setCounterValueExchange = (counterValueExchange: ?string) => + saveSettings({ counterValueExchange }) + type FetchSettings = (*) => (Dispatch<*>) => void export const fetchSettings: FetchSettings = (settings: *) => dispatch => { dispatch({ diff --git a/src/components/RenderError.js b/src/components/RenderError.js index 7956a473..4de77099 100644 --- a/src/components/RenderError.js +++ b/src/components/RenderError.js @@ -17,7 +17,9 @@ import Space from 'components/base/Space' import Button from 'components/base/Button' import ConfirmModal from 'components/base/Modal/ConfirmModal' import IconTriangleWarning from 'icons/TriangleWarning' -import { IconWrapperCircle } from './SettingsPage/sections/Profile' + +// SERIOUSLY plz refactor to use +import { IconWrapperCircle } from './SettingsPage/ResetButton' type Props = { error: Error, diff --git a/src/components/SettingsPage/AboutRowItem.js b/src/components/SettingsPage/AboutRowItem.js new file mode 100644 index 00000000..012c809e --- /dev/null +++ b/src/components/SettingsPage/AboutRowItem.js @@ -0,0 +1,26 @@ +// @flow +import React, { PureComponent } from 'react' +import { shell } from 'electron' +import IconExternalLink from 'icons/ExternalLink' +import { Tabbable } from 'components/base/Box' +import { SettingsSectionRow } from './SettingsSection' + +export default class AboutRowItem extends PureComponent<{ + url: string, + title: string, + desc: string, + url: string, +}> { + onClick = () => shell.openExternal(this.props.url) + + render() { + const { title, desc } = this.props + return ( + + + + + + ) + } +} diff --git a/src/components/SettingsPage/CleanButton.js b/src/components/SettingsPage/CleanButton.js new file mode 100644 index 00000000..51690e90 --- /dev/null +++ b/src/components/SettingsPage/CleanButton.js @@ -0,0 +1,72 @@ +// @flow + +import React, { Fragment, PureComponent } from 'react' +import { connect } from 'react-redux' +import { translate } from 'react-i18next' +import type { T } from 'types/common' +import { remote } from 'electron' +import { cleanAccountsCache } from 'actions/accounts' +import db from 'helpers/db' +import { delay } from 'helpers/promise' +import Button from 'components/base/Button' +import { ConfirmModal } from 'components/base/Modal' + +const mapDispatchToProps = { + cleanAccountsCache, +} + +type Props = { + t: T, + cleanAccountsCache: () => *, +} + +type State = { + opened: boolean, +} + +class CleanButton extends PureComponent { + state = { + opened: false, + } + + open = () => this.setState({ opened: true }) + + close = () => this.setState({ opened: false }) + + action = async () => { + this.props.cleanAccountsCache() + await delay(500) + db.cleanCache() + remote.getCurrentWindow().webContents.reload() + } + + render() { + const { t } = this.props + const { opened } = this.state + return ( + + + + + + ) + } +} + +export default translate()( + connect( + null, + mapDispatchToProps, + )(CleanButton), +) diff --git a/src/components/SettingsPage/CounterValueExchangeSelect.js b/src/components/SettingsPage/CounterValueExchangeSelect.js new file mode 100644 index 00000000..5de9faac --- /dev/null +++ b/src/components/SettingsPage/CounterValueExchangeSelect.js @@ -0,0 +1,53 @@ +// @flow + +import React, { Fragment, PureComponent } from 'react' +import { connect } from 'react-redux' +import { createStructuredSelector } from 'reselect' +import { + counterValueCurrencySelector, + counterValueExchangeSelector, + intermediaryCurrency, +} from 'reducers/settings' +import { setCounterValueExchange } from 'actions/settings' +import type { Currency } from '@ledgerhq/live-common/lib/types' +import SelectExchange from 'components/SelectExchange' + +type Props = { + counterValueCurrency: Currency, + counterValueExchange: ?string, + setCounterValueExchange: (?string) => void, +} + +class CounterValueExchangeSelect extends PureComponent { + handleChangeExchange = (exchange: *) => + this.props.setCounterValueExchange(exchange ? exchange.id : null) + + render() { + const { counterValueCurrency, counterValueExchange } = this.props + + return ( + + {counterValueCurrency ? ( + + ) : null} + + ) + } +} + +export default connect( + createStructuredSelector({ + counterValueCurrency: counterValueCurrencySelector, + counterValueExchange: counterValueExchangeSelector, + }), + { + setCounterValueExchange, + }, +)(CounterValueExchangeSelect) diff --git a/src/components/SettingsPage/CounterValueSelect.js b/src/components/SettingsPage/CounterValueSelect.js new file mode 100644 index 00000000..abfd82a7 --- /dev/null +++ b/src/components/SettingsPage/CounterValueSelect.js @@ -0,0 +1,58 @@ +// @flow + +import React, { Fragment, PureComponent } from 'react' +import { connect } from 'react-redux' +import { createStructuredSelector } from 'reselect' +import { listFiatCurrencies } from '@ledgerhq/live-common/lib/helpers/currencies' +import type { Currency } from '@ledgerhq/live-common/lib/types' +import { setCounterValue } from 'actions/settings' +import { counterValueCurrencySelector } from 'reducers/settings' +import Select from 'components/base/Select' + +const fiats = listFiatCurrencies() + .map(f => f.units[0]) + // For now we take first unit, in the future we'll need to figure out something else + .map(fiat => ({ + value: fiat.code, + label: `${fiat.name} - ${fiat.code}${fiat.symbol ? ` (${fiat.symbol})` : ''}`, + fiat, + })) + +type Props = { + counterValueCurrency: Currency, + setCounterValue: string => void, +} + +class CounterValueSelect extends PureComponent { + handleChangeCounterValue = (item: Object) => { + const { setCounterValue } = this.props + setCounterValue(item.fiat.code) + } + + render() { + const { counterValueCurrency } = this.props + const cvOption = fiats.find(f => f.value === counterValueCurrency.ticker) + + return ( + + {/* TODO Track */} + item && item.name} + value={currentLanguage} + options={this.languages} + /> + + ) + } +} + +export default translate()( + connect( + langAndRegionSelector, + { + setLanguage, + }, + )(LanguageSelect), +) diff --git a/src/components/SettingsPage/MarketIndicatorRadio.js b/src/components/SettingsPage/MarketIndicatorRadio.js new file mode 100644 index 00000000..3f822e70 --- /dev/null +++ b/src/components/SettingsPage/MarketIndicatorRadio.js @@ -0,0 +1,48 @@ +// @flow + +import React, { PureComponent } from 'react' +import { translate } from 'react-i18next' +import type { T } from 'types/common' +import { connect } from 'react-redux' +import { createStructuredSelector } from 'reselect' +import { setMarketIndicator } from 'actions/settings' +import { marketIndicatorSelector } from 'reducers/settings' +import RadioGroup from 'components/base/RadioGroup' + +type Props = { + t: T, + setMarketIndicator: (*) => *, + marketIndicator: *, +} + +class MarketIndicatorRadio extends PureComponent { + indicators = [ + { + label: this.props.t('app:common.eastern'), + key: 'eastern', + }, + { + label: this.props.t('app:common.western'), + key: 'western', + }, + ] + + onChange = (item: Object) => { + const { setMarketIndicator } = this.props + setMarketIndicator(item.key) + } + + render() { + const { marketIndicator } = this.props + return ( + + ) + } +} + +export default translate()( + connect( + createStructuredSelector({ marketIndicator: marketIndicatorSelector }), + { setMarketIndicator }, + )(MarketIndicatorRadio), +) diff --git a/src/components/SettingsPage/RegionSelect.js b/src/components/SettingsPage/RegionSelect.js new file mode 100644 index 00000000..2327b204 --- /dev/null +++ b/src/components/SettingsPage/RegionSelect.js @@ -0,0 +1,67 @@ +// @flow + +import React, { Fragment, PureComponent } from 'react' +import { connect } from 'react-redux' +import { createSelector } from 'reselect' +import { setRegion } from 'actions/settings' +import { langAndRegionSelector, counterValueCurrencySelector } from 'reducers/settings' +import type { Currency } from '@ledgerhq/live-common/lib/types' +import type { T } from 'types/common' + +import regionsByKey from 'helpers/regions.json' +import Select from 'components/base/Select' + +const regions = Object.keys(regionsByKey).map(key => { + const [language, region] = key.split('-') + return { value: key, language, region, label: regionsByKey[key] } +}) + +type Props = { + t: T, + counterValueCurrency: Currency, + useSystem: boolean, + language: string, + region: ?string, + setRegion: (?string) => void, +} + +class RegionSelect extends PureComponent { + handleChangeRegion = ({ region }: *) => { + const { setRegion } = this.props + setRegion(region) + } + + render() { + const { language, region } = this.props + + const regionsFiltered = regions.filter(item => language === item.language) + const currentRegion = regionsFiltered.find(item => item.region === region) || regionsFiltered[0] + + return ( + + (item ? item.name : '')} - renderSelected={item => item && item.name} - options={fiats} - value={cvOption} - /> + + + + - {counterValueCurrency ? ( - - - - ) : null} - item && item.name} - value={currentRegion} - options={regionsFiltered} - /> + )} - + @@ -230,4 +83,15 @@ class TabProfile extends PureComponent { } } -export default TabProfile +export default translate()( + connect( + createSelector( + langAndRegionSelector, + counterValueCurrencySelector, + ({ useSystem }, counterValueCurrency) => ({ + useSystem, + counterValueCurrency, + }), + ), + )(TabGeneral), +) diff --git a/src/components/SettingsPage/sections/Profile.js b/src/components/SettingsPage/sections/Profile.js index 3baafcff..801e9835 100644 --- a/src/components/SettingsPage/sections/Profile.js +++ b/src/components/SettingsPage/sections/Profile.js @@ -1,31 +1,17 @@ // @flow - -import React, { PureComponent } from 'react' -import { connect } from 'react-redux' -import styled from 'styled-components' -import { remote } from 'electron' -import bcrypt from 'bcryptjs' - -import { cleanAccountsCache } from 'actions/accounts' -import { unlock } from 'reducers/application' // FIXME should be in actions -import db, { setEncryptionKey } from 'helpers/db' -import { delay } from 'helpers/promise' -import hardReset from 'helpers/hardReset' - -import type { SettingsState } from 'reducers/settings' +import React, { Component } from 'react' +import { translate } from 'react-i18next' import type { T } from 'types/common' -import Track from 'analytics/Track' import TrackPage from 'analytics/TrackPage' import ExportLogsBtn from 'components/ExportLogsBtn' -import CheckBox from 'components/base/CheckBox' -import Box from 'components/base/Box' -import Button from 'components/base/Button' -import { ConfirmModal } from 'components/base/Modal' -import IconTriangleWarning from 'icons/TriangleWarning' import IconUser from 'icons/User' -import PasswordModal from '../PasswordModal' -import DisablePasswordModal from '../DisablePasswordModal' +import DisablePasswordButton from '../DisablePasswordButton' +import DevModeButton from '../DevModeButton' +import SentryLogsButton from '../SentryLogsButton' +import ShareAnalyticsButton from '../ShareAnalyticsButton' +import CleanButton from '../CleanButton' +import ResetButton from '../ResetButton' import { SettingsSection as Section, @@ -34,117 +20,13 @@ import { SettingsSectionRow as Row, } from '../SettingsSection' -const mapDispatchToProps = { - unlock, - cleanAccountsCache, -} - type Props = { t: T, - settings: SettingsState, - unlock: Function, - saveSettings: Function, - cleanAccountsCache: () => *, -} - -type State = { - isHardResetModalOpened: boolean, - isSoftResetModalOpened: boolean, - isPasswordModalOpened: boolean, - isDisablePasswordModalOpened: boolean, - isHardResetting: boolean, } -class TabProfile extends PureComponent { - state = { - isHardResetModalOpened: false, - isSoftResetModalOpened: false, - isPasswordModalOpened: false, - isDisablePasswordModalOpened: false, - isHardResetting: false, - } - - setPassword = password => { - const { saveSettings, unlock } = this.props - window.requestIdleCallback(() => { - setEncryptionKey('accounts', password) - const hash = password ? bcrypt.hashSync(password, 8) : undefined - saveSettings({ - password: { - isEnabled: hash !== undefined, - value: hash, - }, - }) - unlock() - }) - } - - handleOpenSoftResetModal = () => this.setState({ isSoftResetModalOpened: true }) - handleCloseSoftResetModal = () => this.setState({ isSoftResetModalOpened: false }) - handleOpenHardResetModal = () => this.setState({ isHardResetModalOpened: true }) - handleCloseHardResetModal = () => this.setState({ isHardResetModalOpened: false }) - handleOpenPasswordModal = () => this.setState({ isPasswordModalOpened: true }) - handleClosePasswordModal = () => this.setState({ isPasswordModalOpened: false }) - handleDisablePassowrd = () => this.setState({ isDisablePasswordModalOpened: true }) - handleCloseDisablePasswordModal = () => this.setState({ isDisablePasswordModalOpened: false }) - - handleSoftReset = async () => { - this.props.cleanAccountsCache() - await delay(500) - db.cleanCache() - remote.getCurrentWindow().webContents.reload() - } - - handleHardReset = async () => { - this.setState({ isHardResetting: true }) - try { - await hardReset() - remote.getCurrentWindow().webContents.reloadIgnoringCache() - } catch (err) { - this.setState({ isHardResetting: false }) - } - } - - handleChangePasswordCheck = isChecked => { - if (isChecked) { - this.handleOpenPasswordModal() - } else { - this.handleDisablePassowrd() - } - } - - handleChangePassword = (password: ?string) => { - if (password) { - this.setPassword(password) - this.handleClosePasswordModal() - } else { - this.setPassword(undefined) - this.handleCloseDisablePasswordModal() - } - } - - handleDeveloperMode = developerMode => { - this.props.saveSettings({ - developerMode, - }) - } - - hardResetIconRender = () => ( - - - - ) - +class TabProfile extends Component { render() { - const { t, settings, saveSettings } = this.props - const { - isSoftResetModalOpened, - isHardResetModalOpened, - isPasswordModalOpened, - isDisablePasswordModalOpened, - isHardResetting, - } = this.state - const isPasswordEnabled = settings.password.isEnabled === true + const { t } = this.props return (
@@ -158,56 +40,31 @@ class TabProfile extends PureComponent { title={t('app:settings.profile.password')} desc={t('app:settings.profile.passwordDesc')} > - - - {isPasswordEnabled && ( - - )} - - + - - saveSettings({ sentryLogs })} - /> + - - saveSettings({ shareAnalytics })} - /> + - - saveSettings({ developerMode })} - /> + - + @@ -216,69 +73,12 @@ class TabProfile extends PureComponent { title={t('app:settings.profile.hardResetTitle')} desc={t('app:settings.profile.hardResetDesc')} > - + - - - - - - - -
) } } -export default connect( - null, - mapDispatchToProps, -)(TabProfile) - -// TODO: need a helper file for common styles across the app -export const IconWrapperCircle = styled(Box).attrs({})` - width: 50px; - height: 50px; - border-radius: 50%; - background: #ea2e4919; - text-align: -webkit-center; - justify-content: center; -` +export default translate()(TabProfile) diff --git a/src/components/SettingsPage/sections/Tools.js b/src/components/SettingsPage/sections/Tools.js index 6641db8e..b895ec28 100644 --- a/src/components/SettingsPage/sections/Tools.js +++ b/src/components/SettingsPage/sections/Tools.js @@ -1,8 +1,7 @@ // @flow -/* eslint-disable react/jsx-no-literals */ // FIXME import React, { PureComponent } from 'react' - +import { translate } from 'react-i18next' import Box, { Card } from 'components/base/Box' import Modal, { ModalBody, ModalContent, ModalTitle } from 'components/base/Modal' import Button from 'components/base/Button' @@ -53,4 +52,4 @@ class TabProfile extends PureComponent<*, *> { } } -export default TabProfile +export default translate()(TabProfile) diff --git a/src/config/constants.js b/src/config/constants.js index 101731e4..cf58d14b 100644 --- a/src/config/constants.js +++ b/src/config/constants.js @@ -80,6 +80,7 @@ export const DISABLE_ACTIVITY_INDICATORS = boolFromEnv('DISABLE_ACTIVITY_INDICAT export const EXPERIMENTAL_CENTER_MODAL = boolFromEnv('EXPERIMENTAL_CENTER_MODAL') export const EXPERIMENTAL_FIRMWARE_UPDATE = boolFromEnv('EXPERIMENTAL_FIRMWARE_UPDATE') export const EXPERIMENTAL_HTTP_ON_RENDERER = boolFromEnv('EXPERIMENTAL_HTTP_ON_RENDERER') +export const EXPERIMENTAL_TOOLS_SETTINGS = boolFromEnv('EXPERIMENTAL_TOOLS_SETTINGS') // Other constants diff --git a/src/middlewares/sentry.js b/src/middlewares/sentry.js index 212764c6..984b369f 100644 --- a/src/middlewares/sentry.js +++ b/src/middlewares/sentry.js @@ -1,12 +1,12 @@ import { ipcRenderer } from 'electron' -import { sentryLogsBooleanSelector } from 'reducers/settings' +import { sentryLogsSelector } from 'reducers/settings' let isSentryInstalled = false export default store => next => action => { next(action) const state = store.getState() - const sentryLogs = sentryLogsBooleanSelector(state) + const sentryLogs = sentryLogsSelector(state) if (sentryLogs !== isSentryInstalled) { isSentryInstalled = sentryLogs ipcRenderer.send('sentryLogsChanged', { value: sentryLogs }) diff --git a/src/reducers/settings.js b/src/reducers/settings.js index 6a5d20e1..e78334f2 100644 --- a/src/reducers/settings.js +++ b/src/reducers/settings.js @@ -27,6 +27,8 @@ export const timeRangeDaysByKey = { export type TimeRange = $Keys +export type { CurrencySettings } + export type SettingsState = { loaded: boolean, // is the settings loaded from db (it not we don't save them) hasCompletedOnboarding: boolean, @@ -163,10 +165,12 @@ export const lastUsedVersionSelector = (state: State): string => state.settings. export const availableCurrencies = createSelector(developerModeSelector, listCryptoCurrencies) -export const langAndRegionSelector = (state: State): { language: string, region: ?string } => { +export const langAndRegionSelector = ( + state: State, +): { language: string, region: ?string, useSystem: boolean } => { let { language, region } = state.settings if (language && languages.includes(language)) { - return { language, region } + return { language, region, useSystem: false } } const locale = getSystemLocale() language = locale.language @@ -175,7 +179,7 @@ export const langAndRegionSelector = (state: State): { language: string, region: language = 'en' region = 'US' } - return { language, region } + return { language, region, useSystem: true } } export const languageSelector = createSelector(langAndRegionSelector, o => o.language) @@ -220,7 +224,7 @@ export const exchangeSettingsForAccountSelector: ESFAS = createSelector( ) export const marketIndicatorSelector = (state: State) => state.settings.marketIndicator -export const sentryLogsBooleanSelector = (state: State) => state.settings.sentryLogs +export const sentryLogsSelector = (state: State) => state.settings.sentryLogs export const shareAnalyticsSelector = (state: State) => state.settings.shareAnalytics export const selectedTimeRangeSelector = (state: State) => state.settings.selectedTimeRange diff --git a/src/renderer/init.js b/src/renderer/init.js index dffb2d1f..951590c7 100644 --- a/src/renderer/init.js +++ b/src/renderer/init.js @@ -17,7 +17,7 @@ import { enableGlobalTab, disableGlobalTab, isGlobalTabEnabled } from 'config/gl import { fetchAccounts } from 'actions/accounts' import { fetchSettings } from 'actions/settings' import { isLocked } from 'reducers/application' -import { languageSelector, sentryLogsBooleanSelector } from 'reducers/settings' +import { languageSelector, sentryLogsSelector } from 'reducers/settings' import libcoreGetVersion from 'commands/libcoreGetVersion' import db from 'helpers/db' @@ -58,7 +58,7 @@ async function init() { const language = languageSelector(state) moment.locale(language) - sentry(() => sentryLogsBooleanSelector(store.getState())) + sentry(() => sentryLogsSelector(store.getState())) // FIXME IMO init() really should only be for window. any other case is a hack! const isMainWindow = remote.getCurrentWindow().name === 'MainWindow' From a1713b3634ca02d518313f6e2cc5704676bcd3fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sat, 30 Jun 2018 10:42:46 +0200 Subject: [PATCH 04/62] onboarding: github: use repo link instead of the org link --- src/components/Onboarding/steps/Finish.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/Onboarding/steps/Finish.js b/src/components/Onboarding/steps/Finish.js index bcb20c07..961bbb67 100644 --- a/src/components/Onboarding/steps/Finish.js +++ b/src/components/Onboarding/steps/Finish.js @@ -29,6 +29,7 @@ const ConfettiLayer = styled.div` ` const socialMedia = [ + // FIXME it should just be vdom in place { key: 'twitter', url: 'https://twitter.com/LedgerHQ', @@ -37,7 +38,7 @@ const socialMedia = [ }, { key: 'github', - url: 'https://github.com/LedgerHQ', + url: 'https://github.com/LedgerHQ/ledger-live-desktop', icon: , onClick: url => shell.openExternal(url), }, From d21e142ff4512857232fa0f40c3ddbe9b27575e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sat, 30 Jun 2018 12:14:37 +0200 Subject: [PATCH 05/62] Add a benchmark & remove dead code of EnsureDevice --- src/commands/index.js | 2 + src/commands/ping.js | 15 +++ src/components/EnsureDevice.js | 45 ------- src/components/ManagerPage/FirmwareUpdate.js | 2 - src/components/modals/Debug.js | 121 +++++++++++++------ 5 files changed, 98 insertions(+), 87 deletions(-) create mode 100644 src/commands/ping.js delete mode 100644 src/components/EnsureDevice.js diff --git a/src/commands/index.js b/src/commands/index.js index 4700692c..c8b06136 100644 --- a/src/commands/index.js +++ b/src/commands/index.js @@ -25,6 +25,7 @@ import listApps from 'commands/listApps' import listAppVersions from 'commands/listAppVersions' import listCategories from 'commands/listCategories' import listenDevices from 'commands/listenDevices' +import ping from 'commands/ping' import signTransaction from 'commands/signTransaction' import testApdu from 'commands/testApdu' import testCrash from 'commands/testCrash' @@ -54,6 +55,7 @@ const all: Array> = [ listAppVersions, listCategories, listenDevices, + ping, signTransaction, testApdu, testCrash, diff --git a/src/commands/ping.js b/src/commands/ping.js new file mode 100644 index 00000000..a034967c --- /dev/null +++ b/src/commands/ping.js @@ -0,0 +1,15 @@ +// @flow + +// This is a test example for dev testing purpose. + +import { Observable } from 'rxjs' +import { createCommand, Command } from 'helpers/ipc' + +const cmd: Command = createCommand('ping', () => + Observable.create(o => { + o.next('pong') + o.complete() + }), +) + +export default cmd diff --git a/src/components/EnsureDevice.js b/src/components/EnsureDevice.js deleted file mode 100644 index bf0a5f6d..00000000 --- a/src/components/EnsureDevice.js +++ /dev/null @@ -1,45 +0,0 @@ -// @flow -/* eslint-disable react/no-multi-comp */ - -import { Component, PureComponent } from 'react' -import { connect } from 'react-redux' - -import type { Node } from 'react' -import type { Device } from 'types/common' - -import { getCurrentDevice } from 'reducers/devices' - -type Props = { - device: Device, - children: (device: Device) => Node, -} - -let prevents = 0 -export class PreventDeviceChangeRecheck extends PureComponent<{}> { - componentDidMount() { - prevents++ - } - componentWillUnmount() { - prevents-- - } - render() { - return null - } -} - -class EnsureDevice extends Component { - shouldComponentUpdate(nextProps) { - if (prevents > 0) return false - return nextProps.device !== this.props.device - } - render() { - const { device, children } = this.props - return children(device) - } -} - -const mapStateToProps = state => ({ - device: getCurrentDevice(state), -}) - -export default connect(mapStateToProps)(EnsureDevice) diff --git a/src/components/ManagerPage/FirmwareUpdate.js b/src/components/ManagerPage/FirmwareUpdate.js index a10ebf6d..a83d8a09 100644 --- a/src/components/ManagerPage/FirmwareUpdate.js +++ b/src/components/ManagerPage/FirmwareUpdate.js @@ -27,7 +27,6 @@ import Text from 'components/base/Text' import NanoS from 'icons/device/NanoS' import CheckFull from 'icons/CheckFull' -import { PreventDeviceChangeRecheck } from 'components/EnsureDevice' import UpdateFirmwareButton from './UpdateFirmwareButton' export const getCleanVersion = (input: string): string => @@ -143,7 +142,6 @@ class FirmwareUpdate extends PureComponent {
- {modal !== 'closed' ? : null} {latestFirmware && ( { state = { @@ -37,18 +42,13 @@ class Debug extends Component<*, *> { const currency = getCryptoCurrencyById('bitcoin') const derivation = last(getDerivations(currency)) for (let x = 0; x < 20; x++) { - const obj = { - path: derivation({ currency, segwit: true, x }), - currencyId: currency.id, - devicePath: device.path, - } - - // we start one in parallel just to stress device even more. this test race condition! - getAddress.send(obj) - getAddress.send(obj) - - const { address, path } = await getAddress.send(obj).toPromise() - + const { address, path } = await getAddress + .send({ + path: derivation({ currency, segwit: true, x }), + currencyId: currency.id, + devicePath: device.path, + }) + .toPromise() this.log(`derivated ${path} = ${address}`) } } catch (e) { @@ -72,6 +72,38 @@ class Debug extends Component<*, *> { .subscribe(o => this.log(o.responseHex), e => this.error(e)) } + benchmark = (device: *) => async () => { + const run = async (name, job) => { + const before = window.performance.now() + const res = await job() + const after = window.performance.now() + this.log( + `benchmark: ${Math.round((after - before) * 100) / 100}ms: ${name} => ${String(res)}`, + ) + } + + await run('ping process', () => ping.send().toPromise()) + await run('libcore version', () => + libcoreGetVersion + .send() + .toPromise() + .then(o => o.stringVersion), + ) + const currency = getCryptoCurrencyById('bitcoin') + const derivation = last(getDerivations(currency)) + const obj = { + path: derivation({ currency, segwit: true, x: 0 }), + currencyId: currency.id, + devicePath: device.path, + } + await run('getAddress', () => + getAddress + .send(obj) + .toPromise() + .then(o => o.address), + ) + } + log = (txt: string) => { this.setState(({ logs }) => ({ logs: logs.concat({ txt, type: 'log' }) })) } @@ -83,6 +115,7 @@ class Debug extends Component<*, *> { } render() { + const { device } = this.props const { logs } = this.state return ( { onHide={this.onHide} render={({ onClose }: *) => ( + developer internal tools - - - {device => ( - - )} - - + {device && ( + + + + )} + {device && ( + + + + )} - - {device => ( - - - this.setState({ apdu })} - /> - - - - )} - + device && ( + + + this.setState({ apdu })} + /> + + + + ) { } } -export default Debug +export default connect( + createStructuredSelector({ + device: getCurrentDevice, + }), +)(Debug) From 5db518b08f0b64d6c364716cd3b6ce9f024ee125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sat, 30 Jun 2018 14:52:50 +0200 Subject: [PATCH 06/62] Fix going back on Portfolio after a reset also don't mount app during onboarding for better performance --- src/components/App.js | 18 +++++++++--------- src/components/Onboarding/index.js | 2 ++ src/components/OnboardingOrElse.js | 28 ++++++++++++++++++++++++++++ src/helpers/hardReset.js | 1 + src/reducers/settings.js | 2 ++ 5 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 src/components/OnboardingOrElse.js diff --git a/src/components/App.js b/src/components/App.js index 39c94983..d3dbd19a 100644 --- a/src/components/App.js +++ b/src/components/App.js @@ -12,8 +12,7 @@ import theme from 'styles/theme' import i18n from 'renderer/i18n/electron' -import Onboarding from 'components/Onboarding' - +import OnboardingOrElse from 'components/OnboardingOrElse' import ThrowBlock from 'components/ThrowBlock' import Default from 'components/layout/Default' import Print from 'components/layout/Print' @@ -35,13 +34,14 @@ const App = ({ - - - - - - - + + + + + + + + diff --git a/src/components/Onboarding/index.js b/src/components/Onboarding/index.js index 291e5496..f212c8b0 100644 --- a/src/components/Onboarding/index.js +++ b/src/components/Onboarding/index.js @@ -24,6 +24,7 @@ import { getCurrentDevice } from 'reducers/devices' import { unlock } from 'reducers/application' import Box from 'components/base/Box' +import TriggerAppReady from '../TriggerAppReady' import Start from './steps/Start' import InitStep from './steps/Init' @@ -147,6 +148,7 @@ class Onboarding extends PureComponent { return ( + {step.options.showBreadcrumb && } diff --git a/src/components/OnboardingOrElse.js b/src/components/OnboardingOrElse.js new file mode 100644 index 00000000..f82a9418 --- /dev/null +++ b/src/components/OnboardingOrElse.js @@ -0,0 +1,28 @@ +// @flow + +import React, { PureComponent } from 'react' +import { connect } from 'react-redux' +import { createStructuredSelector } from 'reselect' +import { hasCompletedOnboardingSelector } from 'reducers/settings' +import Onboarding from './Onboarding' + +type Props = { + hasCompletedOnboarding: boolean, + children: *, +} + +class OnboardingOrElse extends PureComponent { + render() { + const { hasCompletedOnboarding, children } = this.props + if (hasCompletedOnboarding) { + return children + } + return + } +} + +export default connect( + createStructuredSelector({ + hasCompletedOnboarding: hasCompletedOnboardingSelector, + }), +)(OnboardingOrElse) diff --git a/src/helpers/hardReset.js b/src/helpers/hardReset.js index aacbdd87..2d4e64ee 100644 --- a/src/helpers/hardReset.js +++ b/src/helpers/hardReset.js @@ -9,4 +9,5 @@ export default async function hardReset() { disableDBMiddleware() db.resetAll() await delay(500) + window.location.href = '' } diff --git a/src/reducers/settings.js b/src/reducers/settings.js index 6a5d20e1..ee8d1163 100644 --- a/src/reducers/settings.js +++ b/src/reducers/settings.js @@ -223,5 +223,7 @@ export const marketIndicatorSelector = (state: State) => state.settings.marketIn export const sentryLogsBooleanSelector = (state: State) => state.settings.sentryLogs export const shareAnalyticsSelector = (state: State) => state.settings.shareAnalytics export const selectedTimeRangeSelector = (state: State) => state.settings.selectedTimeRange +export const hasCompletedOnboardingSelector = (state: State) => + state.settings.hasCompletedOnboarding export default handleActions(handlers, INITIAL_STATE) From 11497ef7a32b724865f60038a889dd2c9620f722 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sat, 30 Jun 2018 20:13:55 +0200 Subject: [PATCH 07/62] Remove UglifyJS and explicitely opt-out from it Uglify ES is to AVOID for all our projects. this create very sneaky bugs with React. --- package.json | 2 - webpack/renderer.config.js | 22 +- yarn.lock | 2062 +++++++++++++++++++----------------- 3 files changed, 1084 insertions(+), 1002 deletions(-) diff --git a/package.json b/package.json index 376b660c..9bd7f360 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,6 @@ } }, "resolutions": { - "uglify-es": "3.3.7", "webpack-sources": "1.0.1" }, "dependencies": { @@ -157,7 +156,6 @@ "prettier": "^1.13.5", "react-hot-loader": "^4.3.2", "react-test-renderer": "^16.4.1", - "uglifyjs-webpack-plugin": "^1.2.6", "webpack": "^4.6.0", "webpack-bundle-analyzer": "^2.11.1", "webpack-cli": "^2.0.14", diff --git a/webpack/renderer.config.js b/webpack/renderer.config.js index 901bedcd..63aa10be 100644 --- a/webpack/renderer.config.js +++ b/webpack/renderer.config.js @@ -1,29 +1,9 @@ const HardSourceWebpackPlugin = require('hard-source-webpack-plugin') -const UglifyJsPlugin = require('uglifyjs-webpack-plugin') const plugins = require('./plugins') const resolve = require('./resolve') const rules = require('./rules') -const getOptimization = env => { - const optimization = { - minimizer: [ - // Default Config without mangling - new UglifyJsPlugin({ - parallel: true, - sourceMap: true, - uglifyOptions: { - mangle: false, - compress: { - ecma: 7, - }, - }, - }), - ], - } - return env === 'production' ? optimization : undefined -} - const config = { mode: __ENV__, plugins: [...plugins('renderer'), new HardSourceWebpackPlugin()], @@ -35,7 +15,7 @@ const config = { historyApiFallback: true, }, optimization: { - ...getOptimization(__ENV__), + minimizer: [], }, } diff --git a/yarn.lock b/yarn.lock index 6fffc844..bdb568a8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -22,11 +22,11 @@ dependencies: "@babel/highlight" "7.0.0-beta.44" -"@babel/code-frame@7.0.0-beta.49", "@babel/code-frame@^7.0.0-beta.35": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.49.tgz#becd805482734440c9d137e46d77340e64d7f51b" +"@babel/code-frame@7.0.0-beta.51", "@babel/code-frame@^7.0.0-beta.35": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.51.tgz#bd71d9b192af978df915829d39d4094456439a0c" dependencies: - "@babel/highlight" "7.0.0-beta.49" + "@babel/highlight" "7.0.0-beta.51" "@babel/core@7.0.0-beta.42": version "7.0.0-beta.42" @@ -49,21 +49,21 @@ source-map "^0.5.0" "@babel/core@^7.0.0-beta.47": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0-beta.49.tgz#73de2081dd652489489f0cb4aa97829a1133314e" - dependencies: - "@babel/code-frame" "7.0.0-beta.49" - "@babel/generator" "7.0.0-beta.49" - "@babel/helpers" "7.0.0-beta.49" - "@babel/parser" "7.0.0-beta.49" - "@babel/template" "7.0.0-beta.49" - "@babel/traverse" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0-beta.51.tgz#0e54bd6b638736b2ae593c31a47f0969e2b2b96d" + dependencies: + "@babel/code-frame" "7.0.0-beta.51" + "@babel/generator" "7.0.0-beta.51" + "@babel/helpers" "7.0.0-beta.51" + "@babel/parser" "7.0.0-beta.51" + "@babel/template" "7.0.0-beta.51" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" convert-source-map "^1.1.0" debug "^3.1.0" json5 "^0.5.0" lodash "^4.17.5" - micromatch "^2.3.11" + micromatch "^3.1.10" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" @@ -88,11 +88,11 @@ source-map "^0.5.0" trim-right "^1.0.1" -"@babel/generator@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.49.tgz#e9cffda913996accec793bbc25ab91bc19d0bf7a" +"@babel/generator@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.51.tgz#6c7575ffde761d07485e04baedc0392c6d9e30f6" dependencies: - "@babel/types" "7.0.0-beta.49" + "@babel/types" "7.0.0-beta.51" jsesc "^2.5.1" lodash "^4.17.5" source-map "^0.5.0" @@ -104,11 +104,11 @@ dependencies: "@babel/types" "7.0.0-beta.42" -"@babel/helper-annotate-as-pure@7.0.0-beta.49", "@babel/helper-annotate-as-pure@^7.0.0-beta.37": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.49.tgz#7d9005d54fe7ad6cb876790251e75575419186e9" +"@babel/helper-annotate-as-pure@7.0.0-beta.51", "@babel/helper-annotate-as-pure@^7.0.0-beta.37": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.51.tgz#38cf7920bf5f338a227f754e286b6fbadee04b58" dependencies: - "@babel/types" "7.0.0-beta.49" + "@babel/types" "7.0.0-beta.51" "@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.42": version "7.0.0-beta.42" @@ -117,12 +117,12 @@ "@babel/helper-explode-assignable-expression" "7.0.0-beta.42" "@babel/types" "7.0.0-beta.42" -"@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.49.tgz#c62dd5042b54a590d5e71e6020c46b91d6c6c875" +"@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.51.tgz#2133fffe3e2f71591e42147b947291ca2ad39237" dependencies: - "@babel/helper-explode-assignable-expression" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" + "@babel/helper-explode-assignable-expression" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" "@babel/helper-builder-react-jsx@7.0.0-beta.42": version "7.0.0-beta.42" @@ -139,13 +139,13 @@ "@babel/traverse" "7.0.0-beta.42" "@babel/types" "7.0.0-beta.42" -"@babel/helper-call-delegate@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.49.tgz#4b5d41782a683d5dc6497834a32310a8d02a3af9" +"@babel/helper-call-delegate@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.51.tgz#04ed727c97cf05bcb2fd644837331ab15d63c819" dependencies: - "@babel/helper-hoist-variables" "7.0.0-beta.49" - "@babel/traverse" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" + "@babel/helper-hoist-variables" "7.0.0-beta.51" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" "@babel/helper-define-map@7.0.0-beta.42": version "7.0.0-beta.42" @@ -155,12 +155,12 @@ "@babel/types" "7.0.0-beta.42" lodash "^4.2.0" -"@babel/helper-define-map@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.49.tgz#4ea067aa720937240df395cd073c24fcad9c2b3b" +"@babel/helper-define-map@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.51.tgz#d88c64737e948c713f9f1153338e8415fee40b11" dependencies: - "@babel/helper-function-name" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" + "@babel/helper-function-name" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" lodash "^4.17.5" "@babel/helper-explode-assignable-expression@7.0.0-beta.42": @@ -170,12 +170,12 @@ "@babel/traverse" "7.0.0-beta.42" "@babel/types" "7.0.0-beta.42" -"@babel/helper-explode-assignable-expression@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.49.tgz#2bfb95df7ec130735bf655e44a217a70d3b13e93" +"@babel/helper-explode-assignable-expression@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.51.tgz#9875332ad8b5d5c982fa481cb82b731703f2cd2d" dependencies: - "@babel/traverse" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" "@babel/helper-function-name@7.0.0-beta.42": version "7.0.0-beta.42" @@ -193,13 +193,13 @@ "@babel/template" "7.0.0-beta.44" "@babel/types" "7.0.0-beta.44" -"@babel/helper-function-name@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.49.tgz#a25c1119b9f035278670126e0225c03041c8de32" +"@babel/helper-function-name@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.51.tgz#21b4874a227cf99ecafcc30a90302da5a2640561" dependencies: - "@babel/helper-get-function-arity" "7.0.0-beta.49" - "@babel/template" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" + "@babel/helper-get-function-arity" "7.0.0-beta.51" + "@babel/template" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" "@babel/helper-get-function-arity@7.0.0-beta.42": version "7.0.0-beta.42" @@ -213,11 +213,11 @@ dependencies: "@babel/types" "7.0.0-beta.44" -"@babel/helper-get-function-arity@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.49.tgz#cf5023f32d2ad92d087374939cec0951bcb51441" +"@babel/helper-get-function-arity@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.51.tgz#3281b2d045af95c172ce91b20825d85ea4676411" dependencies: - "@babel/types" "7.0.0-beta.49" + "@babel/types" "7.0.0-beta.51" "@babel/helper-hoist-variables@7.0.0-beta.42": version "7.0.0-beta.42" @@ -225,24 +225,17 @@ dependencies: "@babel/types" "7.0.0-beta.42" -"@babel/helper-hoist-variables@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.49.tgz#d9740651c93bb4fa79c1b6bac634051fc4d03ff5" - dependencies: - "@babel/types" "7.0.0-beta.49" - -"@babel/helper-member-expression-to-functions@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.49.tgz#2f642b003d45155e0a9e7a4ad0e688d91bbc1583" +"@babel/helper-hoist-variables@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.51.tgz#5d7ebc8596567b644fc989912c3a3ef98be058fc" dependencies: - "@babel/types" "7.0.0-beta.49" + "@babel/types" "7.0.0-beta.51" -"@babel/helper-module-imports@7.0.0-beta.32": - version "7.0.0-beta.32" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.32.tgz#8126fc024107c226879841b973677a4f4e510a03" +"@babel/helper-member-expression-to-functions@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.51.tgz#2a42536574176588806e602eb17a52d323f82870" dependencies: - "@babel/types" "7.0.0-beta.32" - lodash "^4.2.0" + "@babel/types" "7.0.0-beta.51" "@babel/helper-module-imports@7.0.0-beta.35": version "7.0.0-beta.35" @@ -251,6 +244,13 @@ "@babel/types" "7.0.0-beta.35" lodash "^4.2.0" +"@babel/helper-module-imports@7.0.0-beta.40": + version "7.0.0-beta.40" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.40.tgz#251cbb6404599282e8f7356a5b32c9381bef5d2d" + dependencies: + "@babel/types" "7.0.0-beta.40" + lodash "^4.2.0" + "@babel/helper-module-imports@7.0.0-beta.42": version "7.0.0-beta.42" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.42.tgz#4de334b42fa889d560f15122f66c3bfe1f30cb77" @@ -258,11 +258,11 @@ "@babel/types" "7.0.0-beta.42" lodash "^4.2.0" -"@babel/helper-module-imports@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.49.tgz#41d7d59891016c493432a46f7464446552890c75" +"@babel/helper-module-imports@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.51.tgz#ce00428045fbb7d5ebc0ea7bf835789f15366ab2" dependencies: - "@babel/types" "7.0.0-beta.49" + "@babel/types" "7.0.0-beta.51" lodash "^4.17.5" "@babel/helper-module-transforms@7.0.0-beta.42": @@ -276,15 +276,15 @@ "@babel/types" "7.0.0-beta.42" lodash "^4.2.0" -"@babel/helper-module-transforms@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.49.tgz#fc660bda9d6497412e18776a71aed9a9e2e5f7ad" +"@babel/helper-module-transforms@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.51.tgz#13af0c8ee41f277743c8fc43d444315db2326f73" dependencies: - "@babel/helper-module-imports" "7.0.0-beta.49" - "@babel/helper-simple-access" "7.0.0-beta.49" - "@babel/helper-split-export-declaration" "7.0.0-beta.49" - "@babel/template" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" + "@babel/helper-module-imports" "7.0.0-beta.51" + "@babel/helper-simple-access" "7.0.0-beta.51" + "@babel/helper-split-export-declaration" "7.0.0-beta.51" + "@babel/template" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" lodash "^4.17.5" "@babel/helper-optimise-call-expression@7.0.0-beta.42": @@ -293,19 +293,19 @@ dependencies: "@babel/types" "7.0.0-beta.42" -"@babel/helper-optimise-call-expression@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.49.tgz#a98b43c3a6c54bef48f87b10dc4568dec0b41bf7" +"@babel/helper-optimise-call-expression@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.51.tgz#21f2158ef083a123ce1e04665b5bb84f370080d7" dependencies: - "@babel/types" "7.0.0-beta.49" + "@babel/types" "7.0.0-beta.51" "@babel/helper-plugin-utils@7.0.0-beta.42": version "7.0.0-beta.42" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.42.tgz#9aa8b3e5dc72abea6b4f686712a7363cb29ea057" -"@babel/helper-plugin-utils@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.49.tgz#0e9fcbb834f878bb365d2a8ea90eee21ba3ccd23" +"@babel/helper-plugin-utils@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.51.tgz#0f6a5f2b6d1c6444413f8fab60940d79b63c2031" "@babel/helper-regex@7.0.0-beta.42": version "7.0.0-beta.42" @@ -313,9 +313,9 @@ dependencies: lodash "^4.2.0" -"@babel/helper-regex@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0-beta.49.tgz#ff244f19c2a2f167ff4b3165a636b08fd641816b" +"@babel/helper-regex@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0-beta.51.tgz#99722a3c0c704596afb123284b0a888a1a003d82" dependencies: lodash "^4.17.5" @@ -329,15 +329,15 @@ "@babel/traverse" "7.0.0-beta.42" "@babel/types" "7.0.0-beta.42" -"@babel/helper-remap-async-to-generator@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.49.tgz#b3fdaab412784d7e8657bacab286923efc9498b8" +"@babel/helper-remap-async-to-generator@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.51.tgz#0edc57e05dcb5dde2a0b6ee6f8d0261982def25f" dependencies: - "@babel/helper-annotate-as-pure" "7.0.0-beta.49" - "@babel/helper-wrap-function" "7.0.0-beta.49" - "@babel/template" "7.0.0-beta.49" - "@babel/traverse" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" + "@babel/helper-annotate-as-pure" "7.0.0-beta.51" + "@babel/helper-wrap-function" "7.0.0-beta.51" + "@babel/template" "7.0.0-beta.51" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" "@babel/helper-replace-supers@7.0.0-beta.42": version "7.0.0-beta.42" @@ -348,14 +348,14 @@ "@babel/traverse" "7.0.0-beta.42" "@babel/types" "7.0.0-beta.42" -"@babel/helper-replace-supers@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.49.tgz#e7444c718057f6a0a3645caf8e78fb546ffb0d9f" +"@babel/helper-replace-supers@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.51.tgz#279a61afb849476c6cc70d5519f83df4a74ffa6f" dependencies: - "@babel/helper-member-expression-to-functions" "7.0.0-beta.49" - "@babel/helper-optimise-call-expression" "7.0.0-beta.49" - "@babel/traverse" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" + "@babel/helper-member-expression-to-functions" "7.0.0-beta.51" + "@babel/helper-optimise-call-expression" "7.0.0-beta.51" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" "@babel/helper-simple-access@7.0.0-beta.42": version "7.0.0-beta.42" @@ -365,12 +365,12 @@ "@babel/types" "7.0.0-beta.42" lodash "^4.2.0" -"@babel/helper-simple-access@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.49.tgz#97a41e2789a9bf8a6c30536a258b79e7444c5d82" +"@babel/helper-simple-access@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.51.tgz#c9d7fecd84a181d50a3afcc422fc94a968be3050" dependencies: - "@babel/template" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" + "@babel/template" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" lodash "^4.17.5" "@babel/helper-split-export-declaration@7.0.0-beta.42": @@ -385,11 +385,11 @@ dependencies: "@babel/types" "7.0.0-beta.44" -"@babel/helper-split-export-declaration@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.49.tgz#40d78eda0968d011b1c52866e5746cfb23e57548" +"@babel/helper-split-export-declaration@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.51.tgz#8a6c3f66c4d265352fc077484f9f6e80a51ab978" dependencies: - "@babel/types" "7.0.0-beta.49" + "@babel/types" "7.0.0-beta.51" "@babel/helper-wrap-function@7.0.0-beta.42": version "7.0.0-beta.42" @@ -400,14 +400,14 @@ "@babel/traverse" "7.0.0-beta.42" "@babel/types" "7.0.0-beta.42" -"@babel/helper-wrap-function@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.49.tgz#385591460b4d93ef96ee3819539c0cdc9bbd4758" +"@babel/helper-wrap-function@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.51.tgz#6c516fb044109964ee031c22500a830313862fb1" dependencies: - "@babel/helper-function-name" "7.0.0-beta.49" - "@babel/template" "7.0.0-beta.49" - "@babel/traverse" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" + "@babel/helper-function-name" "7.0.0-beta.51" + "@babel/template" "7.0.0-beta.51" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" "@babel/helpers@7.0.0-beta.42": version "7.0.0-beta.42" @@ -417,13 +417,13 @@ "@babel/traverse" "7.0.0-beta.42" "@babel/types" "7.0.0-beta.42" -"@babel/helpers@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.0.0-beta.49.tgz#054d84032d4e94286a80586500068e41005a51d0" +"@babel/helpers@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.0.0-beta.51.tgz#95272be2ab4634d6820425f8925031a928918397" dependencies: - "@babel/template" "7.0.0-beta.49" - "@babel/traverse" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" + "@babel/template" "7.0.0-beta.51" + "@babel/traverse" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" "@babel/highlight@7.0.0-beta.42": version "7.0.0-beta.42" @@ -441,17 +441,17 @@ esutils "^2.0.2" js-tokens "^3.0.0" -"@babel/highlight@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.49.tgz#96bdc6b43e13482012ba6691b1018492d39622cc" +"@babel/highlight@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.51.tgz#e8844ae25a1595ccfd42b89623b4376ca06d225d" dependencies: chalk "^2.0.0" esutils "^2.0.2" js-tokens "^3.0.0" -"@babel/parser@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0-beta.49.tgz#944d0c5ba2812bb159edbd226743afd265179bdc" +"@babel/parser@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0-beta.51.tgz#27cec2df409df60af58270ed8f6aa55409ea86f6" "@babel/plugin-proposal-async-generator-functions@7.0.0-beta.42": version "7.0.0-beta.42" @@ -461,13 +461,13 @@ "@babel/helper-remap-async-to-generator" "7.0.0-beta.42" "@babel/plugin-syntax-async-generators" "7.0.0-beta.42" -"@babel/plugin-proposal-async-generator-functions@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.49.tgz#8761a5e2d8b5251e70df28f4d0aa64aa28a596b1" +"@babel/plugin-proposal-async-generator-functions@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.51.tgz#f7d692f946a4a7fca78e4336407a00beaf8a4dea" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" - "@babel/helper-remap-async-to-generator" "7.0.0-beta.49" - "@babel/plugin-syntax-async-generators" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-remap-async-to-generator" "7.0.0-beta.51" + "@babel/plugin-syntax-async-generators" "7.0.0-beta.51" "@babel/plugin-proposal-class-properties@7.0.0-beta.42": version "7.0.0-beta.42" @@ -548,12 +548,12 @@ "@babel/helper-plugin-utils" "7.0.0-beta.42" "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.42" -"@babel/plugin-proposal-object-rest-spread@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.49.tgz#6d0cd60f7a7bd7c444a371c4e9470bff02f5777c" +"@babel/plugin-proposal-object-rest-spread@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.51.tgz#5bc469e5e6d1b84a5d6046b59e90ca016c2086d6" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" - "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.51" "@babel/plugin-proposal-optional-catch-binding@7.0.0-beta.42": version "7.0.0-beta.42" @@ -562,12 +562,12 @@ "@babel/helper-plugin-utils" "7.0.0-beta.42" "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.42" -"@babel/plugin-proposal-optional-catch-binding@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-beta.49.tgz#1f53d36785101d5eb4b55d65686aa2b39fa21c4b" +"@babel/plugin-proposal-optional-catch-binding@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-beta.51.tgz#3ecc6d2919d52c94cbfae8625da33582102fb3d6" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" - "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.51" "@babel/plugin-proposal-optional-chaining@7.0.0-beta.42": version "7.0.0-beta.42" @@ -598,13 +598,13 @@ "@babel/helper-regex" "7.0.0-beta.42" regexpu-core "^4.1.3" -"@babel/plugin-proposal-unicode-property-regex@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.49.tgz#0ef5fb9abda980cd1585ef4c8e8f680b63263c72" +"@babel/plugin-proposal-unicode-property-regex@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.51.tgz#d296c3ea74ca37fd7fa55bbf8c0cd85aa7d99f7b" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" - "@babel/helper-regex" "7.0.0-beta.49" - regexpu-core "^4.1.4" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-regex" "7.0.0-beta.51" + regexpu-core "^4.2.0" "@babel/plugin-syntax-async-generators@7.0.0-beta.42": version "7.0.0-beta.42" @@ -612,11 +612,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-syntax-async-generators@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.49.tgz#50ee943002aedc9ab3a8d12292bd35dd9edb1df8" +"@babel/plugin-syntax-async-generators@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.51.tgz#6921af1dc3da0fcedde0a61073eec797b8caa707" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-syntax-class-properties@7.0.0-beta.42": version "7.0.0-beta.42" @@ -708,11 +708,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-syntax-object-rest-spread@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.49.tgz#4784b3880823ff12e742c26b41e9857f701d639e" +"@babel/plugin-syntax-object-rest-spread@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.51.tgz#6d57a119c1f064c458e45bad45bef0a83ed10c00" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-syntax-optional-catch-binding@7.0.0-beta.42": version "7.0.0-beta.42" @@ -720,11 +720,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-syntax-optional-catch-binding@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-beta.49.tgz#3e1dd3d5daeb4270e4ee4863641d4faa06bbcd11" +"@babel/plugin-syntax-optional-catch-binding@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-beta.51.tgz#ce2675720cb41248c26433515c90c94b9d01a6fd" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-syntax-optional-chaining@7.0.0-beta.42": version "7.0.0-beta.42" @@ -750,11 +750,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-arrow-functions@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.49.tgz#dd3845b63c683d187d5186ee0e882c4046c4f0e3" +"@babel/plugin-transform-arrow-functions@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.51.tgz#29b9db6e38688a06ec5c25639996d89a5ebfdbe3" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-async-to-generator@7.0.0-beta.42": version "7.0.0-beta.42" @@ -764,13 +764,13 @@ "@babel/helper-plugin-utils" "7.0.0-beta.42" "@babel/helper-remap-async-to-generator" "7.0.0-beta.42" -"@babel/plugin-transform-async-to-generator@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.49.tgz#911a40eb93040186ceb693105ca76def7fe97d03" +"@babel/plugin-transform-async-to-generator@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.51.tgz#945385055a2e6d3566bf55af127c8d725cd3a173" dependencies: - "@babel/helper-module-imports" "7.0.0-beta.49" - "@babel/helper-plugin-utils" "7.0.0-beta.49" - "@babel/helper-remap-async-to-generator" "7.0.0-beta.49" + "@babel/helper-module-imports" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-remap-async-to-generator" "7.0.0-beta.51" "@babel/plugin-transform-block-scoped-functions@7.0.0-beta.42": version "7.0.0-beta.42" @@ -778,11 +778,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-block-scoped-functions@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.49.tgz#7aa9f46fdf873b7211aaa2eb0d37c4c371a1abd2" +"@babel/plugin-transform-block-scoped-functions@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.51.tgz#23129baf814471f39ea94eec84ab1ffe76c9fe96" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-block-scoping@7.0.0-beta.42": version "7.0.0-beta.42" @@ -791,11 +791,11 @@ "@babel/helper-plugin-utils" "7.0.0-beta.42" lodash "^4.2.0" -"@babel/plugin-transform-block-scoping@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.49.tgz#dd5a9ddd986775c8b20cf5b61065afb3dd9eaac9" +"@babel/plugin-transform-block-scoping@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.51.tgz#be555c79f0da4eb168a7fe16d787a9a7173701e0" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" lodash "^4.17.5" "@babel/plugin-transform-classes@7.0.0-beta.42": @@ -811,17 +811,17 @@ "@babel/helper-split-export-declaration" "7.0.0-beta.42" globals "^11.1.0" -"@babel/plugin-transform-classes@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.49.tgz#5342471d2e6a3337332ea246b46c0bddf5fc544d" - dependencies: - "@babel/helper-annotate-as-pure" "7.0.0-beta.49" - "@babel/helper-define-map" "7.0.0-beta.49" - "@babel/helper-function-name" "7.0.0-beta.49" - "@babel/helper-optimise-call-expression" "7.0.0-beta.49" - "@babel/helper-plugin-utils" "7.0.0-beta.49" - "@babel/helper-replace-supers" "7.0.0-beta.49" - "@babel/helper-split-export-declaration" "7.0.0-beta.49" +"@babel/plugin-transform-classes@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.51.tgz#043f31fb6327664a32d8ba65de15799efdc65da0" + dependencies: + "@babel/helper-annotate-as-pure" "7.0.0-beta.51" + "@babel/helper-define-map" "7.0.0-beta.51" + "@babel/helper-function-name" "7.0.0-beta.51" + "@babel/helper-optimise-call-expression" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-replace-supers" "7.0.0-beta.51" + "@babel/helper-split-export-declaration" "7.0.0-beta.51" globals "^11.1.0" "@babel/plugin-transform-computed-properties@7.0.0-beta.42": @@ -830,11 +830,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-computed-properties@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.49.tgz#b8259d174bf07ab4b56566562b46ee6520c3dfd2" +"@babel/plugin-transform-computed-properties@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.51.tgz#8c72a1ab3e0767034ff9e6732d2581c23c032efe" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-destructuring@7.0.0-beta.42": version "7.0.0-beta.42" @@ -842,11 +842,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-destructuring@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.49.tgz#4366392c9c82d1231056c1d0029438a60d362b82" +"@babel/plugin-transform-destructuring@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.51.tgz#d5d454e574c7ef33ee49e918b048afb29be935f6" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-dotall-regex@7.0.0-beta.42": version "7.0.0-beta.42" @@ -856,12 +856,12 @@ "@babel/helper-regex" "7.0.0-beta.42" regexpu-core "^4.1.3" -"@babel/plugin-transform-dotall-regex@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0-beta.49.tgz#35ae2bc187bee752d0f7785d2704e52b87377369" +"@babel/plugin-transform-dotall-regex@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0-beta.51.tgz#980558a1e5f7e28850f5ffde20404291e2aa33fb" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" - "@babel/helper-regex" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-regex" "7.0.0-beta.51" regexpu-core "^4.1.3" "@babel/plugin-transform-duplicate-keys@7.0.0-beta.42": @@ -870,11 +870,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-duplicate-keys@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.49.tgz#fac244809ddecbf095e375558ccb716da1042316" +"@babel/plugin-transform-duplicate-keys@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.51.tgz#541eaf8a97d14a9809b359d8f548001f085b9b7f" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-exponentiation-operator@7.0.0-beta.42": version "7.0.0-beta.42" @@ -883,12 +883,12 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "7.0.0-beta.42" "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-exponentiation-operator@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.49.tgz#457b2d09004794684aa6e1b04015080b80a08a14" +"@babel/plugin-transform-exponentiation-operator@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.51.tgz#04b4e3e40b3701112dd6eda39625132757881fd4" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "7.0.0-beta.49" - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-builder-binary-assignment-operator-visitor" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-flow-strip-types@7.0.0-beta.42": version "7.0.0-beta.42" @@ -903,11 +903,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-for-of@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.49.tgz#3ec72726bf1d89a0d4d511be7a9549066f57aade" +"@babel/plugin-transform-for-of@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.51.tgz#44f476b06c4035517a8403a2624fb164c4371455" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-function-name@7.0.0-beta.42": version "7.0.0-beta.42" @@ -916,12 +916,12 @@ "@babel/helper-function-name" "7.0.0-beta.42" "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-function-name@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.49.tgz#af39f60e7aefce9b25eb4adcedd04d50866ce218" +"@babel/plugin-transform-function-name@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.51.tgz#70653c360b53254246f4659ec450b0c0a56d86aa" dependencies: - "@babel/helper-function-name" "7.0.0-beta.49" - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-function-name" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-literals@7.0.0-beta.42": version "7.0.0-beta.42" @@ -929,11 +929,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-literals@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.49.tgz#07c838254d65e6867e86513eb0f22d5f26b0a56a" +"@babel/plugin-transform-literals@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.51.tgz#45b07a94223cfa226701a79460b42b32df1dec05" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-modules-amd@7.0.0-beta.42": version "7.0.0-beta.42" @@ -942,12 +942,12 @@ "@babel/helper-module-transforms" "7.0.0-beta.42" "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-modules-amd@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.49.tgz#16d07480954b0415ea70f1ec3edbd0597bd3ddfe" +"@babel/plugin-transform-modules-amd@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.51.tgz#f68a8be7f65177d246506a3914dae4d66e675a1f" dependencies: - "@babel/helper-module-transforms" "7.0.0-beta.49" - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-module-transforms" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-modules-commonjs@7.0.0-beta.42": version "7.0.0-beta.42" @@ -957,13 +957,13 @@ "@babel/helper-plugin-utils" "7.0.0-beta.42" "@babel/helper-simple-access" "7.0.0-beta.42" -"@babel/plugin-transform-modules-commonjs@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.49.tgz#09fb345d5927c2ba3bd89e7cdb13a55067ed39a0" +"@babel/plugin-transform-modules-commonjs@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.51.tgz#4038f9e15244e10900cb89f5b796d050f1eb195b" dependencies: - "@babel/helper-module-transforms" "7.0.0-beta.49" - "@babel/helper-plugin-utils" "7.0.0-beta.49" - "@babel/helper-simple-access" "7.0.0-beta.49" + "@babel/helper-module-transforms" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-simple-access" "7.0.0-beta.51" "@babel/plugin-transform-modules-systemjs@7.0.0-beta.42": version "7.0.0-beta.42" @@ -972,12 +972,12 @@ "@babel/helper-hoist-variables" "7.0.0-beta.42" "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-modules-systemjs@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.49.tgz#68225a3ae1312771bc5a36f71ff10d02c1243d9f" +"@babel/plugin-transform-modules-systemjs@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.51.tgz#6e7fc4ad9421b725cddf37cc924eaf777f228c27" dependencies: - "@babel/helper-hoist-variables" "7.0.0-beta.49" - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-hoist-variables" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-modules-umd@7.0.0-beta.42": version "7.0.0-beta.42" @@ -986,12 +986,12 @@ "@babel/helper-module-transforms" "7.0.0-beta.42" "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-modules-umd@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.49.tgz#7048ca5a77189706f4b3e96e4b996eb30590dd63" +"@babel/plugin-transform-modules-umd@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.51.tgz#ee2ef575579d96e40613fca6e6c8edb5cadb6c6f" dependencies: - "@babel/helper-module-transforms" "7.0.0-beta.49" - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-module-transforms" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-new-target@7.0.0-beta.42": version "7.0.0-beta.42" @@ -999,11 +999,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-new-target@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-beta.49.tgz#c2ffef1ebbaf724a9e58dde114e57e3e6864a5e7" +"@babel/plugin-transform-new-target@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-beta.51.tgz#7075a106595cbfdd425ed6b830b79f8a7aff5283" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-object-super@7.0.0-beta.42": version "7.0.0-beta.42" @@ -1012,12 +1012,12 @@ "@babel/helper-plugin-utils" "7.0.0-beta.42" "@babel/helper-replace-supers" "7.0.0-beta.42" -"@babel/plugin-transform-object-super@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.49.tgz#b302f55702847343c10ff4fb8435cc3574755fe3" +"@babel/plugin-transform-object-super@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.51.tgz#ac18e88bc1d79b718bdaf48a756833cdf5bdcebf" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" - "@babel/helper-replace-supers" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-replace-supers" "7.0.0-beta.51" "@babel/plugin-transform-parameters@7.0.0-beta.42": version "7.0.0-beta.42" @@ -1027,13 +1027,13 @@ "@babel/helper-get-function-arity" "7.0.0-beta.42" "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-parameters@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.49.tgz#1cad71a2a33281e5efbb1a4623a964c073ce9a2d" +"@babel/plugin-transform-parameters@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.51.tgz#990195b1dfdb1bcc94906f3034951089ed1edd4e" dependencies: - "@babel/helper-call-delegate" "7.0.0-beta.49" - "@babel/helper-get-function-arity" "7.0.0-beta.49" - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-call-delegate" "7.0.0-beta.51" + "@babel/helper-get-function-arity" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-react-display-name@7.0.0-beta.42": version "7.0.0-beta.42" @@ -1069,11 +1069,11 @@ dependencies: regenerator-transform "^0.12.3" -"@babel/plugin-transform-regenerator@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.49.tgz#d4ed7967033f4f5b49363c203503899b8357cae2" +"@babel/plugin-transform-regenerator@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.51.tgz#536f0d599d2753dca0a2be8a65e2c244a7b5612b" dependencies: - regenerator-transform "^0.12.3" + regenerator-transform "^0.12.4" "@babel/plugin-transform-shorthand-properties@7.0.0-beta.42": version "7.0.0-beta.42" @@ -1081,11 +1081,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-shorthand-properties@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.49.tgz#49f134dbde4f655834c21524e9e61a58d4e17900" +"@babel/plugin-transform-shorthand-properties@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.51.tgz#ddbc0b1ae1ddb3bcfe6969f2c968103f11e32bd9" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-spread@7.0.0-beta.42": version "7.0.0-beta.42" @@ -1093,11 +1093,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-spread@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.49.tgz#6abab05fc0cca829aaf9e2a85044b79763e681ca" +"@babel/plugin-transform-spread@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.51.tgz#100129bc8d7dcf4bc79adcd6129a4214259d8a50" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-sticky-regex@7.0.0-beta.42": version "7.0.0-beta.42" @@ -1106,12 +1106,12 @@ "@babel/helper-plugin-utils" "7.0.0-beta.42" "@babel/helper-regex" "7.0.0-beta.42" -"@babel/plugin-transform-sticky-regex@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.49.tgz#08cc5b64cf6a5942a87bdd9b4a4818d4cba12df3" +"@babel/plugin-transform-sticky-regex@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.51.tgz#48cbeacd31bd05ee800b5facbcb09c5781bd9619" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" - "@babel/helper-regex" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-regex" "7.0.0-beta.51" "@babel/plugin-transform-template-literals@7.0.0-beta.42": version "7.0.0-beta.42" @@ -1120,12 +1120,12 @@ "@babel/helper-annotate-as-pure" "7.0.0-beta.42" "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-template-literals@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.49.tgz#e609aed6b8fcc7e1ebccacf22138a647202940a2" +"@babel/plugin-transform-template-literals@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.51.tgz#2d0595f56461d4345ba35c38d73033f87ecbbbc8" dependencies: - "@babel/helper-annotate-as-pure" "7.0.0-beta.49" - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-annotate-as-pure" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-typeof-symbol@7.0.0-beta.42": version "7.0.0-beta.42" @@ -1133,11 +1133,11 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.42" -"@babel/plugin-transform-typeof-symbol@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.49.tgz#365141ba355bf739eefd6c2bb9df1c3b7146e450" +"@babel/plugin-transform-typeof-symbol@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.51.tgz#4950c0c8e3c9e1e141e45cebab5e6148263204c3" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" "@babel/plugin-transform-unicode-regex@7.0.0-beta.42": version "7.0.0-beta.42" @@ -1147,12 +1147,12 @@ "@babel/helper-regex" "7.0.0-beta.42" regexpu-core "^4.1.3" -"@babel/plugin-transform-unicode-regex@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.49.tgz#c375db5709757621523d41acb62a9abf0d4374b8" +"@babel/plugin-transform-unicode-regex@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.51.tgz#9019f91508f40b50a64435043228c4142c2cd864" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.49" - "@babel/helper-regex" "7.0.0-beta.49" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/helper-regex" "7.0.0-beta.51" regexpu-core "^4.1.3" "@babel/polyfill@7.0.0-beta.42": @@ -1207,47 +1207,48 @@ semver "^5.3.0" "@babel/preset-env@^7.0.0-beta.47": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.0.0-beta.49.tgz#4a8a8b92139f51fa2f90fbf6f1fad7597532aebc" - dependencies: - "@babel/helper-module-imports" "7.0.0-beta.49" - "@babel/helper-plugin-utils" "7.0.0-beta.49" - "@babel/plugin-proposal-async-generator-functions" "7.0.0-beta.49" - "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.49" - "@babel/plugin-proposal-optional-catch-binding" "7.0.0-beta.49" - "@babel/plugin-proposal-unicode-property-regex" "7.0.0-beta.49" - "@babel/plugin-syntax-async-generators" "7.0.0-beta.49" - "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.49" - "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.49" - "@babel/plugin-transform-arrow-functions" "7.0.0-beta.49" - "@babel/plugin-transform-async-to-generator" "7.0.0-beta.49" - "@babel/plugin-transform-block-scoped-functions" "7.0.0-beta.49" - "@babel/plugin-transform-block-scoping" "7.0.0-beta.49" - "@babel/plugin-transform-classes" "7.0.0-beta.49" - "@babel/plugin-transform-computed-properties" "7.0.0-beta.49" - "@babel/plugin-transform-destructuring" "7.0.0-beta.49" - "@babel/plugin-transform-dotall-regex" "7.0.0-beta.49" - "@babel/plugin-transform-duplicate-keys" "7.0.0-beta.49" - "@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.49" - "@babel/plugin-transform-for-of" "7.0.0-beta.49" - "@babel/plugin-transform-function-name" "7.0.0-beta.49" - "@babel/plugin-transform-literals" "7.0.0-beta.49" - "@babel/plugin-transform-modules-amd" "7.0.0-beta.49" - "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.49" - "@babel/plugin-transform-modules-systemjs" "7.0.0-beta.49" - "@babel/plugin-transform-modules-umd" "7.0.0-beta.49" - "@babel/plugin-transform-new-target" "7.0.0-beta.49" - "@babel/plugin-transform-object-super" "7.0.0-beta.49" - "@babel/plugin-transform-parameters" "7.0.0-beta.49" - "@babel/plugin-transform-regenerator" "7.0.0-beta.49" - "@babel/plugin-transform-shorthand-properties" "7.0.0-beta.49" - "@babel/plugin-transform-spread" "7.0.0-beta.49" - "@babel/plugin-transform-sticky-regex" "7.0.0-beta.49" - "@babel/plugin-transform-template-literals" "7.0.0-beta.49" - "@babel/plugin-transform-typeof-symbol" "7.0.0-beta.49" - "@babel/plugin-transform-unicode-regex" "7.0.0-beta.49" + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.0.0-beta.51.tgz#5b580e6e9e8304166c1317017e863c06dcfc04a2" + dependencies: + "@babel/helper-module-imports" "7.0.0-beta.51" + "@babel/helper-plugin-utils" "7.0.0-beta.51" + "@babel/plugin-proposal-async-generator-functions" "7.0.0-beta.51" + "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.51" + "@babel/plugin-proposal-optional-catch-binding" "7.0.0-beta.51" + "@babel/plugin-proposal-unicode-property-regex" "7.0.0-beta.51" + "@babel/plugin-syntax-async-generators" "7.0.0-beta.51" + "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.51" + "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.51" + "@babel/plugin-transform-arrow-functions" "7.0.0-beta.51" + "@babel/plugin-transform-async-to-generator" "7.0.0-beta.51" + "@babel/plugin-transform-block-scoped-functions" "7.0.0-beta.51" + "@babel/plugin-transform-block-scoping" "7.0.0-beta.51" + "@babel/plugin-transform-classes" "7.0.0-beta.51" + "@babel/plugin-transform-computed-properties" "7.0.0-beta.51" + "@babel/plugin-transform-destructuring" "7.0.0-beta.51" + "@babel/plugin-transform-dotall-regex" "7.0.0-beta.51" + "@babel/plugin-transform-duplicate-keys" "7.0.0-beta.51" + "@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.51" + "@babel/plugin-transform-for-of" "7.0.0-beta.51" + "@babel/plugin-transform-function-name" "7.0.0-beta.51" + "@babel/plugin-transform-literals" "7.0.0-beta.51" + "@babel/plugin-transform-modules-amd" "7.0.0-beta.51" + "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.51" + "@babel/plugin-transform-modules-systemjs" "7.0.0-beta.51" + "@babel/plugin-transform-modules-umd" "7.0.0-beta.51" + "@babel/plugin-transform-new-target" "7.0.0-beta.51" + "@babel/plugin-transform-object-super" "7.0.0-beta.51" + "@babel/plugin-transform-parameters" "7.0.0-beta.51" + "@babel/plugin-transform-regenerator" "7.0.0-beta.51" + "@babel/plugin-transform-shorthand-properties" "7.0.0-beta.51" + "@babel/plugin-transform-spread" "7.0.0-beta.51" + "@babel/plugin-transform-sticky-regex" "7.0.0-beta.51" + "@babel/plugin-transform-template-literals" "7.0.0-beta.51" + "@babel/plugin-transform-typeof-symbol" "7.0.0-beta.51" + "@babel/plugin-transform-unicode-regex" "7.0.0-beta.51" browserslist "^3.0.0" invariant "^2.2.2" + js-levenshtein "^1.1.3" semver "^5.3.0" "@babel/preset-flow@7.0.0-beta.42": @@ -1339,13 +1340,13 @@ babylon "7.0.0-beta.44" lodash "^4.2.0" -"@babel/template@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.49.tgz#e38abe8217cb9793f461a5306d7ad745d83e1d27" +"@babel/template@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.51.tgz#9602a40aebcf357ae9677e2532ef5fc810f5fbff" dependencies: - "@babel/code-frame" "7.0.0-beta.49" - "@babel/parser" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" + "@babel/code-frame" "7.0.0-beta.51" + "@babel/parser" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" lodash "^4.17.5" "@babel/traverse@7.0.0-beta.42": @@ -1378,32 +1379,32 @@ invariant "^2.2.0" lodash "^4.2.0" -"@babel/traverse@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.49.tgz#4f2a73682a18334ed6625d100a8d27319f7c2d68" - dependencies: - "@babel/code-frame" "7.0.0-beta.49" - "@babel/generator" "7.0.0-beta.49" - "@babel/helper-function-name" "7.0.0-beta.49" - "@babel/helper-split-export-declaration" "7.0.0-beta.49" - "@babel/parser" "7.0.0-beta.49" - "@babel/types" "7.0.0-beta.49" +"@babel/traverse@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.51.tgz#981daf2cec347a6231d3aa1d9e1803b03aaaa4a8" + dependencies: + "@babel/code-frame" "7.0.0-beta.51" + "@babel/generator" "7.0.0-beta.51" + "@babel/helper-function-name" "7.0.0-beta.51" + "@babel/helper-split-export-declaration" "7.0.0-beta.51" + "@babel/parser" "7.0.0-beta.51" + "@babel/types" "7.0.0-beta.51" debug "^3.1.0" globals "^11.1.0" invariant "^2.2.0" lodash "^4.17.5" -"@babel/types@7.0.0-beta.32": - version "7.0.0-beta.32" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.32.tgz#c317d0ecc89297b80bbcb2f50608e31f6452a5ff" +"@babel/types@7.0.0-beta.35": + version "7.0.0-beta.35" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.35.tgz#cf933a9a9a38484ca724b335b88d83726d5ab960" dependencies: esutils "^2.0.2" lodash "^4.2.0" to-fast-properties "^2.0.0" -"@babel/types@7.0.0-beta.35": - version "7.0.0-beta.35" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.35.tgz#cf933a9a9a38484ca724b335b88d83726d5ab960" +"@babel/types@7.0.0-beta.40": + version "7.0.0-beta.40" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.40.tgz#25c3d7aae14126abe05fcb098c65a66b6d6b8c14" dependencies: esutils "^2.0.2" lodash "^4.2.0" @@ -1425,44 +1426,61 @@ lodash "^4.2.0" to-fast-properties "^2.0.0" -"@babel/types@7.0.0-beta.49": - version "7.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.49.tgz#b7e3b1c3f4d4cfe11bdf8c89f1efd5e1617b87a6" +"@babel/types@7.0.0-beta.51": + version "7.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.51.tgz#d802b7b543b5836c778aa691797abf00f3d97ea9" dependencies: esutils "^2.0.2" lodash "^4.17.5" to-fast-properties "^2.0.0" -"@emotion/hash@^0.6.2": +"@emotion/babel-utils@^0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@emotion/babel-utils/-/babel-utils-0.6.4.tgz#2eac69eb31ae944fbe4a2a0e736a35db5f810866" + dependencies: + "@emotion/hash" "^0.6.3" + "@emotion/memoize" "^0.6.2" + "@emotion/serialize" "^0.8.2" + convert-source-map "^1.5.1" + find-root "^1.1.0" + source-map "^0.7.2" + +"@emotion/hash@^0.6.2", "@emotion/hash@^0.6.3": version "0.6.3" resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.6.3.tgz#0e7a5604626fc6c6d4ac4061a2f5ac80d50262a4" -"@emotion/memoize@^0.6.1": +"@emotion/memoize@^0.6.1", "@emotion/memoize@^0.6.2": version "0.6.2" resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.6.2.tgz#138e00b332d519b4e307bded6159e5ba48aba3ae" -"@emotion/stylis@^0.6.5": - version "0.6.8" - resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.6.8.tgz#6ad4e8d32b19b440efa4481bbbcb98a8c12765bb" +"@emotion/serialize@^0.8.2": + version "0.8.2" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.8.2.tgz#d3b2caddfc93107d63c79fc6bbc11e555e3b762e" + dependencies: + "@emotion/hash" "^0.6.3" + "@emotion/memoize" "^0.6.2" + "@emotion/unitless" "^0.6.3" + "@emotion/utils" "^0.7.1" + +"@emotion/stylis@^0.6.10": + version "0.6.10" + resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.6.10.tgz#7d321e639ebc8ba23ace5990c20e94dcebb8f3dd" -"@emotion/unitless@^0.6.2": +"@emotion/unitless@^0.6.2", "@emotion/unitless@^0.6.3": version "0.6.3" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.6.3.tgz#65682e68a82701c70eefb38d7f941a2c0bfa90de" -"@ledgerhq/hw-app-btc@^4.13.0": +"@emotion/utils@^0.7.1": + version "0.7.1" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.7.1.tgz#e44e596d03c9f16ba3b127ad333a8a072bcb5a0a" + +"@ledgerhq/hw-app-btc@^4.13.0", "@ledgerhq/hw-app-btc@^4.7.3": version "4.15.0" resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-btc/-/hw-app-btc-4.15.0.tgz#8bea2908c4c67f47f85641eb8d82c54df50fef19" dependencies: "@ledgerhq/hw-transport" "^4.15.0" create-hash "^1.1.3" -"@ledgerhq/hw-app-btc@^4.7.3": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-btc/-/hw-app-btc-4.12.0.tgz#deae3200dcb6eb196f05a7357c5499f3920e6c6f" - dependencies: - "@ledgerhq/hw-transport" "^4.12.0" - create-hash "^1.1.3" - "@ledgerhq/hw-app-eth@^4.14.0": version "4.15.0" resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-eth/-/hw-app-eth-4.15.0.tgz#16e520793d27d6daf9edfb6f08138aad14f2ce4f" @@ -1476,26 +1494,13 @@ "@ledgerhq/hw-transport" "^4.15.0" bip32-path "0.4.2" -"@ledgerhq/hw-transport-node-hid@^4.13.0": +"@ledgerhq/hw-transport-node-hid@^4.13.0", "@ledgerhq/hw-transport-node-hid@^4.7.6": version "4.16.0" resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-4.16.0.tgz#de8d7ffd37e01c77aed566d8c534fe3937c3c35c" dependencies: "@ledgerhq/hw-transport" "^4.15.0" node-hid "^0.7.2" -"@ledgerhq/hw-transport-node-hid@^4.7.6": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-4.12.0.tgz#acd913904d0e600c681375c7bf5e0f9d5165a075" - dependencies: - "@ledgerhq/hw-transport" "^4.12.0" - node-hid "^0.7.2" - -"@ledgerhq/hw-transport@^4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-4.12.0.tgz#1cbfb2462728e46297d8ed215b60ac7e3089ba92" - dependencies: - events "^2.0.0" - "@ledgerhq/hw-transport@^4.13.0", "@ledgerhq/hw-transport@^4.15.0": version "4.15.0" resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-4.15.0.tgz#ec99436c2662e70fb6f9c72f7bb5d1f3a051c4e3" @@ -1554,11 +1559,11 @@ version "0.7.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" -"@storybook/addon-actions@3.4.7", "@storybook/addon-actions@^3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.4.7.tgz#35e1345d1377e1264f11e319fc06737244c5a23f" +"@storybook/addon-actions@3.4.8", "@storybook/addon-actions@^3.4.7": + version "3.4.8" + resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-3.4.8.tgz#557bae7c7cc60be9d5199ff972b028de8b574f92" dependencies: - "@storybook/components" "3.4.7" + "@storybook/components" "3.4.8" babel-runtime "^6.26.0" deep-equal "^1.0.1" glamor "^2.20.40" @@ -1570,10 +1575,10 @@ uuid "^3.2.1" "@storybook/addon-knobs@^3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-3.4.7.tgz#9e8f7827e3743ec76d773dd65a3857d538d0aa02" + version "3.4.8" + resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-3.4.8.tgz#d185cd689ea4509dd9d19601e62f8457361991b3" dependencies: - "@storybook/components" "3.4.7" + "@storybook/components" "3.4.8" babel-runtime "^6.26.0" deep-equal "^1.0.1" global "^4.3.2" @@ -1586,58 +1591,58 @@ react-textarea-autosize "^5.2.1" util-deprecate "^1.0.2" -"@storybook/addon-links@3.4.7", "@storybook/addon-links@^3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.4.7.tgz#8d4a72cd92f26f93b2e432d20783e09f6082c75f" +"@storybook/addon-links@3.4.8", "@storybook/addon-links@^3.4.7": + version "3.4.8" + resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-3.4.8.tgz#303e2e37c8abf1861accc95dd9c5f9274bf528ad" dependencies: - "@storybook/components" "3.4.7" + "@storybook/components" "3.4.8" babel-runtime "^6.26.0" global "^4.3.2" prop-types "^15.6.1" "@storybook/addon-options@^3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-3.4.7.tgz#0ab917e430fc7f9edc71529a81e3c5b7c1b94871" + version "3.4.8" + resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-3.4.8.tgz#e2b79605bb8674e8d67e3ad695f4b7a489bcd06a" dependencies: babel-runtime "^6.26.0" -"@storybook/addons@3.4.7", "@storybook/addons@^3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.4.7.tgz#ca787c8139c07cd4f36054a84cc0dc3c9698841b" +"@storybook/addons@3.4.8", "@storybook/addons@^3.4.7": + version "3.4.8" + resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.4.8.tgz#ff1142d8f0963dd28b7c6f88dc9d3be170ac6600" -"@storybook/channel-postmessage@3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.4.7.tgz#8293fad1b0f83688b9428cc6fa1518d3faa45e2c" +"@storybook/channel-postmessage@3.4.8": + version "3.4.8" + resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-3.4.8.tgz#4df9b315f6ceff07f33334a633f24c7b81a3ac28" dependencies: - "@storybook/channels" "3.4.7" + "@storybook/channels" "3.4.8" global "^4.3.2" json-stringify-safe "^5.0.1" -"@storybook/channels@3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.4.7.tgz#b1cc7650d01e677bd02799216b6c1a0f3b903969" +"@storybook/channels@3.4.8": + version "3.4.8" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.4.8.tgz#df0aff0d20a9597402e76caa7e5ddb088ede3591" -"@storybook/client-logger@3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-3.4.7.tgz#577a3dae3f46d95e3dcc1cdb6e8726d5d6324619" +"@storybook/client-logger@3.4.8": + version "3.4.8" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-3.4.8.tgz#82d6e1c2cb3e37184cc597a933f64b38fb61b88b" -"@storybook/components@3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.4.7.tgz#6f2f1d8dd1341d3794abc31b728089fa8021e973" +"@storybook/components@3.4.8": + version "3.4.8" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-3.4.8.tgz#45934d9a25374e68152826a162e61b9732871eaf" dependencies: glamor "^2.20.40" glamorous "^4.12.1" prop-types "^15.6.1" -"@storybook/core@3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-3.4.7.tgz#7622e02ed60a33f90e41d541e73b8f30bd42b5dd" +"@storybook/core@3.4.8": + version "3.4.8" + resolved "https://registry.yarnpkg.com/@storybook/core/-/core-3.4.8.tgz#a7f077175081b9e957cd3b04442c01606271fd2d" dependencies: - "@storybook/addons" "3.4.7" - "@storybook/channel-postmessage" "3.4.7" - "@storybook/client-logger" "3.4.7" - "@storybook/node-logger" "3.4.7" - "@storybook/ui" "3.4.7" + "@storybook/addons" "3.4.8" + "@storybook/channel-postmessage" "3.4.8" + "@storybook/client-logger" "3.4.8" + "@storybook/node-logger" "3.4.8" + "@storybook/ui" "3.4.8" autoprefixer "^7.2.6" babel-runtime "^6.26.0" chalk "^2.3.2" @@ -1669,9 +1674,9 @@ "@storybook/react-simple-di" "^1.2.1" babel-runtime "6.x.x" -"@storybook/node-logger@3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-3.4.7.tgz#f9bc32f245a76eb013b6a2a8a365fa808886a36e" +"@storybook/node-logger@3.4.8": + version "3.4.8" + resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-3.4.8.tgz#8f8abcd51920545c7458385b0b30199ae48ad78a" dependencies: npmlog "^4.1.2" @@ -1708,17 +1713,17 @@ babel-runtime "^6.5.0" "@storybook/react@^3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.4.7.tgz#bd306ff12495668fac4a0179bdf1ebb173dcd8c8" - dependencies: - "@storybook/addon-actions" "3.4.7" - "@storybook/addon-links" "3.4.7" - "@storybook/addons" "3.4.7" - "@storybook/channel-postmessage" "3.4.7" - "@storybook/client-logger" "3.4.7" - "@storybook/core" "3.4.7" - "@storybook/node-logger" "3.4.7" - "@storybook/ui" "3.4.7" + version "3.4.8" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-3.4.8.tgz#857b83778abb0547525637b084d2fe684a53fc81" + dependencies: + "@storybook/addon-actions" "3.4.8" + "@storybook/addon-links" "3.4.8" + "@storybook/addons" "3.4.8" + "@storybook/channel-postmessage" "3.4.8" + "@storybook/client-logger" "3.4.8" + "@storybook/core" "3.4.8" + "@storybook/node-logger" "3.4.8" + "@storybook/ui" "3.4.8" airbnb-js-shims "^1.4.1" babel-loader "^7.1.4" babel-plugin-macros "^2.2.0" @@ -1751,11 +1756,11 @@ webpack "^3.11.0" webpack-hot-middleware "^2.22.1" -"@storybook/ui@3.4.7": - version "3.4.7" - resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.4.7.tgz#59a8c0c56e1e467e0cfcce238d1424d338561311" +"@storybook/ui@3.4.8": + version "3.4.8" + resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-3.4.8.tgz#73245f02a714cc3de0bb1b62261ec64b6d0d65ae" dependencies: - "@storybook/components" "3.4.7" + "@storybook/components" "3.4.8" "@storybook/mantra-core" "^1.7.2" "@storybook/podda" "^1.2.3" "@storybook/react-komposer" "^2.0.3" @@ -1778,16 +1783,16 @@ react-treebeard "^2.1.0" "@types/lodash@^4.14.85": - version "4.14.109" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.109.tgz#b1c4442239730bf35cabaf493c772b18c045886d" + version "4.14.110" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.110.tgz#fb07498f84152947f30ea09d89207ca07123461e" "@types/node@*": - version "10.3.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.3.1.tgz#51092fbacaed768a122a293814474fbf6e5e8b6d" + version "10.5.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.5.1.tgz#d578446f4abff5c0b49ade9b4e5274f6badaadfc" "@types/node@^8.0.24": - version "8.10.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.18.tgz#eb9ad8b0723d13fa9bc8b42543e3661ed805f2bb" + version "8.10.20" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.20.tgz#fe674ea52e13950ab10954433a7824438aabbcac" "@types/webpack-env@^1.13.6": version "1.13.6" @@ -1799,141 +1804,153 @@ dependencies: "@types/node" "*" -"@webassemblyjs/ast@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.10.tgz#7f1e81149ca4e103c9e7cc321ea0dcb83a392512" +"@webassemblyjs/ast@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.12.tgz#a9acbcb3f25333c4edfa1fdf3186b1ccf64e6664" dependencies: - "@webassemblyjs/helper-module-context" "1.5.10" - "@webassemblyjs/helper-wasm-bytecode" "1.5.10" - "@webassemblyjs/wast-parser" "1.5.10" + "@webassemblyjs/helper-module-context" "1.5.12" + "@webassemblyjs/helper-wasm-bytecode" "1.5.12" + "@webassemblyjs/wast-parser" "1.5.12" debug "^3.1.0" mamacro "^0.0.3" -"@webassemblyjs/floating-point-hex-parser@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.10.tgz#ae48705fd58927df62023f114520b8215330ff86" +"@webassemblyjs/floating-point-hex-parser@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.12.tgz#0f36044ffe9652468ce7ae5a08716a4eeff9cd9c" -"@webassemblyjs/helper-api-error@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.10.tgz#0baf9453ce2fd8db58f0fdb4fb2852557c71d5a7" +"@webassemblyjs/helper-api-error@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.12.tgz#05466833ff2f9d8953a1a327746e1d112ea62aaf" -"@webassemblyjs/helper-buffer@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.10.tgz#abee4284161e9cd6ba7619785ca277bfcb8052ce" +"@webassemblyjs/helper-buffer@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.12.tgz#1f0de5aaabefef89aec314f7f970009cd159c73d" dependencies: debug "^3.1.0" -"@webassemblyjs/helper-code-frame@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.10.tgz#4e23c05431665f16322104580af7c06253d4b4e0" +"@webassemblyjs/helper-code-frame@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.12.tgz#3cdc1953093760d1c0f0caf745ccd62bdb6627c7" dependencies: - "@webassemblyjs/wast-printer" "1.5.10" + "@webassemblyjs/wast-printer" "1.5.12" -"@webassemblyjs/helper-fsm@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.10.tgz#490bab613ea255a9272b764826d3cc9d15170676" +"@webassemblyjs/helper-fsm@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.12.tgz#6bc1442b037f8e30f2e57b987cee5c806dd15027" -"@webassemblyjs/helper-module-context@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.10.tgz#6fca93585228bf33e6da076d0a1373db1fdd6580" +"@webassemblyjs/helper-module-context@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.12.tgz#b5588ca78b33b8a0da75f9ab8c769a3707baa861" dependencies: + debug "^3.1.0" mamacro "^0.0.3" -"@webassemblyjs/helper-wasm-bytecode@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.10.tgz#90f6da93c7a186bfb2f587de442982ff533c4b44" +"@webassemblyjs/helper-wasm-bytecode@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.12.tgz#d12a3859db882a448891a866a05d0be63785b616" -"@webassemblyjs/helper-wasm-section@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.10.tgz#d64292a19f7f357c49719461065efdf7ec975d66" +"@webassemblyjs/helper-wasm-section@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.12.tgz#ff9fe1507d368ad437e7969d25e8c1693dac1884" dependencies: - "@webassemblyjs/ast" "1.5.10" - "@webassemblyjs/helper-buffer" "1.5.10" - "@webassemblyjs/helper-wasm-bytecode" "1.5.10" - "@webassemblyjs/wasm-gen" "1.5.10" + "@webassemblyjs/ast" "1.5.12" + "@webassemblyjs/helper-buffer" "1.5.12" + "@webassemblyjs/helper-wasm-bytecode" "1.5.12" + "@webassemblyjs/wasm-gen" "1.5.12" debug "^3.1.0" -"@webassemblyjs/ieee754@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.5.10.tgz#257cad440dd6c8a339402d31e035ba2e38e9c245" +"@webassemblyjs/ieee754@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.5.12.tgz#ee9574bc558888f13097ce3e7900dff234ea19a4" dependencies: ieee754 "^1.1.11" -"@webassemblyjs/leb128@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.5.10.tgz#a8e4fe5f4b16daadb241fcc44d9735e9f27b05a3" +"@webassemblyjs/leb128@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.5.12.tgz#0308eec652765ee567d8a5fa108b4f0b25b458e1" dependencies: leb "^0.3.0" -"@webassemblyjs/utf8@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.5.10.tgz#0b3b6bc86b7619c5dc7b2789db6665aa35689983" - -"@webassemblyjs/wasm-edit@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.10.tgz#0fe80f19e57f669eab1caa8c1faf9690b259d5b9" - dependencies: - "@webassemblyjs/ast" "1.5.10" - "@webassemblyjs/helper-buffer" "1.5.10" - "@webassemblyjs/helper-wasm-bytecode" "1.5.10" - "@webassemblyjs/helper-wasm-section" "1.5.10" - "@webassemblyjs/wasm-gen" "1.5.10" - "@webassemblyjs/wasm-opt" "1.5.10" - "@webassemblyjs/wasm-parser" "1.5.10" - "@webassemblyjs/wast-printer" "1.5.10" +"@webassemblyjs/utf8@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.5.12.tgz#d5916222ef314bf60d6806ed5ac045989bfd92ce" + +"@webassemblyjs/wasm-edit@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.12.tgz#821c9358e644a166f2c910e5af1b46ce795a17aa" + dependencies: + "@webassemblyjs/ast" "1.5.12" + "@webassemblyjs/helper-buffer" "1.5.12" + "@webassemblyjs/helper-wasm-bytecode" "1.5.12" + "@webassemblyjs/helper-wasm-section" "1.5.12" + "@webassemblyjs/wasm-gen" "1.5.12" + "@webassemblyjs/wasm-opt" "1.5.12" + "@webassemblyjs/wasm-parser" "1.5.12" + "@webassemblyjs/wast-printer" "1.5.12" debug "^3.1.0" -"@webassemblyjs/wasm-gen@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.10.tgz#8b29ddd3651259408ae5d5c816a011fb3f3f3584" +"@webassemblyjs/wasm-gen@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.12.tgz#0b7ccfdb93dab902cc0251014e2e18bae3139bcb" dependencies: - "@webassemblyjs/ast" "1.5.10" - "@webassemblyjs/helper-wasm-bytecode" "1.5.10" - "@webassemblyjs/ieee754" "1.5.10" - "@webassemblyjs/leb128" "1.5.10" - "@webassemblyjs/utf8" "1.5.10" + "@webassemblyjs/ast" "1.5.12" + "@webassemblyjs/helper-wasm-bytecode" "1.5.12" + "@webassemblyjs/ieee754" "1.5.12" + "@webassemblyjs/leb128" "1.5.12" + "@webassemblyjs/utf8" "1.5.12" -"@webassemblyjs/wasm-opt@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.10.tgz#569e45ab1b2bf0a7706cdf6d1b51d1188e9e4c7b" +"@webassemblyjs/wasm-opt@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.12.tgz#bd758a8bc670f585ff1ae85f84095a9e0229cbc9" dependencies: - "@webassemblyjs/ast" "1.5.10" - "@webassemblyjs/helper-buffer" "1.5.10" - "@webassemblyjs/wasm-gen" "1.5.10" - "@webassemblyjs/wasm-parser" "1.5.10" + "@webassemblyjs/ast" "1.5.12" + "@webassemblyjs/helper-buffer" "1.5.12" + "@webassemblyjs/wasm-gen" "1.5.12" + "@webassemblyjs/wasm-parser" "1.5.12" debug "^3.1.0" -"@webassemblyjs/wasm-parser@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.10.tgz#3e1017e49f833f46b840db7cf9d194d4f00037ff" - dependencies: - "@webassemblyjs/ast" "1.5.10" - "@webassemblyjs/helper-api-error" "1.5.10" - "@webassemblyjs/helper-wasm-bytecode" "1.5.10" - "@webassemblyjs/ieee754" "1.5.10" - "@webassemblyjs/leb128" "1.5.10" - "@webassemblyjs/wasm-parser" "1.5.10" - -"@webassemblyjs/wast-parser@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.5.10.tgz#1a3235926483c985a00ee8ebca856ffda9544934" - dependencies: - "@webassemblyjs/ast" "1.5.10" - "@webassemblyjs/floating-point-hex-parser" "1.5.10" - "@webassemblyjs/helper-api-error" "1.5.10" - "@webassemblyjs/helper-code-frame" "1.5.10" - "@webassemblyjs/helper-fsm" "1.5.10" +"@webassemblyjs/wasm-parser@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.12.tgz#7b10b4388ecf98bd7a22e702aa62ec2f46d0c75e" + dependencies: + "@webassemblyjs/ast" "1.5.12" + "@webassemblyjs/helper-api-error" "1.5.12" + "@webassemblyjs/helper-wasm-bytecode" "1.5.12" + "@webassemblyjs/ieee754" "1.5.12" + "@webassemblyjs/leb128" "1.5.12" + "@webassemblyjs/utf8" "1.5.12" + +"@webassemblyjs/wast-parser@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.5.12.tgz#9cf5ae600ecae0640437b5d4de5dd6b6088d0d8b" + dependencies: + "@webassemblyjs/ast" "1.5.12" + "@webassemblyjs/floating-point-hex-parser" "1.5.12" + "@webassemblyjs/helper-api-error" "1.5.12" + "@webassemblyjs/helper-code-frame" "1.5.12" + "@webassemblyjs/helper-fsm" "1.5.12" long "^3.2.0" mamacro "^0.0.3" -"@webassemblyjs/wast-printer@1.5.10": - version "1.5.10" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.5.10.tgz#adb38831ba45efd0a5c7971b666e179b64f68bba" +"@webassemblyjs/wast-printer@1.5.12": + version "1.5.12" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.5.12.tgz#563ca4d01b22d21640b2463dc5e3d7f7d9dac520" dependencies: - "@webassemblyjs/ast" "1.5.10" - "@webassemblyjs/wast-parser" "1.5.10" + "@webassemblyjs/ast" "1.5.12" + "@webassemblyjs/wast-parser" "1.5.12" long "^3.2.0" +"@webpack-contrib/schema-utils@^1.0.0-beta.0": + version "1.0.0-beta.0" + resolved "https://registry.yarnpkg.com/@webpack-contrib/schema-utils/-/schema-utils-1.0.0-beta.0.tgz#bf9638c9464d177b48209e84209e23bee2eb4f65" + dependencies: + ajv "^6.1.0" + ajv-keywords "^3.1.0" + chalk "^2.3.2" + strip-ansi "^4.0.0" + text-table "^0.2.0" + webpack-log "^1.1.2" + JSONStream@^1.3.2: version "1.3.3" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.3.tgz#27b4b8fbbfeab4e71bcf551e7f27be8d952239bf" @@ -1988,9 +2005,9 @@ acorn@^4.0.3: version "4.0.13" resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" -acorn@^5.0.0, acorn@^5.3.0, acorn@^5.5.0: - version "5.6.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.6.2.tgz#b1da1d7be2ac1b4a327fb9eab851702c5045b4e7" +acorn@^5.0.0, acorn@^5.3.0, acorn@^5.5.0, acorn@^5.6.2: + version "5.7.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8" address@1.0.3, address@^1.0.1: version "1.0.3" @@ -2036,6 +2053,13 @@ ajv-keywords@^3.0.0, ajv-keywords@^3.1.0, ajv-keywords@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" +ajv@^4.9.1: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + ajv@^5.0.0, ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" @@ -2045,13 +2069,13 @@ ajv@^5.0.0, ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" -ajv@^6.0.1, ajv@^6.1.0, ajv@^6.4.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.0.tgz#4c8affdf80887d8f132c9c52ab8a2dc4d0b7b24c" +ajv@^6.0.1, ajv@^6.1.0, ajv@^6.4.0, ajv@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.1.tgz#88ebc1263c7133937d108b80c5572e64e1d9322d" dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" + json-schema-traverse "^0.4.1" uri-js "^4.2.1" align-text@^0.1.1, align-text@^0.1.3: @@ -2095,10 +2119,6 @@ ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" -ansi-regex@^0.2.0, ansi-regex@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" - ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -2107,10 +2127,6 @@ ansi-regex@^3.0.0, ansi-regex@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" -ansi-styles@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" - ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -2144,9 +2160,9 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -app-builder-bin@1.9.11: - version "1.9.11" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-1.9.11.tgz#bf04d4cdfc0a8ed83acedc5f9ab16be73b5a3a57" +app-builder-bin@1.10.3: + version "1.10.3" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-1.10.3.tgz#ab4d7b1a3bf4005dea16bf0b184077b3136f8ae9" app-builder-bin@1.9.5: version "1.9.5" @@ -2162,6 +2178,10 @@ aproba@^1.0.3, aproba@^1.1.1, aproba@^1.1.2, aproba@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" +"aproba@^1.1.2 || 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + archy@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" @@ -2313,6 +2333,10 @@ assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -2395,11 +2419,15 @@ autoprefixer@^7.2.6: postcss "^6.0.17" postcss-value-parser "^3.2.3" +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" -aws4@^1.6.0: +aws4@^1.2.1, aws4@^1.6.0: version "1.7.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" @@ -2453,8 +2481,8 @@ babel-core@^6.0.0, babel-core@^6.26.0: source-map "^0.5.7" babel-eslint@^8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.3.tgz#1a2e6681cc9bc4473c32899e59915e19cd6733cf" + version "8.2.5" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.5.tgz#dc2331c259d36782aa189da510c43dedd5adc7a3" dependencies: "@babel/code-frame" "7.0.0-beta.44" "@babel/traverse" "7.0.0-beta.44" @@ -2646,8 +2674,8 @@ babel-loader@^7.1.4: mkdirp "^0.5.1" babel-loader@^8.0.0-beta.2: - version "8.0.0-beta.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.0-beta.3.tgz#49efeea6e8058d5af860a18a6de88b8c1450645b" + version "8.0.0-beta.4" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.0-beta.4.tgz#c3fab00696c385c70c04dbe486391f0eb996f345" dependencies: find-cache-dir "^1.0.0" loader-utils "^1.0.2" @@ -2672,14 +2700,15 @@ babel-plugin-component@^1.1.1: dependencies: "@babel/helper-module-imports" "7.0.0-beta.35" -babel-plugin-emotion@^9.1.2: - version "9.1.2" - resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-9.1.2.tgz#e26b313fa0fecd0f2cc07b1e4ef05da167e4f740" +babel-plugin-emotion@^9.2.4: + version "9.2.4" + resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-9.2.4.tgz#a4e54a8097f6ba06cbbc7a9063927afafe9fe73a" dependencies: - "@babel/helper-module-imports" "7.0.0-beta.32" + "@babel/helper-module-imports" "7.0.0-beta.40" + "@emotion/babel-utils" "^0.6.4" "@emotion/hash" "^0.6.2" "@emotion/memoize" "^0.6.1" - "@emotion/stylis" "^0.6.5" + "@emotion/stylis" "^0.6.10" babel-plugin-macros "^2.0.0" babel-plugin-syntax-jsx "^6.18.0" convert-source-map "^1.5.0" @@ -3491,8 +3520,8 @@ batch@0.6.1: resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" dependencies: tweetnacl "^0.14.3" @@ -3513,8 +3542,8 @@ bfj-node4@^5.2.0: tryer "^1.0.0" big-integer@^1.6.17: - version "1.6.30" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.30.tgz#7796f04acdd6ba56345f19049c8fffd427f09d16" + version "1.6.32" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.32.tgz#5867458b25ecd5bcb36b627c30bb501a13c07e89" big.js@^3.1.3: version "3.2.0" @@ -3656,6 +3685,12 @@ boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + bowser@^1.0.0, bowser@^1.7.3: version "1.9.3" resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.9.3.tgz#6643ae4d783f31683f6d23156976b74183862162" @@ -3715,8 +3750,8 @@ browser-process-hrtime@^0.1.2: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" browser-resolve@^1.11.2: - version "1.11.2" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" + version "1.11.3" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" dependencies: resolve "1.1.7" @@ -3866,7 +3901,7 @@ buffers@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" -builder-util-runtime@4.2.1, builder-util-runtime@^4.2.1, builder-util-runtime@~4.2.1: +builder-util-runtime@4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-4.2.1.tgz#0caa358f1331d70680010141ca591952b69b35bc" dependencies: @@ -3875,6 +3910,15 @@ builder-util-runtime@4.2.1, builder-util-runtime@^4.2.1, builder-util-runtime@~4 fs-extra-p "^4.6.0" sax "^1.2.4" +builder-util-runtime@^4.2.1, builder-util-runtime@^4.4.0, builder-util-runtime@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-4.4.0.tgz#1f486819df12a04abfa128fe082e7c54edda0ef7" + dependencies: + bluebird-lst "^1.0.5" + debug "^3.1.0" + fs-extra-p "^4.6.1" + sax "^1.2.4" + builder-util@5.11.1: version "5.11.1" resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-5.11.1.tgz#e1540935bc0efcb3948ae364a2f71e08d7bc82e0" @@ -3895,23 +3939,23 @@ builder-util@5.11.1: temp-file "^3.1.2" builder-util@^5.11.0: - version "5.11.4" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-5.11.4.tgz#24d72aa567ecfeacca72b0740b4ddbffaaef617c" + version "5.13.2" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-5.13.2.tgz#58b43b5b2c4acdeb9d4994b47152acdb111683ea" dependencies: "7zip-bin" "~4.0.2" - app-builder-bin "1.9.11" + app-builder-bin "1.10.3" bluebird-lst "^1.0.5" - builder-util-runtime "^4.2.1" + builder-util-runtime "^4.4.0" chalk "^2.4.1" debug "^3.1.0" - fs-extra-p "^4.6.0" + fs-extra-p "^4.6.1" is-ci "^1.1.0" - js-yaml "^3.11.0" + js-yaml "^3.12.0" lazy-val "^1.0.3" semver "^5.5.0" source-map-support "^0.5.6" stat-mode "^0.2.2" - temp-file "^3.1.2" + temp-file "^3.1.3" builtin-modules@^1.0.0: version "1.1.1" @@ -4068,12 +4112,12 @@ caniuse-api@^1.5.2: lodash.uniq "^4.5.0" caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: - version "1.0.30000849" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000849.tgz#d452f53d7dcfb84e7f5fd34c077c30ad2b7b9c7b" + version "1.0.30000861" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000861.tgz#6f27840a130c10c0b1e00fab7729c1faf8f4ccd3" caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000844: - version "1.0.30000849" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000849.tgz#7e1aa48e6d58917dcd70aabf7e7a33514a258f91" + version "1.0.30000861" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000861.tgz#a32bb9607c34e4639b497ff37de746fc8a160410" capture-exit@^1.2.0: version "1.2.0" @@ -4106,16 +4150,6 @@ chainsaw@~0.1.0: dependencies: traverse ">=0.3.0 <0.4" -chalk@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" - dependencies: - ansi-styles "^1.1.0" - escape-string-regexp "^1.0.0" - has-ansi "^0.1.0" - strip-ansi "^0.3.0" - supports-color "^0.2.0" - chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -4171,12 +4205,12 @@ charenc@~0.0.1: resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" check-types@^7.3.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.3.0.tgz#468f571a4435c24248f5fd0cb0e8d87c3c341e7d" + version "7.4.0" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4" chokidar@^2.0.0, chokidar@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176" + version "2.0.4" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" dependencies: anymatch "^2.0.0" async-each "^1.0.0" @@ -4185,20 +4219,23 @@ chokidar@^2.0.0, chokidar@^2.0.2: inherits "^2.0.1" is-binary-path "^1.0.0" is-glob "^4.0.0" + lodash.debounce "^4.0.8" normalize-path "^2.1.1" path-is-absolute "^1.0.0" readdirp "^2.0.0" - upath "^1.0.0" + upath "^1.0.5" optionalDependencies: - fsevents "^1.1.2" + fsevents "^1.2.2" chownr@^1.0.1, chownr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" -chrome-trace-event@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-0.1.3.tgz#d395af2d31c87b90a716c831fe326f69768ec084" +chrome-trace-event@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" + dependencies: + tslib "^1.9.0" chromium-pickle-js@^0.2.0: version "0.2.0" @@ -4239,8 +4276,8 @@ class-utils@^0.3.5: static-extend "^0.1.1" classnames@^2.2.5: - version "2.2.5" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d" + version "2.2.6" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" clean-css@4.1.x: version "4.1.11" @@ -4402,16 +4439,20 @@ collection-visit@^1.0.0: object-visit "^1.0.0" color-convert@^1.3.0, color-convert@^1.9.0, color-convert@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" + version "1.9.2" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147" dependencies: - color-name "^1.1.1" + color-name "1.1.1" color-convert@~0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" -color-name@^1.0.0, color-name@^1.1.1: +color-name@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" + +color-name@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" @@ -4470,13 +4511,17 @@ columnify@~1.5.4: strip-ansi "^3.0.0" wcwidth "^1.0.0" -combined-stream@1.0.6, combined-stream@~1.0.5: +combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" dependencies: delayed-stream "~1.0.0" -commander@2, commander@2.15.x, commander@^2.11.0, commander@^2.13.0, commander@^2.15.0, commander@^2.9.0, commander@~2.15.0: +commander@2, commander@^2.11.0, commander@^2.13.0, commander@^2.15.0, commander@^2.9.0: + version "2.16.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50" + +commander@2.15.x, commander@~2.15.0: version "2.15.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" @@ -4501,8 +4546,8 @@ compare-version@^0.1.2: resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080" compare-versions@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.2.1.tgz#a49eb7689d4caaf0b6db5220173fd279614000f7" + version "3.3.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.3.0.tgz#af93ea705a96943f622ab309578b9b90586f39c3" component-emitter@^1.2.1: version "1.2.1" @@ -4540,13 +4585,14 @@ concat-stream@1.6.2, concat-stream@^1.5.0, concat-stream@^1.5.2, concat-stream@^ typedarray "^0.0.6" concurrently@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-3.5.1.tgz#ee8b60018bbe86b02df13e5249453c6ececd2521" + version "3.6.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-3.6.0.tgz#c25e34b156a9d5bd4f256a0d85f6192438ae481f" dependencies: - chalk "0.5.1" + chalk "^2.4.1" commander "2.6.0" date-fns "^1.23.0" lodash "^4.5.1" + read-pkg "^3.0.0" rx "2.3.24" spawn-command "^0.0.2-1" supports-color "^3.2.3" @@ -4677,14 +4723,15 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" -create-emotion@^9.1.3: - version "9.1.3" - resolved "https://registry.yarnpkg.com/create-emotion/-/create-emotion-9.1.3.tgz#a2e570415eb3e1ec7c42489ba55b2361baf0ed3f" +create-emotion@^9.2.4: + version "9.2.4" + resolved "https://registry.yarnpkg.com/create-emotion/-/create-emotion-9.2.4.tgz#0a4379f6bf0708c54fe26bfcd6b6bd3592e8cf23" dependencies: "@emotion/hash" "^0.6.2" "@emotion/memoize" "^0.6.1" - "@emotion/stylis" "^0.6.5" + "@emotion/stylis" "^0.6.10" "@emotion/unitless" "^0.6.2" + csstype "^2.5.2" stylis "^3.5.0" stylis-rule-sheet "^0.0.10" @@ -4762,6 +4809,12 @@ crypt@~0.0.1: version "0.0.2" resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -4855,18 +4908,18 @@ css-selector-tokenizer@^0.7.0: regexpu-core "^1.0.0" css-to-react-native@^2.0.3: - version "2.2.0" - resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.2.0.tgz#d524ef7f39a2747a8914e86563669ba35b7cf2e7" + version "2.2.1" + resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.2.1.tgz#7f3f4c95de65501b8720c87bf0caf1f39073b88e" dependencies: css-color-keywords "^1.0.0" fbjs "^0.8.5" postcss-value-parser "^3.3.0" -css-tree@1.0.0-alpha.27: - version "1.0.0-alpha.27" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.27.tgz#f211526909c7dc940843d83b9376ed98ddb8de47" +css-tree@1.0.0-alpha.29: + version "1.0.0-alpha.29" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" dependencies: - mdn-data "^1.0.0" + mdn-data "~1.1.0" source-map "^0.5.3" css-tree@1.0.0-alpha25: @@ -4926,10 +4979,10 @@ cssnano@^3.10.0, cssnano@^3.4.0: postcss-zindex "^2.0.1" csso@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.0.tgz#acdbba5719e2c87bc801eadc032764b2e4b9d4e7" + version "3.5.1" + resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" dependencies: - css-tree "1.0.0-alpha.27" + css-tree "1.0.0-alpha.29" csso@~2.3.1: version "2.3.2" @@ -4939,8 +4992,8 @@ csso@~2.3.1: source-map "^0.5.3" cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": - version "0.3.2" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b" + version "0.3.3" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.3.tgz#7b344769915759c2c9e3eb8c26f7fd533dbea252" "cssstyle@>= 0.3.1 < 0.4.0": version "0.3.1" @@ -4948,9 +5001,9 @@ cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": dependencies: cssom "0.3.x" -csstype@^2.2.0: - version "2.5.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.5.3.tgz#2504152e6e1cc59b32098b7f5d6a63f16294c1f7" +csstype@^2.2.0, csstype@^2.5.2: + version "2.5.5" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.5.5.tgz#4125484a3d42189a863943f23b9e4b80fedfa106" currently-unhandled@^0.4.1: version "0.4.1" @@ -4996,8 +5049,8 @@ d3-color@1: resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.2.0.tgz#d1ea19db5859c86854586276ec892cf93148459a" d3-contour@1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-1.2.0.tgz#de3ea7991bbb652155ee2a803aeafd084be03b63" + version "1.3.0" + resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-1.3.0.tgz#cfb99098c48c46edd77e15ce123162f9e333e846" dependencies: d3-array "^1.1.1" @@ -5083,8 +5136,8 @@ d3-scale-chromatic@1: d3-interpolate "1" d3-scale@2: - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.0.0.tgz#fd8ac78381bc2ed741d8c71770437a5e0549a5a5" + version "2.1.0" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.1.0.tgz#8d3fd3e2a7c9080782a523c08507c5248289eef8" dependencies: d3-array "^1.2.0" d3-collection "1" @@ -5143,8 +5196,8 @@ d3-zoom@1: d3-transition "1" d3@^5.1.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/d3/-/d3-5.4.0.tgz#090199a8569d1de23d04a3ff07fe136095fea74e" + version "5.5.0" + resolved "https://registry.yarnpkg.com/d3/-/d3-5.5.0.tgz#948413b91b988a6597f3e4c3e941d3b530bfee63" dependencies: d3-array "1" d3-axis "1" @@ -5230,7 +5283,7 @@ debug@3.1.0, debug@^3.0.0, debug@^3.1.0: dependencies: ms "2.0.0" -debuglog@^1.0.1: +debuglog@*, debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" @@ -5557,6 +5610,10 @@ dotenv@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" +dotenv@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.0.0.tgz#24e37c041741c5f4b25324958ebbc34bca965935" + downshift@^1.31.16: version "1.31.16" resolved "https://registry.yarnpkg.com/downshift/-/downshift-1.31.16.tgz#acd81631539502d4112d01bd573654419fd9f640" @@ -5762,22 +5819,22 @@ electron-store@^1.3.0: conf "^1.3.0" electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.47: - version "1.3.48" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz#d3b0d8593814044e092ece2108fc3ac9aea4b900" + version "1.3.50" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.50.tgz#7438b76f92b41b919f3fbdd350fbd0757dacddf7" electron-updater@^2.21.8: - version "2.21.10" - resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-2.21.10.tgz#aa66757ebf966f4247f247a8433af45cfe8e93b0" + version "2.23.3" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-2.23.3.tgz#7bf054075f0cef2cd832cb533cf21adcdd5780b8" dependencies: bluebird-lst "^1.0.5" - builder-util-runtime "~4.2.1" + builder-util-runtime "~4.4.0" electron-is-dev "^0.3.0" - fs-extra-p "^4.6.0" - js-yaml "^3.11.0" + fs-extra-p "^4.6.1" + js-yaml "^3.12.0" lazy-val "^1.0.3" lodash.isequal "^4.5.0" semver "^5.5.0" - source-map-support "^0.5.5" + source-map-support "^0.5.6" electron-webpack-js@~2.0.3: version "2.0.3" @@ -5863,11 +5920,11 @@ emojis-list@^2.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" emotion@^9.1.2: - version "9.1.3" - resolved "https://registry.yarnpkg.com/emotion/-/emotion-9.1.3.tgz#e9b3e897ba3d5c0aff5628b0008a8993fa9c0937" + version "9.2.4" + resolved "https://registry.yarnpkg.com/emotion/-/emotion-9.2.4.tgz#0139e7cc154b2845f4b9afaa996dd4de13bb90e3" dependencies: - babel-plugin-emotion "^9.1.2" - create-emotion "^9.1.3" + babel-plugin-emotion "^9.2.4" + create-emotion "^9.2.4" encodeurl@~1.0.2: version "1.0.2" @@ -5894,9 +5951,9 @@ enhanced-resolve@^3.4.0: object-assign "^4.0.1" tapable "^0.2.7" -enhanced-resolve@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.0.0.tgz#e34a6eaa790f62fccd71d93959f56b2b432db10a" +enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" dependencies: graceful-fs "^4.1.2" memory-fs "^0.4.0" @@ -5925,8 +5982,8 @@ errno@^0.1.3, errno@~0.1.7: prr "~1.0.1" error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" dependencies: is-arrayish "^0.2.1" @@ -6037,13 +6094,13 @@ escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" escodegen@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" + version "1.10.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.10.0.tgz#f647395de22519fbd0d928ffcf1d17e0dec2603e" dependencies: esprima "^3.1.3" estraverse "^4.2.0" @@ -6107,8 +6164,8 @@ eslint-plugin-flowtype@^2.46.2: lodash "^4.17.10" eslint-plugin-import@^2.11.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.12.0.tgz#dad31781292d6664b25317fd049d2e2b2f02205d" + version "2.13.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.13.0.tgz#df24f241175e312d91662dc91ca84064caec14ed" dependencies: contains-path "^0.1.0" debug "^2.6.8" @@ -6134,13 +6191,13 @@ eslint-plugin-jsx-a11y@^6.0.3: jsx-ast-utils "^2.0.0" eslint-plugin-react@^7.7.0: - version "7.9.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.9.1.tgz#101aadd15e7c7b431ed025303ac7b421a8e3dc15" + version "7.10.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.10.0.tgz#af5c1fef31c4704db02098f9be18202993828b50" dependencies: doctrine "^2.1.0" - has "^1.0.2" + has "^1.0.3" jsx-ast-utils "^2.0.1" - prop-types "^15.6.1" + prop-types "^15.6.2" eslint-restricted-globals@^0.1.1: version "0.1.1" @@ -6248,8 +6305,8 @@ ethereum-common@^0.0.18: resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" ethereumjs-tx@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.4.tgz#c2304912f6c07af03237ad8675ac036e290dad48" + version "1.3.5" + resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.5.tgz#c5ab252977ed2b13fb2fca195fdfa95a7d54f858" dependencies: ethereum-common "^0.0.18" ethereumjs-util "^5.0.0" @@ -6267,8 +6324,8 @@ ethereumjs-util@^5.0.0: secp256k1 "^3.0.1" ethjs-util@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.4.tgz#1c8b6879257444ef4d3f3fbbac2ded12cd997d93" + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" dependencies: is-hex-prefixed "1.0.0" strip-hex-prefix "1.0.0" @@ -6306,10 +6363,10 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: safe-buffer "^5.1.1" exec-sh@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38" + version "0.2.2" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" dependencies: - merge "^1.1.3" + merge "^1.2.0" execa@^0.7.0: version "0.7.0" @@ -6428,7 +6485,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@^3.0.0, extend@~3.0.1: +extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" @@ -6512,8 +6569,8 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" fast-memoize@^2.2.7: - version "2.4.0" - resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.4.0.tgz#2f79eca41c41112b0b70cf53ac3940e206574648" + version "2.5.1" + resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.5.1.tgz#c3519241e80552ce395e1a32dcdde8d1fd680f5d" fastparse@^1.1.1: version "1.1.1" @@ -6538,8 +6595,8 @@ fb-watchman@^2.0.0: bser "^2.0.0" fbjs@^0.8.12, fbjs@^0.8.16, fbjs@^0.8.5, fbjs@^0.8.9: - version "0.8.16" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" + version "0.8.17" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" dependencies: core-js "^1.0.0" isomorphic-fetch "^2.1.1" @@ -6547,7 +6604,7 @@ fbjs@^0.8.12, fbjs@^0.8.16, fbjs@^0.8.5, fbjs@^0.8.9: object-assign "^4.1.0" promise "^7.1.1" setimmediate "^1.0.5" - ua-parser-js "^0.7.9" + ua-parser-js "^0.7.18" fd-slicer@~1.0.1: version "1.0.1" @@ -6696,8 +6753,8 @@ flow-bin@^0.74.0: resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.74.0.tgz#8017bb00efb37cbe8d81fbb7f464038bde06adc9" flow-parser@^0.*: - version "0.73.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.73.0.tgz#525ac0776f743e16b6dca1a3dd6c602260b15773" + version "0.75.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.75.0.tgz#9a1891c48051c73017b6b5cc07b3681fda3fdfb0" flow-typed@^2.4.0: version "2.4.0" @@ -6750,6 +6807,14 @@ forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" +form-data@~2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + form-data@~2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" @@ -6790,12 +6855,12 @@ fs-constants@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" -fs-extra-p@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/fs-extra-p/-/fs-extra-p-4.6.0.tgz#c7b7117f0dcf8a99c9b2ed589067c960abcf3ef9" +fs-extra-p@^4.6.0, fs-extra-p@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/fs-extra-p/-/fs-extra-p-4.6.1.tgz#6156e0cc98097f415fcd17029578fc41c78b5092" dependencies: bluebird-lst "^1.0.5" - fs-extra "^6.0.0" + fs-extra "^6.0.1" fs-extra@^0.30.0: version "0.30.0" @@ -6831,7 +6896,7 @@ fs-extra@^5.0.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^6.0.0: +fs-extra@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b" dependencies: @@ -6866,7 +6931,7 @@ fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" -fsevents@^1.1.2, fsevents@^1.2.3: +fsevents@^1.2.2, fsevents@^1.2.3: version "1.2.4" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" dependencies: @@ -6898,11 +6963,7 @@ functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" -fuse.js@^3.0.1, fuse.js@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.2.0.tgz#f0448e8069855bf2a3e683cdc1d320e7e2a07ef4" - -fuse.js@^3.2.1: +fuse.js@^3.0.1, fuse.js@^3.2.0, fuse.js@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.2.1.tgz#6320cb94ce56ec9755c89ade775bcdbb0358d425" @@ -7082,8 +7143,8 @@ global@^4.3.0, global@^4.3.2: process "~0.5.1" globals@^11.0.1, globals@^11.1.0: - version "11.5.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.5.0.tgz#6bc840de6771173b191f13d3a9c94d441ee92642" + version "11.7.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673" globals@^9.18.0: version "9.18.0" @@ -7220,10 +7281,21 @@ handlebars@^4.0.3: optionalDependencies: uglify-js "^2.6" +har-schema@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" +har-validator@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + dependencies: + ajv "^4.9.1" + har-schema "^1.0.5" + har-validator@~5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" @@ -7244,12 +7316,6 @@ hard-source-webpack-plugin@^0.6.0: webpack-sources "^1.0.1" write-json-file "^2.3.0" -has-ansi@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e" - dependencies: - ansi-regex "^0.2.0" - has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -7317,7 +7383,7 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.1, has@^1.0.2: +has@^1.0.1, has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" dependencies: @@ -7331,12 +7397,21 @@ hash-base@^3.0.0: safe-buffer "^5.0.1" hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + version "1.1.4" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.4.tgz#8b50e1f35d51bd01e5ed9ece4dbe3549ccfa0a3c" dependencies: inherits "^2.0.3" minimalistic-assert "^1.0.0" +hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + he@1.1.x: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -7359,13 +7434,17 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + hoist-non-react-statics@1.x.x, hoist-non-react-statics@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb" -hoist-non-react-statics@^2.3.0, hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz#d2ca2dfc19c5a91c5a6615ce8e564ef0347e2a40" +hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.0: + version "2.5.5" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" home-or-tmp@^2.0.0: version "2.0.0" @@ -7385,8 +7464,8 @@ homedir-polyfill@^1.0.1: parse-passwd "^1.0.0" hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" + version "2.6.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.1.tgz#6e4cee78b01bb849dcf93527708c69fdbee410df" hpack.js@^2.1.6: version "2.1.6" @@ -7436,8 +7515,8 @@ html-loader@^1.0.0-alpha.0: schema-utils "^0.4.3" html-minifier@^3.2.3, html-minifier@^3.5.8: - version "3.5.16" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.16.tgz#39f5aabaf78bdfc057fe67334226efd7f3851175" + version "3.5.17" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.17.tgz#fe9834c4288e4d5b4dfe18fbc7f3f811c108e5ea" dependencies: camel-case "3.0.x" clean-css "4.1.x" @@ -7445,7 +7524,7 @@ html-minifier@^3.2.3, html-minifier@^3.5.8: he "1.1.x" param-case "2.1.x" relateurl "0.2.x" - uglify-js "3.3.x" + uglify-js "3.4.x" html-parse-stringify2@2.0.1: version "2.0.1" @@ -7565,6 +7644,14 @@ http-proxy@^1.16.2: follow-redirects "^1.0.0" requires-port "^1.0.0" +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -7610,8 +7697,8 @@ i18next-node-fs-backend@^1.0.0: json5 "0.5.0" i18next@^11.2.2: - version "11.3.2" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-11.3.2.tgz#4a1a7bb14383ba6aed4abca139b03681fc96e023" + version "11.3.3" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-11.3.3.tgz#a6ca3c2a93237c94e242bda7df3411588ac37ea1" iconv-lite@0.4, iconv-lite@^0.4.17, iconv-lite@^0.4.22, iconv-lite@^0.4.23, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.23" @@ -7634,8 +7721,8 @@ icss-utils@^2.1.0: postcss "^6.0.1" ieee754@^1.1.11, ieee754@^1.1.4: - version "1.1.11" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455" + version "1.1.12" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" iferr@^0.1.5, iferr@~0.1.5: version "0.1.5" @@ -7648,8 +7735,8 @@ ignore-walk@^3.0.1: minimatch "^3.0.4" ignore@^3.3.3, ignore@^3.3.5: - version "3.3.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.8.tgz#3f8e9c35d38708a3a7e0e9abb6c73e7ee7707b2b" + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" immutable@^3.8.1: version "3.8.2" @@ -7666,7 +7753,7 @@ import-local@^1.0.0: pkg-dir "^2.0.0" resolve-cwd "^2.0.0" -imurmurhash@^0.1.4: +imurmurhash@*, imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -7860,8 +7947,8 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" is-arrayish@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.1.tgz#c2dfc386abaa0c3e33c48db3fe87059e69065efd" + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" is-binary-path@^1.0.0: version "1.0.1" @@ -8058,12 +8145,6 @@ is-observable@^1.1.0: dependencies: symbol-observable "^1.1.0" -is-odd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" - dependencies: - is-number "^4.0.0" - is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" @@ -8561,6 +8642,10 @@ js-base64@^2.1.9: version "2.4.5" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.5.tgz#e293cd3c7c82f070d700fc7a1ca0a2e69f101f92" +js-levenshtein@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.3.tgz#3ef627df48ec8cf24bacf05c0f184ff30ef413c5" + 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" @@ -8572,7 +8657,7 @@ js-yaml@3.5.4: argparse "^1.0.2" esprima "^2.6.0" -js-yaml@^3.10.0, js-yaml@^3.11.0, js-yaml@^3.4.3, js-yaml@^3.5.2, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1: +js-yaml@^3.10.0, js-yaml@^3.11.0, js-yaml@^3.12.0, js-yaml@^3.4.3, js-yaml@^3.5.2, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1: version "3.12.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" dependencies: @@ -8696,6 +8781,10 @@ json-schema-traverse@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -9024,6 +9113,10 @@ lodash-es@^4.17.4, lodash-es@^4.17.5, lodash-es@^4.2.1: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz#62cd7104cdf5dd87f235a837f0ede0e8e5117e05" +lodash._baseindexof@*: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c" + lodash._baseuniq@~4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" @@ -9031,11 +9124,25 @@ lodash._baseuniq@~4.6.0: lodash._createset "~4.0.0" lodash._root "~3.0.0" +lodash._bindcallback@*: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" + +lodash._cacheindexof@*: + version "3.0.2" + resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92" + +lodash._createcache@*: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093" + dependencies: + lodash._getnative "^3.0.0" + lodash._createset@~4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" -lodash._getnative@^3.0.0: +lodash._getnative@*, lodash._getnative@^3.0.0: version "3.9.1" resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" @@ -9095,6 +9202,10 @@ lodash.pick@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" +lodash.restparam@*: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + lodash.some@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" @@ -9207,7 +9318,23 @@ make-error@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.4.tgz#19978ed575f9e9545d2ff8c13e33b5d18a67d535" -make-fetch-happen@^2.5.0, make-fetch-happen@^2.6.0: +"make-fetch-happen@^2.5.0 || 3 || 4", make-fetch-happen@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz#141497cb878f243ba93136c83d8aba12c216c083" + dependencies: + agentkeepalive "^3.4.1" + cacache "^11.0.1" + http-cache-semantics "^3.8.1" + http-proxy-agent "^2.1.0" + https-proxy-agent "^2.2.1" + lru-cache "^4.1.2" + mississippi "^3.0.0" + node-fetch-npm "^2.0.2" + promise-retry "^1.1.1" + socks-proxy-agent "^4.0.0" + ssri "^6.0.0" + +make-fetch-happen@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-2.6.0.tgz#8474aa52198f6b1ae4f3094c04e8370d35ea8a38" dependencies: @@ -9239,22 +9366,6 @@ make-fetch-happen@^3.0.0: socks-proxy-agent "^3.0.1" ssri "^5.2.4" -make-fetch-happen@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz#141497cb878f243ba93136c83d8aba12c216c083" - dependencies: - agentkeepalive "^3.4.1" - cacache "^11.0.1" - http-cache-semantics "^3.8.1" - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.1" - lru-cache "^4.1.2" - mississippi "^3.0.0" - node-fetch-npm "^2.0.2" - promise-retry "^1.1.1" - socks-proxy-agent "^4.0.0" - ssri "^6.0.0" - makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -9321,9 +9432,9 @@ md5@^2.1.0, md5@^2.2.1: crypt "~0.0.1" is-buffer "~1.1.1" -mdn-data@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.3.tgz#d0929cdf73db32b0afd6d3ab8ef3da2b29b6f76b" +mdn-data@^1.0.0, mdn-data@~1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" meant@~1.0.1: version "1.0.1" @@ -9403,7 +9514,7 @@ merge2@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.2.tgz#03212e3da8d86c4d8523cebd6318193414f94e34" -merge@^1.1.3: +merge@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" @@ -9466,7 +9577,7 @@ mime-db@~1.33.0: version "1.33.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18: +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.7: version "2.1.18" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" dependencies: @@ -9499,9 +9610,10 @@ min-document@^2.19.0: dom-walk "^0.1.0" mini-css-extract-plugin@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.0.tgz#ff3bf08bee96e618e177c16ca6131bfecef707f9" + version "0.4.1" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.1.tgz#d2bcf77bb2596b8e4bd9257e43d3f9164c2e86cb" dependencies: + "@webpack-contrib/schema-utils" "^1.0.0-beta.0" loader-utils "^1.1.0" webpack-sources "^1.1.0" @@ -9664,15 +9776,14 @@ nan@^2.2.1, nan@^2.6.2, nan@^2.9.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" nanomatch@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" dependencies: arr-diff "^4.0.0" array-unique "^0.3.2" define-property "^2.0.2" extend-shallow "^3.0.2" fragment-cache "^0.2.1" - is-odd "^2.0.0" is-windows "^1.0.2" kind-of "^6.0.2" object.pick "^1.3.0" @@ -9714,13 +9825,7 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" -node-abi@^2.0.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.4.1.tgz#7628c4d4ec4e9cd3764ceb3652f36b2e7f8d4923" - dependencies: - semver "^5.4.1" - -node-abi@^2.2.0: +node-abi@^2.0.0, node-abi@^2.2.0: version "2.4.3" resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.4.3.tgz#43666b7b17e57863e572409edbb82115ac7af28b" dependencies: @@ -9756,18 +9861,17 @@ node-forge@0.7.5: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" node-gyp@^3.6.0, node-gyp@^3.6.2: - version "3.6.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" + version "3.7.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.7.0.tgz#789478e8f6c45e277aa014f3e28f958f286f9203" dependencies: fstream "^1.0.0" glob "^7.0.3" graceful-fs "^4.1.2" - minimatch "^3.0.2" mkdirp "^0.5.0" nopt "2 || 3" npmlog "0 || 1 || 2 || 3 || 4" osenv "0" - request "2" + request ">=2.9.0 <2.82.0" rimraf "2" semver "~5.3.0" tar "^2.0.0" @@ -9831,8 +9935,8 @@ node-object-hash@^1.2.0: resolved "https://registry.yarnpkg.com/node-object-hash/-/node-object-hash-1.4.1.tgz#de968492e20c493b8bbc25ad2ee828265fd60934" node-pre-gyp@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz#6e4ef5bb5c5203c6552448828c852c40111aac46" + version "0.10.2" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.2.tgz#e8945c20ef6795a20aac2b44f036eb13cf5146e3" dependencies: detect-libc "^1.0.2" mkdirp "^0.5.1" @@ -9840,7 +9944,7 @@ node-pre-gyp@^0.10.0: nopt "^4.0.1" npm-packlist "^1.1.6" npmlog "^4.0.2" - rc "^1.1.7" + rc "^1.2.7" rimraf "^2.6.1" semver "^5.3.0" tar "^4" @@ -9981,11 +10085,11 @@ npm-pick-manifest@^2.1.0: semver "^5.4.1" npm-profile@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-3.0.1.tgz#65a1018340f14399a086b5d0a9bd0d13145d8e57" + version "3.0.2" + resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-3.0.2.tgz#58d568f1b56ef769602fd0aed8c43fa0e0de0f57" dependencies: - aproba "^1.1.2" - make-fetch-happen "^2.5.0" + aproba "^1.1.2 || 2" + make-fetch-happen "^2.5.0 || 3 || 4" npm-registry-client@^8.5.1: version "8.5.1" @@ -10178,10 +10282,10 @@ numeral@^2.0.6: resolved "https://registry.yarnpkg.com/numeral/-/numeral-2.0.6.tgz#4ad080936d443c2561aed9f2197efffe25f4e506" nwsapi@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.1.tgz#a50d59a2dcb14b6931401171713ced2d0eb3468f" + version "2.0.4" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.4.tgz#dc79040a5f77b97716dc79565fc7fc3ef7d50570" -oauth-sign@~0.8.2: +oauth-sign@~0.8.1, oauth-sign@~0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" @@ -10202,8 +10306,8 @@ object-copy@^0.1.0: kind-of "^3.0.3" object-keys@^1.0.11, object-keys@^1.0.8: - version "1.0.11" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + version "1.0.12" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" object-keys@~0.4.0: version "0.4.0" @@ -10410,8 +10514,8 @@ p-lazy@^1.0.0: resolved "https://registry.yarnpkg.com/p-lazy/-/p-lazy-1.0.0.tgz#ec53c802f2ee3ac28f166cc82d0b2b02de27a835" p-limit@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" dependencies: p-try "^1.0.0" @@ -11042,8 +11146,8 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0 supports-color "^3.2.3" postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.17: - version "6.0.22" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.22.tgz#e23b78314905c3b90cbd61702121e7a78848f2a3" + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" dependencies: chalk "^2.4.1" source-map "^0.6.1" @@ -11109,13 +11213,9 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@^1.12.1: - version "1.13.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.4.tgz#31bbae6990f13b1093187c731766a14036fa72e6" - -prettier@^1.13.5: - version "1.13.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.5.tgz#7ae2076998c8edce79d63834e9b7b09fead6bfd0" +prettier@^1.12.1, prettier@^1.13.5: + version "1.13.7" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.7.tgz#850f3b8af784a49a6ea2d2eaa7ed1428a34b7281" pretty-bytes@^1.0.2: version "1.0.4" @@ -11204,11 +11304,10 @@ promzard@^0.3.0: dependencies: read "1" -prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.1: - version "15.6.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca" +prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2: + version "15.6.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102" dependencies: - fbjs "^0.8.16" loose-envify "^1.3.1" object-assign "^4.1.1" @@ -11238,8 +11337,8 @@ pseudomap@^1.0.2: resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" psl@^1.1.24: - version "1.1.27" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.27.tgz#2b2c77019db86855170d903532400bf71ee085b6" + version "1.1.28" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.28.tgz#4fb6ceb08a1e2214d4fd4de0ca22dae13740bc7b" public-encrypt@^4.0.0: version "4.0.2" @@ -11328,6 +11427,10 @@ qs@^6.5.1, qs@~6.5.1: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" +qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -11407,12 +11510,12 @@ range-parser@^1.0.3, range-parser@~1.2.0: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" raven-js@^3.24.2: - version "3.25.2" - resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.25.2.tgz#d3ad1c694f70855dda6f705204ee6ab76ba62884" + version "3.26.3" + resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.26.3.tgz#0efb49969b5b11ab965f7b0d6da4ca102b763cb0" raven@^2.5.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.2.tgz#c92f30890e2dfcd15258d184e43e39326e58032e" + version "2.6.3" + resolved "https://registry.yarnpkg.com/raven/-/raven-2.6.3.tgz#207475a12809277ef54eaceafe2597ff65262ab4" dependencies: cookie "0.3.1" md5 "^2.2.1" @@ -11429,7 +11532,7 @@ raw-body@2.3.2: iconv-lite "0.4.19" unpipe "1.0.0" -rc@^1.0.1, rc@^1.1.2, rc@^1.1.6, rc@^1.1.7, rc@^1.2.1: +rc@^1.0.1, rc@^1.1.2, rc@^1.1.6, rc@^1.2.1, rc@^1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" dependencies: @@ -11515,8 +11618,8 @@ react-fuzzy@^0.5.2: prop-types "^15.5.9" react-hot-loader@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.3.2.tgz#42d629a541d12c84df5e8333534ea6ef99b7ae49" + version "4.3.3" + resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.3.3.tgz#37409a3341c7787563d0972007ba02521f82f5d5" dependencies: fast-levenshtein "^2.0.6" global "^4.3.0" @@ -11562,11 +11665,7 @@ react-inspector@^2.2.2: babel-runtime "^6.26.0" is-dom "^1.0.9" -react-is@^16.3.1: - version "16.4.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.4.0.tgz#cc9fdc855ac34d2e7d9d2eb7059bbc240d35ffcf" - -react-is@^16.4.1: +react-is@^16.3.1, react-is@^16.4.1: version "16.4.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.4.1.tgz#d624c4650d2c65dbd52c72622bbf389435d9776e" @@ -11582,8 +11681,8 @@ react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.4: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" react-markdown@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-3.3.2.tgz#35d305e8a29b640717b9dac4658a1caeafd44c94" + version "3.3.4" + resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-3.3.4.tgz#4002599ad133c649923a49aedc06b2f3af2016b6" dependencies: prop-types "^15.6.1" remark-parse "^5.0.0" @@ -11657,19 +11756,7 @@ react-router-redux@5.0.0-alpha.9: prop-types "^15.6.0" react-router "^4.2.0" -react-router@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.2.0.tgz#61f7b3e3770daeb24062dae3eedef1b054155986" - dependencies: - history "^4.7.2" - hoist-non-react-statics "^2.3.0" - invariant "^2.2.2" - loose-envify "^1.3.1" - path-to-regexp "^1.7.0" - prop-types "^15.5.4" - warning "^3.0.0" - -react-router@^4.3.1: +react-router@^4.2.0, react-router@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz#aada4aef14c809cb2e686b05cee4742234506c4e" dependencies: @@ -11693,16 +11780,17 @@ react-select@2.0.0-beta.6: react-transition-group "^2.2.1" react-split-pane@^0.1.77: - version "0.1.77" - resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.77.tgz#f0c8cd18d076bbac900248dcf6dbcec02d5340db" + version "0.1.81" + resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.81.tgz#b1e8b82e0a6edd10f18fd639a5f512db3cbbb4e6" dependencies: inline-style-prefixer "^3.0.6" prop-types "^15.5.10" + react-lifecycles-compat "^3.0.4" react-style-proptype "^3.0.0" react-spring@^5.3.15: - version "5.3.15" - resolved "https://registry.yarnpkg.com/react-spring/-/react-spring-5.3.15.tgz#95c775f55f36e48db01cdcce9f5718b172817a09" + version "5.3.18" + resolved "https://registry.yarnpkg.com/react-spring/-/react-spring-5.3.18.tgz#39cf98265991529799898455210164123a0787be" dependencies: "@babel/runtime" "7.0.0-beta.49" @@ -11728,12 +11816,13 @@ react-textarea-autosize@^5.2.1: prop-types "^15.6.0" react-transition-group@^2.0.0, react-transition-group@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.3.1.tgz#31d611b33e143a5e0f2d94c348e026a0f3b474b6" + version "2.4.0" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.4.0.tgz#1d9391fabfd82e016f26fabd1eec329dbd922b5a" dependencies: dom-helpers "^3.3.1" loose-envify "^1.3.1" - prop-types "^15.6.1" + prop-types "^15.6.2" + react-lifecycles-compat "^3.0.4" react-treebeard@^2.1.0: version "2.1.0" @@ -11746,16 +11835,7 @@ react-treebeard@^2.1.0: shallowequal "^0.2.2" velocity-react "^1.3.1" -react@^16.2.0, react@^16.4.0: - version "16.4.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.4.0.tgz#402c2db83335336fba1962c08b98c6272617d585" - dependencies: - fbjs "^0.8.16" - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.0" - -react@^16.4.1: +react@^16.2.0, react@^16.4.0, react@^16.4.1: version "16.4.1" resolved "https://registry.yarnpkg.com/react/-/react-16.4.1.tgz#de51ba5764b5dbcd1f9079037b862bd26b82fe32" dependencies: @@ -11783,7 +11863,7 @@ read-cmd-shim@^1.0.1, read-cmd-shim@~1.0.1: dependencies: graceful-fs "^4.1.2" -read-config-file@3.0.1, read-config-file@^3.0.1: +read-config-file@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-3.0.1.tgz#307ed2e162fa54306d0ae6d41e9cdc829720d2a9" dependencies: @@ -11797,6 +11877,20 @@ read-config-file@3.0.1, read-config-file@^3.0.1: json5 "^1.0.1" lazy-val "^1.0.3" +read-config-file@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-3.0.2.tgz#3866666a8772d350cfbfe9a4b26187df34883c56" + dependencies: + ajv "^6.5.1" + ajv-keywords "^3.2.0" + bluebird-lst "^1.0.5" + dotenv "^6.0.0" + dotenv-expand "^4.2.0" + fs-extra-p "^4.6.1" + js-yaml "^3.12.0" + json5 "^1.0.1" + lazy-val "^1.0.3" + read-installed@~4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" @@ -11924,7 +12018,7 @@ readable-stream@~2.1.5: string_decoder "~0.10.x" util-deprecate "~1.0.1" -readdir-scoped-modules@^1.0.0: +readdir-scoped-modules@*, readdir-scoped-modules@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" dependencies: @@ -12042,13 +12136,13 @@ redux@^4.0.0: loose-envify "^1.1.0" symbol-observable "^1.2.0" -regenerate-unicode-properties@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-6.0.0.tgz#0fc26f9d5142289df4e177dec58f303d2d097c16" +regenerate-unicode-properties@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" dependencies: - regenerate "^1.3.3" + regenerate "^1.4.0" -regenerate@^1.2.1, regenerate@^1.3.3, regenerate@^1.4.0: +regenerate@^1.2.1, regenerate@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" @@ -12068,7 +12162,7 @@ regenerator-transform@^0.10.0: babel-types "^6.19.0" private "^0.1.6" -regenerator-transform@^0.12.3: +regenerator-transform@^0.12.3, regenerator-transform@^0.12.4: version "0.12.4" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.12.4.tgz#aa9b6c59f4b97be080e972506c560b3bccbfcff0" dependencies: @@ -12113,16 +12207,16 @@ regexpu-core@^2.0.0: regjsgen "^0.2.0" regjsparser "^0.1.4" -regexpu-core@^4.1.3, regexpu-core@^4.1.4: - version "4.1.5" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.1.5.tgz#57fdfe1148f8a7a069086228515130cf1820ddd0" +regexpu-core@^4.1.3, regexpu-core@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.2.0.tgz#a3744fa03806cffe146dea4421a3e73bdcc47b1d" dependencies: regenerate "^1.4.0" - regenerate-unicode-properties "^6.0.0" + regenerate-unicode-properties "^7.0.0" regjsgen "^0.4.0" regjsparser "^0.3.0" - unicode-match-property-ecmascript "^1.0.3" - unicode-match-property-value-ecmascript "^1.0.1" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.0.2" registry-auth-token@^3.0.1: version "3.3.2" @@ -12231,7 +12325,34 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.0" tough-cookie ">=2.3.3" -request@2, request@^2.45.0, request@^2.74.0, request@^2.83.0, request@^2.85.0: +"request@>=2.9.0 <2.82.0": + version "2.81.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~4.2.1" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + performance-now "^0.2.0" + qs "~6.4.0" + safe-buffer "^5.0.1" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "^0.6.0" + uuid "^3.0.0" + +request@^2.45.0, request@^2.74.0, request@^2.83.0, request@^2.85.0: version "2.87.0" resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" dependencies: @@ -12325,8 +12446,8 @@ resolve@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.4.0, resolve@^1.5.0, resolve@^1.6.0: - version "1.7.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" + version "1.8.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" dependencies: path-parse "^1.0.5" @@ -12445,8 +12566,8 @@ ripple-lib-transactionparser@^0.6.2: lodash "^4.17.4" ripple-lib@^1.0.0-beta.0: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/ripple-lib/-/ripple-lib-1.0.0-beta.1.tgz#2a09154033c16c1877484be43f777345437d13a2" + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/ripple-lib/-/ripple-lib-1.0.0-beta.2.tgz#f2e6ebc0b6b184746ae68f80a1042395dd49a6be" dependencies: "@types/lodash" "^4.14.85" "@types/ws" "^3.2.0" @@ -12462,8 +12583,10 @@ ripple-lib@^1.0.0-beta.0: ws "^3.3.1" rlp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.0.0.tgz#9db384ff4b89a8f61563d92395d8625b18f3afb0" + version "2.1.0" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.1.0.tgz#e4f9886d5a982174f314543831e36e1a658460f9" + dependencies: + safe-buffer "^5.1.1" rsvp@^3.3.3: version "3.6.2" @@ -12509,13 +12632,7 @@ rxjs@^5.1.1, rxjs@^5.5.2: dependencies: symbol-observable "1.0.1" -rxjs@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.0.tgz#e024d0e180b72756a83c2aaea8f25423751ba978" - dependencies: - tslib "^1.9.0" - -rxjs@^6.2.1: +rxjs@^6.1.0, rxjs@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.2.1.tgz#246cebec189a6cbc143a3ef9f62d6f4c91813ca1" dependencies: @@ -12748,8 +12865,8 @@ shallowequal@^0.2.2: lodash.keys "^3.1.2" shallowequal@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.0.2.tgz#1561dbdefb8c01408100319085764da3fcf83f8f" + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" shebang-command@^1.2.0: version "1.2.0" @@ -12867,6 +12984,12 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + sockjs-client@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" @@ -12907,8 +13030,8 @@ socks@^1.1.10: smart-buffer "^1.0.13" socks@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.2.0.tgz#144985b3331ced3ab5ccbee640ab7cb7d43fdd1f" + version "2.2.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.2.1.tgz#68ad678b3642fbc5d99c64c165bc561eab0215f9" dependencies: ip "^1.1.5" smart-buffer "^4.0.1" @@ -12960,7 +13083,7 @@ source-map-support@^0.4.15: dependencies: source-map "^0.5.6" -source-map-support@^0.5.0, source-map-support@^0.5.4, source-map-support@^0.5.5, source-map-support@^0.5.6: +source-map-support@^0.5.0, source-map-support@^0.5.4, source-map-support@^0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13" dependencies: @@ -12975,7 +13098,7 @@ source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, sourc version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" -source-map@0.7.3: +source-map@0.7.3, source-map@^0.7.2: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" @@ -13235,18 +13358,16 @@ string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" +stringstream@~0.0.4: + version "0.0.6" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72" + strip-ansi@3.0.1, strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" dependencies: ansi-regex "^2.0.0" -strip-ansi@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220" - dependencies: - ansi-regex "^0.2.1" - strip-ansi@^4.0.0, strip-ansi@~4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" @@ -13313,8 +13434,8 @@ style-loader@^0.21.0: schema-utils "^0.4.5" styled-components@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-3.3.2.tgz#087b96830ee3d60d9a8b5ef17c132b4f29cc71df" + version "3.3.3" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-3.3.3.tgz#09e702055ab11f7a8eab8229b1c0d0b855095686" dependencies: buffer "^5.0.3" css-to-react-native "^2.0.3" @@ -13328,8 +13449,8 @@ styled-components@^3.3.2: supports-color "^3.2.3" styled-system@^2.2.9: - version "2.2.9" - resolved "https://registry.yarnpkg.com/styled-system/-/styled-system-2.2.9.tgz#1a9a2187b1856b4a385ed65a1daff771a253f3d9" + version "2.3.2" + resolved "https://registry.yarnpkg.com/styled-system/-/styled-system-2.3.2.tgz#b5dbc7d197b41dd06b80b16e17b52503363a5aac" dependencies: prop-types "^15.6.0" @@ -13338,8 +13459,8 @@ stylis-rule-sheet@^0.0.10: resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" stylis@^3.0.0, stylis@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.0.tgz#016fa239663d77f868fef5b67cf201c4b7c701e1" + version "3.5.1" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.1.tgz#fd341d59f57f9aeb412bc14c9d8a8670b438e03b" sumchecker@^1.2.0: version "1.3.1" @@ -13354,10 +13475,6 @@ sumchecker@^2.0.2: dependencies: debug "^2.2.0" -supports-color@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -13504,13 +13621,13 @@ tar@^4, tar@^4.4.0, tar@^4.4.2, tar@^4.4.3: safe-buffer "^5.1.2" yallist "^3.0.2" -temp-file@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.1.2.tgz#54ba4084097558e8ff2ad1e4bd84841ef2804043" +temp-file@^3.1.2, temp-file@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.1.3.tgz#24c144994f033be1ccf6773280c8f7f1c91691a9" dependencies: async-exit-hook "^2.0.1" bluebird-lst "^1.0.5" - fs-extra-p "^4.6.0" + fs-extra-p "^4.6.1" lazy-val "^1.0.3" temp@^0.8.1: @@ -13597,8 +13714,8 @@ tinycolor2@^1.4.1: resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8" tippy.js@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/tippy.js/-/tippy.js-2.5.2.tgz#01de112a80219032a3cf06ac2d29a4d69480705d" + version "2.5.3" + resolved "https://registry.yarnpkg.com/tippy.js/-/tippy.js-2.5.3.tgz#a75b0b6d18633cea8ec79658a85d07599c77c9a4" dependencies: popper.js "^1.14.3" @@ -13661,13 +13778,13 @@ touch@^1.0.0: nopt "~1.0.10" tough-cookie@>=2.3.3, tough-cookie@^2.3.3: - version "2.4.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.2.tgz#aa9133154518b494efab98a58247bfc38818c00c" + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" dependencies: psl "^1.1.24" punycode "^1.4.1" -tough-cookie@~2.3.3: +tough-cookie@~2.3.0, tough-cookie@~2.3.3: version "2.3.4" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" dependencies: @@ -13714,12 +13831,12 @@ truncate-utf8-bytes@^1.0.0: utf8-byte-length "^1.0.1" tryer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.0.tgz#027b69fa823225e551cace3ef03b11f6ab37c1d7" + version "1.0.1" + resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" tslib@^1.9.0: - version "1.9.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.2.tgz#8be0cc9a1f6dc7727c38deb16c2ebd1a2892988e" + version "1.9.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" tty-browserify@0.0.0: version "0.0.0" @@ -13756,20 +13873,20 @@ typeforce@^1.11.3: version "1.12.0" resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.12.0.tgz#ca40899919f1466d7819e37be039406beb912a2e" -ua-parser-js@^0.7.9: +ua-parser-js@^0.7.18: version "0.7.18" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.18.tgz#a7bfd92f56edfb117083b69e31d2aa8882d4b1ed" -uglify-es@3.3.7, uglify-es@^3.3.4, uglify-es@^3.3.9: - version "3.3.7" - resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.7.tgz#d1249af668666aba7cb1163e277455be9eb393cf" +uglify-es@^3.3.4, uglify-es@^3.3.9: + version "3.3.9" + resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" dependencies: commander "~2.13.0" source-map "~0.6.1" -uglify-js@3.3.x: - version "3.3.28" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.28.tgz#0efb9a13850e11303361c1051f64d2ec68d9be06" +uglify-js@3.4.x: + version "3.4.2" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.2.tgz#70511a390eb62423675ba63c374ba1abf045116c" dependencies: commander "~2.15.0" source-map "~0.6.1" @@ -13796,21 +13913,8 @@ uglifyjs-webpack-plugin@^0.4.6: webpack-sources "^1.0.1" uglifyjs-webpack-plugin@^1.2.4, uglifyjs-webpack-plugin@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.5.tgz#2ef8387c8f1a903ec5e44fa36f9f3cbdcea67641" - dependencies: - cacache "^10.0.4" - find-cache-dir "^1.0.0" - schema-utils "^0.4.5" - serialize-javascript "^1.4.0" - source-map "^0.6.1" - uglify-es "^3.3.4" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" - -uglifyjs-webpack-plugin@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.6.tgz#f4bb44f02431e82b301d8d4624330a6a35729381" + version "1.2.7" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz#57638dd99c853a1ebfe9d97b42160a8a507f9d00" dependencies: cacache "^10.0.4" find-cache-dir "^1.0.0" @@ -13850,24 +13954,24 @@ unherit@^1.0.4: inherits "^2.0.1" xtend "^4.0.1" -unicode-canonical-property-names-ecmascript@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.3.tgz#f6119f417467593c0086357c85546b6ad5abc583" +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" -unicode-match-property-ecmascript@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.3.tgz#db9b1cb4ffc67e0c5583780b1b59370e4cbe97b9" +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" dependencies: - unicode-canonical-property-names-ecmascript "^1.0.2" - unicode-property-aliases-ecmascript "^1.0.3" + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" -unicode-match-property-value-ecmascript@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.1.tgz#fea059120a016f403afd3bf586162b4db03e0604" +unicode-match-property-value-ecmascript@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" -unicode-property-aliases-ecmascript@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.3.tgz#ac3522583b9e630580f916635333e00c5ead690d" +unicode-property-aliases-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" unified@^6.1.5: version "6.2.0" @@ -13936,8 +14040,8 @@ unist-util-visit@^1.1.0, unist-util-visit@^1.3.0: unist-util-is "^2.1.1" universalify@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7" + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" @@ -13976,7 +14080,7 @@ unzipper@^0.8.11: readable-stream "~2.1.5" setimmediate "~1.0.4" -upath@^1.0.0: +upath@^1.0.5: version "1.1.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" @@ -14112,9 +14216,9 @@ uuid@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.0.tgz#6728fc0459c450d796a99c31837569bdf672d728" -uuid@^3.0.1, uuid@^3.1.0, uuid@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" +uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0, uuid@^3.2.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" v8-compile-cache@^2.0.0: version "2.0.0" @@ -14211,8 +14315,8 @@ vinyl@^1.1.0: replace-ext "0.0.1" vinyl@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.1.0.tgz#021f9c2cf951d6b939943c89eb5ee5add4fd924c" + version "2.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" dependencies: clone "^2.1.1" clone-buffer "^1.0.0" @@ -14421,8 +14525,8 @@ webpack-log@^1.0.1, webpack-log@^1.1.2: uuid "^3.1.0" webpack-merge@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.2.tgz#5d372dddd3e1e5f8874f5bf5a8e929db09feb216" + version "4.1.3" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.3.tgz#8aaff2108a19c29849bc9ad2a7fd7fce68e87c4a" dependencies: lodash "^4.17.5" @@ -14461,20 +14565,20 @@ webpack@^3.11.0: yargs "^8.0.2" webpack@^4.6.0: - version "4.11.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.11.1.tgz#1aa0b936f7ae93a52cf38d2ad0d0f46dcf3c2723" - dependencies: - "@webassemblyjs/ast" "1.5.10" - "@webassemblyjs/helper-module-context" "1.5.10" - "@webassemblyjs/wasm-edit" "1.5.10" - "@webassemblyjs/wasm-opt" "1.5.10" - "@webassemblyjs/wasm-parser" "1.5.10" - acorn "^5.0.0" + version "4.14.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.14.0.tgz#bbcc40dbf9a34129491b431574189d3802972243" + dependencies: + "@webassemblyjs/ast" "1.5.12" + "@webassemblyjs/helper-module-context" "1.5.12" + "@webassemblyjs/wasm-edit" "1.5.12" + "@webassemblyjs/wasm-opt" "1.5.12" + "@webassemblyjs/wasm-parser" "1.5.12" + acorn "^5.6.2" acorn-dynamic-import "^3.0.0" ajv "^6.1.0" ajv-keywords "^3.1.0" - chrome-trace-event "^0.1.1" - enhanced-resolve "^4.0.0" + chrome-trace-event "^1.0.0" + enhanced-resolve "^4.1.0" eslint-scope "^3.7.1" json-parse-better-errors "^1.0.2" loader-runner "^2.3.0" @@ -14516,8 +14620,8 @@ whatwg-mimetype@^2.0.0, whatwg-mimetype@^2.1.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz#f0f21d76cbba72362eb609dbed2a30cd17fcc7d4" whatwg-url@^6.4.0, whatwg-url@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.4.1.tgz#fdb94b440fd4ad836202c16e9737d511f012fd67" + version "6.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" dependencies: lodash.sortby "^4.7.0" tr46 "^1.0.1" @@ -14653,8 +14757,8 @@ ws@^4.0.0: safe-buffer "~5.1.0" ws@^5.1.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.0.tgz#9fd95e3ac7c76f6ae8bcc868a0e3f11f1290c33e" + version "5.2.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.1.tgz#37827a0ba772d072a843c3615b0ad38bcdb354eb" dependencies: async-limiter "~1.0.0" @@ -14755,7 +14859,7 @@ yargs-parser@^9.0.2: dependencies: camelcase "^4.1.0" -yargs@11.0.0, yargs@^11.0.0: +yargs@11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b" dependencies: @@ -14789,7 +14893,7 @@ yargs@^10.0.3: y18n "^3.2.1" yargs-parser "^8.1.0" -yargs@^11.1.0: +yargs@^11.0.0, yargs@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" dependencies: @@ -14883,8 +14987,8 @@ yauzl@2.4.1: fd-slicer "~1.0.1" yeoman-environment@^2.0.5, yeoman-environment@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-2.2.0.tgz#6c0ee93a8d962a9f6dbc5ad4e90ae7ab34875393" + version "2.3.0" + resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-2.3.0.tgz#53ea899e50dd64c9510bc1b1c96a810582e42bdb" dependencies: chalk "^2.1.0" cross-spawn "^6.0.5" From f2489c8f27dc7565f0803ac4b7e979060a2a0fad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sat, 30 Jun 2018 10:36:09 +0200 Subject: [PATCH 08/62] Refactor settings sections --- src/components/SettingsPage/AboutRowItem.js | 1 - src/components/SettingsPage/ResetButton.js | 4 +- src/components/SettingsPage/index.js | 6 -- src/components/SettingsPage/sections/About.js | 20 +++++ .../SettingsPage/sections/Display.js | 37 +++++++- .../SettingsPage/sections/Profile.js | 84 ------------------- src/config/constants.js | 3 + 7 files changed, 60 insertions(+), 95 deletions(-) delete mode 100644 src/components/SettingsPage/sections/Profile.js diff --git a/src/components/SettingsPage/AboutRowItem.js b/src/components/SettingsPage/AboutRowItem.js index 012c809e..096f2c3a 100644 --- a/src/components/SettingsPage/AboutRowItem.js +++ b/src/components/SettingsPage/AboutRowItem.js @@ -9,7 +9,6 @@ export default class AboutRowItem extends PureComponent<{ url: string, title: string, desc: string, - url: string, }> { onClick = () => shell.openExternal(this.props.url) diff --git a/src/components/SettingsPage/ResetButton.js b/src/components/SettingsPage/ResetButton.js index e86d0f38..25943e73 100644 --- a/src/components/SettingsPage/ResetButton.js +++ b/src/components/SettingsPage/ResetButton.js @@ -70,12 +70,12 @@ class ResetButton extends PureComponent { } } -export const IconWrapperCircle = styled(Box).attrs({})` +export const IconWrapperCircle = styled(Box)` width: 50px; height: 50px; border-radius: 50%; background: #ea2e4919; - text-align: -webkit-center; + text-align: center; justify-content: center; ` diff --git a/src/components/SettingsPage/index.js b/src/components/SettingsPage/index.js index 9686884a..51faedbf 100644 --- a/src/components/SettingsPage/index.js +++ b/src/components/SettingsPage/index.js @@ -13,7 +13,6 @@ import Pills from 'components/base/Pills' import Box from 'components/base/Box' import SectionDisplay from './sections/Display' import SectionCurrencies from './sections/Currencies' -import SectionProfile from './sections/Profile' import SectionAbout from './sections/About' import SectionTools from './sections/Tools' @@ -48,11 +47,6 @@ class SettingsPage extends PureComponent { label: props.t('app:settings.tabs.currencies'), value: SectionCurrencies, }, - { - key: 'profile', - label: props.t('app:settings.tabs.profile'), - value: SectionProfile, - }, { key: 'about', label: props.t('app:settings.tabs.about'), diff --git a/src/components/SettingsPage/sections/About.js b/src/components/SettingsPage/sections/About.js index 382fd1e0..53042723 100644 --- a/src/components/SettingsPage/sections/About.js +++ b/src/components/SettingsPage/sections/About.js @@ -5,6 +5,10 @@ import { translate } from 'react-i18next' import type { T } from 'types/common' import TrackPage from 'analytics/TrackPage' import IconHelp from 'icons/Help' + +import ExportLogsBtn from 'components/ExportLogsBtn' +import CleanButton from '../CleanButton' +import ResetButton from '../ResetButton' import ReleaseNotesButton from '../ReleaseNotesButton' import AboutRowItem from '../AboutRowItem' @@ -39,6 +43,22 @@ class SectionAbout extends PureComponent { + + + + + + + + + + { )} - - + + {EXPERIMENTAL_MARKET_INDICATOR_SETTINGS ? ( + + + + ) : null} + + + + + + + + + + + + diff --git a/src/components/SettingsPage/sections/Profile.js b/src/components/SettingsPage/sections/Profile.js deleted file mode 100644 index 801e9835..00000000 --- a/src/components/SettingsPage/sections/Profile.js +++ /dev/null @@ -1,84 +0,0 @@ -// @flow -import React, { Component } from 'react' -import { translate } from 'react-i18next' -import type { T } from 'types/common' - -import TrackPage from 'analytics/TrackPage' -import ExportLogsBtn from 'components/ExportLogsBtn' -import IconUser from 'icons/User' -import DisablePasswordButton from '../DisablePasswordButton' -import DevModeButton from '../DevModeButton' -import SentryLogsButton from '../SentryLogsButton' -import ShareAnalyticsButton from '../ShareAnalyticsButton' -import CleanButton from '../CleanButton' -import ResetButton from '../ResetButton' - -import { - SettingsSection as Section, - SettingsSectionHeader as Header, - SettingsSectionBody as Body, - SettingsSectionRow as Row, -} from '../SettingsSection' - -type Props = { - t: T, -} - -class TabProfile extends Component { - render() { - const { t } = this.props - return ( -
- -
} - title={t('app:settings.tabs.profile')} - desc={t('app:settings.display.desc')} - /> - - - - - - - - - - - - - - - - - - - - - - - -
- ) - } -} - -export default translate()(TabProfile) diff --git a/src/config/constants.js b/src/config/constants.js index cf58d14b..43007d85 100644 --- a/src/config/constants.js +++ b/src/config/constants.js @@ -81,6 +81,9 @@ export const EXPERIMENTAL_CENTER_MODAL = boolFromEnv('EXPERIMENTAL_CENTER_MODAL' export const EXPERIMENTAL_FIRMWARE_UPDATE = boolFromEnv('EXPERIMENTAL_FIRMWARE_UPDATE') export const EXPERIMENTAL_HTTP_ON_RENDERER = boolFromEnv('EXPERIMENTAL_HTTP_ON_RENDERER') export const EXPERIMENTAL_TOOLS_SETTINGS = boolFromEnv('EXPERIMENTAL_TOOLS_SETTINGS') +export const EXPERIMENTAL_MARKET_INDICATOR_SETTINGS = boolFromEnv( + 'EXPERIMENTAL_MARKET_INDICATOR_SETTINGS', +) // Other constants From 7a587c94663526512232bafad6836f0cbacbbcbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sat, 30 Jun 2018 21:48:50 +0200 Subject: [PATCH 09/62] don't disable the displayName of styled components --- babel.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/babel.config.js b/babel.config.js index 3e5f9bc5..9b192822 100644 --- a/babel.config.js +++ b/babel.config.js @@ -24,7 +24,7 @@ module.exports = () => ({ [ require('babel-plugin-styled-components'), { - displayName: NODE_ENV === 'development', + displayName: true, ssr: __TEST__, }, ], From a8d515ab317e2a084121cad5bb2ce3bd2ab71935 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sat, 30 Jun 2018 22:31:20 +0200 Subject: [PATCH 10/62] Ethereum gasLimit field to not fallback on empty --- src/components/AdvancedOptions/EthereumKind.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/AdvancedOptions/EthereumKind.js b/src/components/AdvancedOptions/EthereumKind.js index 0fac97b3..e70e5f3f 100644 --- a/src/components/AdvancedOptions/EthereumKind.js +++ b/src/components/AdvancedOptions/EthereumKind.js @@ -25,7 +25,7 @@ export default translate()(({ gasLimit, onChangeGasLimit, t }: Props) => ( { - const gasLimit = parseInt(str, 10) + const gasLimit = parseInt(str || 0, 10) if (!isNaN(gasLimit) && isFinite(gasLimit)) onChangeGasLimit(gasLimit) else onChangeGasLimit(0x5208) }} From ed1c530994aea5266f8c7cf6bc4606b010e6a812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sat, 30 Jun 2018 22:32:06 +0200 Subject: [PATCH 11/62] Bitcoin fees field to handle Custom properly --- src/components/FeesField/BitcoinKind.js | 23 ++++++++++++++++------ src/components/base/Input/index.js | 9 ++++++--- src/components/base/InputCurrency/index.js | 11 +++++++++++ 3 files changed, 34 insertions(+), 9 deletions(-) diff --git a/src/components/FeesField/BitcoinKind.js b/src/components/FeesField/BitcoinKind.js index e9458045..0410eae4 100644 --- a/src/components/FeesField/BitcoinKind.js +++ b/src/components/FeesField/BitcoinKind.js @@ -50,10 +50,9 @@ const customItem = { feePerByte: 0, } -class FeesField extends Component< - Props & { fees?: Fees, error?: Error }, - { isFocused: boolean, items: FeeItem[], selectedItem: FeeItem }, -> { +type State = { isFocused: boolean, items: FeeItem[], selectedItem: FeeItem } + +class FeesField extends Component { state = { items: [customItem], selectedItem: customItem, @@ -103,10 +102,21 @@ class FeesField extends Component< onSelectChange = selectedItem => { const { onChange } = this.props - this.setState({ selectedItem }) - if (selectedItem.feePerByte) onChange(selectedItem.feePerByte) + const patch: $Shape = { selectedItem } + if (selectedItem.feePerByte) { + onChange(selectedItem.feePerByte) + } else { + const { input } = this + if (!selectedItem.feePerByte && input.current) { + patch.isFocused = true + input.current.select() + } + } + this.setState(patch) } + input = React.createRef() + render() { const { account, feePerByte, error, onChange, t } = this.props const { items, selectedItem } = this.state @@ -118,6 +128,7 @@ class FeesField extends Component< Date: Sat, 30 Jun 2018 22:33:04 +0200 Subject: [PATCH 12/62] Fix many race conditions in Send step1 --- src/components/FeesField/RippleKind.js | 6 ++++++ src/components/modals/Send/fields/AmountField.js | 7 ++++--- src/components/modals/Send/fields/RecipientField.js | 7 ++++--- src/components/modals/Send/steps/01-step-amount.js | 10 ++++++---- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/components/FeesField/RippleKind.js b/src/components/FeesField/RippleKind.js index f40a22e5..f44c8b71 100644 --- a/src/components/FeesField/RippleKind.js +++ b/src/components/FeesField/RippleKind.js @@ -23,11 +23,17 @@ class FeesField extends Component { componentDidMount() { this.sync() } + componentWillUnmount() { + this.syncId++ + } + syncId = 0 async sync() { const api = apiForEndpointConfig(this.props.account.endpointConfig) + const syncId = ++this.syncId try { await api.connect() const info = await api.getServerInfo() + if (syncId !== this.syncId) return const serverFee = parseAPIValue(info.validatedLedger.baseFeeXRP) if (!this.props.fee) { this.props.onChange(serverFee) diff --git a/src/components/modals/Send/fields/AmountField.js b/src/components/modals/Send/fields/AmountField.js index 6605f5f3..3d5a25ef 100644 --- a/src/components/modals/Send/fields/AmountField.js +++ b/src/components/modals/Send/fields/AmountField.js @@ -20,13 +20,14 @@ class AmountField extends Component<*, { canBeSpent: boolean }> { } } componentWillUnmount() { - this.unmount = true + this.syncId++ } - unmount = false + syncId = 0 async resync() { const { account, bridge, transaction } = this.props + const syncId = ++this.syncId const canBeSpent = await bridge.canBeSpent(account, transaction) - if (this.unmount) return + if (this.syncId !== syncId) return this.setState({ canBeSpent }) } diff --git a/src/components/modals/Send/fields/RecipientField.js b/src/components/modals/Send/fields/RecipientField.js index f01dd558..f7974c54 100644 --- a/src/components/modals/Send/fields/RecipientField.js +++ b/src/components/modals/Send/fields/RecipientField.js @@ -33,16 +33,17 @@ class RecipientField extends Component, { isVali } } componentWillUnmount() { - this.unmount = true + this.syncId++ } - unmount = false + syncId = 0 async resync() { const { account, bridge, transaction } = this.props + const syncId = ++this.syncId const isValid = await bridge.isRecipientValid( account.currency, bridge.getTransactionRecipient(account, transaction), ) - if (this.unmount) return + if (syncId !== this.syncId) return this.setState({ isValid }) } diff --git a/src/components/modals/Send/steps/01-step-amount.js b/src/components/modals/Send/steps/01-step-amount.js index efa72337..0e2524d0 100644 --- a/src/components/modals/Send/steps/01-step-amount.js +++ b/src/components/modals/Send/steps/01-step-amount.js @@ -112,14 +112,16 @@ export class StepAmountFooter extends PureComponent< } componentWillUnmount() { - this._isUnmounted = true + this.syncId++ } - _isUnmounted = false + syncId = 0 async resync() { const { account, bridge, transaction } = this.props + const syncId = ++this.syncId + if (!account || !transaction || !bridge) { return } @@ -128,9 +130,9 @@ export class StepAmountFooter extends PureComponent< try { const totalSpent = await bridge.getTotalSpent(account, transaction) - if (this._isUnmounted) return + if (syncId !== this.syncId) return const canBeSpent = await bridge.canBeSpent(account, transaction) - if (this._isUnmounted) return + if (syncId !== this.syncId) return this.setState({ totalSpent, canBeSpent, isSyncing: false }) } catch (err) { this.setState({ isSyncing: false }) From df10cdec425bf9a1c9969d256005c81d4096f528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sat, 30 Jun 2018 22:39:27 +0200 Subject: [PATCH 13/62] react-select: use menuPlacement="auto" so the region select opens up instead of down --- src/components/base/Select/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/base/Select/index.js b/src/components/base/Select/index.js index 9de8bad0..9d55dee2 100644 --- a/src/components/base/Select/index.js +++ b/src/components/base/Select/index.js @@ -75,6 +75,7 @@ class Select extends PureComponent { isLoading={isLoading} isClearable={isClearable} isSearchable={isSearchable} + menuPlacement="auto" blurInputOnSelect={false} backspaceRemovesValue menuShouldBlockScroll From 8d6f328c6843372afac16a0ef5b493baea61e863 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sun, 1 Jul 2018 17:05:05 +0200 Subject: [PATCH 14/62] Proposal of wording for sync --- static/i18n/en/app.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/i18n/en/app.yml b/static/i18n/en/app.yml index 79ed9fcd..29a55bea 100644 --- a/static/i18n/en/app.yml +++ b/static/i18n/en/app.yml @@ -46,8 +46,8 @@ common: lostPassword: I lost my password sync: syncing: Synchronizing... - upToDate: Up to date - outdated: Outdated + upToDate: Synchronized + outdated: Paused error: Synchronization error refresh: Refresh ago: Synced {{time}} From 492d36671dbfa03d4a712090bc5f1e9a8f155e44 Mon Sep 17 00:00:00 2001 From: ledger-bot <37080477+ledger-bot@users.noreply.github.com> Date: Sun, 1 Jul 2018 17:51:42 +0200 Subject: [PATCH 15/62] New translations app.yml (French) --- static/i18n/fr/app.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/i18n/fr/app.yml b/static/i18n/fr/app.yml index 87d94577..148d0ecd 100644 --- a/static/i18n/fr/app.yml +++ b/static/i18n/fr/app.yml @@ -47,8 +47,8 @@ common: lostPassword: I lost my password sync: syncing: Synchronizing... - upToDate: Up to date - outdated: Outdated + upToDate: Synchronized + outdated: Paused error: Synchronization error refresh: Refresh ago: Synced {{time}} From 1852243b9fe1c2e9bf4f9e2918544c4ec4d0518f Mon Sep 17 00:00:00 2001 From: David da Silva Rosa <712580+dasilvarosa@users.noreply.github.com> Date: Sun, 1 Jul 2018 18:27:28 +0200 Subject: [PATCH 16/62] Wording error messages (#786) * Minor changes * Minor changes * Help description wording and privacyURL * Reworded all errors to match title-description format. Need review from dev * Fixed parsing error * Comments from PR #786 addressed * Updated wording on countervalue calculation, pending legal review --- static/i18n/en/app.yml | 13 ++-- static/i18n/en/errors.yml | 120 +++++++++++++++++----------------- static/i18n/en/onboarding.yml | 2 +- 3 files changed, 68 insertions(+), 67 deletions(-) diff --git a/static/i18n/en/app.yml b/static/i18n/en/app.yml index 29a55bea..400b01dc 100644 --- a/static/i18n/en/app.yml +++ b/static/i18n/en/app.yml @@ -83,7 +83,7 @@ account: lastOperations: Last operations emptyState: title: No crypto assets yet? - desc: Ensure the <1><0>{{currency}} app is installed and start receiving + desc: Make sure the <1><0>{{currency}} app is installed and start receiving buttons: receiveFunds: Receive settings: @@ -304,13 +304,13 @@ settings: # Always ensure descriptions carry full stops (.) profile: Profile about: Help display: - desc: Unneeded description # Remove this, it controls multiple settings tabs and is not required. + desc: Change settings that affect Ledger Live in general. language: Display language languageDesc: Set the language displayed in Ledger Live. counterValue: Countervalue counterValueDesc: Choose the currency to display next to your balance and operations. exchange: Rate provider - exchangeDesc: Choose the provider of the exchange rate from Bitcoin to {{fiat}}. + exchangeDesc: Choose the provider of the exchange rate from Bitcoin to {{fiat}}. Crypto assets are first converted to a Bitcoin countervalue, before they're converted to {{fiat}} (crypto asset β†’ BTC β†’ {{fiat}}). region: Region regionDesc: Choose the region in which you’re located to set the Ledger Live's time zone. stock: Regional market indicator @@ -318,7 +318,7 @@ settings: # Always ensure descriptions carry full stops (.) currencies: desc: Select a crypto asset to edit its settings. exchange: Rate provider ({{ticker}} β†’ BTC) - exchangeDesc: Choose the provider of the rate between {{currencyName}} and Bitcoin. This intermediary calculation enables the calculation of your balance in your base currency, for indicative purposes only. + exchangeDesc: Choose the provider of the rate between {{currencyName}} and Bitcoin. The indicative total value of your portfolio is calculated by converting your {{currencyName}} to Bitcoin, which is then converted to your base currency. confirmationsToSpend: Number of confirmations required to spend confirmationsToSpendDesc: Set the number of network confirmations required for your crypto assets to be spendable. # A higher number of confirmations decreases the probability that a transaction is rejected. confirmationsNb: Number of confirmations @@ -353,11 +353,12 @@ settings: # Always ensure descriptions carry full stops (.) version: Ledger Live version releaseNotesBtn: Show release notes # Close button instead of continue. faq: Ledger Support - faqDesc: A problem? Learn about Ledger Live, Ledger devices, supported crypto assets and apps. + faqDesc: A problem? Get help with Ledger Live, Ledger devices, supported crypto assets and apps. terms: Terms and conditions termsDesc: By using Ledger Live you are deemed to have accepted our terms and conditions. #privacy: Privacy policy - #termsDesc: Refer to our privacy policy to learn what personal data we collect, and why and how we use it. + #privacyDesc: Refer to our privacy policy to learn what personal data we collect, and why and how we use it. + #privacyURL: 'https://www.ledgerwallet.com/privacy-policy' hardResetModal: title: Reset Ledger Live desc: Erase all Ledger Live data stored on your computer, including your accounts, transaction history and settings. The private keys to access your crypto assets in the blockchain remain secure on your Ledger device and on your Recovery sheet. diff --git a/static/i18n/en/errors.yml b/static/i18n/en/errors.yml index 1962fae2..b7c67778 100644 --- a/static/i18n/en/errors.yml +++ b/static/i18n/en/errors.yml @@ -1,97 +1,97 @@ # the error codes are alphabetically sorted BtcUnmatchedApp: - title: 'Open the β€˜{{currencyName}}’ app on your Ledger device to proceed.' - description: '' + title: That's the wrong app + description: Open the β€˜{{currencyName}}’ app on your device DeviceNotGenuine: - title: Device is not genuine - description: '' + title: Possibly not genuine + description: 'Request Ledger Support assistance.' DeviceSocketFail: - title: Oops, device connection failed. Please try again. [device-fail] - description: '' + title: Oops, try again + description: 'Some connection failed, so please try again.' DeviceSocketNoBulkStatus: - title: Oops, device connection failed. Please try again [bulk]. - description: '' + title: Oops, try again + description: Some connection failed, so please try again. DeviceSocketNoHandler: - title: Oops, device connection failed (handler {{query}}). Please try again. - description: '' + title: Oops, try again + description: Some connection failed, so please try again. DisconnectedDevice: - title: 'The device was disconnected.' - description: '' + title: Oops, device was disconnected + description: The connection to the device was lost, so please try again. Error: # as this is a generic unhandled error i think it's ok to have a generic title. but keep description to {{message}} title: '{{message}}' - description: 'Something went wrong. Please contact our support.' + description: Something went wrong. Please retry or contact us. FeeEstimationFailed: - title: 'Fee estimation error. Try again or set a custom fee (status: {{status}})' - description: '' + title: Sorry, fee estimation failed + description: 'Try setting a custom fee (status: {{status}})' generic: - title: Oops, an unknown error occurred. Please try again or contact Ledger Support. - description: '' + title: Sorry, that's an unexpected bug + description: Please retry or contact Ledger Support. HardResetFail: - title: Reset failed. Please try again. - description: '' + title: Oops, could not reset + description: Please retry or contact Ledger Support. LatestMCUInstalledError: - title: MCU on device already up to date. - description: '' + title: Oops, nothing to update + description: Needlessly tried to update the device microcontroller. Contact Ledger Support if there's a problem with your device. LedgerAPIError: - title: 'Ledger API error. Try again. (HTTP {{status}})' - description: '' + title: 'Sorry, try again (API HTTP {{status}})' + description: Interacting with Ledger's API server went wrong. Please retry. LedgerAPIErrorWithMessage: - title: '{{message}}' - description: '' + title: 'Oops, {{message}})' + description: Please retry or contact Ledger Support. LedgerAPINotAvailable: - title: 'Ledger API not available for {{currencyName}}.' - description: '' + title: Sorry, {{currencyName}} services unavailable + description: Please retry or contact Ledger Support. ManagerAPIsFail: - title: Services are unavailable. Please try again. - description: '' + title: Oops, Manager services unavailable. + description: Please check the network status. #link to status.ledger.fr ? ManagerAppAlreadyInstalled: - title: App is already installed - description: '' + title: Oops, that's already installed. # include {{currencyName}} + description: Check your device to see which apps are already installed. ManagerAppRelyOnBTC: - title: You must install Bitcoin application first - description: '' + title: Bitcoin app required + description: Install the Bitcoin app before installing this app. # include {{currencyName}} ManagerDeviceLocked: - title: Device is locked - description: '' + title: Please unlock your device + description: Your device was locked. Please unlock it. ManagerNotEnoughSpace: - title: Not enough storage on device - description: Uninstall some apps and try again. + title: Sorry, insufficient device storage + description: Uninstall some apps to increase available storage and try again. ManagerUnexpectedError: - title: Unexpected error occurred ({{msg}}) + title: That's unexpected ({{msg}}) #(Manager: {{msg}}) description: Please try again. ManagerUninstallBTCDep: - title: You must uninstall other altcoins first - description: '' + title: Sorry, Bitcoin is required # include {{currencyName}} + description: First uninstall apps that depend on Bitcoin. NetworkDown: - title: 'Your internet connection seems down.' - description: '' + title: Oops, internet seems down + description: Please check your internet connection. NoAddressesFound: - title: 'No accounts were found.' - description: '' + title: Sorry, no accounts found + description: Something went wrong with address calculation, try again or contact Ledger Support. NotEnoughBalance: - title: 'Insufficient funds to proceed.' - description: '' + title: Oops, not enough balance + description: Make sure the account to debit has sufficient balance RangeError: title: '{{message}}' - description: '' + description: TimeoutError: - title: 'The request timed out.' - description: '' + title: Oops, a time out occurred + description: It took too long for the server to respond. TransportStatusError: title: '{{message}}' - description: '' + description: UserRefusedOnDevice: - title: Transaction refused on device. - description: '' + title: Transaction refused on device + description: Please retry or contact Ledger Support in case of doubt. WebsocketConnectionError: - title: Oops, device connection failed. Please try again. [web-err] - description: '' + title: Sorry, try again (websocket error). + description: #context WebsocketConnectionFailed: - title: Oops, device connection failed. Please try again. [web-fail] - description: '' + title: Sorry, try again (websocket failed). + description: WrongAppOpened: - title: 'Open the β€˜{{currencyName}}’ app on your Ledger device to proceed.' - description: '' + title: Please open the β€˜{{currencyName}}’ app + description: The wrong app was opened on your device. Please retry. WrongDeviceForAccount: - title: 'Use the device associated with the account β€˜{{accountName}}’.' - description: '' + title: Oops, wrong device for β€˜{{accountName}}’. + description: The connected device is not associated with the account you selected. Please connect the right device. diff --git a/static/i18n/en/onboarding.yml b/static/i18n/en/onboarding.yml index a9f3f9e7..17c148f1 100644 --- a/static/i18n/en/onboarding.yml +++ b/static/i18n/en/onboarding.yml @@ -71,7 +71,7 @@ writeSeed: step2: 'Press the right button to display <1><0>Word #2 and repeat the process until all 24 words are copied on the Recovery sheet.' #Recovery sheet step3: 'Confirm your recovery phrase: select each requested word and press both buttons to validate it.' blue: - step1: Copy each word of the recovery phrase on a blank Recovery sheet. Copy the words in the same order. # Recovery sheet + step1: Copy each word of the recovery phrase on a blank Recovery sheet. Copy the words in the same order. step2: Tap <1><0>Next to move to the next words. Repeat the process until the <3><0>Confirmation screen appears. step3: Type each requested word to confirm your recovery phrase. restore: From aee3770aecf79c8466f78a6cd6ebfa9a7a3f8556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sun, 1 Jul 2018 18:53:48 +0200 Subject: [PATCH 17/62] fix extra parenthesis --- static/i18n/en/errors.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/i18n/en/errors.yml b/static/i18n/en/errors.yml index b7c67778..ae74c546 100644 --- a/static/i18n/en/errors.yml +++ b/static/i18n/en/errors.yml @@ -36,7 +36,7 @@ LedgerAPIError: title: 'Sorry, try again (API HTTP {{status}})' description: Interacting with Ledger's API server went wrong. Please retry. LedgerAPIErrorWithMessage: - title: 'Oops, {{message}})' + title: 'Oops, {{message}}' description: Please retry or contact Ledger Support. LedgerAPINotAvailable: title: Sorry, {{currencyName}} services unavailable From 7f3e7a618be7e11765d1fc51ec2e4b4fe5196e8f Mon Sep 17 00:00:00 2001 From: ledger-bot <37080477+ledger-bot@users.noreply.github.com> Date: Mon, 2 Jul 2018 08:31:30 +0200 Subject: [PATCH 18/62] New Crowdin translations (#790) * New translations app.yml (French) * New translations errors.yml (French) --- static/i18n/fr/app.yml | 10 ++-- static/i18n/fr/errors.yml | 120 +++++++++++++++++++------------------- 2 files changed, 65 insertions(+), 65 deletions(-) diff --git a/static/i18n/fr/app.yml b/static/i18n/fr/app.yml index 148d0ecd..dabb95fe 100644 --- a/static/i18n/fr/app.yml +++ b/static/i18n/fr/app.yml @@ -80,7 +80,7 @@ account: lastOperations: Last operations emptyState: title: No crypto assets yet? - desc: Ensure the <1><0>{{currency}} app is installed and start receiving + desc: Make sure the <1><0>{{currency}} app is installed and start receiving buttons: receiveFunds: Receive settings: @@ -300,13 +300,13 @@ settings: profile: Profile about: Help display: - desc: Unneeded description + desc: Change settings that affect Ledger Live in general. language: Display language languageDesc: Set the language displayed in Ledger Live. counterValue: Countervalue counterValueDesc: Choose the currency to display next to your balance and operations. exchange: Rate provider - exchangeDesc: Choose the provider of the exchange rate from Bitcoin to {{fiat}}. + exchangeDesc: Choose the provider of the exchange rate from Bitcoin to {{fiat}}. Crypto assets are first converted to a Bitcoin countervalue, before they're converted to {{fiat}} (crypto asset β†’ BTC β†’ {{fiat}}). region: Region regionDesc: Choose the region in which you’re located to set the Ledger Live's time zone. stock: Regional market indicator @@ -314,7 +314,7 @@ settings: currencies: desc: Select a crypto asset to edit its settings. exchange: Rate provider ({{ticker}} β†’ BTC) - exchangeDesc: Choose the provider of the rate between {{currencyName}} and Bitcoin. This intermediary calculation enables the calculation of your balance in your base currency, for indicative purposes only. + exchangeDesc: Choose the provider of the rate between {{currencyName}} and Bitcoin. The indicative total value of your portfolio is calculated by converting your {{currencyName}} to Bitcoin, which is then converted to your base currency. confirmationsToSpend: Number of confirmations required to spend confirmationsToSpendDesc: Set the number of network confirmations required for your crypto assets to be spendable. confirmationsNb: Number of confirmations @@ -349,7 +349,7 @@ settings: version: Ledger Live version releaseNotesBtn: Show release notes faq: Ledger Support - faqDesc: A problem? Learn about Ledger Live, Ledger devices, supported crypto assets and apps. + faqDesc: A problem? Get help with Ledger Live, Ledger devices, supported crypto assets and apps. terms: Terms and conditions termsDesc: By using Ledger Live you are deemed to have accepted our terms and conditions. hardResetModal: diff --git a/static/i18n/fr/errors.yml b/static/i18n/fr/errors.yml index 71e08848..a4c6b8fb 100644 --- a/static/i18n/fr/errors.yml +++ b/static/i18n/fr/errors.yml @@ -1,97 +1,97 @@ --- BtcUnmatchedApp: - title: 'Open the β€˜{{currencyName}}’ app on your Ledger device to proceed.' - description: '' + title: That's the wrong app + description: Open the β€˜{{currencyName}}’ app on your device DeviceNotGenuine: - title: Device is not genuine - description: '' + title: Possibly not genuine + description: 'Request Ledger Support assistance.' DeviceSocketFail: - title: Oops, device connection failed. Please try again. [device-fail] - description: '' + title: Oops, try again + description: 'Some connection failed, so please try again.' DeviceSocketNoBulkStatus: - title: Oops, device connection failed. Please try again [bulk]. - description: '' + title: Oops, try again + description: Some connection failed, so please try again. DeviceSocketNoHandler: - title: Oops, device connection failed (handler {{query}}). Please try again. - description: '' + title: Oops, try again + description: Some connection failed, so please try again. DisconnectedDevice: - title: 'The device was disconnected.' - description: '' + title: Oops, device was disconnected + description: The connection to the device was lost, so please try again. Error: title: '{{message}}' - description: 'Something went wrong. Please contact our support.' + description: Something went wrong. Please retry or contact us. FeeEstimationFailed: - title: 'Fee estimation error. Try again or set a custom fee (status: {{status}})' - description: '' + title: Sorry, fee estimation failed + description: 'Try setting a custom fee (status: {{status}})' generic: - title: Oops, an unknown error occurred. Please try again or contact Ledger Support. - description: '' + title: Sorry, that's an unexpected bug + description: Please retry or contact Ledger Support. HardResetFail: - title: Reset failed. Please try again. - description: '' + title: Oops, could not reset + description: Please retry or contact Ledger Support. LatestMCUInstalledError: - title: MCU on device already up to date. - description: '' + title: Oops, nothing to update + description: Needlessly tried to update the device microcontroller. Contact Ledger Support if there's a problem with your device. LedgerAPIError: - title: 'Ledger API error. Try again. (HTTP {{status}})' - description: '' + title: 'Sorry, try again (API HTTP {{status}})' + description: Interacting with Ledger's API server went wrong. Please retry. LedgerAPIErrorWithMessage: - title: '{{message}}' - description: '' + title: 'Oops, {{message}}' + description: Please retry or contact Ledger Support. LedgerAPINotAvailable: - title: 'Ledger API not available for {{currencyName}}.' - description: '' + title: Sorry, {{currencyName}} services unavailable + description: Please retry or contact Ledger Support. ManagerAPIsFail: - title: Services are unavailable. Please try again. - description: '' + title: Oops, Manager services unavailable. + description: Please check the network status. ManagerAppAlreadyInstalled: - title: App is already installed - description: '' + title: Oops, that's already installed. + description: Check your device to see which apps are already installed. ManagerAppRelyOnBTC: - title: You must install Bitcoin application first - description: '' + title: Bitcoin app required + description: Install the Bitcoin app before installing this app. ManagerDeviceLocked: - title: Device is locked - description: '' + title: Please unlock your device + description: Your device was locked. Please unlock it. ManagerNotEnoughSpace: - title: Not enough storage on device - description: Uninstall some apps and try again. + title: Sorry, insufficient device storage + description: Uninstall some apps to increase available storage and try again. ManagerUnexpectedError: - title: Unexpected error occurred ({{msg}}) + title: That's unexpected ({{msg}}) description: Please try again. ManagerUninstallBTCDep: - title: You must uninstall other altcoins first - description: '' + title: Sorry, Bitcoin is required + description: First uninstall apps that depend on Bitcoin. NetworkDown: - title: 'Your internet connection seems down.' - description: '' + title: Oops, internet seems down + description: Please check your internet connection. NoAddressesFound: - title: 'No accounts were found.' - description: '' + title: Sorry, no accounts found + description: Something went wrong with address calculation, try again or contact Ledger Support. NotEnoughBalance: - title: 'Insufficient funds to proceed.' - description: '' + title: Oops, not enough balance + description: Make sure the account to debit has sufficient balance RangeError: title: '{{message}}' - description: '' + description: TimeoutError: - title: 'The request timed out.' - description: '' + title: Oops, a time out occurred + description: It took too long for the server to respond. TransportStatusError: title: '{{message}}' - description: '' + description: UserRefusedOnDevice: - title: Transaction refused on device. - description: '' + title: Transaction refused on device + description: Please retry or contact Ledger Support in case of doubt. WebsocketConnectionError: - title: Oops, device connection failed. Please try again. [web-err] - description: '' + title: Sorry, try again (websocket error). + description: WebsocketConnectionFailed: - title: Oops, device connection failed. Please try again. [web-fail] - description: '' + title: Sorry, try again (websocket failed). + description: WrongAppOpened: - title: 'Open the β€˜{{currencyName}}’ app on your Ledger device to proceed.' - description: '' + title: Please open the β€˜{{currencyName}}’ app + description: The wrong app was opened on your device. Please retry. WrongDeviceForAccount: - title: 'Use the device associated with the account β€˜{{accountName}}’.' - description: '' + title: Oops, wrong device for β€˜{{accountName}}’. + description: The connected device is not associated with the account you selected. Please connect the right device. From 4b24542fd91f15413e0bcfea0e074a04aec53896 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Mon, 2 Jul 2018 08:43:48 +0200 Subject: [PATCH 19/62] Update spinner icon --- src/icons/Loader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/icons/Loader.js b/src/icons/Loader.js index 921f15c1..1de9cbf5 100644 --- a/src/icons/Loader.js +++ b/src/icons/Loader.js @@ -5,7 +5,7 @@ import React from 'react' const path = ( ) From daddfcaed9e6aee6340f8f6e169463f176e3eb5b Mon Sep 17 00:00:00 2001 From: meriadec Date: Mon, 2 Jul 2018 10:00:15 +0200 Subject: [PATCH 20/62] Fix GrowScroll style (fixes onboarding step 1 centering) --- src/components/base/GrowScroll/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/base/GrowScroll/index.js b/src/components/base/GrowScroll/index.js index 4abf5370..6a320289 100644 --- a/src/components/base/GrowScroll/index.js +++ b/src/components/base/GrowScroll/index.js @@ -52,6 +52,8 @@ class GrowScroll extends PureComponent { overflowY: 'scroll', marginRight: `-${80 + scrollbarWidth}px`, paddingRight: `80px`, + display: 'flex', + flexDirection: 'column', ...(maxHeight ? { maxHeight, @@ -68,7 +70,7 @@ class GrowScroll extends PureComponent { return (
- + {children} From 8bec1cea1f6bf1211aed8b53a784bd12de78fa67 Mon Sep 17 00:00:00 2001 From: "Valentin D. Pinkman" Date: Fri, 29 Jun 2018 11:41:53 +0200 Subject: [PATCH 21/62] smoother progress bar --- src/components/base/Progress/index.js | 15 +++++++++++---- src/components/base/Progress/stories.js | 25 +++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 src/components/base/Progress/stories.js diff --git a/src/components/base/Progress/index.js b/src/components/base/Progress/index.js index ee1d9f75..69f8c36a 100644 --- a/src/components/base/Progress/index.js +++ b/src/components/base/Progress/index.js @@ -6,10 +6,17 @@ import Box from 'components/base/Box' const inifiteAnimation = keyframes` 0% { - left: 0 + left: -18%; + width: 20%; } + + 50% { + left: 98%; + } + 100% { - left: 102% + left: -18%; + width: 20%; } ` @@ -45,7 +52,7 @@ const Progression = styled(Bar).attrs({ ${p => p.infinite ? ` - animation: 1000ms ${inifiteAnimation} ease-out infinite; + animation: ${p.timing}ms ${inifiteAnimation} infinite; ` : ` animation: ${p.timing}ms ${fillInAnimation} ease-out; @@ -70,7 +77,7 @@ class Progress extends Component { render() { const { infinite, color, timing } = this.props - const styles = infinite ? { width: '20%' } : { width: '100%' } + const styles = infinite ? { width: '0%' } : { width: '100%' } return ( diff --git a/src/components/base/Progress/stories.js b/src/components/base/Progress/stories.js new file mode 100644 index 00000000..67c60b74 --- /dev/null +++ b/src/components/base/Progress/stories.js @@ -0,0 +1,25 @@ +// @flow + +import React from 'react' + +import { storiesOf } from '@storybook/react' +import { text, number, boolean } from '@storybook/addon-knobs' + +import Progress from 'components/base/Progress' + +const stories = storiesOf('Components/base', module) + +stories.add('Progress (infinite)', () => ( + +)) +stories.add('Progress', () => ( + +)) From 681bd7feb0cc5e8c3c11cee5e8befde656fdb825 Mon Sep 17 00:00:00 2001 From: meriadec Date: Mon, 2 Jul 2018 10:54:40 +0200 Subject: [PATCH 22/62] Re-sync yarn.lock --- yarn.lock | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) diff --git a/yarn.lock b/yarn.lock index bdb568a8..e85f98a2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5283,7 +5283,7 @@ debug@3.1.0, debug@^3.0.0, debug@^3.1.0: dependencies: ms "2.0.0" -debuglog@*, debuglog@^1.0.1: +debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" @@ -7753,7 +7753,7 @@ import-local@^1.0.0: pkg-dir "^2.0.0" resolve-cwd "^2.0.0" -imurmurhash@*, imurmurhash@^0.1.4: +imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -9113,10 +9113,6 @@ lodash-es@^4.17.4, lodash-es@^4.17.5, lodash-es@^4.2.1: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz#62cd7104cdf5dd87f235a837f0ede0e8e5117e05" -lodash._baseindexof@*: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c" - lodash._baseuniq@~4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" @@ -9124,25 +9120,11 @@ lodash._baseuniq@~4.6.0: lodash._createset "~4.0.0" lodash._root "~3.0.0" -lodash._bindcallback@*: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" - -lodash._cacheindexof@*: - version "3.0.2" - resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92" - -lodash._createcache@*: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093" - dependencies: - lodash._getnative "^3.0.0" - lodash._createset@~4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" -lodash._getnative@*, lodash._getnative@^3.0.0: +lodash._getnative@^3.0.0: version "3.9.1" resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" @@ -9202,10 +9184,6 @@ lodash.pick@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" -lodash.restparam@*: - version "3.6.1" - resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" - lodash.some@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" @@ -12018,7 +11996,7 @@ readable-stream@~2.1.5: string_decoder "~0.10.x" util-deprecate "~1.0.1" -readdir-scoped-modules@*, readdir-scoped-modules@^1.0.0: +readdir-scoped-modules@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" dependencies: From 517201d24808e4a31234ecfa8ee75e496a952b97 Mon Sep 17 00:00:00 2001 From: meriadec Date: Mon, 2 Jul 2018 12:03:06 +0200 Subject: [PATCH 23/62] Prevent loading fs via analytics in storybook --- src/analytics/segment.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/analytics/segment.js b/src/analytics/segment.js index 0d34366b..26e6a305 100644 --- a/src/analytics/segment.js +++ b/src/analytics/segment.js @@ -3,13 +3,17 @@ import uuid from 'uuid/v4' import logger from 'logger' import invariant from 'invariant' -import user from 'helpers/user' import { langAndRegionSelector } from 'reducers/settings' import { getSystemLocale } from 'helpers/systemLocale' import { load } from './inject-in-window' invariant(typeof window !== 'undefined', 'analytics/segment must be called on renderer thread') +let user = null +if (!process.env.STORYBOOK_ENV) { + user = require('helpers/user').default +} + const sessionId = uuid() const getContext = store => { @@ -31,6 +35,7 @@ const getContext = store => { let storeInstance // is the redux store. it's also used as a flag to know if analytics is on or off. export const start = (store: *) => { + if (!user) return const { id } = user() logger.analyticsStart(id) storeInstance = store From 2fe2470b3a0c1479f2db7a98657ff20fcf8ed9ca Mon Sep 17 00:00:00 2001 From: meriadec Date: Mon, 2 Jul 2018 11:55:46 +0200 Subject: [PATCH 24/62] Remove component This reduce amount of blinks - but not prevent them completely in dev So still need investigate --- src/components/OperationsList/index.js | 104 ++++++++++++------------- src/components/base/Defer.js | 40 ---------- src/components/base/Modal/index.js | 3 +- 3 files changed, 50 insertions(+), 97 deletions(-) delete mode 100644 src/components/base/Defer.js diff --git a/src/components/OperationsList/index.js b/src/components/OperationsList/index.js index 5f177c89..4e3678d3 100644 --- a/src/components/OperationsList/index.js +++ b/src/components/OperationsList/index.js @@ -24,7 +24,6 @@ import IconAngleDown from 'icons/AngleDown' import Box, { Card } from 'components/base/Box' import Text from 'components/base/Text' -import Defer from 'components/base/Defer' import Track from 'analytics/Track' import SectionTitle from './SectionTitle' @@ -100,61 +99,56 @@ export class OperationsList extends PureComponent { const accountsMap = accounts ? keyBy(accounts, 'id') : { [account.id]: account } return ( - - - {title && ( - - {title} + + {title && ( + + {title} + + )} + {groupedOperations.sections.map(group => ( + + + + {group.data.map(operation => { + const account = accountsMap[operation.accountId] + if (!account) { + return null + } + return ( + + ) + })} + + + ))} + {groupedOperations.completed ? ( + sum + s.data.length, 0)} + /> + ) : null} + {!groupedOperations.completed ? ( + + {t('app:common.showMore')} + + + ) : ( + + + {t('app:operationList.noMoreOperations')} - )} - {groupedOperations.sections.map(group => ( - - - - {group.data.map(operation => { - const account = accountsMap[operation.accountId] - if (!account) { - return null - } - return ( - - ) - })} - - - ))} - {groupedOperations.completed ? ( - sum + s.data.length, - 0, - )} - /> - ) : null} - {!groupedOperations.completed ? ( - - {t('app:common.showMore')} - - - ) : ( - - - {t('app:operationList.noMoreOperations')} - - - )} - - + + )} + ) } } diff --git a/src/components/base/Defer.js b/src/components/base/Defer.js deleted file mode 100644 index 2044e054..00000000 --- a/src/components/base/Defer.js +++ /dev/null @@ -1,40 +0,0 @@ -// @flow - -import { PureComponent } from 'react' - -type Props = { - children: any, -} - -type State = { - shouldRender: boolean, -} - -class Defer extends PureComponent { - state = { - shouldRender: false, - } - - componentDidMount() { - this._mounted = true - - window.requestAnimationFrame(() => - window.requestAnimationFrame(() => this._mounted && this.setState({ shouldRender: true })), - ) - } - - componentWillUnmount() { - this._mounted = false - } - - _mounted = false - - render() { - const { children } = this.props - const { shouldRender } = this.state - - return shouldRender ? children : null - } -} - -export default Defer diff --git a/src/components/base/Modal/index.js b/src/components/base/Modal/index.js index 6d1f19d6..472f1ee3 100644 --- a/src/components/base/Modal/index.js +++ b/src/components/base/Modal/index.js @@ -19,7 +19,6 @@ import { closeModal, isModalOpened, getModalData } from 'reducers/modals' import Box from 'components/base/Box' import GrowScroll from 'components/base/GrowScroll' -import Defer from 'components/base/Defer' export { default as ModalBody } from './ModalBody' export { default as ConfirmModal } from './ConfirmModal' @@ -126,7 +125,7 @@ class Pure extends Component { render() { const { data, onClose, render } = this.props - return {render({ data, onClose })} + return render({ data, onClose }) } } From d1c137ca6b2d168e515ea6869735a340898a1155 Mon Sep 17 00:00:00 2001 From: meriadec Date: Mon, 2 Jul 2018 12:23:38 +0200 Subject: [PATCH 25/62] Receive modal should go to step device is account is given --- src/components/modals/Receive/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/modals/Receive/index.js b/src/components/modals/Receive/index.js index bcdce22c..208d5b6c 100644 --- a/src/components/modals/Receive/index.js +++ b/src/components/modals/Receive/index.js @@ -114,7 +114,7 @@ class ReceiveModal extends PureComponent { if (!account) { if (data && data.account) { - this.setState({ account: data.account }) + this.setState({ account: data.account, stepId: 'device' }) } else { this.setState({ account: accounts[0] }) } From 536f0616250930f7e4052ee956ae4395662b967c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Mon, 2 Jul 2018 13:46:31 +0200 Subject: [PATCH 26/62] Rename CheckBox to Switch --- src/components/AdvancedOptions/BitcoinKind.js | 4 ++-- src/components/Onboarding/steps/Analytics.js | 6 +++--- src/components/SettingsPage/DevModeButton.js | 4 ++-- src/components/SettingsPage/DisablePasswordButton.js | 4 ++-- src/components/SettingsPage/SentryLogsButton.js | 4 ++-- src/components/SettingsPage/ShareAnalyticsButton.js | 4 ++-- src/components/base/{CheckBox => Switch}/index.js | 6 +++--- src/components/base/{CheckBox => Switch}/stories.js | 6 +++--- src/components/modals/ReleaseNotes.js | 2 +- 9 files changed, 20 insertions(+), 20 deletions(-) rename src/components/base/{CheckBox => Switch}/index.js (92%) rename src/components/base/{CheckBox => Switch}/stories.js (58%) diff --git a/src/components/AdvancedOptions/BitcoinKind.js b/src/components/AdvancedOptions/BitcoinKind.js index 28810fef..d9220787 100644 --- a/src/components/AdvancedOptions/BitcoinKind.js +++ b/src/components/AdvancedOptions/BitcoinKind.js @@ -3,7 +3,7 @@ import React from 'react' import { translate } from 'react-i18next' import Box from 'components/base/Box' -import CheckBox from 'components/base/CheckBox' +import Switch from 'components/base/Switch' import Label from 'components/base/Label' import LabelInfoTooltip from 'components/base/LabelInfoTooltip' import Spoiler from 'components/base/Spoiler' @@ -24,7 +24,7 @@ export default translate()(({ isRBF, onChangeRBF, t }: Props) => ( - + diff --git a/src/components/Onboarding/steps/Analytics.js b/src/components/Onboarding/steps/Analytics.js index bfd63e00..72705880 100644 --- a/src/components/Onboarding/steps/Analytics.js +++ b/src/components/Onboarding/steps/Analytics.js @@ -5,7 +5,7 @@ import styled from 'styled-components' import { connect } from 'react-redux' import { saveSettings } from 'actions/settings' import Box from 'components/base/Box' -import CheckBox from 'components/base/CheckBox' +import Switch from 'components/base/Switch' import TrackPage from 'analytics/TrackPage' import Track from 'analytics/Track' import { Title, Description, FixedTopContainer, StepContainerInner } from '../helperComponents' @@ -77,7 +77,7 @@ class Analytics extends PureComponent { : 'Sentry Logs Disabled Onboarding' } /> - + @@ -94,7 +94,7 @@ class Analytics extends PureComponent { : 'Analytics Disabled Onboarding' } /> - + diff --git a/src/components/SettingsPage/DevModeButton.js b/src/components/SettingsPage/DevModeButton.js index f31c6bc4..8e53a2d1 100644 --- a/src/components/SettingsPage/DevModeButton.js +++ b/src/components/SettingsPage/DevModeButton.js @@ -6,7 +6,7 @@ import { createStructuredSelector } from 'reselect' import { setDeveloperMode } from 'actions/settings' import { developerModeSelector } from 'reducers/settings' import Track from 'analytics/Track' -import CheckBox from 'components/base/CheckBox' +import Switch from 'components/base/Switch' const mapStateToProps = createStructuredSelector({ developerMode: developerModeSelector, @@ -27,7 +27,7 @@ class DevModeButton extends PureComponent { return ( - + ) } diff --git a/src/components/SettingsPage/DisablePasswordButton.js b/src/components/SettingsPage/DisablePasswordButton.js index 76028bc6..ca3f7001 100644 --- a/src/components/SettingsPage/DisablePasswordButton.js +++ b/src/components/SettingsPage/DisablePasswordButton.js @@ -13,7 +13,7 @@ import { storeSelector } from 'reducers/settings' import type { SettingsState } from 'reducers/settings' import { unlock } from 'reducers/application' // FIXME should be in actions import Track from 'analytics/Track' -import CheckBox from 'components/base/CheckBox' +import Switch from 'components/base/Switch' import Box from 'components/base/Box' import Button from 'components/base/Button' import PasswordModal from './PasswordModal' @@ -100,7 +100,7 @@ class DisablePasswordButton extends PureComponent { {t('app:settings.profile.changePassword')} )} - + { return ( - + ) } diff --git a/src/components/SettingsPage/ShareAnalyticsButton.js b/src/components/SettingsPage/ShareAnalyticsButton.js index 9b88e749..03aa018b 100644 --- a/src/components/SettingsPage/ShareAnalyticsButton.js +++ b/src/components/SettingsPage/ShareAnalyticsButton.js @@ -5,7 +5,7 @@ import { createStructuredSelector } from 'reselect' import { setShareAnalytics } from 'actions/settings' import { shareAnalyticsSelector } from 'reducers/settings' import Track from 'analytics/Track' -import CheckBox from 'components/base/CheckBox' +import Switch from 'components/base/Switch' const mapStateToProps = createStructuredSelector({ shareAnalytics: shareAnalyticsSelector, @@ -26,7 +26,7 @@ class ShareAnalytics extends PureComponent { return ( - + ) } diff --git a/src/components/base/CheckBox/index.js b/src/components/base/Switch/index.js similarity index 92% rename from src/components/base/CheckBox/index.js rename to src/components/base/Switch/index.js index effa2d15..3d6b9e07 100644 --- a/src/components/base/CheckBox/index.js +++ b/src/components/base/Switch/index.js @@ -37,7 +37,7 @@ type Props = { onChange?: Function, } -function CheckBox(props: Props) { +function Switch(props: Props) { const { isChecked, onChange, ...p } = props return ( onChange && onChange(!isChecked)} {...p}> @@ -46,8 +46,8 @@ function CheckBox(props: Props) { ) } -CheckBox.defaultProps = { +Switch.defaultProps = { onChange: noop, } -export default CheckBox +export default Switch diff --git a/src/components/base/CheckBox/stories.js b/src/components/base/Switch/stories.js similarity index 58% rename from src/components/base/CheckBox/stories.js rename to src/components/base/Switch/stories.js index 4f015c03..670cfca8 100644 --- a/src/components/base/CheckBox/stories.js +++ b/src/components/base/Switch/stories.js @@ -3,10 +3,10 @@ import { storiesOf } from '@storybook/react' import { boolean } from '@storybook/addon-knobs' import { action } from '@storybook/addon-actions' -import CheckBox from 'components/base/CheckBox' +import Switch from 'components/base/Switch' const stories = storiesOf('Components/base', module) -stories.add('CheckBox', () => ( - +stories.add('Switch', () => ( + )) diff --git a/src/components/modals/ReleaseNotes.js b/src/components/modals/ReleaseNotes.js index d80999d8..37e7b35c 100644 --- a/src/components/modals/ReleaseNotes.js +++ b/src/components/modals/ReleaseNotes.js @@ -138,7 +138,7 @@ export const Notes = styled(Box).attrs({ } } - input[type='checkbox'] { + input[type='Switch'] { margin-right: 0.5em; } ` From f3d40bcb68f9e0a64790b00b3361c0c2ca0983e6 Mon Sep 17 00:00:00 2001 From: meriadec Date: Mon, 2 Jul 2018 13:58:26 +0200 Subject: [PATCH 27/62] Prevent check recipient valid if empty And add a catch to fallback + warning if check throwed --- src/bridge/LibcoreBridge.js | 1 + .../modals/Send/fields/RecipientField.js | 17 +++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/bridge/LibcoreBridge.js b/src/bridge/LibcoreBridge.js index 5e6bd289..c99dfbe1 100644 --- a/src/bridge/LibcoreBridge.js +++ b/src/bridge/LibcoreBridge.js @@ -52,6 +52,7 @@ const isRecipientValid = (currency, recipient) => { const key = `${currency.id}_${recipient}` let promise = recipientValidLRU.get(key) if (promise) return promise + if (!recipient) return Promise.resolve(false) promise = libcoreValidAddress .send({ address: recipient, diff --git a/src/components/modals/Send/fields/RecipientField.js b/src/components/modals/Send/fields/RecipientField.js index f7974c54..9a3afe72 100644 --- a/src/components/modals/Send/fields/RecipientField.js +++ b/src/components/modals/Send/fields/RecipientField.js @@ -3,6 +3,7 @@ import React, { Component } from 'react' import type { Account } from '@ledgerhq/live-common/lib/types' import type { T } from 'types/common' import type { WalletBridge } from 'bridge/types' +import logger from 'logger' import Box from 'components/base/Box' import Label from 'components/base/Label' import LabelInfoTooltip from 'components/base/LabelInfoTooltip' @@ -39,12 +40,16 @@ class RecipientField extends Component, { isVali async resync() { const { account, bridge, transaction } = this.props const syncId = ++this.syncId - const isValid = await bridge.isRecipientValid( - account.currency, - bridge.getTransactionRecipient(account, transaction), - ) - if (syncId !== this.syncId) return - this.setState({ isValid }) + try { + const isValid = await bridge.isRecipientValid( + account.currency, + bridge.getTransactionRecipient(account, transaction), + ) + if (syncId !== this.syncId) return + this.setState({ isValid }) + } catch (err) { + logger.warn(`Can't check if recipient is valid`, err) + } } onChange = (recipient: string, maybeExtra: ?Object) => { From 117fa8ac8c47f903b841020a6ab828bcfa6de1a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Mon, 2 Jul 2018 14:01:47 +0200 Subject: [PATCH 28/62] Better wording for TransportStatusError --- static/i18n/en/errors.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/i18n/en/errors.yml b/static/i18n/en/errors.yml index ae74c546..a0033f12 100644 --- a/static/i18n/en/errors.yml +++ b/static/i18n/en/errors.yml @@ -78,8 +78,8 @@ TimeoutError: title: Oops, a time out occurred description: It took too long for the server to respond. TransportStatusError: - title: '{{message}}' - description: + title: 'Something went wrong. Please replug your device.' + description: '{{message}}' UserRefusedOnDevice: title: Transaction refused on device description: Please retry or contact Ledger Support in case of doubt. From 95da87994829286fb893265ac841ae7bc3a82777 Mon Sep 17 00:00:00 2001 From: meriadec Date: Mon, 2 Jul 2018 14:08:11 +0200 Subject: [PATCH 29/62] Prevent ticker animation when changing account page at lower level --- src/components/AccountPage/AccountBalanceSummaryHeader.js | 4 +++- src/components/AccountPage/index.js | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/AccountPage/AccountBalanceSummaryHeader.js b/src/components/AccountPage/AccountBalanceSummaryHeader.js index b396e801..33fe9cdb 100644 --- a/src/components/AccountPage/AccountBalanceSummaryHeader.js +++ b/src/components/AccountPage/AccountBalanceSummaryHeader.js @@ -28,7 +28,7 @@ type OwnProps = { totalBalance: number, sinceBalance: number, refBalance: number, - accountId: string, // eslint-disable-line + accountId: string, } type Props = OwnProps & { @@ -57,6 +57,7 @@ class AccountBalanceSummaryHeader extends PureComponent { render() { const { account, + accountId, t, counterValue, selectedTimeRange, @@ -76,6 +77,7 @@ class AccountBalanceSummaryHeader extends PureComponent { unit={account.unit} > { } return ( - // `key` forces re-render account page when going an another account (skip animations) - + Date: Mon, 2 Jul 2018 11:49:11 +0200 Subject: [PATCH 30/62] onboarding breadcrumb adjustment for already initialized flow --- src/components/Onboarding/OnboardingBreadcrumb.js | 11 +++++++++-- src/components/Onboarding/steps/GenuineCheck/index.js | 7 ++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/components/Onboarding/OnboardingBreadcrumb.js b/src/components/Onboarding/OnboardingBreadcrumb.js index 93053a37..8455cb1d 100644 --- a/src/components/Onboarding/OnboardingBreadcrumb.js +++ b/src/components/Onboarding/OnboardingBreadcrumb.js @@ -21,10 +21,17 @@ type Props = { function OnboardingBreadcrumb(props: Props) { const { onboarding, t } = props const { stepName, genuine } = onboarding + const isInitializedFlow = onboarding.flowType === 'initializedDevice' - const filteredSteps = onboarding.steps + const regularFilteredSteps = onboarding.steps .filter(step => !step.external) - .map(step => ({ ...step, label: t(step.label) })) // TODO: translate + .map(step => ({ ...step, label: t(step.label) })) + + const alreadyInitializedSteps = onboarding.steps + .filter(step => !step.external && step.name !== 'writeSeed' && step.name !== 'selectPIN') + .map(step => ({ ...step, label: t(step.label) })) + + const filteredSteps = isInitializedFlow ? alreadyInitializedSteps : regularFilteredSteps const stepIndex = findIndex(filteredSteps, s => s.name === stepName) const genuineStepIndex = findIndex(filteredSteps, s => s.name === 'genuineCheck') diff --git a/src/components/Onboarding/steps/GenuineCheck/index.js b/src/components/Onboarding/steps/GenuineCheck/index.js index 36bd1f31..3868aa2f 100644 --- a/src/components/Onboarding/steps/GenuineCheck/index.js +++ b/src/components/Onboarding/steps/GenuineCheck/index.js @@ -146,6 +146,11 @@ class GenuineCheck extends PureComponent { shell.openExternal(contactSupportUrl) } + handlePrevStep = () => { + const { prevStep, onboarding, jumpStep } = this.props + onboarding.flowType === 'initializedDevice' ? jumpStep('selectDevice') : prevStep() + } + renderGenuineFail = () => ( { )} From 7c20b6c87911bfb1d232aea03a226073264c58f8 Mon Sep 17 00:00:00 2001 From: Anastasia Poupeney Date: Mon, 2 Jul 2018 14:45:40 +0200 Subject: [PATCH 31/62] distinguish between 3 error screens onboarding --- .../GenuineCheck/GenuineCheckErrorPage.js | 96 ++++++++++++------- .../Onboarding/steps/GenuineCheck/index.js | 18 ++-- static/i18n/en/onboarding.yml | 20 ++-- 3 files changed, 79 insertions(+), 55 deletions(-) diff --git a/src/components/Onboarding/steps/GenuineCheck/GenuineCheckErrorPage.js b/src/components/Onboarding/steps/GenuineCheck/GenuineCheckErrorPage.js index 213622a4..915e65dd 100644 --- a/src/components/Onboarding/steps/GenuineCheck/GenuineCheckErrorPage.js +++ b/src/components/Onboarding/steps/GenuineCheck/GenuineCheckErrorPage.js @@ -1,6 +1,6 @@ // @flow -import React, { Fragment } from 'react' +import React, { PureComponent, Fragment } from 'react' import { i } from 'helpers/staticPath' import type { T } from 'types/common' @@ -12,54 +12,80 @@ import TrackPage from 'analytics/TrackPage' import { Title, Description, OnboardingFooterWrapper } from '../../helperComponents' -export function GenuineCheckErrorPage({ - redoGenuineCheck, - contactSupport, - onboarding, - t, -}: { +type Props = { + t: T, redoGenuineCheck: () => void, contactSupport: () => void, onboarding: OnboardingState, - t: T, -}) { - return ( - +} + +class GenuineCheckErrorPage extends PureComponent { + trackErrorPage = (page: string) => { + const { onboarding } = this.props + return ( - - {onboarding.isLedgerNano ? ( + ) + } + + renderErrorPage = () => { + const { onboarding, t } = this.props + return ( + + {onboarding.genuine.isGenuineFail ? ( - {t('onboarding:genuineCheck.errorPage.ledgerNano.title')} - {t('onboarding:genuineCheck.errorPage.ledgerNano.desc')} - - - + {this.trackErrorPage('Not Genuine')} + {t('onboarding:genuineCheck.errorPage.title.isGenuineFail')} + {t('onboarding:genuineCheck.errorPage.desc.isGenuineFail')} + + ) : !onboarding.genuine.pinStepPass ? ( + + {this.trackErrorPage('PIN Step')} + {t('onboarding:genuineCheck.errorPage.title.pinFailed')} + {t('onboarding:genuineCheck.errorPage.desc.pinFailed')} ) : ( - {t('onboarding:genuineCheck.errorPage.ledgerBlue.title')} - - {t('onboarding:genuineCheck.errorPage.ledgerBlue.desc')} + {this.trackErrorPage('Recovery Phase Step')} + {t('onboarding:genuineCheck.errorPage.title.recoveryPhraseFailed')} + + {t('onboarding:genuineCheck.errorPage.desc.recoveryPhraseFailed')} - - - )} + + {onboarding.isLedgerNano ? ( + + ) : ( + + )} + + + ) + } + + render() { + const { redoGenuineCheck, contactSupport, t } = this.props + return ( + + + {this.renderErrorPage()} + + + + + - - - - - - ) + ) + } } + +export default GenuineCheckErrorPage diff --git a/src/components/Onboarding/steps/GenuineCheck/index.js b/src/components/Onboarding/steps/GenuineCheck/index.js index 3868aa2f..6ac42156 100644 --- a/src/components/Onboarding/steps/GenuineCheck/index.js +++ b/src/components/Onboarding/steps/GenuineCheck/index.js @@ -26,7 +26,7 @@ import { GenuineCheckCardWrapper, } from '../../helperComponents' -import { GenuineCheckErrorPage } from './GenuineCheckErrorPage' +import GenuineCheckErrorPage from './GenuineCheckErrorPage' import { GenuineCheckUnavailableFooter, GenuineCheckUnavailableMessage, @@ -81,14 +81,8 @@ class GenuineCheck extends PureComponent { } if (!item.pass) { - this.setState(INITIAL_STATE) this.props.updateGenuineCheck({ displayErrorScreen: true, - pinStepPass: false, - recoveryStepPass: false, - isGenuineFail: false, - isDeviceGenuine: false, - genuineCheckUnavailable: null, }) } } @@ -137,7 +131,15 @@ class GenuineCheck extends PureComponent { } redoGenuineCheck = () => { - this.props.updateGenuineCheck({ displayErrorScreen: false }) + this.setState(INITIAL_STATE) + this.props.updateGenuineCheck({ + displayErrorScreen: false, + pinStepPass: false, + recoveryStepPass: false, + isGenuineFail: false, + isDeviceGenuine: false, + genuineCheckUnavailable: null, + }) } contactSupport = () => { diff --git a/static/i18n/en/onboarding.yml b/static/i18n/en/onboarding.yml index 17c148f1..357b8f5d 100644 --- a/static/i18n/en/onboarding.yml +++ b/static/i18n/en/onboarding.yml @@ -107,18 +107,14 @@ genuineCheck: genuineCheck: Check now contactSupport: Contact us errorPage: - ledgerNano: - title: Oops, something went wrong... - #PIN: Didn't choose your own PIN code? - #recoveryPhrase: Didn't save your own recovery phrase? - #Genuine: Oops, your device does not seem genuine... - desc: Go back to the security checklist or request Ledger Support assistance - #PIN: Never use a device supplied with a PIN code. If your device was provided with a PIN code, please contact us. - #recoveryPhrase: Only save a recovery phrase that is displayed on your device. Please contact us in case of doubt. Otherwise, go back to the security checklist. - #Genuine: Your device did not pass the authenticity test required to connect to Ledger’s secure server. Please contact Ledger Support to get assistance. - ledgerBlue: - title: Oops, something went wrong... - desc: Go back to the security checklist or request Ledger Support assistance + title: + pinFailed: "Didn't choose your own PIN code?" + recoveryPhraseFailed: "Didn't save your own recovery phrase?" + isGenuineFail: Oops, your device does not seem genuine... + desc: + pinFailed: Never use a device supplied with a PIN code. If your device was provided with a PIN code, please contact us. + recoveryPhraseFailed: Only save a recovery phrase that is displayed on your device. Please contact us in case of doubt. Otherwise, go back to the security checklist. + isGenuineFail: Your device did not pass the authenticity test required to connect to Ledger’s secure server. Please contact Ledger Support to get assistance. setPassword: title: Password lock (optional) desc: Set a password to prevent unauthorized access to Ledger Live data stored on your computer, including account names, balances, transactions and public addresses. From e173f316f16f34d2c376ded63645103ac6161990 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Mon, 2 Jul 2018 14:51:59 +0200 Subject: [PATCH 32/62] Remove concept of 'padded' in Button because it's the normal case --- src/components/AccountPage/EmptyStateAccount.js | 2 +- src/components/DashboardPage/EmptyState.js | 9 ++------- src/components/ExportLogsBtn.js | 2 +- src/components/ManagerPage/AppsList.js | 4 ++-- src/components/Onboarding/OnboardingFooter.js | 4 ++-- src/components/Onboarding/steps/Finish.js | 2 +- .../steps/GenuineCheck/GenuineCheckErrorPage.js | 4 ++-- .../steps/GenuineCheck/GenuineCheckUnavailable.js | 5 ++--- src/components/Onboarding/steps/NoDevice.js | 2 +- src/components/Onboarding/steps/SetPassword.js | 4 +--- src/components/Onboarding/steps/Start.js | 2 +- src/components/SettingsPage/CleanButton.js | 2 +- src/components/SettingsPage/DisablePasswordButton.js | 2 +- src/components/SettingsPage/DisablePasswordModal.js | 4 ++-- src/components/SettingsPage/PasswordModal.js | 4 ++-- src/components/SettingsPage/ReleaseNotesButton.js | 1 + src/components/SettingsPage/ResetButton.js | 2 +- src/components/SettingsPage/sections/Tools.js | 2 +- src/components/base/Button/index.js | 10 ++++------ src/components/modals/AccountSettingRenderBody.js | 4 ++-- src/components/modals/OperationDetails.js | 2 +- src/components/modals/UpdateFirmware/Disclaimer.js | 2 +- 22 files changed, 33 insertions(+), 42 deletions(-) diff --git a/src/components/AccountPage/EmptyStateAccount.js b/src/components/AccountPage/EmptyStateAccount.js index 705a3bf2..98749e8f 100644 --- a/src/components/AccountPage/EmptyStateAccount.js +++ b/src/components/AccountPage/EmptyStateAccount.js @@ -50,7 +50,7 @@ class EmptyStateAccount extends PureComponent { {'app is installed to receive funds.'} - - diff --git a/src/components/ExportLogsBtn.js b/src/components/ExportLogsBtn.js index 22291d90..d509c266 100644 --- a/src/components/ExportLogsBtn.js +++ b/src/components/ExportLogsBtn.js @@ -71,7 +71,7 @@ class ExportLogsBtn extends Component<{ return hookToShortcut ? ( ) : ( - ) diff --git a/src/components/ManagerPage/AppsList.js b/src/components/ManagerPage/AppsList.js index 2dea2bef..8b8efd9f 100644 --- a/src/components/ManagerPage/AppsList.js +++ b/src/components/ManagerPage/AppsList.js @@ -226,7 +226,7 @@ class AppsList extends PureComponent { - @@ -254,7 +254,7 @@ class AppsList extends PureComponent { - diff --git a/src/components/Onboarding/OnboardingFooter.js b/src/components/Onboarding/OnboardingFooter.js index 0bb1bded..3db431cc 100644 --- a/src/components/Onboarding/OnboardingFooter.js +++ b/src/components/Onboarding/OnboardingFooter.js @@ -23,10 +23,10 @@ const OnboardingFooter = ({ ...props }: Props) => ( - - diff --git a/src/components/Onboarding/steps/Finish.js b/src/components/Onboarding/steps/Finish.js index 961bbb67..360d70ae 100644 --- a/src/components/Onboarding/steps/Finish.js +++ b/src/components/Onboarding/steps/Finish.js @@ -102,7 +102,7 @@ export default class Finish extends Component { {t('onboarding:finish.desc')} - diff --git a/src/components/Onboarding/steps/GenuineCheck/GenuineCheckErrorPage.js b/src/components/Onboarding/steps/GenuineCheck/GenuineCheckErrorPage.js index 213622a4..4ef6b2e8 100644 --- a/src/components/Onboarding/steps/GenuineCheck/GenuineCheckErrorPage.js +++ b/src/components/Onboarding/steps/GenuineCheck/GenuineCheckErrorPage.js @@ -53,10 +53,10 @@ export function GenuineCheckErrorPage({ )} - - diff --git a/src/components/Onboarding/steps/GenuineCheck/GenuineCheckUnavailable.js b/src/components/Onboarding/steps/GenuineCheck/GenuineCheckUnavailable.js index 5f248f57..dc61278f 100644 --- a/src/components/Onboarding/steps/GenuineCheck/GenuineCheckUnavailable.js +++ b/src/components/Onboarding/steps/GenuineCheck/GenuineCheckUnavailable.js @@ -26,12 +26,11 @@ export function GenuineCheckUnavailableFooter({ }) { return ( - - diff --git a/src/components/Onboarding/steps/NoDevice.js b/src/components/Onboarding/steps/NoDevice.js index 49561151..ad05e7de 100644 --- a/src/components/Onboarding/steps/NoDevice.js +++ b/src/components/Onboarding/steps/NoDevice.js @@ -65,7 +65,7 @@ class NoDevice extends PureComponent { - diff --git a/src/components/Onboarding/steps/SetPassword.js b/src/components/Onboarding/steps/SetPassword.js index 3c1a52eb..d2625ea7 100644 --- a/src/components/Onboarding/steps/SetPassword.js +++ b/src/components/Onboarding/steps/SetPassword.js @@ -131,12 +131,11 @@ class SetPassword extends PureComponent { - diff --git a/src/components/SettingsPage/CleanButton.js b/src/components/SettingsPage/CleanButton.js index 51690e90..4d9aedd1 100644 --- a/src/components/SettingsPage/CleanButton.js +++ b/src/components/SettingsPage/CleanButton.js @@ -45,7 +45,7 @@ class CleanButton extends PureComponent { const { opened } = this.state return ( - diff --git a/src/components/SettingsPage/DisablePasswordButton.js b/src/components/SettingsPage/DisablePasswordButton.js index ca3f7001..7c397c17 100644 --- a/src/components/SettingsPage/DisablePasswordButton.js +++ b/src/components/SettingsPage/DisablePasswordButton.js @@ -96,7 +96,7 @@ class DisablePasswordButton extends PureComponent { {isPasswordEnabled && ( - )} diff --git a/src/components/SettingsPage/DisablePasswordModal.js b/src/components/SettingsPage/DisablePasswordModal.js index 906d64eb..8ed2c76f 100644 --- a/src/components/SettingsPage/DisablePasswordModal.js +++ b/src/components/SettingsPage/DisablePasswordModal.js @@ -98,12 +98,12 @@ class DisablePasswordModal extends PureComponent { - diff --git a/src/components/SettingsPage/sections/Tools.js b/src/components/SettingsPage/sections/Tools.js index b895ec28..49772890 100644 --- a/src/components/SettingsPage/sections/Tools.js +++ b/src/components/SettingsPage/sections/Tools.js @@ -37,7 +37,7 @@ class TabProfile extends PureComponent<*, *> { return ( - diff --git a/src/components/base/Button/index.js b/src/components/base/Button/index.js index 7268d316..ec4b822f 100644 --- a/src/components/base/Button/index.js +++ b/src/components/base/Button/index.js @@ -140,9 +140,9 @@ function getStyles(props, state) { const Base = styled.button.attrs({ ff: 'Museo Sans|Regular', - fontSize: p => p.fontSize || 3, - px: p => (p.padded ? 4 : 2), - py: p => (p.padded ? 2 : 0), + fontSize: p => p.fontSize || (!p.small ? 4 : 3), + px: p => (!p.small ? 4 : 3), + py: p => (!p.small ? 2 : 0), color: 'grey', bg: 'transparent', })` @@ -154,7 +154,7 @@ const Base = styled.button.attrs({ border: none; border-radius: ${p => p.theme.radii[1]}px; cursor: ${p => (p.disabled ? 'default' : 'pointer')}; - height: ${p => (p.small ? 30 : p.padded ? 40 : 36)}px; + height: ${p => (p.small ? 34 : 40)}px; pointer-events: ${p => (p.disabled ? 'none' : '')}; outline: none; @@ -179,7 +179,6 @@ type Props = { disabled?: boolean, onClick?: Function, small?: boolean, - padded?: boolean, isLoading?: boolean, event?: string, eventProperties?: Object, @@ -195,7 +194,6 @@ class Button extends PureComponent< onClick: noop, primary: false, small: false, - padded: false, danger: false, } diff --git a/src/components/modals/AccountSettingRenderBody.js b/src/components/modals/AccountSettingRenderBody.js index 236d4f4b..2933afb4 100644 --- a/src/components/modals/AccountSettingRenderBody.js +++ b/src/components/modals/AccountSettingRenderBody.js @@ -275,10 +275,10 @@ class HelperComp extends PureComponent { - - diff --git a/src/components/modals/OperationDetails.js b/src/components/modals/OperationDetails.js index 3ca174a2..7fd95721 100644 --- a/src/components/modals/OperationDetails.js +++ b/src/components/modals/OperationDetails.js @@ -229,7 +229,7 @@ const OperationDetails = connect(mapStateToProps)((props: Props) => { {url && ( - diff --git a/src/components/modals/UpdateFirmware/Disclaimer.js b/src/components/modals/UpdateFirmware/Disclaimer.js index bb462158..330795eb 100644 --- a/src/components/modals/UpdateFirmware/Disclaimer.js +++ b/src/components/modals/UpdateFirmware/Disclaimer.js @@ -67,7 +67,7 @@ class DisclaimerModal extends PureComponent { - From d521c9e051c609b4f62f49354bab86d02604cf1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Mon, 2 Jul 2018 14:57:06 +0200 Subject: [PATCH 33/62] Disable resize of textarea --- src/index.ejs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/index.ejs b/src/index.ejs index ba5b3565..220e40b3 100644 --- a/src/index.ejs +++ b/src/index.ejs @@ -56,6 +56,10 @@ } } + textarea { + resize: none; + } +